summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2020-06-07 10:19:24 +0100
committerColin Watson <cjwatson@debian.org>2020-06-07 11:03:12 +0100
commit30337f8b66c66af6b368d1e3c789e75f1247176c (patch)
tree17e0b8652fea31c04faa19ffc4cd088552ee473a
parentaef2be11c5ea90bc66e774923e6570213e54c195 (diff)
parent39b8d128ef980a410bb1ea0ee80e95ac9fff59c3 (diff)
New upstream release (8.3p1)
Also update GSSAPI key exchange patch from https://github.com/openssh-gsskex/openssh-gsskex.
-rw-r--r--.depend11
-rw-r--r--.skipped-commit-ids3
-rw-r--r--ChangeLog2828
-rw-r--r--INSTALL8
-rw-r--r--Makefile.in73
-rw-r--r--PROTOCOL6
-rw-r--r--PROTOCOL.chacha20poly13054
-rw-r--r--PROTOCOL.mux4
-rw-r--r--PROTOCOL.u2f6
-rw-r--r--README10
-rw-r--r--auth-options.c13
-rw-r--r--auth-rhosts.c6
-rw-r--r--auth2-chall.c5
-rw-r--r--auth2-passwd.c5
-rw-r--r--auth2.c4
-rw-r--r--authfd.c10
-rw-r--r--authfile.c101
-rw-r--r--channels.c17
-rw-r--r--cipher-chachapoly-libcrypto.c166
-rw-r--r--cipher-chachapoly.c32
-rw-r--r--cipher-chachapoly.h13
-rw-r--r--cipher.c26
-rw-r--r--clientloop.c28
-rw-r--r--clientloop.h5
-rwxr-xr-xconfig.guess882
-rw-r--r--config.h.in13
-rwxr-xr-xconfig.sub2528
-rwxr-xr-xconfigure137
-rw-r--r--configure.ac72
-rw-r--r--contrib/cygwin/README2
-rw-r--r--contrib/redhat/openssh.spec50
-rw-r--r--contrib/suse/openssh.spec2
-rw-r--r--debian/.git-dpm16
-rw-r--r--debian/NEWS10
-rw-r--r--debian/changelog84
-rw-r--r--debian/patches/authorized-keys-man-symlink.patch6
-rw-r--r--debian/patches/conch-old-privkey-format.patch10
-rw-r--r--debian/patches/debian-banner.patch53
-rw-r--r--debian/patches/debian-config.patch16
-rw-r--r--debian/patches/dnssec-sshfp.patch2
-rw-r--r--debian/patches/doc-hash-tab-completion.patch4
-rw-r--r--debian/patches/gnome-ssh-askpass2-icon.patch2
-rw-r--r--debian/patches/gssapi.patch181
-rw-r--r--debian/patches/keepalive-extensions.patch18
-rw-r--r--debian/patches/mention-ssh-keygen-on-keychange.patch4
-rw-r--r--debian/patches/no-openssl-version-status.patch2
-rw-r--r--debian/patches/openbsd-docs.patch20
-rw-r--r--debian/patches/package-versioning.patch12
-rw-r--r--debian/patches/restore-authorized_keys2.patch2
-rw-r--r--debian/patches/restore-tcp-wrappers.patch12
-rw-r--r--debian/patches/revert-ipqos-defaults.patch14
-rw-r--r--debian/patches/scp-quoting.patch4
-rw-r--r--debian/patches/selinux-role.patch16
-rw-r--r--debian/patches/shell-path.patch6
-rw-r--r--debian/patches/ssh-agent-setgid.patch2
-rw-r--r--debian/patches/ssh-argv0.patch6
-rw-r--r--debian/patches/ssh-vulnkey-compat.patch6
-rw-r--r--debian/patches/syslog-level-silent.patch6
-rw-r--r--debian/patches/systemd-readiness.patch12
-rw-r--r--debian/patches/user-group-modes.patch18
-rw-r--r--defines.h7
-rw-r--r--digest-libc.c5
-rw-r--r--gss-serv.c4
-rw-r--r--hmac.c5
-rw-r--r--hostfile.c7
-rw-r--r--kex.c17
-rw-r--r--krl.c97
-rw-r--r--krl.h3
-rw-r--r--misc.c6
-rw-r--r--moduli819
-rw-r--r--moduli.02
-rw-r--r--monitor.c7
-rw-r--r--mux.c3
-rw-r--r--openbsd-compat/bsd-misc.c2
-rw-r--r--openbsd-compat/bsd-snprintf.c2
-rw-r--r--openbsd-compat/fnmatch.c4
-rw-r--r--openbsd-compat/glob.c10
-rw-r--r--openbsd-compat/openbsd-compat.h2
-rw-r--r--openbsd-compat/openssl-compat.h6
-rw-r--r--openbsd-compat/port-aix.c10
-rw-r--r--openbsd-compat/port-aix.h2
-rw-r--r--openbsd-compat/port-linux.c2
-rw-r--r--packet.c10
-rw-r--r--packet.h5
-rw-r--r--readconf.c28
-rw-r--r--readconf.h4
-rw-r--r--regress/Makefile7
-rw-r--r--regress/addrmatch.sh4
-rw-r--r--regress/key-options.sh10
-rw-r--r--regress/keygen-comment.sh52
-rw-r--r--regress/misc/kexfuzz/Makefile4
-rw-r--r--regress/misc/sk-dummy/sk-dummy.c14
-rw-r--r--regress/netcat.c3
-rw-r--r--regress/percent.sh88
-rw-r--r--regress/reexec.sh5
-rw-r--r--regress/sftp-badcmds.sh4
-rw-r--r--regress/sshsig.sh4
-rw-r--r--regress/test-exec.sh22
-rw-r--r--regress/unittests/authopt/Makefile3
-rw-r--r--regress/unittests/hostkeys/Makefile3
-rw-r--r--regress/unittests/kex/Makefile3
-rw-r--r--regress/unittests/sshkey/Makefile3
-rwxr-xr-xregress/unittests/sshkey/mktestdata.sh34
-rw-r--r--regress/unittests/sshkey/testdata/dsa_n33
-rw-r--r--regress/unittests/sshkey/testdata/ecdsa_n13
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1bin533 -> 0 bytes
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1.fp1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1.fp.bb1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1.param.n1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1.pub1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_1_pwbin533 -> 0 bytes
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_2bin981 -> 0 bytes
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_2.fp1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_2.fp.bb1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_2.param.n1
-rw-r--r--regress/unittests/sshkey/testdata/rsa1_2.pub1
-rw-r--r--regress/unittests/sshkey/testdata/rsa_n31
-rw-r--r--sandbox-seccomp-filter.c1
-rw-r--r--scp.05
-rw-r--r--scp.19
-rw-r--r--scp.c101
-rw-r--r--servconf.c30
-rw-r--r--servconf.h7
-rw-r--r--session.c6
-rw-r--r--sftp-server.02
-rw-r--r--sftp.07
-rw-r--r--sftp.114
-rw-r--r--sftp.c23
-rw-r--r--sk-api.h4
-rw-r--r--sk-usbhid.c37
-rw-r--r--ssh-add.02
-rw-r--r--ssh-add.c22
-rw-r--r--ssh-agent.02
-rw-r--r--ssh-agent.c7
-rw-r--r--ssh-dss.c8
-rw-r--r--ssh-ed25519-sk.c8
-rw-r--r--ssh-ed25519.c20
-rw-r--r--ssh-gss.h8
-rw-r--r--ssh-keygen.09
-rw-r--r--ssh-keygen.110
-rw-r--r--ssh-keygen.c157
-rw-r--r--ssh-keyscan.02
-rw-r--r--ssh-keysign.02
-rw-r--r--ssh-pkcs11-helper.02
-rw-r--r--ssh-pkcs11-helper.c10
-rw-r--r--ssh-pkcs11.c25
-rw-r--r--ssh-sk-helper.02
-rw-r--r--ssh-sk.c20
-rw-r--r--ssh-xmss.c20
-rw-r--r--ssh.027
-rw-r--r--ssh.19
-rw-r--r--ssh.c274
-rw-r--r--ssh_config.059
-rw-r--r--ssh_config.557
-rw-r--r--sshbuf-misc.c11
-rw-r--r--sshbuf.c5
-rw-r--r--sshbuf.h6
-rw-r--r--sshconnect.c7
-rw-r--r--sshconnect2.c28
-rw-r--r--sshd.02
-rw-r--r--sshd.c18
-rw-r--r--sshd_config.023
-rw-r--r--sshd_config.540
-rw-r--r--sshkey.c487
-rw-r--r--sshkey.h4
-rw-r--r--sshlogin.c5
-rw-r--r--sshsig.c26
-rw-r--r--umac.c7
-rw-r--r--utf8.c27
-rw-r--r--utf8.h5
-rw-r--r--version.h4
171 files changed, 5977 insertions, 4767 deletions
diff --git a/.depend b/.depend
index 707890f63..1ccc1dcc7 100644
--- a/.depend
+++ b/.depend
@@ -1,5 +1,7 @@
1# DO NOT DELETE 1# Automatically generated by makedepend.
2# Run "make depend" to rebuild.
2 3
4# DO NOT DELETE
3addrmatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 match.h log.h 5addrmatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 match.h log.h
4atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 6atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
5audit-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 7audit-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
@@ -34,6 +36,7 @@ chacha.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat
34channels.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 36channels.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
35cipher-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 37cipher-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
36cipher-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 38cipher-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
39cipher-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
37cipher-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 sshbuf.h ssherr.h cipher-chachapoly.h chacha.h poly1305.h 40cipher-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 sshbuf.h ssherr.h cipher-chachapoly.h chacha.h poly1305.h
38cipher-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 41cipher-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
39cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 42cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
@@ -68,7 +71,7 @@ kexgex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat
68kexgexc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 71kexgexc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
69kexgexs.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 72kexgexs.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
70kexsntrup4591761x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 73kexsntrup4591761x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
71krl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 krl.h 74krl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
72log.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 75log.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
73loginrec.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 atomicio.h packet.h openbsd-compat/sys-queue.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h ssherr.h 76loginrec.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 atomicio.h packet.h openbsd-compat/sys-queue.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h ssherr.h
74logintest.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 77logintest.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
@@ -141,8 +144,8 @@ ssh-sk-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd
141ssh-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 sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssherr.h ssh-sk.h 144ssh-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 sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssherr.h ssh-sk.h
142ssh-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 145ssh-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
143ssh-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 146ssh-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
144ssh.o: channels.h sshkey.h authfd.h authfile.h pathnames.h clientloop.h log.h misc.h readconf.h sshconnect.h kex.h mac.h crypto_api.h sshpty.h match.h msg.h version.h ssherr.h myproposal.h utf8.h 147ssh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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
145ssh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.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 digest.h packet.h dispatch.h sshbuf.h 148ssh.o: sshkey.h authfd.h authfile.h pathnames.h clientloop.h log.h misc.h readconf.h sshconnect.h kex.h mac.h crypto_api.h sshpty.h match.h msg.h version.h ssherr.h myproposal.h utf8.h
146ssh_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 authfile.h misc.h 149ssh_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 authfile.h misc.h
147ssh_api.o: version.h myproposal.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h 150ssh_api.o: version.h myproposal.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h
148sshbuf-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 151sshbuf-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
diff --git a/.skipped-commit-ids b/.skipped-commit-ids
index ac469cfe3..611d1093d 100644
--- a/.skipped-commit-ids
+++ b/.skipped-commit-ids
@@ -16,6 +16,9 @@ db6375fc302e3bdf07d96430c63c991b2c2bd3ff moduli update
1614806a59353152f843eb349e618abbf6f4dd3ada Makefile.inc 1614806a59353152f843eb349e618abbf6f4dd3ada Makefile.inc
178ea4455a2d9364a0a04f9e4a2cbfa4c9fcefe77e Makefile.inc 178ea4455a2d9364a0a04f9e4a2cbfa4c9fcefe77e Makefile.inc
18d9b910e412d139141b072a905e66714870c38ac0 Makefile.inc 18d9b910e412d139141b072a905e66714870c38ac0 Makefile.inc
197b7b619c1452a459310b0cf4391c5757c6bdbc0f moduli update
205010ff08f7ad92082e87dde098b20f5c24921a8f moduli regen script update
213bcae7a754db3fc5ad3cab63dd46774edb35b8ae moduli regen script update
19 22
20Old upstream tree: 23Old upstream tree:
21 24
diff --git a/ChangeLog b/ChangeLog
index fbbbca0ed..f283a8b3f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1424 @@
1commit 9ca7e9c861775dd6c6312bc8aaab687403d24676
2Author: Damien Miller <djm@mindrot.org>
3Date: Wed May 27 10:38:00 2020 +1000
4
5 depend
6
7commit b6d251ed9af90e16c08a72c4aac2cb8ace8f94b1
8Author: djm@openbsd.org <djm@openbsd.org>
9Date: Mon May 18 04:29:35 2020 +0000
10
11 upstream: avoid possible NULL deref; from Pedro Martelletto
12
13 OpenBSD-Commit-ID: e6099c3fbb70aa67eb106e84d8b43f1fa919b721
14
15commit 3ab6fccc3935e9b778ff52f9c8d40f215d58e01d
16Author: Damien Miller <djm@mindrot.org>
17Date: Thu May 14 12:22:09 2020 +1000
18
19 prefer ln to cp for temporary copy of sshd
20
21 I saw failures on the reexec fallback test on Darwin 19.4 where
22 fork()ed children of a process that had it's executable removed
23 would instantly fail. Using ln to preserve the inode avoids this.
24
25commit f700d316c6b15a9cfbe87230d2dca81a5d916279
26Author: Darren Tucker <dtucker@dtucker.net>
27Date: Wed May 13 15:24:51 2020 +1000
28
29 Actually skip pty tests when needed.
30
31commit 08ce6b2210f46f795e7db747809f8e587429dfd2
32Author: Darren Tucker <dtucker@dtucker.net>
33Date: Wed May 13 13:56:45 2020 +1000
34
35 Skip building sk-dummy library if no SK support.
36
37commit 102d106bc2e50347d0e545fad6ff5ce408d67247
38Author: Damien Miller <djm@mindrot.org>
39Date: Wed May 13 12:08:34 2020 +1000
40
41 explicitly manage .depend and .depend.bak
42
43 Bring back removal of .depend to give the file a known state before
44 running makedepend, but manually move aside the current .depend file
45 and restore it as .depend.bak afterwards so the stale .depend check
46 works as expected.
47
48commit 83a6dc6ba1e03b3fa39d12a8522b8b0e68dd6390
49Author: Damien Miller <djm@mindrot.org>
50Date: Wed May 13 12:03:42 2020 +1000
51
52 make depend
53
54commit 7c0bbed967abed6301a63e0267cc64144357a99a
55Author: Damien Miller <djm@mindrot.org>
56Date: Wed May 13 12:01:10 2020 +1000
57
58 revert removal of .depend before makedepend
59
60 Commit 83657eac4 started removing .depend before running makedepend
61 to reset the contents of .depend to a known state. Unfortunately
62 this broke the depend-check step as now .depend.bak would only ever
63 be created as an empty file.
64
65 ok dtucker
66
67commit 58ad004acdcabf3b9f40bc3aaa206b25d998db8c
68Author: Damien Miller <djm@mindrot.org>
69Date: Tue May 12 12:58:46 2020 +1000
70
71 prepare for 8.3 release
72
73commit 4fa9e048c2af26beb7dc2ee9479ff3323e92a7b5
74Author: Darren Tucker <dtucker@dtucker.net>
75Date: Fri May 8 21:50:43 2020 +1000
76
77 Ensure SA_SIGNAL test only signals itself.
78
79 When the test's child signals its parent and it exits the result of
80 getppid changes. On Ubuntu 20.04 this results in the ppid being that
81 of the GDM session, causing it to exit. Analysis and testing from pedro
82 at ambientworks.net
83
84commit dc2da29aae76e170d22f38bb36f1f5d1edd5ec2b
85Author: Damien Miller <djm@mindrot.org>
86Date: Fri May 8 13:31:53 2020 +1000
87
88 sync config.guess/config.sub with latest versions
89
90 ok dtucker@
91
92commit a8265bd64c14881fc7f4fa592f46dfc66b911f17
93Author: djm@openbsd.org <djm@openbsd.org>
94Date: Wed May 6 20:58:01 2020 +0000
95
96 upstream: openssh-8.3; ok deraadt@
97
98 OpenBSD-Commit-ID: c8831ec88b9c750f5816aed9051031fb535d22c1
99
100commit 955854cafca88e0cdcd3d09ca1ad4ada465364a1
101Author: djm@openbsd.org <djm@openbsd.org>
102Date: Wed May 6 20:57:38 2020 +0000
103
104 upstream: another case where a utimes() failure could make scp send
105
106 a desynchronising error; reminded by Aymeric Vincent ok deraadt markus
107
108 OpenBSD-Commit-ID: 2ea611d34d8ff6d703a7a8bf858aa5dbfbfa7381
109
110commit 59d531553fd90196946743da391f3a27cf472f4e
111Author: Darren Tucker <dtucker@dtucker.net>
112Date: Thu May 7 15:34:12 2020 +1000
113
114 Check if -D_REENTRANT is needed for localtime_r.
115
116 On at least HP-UX 11.11, the localtime_r declararation is behind
117 ifdef _REENTRANT. Check for and add if needed.
118
119commit c13403e55de8cdbb9da628ed95017b1d4c0f205f
120Author: Darren Tucker <dtucker@dtucker.net>
121Date: Tue May 5 11:32:43 2020 +1000
122
123 Skip security key tests if ENABLE_SK not set.
124
125commit 4da393f87cd52d788c84112ee3f2191c9bcaaf30
126Author: djm@openbsd.org <djm@openbsd.org>
127Date: Fri May 1 04:03:14 2020 +0000
128
129 upstream: sure enough, some of the test data that we though were in
130
131 new format were actually in the old format; fix from Michael Forney
132
133 OpenBSD-Regress-ID: a41a5c43a61b0f0b1691994dbf16dfb88e8af933
134
135commit 15bfafc1db4c8792265ada9623a96f387990f732
136Author: djm@openbsd.org <djm@openbsd.org>
137Date: Fri May 1 04:00:29 2020 +0000
138
139 upstream: make mktestdata.sh generate old/new format keys that we
140
141 expect. This script was written before OpenSSH switched to new-format private
142 keys by default and was never updated to the change (until now) From Michael
143 Forney
144
145 OpenBSD-Regress-ID: 38cf354715c96852e5b71c2393fb6e7ad28b7ca7
146
147commit 7882d2eda6ad3eb82220a85294de545d20ef82db
148Author: djm@openbsd.org <djm@openbsd.org>
149Date: Fri May 1 03:58:02 2020 +0000
150
151 upstream: portability fix for sed that always emil a newline even
152
153 if the input does not contain one; from Michael Forney
154
155 OpenBSD-Regress-ID: 9190c3ddf0d2562ccc02c4a95fce0e392196bfc7
156
157commit 8074f9499e454df0acdacea33598858a1453a357
158Author: djm@openbsd.org <djm@openbsd.org>
159Date: Fri May 1 03:36:25 2020 +0000
160
161 upstream: remove obsolete RSA1 test keys; spotted by Michael Forney
162
163 OpenBSD-Regress-ID: 6384ba889594e217d166908ed8253718ab0866da
164
165commit c697e46c314aa94574af0d393d80f23e0ebc9748
166Author: Darren Tucker <dtucker@dtucker.net>
167Date: Sat May 2 18:34:47 2020 +1000
168
169 Update .depend.
170
171commit 83657eac42941f270c4b02b2c46d9a21f616ef99
172Author: Darren Tucker <dtucker@dtucker.net>
173Date: Sat May 2 18:29:40 2020 +1000
174
175 Remove use of tail for 'make depend'.
176
177 Not every tail supports +N and we can do with out it so just remove it.
178 Prompted by mforney at mforney.org.
179
180commit d25d630d24c5a1c64d4e646510e79dc22d6d7b88
181Author: djm@openbsd.org <djm@openbsd.org>
182Date: Sat May 2 07:19:43 2020 +0000
183
184 upstream: we have a sshkey_save_public() function to save public keys;
185
186 use it and save a bunch of redundant code.
187
188 Patch from loic AT venez.fr; ok markus@ djm@
189
190 OpenBSD-Commit-ID: f93e030a0ebcd0fd9054ab30db501ec63454ea5f
191
192commit e9dc9863723e111ae05e353d69df857f0169544a
193Author: Darren Tucker <dtucker@dtucker.net>
194Date: Fri May 1 18:32:25 2020 +1000
195
196 Use LONG_LONG_MAX and friends if available.
197
198 If we don't have LLONG_{MIN,MAX} but do have LONG_LONG_{MIN,MAX}
199 then use those instead. We do calculate these values in configure,
200 but it turns out that at least one compiler (old HP ANSI C) can't
201 parse "-9223372036854775808LL" without mangling it. (It can parse
202 "-9223372036854775807LL" which is presumably why its limits.h defines
203 LONG_LONG_MIN as the latter minus 1.)
204
205 Fixes rekey test when compiled with the aforementioned compiler.
206
207commit aad87b88fc2536b1ea023213729aaf4eaabe1894
208Author: djm@openbsd.org <djm@openbsd.org>
209Date: Fri May 1 06:31:42 2020 +0000
210
211 upstream: when receving a file in sink(), be careful to send at
212
213 most a single error response after the file has been opened. Otherwise the
214 source() and sink() can become desyncronised. Reported by Daniel Goujot,
215 Georges-Axel Jaloyan, Ryan Lahfa, and David Naccache.
216
217 ok deraadt@ markus@
218
219 OpenBSD-Commit-ID: 6c14d233c97349cb811a8f7921ded3ae7d9e0035
220
221commit 31909696c4620c431dd55f6cd15db65c4e9b98da
222Author: djm@openbsd.org <djm@openbsd.org>
223Date: Fri May 1 06:28:52 2020 +0000
224
225 upstream: expose vasnmprintf(); ok (as part of other commit) markus
226
227 deraadt
228
229 OpenBSD-Commit-ID: 2e80cea441c599631a870fd40307d2ade5a7f9b5
230
231commit 99ce9cefbe532ae979744c6d956b49f4b02aff82
232Author: djm@openbsd.org <djm@openbsd.org>
233Date: Fri May 1 04:23:11 2020 +0000
234
235 upstream: avoid NULL dereference when attempting to convert invalid
236
237 ssh.com private keys using "ssh-keygen -i"; spotted by Michael Forney
238
239 OpenBSD-Commit-ID: 2e56e6d26973967d11d13f56ea67145f435bf298
240
241commit 6c6072ba8b079e6f5caa38b011a6f4570c14ed38
242Author: Darren Tucker <dtucker@dtucker.net>
243Date: Fri May 1 15:09:26 2020 +1000
244
245 See if SA_RESTART signals will interrupt select().
246
247 On some platforms (at least older HP-UXes such as 11.11, possibly others)
248 setting SA_RESTART on signal handers will cause it to not interrupt
249 select(), at least for calls that do not specify a timeout. Try to
250 detect this and if found, don't use SA_RESTART.
251
252 POSIX says "If SA_RESTART has been set for the interrupting signal, it
253 is implementation-dependent whether select() restarts or returns with
254 [EINTR]" so this behaviour is within spec.
255
256commit 90a0b434ed41f9c505662dba8782591818599cb3
257Author: Damien Miller <djm@mindrot.org>
258Date: Fri May 1 13:55:03 2020 +1000
259
260 fix reversed test
261
262commit c0dfd18dd1c2107c73d18f70cd164f7ebd434b08
263Author: Damien Miller <djm@mindrot.org>
264Date: Fri May 1 13:29:16 2020 +1000
265
266 wrap sha2.h inclusion in #ifdef HAVE_SHA2_H
267
268commit a01817a9f63dbcbbc6293aacc4019993a4cdc7e3
269Author: djm@openbsd.org <djm@openbsd.org>
270Date: Tue Apr 28 04:59:29 2020 +0000
271
272 upstream: adapt dummy FIDO middleware to API change; ok markus@
273
274 OpenBSD-Regress-ID: 8bb84ee500c2eaa5616044314dd0247709a1790f
275
276commit 261571ddf02ea38fdb5e4a97c69ee53f847ca5b7
277Author: jmc@openbsd.org <jmc@openbsd.org>
278Date: Thu Apr 30 18:28:37 2020 +0000
279
280 upstream: tweak previous; ok markus
281
282 OpenBSD-Commit-ID: 41895450ce2294ec44a5713134491cc31f0c09fd
283
284commit 5de21c82e1d806d3e401b5338371e354b2e0a66f
285Author: markus@openbsd.org <markus@openbsd.org>
286Date: Thu Apr 30 17:12:20 2020 +0000
287
288 upstream: bring back debug() removed in rev 1.74; noted by pradeep
289
290 kumar
291
292 OpenBSD-Commit-ID: 8d134d22ab25979078a3b48d058557d49c402e65
293
294commit ea14103ce9a5e13492e805f7e9277516ff5a4273
295Author: markus@openbsd.org <markus@openbsd.org>
296Date: Thu Apr 30 17:07:10 2020 +0000
297
298 upstream: run the 2nd ssh with BatchMode for scp -3
299
300 OpenBSD-Commit-ID: 77994fc8c7ca02d88e6d0d06d0f0fe842a935748
301
302commit 59d2de956ed29aa5565ed5e5947a7abdb27ac013
303Author: djm@openbsd.org <djm@openbsd.org>
304Date: Tue Apr 28 04:02:29 2020 +0000
305
306 upstream: when signing a challenge using a FIDO toke, perform the
307
308 hashing in the middleware layer rather than in ssh code. This allows
309 middlewares that call APIs that perform the hashing implicitly (including
310 Microsoft's AFAIK). ok markus@
311
312 OpenBSD-Commit-ID: c9fc8630aba26c75d5016884932f08a5a237f37d
313
314commit c9d10dbc0ccfb1c7568bbb784f7aeb7a0b5ded12
315Author: dtucker@openbsd.org <dtucker@openbsd.org>
316Date: Sun Apr 26 09:38:14 2020 +0000
317
318 upstream: Fix comment typo. Patch from mforney at mforney.org.
319
320 OpenBSD-Commit-ID: 3565f056003707a5e678e60e03f7a3efd0464a2b
321
322commit 4d2c87b4d1bde019cdd0f00552fcf97dd8b39940
323Author: dtucker@openbsd.org <dtucker@openbsd.org>
324Date: Sat Apr 25 06:59:36 2020 +0000
325
326 upstream: We've standardized on memset over bzero, replace a couple
327
328 that had slipped in. ok deraadt markus djm.
329
330 OpenBSD-Commit-ID: f5be055554ee93e6cc66b0053b590bef3728dbd6
331
332commit 7f23f42123d64272a7b00754afa6b0841d676691
333Author: Darren Tucker <dtucker@dtucker.net>
334Date: Fri May 1 12:21:58 2020 +1000
335
336 Include sys/byteorder.h for htons and friends.
337
338 These are usually in netinet/in.h but on HP-UX they are not defined if
339 _XOPEN_SOURCE_EXTENDED is set. Only needed for netcat in the regression
340 tests.
341
342commit d27cba58c972d101a5de976777e518f34ac779cb
343Author: Darren Tucker <dtucker@dtucker.net>
344Date: Fri May 1 09:21:52 2020 +1000
345
346 Fix conditional for openssl-based chacha20.
347
348 Fixes warnings or link errors when building against older OpenSSLs.
349 ok djm
350
351commit 20819b962dc1467cd6fad5486a7020c850efdbee
352Author: Darren Tucker <dtucker@dtucker.net>
353Date: Fri Apr 24 15:07:55 2020 +1000
354
355 Error out if given RDomain if unsupported.
356
357 If the config contained 'RDomain %D' on a platform that did not support
358 it, the error would not be detected until runtime resulting in a broken
359 sshd. Detect this earlier and error out if found. bz#3126, based on a
360 patch from jjelen at redhat.com, tweaks and ok djm@
361
362commit 2c1690115a585c624eed2435075a93a463a894e2
363Author: dtucker@openbsd.org <dtucker@openbsd.org>
364Date: Fri Apr 24 03:33:21 2020 +0000
365
366 upstream: Fix incorrect error message for "too many known hosts files."
367
368 bz#3149, patch from jjelen at redhat.com.
369
370 OpenBSD-Commit-ID: e0fcb07ed5cf7fd54ce340471a747c24454235e5
371
372commit 3beb7276e7a8aedd3d4a49f9c03b97f643448c92
373Author: dtucker@openbsd.org <dtucker@openbsd.org>
374Date: Fri Apr 24 02:19:40 2020 +0000
375
376 upstream: Remove leave_non_blocking() which is now dead code
377
378 because nothing sets in_non_blocking_mode any more. Patch from
379 michaael.meeks at collabora.com, ok djm@
380
381 OpenBSD-Commit-ID: c403cefe97a5a99eca816e19cc849cdf926bd09c
382
383commit 8654e3561772f0656e7663a0bd6a1a8cb6d43300
384Author: jmc@openbsd.org <jmc@openbsd.org>
385Date: Thu Apr 23 21:28:09 2020 +0000
386
387 upstream: ce examples of "Ar arg Ar arg" with "Ar arg arg" and
388
389 stop the spread;
390
391 OpenBSD-Commit-ID: af0e952ea0f5e2019c2ce953ed1796eca47f0705
392
393commit 67697e4a8246dd8423e44b8785f3ee31fee72d07
394Author: Darren Tucker <dtucker@dtucker.net>
395Date: Fri Apr 24 11:10:18 2020 +1000
396
397 Update .depend.
398
399commit d6cc76176216fe3fac16cd20d148d75cb9c50876
400Author: Darren Tucker <dtucker@dtucker.net>
401Date: Wed Apr 22 14:07:00 2020 +1000
402
403 Mailing list is now closed to non-subscribers.
404
405 While there, add a reference to the bugzilla. ok djm@
406
407commit cecde6a41689d0ae585ec903b190755613a6de79
408Author: Darren Tucker <dtucker@dtucker.net>
409Date: Wed Apr 22 12:09:40 2020 +1000
410
411 Put the values from env vars back.
412
413 This merges the values from the recently removed environment into make's
414 command line arguments since we actually need those.
415
416commit 300c4322b92e98d3346efa0aec1c094c94d0f964
417Author: Darren Tucker <dtucker@dtucker.net>
418Date: Wed Apr 22 11:33:15 2020 +1000
419
420 Pass configure's egrep through to test-exec.sh.
421
422 Use it to create a wrapper function to call it from tests. Fixes the
423 keygen-comment test on platforms with impoverished default egrep (eg
424 Solaris).
425
426commit c8d9796cfe046f00eb8b2096d2b7028d6a523a84
427Author: Darren Tucker <dtucker@dtucker.net>
428Date: Wed Apr 22 10:56:44 2020 +1000
429
430 Remove unneeded env vars from t-exec invocation.
431
432commit 01d4cdcd4514e99a4b6eb9523cd832bbf008d1d7
433Author: dtucker@openbsd.org <dtucker@openbsd.org>
434Date: Tue Apr 21 23:14:58 2020 +0000
435
436 upstream: Backslash '$' at then end of string. Prevents warning on
437
438 some shells.
439
440 OpenBSD-Regress-ID: 5dc27ab624c09d34078fd326b10e38c1ce9c741f
441
442commit 8854724ccefc1fa16f10b37eda2e759c98148caa
443Author: Darren Tucker <dtucker@dtucker.net>
444Date: Tue Apr 21 18:27:23 2020 +1000
445
446 Sync rev 1.49.
447
448 Prevent infinite for loop since i went from ssize_t to size_t. Patch from
449 eagleoflqj via OpenSSH github PR#178, ok djm@, feedback & ok millert@
450
451commit d00d07b6744d3b4bb7aca46c734ecd670148da23
452Author: djm@openbsd.org <djm@openbsd.org>
453Date: Mon Apr 20 04:44:47 2020 +0000
454
455 upstream: regression test for printing of private key fingerprints and
456
457 key comments, mostly by loic AT venez.fr (slightly tweaked for portability)
458 ok dtucker@
459
460 OpenBSD-Regress-ID: 8dc6c4feaf4fe58b6d634cd89afac9a13fd19004
461
462commit a98d5ba31e5e7e01317352f85fa63b846a960f8c
463Author: djm@openbsd.org <djm@openbsd.org>
464Date: Mon Apr 20 04:43:57 2020 +0000
465
466 upstream: fix a bug I introduced in r1.406: when printing private key
467
468 fingerprint of old-format key, key comments were not being displayed. Spotted
469 by loic AT venez.fr, ok dtucker
470
471 OpenBSD-Commit-ID: 2d98e4f9eb168eea733d17e141e1ead9fe26e533
472
473commit 32f2d0aad42c15e19bd3b07496076ca891573a58
474Author: djm@openbsd.org <djm@openbsd.org>
475Date: Fri Apr 17 07:16:07 2020 +0000
476
477 upstream: repair private key fingerprint printing to also print
478
479 comment after regression caused by my recent pubkey loading refactor.
480 Reported by loic AT venez.fr, ok dtucker@
481
482 OpenBSD-Commit-ID: f8db49acbee6a6ccb2a4259135693b3cceedb89e
483
484commit 094dd513f4b42e6a3cebefd18d1837eb709b4d99
485Author: djm@openbsd.org <djm@openbsd.org>
486Date: Fri Apr 17 07:15:11 2020 +0000
487
488 upstream: refactor out some duplicate private key loading code;
489
490 based on patch from loic AT venez.fr, ok dtucker@
491
492 OpenBSD-Commit-ID: 5eff2476b0d8d0614924c55e350fb7bb9c84f45e
493
494commit 4e04f46f248f1708e39b900b76c9693c820eff68
495Author: jmc@openbsd.org <jmc@openbsd.org>
496Date: Fri Apr 17 06:12:41 2020 +0000
497
498 upstream: add space beteen macro arg and punctuation;
499
500 OpenBSD-Commit-ID: c93a6cbb4bf9468fc4c13e64bc1fd4efee201a44
501
502commit 44ae009a0112081d0d541aeaa90088bedb6f21ce
503Author: djm@openbsd.org <djm@openbsd.org>
504Date: Fri Apr 17 04:27:03 2020 +0000
505
506 upstream: auth2-pubkey r1.89 changed the order of operations to
507
508 checking AuthorizedKeysFile first and falling back to AuthorizedKeysCommand
509 if no key was found in a file. Document this order here; bz3134
510
511 OpenBSD-Commit-ID: afce0872cbfcfc1d4910ad7722e50f792a1dce12
512
513commit f96f17f920f38ceea6f3c5cb0b075c46b8929fdc
514Author: Damien Miller <djm@mindrot.org>
515Date: Fri Apr 17 14:07:15 2020 +1000
516
517 sys/sysctl.h is only used on OpenBSD
518
519 so change the preprocessor test used to include it to check
520 __OpenBSD__, matching the code that uses the symbols it declares.
521
522commit 54688e937a69c7aebef8a3d50cbd4c6345bab2ca
523Author: djm@openbsd.org <djm@openbsd.org>
524Date: Fri Apr 17 03:38:47 2020 +0000
525
526 upstream: fix reversed test that caused IdentitiesOnly=yes to not
527
528 apply to keys loaded from a PKCS11Provider; bz3141, ok dtucker@
529
530 OpenBSD-Commit-ID: e3dd6424b94685671fe84c9b9dbe352fb659f677
531
532commit 267cbc87b5b6e78973ac4d3c7a6f807ed226928c
533Author: djm@openbsd.org <djm@openbsd.org>
534Date: Fri Apr 17 03:34:42 2020 +0000
535
536 upstream: mention that /etc/hosts.equiv and /etc/shosts.equiv are
537
538 not considered for HostbasedAuthentication when the target user is root;
539 bz3148
540
541 OpenBSD-Commit-ID: fe4c1256929e53f23af17068fbef47852f4bd752
542
543commit c90f72d29e84b4a2709078bf5546a72c29a65177
544Author: djm@openbsd.org <djm@openbsd.org>
545Date: Fri Apr 17 03:30:05 2020 +0000
546
547 upstream: make IgnoreRhosts a tri-state option: "yes" ignore
548
549 rhosts/shosts, "no" allow rhosts/shosts or (new) "shosts-only" to allow
550 .shosts files but not .rhosts. ok dtucker@
551
552 OpenBSD-Commit-ID: d08d6930ed06377a80cf53923c1955e9589342e9
553
554commit 321c7147079270f3a154f91b59e66219aac3d514
555Author: djm@openbsd.org <djm@openbsd.org>
556Date: Fri Apr 17 03:23:13 2020 +0000
557
558 upstream: allow the IgnoreRhosts directive to appear anywhere in a
559
560 sshd_config, not just before any Match blocks; bz3148, ok dtucker@
561
562 OpenBSD-Commit-ID: e042467d703bce640b1f42c5d1a62bf3825736e8
563
564commit ca5403b085a735055ec7b7cdcd5b91f2662df94c
565Author: jmc@openbsd.org <jmc@openbsd.org>
566Date: Sat Apr 11 20:20:09 2020 +0000
567
568 upstream: add space between macro arg and punctuation;
569
570 OpenBSD-Commit-ID: e579e4d95eef13059c30931ea1f09ed8296b819c
571
572commit 8af0244d7b4a65eed2e62f9c89141c7c8e63f09d
573Author: Darren Tucker <dtucker@dtucker.net>
574Date: Wed Apr 15 10:58:02 2020 +1000
575
576 Add sys/syscall.h for syscall numbers.
577
578 In some architecture/libc configurations we need to explicitly include
579 sys/syscall.h for the syscall number (__NR_xxx) definitions. bz#3085,
580 patch from blowfist at xroutine.net.
581
582commit 3779b50ee952078018a5d9e1df20977f4355df17
583Author: djm@openbsd.org <djm@openbsd.org>
584Date: Sat Apr 11 10:16:11 2020 +0000
585
586 upstream: Refactor private key parsing. Eliminates a fair bit of
587
588 duplicated code and fixes oss-fuzz#20074 (NULL deref) caused by a missing key
589 type check in the ECDSA_CERT parsing path.
590
591 feedback and ok markus@
592
593 OpenBSD-Commit-ID: 4711981d88afb7196d228f7baad9be1d3b20f9c9
594
595commit b6a4013647db67ec622c144a9e05dd768f1966b3
596Author: dtucker@openbsd.org <dtucker@openbsd.org>
597Date: Fri Apr 10 00:54:03 2020 +0000
598
599 upstream: Add tests for TOKEN expansion of LocalForward and
600
601 RemoteForward.
602
603 OpenBSD-Regress-ID: 90fcbc60d510eb114a2b6eaf4a06ff87ecd80a89
604
605commit abc3e0a5179c13c0469a1b11fe17d832abc39999
606Author: dtucker@openbsd.org <dtucker@openbsd.org>
607Date: Mon Apr 6 09:43:55 2020 +0000
608
609 upstream: Add utf8.c for asmprintf used by krl.c
610
611 OpenBSD-Regress-ID: 433708d11165afdb189fe635151d21659dd37a37
612
613commit 990687a0336098566c3a854d23cce74a31ec6fe2
614Author: dtucker@openbsd.org <dtucker@openbsd.org>
615Date: Fri Apr 10 00:52:07 2020 +0000
616
617 upstream: Add TOKEN percent expansion to LocalFoward and RemoteForward
618
619 when used for Unix domain socket forwarding. Factor out the code for the
620 config keywords that use the most common subset of TOKENS into its own
621 function. bz#3014, ok jmc@ (man page bits) djm@
622
623 OpenBSD-Commit-ID: bffc9f7e7b5cf420309a057408bef55171fd0b97
624
625commit 2b13d3934d5803703c04803ca3a93078ecb5b715
626Author: djm@openbsd.org <djm@openbsd.org>
627Date: Wed Apr 8 00:10:37 2020 +0000
628
629 upstream: let sshkey_try_load_public() load public keys from the
630
631 unencrypted envelope of private key files if not sidecar public key file is
632 present.
633
634 ok markus@
635
636 OpenBSD-Commit-ID: 252a0a580e10b9a6311632530d63b5ac76592040
637
638commit d01f39304eaab0352793b490a25e1ab5f59a5366
639Author: djm@openbsd.org <djm@openbsd.org>
640Date: Wed Apr 8 00:09:24 2020 +0000
641
642 upstream: simplify sshkey_try_load_public()
643
644 ok markus@
645
646 OpenBSD-Commit-ID: 05a5d46562aafcd70736c792208b1856064f40ad
647
648commit f290ab0833e44355fc006e4e67b92446c14673ef
649Author: djm@openbsd.org <djm@openbsd.org>
650Date: Wed Apr 8 00:08:46 2020 +0000
651
652 upstream: add sshkey_parse_pubkey_from_private_fileblob_type()
653
654 Extracts a public key from the unencrypted envelope of a new-style
655 OpenSSH private key.
656
657 ok markus@
658
659 OpenBSD-Commit-ID: 44d7ab446e5e8c686aee96d5897b26b3939939aa
660
661commit 8d514eea4ae089626a55e11c7bc1745c8d9683e4
662Author: djm@openbsd.org <djm@openbsd.org>
663Date: Wed Apr 8 00:07:19 2020 +0000
664
665 upstream: simplify sshkey_parse_private_fileblob_type()
666
667 Try new format parser for all key types first, fall back to PEM
668 parser only for invalid format errors.
669
670 ok markus@
671
672 OpenBSD-Commit-ID: 0173bbb3a5cface77b0679d4dca0e15eb5600b77
673
674commit 421169d0e758351b105eabfcebf42378ebf17217
675Author: djm@openbsd.org <djm@openbsd.org>
676Date: Wed Apr 8 00:05:59 2020 +0000
677
678 upstream: check private key type against requested key type in
679
680 new-style private decoding; ok markus@
681
682 OpenBSD-Commit-ID: 04d44b3a34ce12ce5187fb6f6e441a88c8c51662
683
684commit 6aabfb6d22b36d07f584cba97f4cdc4363a829da
685Author: djm@openbsd.org <djm@openbsd.org>
686Date: Wed Apr 8 00:04:32 2020 +0000
687
688 upstream: check that pubkey in private key envelope matches actual
689
690 private key
691
692 (this public key is currently unusued)
693
694 ok markus@
695
696 OpenBSD-Commit-ID: 634a60b5e135d75f48249ccdf042f3555112049c
697
698commit c0f5b2294796451001fd328c44f0d00f1114eddf
699Author: djm@openbsd.org <djm@openbsd.org>
700Date: Wed Apr 8 00:01:52 2020 +0000
701
702 upstream: refactor private key parsing a little
703
704 Split out the base64 decoding and private section decryption steps in
705 to separate functions. This will make the decryption step easier to fuzz
706 as well as making it easier to write a "load public key from new-format
707 private key" function.
708
709 ok markus@
710
711 OpenBSD-Commit-ID: 7de31d80fb9062aa01901ddf040c286b64ff904e
712
713commit 8461a5b3db34ed0b5a4a18d82f64fd5ac8693ea8
714Author: Darren Tucker <dtucker@dtucker.net>
715Date: Mon Apr 6 20:54:34 2020 +1000
716
717 Include openssl-compat.h before checking ifdefs.
718
719 Fixes problem where unsuitable chacha20 code in libressl would be used
720 unintentionally.
721
722commit 931c50c5883a9910ea1ae9a371e4e815ec56b035
723Author: Damien Miller <djm@mindrot.org>
724Date: Mon Apr 6 10:04:56 2020 +1000
725
726 fix inverted test for LibreSSL version
727
728commit d1d5f728511e2338b7c994968d301d8723012264
729Author: dtucker@openbsd.org <dtucker@openbsd.org>
730Date: Sat Apr 4 23:04:41 2020 +0000
731
732 upstream: Indicate if we're using a cached key in trace output.
733
734 OpenBSD-Regress-ID: 409a7b0e59d1272890fda507651c0c3d2d3c0d89
735
736commit a398251a4627367c78bc483c70c2ec973223f82c
737Author: Darren Tucker <dtucker@dtucker.net>
738Date: Sun Apr 5 08:43:57 2020 +1000
739
740 Use /usr/bin/xp4g/id if necessary.
741
742 Solaris' native "id" doesn't support the options we use but the one
743 in /usr/bin/xp4g does, so use that instead.
744
745commit db0fdd48335b5b01114f78c1a73a195235910f81
746Author: dtucker@openbsd.org <dtucker@openbsd.org>
747Date: Sat Apr 4 22:14:26 2020 +0000
748
749 upstream: Some platforms don't have "hostname -s", so use cut to trim
750
751 short hostname instead.
752
753 OpenBSD-Regress-ID: ebcf36a6fdf287c9336b0d4f6fc9f793c05307a7
754
755commit e7e59a9cc8eb7fd5944ded28f4d7e3ae0a5fdecd
756Author: dtucker@openbsd.org <dtucker@openbsd.org>
757Date: Fri Apr 3 07:53:10 2020 +0000
758
759 upstream: Compute hash locally and re-enable %C tests.
760
761 OpenBSD-Regress-ID: 94d1366e8105274858b88a1f9ad2e62801e49770
762
763commit abe2b245b3ac6c4801e99bc0f13289cd28211e22
764Author: Damien Miller <djm@mindrot.org>
765Date: Fri Apr 3 17:25:46 2020 +1100
766
767 prefer libcrypto chacha20-poly1305 where possible
768
769commit bc5c5d01ad668981f9e554e62195383bc12e8528
770Author: dtucker@openbsd.org <dtucker@openbsd.org>
771Date: Fri Apr 3 05:43:11 2020 +0000
772
773 upstream: Temporarily remove tests for '%C' since the hash contains the
774
775 local hostname and it doesn't work on any machine except mine... spotted by
776 djm@
777
778 OpenBSD-Regress-ID: 2d4c3585b9fcbbff14f4a5a5fde51dbd0d690401
779
780commit 81624026989654955a657ebf2a1fe8b9994f3c87
781Author: djm@openbsd.org <djm@openbsd.org>
782Date: Fri Apr 3 06:07:57 2020 +0000
783
784 upstream: r1.522 deleted one too many lines; repair
785
786 OpenBSD-Commit-ID: 1af8851fd7a99e4a887b19aa8f4c41a6b3d25477
787
788commit 668cb3585ce829bd6e34d4a962c489bda1d16370
789Author: jmc@openbsd.org <jmc@openbsd.org>
790Date: Fri Apr 3 05:53:52 2020 +0000
791
792 upstream: sort -N and add it to usage();
793
794 OpenBSD-Commit-ID: 5b00e8db37c2b0a54c7831fed9e5f4db53ada332
795
796commit 338ccee1e7fefa47f3d128c2541e94c5270abe0c
797Author: djm@openbsd.org <djm@openbsd.org>
798Date: Fri Apr 3 05:48:57 2020 +0000
799
800 upstream: avoid another compiler warning spotted in -portable
801
802 OpenBSD-Commit-ID: 1d29c51ac844b287c4c8bcaf04c63c7d9ba3b8c7
803
804commit 9f8a42340bd9af86a99cf554dc39ecdf89287544
805Author: djm@openbsd.org <djm@openbsd.org>
806Date: Fri Apr 3 04:07:48 2020 +0000
807
808 upstream: this needs utf8.c too
809
810 OpenBSD-Regress-ID: 445040036cec714d28069a20da25553a04a28451
811
812commit 92115ea7c3a834374720c350841fc729e7d5c8b2
813Author: dtucker@openbsd.org <dtucker@openbsd.org>
814Date: Fri Apr 3 03:14:03 2020 +0000
815
816 upstream: Add percent_expand test for 'Match Exec'.
817
818 OpenBSD-Regress-ID: a41c14fd6a0b54d66aa1e9eebfb9ec962b41232f
819
820commit de34a440276ae855c38deb20f926d46752c62c9d
821Author: djm@openbsd.org <djm@openbsd.org>
822Date: Fri Apr 3 04:43:24 2020 +0000
823
824 upstream: fix format string (use %llu for uint64, not %lld). spotted by
825
826 Darren and his tinderbox tests
827
828 OpenBSD-Commit-ID: 3b4587c3d9d46a7be9bdf028704201943fba96c2
829
830commit 9cd40b829a5295cc81fbea8c7d632b2478db6274
831Author: djm@openbsd.org <djm@openbsd.org>
832Date: Fri Apr 3 04:34:15 2020 +0000
833
834 upstream: Add a flag to re-enable verbose output when in batch
835
836 mode; requested in bz3135; ok dtucker
837
838 OpenBSD-Commit-ID: 5ad2ed0e6440562ba9c84b666a5bbddc1afe2e2b
839
840commit 6ce51a5da5d333a44e7c74c027f3571f70c39b24
841Author: djm@openbsd.org <djm@openbsd.org>
842Date: Fri Apr 3 04:32:21 2020 +0000
843
844 upstream: chacha20-poly1305 AEAD using libcrypto EVP_chacha20
845
846 Based on patch from Yuriy M. Kaminskiy. ok + lots of assistance along the
847 way at a2k20 tb@
848
849 OpenBSD-Commit-ID: 5e08754c13d31258bae6c5e318cc96219d6b10f0
850
851commit eba523f0a130f1cce829e6aecdcefa841f526a1a
852Author: djm@openbsd.org <djm@openbsd.org>
853Date: Fri Apr 3 04:27:03 2020 +0000
854
855 upstream: make Chacha20-POLY1305 context struct opaque; ok tb@ as
856
857 part of a larger diff at a2k20
858
859 OpenBSD-Commit-ID: a4609b7263284f95c9417ef60ed7cdbb7bf52cfd
860
861commit ebd29e90129cf18fedfcfe1de86e324228669295
862Author: djm@openbsd.org <djm@openbsd.org>
863Date: Fri Apr 3 04:06:26 2020 +0000
864
865 upstream: fix debug statement
866
867 OpenBSD-Commit-ID: 42c6edeeda5ce88b51a20d88c93be3729ce6b916
868
869commit 7b4d8999f2e1a0cb7b065e3efa83e6edccfc7d82
870Author: djm@openbsd.org <djm@openbsd.org>
871Date: Fri Apr 3 04:03:51 2020 +0000
872
873 upstream: the tunnel-forwarding vs ExitOnForwardFailure fix that I
874
875 committed earlier had an off-by-one. Fix this and add some debugging that
876 would have made it apparent sooner.
877
878 OpenBSD-Commit-ID: 082f8f72b1423bd81bbdad750925b906e5ac6910
879
880commit eece243666d44ceb710d004624c5c7bdc05454bc
881Author: dtucker@openbsd.org <dtucker@openbsd.org>
882Date: Fri Apr 3 03:12:11 2020 +0000
883
884 upstream: %C expansion just added to Match Exec should include
885
886 remote user not local user.
887
888 OpenBSD-Commit-ID: 80f1d976938f2a55ee350c11d8b796836c8397e2
889
890commit d5318a784d016478fc8da90a38d9062c51c10432
891Author: dtucker@openbsd.org <dtucker@openbsd.org>
892Date: Fri Apr 3 02:33:31 2020 +0000
893
894 upstream: Add regression test for percent expansions where possible.
895
896 OpenBSD-Regress-ID: 7283be8b2733ac1cbefea3048a23d02594485288
897
898commit 663e84bb53de2a60e56a44d538d25b8152b5c1cc
899Author: djm@openbsd.org <djm@openbsd.org>
900Date: Fri Apr 3 02:40:32 2020 +0000
901
902 upstream: make failures when establishing "Tunnel" forwarding terminate
903
904 the connection when ExitOnForwardFailure is enabled; bz3116; ok dtucker
905
906 OpenBSD-Commit-ID: ef4b4808de0a419c17579b1081da768625c1d735
907
908commit ed833da176611a39d3376d62154eb88eb440d31c
909Author: dtucker@openbsd.org <dtucker@openbsd.org>
910Date: Fri Apr 3 02:27:12 2020 +0000
911
912 upstream: Make with config keywords support which
913
914 percent_expansions more consistent. - %C is moved into its own function and
915 added to Match Exec. - move the common (global) options into a macro. This
916 is ugly but it's the least-ugly way I could come up with. - move
917 IdentityAgent and ForwardAgent percent expansion to before the config dump
918 to make it regression-testable. - document all of the above
919
920 ok jmc@ for man page bits, "makes things less terrible" djm@ for the rest.
921
922 OpenBSD-Commit-ID: 4b65664bd6d8ae2a9afaf1a2438ddd1b614b1d75
923
924commit 6ec7457171468da2bbd908b8cd63d298b0e049ea
925Author: djm@openbsd.org <djm@openbsd.org>
926Date: Fri Apr 3 02:26:56 2020 +0000
927
928 upstream: give ssh-keygen the ability to dump the contents of a
929
930 binary key revocation list: ssh-keygen -lQf /path bz#3132; ok dtucker
931
932 OpenBSD-Commit-ID: b76afc4e3b74ab735dbde4e5f0cfa1f02356033b
933
934commit af628b8a6c3ef403644d83d205c80ff188c97f0c
935Author: djm@openbsd.org <djm@openbsd.org>
936Date: Fri Apr 3 02:25:21 2020 +0000
937
938 upstream: add allocating variant of the safe utf8 printer; ok
939
940 dtucker as part of a larger diff
941
942 OpenBSD-Commit-ID: 037e2965bd50eacc2ffb49889ecae41552744fa0
943
944commit d8ac9af645f5519ac5211e9e1e4dc1ed00e9cced
945Author: dtucker@openbsd.org <dtucker@openbsd.org>
946Date: Mon Mar 16 02:17:02 2020 +0000
947
948 upstream: Cast lifetime to u_long for comparison to prevent unsigned
949
950 comparison warning on 32bit arches. Spotted by deraadt, ok djm.
951
952 OpenBSD-Commit-ID: 7a75b2540bff5ab4fa00b4d595db1df13bb0515a
953
954commit 0eaca933ae08b0a515edfccd5cc4a6b667034813
955Author: Darren Tucker <dtucker@dtucker.net>
956Date: Sat Mar 14 20:58:46 2020 +1100
957
958 Include fido.h when checking for fido/credman.h.
959
960 It's required for fido_dev_t, otherwise configure fails with
961 when given --with-security-key-builtin.
962
963commit c7c099060f82ffe6a36d8785ecf6052e12fd92f0
964Author: djm@openbsd.org <djm@openbsd.org>
965Date: Fri Mar 13 03:18:45 2020 +0000
966
967 upstream: some more speeling mistakes from
968
969 OpenBSD-Regress-ID: 02471c079805471c546b7a69d9ab1d34e9a57443
970
971commit 1d89232a4aa97fe935cd60b8d24d75c2f70d56c5
972Author: djm@openbsd.org <djm@openbsd.org>
973Date: Fri Mar 13 04:16:27 2020 +0000
974
975 upstream: improve error messages for some common PKCS#11 C_Login
976
977 failure cases; based on patch from Jacob Hoffman-Andrews in bz3130; ok
978 dtucker
979
980 OpenBSD-Commit-ID: b8b849621b4a98e468942efd0a1c519c12ce089e
981
982commit 5becbec023f2037394987f85ed7f74b9a28699e0
983Author: djm@openbsd.org <djm@openbsd.org>
984Date: Fri Mar 13 04:01:56 2020 +0000
985
986 upstream: use sshpkt_fatal() for kex_exchange_identification()
987
988 errors. This ensures that the logged errors are consistent with other
989 transport- layer errors and that the relevant IP addresses are logged. bz3129
990 ok dtucker@
991
992 OpenBSD-Commit-ID: 2c22891f0b9e1a6cd46771cedbb26ac96ec2e6ab
993
994commit eef88418f9e5e51910af3c5b23b5606ebc17af55
995Author: dtucker@openbsd.org <dtucker@openbsd.org>
996Date: Fri Mar 13 03:24:49 2020 +0000
997
998 upstream: Don't clear alarm timers in listening sshd. Previously
999
1000 these timers were used for regenerating the SSH1 ephemeral host keys but
1001 those are now gone so there's no need to clear the timers either. ok
1002 deraadt@
1003
1004 OpenBSD-Commit-ID: 280d2b885e4a1ce404632e8cc38fcb17be7dafc0
1005
1006commit d081f017c20a3564255873ed99fd7d024cac540f
1007Author: djm@openbsd.org <djm@openbsd.org>
1008Date: Fri Mar 13 03:17:07 2020 +0000
1009
1010 upstream: spelling errors in comments; no code change from
1011
1012 OpenBSD-Commit-ID: 166ea64f6d84f7bac5636dbd38968592cb5eb924
1013
1014commit c084a2d040f160bc2b83f13297e3e3ca3f5dbac6
1015Author: djm@openbsd.org <djm@openbsd.org>
1016Date: Fri Mar 13 03:12:17 2020 +0000
1017
1018 upstream: when downloading FIDO2 resident keys from a token, don't
1019
1020 prompt for a PIN until the token has told us that it needs one. Avoids
1021 double-prompting on devices that implement on-device authentication (e.g. a
1022 touchscreen PIN pad on the Trezor Model T). ok dtucker@
1023
1024 OpenBSD-Commit-ID: 38b78903dd4422d7d3204095a31692fb69130817
1025
1026commit 955c4cf4c6a1417c28d4e1040702c4d9bf63645b
1027Author: Damien Miller <djm@mindrot.org>
1028Date: Fri Mar 13 14:30:16 2020 +1100
1029
1030 sync fnmatch.c with upstream to fix another typo
1031
1032commit 397f217e8640e75bb719a8e87111b4bd848fb3df
1033Author: Damien Miller <djm@mindrot.org>
1034Date: Fri Mar 13 14:24:23 2020 +1100
1035
1036 another spelling error in comment
1037
1038commit def31bc5427579ec3f7f2ce99f2da1338fdc0c9f
1039Author: Damien Miller <djm@mindrot.org>
1040Date: Fri Mar 13 14:23:07 2020 +1100
1041
1042 spelling mistakes
1043
1044 from https://fossies.org/linux/misc/openssh-8.2p1.tar.gz/codespell.html
1045
1046commit 8bdc3bb7cf4c82c3344cfcb82495a43406e87e83
1047Author: markus@openbsd.org <markus@openbsd.org>
1048Date: Fri Mar 6 18:29:54 2020 +0000
1049
1050 upstream: fix relative includes in sshd_config; ok djm
1051
1052 OpenBSD-Commit-ID: fa29b0da3c93cbc3a1d4c6bcd58af43c00ffeb5b
1053
1054commit e32ef97a56ae03febfe307688858badae3a70e5a
1055Author: markus@openbsd.org <markus@openbsd.org>
1056Date: Fri Mar 6 18:29:14 2020 +0000
1057
1058 upstream: fix use-after-free in do_download_sk; ok djm
1059
1060 OpenBSD-Commit-ID: 96b49623d297797d4fc069f1f09e13c8811f8863
1061
1062commit 5732d58020309364bf31fa125354e399361006db
1063Author: markus@openbsd.org <markus@openbsd.org>
1064Date: Fri Mar 6 18:28:50 2020 +0000
1065
1066 upstream: do not leak oprincipals; ok djm
1067
1068 OpenBSD-Commit-ID: 4691d9387eab36f8fda48f5d8009756ed13a7c4c
1069
1070commit 8fae395f34c2c52cdaf9919aa261d1848b4bb00b
1071Author: markus@openbsd.org <markus@openbsd.org>
1072Date: Fri Mar 6 18:28:27 2020 +0000
1073
1074 upstream: initialize seconds for debug message; ok djm
1075
1076 OpenBSD-Commit-ID: 293fbefe6d00b4812a180ba02e26170e4c855b81
1077
1078commit 46e5c4c8ffcd1569bcd5d04803abaa2ecf3e4cff
1079Author: markus@openbsd.org <markus@openbsd.org>
1080Date: Fri Mar 6 18:27:50 2020 +0000
1081
1082 upstream: correct return code; ok djm
1083
1084 OpenBSD-Commit-ID: 319d09e3b7f4b2bc920c67244d9ff6426b744810
1085
1086commit 31c39e7840893f1bfdcbe4f813b20d1d7e69ec3e
1087Author: markus@openbsd.org <markus@openbsd.org>
1088Date: Fri Mar 6 18:27:15 2020 +0000
1089
1090 upstream: principalsp is optional, pubkey required; ok djm
1091
1092 OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024
1093
1094commit e26a31757c5df2f58687cb9a4853d1418f39728e
1095Author: markus@openbsd.org <markus@openbsd.org>
1096Date: Fri Mar 6 18:26:21 2020 +0000
1097
1098 upstream: remove unused variables in ssh-pkcs11-helper; ok djm
1099
1100 OpenBSD-Commit-ID: 13e572846d0d1b28f1251ddd2165e9cf18135ae1
1101
1102commit 1b378c0d982d6ab522eda634b0e88cf1fca5e352
1103Author: markus@openbsd.org <markus@openbsd.org>
1104Date: Fri Mar 6 18:25:48 2020 +0000
1105
1106 upstream: return correct error in sshsk_ed25519_sig; ok djm
1107
1108 OpenBSD-Commit-ID: 52bf733df220303c260fee4f165ec64b4a977625
1109
1110commit fbff605e637b068061ab6784ff03e3874890c092
1111Author: markus@openbsd.org <markus@openbsd.org>
1112Date: Fri Mar 6 18:25:12 2020 +0000
1113
1114 upstream: fix possible null-deref in check_key_not_revoked; ok
1115
1116 djm
1117
1118 OpenBSD-Commit-ID: 80855e9d7af42bb6fcc16c074ba69876bfe5e3bf
1119
1120commit bc30b446841fc16e50ed6e75c56ccfbd37b9f281
1121Author: markus@openbsd.org <markus@openbsd.org>
1122Date: Fri Mar 6 18:24:39 2020 +0000
1123
1124 upstream: ssh_fetch_identitylist() returns the return value from
1125
1126 ssh_request_reply() so we should also check against != 0 ok djm
1127
1128 OpenBSD-Commit-ID: 28d0028769d03e665688c61bb5fd943e18614952
1129
1130commit 7b4f70ddeb59f35283d77d8d9c834ca58f8cf436
1131Author: markus@openbsd.org <markus@openbsd.org>
1132Date: Fri Mar 6 18:23:17 2020 +0000
1133
1134 upstream: sshkey_cert_check_authority requires reason to be set;
1135
1136 ok djm
1137
1138 OpenBSD-Commit-ID: 6f7a6f19540ed5749763c2f9530c0897c94aa552
1139
1140commit 05efe270df1e925db0af56a806d18b5063db4b6d
1141Author: markus@openbsd.org <markus@openbsd.org>
1142Date: Fri Mar 6 18:21:28 2020 +0000
1143
1144 upstream: passphrase depends on kdfname, not ciphername (possible
1145
1146 null-deref); ok djm
1147
1148 OpenBSD-Commit-ID: 0d39668edf5e790b5837df4926ee1141cec5471c
1149
1150commit 1ddf5682f3992bdacd29164891abb71a19c2cf61
1151Author: markus@openbsd.org <markus@openbsd.org>
1152Date: Fri Mar 6 18:20:44 2020 +0000
1153
1154 upstream: consistently check packet_timeout_ms against 0; ok djm
1155
1156 OpenBSD-Commit-ID: e8fb8cb2c96c980f075069302534eaf830929928
1157
1158commit 31f1ee54968ad84eb32375e4412e0318766b586b
1159Author: markus@openbsd.org <markus@openbsd.org>
1160Date: Fri Mar 6 18:20:02 2020 +0000
1161
1162 upstream: initialize cname in case ai_canonname is NULL or too
1163
1164 long; ok djm
1165
1166 OpenBSD-Commit-ID: c27984636fdb1035d1642283664193e91aab6e37
1167
1168commit a6134b02b5264b2611c8beae98bb392329452bba
1169Author: markus@openbsd.org <markus@openbsd.org>
1170Date: Fri Mar 6 18:19:21 2020 +0000
1171
1172 upstream: fix uninitialized pointers for forward_cancel; ok djm
1173
1174 OpenBSD-Commit-ID: 612778e6d87ee865d0ba97d0a335f141cee1aa37
1175
1176commit 16d4f9961c75680aab374dee762a5baa0ad507af
1177Author: markus@openbsd.org <markus@openbsd.org>
1178Date: Fri Mar 6 18:16:21 2020 +0000
1179
1180 upstream: exit on parse failures in input_service_request; ok djm
1181
1182 OpenBSD-Commit-ID: 6a7e1bfded26051d5aa893c030229b1ee6a0d5d2
1183
1184commit 5f25afe5216ba7f8921e04f79aa4ca0624eca820
1185Author: markus@openbsd.org <markus@openbsd.org>
1186Date: Fri Mar 6 18:15:38 2020 +0000
1187
1188 upstream: fix null-deref on calloc failure; ok djm
1189
1190 OpenBSD-Commit-ID: a313519579b392076b7831ec022dfdefbec8724a
1191
1192commit ff2acca039aef16a15fce409163df404858f7aa5
1193Author: markus@openbsd.org <markus@openbsd.org>
1194Date: Fri Mar 6 18:15:04 2020 +0000
1195
1196 upstream: exit if ssh_krl_revoke_key_sha256 fails; ok djm
1197
1198 OpenBSD-Commit-ID: 0864ad4fe8bf28ab21fd1df766e0365c11bbc0dc
1199
1200commit 31c860a0212af2d5b6a129e3e8fcead51392ee1d
1201Author: markus@openbsd.org <markus@openbsd.org>
1202Date: Fri Mar 6 18:14:13 2020 +0000
1203
1204 upstream: pkcs11_register_provider: return < 0 on error; ok djm
1205
1206 OpenBSD-Commit-ID: cfc8321315b787e4d40da4bdb2cbabd4154b0d97
1207
1208commit 15be29e1e3318737b0768ca37d5b4a3fbe868ef0
1209Author: markus@openbsd.org <markus@openbsd.org>
1210Date: Fri Mar 6 18:13:29 2020 +0000
1211
1212 upstream: sshsig: return correct error, fix null-deref; ok djm
1213
1214 OpenBSD-Commit-ID: 1d1af7cd538b8b23e621cf7ab84f11e7a923edcd
1215
1216commit 6fb6f186cb62a6370fba476b6a03478a1e95c30d
1217Author: markus@openbsd.org <markus@openbsd.org>
1218Date: Fri Mar 6 18:12:55 2020 +0000
1219
1220 upstream: vasnmprintf allocates str and returns -1; ok djm
1221
1222 OpenBSD-Commit-ID: dae4c9e83d88471bf3b3f89e3da7a107b44df11c
1223
1224commit 714e1cbca17daa13f4f98978cf9e0695d4b2e0a4
1225Author: markus@openbsd.org <markus@openbsd.org>
1226Date: Fri Mar 6 18:11:10 2020 +0000
1227
1228 upstream: sshpkt_fatal() does not return; ok djm
1229
1230 OpenBSD-Commit-ID: 7dfe847e28bd78208eb227b37f29f4a2a0929929
1231
1232commit 9b47bd7b09d191991ad9e0506bb66b74bbc93d34
1233Author: djm@openbsd.org <djm@openbsd.org>
1234Date: Fri Feb 28 01:07:28 2020 +0000
1235
1236 upstream: no-touch-required certificate option should be an
1237
1238 extension, not a critical option.
1239
1240 OpenBSD-Commit-ID: 626b22c5feb7be8a645e4b9a9bef89893b88600d
1241
1242commit dd992520bed35387fc010239abe1bdc0c2665e38
1243Author: djm@openbsd.org <djm@openbsd.org>
1244Date: Fri Feb 28 01:06:05 2020 +0000
1245
1246 upstream: better error message when trying to use a FIDO key
1247
1248 function and SecurityKeyProvider is empty
1249
1250 OpenBSD-Commit-ID: e56602c2ee8c82f835d30e4dc8ee2e4a7896be24
1251
1252commit b81e66dbe0345aef4717911abcb4f589fff33a0a
1253Author: dtucker@openbsd.org <dtucker@openbsd.org>
1254Date: Thu Feb 27 02:32:37 2020 +0000
1255
1256 upstream: Drop leading space from line count that was confusing
1257
1258 ssh-keygen's screen mode.
1259
1260 OpenBSD-Commit-ID: 3bcae7a754db3fc5ad3cab63dd46774edb35b8ae
1261
1262commit d5ba1c03278eb079438bb038266d80d7477d49cb
1263Author: jsg@openbsd.org <jsg@openbsd.org>
1264Date: Wed Feb 26 13:40:09 2020 +0000
1265
1266 upstream: change explicit_bzero();free() to freezero()
1267
1268 While freezero() returns early if the pointer is NULL the tests for
1269 NULL in callers are left to avoid warnings about passing an
1270 uninitialised size argument across a function boundry.
1271
1272 ok deraadt@ djm@
1273
1274 OpenBSD-Commit-ID: 2660fa334fcc7cd05ec74dd99cb036f9ade6384a
1275
1276commit 9e3220b585c5be19a7431ea4ff8884c137b3a81c
1277Author: dtucker@openbsd.org <dtucker@openbsd.org>
1278Date: Wed Feb 26 11:46:51 2020 +0000
1279
1280 upstream: Have sftp reject "-1" in the same way as ssh(1) and
1281
1282 scp(1) do instead of accepting and silently ignoring it since protocol 1
1283 support has been removed. Spotted by shivakumar2696 at gmail.com, ok
1284 deraadt@
1285
1286 OpenBSD-Commit-ID: b79f95559a1c993214f4ec9ae3c34caa87e9d5de
1287
1288commit ade8e67bb0f07b12e5e47e7baeafbdc898de639f
1289Author: dtucker@openbsd.org <dtucker@openbsd.org>
1290Date: Wed Feb 26 01:31:47 2020 +0000
1291
1292 upstream: Remove obsolete XXX comment. ok deraadt@
1293
1294 OpenBSD-Commit-ID: bc462cc843947feea26a2e21c750b3a7469ff01b
1295
1296commit 7eb903f51eba051d7f65790bab92a28970ac1ccc
1297Author: dtucker@openbsd.org <dtucker@openbsd.org>
1298Date: Mon Feb 24 04:27:58 2020 +0000
1299
1300 upstream: Fix typo. Patch from itoama at live.jp via github PR#173.
1301
1302 OpenBSD-Commit-ID: 5cdaafab38bbdea0d07e24777d00bfe6f972568a
1303
1304commit b2491c289dd1b557a18a2aca04eeff5c157fc5ef
1305Author: Nico Kadel-Garcia <nkadel@gmail.com>
1306Date: Sat Oct 12 17:51:01 2019 -0400
1307
1308 Switch %define to %global for redhat/openssh.spec
1309
1310commit b18dcf6cca7c7aba1cc22e668e04492090ef0255
1311Author: mkontani <itoama@live.jp>
1312Date: Fri Feb 21 00:54:49 2020 +0900
1313
1314 fix some typos and sentence
1315
1316commit 0001576a096f788d40c2c0a39121cff51bf961ad
1317Author: dtucker@openbsd.org <dtucker@openbsd.org>
1318Date: Fri Feb 21 00:04:43 2020 +0000
1319
1320 upstream: Fix some typos and an incorrect word in docs. Patch from
1321
1322 itoama at live.jp via github PR#172.
1323
1324 OpenBSD-Commit-ID: 166ee8f93a7201fef431b9001725ab8b269d5874
1325
1326commit 99ff8fefe4b2763a53778d06b5f74443c8701615
1327Author: dtucker@openbsd.org <dtucker@openbsd.org>
1328Date: Thu Feb 20 05:58:08 2020 +0000
1329
1330 upstream: Update moduli generation script to new ssh-keygen
1331
1332 generation and screening command line flags.
1333
1334 OpenBSD-Commit-ID: 5010ff08f7ad92082e87dde098b20f5c24921a8f
1335
1336commit 700d16f5e534d6de5a3b7105a74a7a6f4487b681
1337Author: dtucker@openbsd.org <dtucker@openbsd.org>
1338Date: Thu Feb 20 05:41:51 2020 +0000
1339
1340 upstream: Import regenerated moduli.
1341
1342 OpenBSD-Commit-ID: 7b7b619c1452a459310b0cf4391c5757c6bdbc0f
1343
1344commit 4753b74ba0f09e4aacdaab5e184cd540352004d5
1345Author: Darren Tucker <dtucker@dtucker.net>
1346Date: Thu Feb 20 16:42:50 2020 +1100
1347
1348 Import regenerated moduli.
1349
1350commit 11d427162778c18fa42917893a75d178679a2389
1351Author: HARUYAMA Seigo <haruyama@unixuser.org>
1352Date: Fri Feb 14 16:14:23 2020 +0900
1353
1354 Fix typos in INSTALL: s/avilable/available/ s/suppports/supports/
1355
1356commit 264a966216137c9f4f8220fd9142242d784ba059
1357Author: dtucker@openbsd.org <dtucker@openbsd.org>
1358Date: Tue Feb 18 08:58:33 2020 +0000
1359
1360 upstream: Ensure that the key lifetime provided fits within the
1361
1362 values allowed by the wire format (u32). Prevents integer wraparound of the
1363 timeout values. bz#3119, ok markus@ djm@
1364
1365 OpenBSD-Commit-ID: 8afe6038b5cdfcf63360788f012a7ad81acc46a2
1366
1367commit de1f3564cd85915b3002859873a37cb8d31ac9ce
1368Author: dtucker@openbsd.org <dtucker@openbsd.org>
1369Date: Tue Feb 18 08:49:49 2020 +0000
1370
1371 upstream: Detect and prevent simple configuration loops when using
1372
1373 ProxyJump. bz#3057, ok djm@
1374
1375 OpenBSD-Commit-ID: 077d21c564c886c98309d871ed6f8ef267b9f037
1376
1377commit 30144865bfa06b12239cfabc37c45e5ddc369d97
1378Author: naddy@openbsd.org <naddy@openbsd.org>
1379Date: Sun Feb 16 21:15:43 2020 +0000
1380
1381 upstream: document -F none; with jmc@
1382
1383 OpenBSD-Commit-ID: 0eb93b75473d2267aae9200e02588e57778c84f2
1384
1385commit 011052de73f3dbc53f50927ccf677266a9ade4f6
1386Author: Darren Tucker <dtucker@dtucker.net>
1387Date: Mon Feb 17 22:55:51 2020 +1100
1388
1389 Remove unused variable warning.
1390
1391commit 31c9348c5e4e94e9913ec64b3ca6e15f68ba19e5
1392Author: Darren Tucker <dtucker@dtucker.net>
1393Date: Mon Feb 17 22:53:24 2020 +1100
1394
1395 Constify aix_krb5_get_principal_name.
1396
1397 Prevents warning about discarding type qualifiers on AIX.
1398
1399commit 290c994336a2cfe03c5496bebb6580863f94b232
1400Author: Darren Tucker <dtucker@dtucker.net>
1401Date: Mon Feb 17 22:51:36 2020 +1100
1402
1403 Check if TILDE is already defined and undef.
1404
1405 Prevents redefinition warning on AIX.
1406
1407commit 41a2e64ae480eda73ee0e809bbe743d203890938
1408Author: Darren Tucker <dtucker@dtucker.net>
1409Date: Mon Feb 17 22:51:00 2020 +1100
1410
1411 Prevent unused variable warning.
1412
1413commit d4860ec4efd25ba194337082736797fce0bda016
1414Author: Darren Tucker <dtucker@dtucker.net>
1415Date: Mon Feb 17 22:48:50 2020 +1100
1416
1417 Check if getpeereid is actually declared.
1418
1419 Check in sys/socket.h (AIX) and unistd.h (FreeBSD, DragonFLy and OS X).
1420 Prevents undeclared function warning on at least some versions of AIX.
1421
1commit 8aa3455b16fddea4c0144a7c4a1edb10ec67dcc8 1422commit 8aa3455b16fddea4c0144a7c4a1edb10ec67dcc8
2Author: djm@openbsd.org <djm@openbsd.org> 1423Author: djm@openbsd.org <djm@openbsd.org>
3Date: Fri Feb 14 00:39:20 2020 +0000 1424Date: Fri Feb 14 00:39:20 2020 +0000
@@ -11254,1410 +12675,3 @@ Date: Fri Jun 1 03:11:49 2018 +0000
11254 directive; bz2831, feedback and ok dtucker@ 12675 directive; bz2831, feedback and ok dtucker@
11255 12676
11256 OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e 12677 OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e
11257
11258commit fbb4b5fd4f8e0bb89732670a01954e18b69e15ba
11259Author: djm@openbsd.org <djm@openbsd.org>
11260Date: Fri May 25 07:11:01 2018 +0000
11261
11262 upstream: Do not ban PTY allocation when a sshd session is restricted
11263
11264 because the user password is expired as it breaks password change dialog.
11265
11266 regression in openssh-7.7 reported by Daniel Wagner
11267
11268 OpenBSD-Commit-ID: 9fc09c584c6f1964b00595e3abe7f83db4d90d73
11269
11270commit f6a59a22b0c157c4c4e5fd7232f868138223be64
11271Author: djm@openbsd.org <djm@openbsd.org>
11272Date: Fri May 25 04:25:46 2018 +0000
11273
11274 upstream: Fix return value confusion in several functions (readdir,
11275
11276 download and fsync). These should return -1 on error, not a sftp status code.
11277
11278 patch from Petr Cerny in bz#2871
11279
11280 OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09
11281
11282commit 1da5934b860ac0378d52d3035b22b6670f6a967e
11283Author: dtucker@openbsd.org <dtucker@openbsd.org>
11284Date: Fri May 25 03:20:59 2018 +0000
11285
11286 upstream: If select() fails in ssh_packet_read_seqnr go directly to
11287
11288 the error path instead of trying to read from the socket on the way out,
11289 which resets errno and causes the true error to be misreported. ok djm@
11290
11291 OpenBSD-Commit-ID: 2614edaadbd05a957aa977728aa7a030af7c6f0a
11292
11293commit 4ef75926ef517d539f2c7aac3188b09f315c86a7
11294Author: Damien Miller <djm@mindrot.org>
11295Date: Fri May 25 13:36:58 2018 +1000
11296
11297 Permit getuid()/geteuid() syscalls.
11298
11299 Requested for Linux/s390; patch from Eduardo Barretto via bz#2752;
11300 ok dtucker
11301
11302commit 4b22fd8ecefd059a66140be67f352eb6145a9d88
11303Author: djm@openbsd.org <djm@openbsd.org>
11304Date: Tue May 22 00:13:26 2018 +0000
11305
11306 upstream: support ProxyJump=none to disable ProxyJump
11307
11308 functionality; bz#2869 ok dtucker@
11309
11310 OpenBSD-Commit-ID: 1c06ee08eb78451b5837fcfd8cbebc5ff3a67a01
11311
11312commit f41bcd70f55b4f0fc4d8e1039cb361ac922b23fb
11313Author: jmc@openbsd.org <jmc@openbsd.org>
11314Date: Tue May 15 05:40:11 2018 +0000
11315
11316 upstream: correct keyowrd name (permitemptypasswords); from brendan
11317
11318 macdonell
11319
11320 OpenBSD-Commit-ID: ef1bdbc936b2ea693ee37a4c20a94d4d43f5fda3
11321
11322commit f18bc97151340127859634d20d79fd39ec8a7f39
11323Author: djm@openbsd.org <djm@openbsd.org>
11324Date: Fri May 11 04:01:11 2018 +0000
11325
11326 upstream: Emphasise that -w implicitly sets Tunnel=point-to-point
11327
11328 and that users should specify an explicit Tunnel directive if they don't want
11329 this. bz#2365.
11330
11331 OpenBSD-Commit-ID: 1a8d9c67ae213ead180481900dbbb3e04864560d
11332
11333commit 32e4e94e1511fe0020fbfbb62399d31b2d22a801
11334Author: Damien Miller <djm@mindrot.org>
11335Date: Mon May 14 14:40:08 2018 +1000
11336
11337 sync fmt_scaled.c
11338
11339 revision 1.17
11340 date: 2018/05/14 04:39:04; author: djm; state: Exp; lines: +5 -2;
11341 commitid: 53zY8GjViUBnWo8Z;
11342 constrain fractional part to [0-9] (less confusing to static analysis); ok ian@
11343
11344commit 54268d589e85ecc43d3eba8d83f327bdada9d696
11345Author: Damien Miller <djm@mindrot.org>
11346Date: Fri May 11 14:04:40 2018 +1000
11347
11348 fix key-options.sh on platforms without openpty(3)
11349
11350 Skip the pty tests if the platform lacks openpty(3) and has to chown(2)
11351 the pty device explicitly. This typically requires root permissions that
11352 this test lacks.
11353
11354 bz#2856 ok dtucker@
11355
11356commit b2140a739be4c3b43cc1dc08322dca39a1e39d20
11357Author: djm@openbsd.org <djm@openbsd.org>
11358Date: Fri May 11 03:38:51 2018 +0000
11359
11360 upstream: implement EMFILE mitigation for ssh-agent: remember the
11361
11362 fd rlimit and stop accepting new connections when it is exceeded (with some
11363 grace). Accept is resumed when enough connections are closed.
11364
11365 bz#2576. feedback deraadt; ok dtucker@
11366
11367 OpenBSD-Commit-ID: 6a85d9cec7b85741961e7116a49f8dae777911ea
11368
11369commit fdba503fdfc647ee8a244002f1581e869c1f3d90
11370Author: dtucker@openbsd.org <dtucker@openbsd.org>
11371Date: Fri May 11 03:22:55 2018 +0000
11372
11373 upstream: Explicit cast when snprintf'ing an uint64. Prevents
11374
11375 warnings on platforms where int64 is long not long long. ok djm@
11376
11377 OpenBSD-Commit-ID: 9c5359e2fbfce11dea2d93f7bc257e84419bd001
11378
11379commit e7751aa4094d51a9bc00778aa8d07e22934c55ee
11380Author: bluhm@openbsd.org <bluhm@openbsd.org>
11381Date: Thu Apr 26 14:47:03 2018 +0000
11382
11383 upstream: Since the previous commit, ssh regress test sftp-chroot was
11384
11385 failing. The sftp program terminated with the wrong exit code as sftp called
11386 fatal() instad of exit(0). So when the sigchld handler waits for the child,
11387 remember that it was found. Then don't expect that main() can wait again. OK
11388 dtucker@
11389
11390 OpenBSD-Commit-ID: bfafd940c0de5297940c71ddf362053db0232266
11391
11392commit 7c15301841e2e9d37cae732400de63ae9c0961d6
11393Author: Darren Tucker <dtucker@dtucker.net>
11394Date: Sun Apr 29 17:54:12 2018 +1000
11395
11396 Use includes.h instead of config.h.
11397
11398 This ensures it picks up the definition of DEF_WEAK, the lack of which
11399 can cause compile errors in some cases (eg modern AIX). From
11400 michael at felt.demon.nl.
11401
11402commit cec338967a666b7c8ad8b88175f2faeddf268116
11403Author: Darren Tucker <dtucker@dtucker.net>
11404Date: Thu Apr 19 09:53:14 2018 +1000
11405
11406 Omit 3des-cbc if OpenSSL built without DES.
11407
11408 Patch from hongxu.jia at windriver.com, ok djm@
11409
11410commit a575ddd58835759393d2dddd16ebe5abdb56485e
11411Author: djm@openbsd.org <djm@openbsd.org>
11412Date: Mon Apr 16 22:50:44 2018 +0000
11413
11414 upstream: Disable SSH2_MSG_DEBUG messages for Twisted Conch clients
11415
11416 without version numbers since they choke on them under some circumstances.
11417 https://twistedmatrix.com/trac/ticket/9422 via Colin Watson
11418
11419 Newer Conch versions have a version number in their ident string and
11420 handle debug messages okay. https://twistedmatrix.com/trac/ticket/9424
11421
11422 OpenBSD-Commit-ID: 6cf7be262af0419c58ddae11324d9c0dc1577539
11423
11424commit 390c7000a8946db565b66eab9e52fb11948711fa
11425Author: djm@openbsd.org <djm@openbsd.org>
11426Date: Sat Apr 14 21:50:41 2018 +0000
11427
11428 upstream: don't free the %C expansion, it's used later for
11429
11430 LocalCommand
11431
11432 OpenBSD-Commit-ID: 857b5cb37b2d856bfdfce61289a415257a487fb1
11433
11434commit 3455f1e7c48e2e549192998d330214975b9b1dc7
11435Author: djm@openbsd.org <djm@openbsd.org>
11436Date: Fri Apr 13 05:04:12 2018 +0000
11437
11438 upstream: notify user immediately when underlying ssh process dies;
11439
11440 patch from Thomas Kuthan in bz2719; ok dtucker@
11441
11442 OpenBSD-Commit-ID: 78fac88c2f08054d1fc5162c43c24162b131cf78
11443
11444commit 1c5b4bc827f4abc3e65888cda061ad5edf1b8c7c
11445Author: Darren Tucker <dtucker@dtucker.net>
11446Date: Fri Apr 13 16:23:57 2018 +1000
11447
11448 Allow nanosleep in preauth privsep child.
11449
11450 The new timing attack mitigation code uses nanosleep in the preauth
11451 codepath, allow in systrace andbox too.
11452
11453commit 0e73428038d5ecfa5d2a28cff26661502a7aff4e
11454Author: Darren Tucker <dtucker@dtucker.net>
11455Date: Fri Apr 13 16:06:29 2018 +1000
11456
11457 Allow nanosleep in preauth privsep child.
11458
11459 The new timing attack mitigation code uses nanosleep in the preauth
11460 codepath, allow in sandbox.
11461
11462commit e9d910b0289c820852f7afa67f584cef1c05fe95
11463Author: dtucker@openbsd.org <dtucker@openbsd.org>
11464Date: Fri Apr 13 03:57:26 2018 +0000
11465
11466 upstream: Defend against user enumeration timing attacks. This
11467
11468 establishes a minimum time for each failed authentication attempt (5ms) and
11469 adds a per-user constant derived from a host secret (0-4ms). Based on work
11470 by joona.kannisto at tut.fi, ok markus@ djm@.
11471
11472 OpenBSD-Commit-ID: b7845b355bb7381703339c8fb0e57e81a20ae5ca
11473
11474commit d97874cbd909eb706886cd0cdd418f812c119ef9
11475Author: Darren Tucker <dtucker@dtucker.net>
11476Date: Fri Apr 13 13:43:55 2018 +1000
11477
11478 Using "==" in shell tests is not portable.
11479
11480 Patch from rsbecker at nexbridge.com.
11481
11482commit cfb1d9bc76734681e3dea532a1504fcd466fbe91
11483Author: Damien Miller <djm@mindrot.org>
11484Date: Fri Apr 13 13:38:06 2018 +1000
11485
11486 Fix tunnel forwarding broken in 7.7p1
11487
11488 bz2855, ok dtucker@
11489
11490commit afa6e79b76fb52a0c09a29688b5c0d125eb08302
11491Author: Damien Miller <djm@mindrot.org>
11492Date: Fri Apr 13 13:31:42 2018 +1000
11493
11494 prefer to use getrandom() for PRNG seeding
11495
11496 Only applies when built --without-openssl. Thanks Jann Horn for
11497 reminder.
11498
11499commit 575fac34a97f69bc217b235f81de9f8f433eceed
11500Author: Darren Tucker <dtucker@dtucker.net>
11501Date: Fri Apr 13 13:13:33 2018 +1000
11502
11503 Revert $REGRESSTMP changes.
11504
11505 Revert 3fd2d229 and subsequent changes as they turned out to be a
11506 portability hassle.
11507
11508commit 10479cc2a4acd6faaf643eb305233b49d70c31c1
11509Author: Damien Miller <djm@mindrot.org>
11510Date: Tue Apr 10 10:19:02 2018 +1000
11511
11512 Many typo fixes from Karsten Weiss
11513
11514 Spotted using https://github.com/lucasdemarchi/codespell
11515
11516commit 907da2f88519b34189fd03fac96de0c52d448233
11517Author: djm@openbsd.org <djm@openbsd.org>
11518Date: Tue Apr 10 00:14:10 2018 +0000
11519
11520 upstream: more typos spotted by Karsten Weiss using codespell
11521
11522 OpenBSD-Regress-ID: d906a2aea0663810a658b7d0bc61a1d2907d4d69
11523
11524commit 37e5f4a7ab9a8026e5fc2f47dafb0f1b123d39e9
11525Author: djm@openbsd.org <djm@openbsd.org>
11526Date: Tue Apr 10 00:13:27 2018 +0000
11527
11528 upstream: make this a bit more portable-friendly
11529
11530 OpenBSD-Regress-ID: 62f7b9e055e8dfaab92b3825f158beeb4ca3f963
11531
11532commit 001aa55484852370488786bd40e9fdad4b465811
11533Author: djm@openbsd.org <djm@openbsd.org>
11534Date: Tue Apr 10 00:10:49 2018 +0000
11535
11536 upstream: lots of typos in comments/docs. Patch from Karsten Weiss
11537
11538 after checking with codespell tool
11539 (https://github.com/lucasdemarchi/codespell)
11540
11541 OpenBSD-Commit-ID: 373222f12d7ab606598a2d36840c60be93568528
11542
11543commit 260ede2787fe80b18b8d5920455b4fb268519c7d
11544Author: djm@openbsd.org <djm@openbsd.org>
11545Date: Mon Apr 9 23:54:49 2018 +0000
11546
11547 upstream: don't kill ssh-agent's listening socket entriely if we
11548
11549 fail to accept a connection; bz#2837, patch from Lukas Kuster
11550
11551 OpenBSD-Commit-ID: 52413f5069179bebf30d38f524afe1a2133c738f
11552
11553commit ebc8b4656f9b0f834a642a9fb3c9fbca86a61838
11554Author: tj@openbsd.org <tj@openbsd.org>
11555Date: Mon Apr 9 20:41:22 2018 +0000
11556
11557 upstream: the UseLogin option was removed, so remove it here too.
11558
11559 ok dtucker
11560
11561 OpenBSD-Commit-ID: 7080be73a64d68e21f22f5408a67a0ba8b1b6b06
11562
11563commit 3e36f281851fc8e9c996b33f108b2ae167314fbe
11564Author: jmc@openbsd.org <jmc@openbsd.org>
11565Date: Sun Apr 8 07:36:02 2018 +0000
11566
11567 upstream: tweak previous;
11568
11569 OpenBSD-Commit-ID: 2b9c23022ea7b9dddb62864de4e906000f9d7474
11570
11571commit 8368571efd6693c5c57f850e23a2372acf3f865f
11572Author: jmc@openbsd.org <jmc@openbsd.org>
11573Date: Sat Apr 7 13:50:10 2018 +0000
11574
11575 upstream: tweak previous;
11576
11577 OpenBSD-Commit-ID: 38e347b6f8e888f5e0700d01abb1eba7caa154f9
11578
11579commit 555294a7279914ae6795b71bedf4e6011b7636df
11580Author: djm@openbsd.org <djm@openbsd.org>
11581Date: Fri Apr 6 13:02:39 2018 +0000
11582
11583 upstream: Allow "SendEnv -PATTERN" to clear environment variables
11584
11585 previously labeled for sendind. bz#1285 ok dtucker@
11586
11587 OpenBSD-Commit-ID: f6fec9e3d0f366f15903094fbe1754cb359a0df9
11588
11589commit 40f5f03544a07ebd2003b443d42e85cb51d94d59
11590Author: djm@openbsd.org <djm@openbsd.org>
11591Date: Fri Apr 6 04:15:45 2018 +0000
11592
11593 upstream: relax checking of authorized_keys environment="..."
11594
11595 options to allow underscores in variable names (regression introduced in
11596 7.7). bz2851, ok deraadt@
11597
11598 OpenBSD-Commit-ID: 69690ffe0c97ff393f2c76d25b4b3d2ed4e4ac9c
11599
11600commit 30fd7f9af0f553aaa2eeda5a1f53f26cfc222b5e
11601Author: djm@openbsd.org <djm@openbsd.org>
11602Date: Fri Apr 6 03:51:27 2018 +0000
11603
11604 upstream: add a couple of missed options to the config dump; patch
11605
11606 from Jakub Jelen via bz2835
11607
11608 OpenBSD-Commit-ID: 5970adadf6ef206bee0dddfc75d24c2019861446
11609
11610commit 8d6829be324452d2acd282d5f8ceb0adaa89a4de
11611Author: djm@openbsd.org <djm@openbsd.org>
11612Date: Fri Apr 6 03:34:27 2018 +0000
11613
11614 upstream: ssh does not accept -oInclude=... on the commandline, the
11615
11616 Include keyword is for configuration files only. bz#2840, patch from Jakub
11617 Jelen
11618
11619 OpenBSD-Commit-ID: 32d052b4a7a7f22df35fe3f71c368c02b02cacb0
11620
11621commit 00c5222ddc0c8edcaa4ea45ac03befdc8013d137
11622Author: djm@openbsd.org <djm@openbsd.org>
11623Date: Thu Apr 5 22:54:28 2018 +0000
11624
11625 upstream: We don't offer CBC cipher by default any more. Spotted by
11626
11627 Renaud Allard (via otto@)
11628
11629 OpenBSD-Commit-ID: a559b1eef741557dd959ae378b665a2977d92dca
11630
11631commit 5ee8448ad7c306f05a9f56769f95336a8269f379
11632Author: job@openbsd.org <job@openbsd.org>
11633Date: Wed Apr 4 15:12:17 2018 +0000
11634
11635 upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP AF21 for
11636
11637 interactive and CS1 for bulk
11638
11639 AF21 was selected as this is the highest priority within the low-latency
11640 service class (and it is higher than what we have today). SSH is elastic
11641 and time-sensitive data, where a user is waiting for a response via the
11642 network in order to continue with a task at hand. As such, these flows
11643 should be considered foreground traffic, with delays or drops to such
11644 traffic directly impacting user-productivity.
11645
11646 For bulk SSH traffic, the CS1 "Lower Effort" marker was chosen to enable
11647 networks implementing a scavanger/lower-than-best effort class to
11648 discriminate scp(1) below normal activities, such as web surfing. In
11649 general this type of bulk SSH traffic is a background activity.
11650
11651 An advantage of using "AF21" for interactive SSH and "CS1" for bulk SSH
11652 is that they are recognisable values on all common platforms (IANA
11653 https://www.iana.org/assignments/dscp-registry/dscp-registry.xml), and
11654 for AF21 specifically a definition of the intended behavior exists
11655 https://tools.ietf.org/html/rfc4594#section-4.7 in addition to the definition
11656 of the Assured Forwarding PHB group https://tools.ietf.org/html/rfc2597, and
11657 for CS1 (Lower Effort) there is https://tools.ietf.org/html/rfc3662
11658
11659 The first three bits of "AF21" map to the equivalent IEEEE 802.1D PCP, IEEE
11660 802.11e, MPLS EXP/CoS and IP Precedence value of 2 (also known as "Immediate",
11661 or "AC_BE"), and CS1's first 3 bits map to IEEEE 802.1D PCP, IEEE 802.11e,
11662 MPLS/CoS and IP Precedence value 1 ("Background" or "AC_BK").
11663
11664 OK deraadt@, "no objection" djm@
11665
11666 OpenBSD-Commit-ID: d11d2a4484f461524ef0c20870523dfcdeb52181
11667
11668commit 424b544fbda963f973da80f884717c3e0a513288
11669Author: dtucker@openbsd.org <dtucker@openbsd.org>
11670Date: Tue Apr 3 02:14:08 2018 +0000
11671
11672 upstream: Import regenerated moduli file.
11673
11674 OpenBSD-Commit-ID: 1de0e85522051eb2ffa00437e1885e9d7b3e0c2e
11675
11676commit 323f66ce934df2da551f256f37d69822428e1ca1
11677Author: dtucker@openbsd.org <dtucker@openbsd.org>
11678Date: Fri Apr 6 04:18:35 2018 +0000
11679
11680 upstream: Add test for username options parsing order, prompted by
11681
11682 bz#2849.
11683
11684 OpenBSD-Regress-ID: 6985cd32f38596882a3ac172ff8c510693b65283
11685
11686commit e8f474554e3bda102a797a2fbab0594ccc66f097
11687Author: Damien Miller <djm@mindrot.org>
11688Date: Fri Apr 6 14:11:44 2018 +1000
11689
11690 Expose SSH_AUTH_INFO_0 to PAM auth modules
11691
11692 bz#2408, patch from Radoslaw Ejsmont; ok dtucker@
11693
11694commit 014ba209cf4c6a159baa30ecebbaddfa97da7100
11695Author: Darren Tucker <dtucker@dtucker.net>
11696Date: Tue Apr 3 12:18:00 2018 +1000
11697
11698 Import regenerated moduli file.
11699
11700commit a0349a1cc4a18967ad1dbff5389bcdf9da098814
11701Author: Damien Miller <djm@mindrot.org>
11702Date: Mon Apr 2 15:38:28 2018 +1000
11703
11704 update versions in .spec files
11705
11706commit 816ad38f79792f5617e3913be306ddb27e91091c
11707Author: Damien Miller <djm@mindrot.org>
11708Date: Mon Apr 2 15:38:20 2018 +1000
11709
11710 update version number
11711
11712commit 2c71ca1dd1efe458cb7dee3f8a1a566f913182c2
11713Author: Darren Tucker <dtucker@dtucker.net>
11714Date: Fri Mar 30 18:23:07 2018 +1100
11715
11716 Disable native strndup and strnlen on AIX.
11717
11718 On at least some revisions of AIX, strndup returns unterminated strings
11719 under some conditions, apparently because strnlen returns incorrect
11720 values in those cases. Disable both on AIX and use the replacements
11721 from openbsd-compat. Fixes problem with ECDSA keys there, ok djm.
11722
11723commit 6b5a17bc14e896e3904dc58d889b58934cfacd24
11724Author: Darren Tucker <dtucker@dtucker.net>
11725Date: Mon Mar 26 13:12:44 2018 +1100
11726
11727 Include ssh_api.h for struct ssh.
11728
11729 struct ssh is needed by implementations of sys_auth_passwd() that were
11730 converted in commit bba02a50. Needed to fix build on AIX, I assume for
11731 the other platforms too (although it should be harmless if not needed).
11732
11733commit bc3f80e4d191b8e48650045dfa8a682cd3aabd4d
11734Author: Darren Tucker <dtucker@dtucker.net>
11735Date: Mon Mar 26 12:58:09 2018 +1100
11736
11737 Remove UNICOS code missed during removal.
11738
11739 Fixes compile error on AIX.
11740
11741commit 9d57762c24882e2f000a21a0ffc8c5908a1fa738
11742Author: markus@openbsd.org <markus@openbsd.org>
11743Date: Sat Mar 24 19:29:03 2018 +0000
11744
11745 upstream: openssh-7.7
11746
11747 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
11748
11749commit 4b7d8acdbbceef247dc035e611e577174ed8a87e
11750Author: Damien Miller <djm@mindrot.org>
11751Date: Mon Mar 26 09:37:02 2018 +1100
11752
11753 Remove authinfo.sh test dependency on printenv
11754
11755 Some platforms lack printenv in the default $PATH.
11756 Reported by Tom G. Christensen
11757
11758commit 4afeaf3dcb7dc70efd98fcfcb0ed28a6b40b820e
11759Author: Tim Rice <tim@multitalents.net>
11760Date: Sun Mar 25 10:00:21 2018 -0700
11761
11762 Use libiaf on all sysv5 systems
11763
11764commit bba02a5094b3db228ceac41cb4bfca165d0735f3
11765Author: Tim Rice <tim@multitalents.net>
11766Date: Sun Mar 25 09:17:33 2018 -0700
11767
11768 modified: auth-sia.c
11769 modified: openbsd-compat/port-aix.c
11770 modified: openbsd-compat/port-uw.c
11771
11772 propogate changes to auth-passwd.c in commit
11773 7c856857607112a3dfe6414696bf4c7ab7fb0cb3 to other providers
11774 of sys_auth_passwd()
11775
11776commit d7a7a39168bdfe273587bf85d779d60569100a3f
11777Author: markus@openbsd.org <markus@openbsd.org>
11778Date: Sat Mar 24 19:29:03 2018 +0000
11779
11780 upstream: openssh-7.7
11781
11782 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
11783
11784commit 9efcaaac314c611c6c0326e8bac5b486c424bbd2
11785Author: markus@openbsd.org <markus@openbsd.org>
11786Date: Sat Mar 24 19:28:43 2018 +0000
11787
11788 upstream: fix bogus warning when signing cert keys using agent;
11789
11790 from djm; ok deraadt dtucker
11791
11792 OpenBSD-Commit-ID: 12e50836ba2040042383a8b71e12d7ea06e9633d
11793
11794commit 393436024d2e4b4c7a01f9cfa5854e7437896d11
11795Author: Darren Tucker <dtucker@dtucker.net>
11796Date: Sun Mar 25 09:40:46 2018 +1100
11797
11798 Replace /dev/stdin with "-".
11799
11800 For some reason sftp -b doesn't work with /dev/stdin on Cygwin, as noted
11801 and suggested by vinschen at redhat.com.
11802
11803commit b5974de1a1d419e316ffb6524b1b277dda2f3b49
11804Author: Darren Tucker <dtucker@dtucker.net>
11805Date: Fri Mar 23 13:21:14 2018 +1100
11806
11807 Provide $OBJ to paths in PuTTY interop tests.
11808
11809commit dc31e79454e9b9140b33ad380565fdb59b9c4f33
11810Author: dtucker@openbsd.org <dtucker@openbsd.org>
11811Date: Fri Mar 16 09:06:31 2018 +0000
11812
11813 upstream: Tell puttygen to use /dev/urandom instead of /dev/random. On
11814
11815 OpenBSD they are both non-blocking, but on many other -portable platforms it
11816 blocks, stalling tests.
11817
11818 OpenBSD-Regress-ID: 397d0d4c719c353f24d79f5b14775e0cfdf0e1cc
11819
11820commit cb1f94431ef319cd48618b8b771b58739a8210cf
11821Author: markus@openbsd.org <markus@openbsd.org>
11822Date: Thu Mar 22 07:06:11 2018 +0000
11823
11824 upstream: ssh/xmss: fix build; ok djm@
11825
11826 OpenBSD-Commit-ID: c9374ca41d4497f1c673ab681cc33f6e7c5dd186
11827
11828commit 27979da9e4074322611355598f69175b9ff10d39
11829Author: markus@openbsd.org <markus@openbsd.org>
11830Date: Thu Mar 22 07:05:48 2018 +0000
11831
11832 upstream: ssh/xmss: fix deserialize for certs; ok djm@
11833
11834 OpenBSD-Commit-ID: f44c41636c16ec83502039828beaf521c057dddc
11835
11836commit c6cb2565c9285eb54fa9dfbb3890f5464aff410f
11837Author: Darren Tucker <dtucker@dtucker.net>
11838Date: Thu Mar 22 17:00:28 2018 +1100
11839
11840 Save $? before case statement.
11841
11842 In some shells (FreeBSD 9, ash) the case statement resets $?, so save
11843 for later testing.
11844
11845commit 4c4e7f783b43b264c247233acb887ee10ed4ce4d
11846Author: djm@openbsd.org <djm@openbsd.org>
11847Date: Wed Mar 14 05:35:40 2018 +0000
11848
11849 upstream: rename recently-added "valid-before" key restriction to
11850
11851 "expiry-time" as the former is confusing wrt similar terminology in X.509;
11852 pointed out by jsing@
11853
11854 OpenBSD-Regress-ID: ac8b41dbfd90cffd525d58350c327195b0937793
11855
11856commit 500396b204c58e78ad9d081516a365a9f28dc3fd
11857Author: djm@openbsd.org <djm@openbsd.org>
11858Date: Mon Mar 12 00:56:03 2018 +0000
11859
11860 upstream: check valid-before option in authorized_keys
11861
11862 OpenBSD-Regress-ID: 7e1e4a84f7f099a290e5a4cbf4196f90ff2d7e11
11863
11864commit a76b5d26c2a51d7dd7a5164e683ab3f4419be215
11865Author: djm@openbsd.org <djm@openbsd.org>
11866Date: Mon Mar 12 00:54:04 2018 +0000
11867
11868 upstream: explicitly specify RSA/SHA-2 keytype here too
11869
11870 OpenBSD-Regress-ID: 74d7b24e8c72c27af6b481198344eb077e993a62
11871
11872commit 3a43297ce29d37c64e37c7e21282cb219e28d3d1
11873Author: djm@openbsd.org <djm@openbsd.org>
11874Date: Mon Mar 12 00:52:57 2018 +0000
11875
11876 upstream: exlicitly include RSA/SHA-2 keytypes in
11877
11878 PubkeyAcceptedKeyTypes here
11879
11880 OpenBSD-Regress-ID: 954d19e0032a74e31697fb1dc7e7d3d1b2d65fe9
11881
11882commit 037fdc1dc2d68e1d43f9c9e2586c02cabc8f7cc8
11883Author: jmc@openbsd.org <jmc@openbsd.org>
11884Date: Wed Mar 14 06:56:20 2018 +0000
11885
11886 upstream: sort expiry-time;
11887
11888 OpenBSD-Commit-ID: 8c7d82ee1e63e26ceb2b3d3a16514019f984f6bf
11889
11890commit abc0fa38c9bc136871f28e452c3465c3051fc785
11891Author: djm@openbsd.org <djm@openbsd.org>
11892Date: Wed Mar 14 05:35:40 2018 +0000
11893
11894 upstream: rename recently-added "valid-before" key restriction to
11895
11896 "expiry-time" as the former is confusing wrt similar terminology in X.509;
11897 pointed out by jsing@
11898
11899 OpenBSD-Commit-ID: 376939466a1f562f3950a22314bc6505733aaae6
11900
11901commit bf0fbf2b11a44f06a64b620af7d01ff171c28e13
11902Author: djm@openbsd.org <djm@openbsd.org>
11903Date: Mon Mar 12 00:52:01 2018 +0000
11904
11905 upstream: add valid-before="[time]" authorized_keys option. A
11906
11907 simple way of giving a key an expiry date. ok markus@
11908
11909 OpenBSD-Commit-ID: 1793b4dd5184fa87f42ed33c7b0f4f02bc877947
11910
11911commit fbd733ab7adc907118a6cf56c08ed90c7000043f
11912Author: Darren Tucker <dtucker@dtucker.net>
11913Date: Mon Mar 12 19:17:26 2018 +1100
11914
11915 Add AC_LANG_PROGRAM to AC_COMPILE_IFELSE.
11916
11917 The recently added MIPS ABI tests need AC_LANG_PROGRAM to prevent
11918 warnings from autoconf. Pointed out by klausz at haus-gisela.de.
11919
11920commit c7c458e8261b04d161763cd333d74e7a5842e917
11921Author: djm@openbsd.org <djm@openbsd.org>
11922Date: Wed Mar 7 23:53:08 2018 +0000
11923
11924 upstream: revert recent strdelim() change, it causes problems with
11925
11926 some configs.
11927
11928 revision 1.124
11929 date: 2018/03/02 03:02:11; author: djm; state: Exp; lines: +19 -8; commitid: nNRsCijZiGG6SUTT;
11930 Allow escaped quotes \" and \' in ssh_config and sshd_config quotes
11931 option strings. bz#1596 ok markus@
11932
11933 OpenBSD-Commit-ID: 59c40b1b81206d713c06b49d8477402c86babda5
11934
11935commit 0bcd871ccdf3baf2b642509ba4773d5be067cfa2
11936Author: jmc@openbsd.org <jmc@openbsd.org>
11937Date: Mon Mar 5 07:03:18 2018 +0000
11938
11939 upstream: move the input format details to -f; remove the output
11940
11941 format details and point to sshd(8), where it is documented;
11942
11943 ok dtucker
11944
11945 OpenBSD-Commit-ID: 95f17e47dae02a6ac7329708c8c893d4cad0004a
11946
11947commit 45011511a09e03493568506ce32f4891a174a3bd
11948Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11949Date: Tue Jun 20 16:42:28 2017 +0100
11950
11951 configure.ac: properly set seccomp_audit_arch for MIPS64
11952
11953 Currently seccomp_audit_arch is set to AUDIT_ARCH_MIPS64 or
11954 AUDIT_ARCH_MIPSEL64 (depending on the endinness) when openssh is built
11955 for MIPS64. However, that's only valid for n64 ABI. The right macros for
11956 n32 ABI defined in seccomp.h are AUDIT_ARCH_MIPS64N32 and
11957 AUDIT_ARCH_MIPSEL64N32, for big and little endian respectively.
11958
11959 Because of that an sshd built for MIPS64 n32 rejects connection attempts
11960 and the output of strace reveals that the problem is related to seccomp
11961 audit:
11962
11963 [pid 194] prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=57,
11964 filter=0x555d5da0}) = 0
11965 [pid 194] write(7, "\0\0\0]\0\0\0\5\0\0\0Ulist_hostkey_types: "..., 97) = ?
11966 [pid 193] <... poll resumed> ) = 2 ([{fd=5, revents=POLLIN|POLLHUP},
11967 {fd=6, revents=POLLHUP}])
11968 [pid 194] +++ killed by SIGSYS +++
11969
11970 This patch fixes that problem by setting the right value to
11971 seccomp_audit_arch taking into account the MIPS64 ABI.
11972
11973 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11974
11975commit 580086704c31de91dc7ba040a28e416bf1fefbca
11976Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11977Date: Tue Jun 20 16:42:11 2017 +0100
11978
11979 configure.ac: detect MIPS ABI
11980
11981 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11982
11983commit cd4e937aa701f70366cd5b5969af525dff6fdf15
11984Author: Alan Yee <alyee@ucsd.edu>
11985Date: Wed Mar 7 15:12:14 2018 -0800
11986
11987 Use https URLs for links that support it.
11988
11989commit c0a0c3fc4a76b682db22146b28ddc46566db1ce9
11990Author: Darren Tucker <dtucker@dtucker.net>
11991Date: Mon Mar 5 20:03:07 2018 +1100
11992
11993 Disable UTMPX on SunOS4.
11994
11995commit 58fd4c5c0140f6636227ca7acbb149ab0c2509b9
11996Author: Darren Tucker <dtucker@dtucker.net>
11997Date: Mon Mar 5 19:28:08 2018 +1100
11998
11999 Check for and work around buggy fflush(NULL).
12000
12001 Some really old platforms (eg SunOS4) segfault on fflush(NULL) so check
12002 for and work around. With klausz at haus-gisela.de.
12003
12004commit 71e48bc7945f867029e50e06c665c66aed6d3c64
12005Author: Darren Tucker <dtucker@dtucker.net>
12006Date: Mon Mar 5 10:22:32 2018 +1100
12007
12008 Remove extra XMSS #endif
12009
12010 Extra #endif breaks compile with -DWITH_XMSS. Pointed out by Jack
12011 Schmidt via github.
12012
12013commit 055e09e2212ff52067786bf6d794ca9512ff7f0c
12014Author: dtucker@openbsd.org <dtucker@openbsd.org>
12015Date: Sat Mar 3 06:37:53 2018 +0000
12016
12017 upstream: Update RSA minimum modulus size to 1024. sshkey.h rev 1.18
12018
12019 bumped the minimum from 768 to 1024, update man page accordingly.
12020
12021 OpenBSD-Commit-ID: 27563ab4e866cd2aac40a5247876f6787c08a338
12022
12023commit 7e4fadd3248d6bb7d39d6688c76a613d35d2efc1
12024Author: djm@openbsd.org <djm@openbsd.org>
12025Date: Sun Mar 4 01:46:48 2018 +0000
12026
12027 upstream: for the pty control tests, just check that the PTY path
12028
12029 points to something in /dev (rather than checking the device node itself);
12030 makes life easier for portable, where systems with dynamic ptys can delete
12031 nodes before we get around to testing their existence.
12032
12033 OpenBSD-Regress-ID: b1e455b821e62572bccd98102f8dd9d09bb94994
12034
12035commit 13ef4cf53f24753fe920832b990b25c9c9cd0530
12036Author: Darren Tucker <dtucker@dtucker.net>
12037Date: Sat Mar 3 16:21:20 2018 +1100
12038
12039 Update PAM password change to new opts API.
12040
12041commit 33561e68e0b27366cb769295a077aabc6a49d2a1
12042Author: Darren Tucker <dtucker@dtucker.net>
12043Date: Sat Mar 3 14:56:09 2018 +1100
12044
12045 Add strndup for platforms that need it.
12046
12047 Some platforms don't have strndup, which includes Solaris 10, NetBSD 3
12048 and FreeBSD 6.
12049
12050commit e8a17feba95eef424303fb94441008f6c5347aaf
12051Author: Darren Tucker <dtucker@dtucker.net>
12052Date: Sat Mar 3 14:49:07 2018 +1100
12053
12054 Flatten and alphabetize object file lists.
12055
12056 This will make maintenance and changes easier. "no objection" tim@
12057
12058commit de1920d743d295f50e6905e5957c4172c038e8eb
12059Author: djm@openbsd.org <djm@openbsd.org>
12060Date: Sat Mar 3 03:16:17 2018 +0000
12061
12062 upstream: unit tests for new authorized_keys options API
12063
12064 OpenBSD-Regress-ID: 820f9ec9c6301f6ca330ad4052d85f0e67d0bdc1
12065
12066commit dc3e92df17556dc5b0ab19cee8dcb2a6ba348717
12067Author: djm@openbsd.org <djm@openbsd.org>
12068Date: Fri Mar 2 02:53:27 2018 +0000
12069
12070 upstream: fix testing of pty option, include positive test and
12071
12072 testing of restrict keyword
12073
12074 OpenBSD-Regress-ID: 4268f27c2706a0a95e725d9518c5bcbec9814c6d
12075
12076commit 3d1edd1ebbc0aabea8bbe61903060f37137f7c61
12077Author: djm@openbsd.org <djm@openbsd.org>
12078Date: Fri Mar 2 02:51:55 2018 +0000
12079
12080 upstream: better testing for port-forwarding and restrict flags in
12081
12082 authorized_keys
12083
12084 OpenBSD-Regress-ID: ee771df8955f2735df54746872c6228aff381daa
12085
12086commit 7c856857607112a3dfe6414696bf4c7ab7fb0cb3
12087Author: djm@openbsd.org <djm@openbsd.org>
12088Date: Sat Mar 3 03:15:51 2018 +0000
12089
12090 upstream: switch over to the new authorized_keys options API and
12091
12092 remove the legacy one.
12093
12094 Includes a fairly big refactor of auth2-pubkey.c to retain less state
12095 between key file lines.
12096
12097 feedback and ok markus@
12098
12099 OpenBSD-Commit-ID: dece6cae0f47751b9892080eb13d6625599573df
12100
12101commit 90c4bec8b5f9ec4c003ae4abdf13fc7766f00c8b
12102Author: djm@openbsd.org <djm@openbsd.org>
12103Date: Sat Mar 3 03:06:02 2018 +0000
12104
12105 upstream: Introduce a new API for handling authorized_keys options.
12106
12107 This API parses options to a dedicated structure rather than the old API's
12108 approach of setting global state. It also includes support for merging
12109 options, e.g. from authorized_keys, authorized_principals and/or
12110 certificates.
12111
12112 feedback and ok markus@
12113
12114 OpenBSD-Commit-ID: 98badda102cd575210d7802943e93a34232c80a2
12115
12116commit 26074380767e639ef89321610e146ae11016b385
12117Author: djm@openbsd.org <djm@openbsd.org>
12118Date: Sat Mar 3 03:01:50 2018 +0000
12119
12120 upstream: warn when the agent returns a signature type that was
12121
12122 different to what was requested. This might happen when an old/non-OpenSSH
12123 agent is asked to make a rsa-sha2-256/512 signature but only supports
12124 ssh-rsa. bz#2799 feedback and ok markus@
12125
12126 OpenBSD-Commit-ID: 760c0f9438c5c58abc16b5f98008ff2d95cb13ce
12127
12128commit f493d2b0b66fb003ed29f31dd66ff1aeb64be1fc
12129Author: jmc@openbsd.org <jmc@openbsd.org>
12130Date: Fri Mar 2 21:40:15 2018 +0000
12131
12132 upstream: apply a lick of paint; tweaks/ok dtucker
12133
12134 OpenBSD-Commit-ID: 518a6736338045e0037f503c21027d958d05e703
12135
12136commit 713d9cb510e0e7759398716cbe6dcf43e574be71
12137Author: djm@openbsd.org <djm@openbsd.org>
12138Date: Fri Mar 2 03:02:11 2018 +0000
12139
12140 upstream: Allow escaped quotes \" and \' in ssh_config and
12141
12142 sshd_config quotes option strings. bz#1596 ok markus@
12143
12144 OpenBSD-Commit-ID: dd3a29fc2dc905e8780198e5a6a30b096de1a1cb
12145
12146commit 94b4e2d29afaaaef89a95289b16c18bf5627f7cd
12147Author: djm@openbsd.org <djm@openbsd.org>
12148Date: Fri Mar 2 02:08:03 2018 +0000
12149
12150 upstream: refactor sshkey_read() to make it a little more, err,
12151
12152 readable. ok markus
12153
12154 OpenBSD-Commit-ID: 2e9247b5762fdac3b6335dc606d3822121714c28
12155
12156commit 5886b92968b360623491699247caddfb77a74d80
12157Author: markus@openbsd.org <markus@openbsd.org>
12158Date: Thu Mar 1 20:32:16 2018 +0000
12159
12160 upstream: missing #ifdef for _PATH_HOST_XMSS_KEY_FILE; report by
12161
12162 jmc@
12163
12164 OpenBSD-Commit-ID: 9039cb69a3f9886bfef096891a9e7fcbd620280b
12165
12166commit 3b36bed3d26f17f6a2b7e036e01777770fe1bcd4
12167Author: dtucker@openbsd.org <dtucker@openbsd.org>
12168Date: Mon Feb 26 12:14:53 2018 +0000
12169
12170 upstream: Remove unneeded (local) include. ok markus@
12171
12172 OpenBSD-Commit-ID: 132812dd2296b1caa8cb07d2408afc28e4e60f93
12173
12174commit 27b9f3950e0289e225b57b7b880a8f1859dcd70b
12175Author: dtucker@openbsd.org <dtucker@openbsd.org>
12176Date: Mon Feb 26 03:56:44 2018 +0000
12177
12178 upstream: Add $OpenBSD$ markers to xmss files to help keep synced
12179
12180 with portable. ok djm@.
12181
12182 OpenBSD-Commit-ID: 5233a27aafd1dfadad4b957225f95ae51eb365c1
12183
12184commit afd830847a82ebbd5aeab05bad6d2c8ce74df1cd
12185Author: dtucker@openbsd.org <dtucker@openbsd.org>
12186Date: Mon Feb 26 03:03:05 2018 +0000
12187
12188 upstream: Add newline at end of file to prevent compiler warnings.
12189
12190 OpenBSD-Commit-ID: 52f247d4eafe840c7c14c8befa71a760a8eeb063
12191
12192commit 941e0d3e9bb8d5e4eb70cc694441445faf037c84
12193Author: Darren Tucker <dtucker@dtucker.net>
12194Date: Wed Feb 28 19:59:35 2018 +1100
12195
12196 Add WITH_XMSS, move to prevent conflicts.
12197
12198 Add #ifdef WITH_XMSS to ssh-xmss.c, move it in the other files to after
12199 includes.h so it's less likely to conflict and will pick up WITH_XMSS if
12200 added to config.h.
12201
12202commit a10d8552d0d2438da4ed539275abcbf557d1e7a8
12203Author: Darren Tucker <dtucker@dtucker.net>
12204Date: Tue Feb 27 14:45:17 2018 +1100
12205
12206 Conditionally compile XMSS code.
12207
12208 The XMSS code is currently experimental and, unlike the rest of OpenSSH
12209 cannot currently be compiled with a c89 compiler.
12210
12211commit 146c3bd28c8dbee9c4b06465d9c9facab96b1e9b
12212Author: Darren Tucker <dtucker@dtucker.net>
12213Date: Mon Feb 26 12:51:29 2018 +1100
12214
12215 Check dlopen has RTLD_NOW before enabling pkcs11.
12216
12217commit 1323f120d06a26074c4d154fcbe7f49bcad3d741
12218Author: Darren Tucker <dtucker@dtucker.net>
12219Date: Tue Feb 27 08:41:25 2018 +1100
12220
12221 Check for attributes on prototype args.
12222
12223 Some compilers (gcc 2.9.53, 3.0 and probably others, see gcc bug #3481)
12224 do not accept __attribute__ on function pointer prototype args. Check for
12225 this and hide them if they're not accepted.
12226
12227commit f0b245b0439e600fab782d19e97980e9f2c2533c
12228Author: Darren Tucker <dtucker@dtucker.net>
12229Date: Mon Feb 26 11:43:48 2018 +1100
12230
12231 Check if HAVE_DECL_BZERO correctly.
12232
12233commit c7ef4a399155e1621a532cc5e08e6fa773658dd4
12234Author: Darren Tucker <dtucker@dtucker.net>
12235Date: Mon Feb 26 17:42:56 2018 +1100
12236
12237 Wrap <stdint.h> in #ifdef HAVE_STDINT_H.
12238
12239commit ac53ce46cf8165cbda7f57ee045f9f32e1e92b31
12240Author: Darren Tucker <dtucker@dtucker.net>
12241Date: Mon Feb 26 16:24:23 2018 +1100
12242
12243 Replace $(CURDIR) with $(PWD).
12244
12245 The former doesn't work on Solaris or BSDs.
12246
12247commit 534b2680a15d14e7e60274d5b29b812d44cc5a44
12248Author: Darren Tucker <dtucker@dtucker.net>
12249Date: Mon Feb 26 14:51:59 2018 +1100
12250
12251 Comment out hexdump().
12252
12253 Nothing currently uses them but they cause conflicts on at least
12254 FreeBSD, possibly others. ok djm@
12255
12256commit 5aea4aa522f61bb2f34c3055a7de203909dfae77
12257Author: Darren Tucker <dtucker@dtucker.net>
12258Date: Mon Feb 26 14:39:14 2018 +1100
12259
12260 typo: missing ;
12261
12262commit cd3ab57f9b388f8b1abf601dc4d78ff82d83b75e
12263Author: Darren Tucker <dtucker@dtucker.net>
12264Date: Mon Feb 26 14:37:06 2018 +1100
12265
12266 Hook up flock() compat code.
12267
12268 Also a couple of minor changes: fail if we can't lock instead of
12269 silently succeeding, and apply a couple of minor style fixes.
12270
12271commit b087998d1ba90dd1ddb6bfdb17873dc3e7392798
12272Author: Darren Tucker <dtucker@dtucker.net>
12273Date: Mon Feb 26 14:27:02 2018 +1100
12274
12275 Import flock() compat from NetBSD.
12276
12277 From NetBSD's src/trunk/tools/compat/flock.c, no OpenSSH changes yet.
12278
12279commit 89212533dde6798324e835b1499084658df4579e
12280Author: Darren Tucker <dtucker@dtucker.net>
12281Date: Mon Feb 26 12:32:14 2018 +1100
12282
12283 Fix breakage when REGRESSTMP not set.
12284
12285 BUILDDIR is not set where used for REGRESSTMP, use make's CURDIR
12286 instead. Pointed out by djm@.
12287
12288commit f885474137df4b89498c0b8834c2ac72c47aa4bd
12289Author: Damien Miller <djm@mindrot.org>
12290Date: Mon Feb 26 12:18:14 2018 +1100
12291
12292 XMSS-related files get includes.h
12293
12294commit 612faa34c72e421cdc9e63f624526bae62d557cc
12295Author: Damien Miller <djm@mindrot.org>
12296Date: Mon Feb 26 12:17:55 2018 +1100
12297
12298 object files end with .o - not .c
12299
12300commit bda709b8e13d3eef19e69c2d1684139e3af728f5
12301Author: Damien Miller <djm@mindrot.org>
12302Date: Mon Feb 26 12:17:22 2018 +1100
12303
12304 avoid inclusion of deprecated selinux/flask.h
12305
12306 Use string_to_security_class() instead.
12307
12308commit 2e396439365c4ca352cac222717d09b14f8a0dfd
12309Author: Damien Miller <djm@mindrot.org>
12310Date: Mon Feb 26 11:48:27 2018 +1100
12311
12312 updatedepend
12313
12314commit 1b11ea7c58cd5c59838b5fa574cd456d6047b2d4
12315Author: markus@openbsd.org <markus@openbsd.org>
12316Date: Fri Feb 23 15:58:37 2018 +0000
12317
12318 upstream: Add experimental support for PQC XMSS keys (Extended
12319
12320 Hash-Based Signatures) The code is not compiled in by default (see WITH_XMSS
12321 in Makefile.inc) Joint work with stefan-lukas_gazdag at genua.eu See
12322 https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 ok
12323 djm@
12324
12325 OpenBSD-Commit-ID: ef3eccb96762a5d6f135d7daeef608df7776a7ac
12326
12327commit 7d330a1ac02076de98cfc8fda05353d57b603755
12328Author: jmc@openbsd.org <jmc@openbsd.org>
12329Date: Fri Feb 23 07:38:09 2018 +0000
12330
12331 upstream: some cleanup for BindInterface and ssh-keyscan;
12332
12333 OpenBSD-Commit-ID: 1a719ebeae22a166adf05bea5009add7075acc8c
12334
12335commit c7b5a47e3b9db9a0f0198f9c90c705f6307afc2b
12336Author: Darren Tucker <dtucker@dtucker.net>
12337Date: Sun Feb 25 23:55:41 2018 +1100
12338
12339 Invert sense of getpgrp test.
12340
12341 AC_FUNC_GETPGRP tests if getpgrp(0) works, which it does if it's not
12342 declared. Instead, test if the zero-arg version we want to use works.
12343
12344commit b39593a6de5290650a01adf8699c6460570403c2
12345Author: Darren Tucker <dtucker@dtucker.net>
12346Date: Sun Feb 25 13:25:15 2018 +1100
12347
12348 Add no-op getsid implmentation.
12349
12350commit 11057564eb6ab8fd987de50c3d7f394c6f6632b7
12351Author: Darren Tucker <dtucker@dtucker.net>
12352Date: Sun Feb 25 11:22:57 2018 +1100
12353
12354 bsd-statvfs: include sys/vfs.h, check for f_flags.
12355
12356commit e9dede06e5bc582a4aeb5b1cd5a7a640d7de3609
12357Author: Darren Tucker <dtucker@dtucker.net>
12358Date: Sun Feb 25 10:20:31 2018 +1100
12359
12360 Handle calloc(0,x) where different from malloc.
12361
12362 Configure assumes that if malloc(0) returns null then calloc(0,n)
12363 also does. On some old platforms (SunOS4) malloc behaves as expected
12364 (as determined by AC_FUNC_MALLOC) but calloc doesn't. Test for this
12365 at configure time and activate the replacement function if found, plus
12366 handle this case in rpl_calloc.
12367
12368commit 2eb4041493fd2635ffdc64a852d02b38c4955e0b
12369Author: Darren Tucker <dtucker@dtucker.net>
12370Date: Sat Feb 24 21:06:48 2018 +1100
12371
12372 Add prototype for readv if needed.
12373
12374commit 6c8c9a615b6d31db8a87bc25033f053d5b0a831e
12375Author: Darren Tucker <dtucker@dtucker.net>
12376Date: Sat Feb 24 20:46:37 2018 +1100
12377
12378 Check for raise and supply if needed.
12379
12380commit a9004425a032d7a7141a5437cfabfd02431e2a74
12381Author: Darren Tucker <dtucker@dtucker.net>
12382Date: Sat Feb 24 20:25:22 2018 +1100
12383
12384 Check for bzero and supply if needed.
12385
12386 Since explicit_bzero uses it via an indirect it needs to be a function
12387 not just a macro.
12388
12389commit 1a348359e4d2876203b5255941bae348557f4f54
12390Author: djm@openbsd.org <djm@openbsd.org>
12391Date: Fri Feb 23 05:14:05 2018 +0000
12392
12393 upstream: Add ssh-keyscan -D option to make it print its results in
12394
12395 SSHFP format bz#2821, ok dtucker@
12396
12397 OpenBSD-Commit-ID: 831446b582e0f298ca15c9d99c415c899e392221
12398
12399commit 3e19fb976a47b44b3d7c4f8355269f7f2c5dd82c
12400Author: dtucker@openbsd.org <dtucker@openbsd.org>
12401Date: Fri Feb 23 04:18:46 2018 +0000
12402
12403 upstream: Add missing braces.
12404
12405 Caught by the tinderbox's -Werror=misleading-indentation, ok djm@
12406
12407 OpenBSD-Commit-ID: d44656af594c3b2366eb87d6abcef83e1c88a6ca
12408
12409commit b59162da99399d89bd57f71c170c0003c55b1583
12410Author: Darren Tucker <dtucker@dtucker.net>
12411Date: Fri Feb 23 15:20:42 2018 +1100
12412
12413 Check for ifaddrs.h for BindInterface.
12414
12415 BindInterface required getifaddr and friends so disable if not available
12416 (eg Solaris 10). We should be able to add support for some systems with
12417 a bit more work but this gets the building again.
12418
12419commit a8dd6fe0aa10b6866830b4688a73ef966f0aed88
12420Author: Damien Miller <djm@mindrot.org>
12421Date: Fri Feb 23 14:19:11 2018 +1100
12422
12423 space before tab in previous
12424
12425commit b5e9263c7704247f9624c8f5c458e9181fcdbc09
12426Author: dtucker@openbsd.org <dtucker@openbsd.org>
12427Date: Fri Feb 9 03:40:22 2018 +0000
12428
12429 upstream: Replace fatal with exit in the case that we do not have
12430
12431 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
12432
12433 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
12434
12435commit 3e9d3192ad43758ef761c5b0aa3ac5ccf8121ef2
12436Author: Darren Tucker <dtucker@dtucker.net>
12437Date: Fri Feb 23 14:10:53 2018 +1100
12438
12439 Use portable syntax for REGRESSTMP.
12440
12441commit 73282b61187883a2b2bb48e087fdda1d751d6059
12442Author: djm@openbsd.org <djm@openbsd.org>
12443Date: Fri Feb 23 03:03:00 2018 +0000
12444
12445 upstream: unbreak interop test after SSHv1 purge; patch from Colin
12446
12447 Watson via bz#2823
12448
12449 OpenBSD-Regress-ID: 807d30a597756ed6612bdf46dfebca74f49cb31a
12450
12451commit f8985dde5f46aedade0373365cbf86ed3f1aead2
12452Author: dtucker@openbsd.org <dtucker@openbsd.org>
12453Date: Fri Feb 9 03:42:57 2018 +0000
12454
12455 upstream: Skip sftp-chroot test when SUDO not set instead of
12456
12457 fatal().
12458
12459 OpenBSD-Regress-ID: cd4b5f1109b0dc09af4e5ea7d4968c43fbcbde88
12460
12461commit df88551c02d4e3445c44ff67ba8757cff718609a
12462Author: dtucker@openbsd.org <dtucker@openbsd.org>
12463Date: Fri Feb 9 03:40:22 2018 +0000
12464
12465 upstream: Replace fatal with exit in the case that we do not have
12466
12467 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
12468
12469 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
12470
12471commit 3b252c20b19f093e87363de197f1100b79705dd3
12472Author: djm@openbsd.org <djm@openbsd.org>
12473Date: Thu Feb 8 08:46:20 2018 +0000
12474
12475 upstream: some helpers to check verbose/quiet mode
12476
12477 OpenBSD-Regress-ID: e736aac39e563f5360a0935080a71d5fdcb976de
12478
12479commit ac2e3026bbee1367e4cda34765d1106099be3287
12480Author: djm@openbsd.org <djm@openbsd.org>
12481Date: Fri Feb 23 02:34:33 2018 +0000
12482
12483 upstream: Add BindInterface ssh_config directive and -B
12484
12485 command-line argument to ssh(1) that directs it to bind its outgoing
12486 connection to the address of the specified network interface.
12487
12488 BindInterface prefers to use addresses that aren't loopback or link-
12489 local, but will fall back to those if no other addresses of the
12490 required family are available on that interface.
12491
12492 Based on patch by Mike Manning in bz#2820, ok dtucker@
12493
12494 OpenBSD-Commit-ID: c5064d285c2851f773dd736a2c342aa384fbf713
12495
12496commit fcdb9d777839a3fa034b3bc3067ba8c1f6886679
12497Author: djm@openbsd.org <djm@openbsd.org>
12498Date: Mon Feb 19 00:55:02 2018 +0000
12499
12500 upstream: emphasise that the hostkey rotation may send key types
12501
12502 that the client may not support, and that the client should simply disregard
12503 such keys (this is what ssh does already).
12504
12505 OpenBSD-Commit-ID: 65f8ffbc32ac8d12be8f913d7c0ea55bef8622bf
12506
12507commit ce066f688dc166506c082dac41ca686066e3de5f
12508Author: Darren Tucker <dtucker@dtucker.net>
12509Date: Thu Feb 22 20:45:09 2018 +1100
12510
12511 Add headers for sys/audit.h.
12512
12513 On some older platforms (at least sunos4, probably others) sys/audit.h
12514 requires some other headers. Patch from klausz at haus-gisela.de.
12515
12516commit 3fd2d2291a695c96a54269deae079bacce6e3fb9
12517Author: Darren Tucker <dtucker@dtucker.net>
12518Date: Mon Feb 19 18:37:40 2018 +1100
12519
12520 Add REGRESSTMP make var override.
12521
12522 Defaults to original location ($srcdir/regress) but allows overriding
12523 if desired, eg a directory in /tmp.
12524
12525commit f8338428588f3ecb5243c86336eccaa28809f97e
12526Author: Darren Tucker <dtucker@dtucker.net>
12527Date: Sun Feb 18 15:53:15 2018 +1100
12528
12529 Remove now-unused check for getrusage.
12530
12531 getrusage was used in ssh-rand-helper but that's now long gone.
12532 Patch from klauszh at haus-gisela.de.
12533
12534commit 8570177195f6a4b3173c0a25484a83641ee3faa6
12535Author: dtucker@openbsd.org <dtucker@openbsd.org>
12536Date: Fri Feb 16 04:43:11 2018 +0000
12537
12538 upstream: Don't send IUTF8 to servers that don't like them.
12539
12540 Some SSH servers eg "ConfD" drop the connection if the client sends the
12541 new IUTF8 (RFC8160) terminal mode even if it's not set. Add a bug bit
12542 for such servers and avoid sending IUTF8 to them. ok djm@
12543
12544 OpenBSD-Commit-ID: 26425855402d870c3c0a90491e72e2a8a342ceda
12545
12546commit f6dc2ba3c9d12be53057b9371f5109ec553a399f
12547Author: Darren Tucker <dtucker@dtucker.net>
12548Date: Fri Feb 16 17:32:28 2018 +1100
12549
12550 freezero should check for NULL.
12551
12552commit 680321f3eb46773883111e234b3c262142ff7c5b
12553Author: djm@openbsd.org <djm@openbsd.org>
12554Date: Fri Feb 16 02:40:45 2018 +0000
12555
12556 upstream: Mention recent DH KEX methods:
12557
12558 diffie-hellman-group14-sha256
12559 diffie-hellman-group16-sha512
12560 diffie-hellman-group18-sha512
12561
12562 From Jakub Jelen via bz#2826
12563
12564 OpenBSD-Commit-ID: 51bf769f06e55447f4bfa7306949e62d2401907a
12565
12566commit 88c50a5ae20902715f0fca306bb9c38514f71679
12567Author: djm@openbsd.org <djm@openbsd.org>
12568Date: Fri Feb 16 02:32:40 2018 +0000
12569
12570 upstream: stop loading DSA keys by default, remove sshd_config
12571
12572 stanza and manpage bits; from Colin Watson via bz#2662, ok dtucker@
12573
12574 OpenBSD-Commit-ID: d33a849f481684ff655c140f5eb1b4acda8c5c09
12575
12576commit d2b3db2860c962927def39a52f67f1c23f7b201a
12577Author: jsing@openbsd.org <jsing@openbsd.org>
12578Date: Wed Feb 14 16:27:24 2018 +0000
12579
12580 upstream: Ensure that D mod (P-1) and D mod (Q-1) are calculated in
12581
12582 constant time.
12583
12584 This avoids a potential side channel timing leak.
12585
12586 ok djm@ markus@
12587
12588 OpenBSD-Commit-ID: 71ff3c16be03290e63d8edab8fac053d8a82968c
12589
12590commit 4270efad7048535b4f250f493d70f9acfb201593
12591Author: jsing@openbsd.org <jsing@openbsd.org>
12592Date: Wed Feb 14 16:03:32 2018 +0000
12593
12594 upstream: Some obvious freezero() conversions.
12595
12596 This also zeros an ed25519_pk when it was not being zeroed previously.
12597
12598 ok djm@ dtucker@
12599
12600 OpenBSD-Commit-ID: 5c196a3c85c23ac0bd9b11bcadaedd90b7a2ce82
12601
12602commit affa6ba67ffccc30b85d6e98f36eb5afd9386882
12603Author: Darren Tucker <dtucker@dtucker.net>
12604Date: Thu Feb 15 22:32:04 2018 +1100
12605
12606 Remove execute bit from modpipe.c.
12607
12608commit 9879dca438526ae6dfd656fecb26b0558c29c731
12609Author: Darren Tucker <dtucker@dtucker.net>
12610Date: Thu Feb 15 22:26:16 2018 +1100
12611
12612 Update prngd link to point to sourceforge.
12613
12614commit b6973fa5152b1a0bafd2417b7c3ad96f6e87d014
12615Author: Darren Tucker <dtucker@dtucker.net>
12616Date: Thu Feb 15 22:22:38 2018 +1100
12617
12618 Remove references to UNICOS.
12619
12620commit f1ca487940449f0b64f38f1da575078257609966
12621Author: Darren Tucker <dtucker@dtucker.net>
12622Date: Thu Feb 15 22:18:37 2018 +1100
12623
12624 Remove extra newline.
12625
12626commit 6d4e980f3cf27f409489cf89cd46c21501b13731
12627Author: Darren Tucker <dtucker@dtucker.net>
12628Date: Thu Feb 15 22:16:54 2018 +1100
12629
12630 OpenSSH's builtin entropy gathering is long gone.
12631
12632commit 389125b25d1a1d7f22e907463b7e8eca74af79ea
12633Author: Darren Tucker <dtucker@dtucker.net>
12634Date: Thu Feb 15 21:43:01 2018 +1100
12635
12636 Replace remaining mysignal() with signal().
12637
12638 These seem to have been missed during the replacement of mysignal
12639 with #define signal in commit 5ade9ab. Both include the requisite
12640 headers to pick up the #define.
12641
12642commit 265d88d4e61e352de6791733c8b29fa3d7d0c26d
12643Author: Darren Tucker <dtucker@dtucker.net>
12644Date: Thu Feb 15 20:06:19 2018 +1100
12645
12646 Remove remaining now-obsolete cvs $Ids.
12647
12648commit 015749e9b1d2f6e14733466d19ba72f014d0845c
12649Author: Darren Tucker <dtucker@dtucker.net>
12650Date: Thu Feb 15 17:01:54 2018 +1100
12651
12652 Regenerate dependencies after UNICOS removal.
12653
12654commit ddc0f3814881ea279a6b6d4d98e03afc60ae1ed7
12655Author: Darren Tucker <dtucker@dtucker.net>
12656Date: Tue Feb 13 09:10:46 2018 +1100
12657
12658 Remove UNICOS support.
12659
12660 The code required to support it is quite invasive to the mainline
12661 code that is synced with upstream and is an ongoing maintenance burden.
12662 Both the hardware and software are literal museum pieces these days and
12663 we could not find anyone still running OpenSSH on one.
diff --git a/INSTALL b/INSTALL
index 23bcf384c..443ff9f3f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -19,7 +19,7 @@ Zlib 1.1.4 or 1.2.1.2 or greater (earlier 1.2.x versions have problems):
19http://www.gzip.org/zlib/ 19http://www.gzip.org/zlib/
20 20
21libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto 21libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto
22is supported but severely restricts the avilable ciphers and algorithms. 22is supported but severely restricts the available ciphers and algorithms.
23 - LibreSSL (https://www.libressl.org/) 23 - LibreSSL (https://www.libressl.org/)
24 - OpenSSL (https://www.openssl.org) with any of the following versions: 24 - OpenSSL (https://www.openssl.org) with any of the following versions:
25 - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1 25 - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1
@@ -51,7 +51,7 @@ http://prngd.sourceforge.net/
51 51
52EGD: 52EGD:
53 53
54The Entropy Gathering Daemon (EGD) suppports the same interface as prngd. 54The Entropy Gathering Daemon (EGD) supports the same interface as prngd.
55It also supported only if libcrypto is configured to support it. 55It also supported only if libcrypto is configured to support it.
56 56
57http://egd.sourceforge.net/ 57http://egd.sourceforge.net/
@@ -277,6 +277,6 @@ summary data may be published.
2775. Problems? 2775. Problems?
278------------ 278------------
279 279
280If you experience problems compiling, installing or running OpenSSH. 280If you experience problems compiling, installing or running OpenSSH,
281Please refer to the "reporting bugs" section of the webpage at 281please refer to the "reporting bugs" section of the webpage at
282https://www.openssh.com/ 282https://www.openssh.com/
diff --git a/Makefile.in b/Makefile.in
index bff1db49b..3aa808a38 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -103,7 +103,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \
103 ssh-ed25519-sk.o ssh-rsa.o dh.o \ 103 ssh-ed25519-sk.o ssh-rsa.o dh.o \
104 msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o umac128.o \ 104 msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o umac128.o \
105 ssh-pkcs11.o smult_curve25519_ref.o \ 105 ssh-pkcs11.o smult_curve25519_ref.o \
106 poly1305.o chacha.o cipher-chachapoly.o \ 106 poly1305.o chacha.o cipher-chachapoly.o cipher-chachapoly-libcrypto.o \
107 ssh-ed25519.o digest-openssl.o digest-libc.o \ 107 ssh-ed25519.o digest-openssl.o digest-libc.o \
108 hmac.o sc25519.o ge25519.o fe25519.o ed25519.o verify.o hash.o \ 108 hmac.o sc25519.o ge25519.o fe25519.o ed25519.o verify.o hash.o \
109 kex.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ 109 kex.o kexdh.o kexgex.o kexecdh.o kexc25519.o \
@@ -351,11 +351,15 @@ depend: depend-rebuild
351 rm -f .depend.bak 351 rm -f .depend.bak
352 352
353depend-rebuild: 353depend-rebuild:
354 rm -f config.h 354 mv .depend .depend.old
355 touch config.h 355 rm -f config.h .depend
356 touch config.h .depend
356 makedepend -w1000 -Y. -f .depend *.c 2>/dev/null 357 makedepend -w1000 -Y. -f .depend *.c 2>/dev/null
357 (head -2 .depend; tail +3 .depend | sort) >.depend.tmp 358 (echo '# Automatically generated by makedepend.'; \
359 echo '# Run "make depend" to rebuild.'; sort .depend ) >.depend.tmp
358 mv .depend.tmp .depend 360 mv .depend.tmp .depend
361 rm -f .depend.bak
362 mv .depend.old .depend.bak
359 rm -f config.h 363 rm -f config.h
360 364
361depend-check: depend-rebuild 365depend-check: depend-rebuild
@@ -633,6 +637,8 @@ SK_DUMMY_OBJS=\
633 regress/misc/sk-dummy/fatal.lo \ 637 regress/misc/sk-dummy/fatal.lo \
634 ed25519.lo hash.lo ge25519.lo fe25519.lo sc25519.lo verify.lo 638 ed25519.lo hash.lo ge25519.lo fe25519.lo sc25519.lo verify.lo
635 639
640SK_DUMMY_LIBRARY=@SK_DUMMY_LIBRARY@
641
636.c.lo: Makefile.in config.h 642.c.lo: Makefile.in config.h
637 $(CC) $(CFLAGS_NOPIE) $(PICFLAG) $(CPPFLAGS) -c $< -o $@ 643 $(CC) $(CFLAGS_NOPIE) $(PICFLAG) $(CPPFLAGS) -c $< -o $@
638 644
@@ -646,7 +652,7 @@ regress-binaries: regress-prep $(LIBCOMPAT) \
646 regress/netcat$(EXEEXT) \ 652 regress/netcat$(EXEEXT) \
647 regress/check-perm$(EXEEXT) \ 653 regress/check-perm$(EXEEXT) \
648 regress/mkdtemp$(EXEEXT) \ 654 regress/mkdtemp$(EXEEXT) \
649 regress/misc/sk-dummy/sk-dummy.so 655 $(SK_DUMMY_LIBRARY)
650 656
651regress-unit-binaries: regress-prep $(REGRESSLIBS) \ 657regress-unit-binaries: regress-prep $(REGRESSLIBS) \
652 regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \ 658 regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \
@@ -672,27 +678,8 @@ unit: regress-unit-binaries
672 678
673interop-tests t-exec file-tests: regress-prep regress-binaries $(TARGETS) 679interop-tests t-exec file-tests: regress-prep regress-binaries $(TARGETS)
674 BUILDDIR=`pwd`; \ 680 BUILDDIR=`pwd`; \
675 TEST_SSH_SCP="$${BUILDDIR}/scp"; \
676 TEST_SSH_SSH="$${BUILDDIR}/ssh"; \
677 TEST_SSH_SSHD="$${BUILDDIR}/sshd"; \
678 TEST_SSH_SSHAGENT="$${BUILDDIR}/ssh-agent"; \
679 TEST_SSH_SSHADD="$${BUILDDIR}/ssh-add"; \
680 TEST_SSH_SSHKEYGEN="$${BUILDDIR}/ssh-keygen"; \
681 TEST_SSH_SSHPKCS11HELPER="$${BUILDDIR}/ssh-pkcs11-helper"; \
682 TEST_SSH_SSHSKHELPER="$${BUILDDIR}/ssh-sk-helper"; \
683 TEST_SSH_SSHKEYSCAN="$${BUILDDIR}/ssh-keyscan"; \
684 TEST_SSH_SFTP="$${BUILDDIR}/sftp"; \
685 TEST_SSH_SFTPSERVER="$${BUILDDIR}/sftp-server"; \
686 TEST_SSH_PKCS11_HELPER="$${BUILDDIR}/ssh-pkcs11-helper"; \
687 TEST_SSH_SK_HELPER="$${BUILDDIR}/ssh-sk-helper"; \
688 TEST_SSH_SFTPSERVER="$${BUILDDIR}/sftp-server"; \
689 TEST_SSH_PLINK="plink"; \
690 TEST_SSH_PUTTYGEN="puttygen"; \
691 TEST_SSH_CONCH="conch"; \
692 TEST_SSH_IPV6="@TEST_SSH_IPV6@" ; \
693 TEST_SSH_UTF8="@TEST_SSH_UTF8@" ; \
694 TEST_SSH_ECC="@TEST_SSH_ECC@" ; \
695 cd $(srcdir)/regress || exit $$?; \ 681 cd $(srcdir)/regress || exit $$?; \
682 EGREP='@EGREP@' \
696 $(MAKE) \ 683 $(MAKE) \
697 .OBJDIR="$${BUILDDIR}/regress" \ 684 .OBJDIR="$${BUILDDIR}/regress" \
698 .CURDIR="`pwd`" \ 685 .CURDIR="`pwd`" \
@@ -701,24 +688,24 @@ interop-tests t-exec file-tests: regress-prep regress-binaries $(TARGETS)
701 PATH="$${BUILDDIR}:$${PATH}" \ 688 PATH="$${BUILDDIR}:$${PATH}" \
702 TEST_ENV=MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \ 689 TEST_ENV=MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \
703 TEST_MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \ 690 TEST_MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \
704 TEST_SSH_SCP="$${TEST_SSH_SCP}" \ 691 TEST_SSH_SCP="$${BUILDDIR}/scp" \
705 TEST_SSH_SSH="$${TEST_SSH_SSH}" \ 692 TEST_SSH_SSH="$${BUILDDIR}/ssh" \
706 TEST_SSH_SSHD="$${TEST_SSH_SSHD}" \ 693 TEST_SSH_SSHD="$${BUILDDIR}/sshd" \
707 TEST_SSH_SSHAGENT="$${TEST_SSH_SSHAGENT}" \ 694 TEST_SSH_SSHAGENT="$${BUILDDIR}/ssh-agent" \
708 TEST_SSH_SSHADD="$${TEST_SSH_SSHADD}" \ 695 TEST_SSH_SSHADD="$${BUILDDIR}/ssh-add" \
709 TEST_SSH_SSHKEYGEN="$${TEST_SSH_SSHKEYGEN}" \ 696 TEST_SSH_SSHKEYGEN="$${BUILDDIR}/ssh-keygen" \
710 TEST_SSH_SSHPKCS11HELPER="$${TEST_SSH_SSHPKCS11HELPER}" \ 697 TEST_SSH_SSHPKCS11HELPER="$${BUILDDIR}/ssh-pkcs11-helper" \
711 TEST_SSH_SSHKEYSCAN="$${TEST_SSH_SSHKEYSCAN}" \ 698 TEST_SSH_SSHKEYSCAN="$${BUILDDIR}/ssh-keyscan" \
712 TEST_SSH_SFTP="$${TEST_SSH_SFTP}" \ 699 TEST_SSH_SFTP="$${BUILDDIR}/sftp" \
713 TEST_SSH_PKCS11_HELPER="$${TEST_SSH_PKCS11_HELPER}" \ 700 TEST_SSH_PKCS11_HELPER="$${BUILDDIR}/ssh-pkcs11-helper" \
714 TEST_SSH_SK_HELPER="$${TEST_SSH_SK_HELPER}" \ 701 TEST_SSH_SK_HELPER="$${BUILDDIR}/ssh-sk-helper" \
715 TEST_SSH_SFTPSERVER="$${TEST_SSH_SFTPSERVER}" \ 702 TEST_SSH_SFTPSERVER="$${BUILDDIR}/sftp-server" \
716 TEST_SSH_PLINK="$${TEST_SSH_PLINK}" \ 703 TEST_SSH_PLINK="plink" \
717 TEST_SSH_PUTTYGEN="$${TEST_SSH_PUTTYGEN}" \ 704 TEST_SSH_PUTTYGEN="puttygen" \
718 TEST_SSH_CONCH="$${TEST_SSH_CONCH}" \ 705 TEST_SSH_CONCH="conch" \
719 TEST_SSH_IPV6="$${TEST_SSH_IPV6}" \ 706 TEST_SSH_IPV6="@TEST_SSH_IPV6@" \
720 TEST_SSH_UTF8="$${TEST_SSH_UTF8}" \ 707 TEST_SSH_UTF8="@TEST_SSH_UTF8@" \
721 TEST_SSH_ECC="$${TEST_SSH_ECC}" \ 708 TEST_SSH_ECC="@TEST_SSH_ECC@" \
722 TEST_SHELL="${TEST_SHELL}" \ 709 TEST_SHELL="${TEST_SHELL}" \
723 EXEEXT="$(EXEEXT)" \ 710 EXEEXT="$(EXEEXT)" \
724 $@ && echo all $@ passed 711 $@ && echo all $@ passed
diff --git a/PROTOCOL b/PROTOCOL
index f75c1c0ae..c702fca45 100644
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -194,7 +194,7 @@ layer 2 frames or layer 3 packets. It may take one of the following values:
194 SSH_TUNMODE_ETHERNET 2 /* layer 2 frames */ 194 SSH_TUNMODE_ETHERNET 2 /* layer 2 frames */
195 195
196The "tunnel unit number" specifies the remote interface number, or may 196The "tunnel unit number" specifies the remote interface number, or may
197be 0x7fffffff to allow the server to automatically chose an interface. A 197be 0x7fffffff to allow the server to automatically choose an interface. A
198server that is not willing to open a client-specified unit should refuse 198server that is not willing to open a client-specified unit should refuse
199the request with a SSH_MSG_CHANNEL_OPEN_FAILURE error. On successful 199the request with a SSH_MSG_CHANNEL_OPEN_FAILURE error. On successful
200open, the server should reply with SSH_MSG_CHANNEL_OPEN_SUCCESS. 200open, the server should reply with SSH_MSG_CHANNEL_OPEN_SUCCESS.
@@ -298,7 +298,7 @@ Upon receiving this message, a client should check which of the
298supplied host keys are present in known_hosts. 298supplied host keys are present in known_hosts.
299 299
300Note that the server may send key types that the client does not 300Note that the server may send key types that the client does not
301support. The client should disgregard such keys if they are received. 301support. The client should disregard such keys if they are received.
302 302
303If the client identifies any keys that are not present for the host, 303If the client identifies any keys that are not present for the host,
304it should send a "hostkeys-prove@openssh.com" message to request the 304it should send a "hostkeys-prove@openssh.com" message to request the
@@ -496,4 +496,4 @@ OpenSSH's connection multiplexing uses messages as described in
496PROTOCOL.mux over a Unix domain socket for communications between a 496PROTOCOL.mux over a Unix domain socket for communications between a
497master instance and later clients. 497master instance and later clients.
498 498
499$OpenBSD: PROTOCOL,v 1.36 2018/10/02 12:51:58 djm Exp $ 499$OpenBSD: PROTOCOL,v 1.37 2020/02/21 00:04:43 dtucker Exp $
diff --git a/PROTOCOL.chacha20poly1305 b/PROTOCOL.chacha20poly1305
index 9ce2a1e3a..0bfff28d7 100644
--- a/PROTOCOL.chacha20poly1305
+++ b/PROTOCOL.chacha20poly1305
@@ -34,7 +34,7 @@ Detailed Construction
34The chacha20-poly1305@openssh.com cipher requires 512 bits of key 34The chacha20-poly1305@openssh.com cipher requires 512 bits of key
35material as output from the SSH key exchange. This forms two 256 bit 35material as output from the SSH key exchange. This forms two 256 bit
36keys (K_1 and K_2), used by two separate instances of chacha20. 36keys (K_1 and K_2), used by two separate instances of chacha20.
37The first 256 bits consitute K_2 and the second 256 bits become 37The first 256 bits constitute K_2 and the second 256 bits become
38K_1. 38K_1.
39 39
40The instance keyed by K_1 is a stream cipher that is used only 40The instance keyed by K_1 is a stream cipher that is used only
@@ -103,5 +103,5 @@ References
103[3] "ChaCha20 and Poly1305 based Cipher Suites for TLS", Adam Langley 103[3] "ChaCha20 and Poly1305 based Cipher Suites for TLS", Adam Langley
104 http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-03 104 http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-03
105 105
106$OpenBSD: PROTOCOL.chacha20poly1305,v 1.4 2018/04/10 00:10:49 djm Exp $ 106$OpenBSD: PROTOCOL.chacha20poly1305,v 1.5 2020/02/21 00:04:43 dtucker Exp $
107 107
diff --git a/PROTOCOL.mux b/PROTOCOL.mux
index 77a0780a5..5fc4c06b9 100644
--- a/PROTOCOL.mux
+++ b/PROTOCOL.mux
@@ -39,7 +39,7 @@ messages between the client and server. The client therefore must
39speak a significant subset of the SSH protocol, but in return is able 39speak a significant subset of the SSH protocol, but in return is able
40to access basically the full suite of connection protocol features. 40to access basically the full suite of connection protocol features.
41Moreover, as no file descriptor passing is required, the connection 41Moreover, as no file descriptor passing is required, the connection
42supporting a proxy client may iteself be forwarded or relayed to another 42supporting a proxy client may itself be forwarded or relayed to another
43host if necessary. 43host if necessary.
44 44
451. Connection setup 451. Connection setup
@@ -295,4 +295,4 @@ XXX session inspection via master
295XXX signals via mux request 295XXX signals via mux request
296XXX list active connections via mux 296XXX list active connections via mux
297 297
298$OpenBSD: PROTOCOL.mux,v 1.11 2018/09/26 07:30:05 djm Exp $ 298$OpenBSD: PROTOCOL.mux,v 1.12 2020/03/13 03:17:07 djm Exp $
diff --git a/PROTOCOL.u2f b/PROTOCOL.u2f
index 748111d56..917e669cd 100644
--- a/PROTOCOL.u2f
+++ b/PROTOCOL.u2f
@@ -142,7 +142,7 @@ choose not to include this information in the public key or save it by
142default. 142default.
143 143
144Attestation information is useful for out-of-band key and certificate 144Attestation information is useful for out-of-band key and certificate
145registration worksflows, e.g. proving to a CA that a key is backed 145registration workflows, e.g. proving to a CA that a key is backed
146by trusted hardware before it will issue a certificate. To support this 146by trusted hardware before it will issue a certificate. To support this
147case, OpenSSH optionally allows retaining the attestation information 147case, OpenSSH optionally allows retaining the attestation information
148at the time of key generation. It will take the following format: 148at the time of key generation. It will take the following format:
@@ -169,7 +169,7 @@ is signed over a blob that consists of:
169 byte[] extensions 169 byte[] extensions
170 byte[32] SHA256(message) 170 byte[32] SHA256(message)
171 171
172No extensons are yet defined for SSH use. If any are defined in the future, 172No extensions are yet defined for SSH use. If any are defined in the future,
173it will be possible to infer their presence from the contents of the "flags" 173it will be possible to infer their presence from the contents of the "flags"
174value. 174value.
175 175
@@ -236,7 +236,7 @@ support for the common case of USB HID security keys internally.
236 236
237The middleware library need only expose a handful of functions: 237The middleware library need only expose a handful of functions:
238 238
239 #define SSH_SK_VERSION_MAJOR 0x00040000 /* API version */ 239 #define SSH_SK_VERSION_MAJOR 0x00050000 /* API version */
240 #define SSH_SK_VERSION_MAJOR_MASK 0xffff0000 240 #define SSH_SK_VERSION_MAJOR_MASK 0xffff0000
241 241
242 /* Flags */ 242 /* Flags */
diff --git a/README b/README
index c95ff2162..cae4c28c7 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
1See https://www.openssh.com/releasenotes.html#8.2p1 for the release notes. 1See https://www.openssh.com/releasenotes.html#8.3p1 for the release notes.
2 2
3Please read https://www.openssh.com/report.html for bug reporting 3Please read https://www.openssh.com/report.html for bug reporting
4instructions and note that we do not use Github for bug reporting or 4instructions and note that we do not use Github for bug reporting or
@@ -29,10 +29,10 @@ all logins, not just when using password authentication.
29There is now several mailing lists for this port of OpenSSH. Please 29There is now several mailing lists for this port of OpenSSH. Please
30refer to https://www.openssh.com/list.html for details on how to join. 30refer to https://www.openssh.com/list.html for details on how to join.
31 31
32Please send bug reports and patches to the mailing list 32Please send bug reports and patches to https://bugzilla.mindrot.org or
33openssh-unix-dev@mindrot.org. The list is open to posting by unsubscribed 33the mailing list openssh-unix-dev@mindrot.org. To mitigate spam, the
34users. Code contribution are welcomed, but please follow the OpenBSD 34list only allows posting from subscribed addresses. Code contribution
35style guidelines[1]. 35are welcomed, but please follow the OpenBSD style guidelines[1].
36 36
37Please refer to the INSTALL document for information on dependencies and 37Please refer to the INSTALL document for information on dependencies and
38how to install OpenSSH on your system. 38how to install OpenSSH on your system.
diff --git a/auth-options.c b/auth-options.c
index 2d200944c..696ba6ac6 100644
--- a/auth-options.c
+++ b/auth-options.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth-options.c,v 1.90 2019/11/25 00:54:23 djm Exp $ */ 1/* $OpenBSD: auth-options.c,v 1.92 2020/03/06 18:15:38 markus Exp $ */
2/* 2/*
3 * Copyright (c) 2018 Damien Miller <djm@mindrot.org> 3 * Copyright (c) 2018 Damien Miller <djm@mindrot.org>
4 * 4 *
@@ -222,8 +222,7 @@ sshauthopt_free(struct sshauthopt *opts)
222 free(opts->permitlisten[i]); 222 free(opts->permitlisten[i]);
223 free(opts->permitlisten); 223 free(opts->permitlisten);
224 224
225 explicit_bzero(opts, sizeof(*opts)); 225 freezero(opts, sizeof(*opts));
226 free(opts);
227} 226}
228 227
229struct sshauthopt * 228struct sshauthopt *
@@ -735,9 +734,11 @@ deserialise_array(struct sshbuf *m, char ***ap, size_t *np)
735 *np = n; 734 *np = n;
736 n = 0; 735 n = 0;
737 out: 736 out:
738 for (i = 0; i < n; i++) 737 if (a != NULL) {
739 free(a[i]); 738 for (i = 0; i < n; i++)
740 free(a); 739 free(a[i]);
740 free(a);
741 }
741 sshbuf_free(b); 742 sshbuf_free(b);
742 return r; 743 return r;
743} 744}
diff --git a/auth-rhosts.c b/auth-rhosts.c
index 587f53721..3bcc73766 100644
--- a/auth-rhosts.c
+++ b/auth-rhosts.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth-rhosts.c,v 1.51 2019/10/02 00:42:30 djm Exp $ */ 1/* $OpenBSD: auth-rhosts.c,v 1.52 2020/04/17 03:30:05 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -296,7 +296,9 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname,
296 * Check if we have been configured to ignore .rhosts 296 * Check if we have been configured to ignore .rhosts
297 * and .shosts files. 297 * and .shosts files.
298 */ 298 */
299 if (options.ignore_rhosts) { 299 if (options.ignore_rhosts == IGNORE_RHOSTS_YES ||
300 (options.ignore_rhosts == IGNORE_RHOSTS_SHOSTS &&
301 strcmp(rhosts_files[rhosts_file_index], ".shosts") != 0)) {
300 auth_debug_add("Server has been configured to " 302 auth_debug_add("Server has been configured to "
301 "ignore %.100s.", rhosts_files[rhosts_file_index]); 303 "ignore %.100s.", rhosts_files[rhosts_file_index]);
302 continue; 304 continue;
diff --git a/auth2-chall.c b/auth2-chall.c
index c57387b71..3acd0a837 100644
--- a/auth2-chall.c
+++ b/auth2-chall.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth2-chall.c,v 1.52 2019/11/13 04:47:52 deraadt Exp $ */ 1/* $OpenBSD: auth2-chall.c,v 1.53 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2001 Markus Friedl. All rights reserved. 3 * Copyright (c) 2001 Markus Friedl. All rights reserved.
4 * Copyright (c) 2001 Per Allansson. All rights reserved. 4 * Copyright (c) 2001 Per Allansson. All rights reserved.
@@ -147,8 +147,7 @@ kbdint_free(KbdintAuthctxt *kbdintctxt)
147 if (kbdintctxt->device) 147 if (kbdintctxt->device)
148 kbdint_reset_device(kbdintctxt); 148 kbdint_reset_device(kbdintctxt);
149 free(kbdintctxt->devices); 149 free(kbdintctxt->devices);
150 explicit_bzero(kbdintctxt, sizeof(*kbdintctxt)); 150 freezero(kbdintctxt, sizeof(*kbdintctxt));
151 free(kbdintctxt);
152} 151}
153/* get next device */ 152/* get next device */
154static int 153static int
diff --git a/auth2-passwd.c b/auth2-passwd.c
index 6601e8664..bb5f8192d 100644
--- a/auth2-passwd.c
+++ b/auth2-passwd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth2-passwd.c,v 1.17 2019/09/06 04:53:27 djm Exp $ */ 1/* $OpenBSD: auth2-passwd.c,v 1.18 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * 4 *
@@ -66,8 +66,7 @@ userauth_passwd(struct ssh *ssh)
66 logit("password change not supported"); 66 logit("password change not supported");
67 else if (PRIVSEP(auth_password(ssh, password)) == 1) 67 else if (PRIVSEP(auth_password(ssh, password)) == 1)
68 authenticated = 1; 68 authenticated = 1;
69 explicit_bzero(password, len); 69 freezero(password, len);
70 free(password);
71 return authenticated; 70 return authenticated;
72} 71}
73 72
diff --git a/auth2.c b/auth2.c
index 92a6bcaf4..05d6c2447 100644
--- a/auth2.c
+++ b/auth2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: auth2.c,v 1.157 2019/09/06 04:53:27 djm Exp $ */ 1/* $OpenBSD: auth2.c,v 1.158 2020/03/06 18:16:21 markus Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * 4 *
@@ -219,7 +219,7 @@ input_service_request(int type, u_int32_t seq, struct ssh *ssh)
219 r = 0; 219 r = 0;
220 out: 220 out:
221 free(service); 221 free(service);
222 return 0; 222 return r;
223} 223}
224 224
225#define MIN_FAIL_DELAY_SECONDS 0.005 225#define MIN_FAIL_DELAY_SECONDS 0.005
diff --git a/authfd.c b/authfd.c
index 05fd45401..4b647a628 100644
--- a/authfd.c
+++ b/authfd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: authfd.c,v 1.121 2019/12/21 02:19:13 djm Exp $ */ 1/* $OpenBSD: authfd.c,v 1.123 2020/03/06 18:24:39 markus Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -342,7 +342,7 @@ ssh_agent_has_key(int sock, struct sshkey *key)
342 size_t i; 342 size_t i;
343 struct ssh_identitylist *idlist = NULL; 343 struct ssh_identitylist *idlist = NULL;
344 344
345 if ((r = ssh_fetch_identitylist(sock, &idlist)) < 0) { 345 if ((r = ssh_fetch_identitylist(sock, &idlist)) != 0) {
346 return r; 346 return r;
347 } 347 }
348 348
@@ -561,10 +561,8 @@ ssh_remove_identity(int sock, struct sshkey *key)
561 goto out; 561 goto out;
562 r = decode_reply(type); 562 r = decode_reply(type);
563 out: 563 out:
564 if (blob != NULL) { 564 if (blob != NULL)
565 explicit_bzero(blob, blen); 565 freezero(blob, blen);
566 free(blob);
567 }
568 sshbuf_free(msg); 566 sshbuf_free(msg);
569 return r; 567 return r;
570} 568}
diff --git a/authfile.c b/authfile.c
index 20b66d9bd..35ccf576c 100644
--- a/authfile.c
+++ b/authfile.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: authfile.c,v 1.137 2020/01/25 23:02:13 djm Exp $ */ 1/* $OpenBSD: authfile.c,v 1.140 2020/04/17 07:15:11 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved.
4 * 4 *
@@ -141,6 +141,14 @@ sshkey_load_private_type(int type, const char *filename, const char *passphrase,
141} 141}
142 142
143int 143int
144sshkey_load_private(const char *filename, const char *passphrase,
145 struct sshkey **keyp, char **commentp)
146{
147 return sshkey_load_private_type(KEY_UNSPEC, filename, passphrase,
148 keyp, commentp);
149}
150
151int
144sshkey_load_private_type_fd(int fd, int type, const char *passphrase, 152sshkey_load_private_type_fd(int fd, int type, const char *passphrase,
145 struct sshkey **keyp, char **commentp) 153 struct sshkey **keyp, char **commentp)
146{ 154{
@@ -161,51 +169,57 @@ sshkey_load_private_type_fd(int fd, int type, const char *passphrase,
161 return r; 169 return r;
162} 170}
163 171
164/* XXX this is almost identical to sshkey_load_private_type() */ 172/* Load a pubkey from the unencrypted envelope of a new-format private key */
165int 173static int
166sshkey_load_private(const char *filename, const char *passphrase, 174sshkey_load_pubkey_from_private(const char *filename, struct sshkey **pubkeyp)
167 struct sshkey **keyp, char **commentp)
168{ 175{
169 struct sshbuf *buffer = NULL; 176 struct sshbuf *buffer = NULL;
177 struct sshkey *pubkey = NULL;
170 int r, fd; 178 int r, fd;
171 179
172 if (keyp != NULL) 180 if (pubkeyp != NULL)
173 *keyp = NULL; 181 *pubkeyp = NULL;
174 if (commentp != NULL)
175 *commentp = NULL;
176 182
177 if ((fd = open(filename, O_RDONLY)) == -1) 183 if ((fd = open(filename, O_RDONLY)) == -1)
178 return SSH_ERR_SYSTEM_ERROR; 184 return SSH_ERR_SYSTEM_ERROR;
179 if (sshkey_perm_ok(fd, filename) != 0) {
180 r = SSH_ERR_KEY_BAD_PERMISSIONS;
181 goto out;
182 }
183 if ((r = sshbuf_load_fd(fd, &buffer)) != 0 || 185 if ((r = sshbuf_load_fd(fd, &buffer)) != 0 ||
184 (r = sshkey_parse_private_fileblob(buffer, passphrase, keyp, 186 (r = sshkey_parse_pubkey_from_private_fileblob_type(buffer,
185 commentp)) != 0) 187 KEY_UNSPEC, &pubkey)) != 0)
186 goto out; 188 goto out;
187 if (keyp && *keyp && 189 if ((r = sshkey_set_filename(pubkey, filename)) != 0)
188 (r = sshkey_set_filename(*keyp, filename)) != 0)
189 goto out; 190 goto out;
191 /* success */
192 if (pubkeyp != NULL) {
193 *pubkeyp = pubkey;
194 pubkey = NULL;
195 }
190 r = 0; 196 r = 0;
191 out: 197 out:
192 close(fd); 198 close(fd);
193 sshbuf_free(buffer); 199 sshbuf_free(buffer);
200 sshkey_free(pubkey);
194 return r; 201 return r;
195} 202}
196 203
197static int 204static int
198sshkey_try_load_public(struct sshkey *k, const char *filename, char **commentp) 205sshkey_try_load_public(struct sshkey **kp, const char *filename,
206 char **commentp)
199{ 207{
200 FILE *f; 208 FILE *f;
201 char *line = NULL, *cp; 209 char *line = NULL, *cp;
202 size_t linesize = 0; 210 size_t linesize = 0;
203 int r; 211 int r;
212 struct sshkey *k = NULL;
204 213
214 *kp = NULL;
205 if (commentp != NULL) 215 if (commentp != NULL)
206 *commentp = NULL; 216 *commentp = NULL;
207 if ((f = fopen(filename, "r")) == NULL) 217 if ((f = fopen(filename, "r")) == NULL)
208 return SSH_ERR_SYSTEM_ERROR; 218 return SSH_ERR_SYSTEM_ERROR;
219 if ((k = sshkey_new(KEY_UNSPEC)) == NULL) {
220 fclose(f);
221 return SSH_ERR_ALLOC_FAIL;
222 }
209 while (getline(&line, &linesize, f) != -1) { 223 while (getline(&line, &linesize, f) != -1) {
210 cp = line; 224 cp = line;
211 switch (*cp) { 225 switch (*cp) {
@@ -230,12 +244,15 @@ sshkey_try_load_public(struct sshkey *k, const char *filename, char **commentp)
230 if (*commentp == NULL) 244 if (*commentp == NULL)
231 r = SSH_ERR_ALLOC_FAIL; 245 r = SSH_ERR_ALLOC_FAIL;
232 } 246 }
247 /* success */
248 *kp = k;
233 free(line); 249 free(line);
234 fclose(f); 250 fclose(f);
235 return r; 251 return r;
236 } 252 }
237 } 253 }
238 } 254 }
255 free(k);
239 free(line); 256 free(line);
240 fclose(f); 257 fclose(f);
241 return SSH_ERR_INVALID_FORMAT; 258 return SSH_ERR_INVALID_FORMAT;
@@ -245,8 +262,7 @@ sshkey_try_load_public(struct sshkey *k, const char *filename, char **commentp)
245int 262int
246sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) 263sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp)
247{ 264{
248 struct sshkey *pub = NULL; 265 char *pubfile = NULL;
249 char *file = NULL;
250 int r; 266 int r;
251 267
252 if (keyp != NULL) 268 if (keyp != NULL)
@@ -254,35 +270,21 @@ sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp)
254 if (commentp != NULL) 270 if (commentp != NULL)
255 *commentp = NULL; 271 *commentp = NULL;
256 272
257 if ((pub = sshkey_new(KEY_UNSPEC)) == NULL) 273 if ((r = sshkey_try_load_public(keyp, filename, commentp)) == 0)
258 return SSH_ERR_ALLOC_FAIL;
259 if ((r = sshkey_try_load_public(pub, filename, commentp)) == 0) {
260 if (keyp != NULL) {
261 *keyp = pub;
262 pub = NULL;
263 }
264 r = 0;
265 goto out; 274 goto out;
266 }
267 sshkey_free(pub);
268 275
269 /* try .pub suffix */ 276 /* try .pub suffix */
270 if (asprintf(&file, "%s.pub", filename) == -1) 277 if (asprintf(&pubfile, "%s.pub", filename) == -1)
271 return SSH_ERR_ALLOC_FAIL; 278 return SSH_ERR_ALLOC_FAIL;
272 if ((pub = sshkey_new(KEY_UNSPEC)) == NULL) { 279 if ((r = sshkey_try_load_public(keyp, pubfile, commentp)) == 0)
273 r = SSH_ERR_ALLOC_FAIL;
274 goto out; 280 goto out;
275 } 281
276 if ((r = sshkey_try_load_public(pub, file, commentp)) == 0) { 282 /* finally, try to extract public key from private key file */
277 if (keyp != NULL) { 283 if ((r = sshkey_load_pubkey_from_private(filename, keyp)) == 0)
278 *keyp = pub; 284 goto out;
279 pub = NULL; 285
280 }
281 r = 0;
282 }
283 out: 286 out:
284 free(file); 287 free(pubfile);
285 sshkey_free(pub);
286 return r; 288 return r;
287} 289}
288 290
@@ -300,18 +302,7 @@ sshkey_load_cert(const char *filename, struct sshkey **keyp)
300 if (asprintf(&file, "%s-cert.pub", filename) == -1) 302 if (asprintf(&file, "%s-cert.pub", filename) == -1)
301 return SSH_ERR_ALLOC_FAIL; 303 return SSH_ERR_ALLOC_FAIL;
302 304
303 if ((pub = sshkey_new(KEY_UNSPEC)) == NULL) { 305 r = sshkey_try_load_public(keyp, file, NULL);
304 goto out;
305 }
306 if ((r = sshkey_try_load_public(pub, file, NULL)) != 0)
307 goto out;
308 /* success */
309 if (keyp != NULL) {
310 *keyp = pub;
311 pub = NULL;
312 }
313 r = 0;
314 out:
315 free(file); 306 free(file);
316 sshkey_free(pub); 307 sshkey_free(pub);
317 return r; 308 return r;
diff --git a/channels.c b/channels.c
index 226ba7a39..95a51e21b 100644
--- a/channels.c
+++ b/channels.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: channels.c,v 1.395 2020/01/25 06:40:20 djm Exp $ */ 1/* $OpenBSD: channels.c,v 1.398 2020/04/25 06:59:36 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -454,7 +454,7 @@ fwd_perm_clear(struct permission *perm)
454 free(perm->host_to_connect); 454 free(perm->host_to_connect);
455 free(perm->listen_host); 455 free(perm->listen_host);
456 free(perm->listen_path); 456 free(perm->listen_path);
457 bzero(perm, sizeof(*perm)); 457 memset(perm, 0, sizeof(*perm));
458} 458}
459 459
460/* Returns an printable name for the specified forwarding permission list */ 460/* Returns an printable name for the specified forwarding permission list */
@@ -625,14 +625,12 @@ channel_free(struct ssh *ssh, Channel *c)
625 if (cc->abandon_cb != NULL) 625 if (cc->abandon_cb != NULL)
626 cc->abandon_cb(ssh, c, cc->ctx); 626 cc->abandon_cb(ssh, c, cc->ctx);
627 TAILQ_REMOVE(&c->status_confirms, cc, entry); 627 TAILQ_REMOVE(&c->status_confirms, cc, entry);
628 explicit_bzero(cc, sizeof(*cc)); 628 freezero(cc, sizeof(*cc));
629 free(cc);
630 } 629 }
631 if (c->filter_cleanup != NULL && c->filter_ctx != NULL) 630 if (c->filter_cleanup != NULL && c->filter_ctx != NULL)
632 c->filter_cleanup(ssh, c->self, c->filter_ctx); 631 c->filter_cleanup(ssh, c->self, c->filter_ctx);
633 sc->channels[c->self] = NULL; 632 sc->channels[c->self] = NULL;
634 explicit_bzero(c, sizeof(*c)); 633 freezero(c, sizeof(*c));
635 free(c);
636} 634}
637 635
638void 636void
@@ -3295,8 +3293,7 @@ channel_input_status_confirm(int type, u_int32_t seq, struct ssh *ssh)
3295 return 0; 3293 return 0;
3296 cc->cb(ssh, type, c, cc->ctx); 3294 cc->cb(ssh, type, c, cc->ctx);
3297 TAILQ_REMOVE(&c->status_confirms, cc, entry); 3295 TAILQ_REMOVE(&c->status_confirms, cc, entry);
3298 explicit_bzero(cc, sizeof(*cc)); 3296 freezero(cc, sizeof(*cc));
3299 free(cc);
3300 return 0; 3297 return 0;
3301} 3298}
3302 3299
@@ -4004,7 +4001,7 @@ channel_request_rforward_cancel_tcpip(struct ssh *ssh,
4004 struct permission_set *pset = &sc->local_perms; 4001 struct permission_set *pset = &sc->local_perms;
4005 int r; 4002 int r;
4006 u_int i; 4003 u_int i;
4007 struct permission *perm; 4004 struct permission *perm = NULL;
4008 4005
4009 for (i = 0; i < pset->num_permitted_user; i++) { 4006 for (i = 0; i < pset->num_permitted_user; i++) {
4010 perm = &pset->permitted_user[i]; 4007 perm = &pset->permitted_user[i];
@@ -4040,7 +4037,7 @@ channel_request_rforward_cancel_streamlocal(struct ssh *ssh, const char *path)
4040 struct permission_set *pset = &sc->local_perms; 4037 struct permission_set *pset = &sc->local_perms;
4041 int r; 4038 int r;
4042 u_int i; 4039 u_int i;
4043 struct permission *perm; 4040 struct permission *perm = NULL;
4044 4041
4045 for (i = 0; i < pset->num_permitted_user; i++) { 4042 for (i = 0; i < pset->num_permitted_user; i++) {
4046 perm = &pset->permitted_user[i]; 4043 perm = &pset->permitted_user[i];
diff --git a/cipher-chachapoly-libcrypto.c b/cipher-chachapoly-libcrypto.c
new file mode 100644
index 000000000..719f9c843
--- /dev/null
+++ b/cipher-chachapoly-libcrypto.c
@@ -0,0 +1,166 @@
1/*
2 * Copyright (c) 2013 Damien Miller <djm@mindrot.org>
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17/* $OpenBSD: cipher-chachapoly-libcrypto.c,v 1.1 2020/04/03 04:32:21 djm Exp $ */
18
19#include "includes.h"
20#ifdef WITH_OPENSSL
21#include "openbsd-compat/openssl-compat.h"
22#endif
23
24#if defined(HAVE_EVP_CHACHA20) && !defined(HAVE_BROKEN_CHACHA20)
25
26#include <sys/types.h>
27#include <stdarg.h> /* needed for log.h */
28#include <string.h>
29#include <stdio.h> /* needed for misc.h */
30
31#include <openssl/evp.h>
32
33#include "log.h"
34#include "sshbuf.h"
35#include "ssherr.h"
36#include "cipher-chachapoly.h"
37
38struct chachapoly_ctx {
39 EVP_CIPHER_CTX *main_evp, *header_evp;
40};
41
42struct chachapoly_ctx *
43chachapoly_new(const u_char *key, u_int keylen)
44{
45 struct chachapoly_ctx *ctx;
46
47 if (keylen != (32 + 32)) /* 2 x 256 bit keys */
48 return NULL;
49 if ((ctx = calloc(1, sizeof(*ctx))) == NULL)
50 return NULL;
51 if ((ctx->main_evp = EVP_CIPHER_CTX_new()) == NULL ||
52 (ctx->header_evp = EVP_CIPHER_CTX_new()) == NULL)
53 goto fail;
54 if (!EVP_CipherInit(ctx->main_evp, EVP_chacha20(), key, NULL, 1))
55 goto fail;
56 if (!EVP_CipherInit(ctx->header_evp, EVP_chacha20(), key + 32, NULL, 1))
57 goto fail;
58 if (EVP_CIPHER_CTX_iv_length(ctx->header_evp) != 16)
59 goto fail;
60 return ctx;
61 fail:
62 chachapoly_free(ctx);
63 return NULL;
64}
65
66void
67chachapoly_free(struct chachapoly_ctx *cpctx)
68{
69 if (cpctx == NULL)
70 return;
71 EVP_CIPHER_CTX_free(cpctx->main_evp);
72 EVP_CIPHER_CTX_free(cpctx->header_evp);
73 freezero(cpctx, sizeof(*cpctx));
74}
75
76/*
77 * chachapoly_crypt() operates as following:
78 * En/decrypt with header key 'aadlen' bytes from 'src', storing result
79 * to 'dest'. The ciphertext here is treated as additional authenticated
80 * data for MAC calculation.
81 * En/decrypt 'len' bytes at offset 'aadlen' from 'src' to 'dest'. Use
82 * POLY1305_TAGLEN bytes at offset 'len'+'aadlen' as the authentication
83 * tag. This tag is written on encryption and verified on decryption.
84 */
85int
86chachapoly_crypt(struct chachapoly_ctx *ctx, u_int seqnr, u_char *dest,
87 const u_char *src, u_int len, u_int aadlen, u_int authlen, int do_encrypt)
88{
89 u_char seqbuf[16]; /* layout: u64 counter || u64 seqno */
90 int r = SSH_ERR_INTERNAL_ERROR;
91 u_char expected_tag[POLY1305_TAGLEN], poly_key[POLY1305_KEYLEN];
92
93 /*
94 * Run ChaCha20 once to generate the Poly1305 key. The IV is the
95 * packet sequence number.
96 */
97 memset(seqbuf, 0, sizeof(seqbuf));
98 POKE_U64(seqbuf + 8, seqnr);
99 memset(poly_key, 0, sizeof(poly_key));
100 if (!EVP_CipherInit(ctx->main_evp, NULL, NULL, seqbuf, 1) ||
101 EVP_Cipher(ctx->main_evp, poly_key,
102 poly_key, sizeof(poly_key)) < 0) {
103 r = SSH_ERR_LIBCRYPTO_ERROR;
104 goto out;
105 }
106
107 /* If decrypting, check tag before anything else */
108 if (!do_encrypt) {
109 const u_char *tag = src + aadlen + len;
110
111 poly1305_auth(expected_tag, src, aadlen + len, poly_key);
112 if (timingsafe_bcmp(expected_tag, tag, POLY1305_TAGLEN) != 0) {
113 r = SSH_ERR_MAC_INVALID;
114 goto out;
115 }
116 }
117
118 /* Crypt additional data */
119 if (aadlen) {
120 if (!EVP_CipherInit(ctx->header_evp, NULL, NULL, seqbuf, 1) ||
121 EVP_Cipher(ctx->header_evp, dest, src, aadlen) < 0) {
122 r = SSH_ERR_LIBCRYPTO_ERROR;
123 goto out;
124 }
125 }
126
127 /* Set Chacha's block counter to 1 */
128 seqbuf[0] = 1;
129 if (!EVP_CipherInit(ctx->main_evp, NULL, NULL, seqbuf, 1) ||
130 EVP_Cipher(ctx->main_evp, dest + aadlen, src + aadlen, len) < 0) {
131 r = SSH_ERR_LIBCRYPTO_ERROR;
132 goto out;
133 }
134
135 /* If encrypting, calculate and append tag */
136 if (do_encrypt) {
137 poly1305_auth(dest + aadlen + len, dest, aadlen + len,
138 poly_key);
139 }
140 r = 0;
141 out:
142 explicit_bzero(expected_tag, sizeof(expected_tag));
143 explicit_bzero(seqbuf, sizeof(seqbuf));
144 explicit_bzero(poly_key, sizeof(poly_key));
145 return r;
146}
147
148/* Decrypt and extract the encrypted packet length */
149int
150chachapoly_get_length(struct chachapoly_ctx *ctx,
151 u_int *plenp, u_int seqnr, const u_char *cp, u_int len)
152{
153 u_char buf[4], seqbuf[16];
154
155 if (len < 4)
156 return SSH_ERR_MESSAGE_INCOMPLETE;
157 memset(seqbuf, 0, sizeof(seqbuf));
158 POKE_U64(seqbuf + 8, seqnr);
159 if (!EVP_CipherInit(ctx->header_evp, NULL, NULL, seqbuf, 0))
160 return SSH_ERR_LIBCRYPTO_ERROR;
161 if (EVP_Cipher(ctx->header_evp, buf, (u_char *)cp, sizeof(buf)) < 0)
162 return SSH_ERR_LIBCRYPTO_ERROR;
163 *plenp = PEEK_U32(buf);
164 return 0;
165}
166#endif /* defined(HAVE_EVP_CHACHA20) && !defined(HAVE_BROKEN_CHACHA20) */
diff --git a/cipher-chachapoly.c b/cipher-chachapoly.c
index 0899c5ad5..716f8d426 100644
--- a/cipher-chachapoly.c
+++ b/cipher-chachapoly.c
@@ -14,9 +14,14 @@
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */ 15 */
16 16
17/* $OpenBSD: cipher-chachapoly.c,v 1.8 2016/08/03 05:41:57 djm Exp $ */ 17/* $OpenBSD: cipher-chachapoly.c,v 1.9 2020/04/03 04:27:03 djm Exp $ */
18 18
19#include "includes.h" 19#include "includes.h"
20#ifdef WITH_OPENSSL
21#include "openbsd-compat/openssl-compat.h"
22#endif
23
24#if !defined(HAVE_EVP_CHACHA20) || defined(HAVE_BROKEN_CHACHA20)
20 25
21#include <sys/types.h> 26#include <sys/types.h>
22#include <stdarg.h> /* needed for log.h */ 27#include <stdarg.h> /* needed for log.h */
@@ -28,15 +33,28 @@
28#include "ssherr.h" 33#include "ssherr.h"
29#include "cipher-chachapoly.h" 34#include "cipher-chachapoly.h"
30 35
31int 36struct chachapoly_ctx {
32chachapoly_init(struct chachapoly_ctx *ctx, 37 struct chacha_ctx main_ctx, header_ctx;
33 const u_char *key, u_int keylen) 38};
39
40struct chachapoly_ctx *
41chachapoly_new(const u_char *key, u_int keylen)
34{ 42{
43 struct chachapoly_ctx *ctx;
44
35 if (keylen != (32 + 32)) /* 2 x 256 bit keys */ 45 if (keylen != (32 + 32)) /* 2 x 256 bit keys */
36 return SSH_ERR_INVALID_ARGUMENT; 46 return NULL;
47 if ((ctx = calloc(1, sizeof(*ctx))) == NULL)
48 return NULL;
37 chacha_keysetup(&ctx->main_ctx, key, 256); 49 chacha_keysetup(&ctx->main_ctx, key, 256);
38 chacha_keysetup(&ctx->header_ctx, key + 32, 256); 50 chacha_keysetup(&ctx->header_ctx, key + 32, 256);
39 return 0; 51 return ctx;
52}
53
54void
55chachapoly_free(struct chachapoly_ctx *cpctx)
56{
57 freezero(cpctx, sizeof(*cpctx));
40} 58}
41 59
42/* 60/*
@@ -117,3 +135,5 @@ chachapoly_get_length(struct chachapoly_ctx *ctx,
117 *plenp = PEEK_U32(buf); 135 *plenp = PEEK_U32(buf);
118 return 0; 136 return 0;
119} 137}
138
139#endif /* !defined(HAVE_EVP_CHACHA20) || defined(HAVE_BROKEN_CHACHA20) */
diff --git a/cipher-chachapoly.h b/cipher-chachapoly.h
index b7072be7d..026d2de93 100644
--- a/cipher-chachapoly.h
+++ b/cipher-chachapoly.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: cipher-chachapoly.h,v 1.4 2014/06/24 01:13:21 djm Exp $ */ 1/* $OpenBSD: cipher-chachapoly.h,v 1.5 2020/04/03 04:27:03 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) Damien Miller 2013 <djm@mindrot.org> 4 * Copyright (c) Damien Miller 2013 <djm@mindrot.org>
@@ -24,13 +24,12 @@
24 24
25#define CHACHA_KEYLEN 32 /* Only 256 bit keys used here */ 25#define CHACHA_KEYLEN 32 /* Only 256 bit keys used here */
26 26
27struct chachapoly_ctx { 27struct chachapoly_ctx;
28 struct chacha_ctx main_ctx, header_ctx; 28
29}; 29struct chachapoly_ctx *chachapoly_new(const u_char *key, u_int keylen)
30 __attribute__((__bounded__(__buffer__, 1, 2)));
31void chachapoly_free(struct chachapoly_ctx *cpctx);
30 32
31int chachapoly_init(struct chachapoly_ctx *cpctx,
32 const u_char *key, u_int keylen)
33 __attribute__((__bounded__(__buffer__, 2, 3)));
34int chachapoly_crypt(struct chachapoly_ctx *cpctx, u_int seqnr, 33int chachapoly_crypt(struct chachapoly_ctx *cpctx, u_int seqnr,
35 u_char *dest, const u_char *src, u_int len, u_int aadlen, u_int authlen, 34 u_char *dest, const u_char *src, u_int len, u_int aadlen, u_int authlen,
36 int do_encrypt); 35 int do_encrypt);
diff --git a/cipher.c b/cipher.c
index 820bc6ace..8195199b3 100644
--- a/cipher.c
+++ b/cipher.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cipher.c,v 1.114 2020/01/23 10:24:29 dtucker Exp $ */ 1/* $OpenBSD: cipher.c,v 1.117 2020/04/03 04:27:03 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -59,7 +59,7 @@ struct sshcipher_ctx {
59 int plaintext; 59 int plaintext;
60 int encrypt; 60 int encrypt;
61 EVP_CIPHER_CTX *evp; 61 EVP_CIPHER_CTX *evp;
62 struct chachapoly_ctx cp_ctx; /* XXX union with evp? */ 62 struct chachapoly_ctx *cp_ctx;
63 struct aesctr_ctx ac_ctx; /* XXX union with evp? */ 63 struct aesctr_ctx ac_ctx; /* XXX union with evp? */
64 const struct sshcipher *cipher; 64 const struct sshcipher *cipher;
65}; 65};
@@ -273,7 +273,8 @@ cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher,
273 273
274 cc->cipher = cipher; 274 cc->cipher = cipher;
275 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) { 275 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) {
276 ret = chachapoly_init(&cc->cp_ctx, key, keylen); 276 cc->cp_ctx = chachapoly_new(key, keylen);
277 ret = cc->cp_ctx != NULL ? 0 : SSH_ERR_INVALID_ARGUMENT;
277 goto out; 278 goto out;
278 } 279 }
279 if ((cc->cipher->flags & CFLAG_NONE) != 0) { 280 if ((cc->cipher->flags & CFLAG_NONE) != 0) {
@@ -328,8 +329,7 @@ cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher,
328#ifdef WITH_OPENSSL 329#ifdef WITH_OPENSSL
329 EVP_CIPHER_CTX_free(cc->evp); 330 EVP_CIPHER_CTX_free(cc->evp);
330#endif /* WITH_OPENSSL */ 331#endif /* WITH_OPENSSL */
331 explicit_bzero(cc, sizeof(*cc)); 332 freezero(cc, sizeof(*cc));
332 free(cc);
333 } 333 }
334 } 334 }
335 return ret; 335 return ret;
@@ -338,7 +338,7 @@ cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher,
338/* 338/*
339 * cipher_crypt() operates as following: 339 * cipher_crypt() operates as following:
340 * Copy 'aadlen' bytes (without en/decryption) from 'src' to 'dest'. 340 * Copy 'aadlen' bytes (without en/decryption) from 'src' to 'dest'.
341 * Theses bytes are treated as additional authenticated data for 341 * These bytes are treated as additional authenticated data for
342 * authenticated encryption modes. 342 * authenticated encryption modes.
343 * En/Decrypt 'len' bytes at offset 'aadlen' from 'src' to 'dest'. 343 * En/Decrypt 'len' bytes at offset 'aadlen' from 'src' to 'dest'.
344 * Use 'authlen' bytes at offset 'len'+'aadlen' as the authentication tag. 344 * Use 'authlen' bytes at offset 'len'+'aadlen' as the authentication tag.
@@ -350,7 +350,7 @@ cipher_crypt(struct sshcipher_ctx *cc, u_int seqnr, u_char *dest,
350 const u_char *src, u_int len, u_int aadlen, u_int authlen) 350 const u_char *src, u_int len, u_int aadlen, u_int authlen)
351{ 351{
352 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) { 352 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) {
353 return chachapoly_crypt(&cc->cp_ctx, seqnr, dest, src, 353 return chachapoly_crypt(cc->cp_ctx, seqnr, dest, src,
354 len, aadlen, authlen, cc->encrypt); 354 len, aadlen, authlen, cc->encrypt);
355 } 355 }
356 if ((cc->cipher->flags & CFLAG_NONE) != 0) { 356 if ((cc->cipher->flags & CFLAG_NONE) != 0) {
@@ -413,7 +413,7 @@ cipher_get_length(struct sshcipher_ctx *cc, u_int *plenp, u_int seqnr,
413 const u_char *cp, u_int len) 413 const u_char *cp, u_int len)
414{ 414{
415 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) 415 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0)
416 return chachapoly_get_length(&cc->cp_ctx, plenp, seqnr, 416 return chachapoly_get_length(cc->cp_ctx, plenp, seqnr,
417 cp, len); 417 cp, len);
418 if (len < 4) 418 if (len < 4)
419 return SSH_ERR_MESSAGE_INCOMPLETE; 419 return SSH_ERR_MESSAGE_INCOMPLETE;
@@ -426,16 +426,16 @@ cipher_free(struct sshcipher_ctx *cc)
426{ 426{
427 if (cc == NULL) 427 if (cc == NULL)
428 return; 428 return;
429 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) 429 if ((cc->cipher->flags & CFLAG_CHACHAPOLY) != 0) {
430 explicit_bzero(&cc->cp_ctx, sizeof(cc->cp_ctx)); 430 chachapoly_free(cc->cp_ctx);
431 else if ((cc->cipher->flags & CFLAG_AESCTR) != 0) 431 cc->cp_ctx = NULL;
432 } else if ((cc->cipher->flags & CFLAG_AESCTR) != 0)
432 explicit_bzero(&cc->ac_ctx, sizeof(cc->ac_ctx)); 433 explicit_bzero(&cc->ac_ctx, sizeof(cc->ac_ctx));
433#ifdef WITH_OPENSSL 434#ifdef WITH_OPENSSL
434 EVP_CIPHER_CTX_free(cc->evp); 435 EVP_CIPHER_CTX_free(cc->evp);
435 cc->evp = NULL; 436 cc->evp = NULL;
436#endif 437#endif
437 explicit_bzero(cc, sizeof(*cc)); 438 freezero(cc, sizeof(*cc));
438 free(cc);
439} 439}
440 440
441/* 441/*
diff --git a/clientloop.c b/clientloop.c
index 1bdac6a46..42ace7789 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.c,v 1.340 2020/02/02 09:45:34 dtucker Exp $ */ 1/* $OpenBSD: clientloop.c,v 1.344 2020/04/24 02:19:40 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -153,9 +153,6 @@ extern char *forward_agent_sock_path;
153static volatile sig_atomic_t received_window_change_signal = 0; 153static volatile sig_atomic_t received_window_change_signal = 0;
154static volatile sig_atomic_t received_signal = 0; 154static volatile sig_atomic_t received_signal = 0;
155 155
156/* Flag indicating whether the user's terminal is in non-blocking mode. */
157static int in_non_blocking_mode = 0;
158
159/* Time when backgrounded control master using ControlPersist should exit */ 156/* Time when backgrounded control master using ControlPersist should exit */
160static time_t control_persist_exit_time = 0; 157static time_t control_persist_exit_time = 0;
161 158
@@ -200,17 +197,6 @@ static struct global_confirms global_confirms =
200 197
201void ssh_process_session2_setup(int, int, int, struct sshbuf *); 198void ssh_process_session2_setup(int, int, int, struct sshbuf *);
202 199
203/* Restores stdin to blocking mode. */
204
205static void
206leave_non_blocking(void)
207{
208 if (in_non_blocking_mode) {
209 unset_nonblock(fileno(stdin));
210 in_non_blocking_mode = 0;
211 }
212}
213
214/* 200/*
215 * Signal handler for the window change signal (SIGWINCH). This just sets a 201 * Signal handler for the window change signal (SIGWINCH). This just sets a
216 * flag indicating that the window has changed. 202 * flag indicating that the window has changed.
@@ -461,11 +447,8 @@ client_check_window_change(struct ssh *ssh)
461{ 447{
462 if (!received_window_change_signal) 448 if (!received_window_change_signal)
463 return; 449 return;
464 /** XXX race */
465 received_window_change_signal = 0; 450 received_window_change_signal = 0;
466
467 debug2("%s: changed", __func__); 451 debug2("%s: changed", __func__);
468
469 channel_send_window_changes(ssh); 452 channel_send_window_changes(ssh);
470} 453}
471 454
@@ -480,8 +463,7 @@ client_global_request_reply(int type, u_int32_t seq, struct ssh *ssh)
480 gc->cb(ssh, type, seq, gc->ctx); 463 gc->cb(ssh, type, seq, gc->ctx);
481 if (--gc->ref_count <= 0) { 464 if (--gc->ref_count <= 0) {
482 TAILQ_REMOVE(&global_confirms, gc, entry); 465 TAILQ_REMOVE(&global_confirms, gc, entry);
483 explicit_bzero(gc, sizeof(*gc)); 466 freezero(gc, sizeof(*gc));
484 free(gc);
485 } 467 }
486 468
487 ssh_packet_set_alive_timeouts(ssh, 0); 469 ssh_packet_set_alive_timeouts(ssh, 0);
@@ -1662,7 +1644,7 @@ client_request_agent(struct ssh *ssh, const char *request_type, int rchan)
1662 1644
1663char * 1645char *
1664client_request_tun_fwd(struct ssh *ssh, int tun_mode, 1646client_request_tun_fwd(struct ssh *ssh, int tun_mode,
1665 int local_tun, int remote_tun) 1647 int local_tun, int remote_tun, channel_open_fn *cb, void *cbctx)
1666{ 1648{
1667 Channel *c; 1649 Channel *c;
1668 int r, fd; 1650 int r, fd;
@@ -1690,6 +1672,9 @@ client_request_tun_fwd(struct ssh *ssh, int tun_mode,
1690 sys_tun_outfilter, NULL, NULL); 1672 sys_tun_outfilter, NULL, NULL);
1691#endif 1673#endif
1692 1674
1675 if (cb != NULL)
1676 channel_register_open_confirm(ssh, c->self, cb, cbctx);
1677
1693 if ((r = sshpkt_start(ssh, SSH2_MSG_CHANNEL_OPEN)) != 0 || 1678 if ((r = sshpkt_start(ssh, SSH2_MSG_CHANNEL_OPEN)) != 0 ||
1694 (r = sshpkt_put_cstring(ssh, "tun@openssh.com")) != 0 || 1679 (r = sshpkt_put_cstring(ssh, "tun@openssh.com")) != 0 ||
1695 (r = sshpkt_put_u32(ssh, c->self)) != 0 || 1680 (r = sshpkt_put_u32(ssh, c->self)) != 0 ||
@@ -2472,7 +2457,6 @@ void
2472cleanup_exit(int i) 2457cleanup_exit(int i)
2473{ 2458{
2474 leave_raw_mode(options.request_tty == REQUEST_TTY_FORCE); 2459 leave_raw_mode(options.request_tty == REQUEST_TTY_FORCE);
2475 leave_non_blocking();
2476 if (options.control_path != NULL && muxserver_sock != -1) 2460 if (options.control_path != NULL && muxserver_sock != -1)
2477 unlink(options.control_path); 2461 unlink(options.control_path);
2478 ssh_kill_proxy_command(); 2462 ssh_kill_proxy_command();
diff --git a/clientloop.h b/clientloop.h
index bf79c87bf..31630551b 100644
--- a/clientloop.h
+++ b/clientloop.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: clientloop.h,v 1.36 2018/07/09 21:03:30 markus Exp $ */ 1/* $OpenBSD: clientloop.h,v 1.37 2020/04/03 02:40:32 djm Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -46,7 +46,8 @@ int client_x11_get_proto(struct ssh *, const char *, const char *,
46void client_global_request_reply_fwd(int, u_int32_t, void *); 46void client_global_request_reply_fwd(int, u_int32_t, void *);
47void client_session2_setup(struct ssh *, int, int, int, 47void client_session2_setup(struct ssh *, int, int, int,
48 const char *, struct termios *, int, struct sshbuf *, char **); 48 const char *, struct termios *, int, struct sshbuf *, char **);
49char *client_request_tun_fwd(struct ssh *, int, int, int); 49char *client_request_tun_fwd(struct ssh *, int, int, int,
50 channel_open_fn *, void *);
50void client_stop_mux(void); 51void client_stop_mux(void);
51 52
52/* Escape filter for protocol 2 sessions */ 53/* Escape filter for protocol 2 sessions */
diff --git a/config.guess b/config.guess
index c4bd827a7..11fda528b 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
1#! /bin/sh 1#! /bin/sh
2# Attempt to guess a canonical system name. 2# Attempt to guess a canonical system name.
3# Copyright 1992-2016 Free Software Foundation, Inc. 3# Copyright 1992-2020 Free Software Foundation, Inc.
4 4
5timestamp='2016-05-15' 5timestamp='2020-04-26'
6 6
7# This file is free software; you can redistribute it and/or modify it 7# This file is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by 8# under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2016-05-15'
15# General Public License for more details. 15# General Public License for more details.
16# 16#
17# You should have received a copy of the GNU General Public License 17# You should have received a copy of the GNU General Public License
18# along with this program; if not, see <http://www.gnu.org/licenses/>. 18# along with this program; if not, see <https://www.gnu.org/licenses/>.
19# 19#
20# As a special exception to the GNU General Public License, if you 20# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program that contains a 21# distribute this file as part of a program that contains a
@@ -27,7 +27,7 @@ timestamp='2016-05-15'
27# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 27# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28# 28#
29# You can get the latest version of this script from: 29# You can get the latest version of this script from:
30# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 30# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31# 31#
32# Please send patches to <config-patches@gnu.org>. 32# Please send patches to <config-patches@gnu.org>.
33 33
@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
39 39
40Output the configuration name of the system \`$me' is run on. 40Output the configuration name of the system \`$me' is run on.
41 41
42Operation modes: 42Options:
43 -h, --help print this help, then exit 43 -h, --help print this help, then exit
44 -t, --time-stamp print date of last modification, then exit 44 -t, --time-stamp print date of last modification, then exit
45 -v, --version print version number, then exit 45 -v, --version print version number, then exit
@@ -50,7 +50,7 @@ version="\
50GNU config.guess ($timestamp) 50GNU config.guess ($timestamp)
51 51
52Originally written by Per Bothner. 52Originally written by Per Bothner.
53Copyright 1992-2016 Free Software Foundation, Inc. 53Copyright 1992-2020 Free Software Foundation, Inc.
54 54
55This is free software; see the source for copying conditions. There is NO 55This is free software; see the source for copying conditions. There is NO
56warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 56warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,8 +84,6 @@ if test $# != 0; then
84 exit 1 84 exit 1
85fi 85fi
86 86
87trap 'exit 1' 1 2 15
88
89# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 87# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90# compiler to aid in system detection is discouraged as it requires 88# compiler to aid in system detection is discouraged as it requires
91# temporary files to be created and, as you can see below, it is a 89# temporary files to be created and, as you can see below, it is a
@@ -96,34 +94,40 @@ trap 'exit 1' 1 2 15
96 94
97# Portable tmp directory creation inspired by the Autoconf team. 95# Portable tmp directory creation inspired by the Autoconf team.
98 96
99set_cc_for_build=' 97tmp=
100trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 98# shellcheck disable=SC2172
101trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 99trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
102: ${TMPDIR=/tmp} ; 100
103 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 101set_cc_for_build() {
104 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 102 # prevent multiple calls if $tmp is already set
105 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 103 test "$tmp" && return 0
106 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 104 : "${TMPDIR=/tmp}"
107dummy=$tmp/dummy ; 105 # shellcheck disable=SC2039
108tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 106 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
109case $CC_FOR_BUILD,$HOST_CC,$CC in 107 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
110 ,,) echo "int x;" > $dummy.c ; 108 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
111 for c in cc gcc c89 c99 ; do 109 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 110 dummy=$tmp/dummy
113 CC_FOR_BUILD="$c"; break ; 111 case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
114 fi ; 112 ,,) echo "int x;" > "$dummy.c"
115 done ; 113 for driver in cc gcc c89 c99 ; do
116 if test x"$CC_FOR_BUILD" = x ; then 114 if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
117 CC_FOR_BUILD=no_compiler_found ; 115 CC_FOR_BUILD="$driver"
118 fi 116 break
119 ;; 117 fi
120 ,,*) CC_FOR_BUILD=$CC ;; 118 done
121 ,*,*) CC_FOR_BUILD=$HOST_CC ;; 119 if test x"$CC_FOR_BUILD" = x ; then
122esac ; set_cc_for_build= ;' 120 CC_FOR_BUILD=no_compiler_found
121 fi
122 ;;
123 ,,*) CC_FOR_BUILD=$CC ;;
124 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
125 esac
126}
123 127
124# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 128# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125# (ghazi@noc.rutgers.edu 1994-08-24) 129# (ghazi@noc.rutgers.edu 1994-08-24)
126if (test -f /.attbin/uname) >/dev/null 2>&1 ; then 130if test -f /.attbin/uname ; then
127 PATH=$PATH:/.attbin ; export PATH 131 PATH=$PATH:/.attbin ; export PATH
128fi 132fi
129 133
@@ -132,14 +136,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 136UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 137UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134 138
135case "${UNAME_SYSTEM}" in 139case "$UNAME_SYSTEM" in
136Linux|GNU|GNU/*) 140Linux|GNU|GNU/*)
137 # If the system lacks a compiler, then just pick glibc. 141 # If the system lacks a compiler, then just pick glibc.
138 # We could probably try harder. 142 # We could probably try harder.
139 LIBC=gnu 143 LIBC=gnu
140 144
141 eval $set_cc_for_build 145 set_cc_for_build
142 cat <<-EOF > $dummy.c 146 cat <<-EOF > "$dummy.c"
143 #include <features.h> 147 #include <features.h>
144 #if defined(__UCLIBC__) 148 #if defined(__UCLIBC__)
145 LIBC=uclibc 149 LIBC=uclibc
@@ -149,13 +153,20 @@ Linux|GNU|GNU/*)
149 LIBC=gnu 153 LIBC=gnu
150 #endif 154 #endif
151 EOF 155 EOF
152 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 156 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
157
158 # If ldd exists, use it to detect musl libc.
159 if command -v ldd >/dev/null && \
160 ldd --version 2>&1 | grep -q ^musl
161 then
162 LIBC=musl
163 fi
153 ;; 164 ;;
154esac 165esac
155 166
156# Note: order is significant - the case branches are not exclusive. 167# Note: order is significant - the case branches are not exclusive.
157 168
158case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 169case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
159 *:NetBSD:*:*) 170 *:NetBSD:*:*)
160 # NetBSD (nbsd) targets should (where applicable) match one or 171 # NetBSD (nbsd) targets should (where applicable) match one or
161 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 172 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +180,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
169 # portion of the name. We always set it to "unknown". 180 # portion of the name. We always set it to "unknown".
170 sysctl="sysctl -n hw.machine_arch" 181 sysctl="sysctl -n hw.machine_arch"
171 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 182 UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172 /sbin/$sysctl 2>/dev/null || \ 183 "/sbin/$sysctl" 2>/dev/null || \
173 /usr/sbin/$sysctl 2>/dev/null || \ 184 "/usr/sbin/$sysctl" 2>/dev/null || \
174 echo unknown)` 185 echo unknown)`
175 case "${UNAME_MACHINE_ARCH}" in 186 case "$UNAME_MACHINE_ARCH" in
176 armeb) machine=armeb-unknown ;; 187 armeb) machine=armeb-unknown ;;
177 arm*) machine=arm-unknown ;; 188 arm*) machine=arm-unknown ;;
178 sh3el) machine=shl-unknown ;; 189 sh3el) machine=shl-unknown ;;
179 sh3eb) machine=sh-unknown ;; 190 sh3eb) machine=sh-unknown ;;
180 sh5el) machine=sh5le-unknown ;; 191 sh5el) machine=sh5le-unknown ;;
181 earmv*) 192 earmv*)
182 arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 193 arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183 endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` 194 endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
184 machine=${arch}${endian}-unknown 195 machine="${arch}${endian}"-unknown
185 ;; 196 ;;
186 *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 197 *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
187 esac 198 esac
188 # The Operating System including object format, if it has switched 199 # The Operating System including object format, if it has switched
189 # to ELF recently (or will in the future) and ABI. 200 # to ELF recently (or will in the future) and ABI.
190 case "${UNAME_MACHINE_ARCH}" in 201 case "$UNAME_MACHINE_ARCH" in
191 earm*) 202 earm*)
192 os=netbsdelf 203 os=netbsdelf
193 ;; 204 ;;
194 arm*|i386|m68k|ns32k|sh3*|sparc|vax) 205 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
195 eval $set_cc_for_build 206 set_cc_for_build
196 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 207 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
197 | grep -q __ELF__ 208 | grep -q __ELF__
198 then 209 then
@@ -208,10 +219,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
208 ;; 219 ;;
209 esac 220 esac
210 # Determine ABI tags. 221 # Determine ABI tags.
211 case "${UNAME_MACHINE_ARCH}" in 222 case "$UNAME_MACHINE_ARCH" in
212 earm*) 223 earm*)
213 expr='s/^earmv[0-9]/-eabi/;s/eb$//' 224 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
214 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` 225 abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
215 ;; 226 ;;
216 esac 227 esac
217 # The OS release 228 # The OS release
@@ -219,45 +230,60 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
219 # thus, need a distinct triplet. However, they do not need 230 # thus, need a distinct triplet. However, they do not need
220 # kernel version information, so it can be replaced with a 231 # kernel version information, so it can be replaced with a
221 # suitable tag, in the style of linux-gnu. 232 # suitable tag, in the style of linux-gnu.
222 case "${UNAME_VERSION}" in 233 case "$UNAME_VERSION" in
223 Debian*) 234 Debian*)
224 release='-gnu' 235 release='-gnu'
225 ;; 236 ;;
226 *) 237 *)
227 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` 238 release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
228 ;; 239 ;;
229 esac 240 esac
230 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 241 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
231 # contains redundant information, the shorter form: 242 # contains redundant information, the shorter form:
232 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 243 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
233 echo "${machine}-${os}${release}${abi}" 244 echo "$machine-${os}${release}${abi-}"
234 exit ;; 245 exit ;;
235 *:Bitrig:*:*) 246 *:Bitrig:*:*)
236 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 247 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
237 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} 248 echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
238 exit ;; 249 exit ;;
239 *:OpenBSD:*:*) 250 *:OpenBSD:*:*)
240 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 251 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
241 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 252 echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
242 exit ;; 253 exit ;;
243 *:LibertyBSD:*:*) 254 *:LibertyBSD:*:*)
244 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 255 UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
245 echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} 256 echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
257 exit ;;
258 *:MidnightBSD:*:*)
259 echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
246 exit ;; 260 exit ;;
247 *:ekkoBSD:*:*) 261 *:ekkoBSD:*:*)
248 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 262 echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
249 exit ;; 263 exit ;;
250 *:SolidBSD:*:*) 264 *:SolidBSD:*:*)
251 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 265 echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
266 exit ;;
267 *:OS108:*:*)
268 echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
252 exit ;; 269 exit ;;
253 macppc:MirBSD:*:*) 270 macppc:MirBSD:*:*)
254 echo powerpc-unknown-mirbsd${UNAME_RELEASE} 271 echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
255 exit ;; 272 exit ;;
256 *:MirBSD:*:*) 273 *:MirBSD:*:*)
257 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 274 echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
258 exit ;; 275 exit ;;
259 *:Sortix:*:*) 276 *:Sortix:*:*)
260 echo ${UNAME_MACHINE}-unknown-sortix 277 echo "$UNAME_MACHINE"-unknown-sortix
278 exit ;;
279 *:Twizzler:*:*)
280 echo "$UNAME_MACHINE"-unknown-twizzler
281 exit ;;
282 *:Redox:*:*)
283 echo "$UNAME_MACHINE"-unknown-redox
284 exit ;;
285 mips:OSF1:*.*)
286 echo mips-dec-osf1
261 exit ;; 287 exit ;;
262 alpha:OSF1:*:*) 288 alpha:OSF1:*:*)
263 case $UNAME_RELEASE in 289 case $UNAME_RELEASE in
@@ -310,28 +336,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
310 # A Tn.n version is a released field test version. 336 # A Tn.n version is a released field test version.
311 # A Xn.n version is an unreleased experimental baselevel. 337 # A Xn.n version is an unreleased experimental baselevel.
312 # 1.2 uses "1.2" for uname -r. 338 # 1.2 uses "1.2" for uname -r.
313 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 339 echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
314 # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 340 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
315 exitcode=$? 341 exitcode=$?
316 trap '' 0 342 trap '' 0
317 exit $exitcode ;; 343 exit $exitcode ;;
318 Alpha\ *:Windows_NT*:*)
319 # How do we know it's Interix rather than the generic POSIX subsystem?
320 # Should we change UNAME_MACHINE based on the output of uname instead
321 # of the specific Alpha model?
322 echo alpha-pc-interix
323 exit ;;
324 21064:Windows_NT:50:3)
325 echo alpha-dec-winnt3.5
326 exit ;;
327 Amiga*:UNIX_System_V:4.0:*) 344 Amiga*:UNIX_System_V:4.0:*)
328 echo m68k-unknown-sysv4 345 echo m68k-unknown-sysv4
329 exit ;; 346 exit ;;
330 *:[Aa]miga[Oo][Ss]:*:*) 347 *:[Aa]miga[Oo][Ss]:*:*)
331 echo ${UNAME_MACHINE}-unknown-amigaos 348 echo "$UNAME_MACHINE"-unknown-amigaos
332 exit ;; 349 exit ;;
333 *:[Mm]orph[Oo][Ss]:*:*) 350 *:[Mm]orph[Oo][Ss]:*:*)
334 echo ${UNAME_MACHINE}-unknown-morphos 351 echo "$UNAME_MACHINE"-unknown-morphos
335 exit ;; 352 exit ;;
336 *:OS/390:*:*) 353 *:OS/390:*:*)
337 echo i370-ibm-openedition 354 echo i370-ibm-openedition
@@ -343,7 +360,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
343 echo powerpc-ibm-os400 360 echo powerpc-ibm-os400
344 exit ;; 361 exit ;;
345 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 362 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
346 echo arm-acorn-riscix${UNAME_RELEASE} 363 echo arm-acorn-riscix"$UNAME_RELEASE"
347 exit ;; 364 exit ;;
348 arm*:riscos:*:*|arm*:RISCOS:*:*) 365 arm*:riscos:*:*|arm*:RISCOS:*:*)
349 echo arm-unknown-riscos 366 echo arm-unknown-riscos
@@ -370,19 +387,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
370 sparc) echo sparc-icl-nx7; exit ;; 387 sparc) echo sparc-icl-nx7; exit ;;
371 esac ;; 388 esac ;;
372 s390x:SunOS:*:*) 389 s390x:SunOS:*:*)
373 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 390 echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
374 exit ;; 391 exit ;;
375 sun4H:SunOS:5.*:*) 392 sun4H:SunOS:5.*:*)
376 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 393 echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
377 exit ;; 394 exit ;;
378 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 395 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
379 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 396 echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
380 exit ;; 397 exit ;;
381 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 398 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
382 echo i386-pc-auroraux${UNAME_RELEASE} 399 echo i386-pc-auroraux"$UNAME_RELEASE"
383 exit ;; 400 exit ;;
384 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 401 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
385 eval $set_cc_for_build 402 set_cc_for_build
386 SUN_ARCH=i386 403 SUN_ARCH=i386
387 # If there is a compiler, see if it is configured for 64-bit objects. 404 # If there is a compiler, see if it is configured for 64-bit objects.
388 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 405 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -395,13 +412,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
395 SUN_ARCH=x86_64 412 SUN_ARCH=x86_64
396 fi 413 fi
397 fi 414 fi
398 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 415 echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
399 exit ;; 416 exit ;;
400 sun4*:SunOS:6*:*) 417 sun4*:SunOS:6*:*)
401 # According to config.sub, this is the proper way to canonicalize 418 # According to config.sub, this is the proper way to canonicalize
402 # SunOS6. Hard to guess exactly what SunOS6 will be like, but 419 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
403 # it's likely to be more like Solaris than SunOS4. 420 # it's likely to be more like Solaris than SunOS4.
404 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 421 echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
405 exit ;; 422 exit ;;
406 sun4*:SunOS:*:*) 423 sun4*:SunOS:*:*)
407 case "`/usr/bin/arch -k`" in 424 case "`/usr/bin/arch -k`" in
@@ -410,25 +427,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
410 ;; 427 ;;
411 esac 428 esac
412 # Japanese Language versions have a version number like `4.1.3-JL'. 429 # Japanese Language versions have a version number like `4.1.3-JL'.
413 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 430 echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
414 exit ;; 431 exit ;;
415 sun3*:SunOS:*:*) 432 sun3*:SunOS:*:*)
416 echo m68k-sun-sunos${UNAME_RELEASE} 433 echo m68k-sun-sunos"$UNAME_RELEASE"
417 exit ;; 434 exit ;;
418 sun*:*:4.2BSD:*) 435 sun*:*:4.2BSD:*)
419 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 436 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
420 test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 437 test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
421 case "`/bin/arch`" in 438 case "`/bin/arch`" in
422 sun3) 439 sun3)
423 echo m68k-sun-sunos${UNAME_RELEASE} 440 echo m68k-sun-sunos"$UNAME_RELEASE"
424 ;; 441 ;;
425 sun4) 442 sun4)
426 echo sparc-sun-sunos${UNAME_RELEASE} 443 echo sparc-sun-sunos"$UNAME_RELEASE"
427 ;; 444 ;;
428 esac 445 esac
429 exit ;; 446 exit ;;
430 aushp:SunOS:*:*) 447 aushp:SunOS:*:*)
431 echo sparc-auspex-sunos${UNAME_RELEASE} 448 echo sparc-auspex-sunos"$UNAME_RELEASE"
432 exit ;; 449 exit ;;
433 # The situation for MiNT is a little confusing. The machine name 450 # The situation for MiNT is a little confusing. The machine name
434 # can be virtually everything (everything which is not 451 # can be virtually everything (everything which is not
@@ -439,44 +456,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
439 # MiNT. But MiNT is downward compatible to TOS, so this should 456 # MiNT. But MiNT is downward compatible to TOS, so this should
440 # be no problem. 457 # be no problem.
441 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 458 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
442 echo m68k-atari-mint${UNAME_RELEASE} 459 echo m68k-atari-mint"$UNAME_RELEASE"
443 exit ;; 460 exit ;;
444 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 461 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
445 echo m68k-atari-mint${UNAME_RELEASE} 462 echo m68k-atari-mint"$UNAME_RELEASE"
446 exit ;; 463 exit ;;
447 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 464 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
448 echo m68k-atari-mint${UNAME_RELEASE} 465 echo m68k-atari-mint"$UNAME_RELEASE"
449 exit ;; 466 exit ;;
450 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 467 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
451 echo m68k-milan-mint${UNAME_RELEASE} 468 echo m68k-milan-mint"$UNAME_RELEASE"
452 exit ;; 469 exit ;;
453 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 470 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
454 echo m68k-hades-mint${UNAME_RELEASE} 471 echo m68k-hades-mint"$UNAME_RELEASE"
455 exit ;; 472 exit ;;
456 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 473 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
457 echo m68k-unknown-mint${UNAME_RELEASE} 474 echo m68k-unknown-mint"$UNAME_RELEASE"
458 exit ;; 475 exit ;;
459 m68k:machten:*:*) 476 m68k:machten:*:*)
460 echo m68k-apple-machten${UNAME_RELEASE} 477 echo m68k-apple-machten"$UNAME_RELEASE"
461 exit ;; 478 exit ;;
462 powerpc:machten:*:*) 479 powerpc:machten:*:*)
463 echo powerpc-apple-machten${UNAME_RELEASE} 480 echo powerpc-apple-machten"$UNAME_RELEASE"
464 exit ;; 481 exit ;;
465 RISC*:Mach:*:*) 482 RISC*:Mach:*:*)
466 echo mips-dec-mach_bsd4.3 483 echo mips-dec-mach_bsd4.3
467 exit ;; 484 exit ;;
468 RISC*:ULTRIX:*:*) 485 RISC*:ULTRIX:*:*)
469 echo mips-dec-ultrix${UNAME_RELEASE} 486 echo mips-dec-ultrix"$UNAME_RELEASE"
470 exit ;; 487 exit ;;
471 VAX*:ULTRIX*:*:*) 488 VAX*:ULTRIX*:*:*)
472 echo vax-dec-ultrix${UNAME_RELEASE} 489 echo vax-dec-ultrix"$UNAME_RELEASE"
473 exit ;; 490 exit ;;
474 2020:CLIX:*:* | 2430:CLIX:*:*) 491 2020:CLIX:*:* | 2430:CLIX:*:*)
475 echo clipper-intergraph-clix${UNAME_RELEASE} 492 echo clipper-intergraph-clix"$UNAME_RELEASE"
476 exit ;; 493 exit ;;
477 mips:*:*:UMIPS | mips:*:*:RISCos) 494 mips:*:*:UMIPS | mips:*:*:RISCos)
478 eval $set_cc_for_build 495 set_cc_for_build
479 sed 's/^ //' << EOF >$dummy.c 496 sed 's/^ //' << EOF > "$dummy.c"
480#ifdef __cplusplus 497#ifdef __cplusplus
481#include <stdio.h> /* for printf() prototype */ 498#include <stdio.h> /* for printf() prototype */
482 int main (int argc, char *argv[]) { 499 int main (int argc, char *argv[]) {
@@ -485,23 +502,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
485#endif 502#endif
486 #if defined (host_mips) && defined (MIPSEB) 503 #if defined (host_mips) && defined (MIPSEB)
487 #if defined (SYSTYPE_SYSV) 504 #if defined (SYSTYPE_SYSV)
488 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 505 printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
489 #endif 506 #endif
490 #if defined (SYSTYPE_SVR4) 507 #if defined (SYSTYPE_SVR4)
491 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 508 printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
492 #endif 509 #endif
493 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 510 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
494 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 511 printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
495 #endif 512 #endif
496 #endif 513 #endif
497 exit (-1); 514 exit (-1);
498 } 515 }
499EOF 516EOF
500 $CC_FOR_BUILD -o $dummy $dummy.c && 517 $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
501 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 518 dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
502 SYSTEM_NAME=`$dummy $dummyarg` && 519 SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
503 { echo "$SYSTEM_NAME"; exit; } 520 { echo "$SYSTEM_NAME"; exit; }
504 echo mips-mips-riscos${UNAME_RELEASE} 521 echo mips-mips-riscos"$UNAME_RELEASE"
505 exit ;; 522 exit ;;
506 Motorola:PowerMAX_OS:*:*) 523 Motorola:PowerMAX_OS:*:*)
507 echo powerpc-motorola-powermax 524 echo powerpc-motorola-powermax
@@ -527,17 +544,17 @@ EOF
527 AViiON:dgux:*:*) 544 AViiON:dgux:*:*)
528 # DG/UX returns AViiON for all architectures 545 # DG/UX returns AViiON for all architectures
529 UNAME_PROCESSOR=`/usr/bin/uname -p` 546 UNAME_PROCESSOR=`/usr/bin/uname -p`
530 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 547 if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
531 then 548 then
532 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 549 if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
533 [ ${TARGET_BINARY_INTERFACE}x = x ] 550 [ "$TARGET_BINARY_INTERFACE"x = x ]
534 then 551 then
535 echo m88k-dg-dgux${UNAME_RELEASE} 552 echo m88k-dg-dgux"$UNAME_RELEASE"
536 else 553 else
537 echo m88k-dg-dguxbcs${UNAME_RELEASE} 554 echo m88k-dg-dguxbcs"$UNAME_RELEASE"
538 fi 555 fi
539 else 556 else
540 echo i586-dg-dgux${UNAME_RELEASE} 557 echo i586-dg-dgux"$UNAME_RELEASE"
541 fi 558 fi
542 exit ;; 559 exit ;;
543 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 560 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
@@ -554,7 +571,7 @@ EOF
554 echo m68k-tektronix-bsd 571 echo m68k-tektronix-bsd
555 exit ;; 572 exit ;;
556 *:IRIX*:*:*) 573 *:IRIX*:*:*)
557 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 574 echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
558 exit ;; 575 exit ;;
559 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 576 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
560 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 577 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
@@ -566,14 +583,14 @@ EOF
566 if [ -x /usr/bin/oslevel ] ; then 583 if [ -x /usr/bin/oslevel ] ; then
567 IBM_REV=`/usr/bin/oslevel` 584 IBM_REV=`/usr/bin/oslevel`
568 else 585 else
569 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 586 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
570 fi 587 fi
571 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 588 echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
572 exit ;; 589 exit ;;
573 *:AIX:2:3) 590 *:AIX:2:3)
574 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 591 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
575 eval $set_cc_for_build 592 set_cc_for_build
576 sed 's/^ //' << EOF >$dummy.c 593 sed 's/^ //' << EOF > "$dummy.c"
577 #include <sys/systemcfg.h> 594 #include <sys/systemcfg.h>
578 595
579 main() 596 main()
@@ -584,7 +601,7 @@ EOF
584 exit(0); 601 exit(0);
585 } 602 }
586EOF 603EOF
587 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 604 if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
588 then 605 then
589 echo "$SYSTEM_NAME" 606 echo "$SYSTEM_NAME"
590 else 607 else
@@ -598,7 +615,7 @@ EOF
598 exit ;; 615 exit ;;
599 *:AIX:*:[4567]) 616 *:AIX:*:[4567])
600 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 617 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
601 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 618 if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
602 IBM_ARCH=rs6000 619 IBM_ARCH=rs6000
603 else 620 else
604 IBM_ARCH=powerpc 621 IBM_ARCH=powerpc
@@ -607,18 +624,18 @@ EOF
607 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 624 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
608 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 625 awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
609 else 626 else
610 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 627 IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
611 fi 628 fi
612 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 629 echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
613 exit ;; 630 exit ;;
614 *:AIX:*:*) 631 *:AIX:*:*)
615 echo rs6000-ibm-aix 632 echo rs6000-ibm-aix
616 exit ;; 633 exit ;;
617 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 634 ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
618 echo romp-ibm-bsd4.4 635 echo romp-ibm-bsd4.4
619 exit ;; 636 exit ;;
620 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 637 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
621 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 638 echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
622 exit ;; # report: romp-ibm BSD 4.3 639 exit ;; # report: romp-ibm BSD 4.3
623 *:BOSX:*:*) 640 *:BOSX:*:*)
624 echo rs6000-bull-bosx 641 echo rs6000-bull-bosx
@@ -633,28 +650,28 @@ EOF
633 echo m68k-hp-bsd4.4 650 echo m68k-hp-bsd4.4
634 exit ;; 651 exit ;;
635 9000/[34678]??:HP-UX:*:*) 652 9000/[34678]??:HP-UX:*:*)
636 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 653 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
637 case "${UNAME_MACHINE}" in 654 case "$UNAME_MACHINE" in
638 9000/31? ) HP_ARCH=m68000 ;; 655 9000/31?) HP_ARCH=m68000 ;;
639 9000/[34]?? ) HP_ARCH=m68k ;; 656 9000/[34]??) HP_ARCH=m68k ;;
640 9000/[678][0-9][0-9]) 657 9000/[678][0-9][0-9])
641 if [ -x /usr/bin/getconf ]; then 658 if [ -x /usr/bin/getconf ]; then
642 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 659 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
643 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 660 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
644 case "${sc_cpu_version}" in 661 case "$sc_cpu_version" in
645 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 662 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
646 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 663 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
647 532) # CPU_PA_RISC2_0 664 532) # CPU_PA_RISC2_0
648 case "${sc_kernel_bits}" in 665 case "$sc_kernel_bits" in
649 32) HP_ARCH=hppa2.0n ;; 666 32) HP_ARCH=hppa2.0n ;;
650 64) HP_ARCH=hppa2.0w ;; 667 64) HP_ARCH=hppa2.0w ;;
651 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 668 '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
652 esac ;; 669 esac ;;
653 esac 670 esac
654 fi 671 fi
655 if [ "${HP_ARCH}" = "" ]; then 672 if [ "$HP_ARCH" = "" ]; then
656 eval $set_cc_for_build 673 set_cc_for_build
657 sed 's/^ //' << EOF >$dummy.c 674 sed 's/^ //' << EOF > "$dummy.c"
658 675
659 #define _HPUX_SOURCE 676 #define _HPUX_SOURCE
660 #include <stdlib.h> 677 #include <stdlib.h>
@@ -687,13 +704,13 @@ EOF
687 exit (0); 704 exit (0);
688 } 705 }
689EOF 706EOF
690 (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 707 (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
691 test -z "$HP_ARCH" && HP_ARCH=hppa 708 test -z "$HP_ARCH" && HP_ARCH=hppa
692 fi ;; 709 fi ;;
693 esac 710 esac
694 if [ ${HP_ARCH} = hppa2.0w ] 711 if [ "$HP_ARCH" = hppa2.0w ]
695 then 712 then
696 eval $set_cc_for_build 713 set_cc_for_build
697 714
698 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 715 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
699 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 716 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -712,15 +729,15 @@ EOF
712 HP_ARCH=hppa64 729 HP_ARCH=hppa64
713 fi 730 fi
714 fi 731 fi
715 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 732 echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
716 exit ;; 733 exit ;;
717 ia64:HP-UX:*:*) 734 ia64:HP-UX:*:*)
718 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 735 HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
719 echo ia64-hp-hpux${HPUX_REV} 736 echo ia64-hp-hpux"$HPUX_REV"
720 exit ;; 737 exit ;;
721 3050*:HI-UX:*:*) 738 3050*:HI-UX:*:*)
722 eval $set_cc_for_build 739 set_cc_for_build
723 sed 's/^ //' << EOF >$dummy.c 740 sed 's/^ //' << EOF > "$dummy.c"
724 #include <unistd.h> 741 #include <unistd.h>
725 int 742 int
726 main () 743 main ()
@@ -745,11 +762,11 @@ EOF
745 exit (0); 762 exit (0);
746 } 763 }
747EOF 764EOF
748 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 765 $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
749 { echo "$SYSTEM_NAME"; exit; } 766 { echo "$SYSTEM_NAME"; exit; }
750 echo unknown-hitachi-hiuxwe2 767 echo unknown-hitachi-hiuxwe2
751 exit ;; 768 exit ;;
752 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 769 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
753 echo hppa1.1-hp-bsd 770 echo hppa1.1-hp-bsd
754 exit ;; 771 exit ;;
755 9000/8??:4.3bsd:*:*) 772 9000/8??:4.3bsd:*:*)
@@ -758,7 +775,7 @@ EOF
758 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 775 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
759 echo hppa1.0-hp-mpeix 776 echo hppa1.0-hp-mpeix
760 exit ;; 777 exit ;;
761 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 778 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
762 echo hppa1.1-hp-osf 779 echo hppa1.1-hp-osf
763 exit ;; 780 exit ;;
764 hp8??:OSF1:*:*) 781 hp8??:OSF1:*:*)
@@ -766,9 +783,9 @@ EOF
766 exit ;; 783 exit ;;
767 i*86:OSF1:*:*) 784 i*86:OSF1:*:*)
768 if [ -x /usr/sbin/sysversion ] ; then 785 if [ -x /usr/sbin/sysversion ] ; then
769 echo ${UNAME_MACHINE}-unknown-osf1mk 786 echo "$UNAME_MACHINE"-unknown-osf1mk
770 else 787 else
771 echo ${UNAME_MACHINE}-unknown-osf1 788 echo "$UNAME_MACHINE"-unknown-osf1
772 fi 789 fi
773 exit ;; 790 exit ;;
774 parisc*:Lites*:*:*) 791 parisc*:Lites*:*:*)
@@ -793,130 +810,123 @@ EOF
793 echo c4-convex-bsd 810 echo c4-convex-bsd
794 exit ;; 811 exit ;;
795 CRAY*Y-MP:*:*:*) 812 CRAY*Y-MP:*:*:*)
796 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 813 echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
797 exit ;; 814 exit ;;
798 CRAY*[A-Z]90:*:*:*) 815 CRAY*[A-Z]90:*:*:*)
799 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 816 echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
800 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 817 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
801 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 818 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
802 -e 's/\.[^.]*$/.X/' 819 -e 's/\.[^.]*$/.X/'
803 exit ;; 820 exit ;;
804 CRAY*TS:*:*:*) 821 CRAY*TS:*:*:*)
805 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 822 echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
806 exit ;; 823 exit ;;
807 CRAY*T3E:*:*:*) 824 CRAY*T3E:*:*:*)
808 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 825 echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
809 exit ;; 826 exit ;;
810 CRAY*SV1:*:*:*) 827 CRAY*SV1:*:*:*)
811 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 828 echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
812 exit ;; 829 exit ;;
813 *:UNICOS/mp:*:*) 830 *:UNICOS/mp:*:*)
814 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 831 echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
815 exit ;; 832 exit ;;
816 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 833 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
817 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 834 FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
818 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 835 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
819 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 836 FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
820 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 837 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
821 exit ;; 838 exit ;;
822 5000:UNIX_System_V:4.*:*) 839 5000:UNIX_System_V:4.*:*)
823 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 840 FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
824 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 841 FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
825 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 842 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
826 exit ;; 843 exit ;;
827 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 844 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
828 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 845 echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
829 exit ;; 846 exit ;;
830 sparc*:BSD/OS:*:*) 847 sparc*:BSD/OS:*:*)
831 echo sparc-unknown-bsdi${UNAME_RELEASE} 848 echo sparc-unknown-bsdi"$UNAME_RELEASE"
832 exit ;; 849 exit ;;
833 *:BSD/OS:*:*) 850 *:BSD/OS:*:*)
834 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 851 echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
852 exit ;;
853 arm:FreeBSD:*:*)
854 UNAME_PROCESSOR=`uname -p`
855 set_cc_for_build
856 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
857 | grep -q __ARM_PCS_VFP
858 then
859 echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
860 else
861 echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
862 fi
835 exit ;; 863 exit ;;
836 *:FreeBSD:*:*) 864 *:FreeBSD:*:*)
837 UNAME_PROCESSOR=`/usr/bin/uname -p` 865 UNAME_PROCESSOR=`/usr/bin/uname -p`
838 case ${UNAME_PROCESSOR} in 866 case "$UNAME_PROCESSOR" in
839 amd64) 867 amd64)
840 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 868 UNAME_PROCESSOR=x86_64 ;;
841 *) 869 i386)
842 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 870 UNAME_PROCESSOR=i586 ;;
843 esac 871 esac
872 echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
844 exit ;; 873 exit ;;
845 i*:CYGWIN*:*) 874 i*:CYGWIN*:*)
846 echo ${UNAME_MACHINE}-pc-cygwin 875 echo "$UNAME_MACHINE"-pc-cygwin
847 exit ;; 876 exit ;;
848 *:MINGW64*:*) 877 *:MINGW64*:*)
849 echo ${UNAME_MACHINE}-pc-mingw64 878 echo "$UNAME_MACHINE"-pc-mingw64
850 exit ;; 879 exit ;;
851 *:MINGW*:*) 880 *:MINGW*:*)
852 echo ${UNAME_MACHINE}-pc-mingw32 881 echo "$UNAME_MACHINE"-pc-mingw32
853 exit ;; 882 exit ;;
854 *:MSYS*:*) 883 *:MSYS*:*)
855 echo ${UNAME_MACHINE}-pc-msys 884 echo "$UNAME_MACHINE"-pc-msys
856 exit ;;
857 i*:windows32*:*)
858 # uname -m includes "-pc" on this system.
859 echo ${UNAME_MACHINE}-mingw32
860 exit ;; 885 exit ;;
861 i*:PW*:*) 886 i*:PW*:*)
862 echo ${UNAME_MACHINE}-pc-pw32 887 echo "$UNAME_MACHINE"-pc-pw32
863 exit ;; 888 exit ;;
864 *:Interix*:*) 889 *:Interix*:*)
865 case ${UNAME_MACHINE} in 890 case "$UNAME_MACHINE" in
866 x86) 891 x86)
867 echo i586-pc-interix${UNAME_RELEASE} 892 echo i586-pc-interix"$UNAME_RELEASE"
868 exit ;; 893 exit ;;
869 authenticamd | genuineintel | EM64T) 894 authenticamd | genuineintel | EM64T)
870 echo x86_64-unknown-interix${UNAME_RELEASE} 895 echo x86_64-unknown-interix"$UNAME_RELEASE"
871 exit ;; 896 exit ;;
872 IA64) 897 IA64)
873 echo ia64-unknown-interix${UNAME_RELEASE} 898 echo ia64-unknown-interix"$UNAME_RELEASE"
874 exit ;; 899 exit ;;
875 esac ;; 900 esac ;;
876 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
877 echo i${UNAME_MACHINE}-pc-mks
878 exit ;;
879 8664:Windows_NT:*)
880 echo x86_64-pc-mks
881 exit ;;
882 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
883 # How do we know it's Interix rather than the generic POSIX subsystem?
884 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
885 # UNAME_MACHINE based on the output of uname instead of i386?
886 echo i586-pc-interix
887 exit ;;
888 i*:UWIN*:*) 901 i*:UWIN*:*)
889 echo ${UNAME_MACHINE}-pc-uwin 902 echo "$UNAME_MACHINE"-pc-uwin
890 exit ;; 903 exit ;;
891 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 904 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
892 echo x86_64-unknown-cygwin 905 echo x86_64-pc-cygwin
893 exit ;;
894 p*:CYGWIN*:*)
895 echo powerpcle-unknown-cygwin
896 exit ;; 906 exit ;;
897 prep*:SunOS:5.*:*) 907 prep*:SunOS:5.*:*)
898 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 908 echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
899 exit ;; 909 exit ;;
900 *:GNU:*:*) 910 *:GNU:*:*)
901 # the GNU system 911 # the GNU system
902 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 912 echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
903 exit ;; 913 exit ;;
904 *:GNU/*:*:*) 914 *:GNU/*:*:*)
905 # other systems with GNU libc and userland 915 # other systems with GNU libc and userland
906 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} 916 echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
907 exit ;; 917 exit ;;
908 i*86:Minix:*:*) 918 *:Minix:*:*)
909 echo ${UNAME_MACHINE}-pc-minix 919 echo "$UNAME_MACHINE"-unknown-minix
910 exit ;; 920 exit ;;
911 aarch64:Linux:*:*) 921 aarch64:Linux:*:*)
912 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 922 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
913 exit ;; 923 exit ;;
914 aarch64_be:Linux:*:*) 924 aarch64_be:Linux:*:*)
915 UNAME_MACHINE=aarch64_be 925 UNAME_MACHINE=aarch64_be
916 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 926 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
917 exit ;; 927 exit ;;
918 alpha:Linux:*:*) 928 alpha:Linux:*:*)
919 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 929 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
920 EV5) UNAME_MACHINE=alphaev5 ;; 930 EV5) UNAME_MACHINE=alphaev5 ;;
921 EV56) UNAME_MACHINE=alphaev56 ;; 931 EV56) UNAME_MACHINE=alphaev56 ;;
922 PCA56) UNAME_MACHINE=alphapca56 ;; 932 PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -927,134 +937,168 @@ EOF
927 esac 937 esac
928 objdump --private-headers /bin/sh | grep -q ld.so.1 938 objdump --private-headers /bin/sh | grep -q ld.so.1
929 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 939 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
930 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 940 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
931 exit ;; 941 exit ;;
932 arc:Linux:*:* | arceb:Linux:*:*) 942 arc:Linux:*:* | arceb:Linux:*:*)
933 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 943 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
934 exit ;; 944 exit ;;
935 arm*:Linux:*:*) 945 arm*:Linux:*:*)
936 eval $set_cc_for_build 946 set_cc_for_build
937 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 947 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
938 | grep -q __ARM_EABI__ 948 | grep -q __ARM_EABI__
939 then 949 then
940 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 950 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
941 else 951 else
942 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 952 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
943 | grep -q __ARM_PCS_VFP 953 | grep -q __ARM_PCS_VFP
944 then 954 then
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi 955 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
946 else 956 else
947 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf 957 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
948 fi 958 fi
949 fi 959 fi
950 exit ;; 960 exit ;;
951 avr32*:Linux:*:*) 961 avr32*:Linux:*:*)
952 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 962 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
953 exit ;; 963 exit ;;
954 cris:Linux:*:*) 964 cris:Linux:*:*)
955 echo ${UNAME_MACHINE}-axis-linux-${LIBC} 965 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
956 exit ;; 966 exit ;;
957 crisv32:Linux:*:*) 967 crisv32:Linux:*:*)
958 echo ${UNAME_MACHINE}-axis-linux-${LIBC} 968 echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
959 exit ;; 969 exit ;;
960 e2k:Linux:*:*) 970 e2k:Linux:*:*)
961 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 971 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
962 exit ;; 972 exit ;;
963 frv:Linux:*:*) 973 frv:Linux:*:*)
964 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 974 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
965 exit ;; 975 exit ;;
966 hexagon:Linux:*:*) 976 hexagon:Linux:*:*)
967 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 977 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
968 exit ;; 978 exit ;;
969 i*86:Linux:*:*) 979 i*86:Linux:*:*)
970 echo ${UNAME_MACHINE}-pc-linux-${LIBC} 980 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
971 exit ;; 981 exit ;;
972 ia64:Linux:*:*) 982 ia64:Linux:*:*)
973 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 983 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
974 exit ;; 984 exit ;;
975 k1om:Linux:*:*) 985 k1om:Linux:*:*)
976 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 986 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
977 exit ;; 987 exit ;;
978 m32r*:Linux:*:*) 988 m32r*:Linux:*:*)
979 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 989 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
980 exit ;; 990 exit ;;
981 m68*:Linux:*:*) 991 m68*:Linux:*:*)
982 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 992 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
983 exit ;; 993 exit ;;
984 mips:Linux:*:* | mips64:Linux:*:*) 994 mips:Linux:*:* | mips64:Linux:*:*)
985 eval $set_cc_for_build 995 set_cc_for_build
986 sed 's/^ //' << EOF >$dummy.c 996 IS_GLIBC=0
997 test x"${LIBC}" = xgnu && IS_GLIBC=1
998 sed 's/^ //' << EOF > "$dummy.c"
987 #undef CPU 999 #undef CPU
988 #undef ${UNAME_MACHINE} 1000 #undef mips
989 #undef ${UNAME_MACHINE}el 1001 #undef mipsel
1002 #undef mips64
1003 #undef mips64el
1004 #if ${IS_GLIBC} && defined(_ABI64)
1005 LIBCABI=gnuabi64
1006 #else
1007 #if ${IS_GLIBC} && defined(_ABIN32)
1008 LIBCABI=gnuabin32
1009 #else
1010 LIBCABI=${LIBC}
1011 #endif
1012 #endif
1013
1014 #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1015 CPU=mipsisa64r6
1016 #else
1017 #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1018 CPU=mipsisa32r6
1019 #else
1020 #if defined(__mips64)
1021 CPU=mips64
1022 #else
1023 CPU=mips
1024 #endif
1025 #endif
1026 #endif
1027
990 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1028 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
991 CPU=${UNAME_MACHINE}el 1029 MIPS_ENDIAN=el
992 #else 1030 #else
993 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1031 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
994 CPU=${UNAME_MACHINE} 1032 MIPS_ENDIAN=
995 #else 1033 #else
996 CPU= 1034 MIPS_ENDIAN=
997 #endif 1035 #endif
998 #endif 1036 #endif
999EOF 1037EOF
1000 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 1038 eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
1001 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } 1039 test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1002 ;; 1040 ;;
1041 mips64el:Linux:*:*)
1042 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1043 exit ;;
1003 openrisc*:Linux:*:*) 1044 openrisc*:Linux:*:*)
1004 echo or1k-unknown-linux-${LIBC} 1045 echo or1k-unknown-linux-"$LIBC"
1005 exit ;; 1046 exit ;;
1006 or32:Linux:*:* | or1k*:Linux:*:*) 1047 or32:Linux:*:* | or1k*:Linux:*:*)
1007 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1048 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1008 exit ;; 1049 exit ;;
1009 padre:Linux:*:*) 1050 padre:Linux:*:*)
1010 echo sparc-unknown-linux-${LIBC} 1051 echo sparc-unknown-linux-"$LIBC"
1011 exit ;; 1052 exit ;;
1012 parisc64:Linux:*:* | hppa64:Linux:*:*) 1053 parisc64:Linux:*:* | hppa64:Linux:*:*)
1013 echo hppa64-unknown-linux-${LIBC} 1054 echo hppa64-unknown-linux-"$LIBC"
1014 exit ;; 1055 exit ;;
1015 parisc:Linux:*:* | hppa:Linux:*:*) 1056 parisc:Linux:*:* | hppa:Linux:*:*)
1016 # Look for CPU level 1057 # Look for CPU level
1017 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1058 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1018 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; 1059 PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1019 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; 1060 PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1020 *) echo hppa-unknown-linux-${LIBC} ;; 1061 *) echo hppa-unknown-linux-"$LIBC" ;;
1021 esac 1062 esac
1022 exit ;; 1063 exit ;;
1023 ppc64:Linux:*:*) 1064 ppc64:Linux:*:*)
1024 echo powerpc64-unknown-linux-${LIBC} 1065 echo powerpc64-unknown-linux-"$LIBC"
1025 exit ;; 1066 exit ;;
1026 ppc:Linux:*:*) 1067 ppc:Linux:*:*)
1027 echo powerpc-unknown-linux-${LIBC} 1068 echo powerpc-unknown-linux-"$LIBC"
1028 exit ;; 1069 exit ;;
1029 ppc64le:Linux:*:*) 1070 ppc64le:Linux:*:*)
1030 echo powerpc64le-unknown-linux-${LIBC} 1071 echo powerpc64le-unknown-linux-"$LIBC"
1031 exit ;; 1072 exit ;;
1032 ppcle:Linux:*:*) 1073 ppcle:Linux:*:*)
1033 echo powerpcle-unknown-linux-${LIBC} 1074 echo powerpcle-unknown-linux-"$LIBC"
1075 exit ;;
1076 riscv32:Linux:*:* | riscv64:Linux:*:*)
1077 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1034 exit ;; 1078 exit ;;
1035 s390:Linux:*:* | s390x:Linux:*:*) 1079 s390:Linux:*:* | s390x:Linux:*:*)
1036 echo ${UNAME_MACHINE}-ibm-linux-${LIBC} 1080 echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
1037 exit ;; 1081 exit ;;
1038 sh64*:Linux:*:*) 1082 sh64*:Linux:*:*)
1039 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1083 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1040 exit ;; 1084 exit ;;
1041 sh*:Linux:*:*) 1085 sh*:Linux:*:*)
1042 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1086 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1043 exit ;; 1087 exit ;;
1044 sparc:Linux:*:* | sparc64:Linux:*:*) 1088 sparc:Linux:*:* | sparc64:Linux:*:*)
1045 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1089 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1046 exit ;; 1090 exit ;;
1047 tile*:Linux:*:*) 1091 tile*:Linux:*:*)
1048 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1092 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1049 exit ;; 1093 exit ;;
1050 vax:Linux:*:*) 1094 vax:Linux:*:*)
1051 echo ${UNAME_MACHINE}-dec-linux-${LIBC} 1095 echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
1052 exit ;; 1096 exit ;;
1053 x86_64:Linux:*:*) 1097 x86_64:Linux:*:*)
1054 echo ${UNAME_MACHINE}-pc-linux-${LIBC} 1098 echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
1055 exit ;; 1099 exit ;;
1056 xtensa*:Linux:*:*) 1100 xtensa*:Linux:*:*)
1057 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1101 echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1058 exit ;; 1102 exit ;;
1059 i*86:DYNIX/ptx:4*:*) 1103 i*86:DYNIX/ptx:4*:*)
1060 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1104 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1068,34 +1112,34 @@ EOF
1068 # I am not positive that other SVR4 systems won't match this, 1112 # I am not positive that other SVR4 systems won't match this,
1069 # I just have to hope. -- rms. 1113 # I just have to hope. -- rms.
1070 # Use sysv4.2uw... so that sysv4* matches it. 1114 # Use sysv4.2uw... so that sysv4* matches it.
1071 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1115 echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
1072 exit ;; 1116 exit ;;
1073 i*86:OS/2:*:*) 1117 i*86:OS/2:*:*)
1074 # If we were able to find `uname', then EMX Unix compatibility 1118 # If we were able to find `uname', then EMX Unix compatibility
1075 # is probably installed. 1119 # is probably installed.
1076 echo ${UNAME_MACHINE}-pc-os2-emx 1120 echo "$UNAME_MACHINE"-pc-os2-emx
1077 exit ;; 1121 exit ;;
1078 i*86:XTS-300:*:STOP) 1122 i*86:XTS-300:*:STOP)
1079 echo ${UNAME_MACHINE}-unknown-stop 1123 echo "$UNAME_MACHINE"-unknown-stop
1080 exit ;; 1124 exit ;;
1081 i*86:atheos:*:*) 1125 i*86:atheos:*:*)
1082 echo ${UNAME_MACHINE}-unknown-atheos 1126 echo "$UNAME_MACHINE"-unknown-atheos
1083 exit ;; 1127 exit ;;
1084 i*86:syllable:*:*) 1128 i*86:syllable:*:*)
1085 echo ${UNAME_MACHINE}-pc-syllable 1129 echo "$UNAME_MACHINE"-pc-syllable
1086 exit ;; 1130 exit ;;
1087 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1131 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1088 echo i386-unknown-lynxos${UNAME_RELEASE} 1132 echo i386-unknown-lynxos"$UNAME_RELEASE"
1089 exit ;; 1133 exit ;;
1090 i*86:*DOS:*:*) 1134 i*86:*DOS:*:*)
1091 echo ${UNAME_MACHINE}-pc-msdosdjgpp 1135 echo "$UNAME_MACHINE"-pc-msdosdjgpp
1092 exit ;; 1136 exit ;;
1093 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1137 i*86:*:4.*:*)
1094 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1138 UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1095 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1139 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1096 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1140 echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
1097 else 1141 else
1098 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1142 echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
1099 fi 1143 fi
1100 exit ;; 1144 exit ;;
1101 i*86:*:5:[678]*) 1145 i*86:*:5:[678]*)
@@ -1105,12 +1149,12 @@ EOF
1105 *Pentium) UNAME_MACHINE=i586 ;; 1149 *Pentium) UNAME_MACHINE=i586 ;;
1106 *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1150 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1107 esac 1151 esac
1108 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1152 echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
1109 exit ;; 1153 exit ;;
1110 i*86:*:3.2:*) 1154 i*86:*:3.2:*)
1111 if test -f /usr/options/cb.name; then 1155 if test -f /usr/options/cb.name; then
1112 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1156 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1113 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1157 echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
1114 elif /bin/uname -X 2>/dev/null >/dev/null ; then 1158 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1115 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1159 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1116 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1160 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1120,9 +1164,9 @@ EOF
1120 && UNAME_MACHINE=i686 1164 && UNAME_MACHINE=i686
1121 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1165 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1122 && UNAME_MACHINE=i686 1166 && UNAME_MACHINE=i686
1123 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1167 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
1124 else 1168 else
1125 echo ${UNAME_MACHINE}-pc-sysv32 1169 echo "$UNAME_MACHINE"-pc-sysv32
1126 fi 1170 fi
1127 exit ;; 1171 exit ;;
1128 pc:*:*:*) 1172 pc:*:*:*)
@@ -1142,9 +1186,9 @@ EOF
1142 exit ;; 1186 exit ;;
1143 i860:*:4.*:*) # i860-SVR4 1187 i860:*:4.*:*) # i860-SVR4
1144 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1188 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1145 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1189 echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
1146 else # Add other i860-SVR4 vendors below as they are discovered. 1190 else # Add other i860-SVR4 vendors below as they are discovered.
1147 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1191 echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
1148 fi 1192 fi
1149 exit ;; 1193 exit ;;
1150 mini*:CTIX:SYS*5:*) 1194 mini*:CTIX:SYS*5:*)
@@ -1164,9 +1208,9 @@ EOF
1164 test -r /etc/.relid \ 1208 test -r /etc/.relid \
1165 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1209 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1166 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1210 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1167 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1211 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1168 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1212 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1169 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1213 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1170 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1214 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1171 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1215 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1172 && { echo i486-ncr-sysv4; exit; } ;; 1216 && { echo i486-ncr-sysv4; exit; } ;;
@@ -1175,28 +1219,28 @@ EOF
1175 test -r /etc/.relid \ 1219 test -r /etc/.relid \
1176 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1220 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1177 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1221 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1178 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1222 && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1179 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1223 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1180 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1224 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1181 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1225 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1182 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1226 && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1183 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1227 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1184 echo m68k-unknown-lynxos${UNAME_RELEASE} 1228 echo m68k-unknown-lynxos"$UNAME_RELEASE"
1185 exit ;; 1229 exit ;;
1186 mc68030:UNIX_System_V:4.*:*) 1230 mc68030:UNIX_System_V:4.*:*)
1187 echo m68k-atari-sysv4 1231 echo m68k-atari-sysv4
1188 exit ;; 1232 exit ;;
1189 TSUNAMI:LynxOS:2.*:*) 1233 TSUNAMI:LynxOS:2.*:*)
1190 echo sparc-unknown-lynxos${UNAME_RELEASE} 1234 echo sparc-unknown-lynxos"$UNAME_RELEASE"
1191 exit ;; 1235 exit ;;
1192 rs6000:LynxOS:2.*:*) 1236 rs6000:LynxOS:2.*:*)
1193 echo rs6000-unknown-lynxos${UNAME_RELEASE} 1237 echo rs6000-unknown-lynxos"$UNAME_RELEASE"
1194 exit ;; 1238 exit ;;
1195 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1239 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1196 echo powerpc-unknown-lynxos${UNAME_RELEASE} 1240 echo powerpc-unknown-lynxos"$UNAME_RELEASE"
1197 exit ;; 1241 exit ;;
1198 SM[BE]S:UNIX_SV:*:*) 1242 SM[BE]S:UNIX_SV:*:*)
1199 echo mips-dde-sysv${UNAME_RELEASE} 1243 echo mips-dde-sysv"$UNAME_RELEASE"
1200 exit ;; 1244 exit ;;
1201 RM*:ReliantUNIX-*:*:*) 1245 RM*:ReliantUNIX-*:*:*)
1202 echo mips-sni-sysv4 1246 echo mips-sni-sysv4
@@ -1207,7 +1251,7 @@ EOF
1207 *:SINIX-*:*:*) 1251 *:SINIX-*:*:*)
1208 if uname -p 2>/dev/null >/dev/null ; then 1252 if uname -p 2>/dev/null >/dev/null ; then
1209 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1253 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1210 echo ${UNAME_MACHINE}-sni-sysv4 1254 echo "$UNAME_MACHINE"-sni-sysv4
1211 else 1255 else
1212 echo ns32k-sni-sysv 1256 echo ns32k-sni-sysv
1213 fi 1257 fi
@@ -1227,23 +1271,23 @@ EOF
1227 exit ;; 1271 exit ;;
1228 i*86:VOS:*:*) 1272 i*86:VOS:*:*)
1229 # From Paul.Green@stratus.com. 1273 # From Paul.Green@stratus.com.
1230 echo ${UNAME_MACHINE}-stratus-vos 1274 echo "$UNAME_MACHINE"-stratus-vos
1231 exit ;; 1275 exit ;;
1232 *:VOS:*:*) 1276 *:VOS:*:*)
1233 # From Paul.Green@stratus.com. 1277 # From Paul.Green@stratus.com.
1234 echo hppa1.1-stratus-vos 1278 echo hppa1.1-stratus-vos
1235 exit ;; 1279 exit ;;
1236 mc68*:A/UX:*:*) 1280 mc68*:A/UX:*:*)
1237 echo m68k-apple-aux${UNAME_RELEASE} 1281 echo m68k-apple-aux"$UNAME_RELEASE"
1238 exit ;; 1282 exit ;;
1239 news*:NEWS-OS:6*:*) 1283 news*:NEWS-OS:6*:*)
1240 echo mips-sony-newsos6 1284 echo mips-sony-newsos6
1241 exit ;; 1285 exit ;;
1242 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1286 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1243 if [ -d /usr/nec ]; then 1287 if [ -d /usr/nec ]; then
1244 echo mips-nec-sysv${UNAME_RELEASE} 1288 echo mips-nec-sysv"$UNAME_RELEASE"
1245 else 1289 else
1246 echo mips-unknown-sysv${UNAME_RELEASE} 1290 echo mips-unknown-sysv"$UNAME_RELEASE"
1247 fi 1291 fi
1248 exit ;; 1292 exit ;;
1249 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1293 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
@@ -1262,60 +1306,68 @@ EOF
1262 echo x86_64-unknown-haiku 1306 echo x86_64-unknown-haiku
1263 exit ;; 1307 exit ;;
1264 SX-4:SUPER-UX:*:*) 1308 SX-4:SUPER-UX:*:*)
1265 echo sx4-nec-superux${UNAME_RELEASE} 1309 echo sx4-nec-superux"$UNAME_RELEASE"
1266 exit ;; 1310 exit ;;
1267 SX-5:SUPER-UX:*:*) 1311 SX-5:SUPER-UX:*:*)
1268 echo sx5-nec-superux${UNAME_RELEASE} 1312 echo sx5-nec-superux"$UNAME_RELEASE"
1269 exit ;; 1313 exit ;;
1270 SX-6:SUPER-UX:*:*) 1314 SX-6:SUPER-UX:*:*)
1271 echo sx6-nec-superux${UNAME_RELEASE} 1315 echo sx6-nec-superux"$UNAME_RELEASE"
1272 exit ;; 1316 exit ;;
1273 SX-7:SUPER-UX:*:*) 1317 SX-7:SUPER-UX:*:*)
1274 echo sx7-nec-superux${UNAME_RELEASE} 1318 echo sx7-nec-superux"$UNAME_RELEASE"
1275 exit ;; 1319 exit ;;
1276 SX-8:SUPER-UX:*:*) 1320 SX-8:SUPER-UX:*:*)
1277 echo sx8-nec-superux${UNAME_RELEASE} 1321 echo sx8-nec-superux"$UNAME_RELEASE"
1278 exit ;; 1322 exit ;;
1279 SX-8R:SUPER-UX:*:*) 1323 SX-8R:SUPER-UX:*:*)
1280 echo sx8r-nec-superux${UNAME_RELEASE} 1324 echo sx8r-nec-superux"$UNAME_RELEASE"
1281 exit ;; 1325 exit ;;
1282 SX-ACE:SUPER-UX:*:*) 1326 SX-ACE:SUPER-UX:*:*)
1283 echo sxace-nec-superux${UNAME_RELEASE} 1327 echo sxace-nec-superux"$UNAME_RELEASE"
1284 exit ;; 1328 exit ;;
1285 Power*:Rhapsody:*:*) 1329 Power*:Rhapsody:*:*)
1286 echo powerpc-apple-rhapsody${UNAME_RELEASE} 1330 echo powerpc-apple-rhapsody"$UNAME_RELEASE"
1287 exit ;; 1331 exit ;;
1288 *:Rhapsody:*:*) 1332 *:Rhapsody:*:*)
1289 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1333 echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
1290 exit ;; 1334 exit ;;
1291 *:Darwin:*:*) 1335 *:Darwin:*:*)
1292 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1336 UNAME_PROCESSOR=`uname -p`
1293 eval $set_cc_for_build 1337 case $UNAME_PROCESSOR in
1294 if test "$UNAME_PROCESSOR" = unknown ; then 1338 unknown) UNAME_PROCESSOR=powerpc ;;
1295 UNAME_PROCESSOR=powerpc 1339 esac
1340 if command -v xcode-select > /dev/null 2> /dev/null && \
1341 ! xcode-select --print-path > /dev/null 2> /dev/null ; then
1342 # Avoid executing cc if there is no toolchain installed as
1343 # cc will be a stub that puts up a graphical alert
1344 # prompting the user to install developer tools.
1345 CC_FOR_BUILD=no_compiler_found
1346 else
1347 set_cc_for_build
1296 fi 1348 fi
1297 if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then 1349 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
1298 if [ "$CC_FOR_BUILD" != no_compiler_found ]; then 1350 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1299 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1351 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1300 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1352 grep IS_64BIT_ARCH >/dev/null
1301 grep IS_64BIT_ARCH >/dev/null 1353 then
1302 then 1354 case $UNAME_PROCESSOR in
1303 case $UNAME_PROCESSOR in 1355 i386) UNAME_PROCESSOR=x86_64 ;;
1304 i386) UNAME_PROCESSOR=x86_64 ;; 1356 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1305 powerpc) UNAME_PROCESSOR=powerpc64 ;; 1357 esac
1306 esac 1358 fi
1307 fi 1359 # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1360 if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1361 (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1362 grep IS_PPC >/dev/null
1363 then
1364 UNAME_PROCESSOR=powerpc
1308 fi 1365 fi
1309 elif test "$UNAME_PROCESSOR" = i386 ; then 1366 elif test "$UNAME_PROCESSOR" = i386 ; then
1310 # Avoid executing cc on OS X 10.9, as it ships with a stub 1367 # uname -m returns i386 or x86_64
1311 # that puts up a graphical alert prompting to install 1368 UNAME_PROCESSOR=$UNAME_MACHINE
1312 # developer tools. Any system running Mac OS X 10.7 or
1313 # later (Darwin 11 and later) is required to have a 64-bit
1314 # processor. This is not true of the ARM version of Darwin
1315 # that Apple uses in portable devices.
1316 UNAME_PROCESSOR=x86_64
1317 fi 1369 fi
1318 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1370 echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
1319 exit ;; 1371 exit ;;
1320 *:procnto*:*:* | *:QNX:[0123456789]*:*) 1372 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1321 UNAME_PROCESSOR=`uname -p` 1373 UNAME_PROCESSOR=`uname -p`
@@ -1323,19 +1375,25 @@ EOF
1323 UNAME_PROCESSOR=i386 1375 UNAME_PROCESSOR=i386
1324 UNAME_MACHINE=pc 1376 UNAME_MACHINE=pc
1325 fi 1377 fi
1326 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1378 echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
1327 exit ;; 1379 exit ;;
1328 *:QNX:*:4*) 1380 *:QNX:*:4*)
1329 echo i386-pc-qnx 1381 echo i386-pc-qnx
1330 exit ;; 1382 exit ;;
1331 NEO-?:NONSTOP_KERNEL:*:*) 1383 NEO-*:NONSTOP_KERNEL:*:*)
1332 echo neo-tandem-nsk${UNAME_RELEASE} 1384 echo neo-tandem-nsk"$UNAME_RELEASE"
1333 exit ;; 1385 exit ;;
1334 NSE-*:NONSTOP_KERNEL:*:*) 1386 NSE-*:NONSTOP_KERNEL:*:*)
1335 echo nse-tandem-nsk${UNAME_RELEASE} 1387 echo nse-tandem-nsk"$UNAME_RELEASE"
1336 exit ;; 1388 exit ;;
1337 NSR-?:NONSTOP_KERNEL:*:*) 1389 NSR-*:NONSTOP_KERNEL:*:*)
1338 echo nsr-tandem-nsk${UNAME_RELEASE} 1390 echo nsr-tandem-nsk"$UNAME_RELEASE"
1391 exit ;;
1392 NSV-*:NONSTOP_KERNEL:*:*)
1393 echo nsv-tandem-nsk"$UNAME_RELEASE"
1394 exit ;;
1395 NSX-*:NONSTOP_KERNEL:*:*)
1396 echo nsx-tandem-nsk"$UNAME_RELEASE"
1339 exit ;; 1397 exit ;;
1340 *:NonStop-UX:*:*) 1398 *:NonStop-UX:*:*)
1341 echo mips-compaq-nonstopux 1399 echo mips-compaq-nonstopux
@@ -1344,18 +1402,19 @@ EOF
1344 echo bs2000-siemens-sysv 1402 echo bs2000-siemens-sysv
1345 exit ;; 1403 exit ;;
1346 DS/*:UNIX_System_V:*:*) 1404 DS/*:UNIX_System_V:*:*)
1347 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1405 echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
1348 exit ;; 1406 exit ;;
1349 *:Plan9:*:*) 1407 *:Plan9:*:*)
1350 # "uname -m" is not consistent, so use $cputype instead. 386 1408 # "uname -m" is not consistent, so use $cputype instead. 386
1351 # is converted to i386 for consistency with other x86 1409 # is converted to i386 for consistency with other x86
1352 # operating systems. 1410 # operating systems.
1411 # shellcheck disable=SC2154
1353 if test "$cputype" = 386; then 1412 if test "$cputype" = 386; then
1354 UNAME_MACHINE=i386 1413 UNAME_MACHINE=i386
1355 else 1414 else
1356 UNAME_MACHINE="$cputype" 1415 UNAME_MACHINE="$cputype"
1357 fi 1416 fi
1358 echo ${UNAME_MACHINE}-unknown-plan9 1417 echo "$UNAME_MACHINE"-unknown-plan9
1359 exit ;; 1418 exit ;;
1360 *:TOPS-10:*:*) 1419 *:TOPS-10:*:*)
1361 echo pdp10-unknown-tops10 1420 echo pdp10-unknown-tops10
@@ -1376,14 +1435,14 @@ EOF
1376 echo pdp10-unknown-its 1435 echo pdp10-unknown-its
1377 exit ;; 1436 exit ;;
1378 SEI:*:*:SEIUX) 1437 SEI:*:*:SEIUX)
1379 echo mips-sei-seiux${UNAME_RELEASE} 1438 echo mips-sei-seiux"$UNAME_RELEASE"
1380 exit ;; 1439 exit ;;
1381 *:DragonFly:*:*) 1440 *:DragonFly:*:*)
1382 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1441 echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
1383 exit ;; 1442 exit ;;
1384 *:*VMS:*:*) 1443 *:*VMS:*:*)
1385 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1444 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1386 case "${UNAME_MACHINE}" in 1445 case "$UNAME_MACHINE" in
1387 A*) echo alpha-dec-vms ; exit ;; 1446 A*) echo alpha-dec-vms ; exit ;;
1388 I*) echo ia64-dec-vms ; exit ;; 1447 I*) echo ia64-dec-vms ; exit ;;
1389 V*) echo vax-dec-vms ; exit ;; 1448 V*) echo vax-dec-vms ; exit ;;
@@ -1392,32 +1451,190 @@ EOF
1392 echo i386-pc-xenix 1451 echo i386-pc-xenix
1393 exit ;; 1452 exit ;;
1394 i*86:skyos:*:*) 1453 i*86:skyos:*:*)
1395 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` 1454 echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
1396 exit ;; 1455 exit ;;
1397 i*86:rdos:*:*) 1456 i*86:rdos:*:*)
1398 echo ${UNAME_MACHINE}-pc-rdos 1457 echo "$UNAME_MACHINE"-pc-rdos
1399 exit ;; 1458 exit ;;
1400 i*86:AROS:*:*) 1459 i*86:AROS:*:*)
1401 echo ${UNAME_MACHINE}-pc-aros 1460 echo "$UNAME_MACHINE"-pc-aros
1402 exit ;; 1461 exit ;;
1403 x86_64:VMkernel:*:*) 1462 x86_64:VMkernel:*:*)
1404 echo ${UNAME_MACHINE}-unknown-esx 1463 echo "$UNAME_MACHINE"-unknown-esx
1405 exit ;; 1464 exit ;;
1406 amd64:Isilon\ OneFS:*:*) 1465 amd64:Isilon\ OneFS:*:*)
1407 echo x86_64-unknown-onefs 1466 echo x86_64-unknown-onefs
1408 exit ;; 1467 exit ;;
1468 *:Unleashed:*:*)
1469 echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
1470 exit ;;
1471esac
1472
1473# No uname command or uname output not recognized.
1474set_cc_for_build
1475cat > "$dummy.c" <<EOF
1476#ifdef _SEQUENT_
1477#include <sys/types.h>
1478#include <sys/utsname.h>
1479#endif
1480#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1481#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1482#include <signal.h>
1483#if defined(_SIZE_T_) || defined(SIGLOST)
1484#include <sys/utsname.h>
1485#endif
1486#endif
1487#endif
1488main ()
1489{
1490#if defined (sony)
1491#if defined (MIPSEB)
1492 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1493 I don't know.... */
1494 printf ("mips-sony-bsd\n"); exit (0);
1495#else
1496#include <sys/param.h>
1497 printf ("m68k-sony-newsos%s\n",
1498#ifdef NEWSOS4
1499 "4"
1500#else
1501 ""
1502#endif
1503 ); exit (0);
1504#endif
1505#endif
1506
1507#if defined (NeXT)
1508#if !defined (__ARCHITECTURE__)
1509#define __ARCHITECTURE__ "m68k"
1510#endif
1511 int version;
1512 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1513 if (version < 4)
1514 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1515 else
1516 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1517 exit (0);
1518#endif
1519
1520#if defined (MULTIMAX) || defined (n16)
1521#if defined (UMAXV)
1522 printf ("ns32k-encore-sysv\n"); exit (0);
1523#else
1524#if defined (CMU)
1525 printf ("ns32k-encore-mach\n"); exit (0);
1526#else
1527 printf ("ns32k-encore-bsd\n"); exit (0);
1528#endif
1529#endif
1530#endif
1531
1532#if defined (__386BSD__)
1533 printf ("i386-pc-bsd\n"); exit (0);
1534#endif
1535
1536#if defined (sequent)
1537#if defined (i386)
1538 printf ("i386-sequent-dynix\n"); exit (0);
1539#endif
1540#if defined (ns32000)
1541 printf ("ns32k-sequent-dynix\n"); exit (0);
1542#endif
1543#endif
1544
1545#if defined (_SEQUENT_)
1546 struct utsname un;
1547
1548 uname(&un);
1549 if (strncmp(un.version, "V2", 2) == 0) {
1550 printf ("i386-sequent-ptx2\n"); exit (0);
1551 }
1552 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1553 printf ("i386-sequent-ptx1\n"); exit (0);
1554 }
1555 printf ("i386-sequent-ptx\n"); exit (0);
1556#endif
1557
1558#if defined (vax)
1559#if !defined (ultrix)
1560#include <sys/param.h>
1561#if defined (BSD)
1562#if BSD == 43
1563 printf ("vax-dec-bsd4.3\n"); exit (0);
1564#else
1565#if BSD == 199006
1566 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1567#else
1568 printf ("vax-dec-bsd\n"); exit (0);
1569#endif
1570#endif
1571#else
1572 printf ("vax-dec-bsd\n"); exit (0);
1573#endif
1574#else
1575#if defined(_SIZE_T_) || defined(SIGLOST)
1576 struct utsname un;
1577 uname (&un);
1578 printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1579#else
1580 printf ("vax-dec-ultrix\n"); exit (0);
1581#endif
1582#endif
1583#endif
1584#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1585#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1586#if defined(_SIZE_T_) || defined(SIGLOST)
1587 struct utsname *un;
1588 uname (&un);
1589 printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1590#else
1591 printf ("mips-dec-ultrix\n"); exit (0);
1592#endif
1593#endif
1594#endif
1595
1596#if defined (alliant) && defined (i860)
1597 printf ("i860-alliant-bsd\n"); exit (0);
1598#endif
1599
1600 exit (1);
1601}
1602EOF
1603
1604$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1605 { echo "$SYSTEM_NAME"; exit; }
1606
1607# Apollos put the system type in the environment.
1608test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1609
1610echo "$0: unable to guess system type" >&2
1611
1612case "$UNAME_MACHINE:$UNAME_SYSTEM" in
1613 mips:Linux | mips64:Linux)
1614 # If we got here on MIPS GNU/Linux, output extra information.
1615 cat >&2 <<EOF
1616
1617NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1618the system type. Please install a C compiler and try again.
1619EOF
1620 ;;
1409esac 1621esac
1410 1622
1411cat >&2 <<EOF 1623cat >&2 <<EOF
1412$0: unable to guess system type
1413 1624
1414This script (version $timestamp), has failed to recognize the 1625This script (version $timestamp), has failed to recognize the
1415operating system you are using. If your script is old, overwrite 1626operating system you are using. If your script is old, overwrite *all*
1416config.guess and config.sub with the latest versions from: 1627copies of config.guess and config.sub with the latest versions from:
1417 1628
1418 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess 1629 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1419and 1630and
1420 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 1631 https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1632EOF
1633
1634year=`echo $timestamp | sed 's,-.*,,'`
1635# shellcheck disable=SC2003
1636if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then
1637 cat >&2 <<EOF
1421 1638
1422If $0 has already been updated, send the following data and any 1639If $0 has already been updated, send the following data and any
1423information you think might be pertinent to config-patches@gnu.org to 1640information you think might be pertinent to config-patches@gnu.org to
@@ -1440,16 +1657,17 @@ hostinfo = `(hostinfo) 2>/dev/null`
1440/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1657/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1441/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1658/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1442 1659
1443UNAME_MACHINE = ${UNAME_MACHINE} 1660UNAME_MACHINE = "$UNAME_MACHINE"
1444UNAME_RELEASE = ${UNAME_RELEASE} 1661UNAME_RELEASE = "$UNAME_RELEASE"
1445UNAME_SYSTEM = ${UNAME_SYSTEM} 1662UNAME_SYSTEM = "$UNAME_SYSTEM"
1446UNAME_VERSION = ${UNAME_VERSION} 1663UNAME_VERSION = "$UNAME_VERSION"
1447EOF 1664EOF
1665fi
1448 1666
1449exit 1 1667exit 1
1450 1668
1451# Local variables: 1669# Local variables:
1452# eval: (add-hook 'write-file-hooks 'time-stamp) 1670# eval: (add-hook 'before-save-hook 'time-stamp)
1453# time-stamp-start: "timestamp='" 1671# time-stamp-start: "timestamp='"
1454# time-stamp-format: "%:y-%02m-%02d" 1672# time-stamp-format: "%:y-%02m-%02d"
1455# time-stamp-end: "'" 1673# time-stamp-end: "'"
diff --git a/config.h.in b/config.h.in
index b8b5a01ae..6af4bfdd1 100644
--- a/config.h.in
+++ b/config.h.in
@@ -315,6 +315,10 @@
315 */ 315 */
316#undef HAVE_DECL_BZERO 316#undef HAVE_DECL_BZERO
317 317
318/* Define to 1 if you have the declaration of `getpeereid', and to 0 if you
319 don't. */
320#undef HAVE_DECL_GETPEEREID
321
318/* Define to 1 if you have the declaration of `GLOB_NOMATCH', and to 0 if you 322/* Define to 1 if you have the declaration of `GLOB_NOMATCH', and to 0 if you
319 don't. */ 323 don't. */
320#undef HAVE_DECL_GLOB_NOMATCH 324#undef HAVE_DECL_GLOB_NOMATCH
@@ -488,6 +492,9 @@
488/* Define if your system has /etc/default/login */ 492/* Define if your system has /etc/default/login */
489#undef HAVE_ETC_DEFAULT_LOGIN 493#undef HAVE_ETC_DEFAULT_LOGIN
490 494
495/* Define to 1 if you have the `EVP_chacha20' function. */
496#undef HAVE_EVP_CHACHA20
497
491/* Define to 1 if you have the `EVP_CIPHER_CTX_ctrl' function. */ 498/* Define to 1 if you have the `EVP_CIPHER_CTX_ctrl' function. */
492#undef HAVE_EVP_CIPHER_CTX_CTRL 499#undef HAVE_EVP_CIPHER_CTX_CTRL
493 500
@@ -1409,6 +1416,9 @@
1409/* Define to 1 if you have the <sys/bsdtty.h> header file. */ 1416/* Define to 1 if you have the <sys/bsdtty.h> header file. */
1410#undef HAVE_SYS_BSDTTY_H 1417#undef HAVE_SYS_BSDTTY_H
1411 1418
1419/* Define to 1 if you have the <sys/byteorder.h> header file. */
1420#undef HAVE_SYS_BYTEORDER_H
1421
1412/* Define to 1 if you have the <sys/capsicum.h> header file. */ 1422/* Define to 1 if you have the <sys/capsicum.h> header file. */
1413#undef HAVE_SYS_CAPSICUM_H 1423#undef HAVE_SYS_CAPSICUM_H
1414 1424
@@ -1722,6 +1732,9 @@
1722/* compiler does not accept __attribute__ on return types */ 1732/* compiler does not accept __attribute__ on return types */
1723#undef NO_ATTRIBUTE_ON_RETURN_TYPE 1733#undef NO_ATTRIBUTE_ON_RETURN_TYPE
1724 1734
1735/* SA_RESTARTed signals do no interrupt select */
1736#undef NO_SA_RESTART
1737
1725/* Define to disable UID restoration test */ 1738/* Define to disable UID restoration test */
1726#undef NO_UID_RESTORATION_TEST 1739#undef NO_UID_RESTORATION_TEST
1727 1740
diff --git a/config.sub b/config.sub
index 9feb73bf0..973a2980a 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
1#! /bin/sh 1#! /bin/sh
2# Configuration validation subroutine script. 2# Configuration validation subroutine script.
3# Copyright 1992-2016 Free Software Foundation, Inc. 3# Copyright 1992-2020 Free Software Foundation, Inc.
4 4
5timestamp='2016-06-20' 5timestamp='2020-05-04'
6 6
7# This file is free software; you can redistribute it and/or modify it 7# This file is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by 8# under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2016-06-20'
15# General Public License for more details. 15# General Public License for more details.
16# 16#
17# You should have received a copy of the GNU General Public License 17# You should have received a copy of the GNU General Public License
18# along with this program; if not, see <http://www.gnu.org/licenses/>. 18# along with this program; if not, see <https://www.gnu.org/licenses/>.
19# 19#
20# As a special exception to the GNU General Public License, if you 20# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program that contains a 21# distribute this file as part of a program that contains a
@@ -33,7 +33,7 @@ timestamp='2016-06-20'
33# Otherwise, we print the canonical config type on stdout and succeed. 33# Otherwise, we print the canonical config type on stdout and succeed.
34 34
35# You can get the latest version of this script from: 35# You can get the latest version of this script from:
36# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 36# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
37 37
38# This file is supposed to be the same for all GNU packages 38# This file is supposed to be the same for all GNU packages
39# and recognize all the CPU types, system types and aliases 39# and recognize all the CPU types, system types and aliases
@@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
57 57
58Canonicalize a configuration name. 58Canonicalize a configuration name.
59 59
60Operation modes: 60Options:
61 -h, --help print this help, then exit 61 -h, --help print this help, then exit
62 -t, --time-stamp print date of last modification, then exit 62 -t, --time-stamp print date of last modification, then exit
63 -v, --version print version number, then exit 63 -v, --version print version number, then exit
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
67version="\ 67version="\
68GNU config.sub ($timestamp) 68GNU config.sub ($timestamp)
69 69
70Copyright 1992-2016 Free Software Foundation, Inc. 70Copyright 1992-2020 Free Software Foundation, Inc.
71 71
72This is free software; see the source for copying conditions. There is NO 72This is free software; see the source for copying conditions. There is NO
73warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 73warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -89,12 +89,12 @@ while test $# -gt 0 ; do
89 - ) # Use stdin as input. 89 - ) # Use stdin as input.
90 break ;; 90 break ;;
91 -* ) 91 -* )
92 echo "$me: invalid option $1$help" 92 echo "$me: invalid option $1$help" >&2
93 exit 1 ;; 93 exit 1 ;;
94 94
95 *local*) 95 *local*)
96 # First pass through any local machine types. 96 # First pass through any local machine types.
97 echo $1 97 echo "$1"
98 exit ;; 98 exit ;;
99 99
100 * ) 100 * )
@@ -110,1242 +110,1164 @@ case $# in
110 exit 1;; 110 exit 1;;
111esac 111esac
112 112
113# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 113# Split fields of configuration type
114# Here we must recognize all the valid KERNEL-OS combinations. 114# shellcheck disable=SC2162
115maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 115IFS="-" read field1 field2 field3 field4 <<EOF
116case $maybe_os in 116$1
117 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 117EOF
118 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119 knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
120 kopensolaris*-gnu* | \
121 storm-chaos* | os2-emx* | rtmk-nova*)
122 os=-$maybe_os
123 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
124 ;;
125 android-linux)
126 os=-linux-android
127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
128 ;;
129 *)
130 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131 if [ $basic_machine != $1 ]
132 then os=`echo $1 | sed 's/.*-/-/'`
133 else os=; fi
134 ;;
135esac
136 118
137### Let's recognize common machines as not being operating systems so 119# Separate into logical components for further validation
138### that things like config.sub decstation-3100 work. We also 120case $1 in
139### recognize some manufacturers as not being operating systems, so we 121 *-*-*-*-*)
140### can provide default operating systems below. 122 echo Invalid configuration \`"$1"\': more than four components >&2
141case $os in 123 exit 1
142 -sun*os*)
143 # Prevent following clause from handling this invalid input.
144 ;;
145 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 -apple | -axis | -knuth | -cray | -microblaze*)
152 os=
153 basic_machine=$1
154 ;;
155 -bluegene*)
156 os=-cnk
157 ;;
158 -sim | -cisco | -oki | -wec | -winbond)
159 os=
160 basic_machine=$1
161 ;;
162 -scout)
163 ;;
164 -wrs)
165 os=-vxworks
166 basic_machine=$1
167 ;;
168 -chorusos*)
169 os=-chorusos
170 basic_machine=$1
171 ;;
172 -chorusrdb)
173 os=-chorusrdb
174 basic_machine=$1
175 ;;
176 -hiux*)
177 os=-hiuxwe2
178 ;;
179 -sco6)
180 os=-sco5v6
181 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
182 ;;
183 -sco5)
184 os=-sco3.2v5
185 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186 ;;
187 -sco4)
188 os=-sco3.2v4
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 ;;
191 -sco3.2.[4-9]*)
192 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194 ;;
195 -sco3.2v[4-9]*)
196 # Don't forget version if it is 3.2v4 or newer.
197 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198 ;;
199 -sco5v6*)
200 # Don't forget version if it is 3.2v4 or newer.
201 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202 ;;
203 -sco*)
204 os=-sco3.2v2
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;
207 -udk*)
208 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
209 ;;
210 -isc)
211 os=-isc2.2
212 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 ;;
214 -clix*)
215 basic_machine=clipper-intergraph
216 ;;
217 -isc*)
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 ;;
220 -lynx*178)
221 os=-lynxos178
222 ;;
223 -lynx*5)
224 os=-lynxos5
225 ;;
226 -lynx*)
227 os=-lynxos
228 ;; 124 ;;
229 -ptx*) 125 *-*-*-*)
230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 126 basic_machine=$field1-$field2
127 os=$field3-$field4
231 ;; 128 ;;
232 -windowsnt*) 129 *-*-*)
233 os=`echo $os | sed -e 's/windowsnt/winnt/'` 130 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
131 # parts
132 maybe_os=$field2-$field3
133 case $maybe_os in
134 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
135 | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
136 | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
137 | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
138 | storm-chaos* | os2-emx* | rtmk-nova*)
139 basic_machine=$field1
140 os=$maybe_os
141 ;;
142 android-linux)
143 basic_machine=$field1-unknown
144 os=linux-android
145 ;;
146 *)
147 basic_machine=$field1-$field2
148 os=$field3
149 ;;
150 esac
234 ;; 151 ;;
235 -psos*) 152 *-*)
236 os=-psos 153 # A lone config we happen to match not fitting any pattern
154 case $field1-$field2 in
155 decstation-3100)
156 basic_machine=mips-dec
157 os=
158 ;;
159 *-*)
160 # Second component is usually, but not always the OS
161 case $field2 in
162 # Prevent following clause from handling this valid os
163 sun*os*)
164 basic_machine=$field1
165 os=$field2
166 ;;
167 # Manufacturers
168 dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
169 | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
170 | unicom* | ibm* | next | hp | isi* | apollo | altos* \
171 | convergent* | ncr* | news | 32* | 3600* | 3100* \
172 | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
173 | ultra | tti* | harris | dolphin | highlevel | gould \
174 | cbm | ns | masscomp | apple | axis | knuth | cray \
175 | microblaze* | sim | cisco \
176 | oki | wec | wrs | winbond)
177 basic_machine=$field1-$field2
178 os=
179 ;;
180 *)
181 basic_machine=$field1
182 os=$field2
183 ;;
184 esac
185 ;;
186 esac
237 ;; 187 ;;
238 -mint | -mint[0-9]*) 188 *)
239 basic_machine=m68k-atari 189 # Convert single-component short-hands not valid as part of
240 os=-mint 190 # multi-component configurations.
191 case $field1 in
192 386bsd)
193 basic_machine=i386-pc
194 os=bsd
195 ;;
196 a29khif)
197 basic_machine=a29k-amd
198 os=udi
199 ;;
200 adobe68k)
201 basic_machine=m68010-adobe
202 os=scout
203 ;;
204 alliant)
205 basic_machine=fx80-alliant
206 os=
207 ;;
208 altos | altos3068)
209 basic_machine=m68k-altos
210 os=
211 ;;
212 am29k)
213 basic_machine=a29k-none
214 os=bsd
215 ;;
216 amdahl)
217 basic_machine=580-amdahl
218 os=sysv
219 ;;
220 amiga)
221 basic_machine=m68k-unknown
222 os=
223 ;;
224 amigaos | amigados)
225 basic_machine=m68k-unknown
226 os=amigaos
227 ;;
228 amigaunix | amix)
229 basic_machine=m68k-unknown
230 os=sysv4
231 ;;
232 apollo68)
233 basic_machine=m68k-apollo
234 os=sysv
235 ;;
236 apollo68bsd)
237 basic_machine=m68k-apollo
238 os=bsd
239 ;;
240 aros)
241 basic_machine=i386-pc
242 os=aros
243 ;;
244 aux)
245 basic_machine=m68k-apple
246 os=aux
247 ;;
248 balance)
249 basic_machine=ns32k-sequent
250 os=dynix
251 ;;
252 blackfin)
253 basic_machine=bfin-unknown
254 os=linux
255 ;;
256 cegcc)
257 basic_machine=arm-unknown
258 os=cegcc
259 ;;
260 convex-c1)
261 basic_machine=c1-convex
262 os=bsd
263 ;;
264 convex-c2)
265 basic_machine=c2-convex
266 os=bsd
267 ;;
268 convex-c32)
269 basic_machine=c32-convex
270 os=bsd
271 ;;
272 convex-c34)
273 basic_machine=c34-convex
274 os=bsd
275 ;;
276 convex-c38)
277 basic_machine=c38-convex
278 os=bsd
279 ;;
280 cray)
281 basic_machine=j90-cray
282 os=unicos
283 ;;
284 crds | unos)
285 basic_machine=m68k-crds
286 os=
287 ;;
288 da30)
289 basic_machine=m68k-da30
290 os=
291 ;;
292 decstation | pmax | pmin | dec3100 | decstatn)
293 basic_machine=mips-dec
294 os=
295 ;;
296 delta88)
297 basic_machine=m88k-motorola
298 os=sysv3
299 ;;
300 dicos)
301 basic_machine=i686-pc
302 os=dicos
303 ;;
304 djgpp)
305 basic_machine=i586-pc
306 os=msdosdjgpp
307 ;;
308 ebmon29k)
309 basic_machine=a29k-amd
310 os=ebmon
311 ;;
312 es1800 | OSE68k | ose68k | ose | OSE)
313 basic_machine=m68k-ericsson
314 os=ose
315 ;;
316 gmicro)
317 basic_machine=tron-gmicro
318 os=sysv
319 ;;
320 go32)
321 basic_machine=i386-pc
322 os=go32
323 ;;
324 h8300hms)
325 basic_machine=h8300-hitachi
326 os=hms
327 ;;
328 h8300xray)
329 basic_machine=h8300-hitachi
330 os=xray
331 ;;
332 h8500hms)
333 basic_machine=h8500-hitachi
334 os=hms
335 ;;
336 harris)
337 basic_machine=m88k-harris
338 os=sysv3
339 ;;
340 hp300 | hp300hpux)
341 basic_machine=m68k-hp
342 os=hpux
343 ;;
344 hp300bsd)
345 basic_machine=m68k-hp
346 os=bsd
347 ;;
348 hppaosf)
349 basic_machine=hppa1.1-hp
350 os=osf
351 ;;
352 hppro)
353 basic_machine=hppa1.1-hp
354 os=proelf
355 ;;
356 i386mach)
357 basic_machine=i386-mach
358 os=mach
359 ;;
360 isi68 | isi)
361 basic_machine=m68k-isi
362 os=sysv
363 ;;
364 m68knommu)
365 basic_machine=m68k-unknown
366 os=linux
367 ;;
368 magnum | m3230)
369 basic_machine=mips-mips
370 os=sysv
371 ;;
372 merlin)
373 basic_machine=ns32k-utek
374 os=sysv
375 ;;
376 mingw64)
377 basic_machine=x86_64-pc
378 os=mingw64
379 ;;
380 mingw32)
381 basic_machine=i686-pc
382 os=mingw32
383 ;;
384 mingw32ce)
385 basic_machine=arm-unknown
386 os=mingw32ce
387 ;;
388 monitor)
389 basic_machine=m68k-rom68k
390 os=coff
391 ;;
392 morphos)
393 basic_machine=powerpc-unknown
394 os=morphos
395 ;;
396 moxiebox)
397 basic_machine=moxie-unknown
398 os=moxiebox
399 ;;
400 msdos)
401 basic_machine=i386-pc
402 os=msdos
403 ;;
404 msys)
405 basic_machine=i686-pc
406 os=msys
407 ;;
408 mvs)
409 basic_machine=i370-ibm
410 os=mvs
411 ;;
412 nacl)
413 basic_machine=le32-unknown
414 os=nacl
415 ;;
416 ncr3000)
417 basic_machine=i486-ncr
418 os=sysv4
419 ;;
420 netbsd386)
421 basic_machine=i386-pc
422 os=netbsd
423 ;;
424 netwinder)
425 basic_machine=armv4l-rebel
426 os=linux
427 ;;
428 news | news700 | news800 | news900)
429 basic_machine=m68k-sony
430 os=newsos
431 ;;
432 news1000)
433 basic_machine=m68030-sony
434 os=newsos
435 ;;
436 necv70)
437 basic_machine=v70-nec
438 os=sysv
439 ;;
440 nh3000)
441 basic_machine=m68k-harris
442 os=cxux
443 ;;
444 nh[45]000)
445 basic_machine=m88k-harris
446 os=cxux
447 ;;
448 nindy960)
449 basic_machine=i960-intel
450 os=nindy
451 ;;
452 mon960)
453 basic_machine=i960-intel
454 os=mon960
455 ;;
456 nonstopux)
457 basic_machine=mips-compaq
458 os=nonstopux
459 ;;
460 os400)
461 basic_machine=powerpc-ibm
462 os=os400
463 ;;
464 OSE68000 | ose68000)
465 basic_machine=m68000-ericsson
466 os=ose
467 ;;
468 os68k)
469 basic_machine=m68k-none
470 os=os68k
471 ;;
472 paragon)
473 basic_machine=i860-intel
474 os=osf
475 ;;
476 parisc)
477 basic_machine=hppa-unknown
478 os=linux
479 ;;
480 pw32)
481 basic_machine=i586-unknown
482 os=pw32
483 ;;
484 rdos | rdos64)
485 basic_machine=x86_64-pc
486 os=rdos
487 ;;
488 rdos32)
489 basic_machine=i386-pc
490 os=rdos
491 ;;
492 rom68k)
493 basic_machine=m68k-rom68k
494 os=coff
495 ;;
496 sa29200)
497 basic_machine=a29k-amd
498 os=udi
499 ;;
500 sei)
501 basic_machine=mips-sei
502 os=seiux
503 ;;
504 sequent)
505 basic_machine=i386-sequent
506 os=
507 ;;
508 sps7)
509 basic_machine=m68k-bull
510 os=sysv2
511 ;;
512 st2000)
513 basic_machine=m68k-tandem
514 os=
515 ;;
516 stratus)
517 basic_machine=i860-stratus
518 os=sysv4
519 ;;
520 sun2)
521 basic_machine=m68000-sun
522 os=
523 ;;
524 sun2os3)
525 basic_machine=m68000-sun
526 os=sunos3
527 ;;
528 sun2os4)
529 basic_machine=m68000-sun
530 os=sunos4
531 ;;
532 sun3)
533 basic_machine=m68k-sun
534 os=
535 ;;
536 sun3os3)
537 basic_machine=m68k-sun
538 os=sunos3
539 ;;
540 sun3os4)
541 basic_machine=m68k-sun
542 os=sunos4
543 ;;
544 sun4)
545 basic_machine=sparc-sun
546 os=
547 ;;
548 sun4os3)
549 basic_machine=sparc-sun
550 os=sunos3
551 ;;
552 sun4os4)
553 basic_machine=sparc-sun
554 os=sunos4
555 ;;
556 sun4sol2)
557 basic_machine=sparc-sun
558 os=solaris2
559 ;;
560 sun386 | sun386i | roadrunner)
561 basic_machine=i386-sun
562 os=
563 ;;
564 sv1)
565 basic_machine=sv1-cray
566 os=unicos
567 ;;
568 symmetry)
569 basic_machine=i386-sequent
570 os=dynix
571 ;;
572 t3e)
573 basic_machine=alphaev5-cray
574 os=unicos
575 ;;
576 t90)
577 basic_machine=t90-cray
578 os=unicos
579 ;;
580 toad1)
581 basic_machine=pdp10-xkl
582 os=tops20
583 ;;
584 tpf)
585 basic_machine=s390x-ibm
586 os=tpf
587 ;;
588 udi29k)
589 basic_machine=a29k-amd
590 os=udi
591 ;;
592 ultra3)
593 basic_machine=a29k-nyu
594 os=sym1
595 ;;
596 v810 | necv810)
597 basic_machine=v810-nec
598 os=none
599 ;;
600 vaxv)
601 basic_machine=vax-dec
602 os=sysv
603 ;;
604 vms)
605 basic_machine=vax-dec
606 os=vms
607 ;;
608 vsta)
609 basic_machine=i386-pc
610 os=vsta
611 ;;
612 vxworks960)
613 basic_machine=i960-wrs
614 os=vxworks
615 ;;
616 vxworks68)
617 basic_machine=m68k-wrs
618 os=vxworks
619 ;;
620 vxworks29k)
621 basic_machine=a29k-wrs
622 os=vxworks
623 ;;
624 xbox)
625 basic_machine=i686-pc
626 os=mingw32
627 ;;
628 ymp)
629 basic_machine=ymp-cray
630 os=unicos
631 ;;
632 *)
633 basic_machine=$1
634 os=
635 ;;
636 esac
241 ;; 637 ;;
242esac 638esac
243 639
244# Decode aliases for certain CPU-COMPANY combinations. 640# Decode 1-component or ad-hoc basic machines
245case $basic_machine in 641case $basic_machine in
246 # Recognize the basic CPU types without company name. 642 # Here we handle the default manufacturer of certain CPU types. It is in
247 # Some are omitted here because they have special meanings below. 643 # some cases the only manufacturer, in others, it is the most popular.
248 1750a | 580 \ 644 w89k)
249 | a29k \ 645 cpu=hppa1.1
250 | aarch64 | aarch64_be \ 646 vendor=winbond
251 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253 | am33_2.0 \
254 | arc | arceb \
255 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256 | avr | avr32 \
257 | ba \
258 | be32 | be64 \
259 | bfin \
260 | c4x | c8051 | clipper \
261 | d10v | d30v | dlx | dsp16xx \
262 | e2k | epiphany \
263 | fido | fr30 | frv | ft32 \
264 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265 | hexagon \
266 | i370 | i860 | i960 | ia64 \
267 | ip2k | iq2000 \
268 | k1om \
269 | le32 | le64 \
270 | lm32 \
271 | m32c | m32r | m32rle | m68000 | m68k | m88k \
272 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
273 | mips | mipsbe | mipseb | mipsel | mipsle \
274 | mips16 \
275 | mips64 | mips64el \
276 | mips64octeon | mips64octeonel \
277 | mips64orion | mips64orionel \
278 | mips64r5900 | mips64r5900el \
279 | mips64vr | mips64vrel \
280 | mips64vr4100 | mips64vr4100el \
281 | mips64vr4300 | mips64vr4300el \
282 | mips64vr5000 | mips64vr5000el \
283 | mips64vr5900 | mips64vr5900el \
284 | mipsisa32 | mipsisa32el \
285 | mipsisa32r2 | mipsisa32r2el \
286 | mipsisa32r6 | mipsisa32r6el \
287 | mipsisa64 | mipsisa64el \
288 | mipsisa64r2 | mipsisa64r2el \
289 | mipsisa64r6 | mipsisa64r6el \
290 | mipsisa64sb1 | mipsisa64sb1el \
291 | mipsisa64sr71k | mipsisa64sr71kel \
292 | mipsr5900 | mipsr5900el \
293 | mipstx39 | mipstx39el \
294 | mn10200 | mn10300 \
295 | moxie \
296 | mt \
297 | msp430 \
298 | nds32 | nds32le | nds32be \
299 | nios | nios2 | nios2eb | nios2el \
300 | ns16k | ns32k \
301 | open8 | or1k | or1knd | or32 \
302 | pdp10 | pdp11 | pj | pjl \
303 | powerpc | powerpc64 | powerpc64le | powerpcle \
304 | pyramid \
305 | riscv32 | riscv64 \
306 | rl78 | rx \
307 | score \
308 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309 | sh64 | sh64le \
310 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
312 | spu \
313 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314 | ubicom32 \
315 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316 | visium \
317 | we32k \
318 | x86 | xc16x | xstormy16 | xtensa \
319 | z8k | z80)
320 basic_machine=$basic_machine-unknown
321 ;;
322 c54x)
323 basic_machine=tic54x-unknown
324 ;;
325 c55x)
326 basic_machine=tic55x-unknown
327 ;;
328 c6x)
329 basic_machine=tic6x-unknown
330 ;;
331 leon|leon[3-9])
332 basic_machine=sparc-$basic_machine
333 ;;
334 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
335 basic_machine=$basic_machine-unknown
336 os=-none
337 ;; 647 ;;
338 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 648 op50n)
649 cpu=hppa1.1
650 vendor=oki
339 ;; 651 ;;
340 ms1) 652 op60c)
341 basic_machine=mt-unknown 653 cpu=hppa1.1
654 vendor=oki
342 ;; 655 ;;
343 656 ibm*)
344 strongarm | thumb | xscale) 657 cpu=i370
345 basic_machine=arm-unknown 658 vendor=ibm
346 ;; 659 ;;
347 xgate) 660 orion105)
348 basic_machine=$basic_machine-unknown 661 cpu=clipper
349 os=-none 662 vendor=highlevel
350 ;; 663 ;;
351 xscaleeb) 664 mac | mpw | mac-mpw)
352 basic_machine=armeb-unknown 665 cpu=m68k
666 vendor=apple
353 ;; 667 ;;
354 668 pmac | pmac-mpw)
355 xscaleel) 669 cpu=powerpc
356 basic_machine=armel-unknown 670 vendor=apple
357 ;; 671 ;;
358 672
359 # We use `pc' rather than `unknown'
360 # because (1) that's what they normally are, and
361 # (2) the word "unknown" tends to confuse beginning users.
362 i*86 | x86_64)
363 basic_machine=$basic_machine-pc
364 ;;
365 # Object if more than one company name word.
366 *-*-*)
367 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
368 exit 1
369 ;;
370 # Recognize the basic CPU types with company name.
371 580-* \
372 | a29k-* \
373 | aarch64-* | aarch64_be-* \
374 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
375 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
377 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
378 | avr-* | avr32-* \
379 | ba-* \
380 | be32-* | be64-* \
381 | bfin-* | bs2000-* \
382 | c[123]* | c30-* | [cjt]90-* | c4x-* \
383 | c8051-* | clipper-* | craynv-* | cydra-* \
384 | d10v-* | d30v-* | dlx-* \
385 | e2k-* | elxsi-* \
386 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
387 | h8300-* | h8500-* \
388 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
389 | hexagon-* \
390 | i*86-* | i860-* | i960-* | ia64-* \
391 | ip2k-* | iq2000-* \
392 | k1om-* \
393 | le32-* | le64-* \
394 | lm32-* \
395 | m32c-* | m32r-* | m32rle-* \
396 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
397 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
398 | microblaze-* | microblazeel-* \
399 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
400 | mips16-* \
401 | mips64-* | mips64el-* \
402 | mips64octeon-* | mips64octeonel-* \
403 | mips64orion-* | mips64orionel-* \
404 | mips64r5900-* | mips64r5900el-* \
405 | mips64vr-* | mips64vrel-* \
406 | mips64vr4100-* | mips64vr4100el-* \
407 | mips64vr4300-* | mips64vr4300el-* \
408 | mips64vr5000-* | mips64vr5000el-* \
409 | mips64vr5900-* | mips64vr5900el-* \
410 | mipsisa32-* | mipsisa32el-* \
411 | mipsisa32r2-* | mipsisa32r2el-* \
412 | mipsisa32r6-* | mipsisa32r6el-* \
413 | mipsisa64-* | mipsisa64el-* \
414 | mipsisa64r2-* | mipsisa64r2el-* \
415 | mipsisa64r6-* | mipsisa64r6el-* \
416 | mipsisa64sb1-* | mipsisa64sb1el-* \
417 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
418 | mipsr5900-* | mipsr5900el-* \
419 | mipstx39-* | mipstx39el-* \
420 | mmix-* \
421 | mt-* \
422 | msp430-* \
423 | nds32-* | nds32le-* | nds32be-* \
424 | nios-* | nios2-* | nios2eb-* | nios2el-* \
425 | none-* | np1-* | ns16k-* | ns32k-* \
426 | open8-* \
427 | or1k*-* \
428 | orion-* \
429 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
430 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
431 | pyramid-* \
432 | riscv32-* | riscv64-* \
433 | rl78-* | romp-* | rs6000-* | rx-* \
434 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
435 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
436 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
437 | sparclite-* \
438 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
439 | tahoe-* \
440 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
441 | tile*-* \
442 | tron-* \
443 | ubicom32-* \
444 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
445 | vax-* \
446 | visium-* \
447 | we32k-* \
448 | x86-* | x86_64-* | xc16x-* | xps100-* \
449 | xstormy16-* | xtensa*-* \
450 | ymp-* \
451 | z8k-* | z80-*)
452 ;;
453 # Recognize the basic CPU types without company name, with glob match.
454 xtensa*)
455 basic_machine=$basic_machine-unknown
456 ;;
457 # Recognize the various machine names and aliases which stand 673 # Recognize the various machine names and aliases which stand
458 # for a CPU type and a company and sometimes even an OS. 674 # for a CPU type and a company and sometimes even an OS.
459 386bsd)
460 basic_machine=i386-unknown
461 os=-bsd
462 ;;
463 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 675 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
464 basic_machine=m68000-att 676 cpu=m68000
677 vendor=att
465 ;; 678 ;;
466 3b*) 679 3b*)
467 basic_machine=we32k-att 680 cpu=we32k
468 ;; 681 vendor=att
469 a29khif)
470 basic_machine=a29k-amd
471 os=-udi
472 ;;
473 abacus)
474 basic_machine=abacus-unknown
475 ;;
476 adobe68k)
477 basic_machine=m68010-adobe
478 os=-scout
479 ;;
480 alliant | fx80)
481 basic_machine=fx80-alliant
482 ;;
483 altos | altos3068)
484 basic_machine=m68k-altos
485 ;;
486 am29k)
487 basic_machine=a29k-none
488 os=-bsd
489 ;;
490 amd64)
491 basic_machine=x86_64-pc
492 ;;
493 amd64-*)
494 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
495 ;;
496 amdahl)
497 basic_machine=580-amdahl
498 os=-sysv
499 ;;
500 amiga | amiga-*)
501 basic_machine=m68k-unknown
502 ;;
503 amigaos | amigados)
504 basic_machine=m68k-unknown
505 os=-amigaos
506 ;;
507 amigaunix | amix)
508 basic_machine=m68k-unknown
509 os=-sysv4
510 ;;
511 apollo68)
512 basic_machine=m68k-apollo
513 os=-sysv
514 ;;
515 apollo68bsd)
516 basic_machine=m68k-apollo
517 os=-bsd
518 ;;
519 aros)
520 basic_machine=i386-pc
521 os=-aros
522 ;;
523 asmjs)
524 basic_machine=asmjs-unknown
525 ;;
526 aux)
527 basic_machine=m68k-apple
528 os=-aux
529 ;;
530 balance)
531 basic_machine=ns32k-sequent
532 os=-dynix
533 ;;
534 blackfin)
535 basic_machine=bfin-unknown
536 os=-linux
537 ;;
538 blackfin-*)
539 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
540 os=-linux
541 ;; 682 ;;
542 bluegene*) 683 bluegene*)
543 basic_machine=powerpc-ibm 684 cpu=powerpc
544 os=-cnk 685 vendor=ibm
545 ;; 686 os=cnk
546 c54x-*)
547 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
548 ;;
549 c55x-*)
550 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
551 ;;
552 c6x-*)
553 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
554 ;;
555 c90)
556 basic_machine=c90-cray
557 os=-unicos
558 ;;
559 cegcc)
560 basic_machine=arm-unknown
561 os=-cegcc
562 ;;
563 convex-c1)
564 basic_machine=c1-convex
565 os=-bsd
566 ;;
567 convex-c2)
568 basic_machine=c2-convex
569 os=-bsd
570 ;;
571 convex-c32)
572 basic_machine=c32-convex
573 os=-bsd
574 ;;
575 convex-c34)
576 basic_machine=c34-convex
577 os=-bsd
578 ;;
579 convex-c38)
580 basic_machine=c38-convex
581 os=-bsd
582 ;;
583 cray | j90)
584 basic_machine=j90-cray
585 os=-unicos
586 ;;
587 craynv)
588 basic_machine=craynv-cray
589 os=-unicosmp
590 ;;
591 cr16 | cr16-*)
592 basic_machine=cr16-unknown
593 os=-elf
594 ;;
595 crds | unos)
596 basic_machine=m68k-crds
597 ;;
598 crisv32 | crisv32-* | etraxfs*)
599 basic_machine=crisv32-axis
600 ;;
601 cris | cris-* | etrax*)
602 basic_machine=cris-axis
603 ;;
604 crx)
605 basic_machine=crx-unknown
606 os=-elf
607 ;;
608 da30 | da30-*)
609 basic_machine=m68k-da30
610 ;;
611 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
612 basic_machine=mips-dec
613 ;; 687 ;;
614 decsystem10* | dec10*) 688 decsystem10* | dec10*)
615 basic_machine=pdp10-dec 689 cpu=pdp10
616 os=-tops10 690 vendor=dec
691 os=tops10
617 ;; 692 ;;
618 decsystem20* | dec20*) 693 decsystem20* | dec20*)
619 basic_machine=pdp10-dec 694 cpu=pdp10
620 os=-tops20 695 vendor=dec
696 os=tops20
621 ;; 697 ;;
622 delta | 3300 | motorola-3300 | motorola-delta \ 698 delta | 3300 | motorola-3300 | motorola-delta \
623 | 3300-motorola | delta-motorola) 699 | 3300-motorola | delta-motorola)
624 basic_machine=m68k-motorola 700 cpu=m68k
625 ;; 701 vendor=motorola
626 delta88)
627 basic_machine=m88k-motorola
628 os=-sysv3
629 ;;
630 dicos)
631 basic_machine=i686-pc
632 os=-dicos
633 ;;
634 djgpp)
635 basic_machine=i586-pc
636 os=-msdosdjgpp
637 ;;
638 dpx20 | dpx20-*)
639 basic_machine=rs6000-bull
640 os=-bosx
641 ;;
642 dpx2* | dpx2*-bull)
643 basic_machine=m68k-bull
644 os=-sysv3
645 ;;
646 e500v[12])
647 basic_machine=powerpc-unknown
648 os=$os"spe"
649 ;;
650 e500v[12]-*)
651 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
652 os=$os"spe"
653 ;; 702 ;;
654 ebmon29k) 703 dpx2*)
655 basic_machine=a29k-amd 704 cpu=m68k
656 os=-ebmon 705 vendor=bull
657 ;; 706 os=sysv3
658 elxsi)
659 basic_machine=elxsi-elxsi
660 os=-bsd
661 ;; 707 ;;
662 encore | umax | mmax) 708 encore | umax | mmax)
663 basic_machine=ns32k-encore 709 cpu=ns32k
710 vendor=encore
664 ;; 711 ;;
665 es1800 | OSE68k | ose68k | ose | OSE) 712 elxsi)
666 basic_machine=m68k-ericsson 713 cpu=elxsi
667 os=-ose 714 vendor=elxsi
715 os=${os:-bsd}
668 ;; 716 ;;
669 fx2800) 717 fx2800)
670 basic_machine=i860-alliant 718 cpu=i860
719 vendor=alliant
671 ;; 720 ;;
672 genix) 721 genix)
673 basic_machine=ns32k-ns 722 cpu=ns32k
674 ;; 723 vendor=ns
675 gmicro)
676 basic_machine=tron-gmicro
677 os=-sysv
678 ;;
679 go32)
680 basic_machine=i386-pc
681 os=-go32
682 ;; 724 ;;
683 h3050r* | hiux*) 725 h3050r* | hiux*)
684 basic_machine=hppa1.1-hitachi 726 cpu=hppa1.1
685 os=-hiuxwe2 727 vendor=hitachi
686 ;; 728 os=hiuxwe2
687 h8300hms)
688 basic_machine=h8300-hitachi
689 os=-hms
690 ;;
691 h8300xray)
692 basic_machine=h8300-hitachi
693 os=-xray
694 ;;
695 h8500hms)
696 basic_machine=h8500-hitachi
697 os=-hms
698 ;;
699 harris)
700 basic_machine=m88k-harris
701 os=-sysv3
702 ;;
703 hp300-*)
704 basic_machine=m68k-hp
705 ;;
706 hp300bsd)
707 basic_machine=m68k-hp
708 os=-bsd
709 ;;
710 hp300hpux)
711 basic_machine=m68k-hp
712 os=-hpux
713 ;; 729 ;;
714 hp3k9[0-9][0-9] | hp9[0-9][0-9]) 730 hp3k9[0-9][0-9] | hp9[0-9][0-9])
715 basic_machine=hppa1.0-hp 731 cpu=hppa1.0
732 vendor=hp
716 ;; 733 ;;
717 hp9k2[0-9][0-9] | hp9k31[0-9]) 734 hp9k2[0-9][0-9] | hp9k31[0-9])
718 basic_machine=m68000-hp 735 cpu=m68000
736 vendor=hp
719 ;; 737 ;;
720 hp9k3[2-9][0-9]) 738 hp9k3[2-9][0-9])
721 basic_machine=m68k-hp 739 cpu=m68k
740 vendor=hp
722 ;; 741 ;;
723 hp9k6[0-9][0-9] | hp6[0-9][0-9]) 742 hp9k6[0-9][0-9] | hp6[0-9][0-9])
724 basic_machine=hppa1.0-hp 743 cpu=hppa1.0
744 vendor=hp
725 ;; 745 ;;
726 hp9k7[0-79][0-9] | hp7[0-79][0-9]) 746 hp9k7[0-79][0-9] | hp7[0-79][0-9])
727 basic_machine=hppa1.1-hp 747 cpu=hppa1.1
748 vendor=hp
728 ;; 749 ;;
729 hp9k78[0-9] | hp78[0-9]) 750 hp9k78[0-9] | hp78[0-9])
730 # FIXME: really hppa2.0-hp 751 # FIXME: really hppa2.0-hp
731 basic_machine=hppa1.1-hp 752 cpu=hppa1.1
753 vendor=hp
732 ;; 754 ;;
733 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 755 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
734 # FIXME: really hppa2.0-hp 756 # FIXME: really hppa2.0-hp
735 basic_machine=hppa1.1-hp 757 cpu=hppa1.1
758 vendor=hp
736 ;; 759 ;;
737 hp9k8[0-9][13679] | hp8[0-9][13679]) 760 hp9k8[0-9][13679] | hp8[0-9][13679])
738 basic_machine=hppa1.1-hp 761 cpu=hppa1.1
762 vendor=hp
739 ;; 763 ;;
740 hp9k8[0-9][0-9] | hp8[0-9][0-9]) 764 hp9k8[0-9][0-9] | hp8[0-9][0-9])
741 basic_machine=hppa1.0-hp 765 cpu=hppa1.0
742 ;; 766 vendor=hp
743 hppa-next)
744 os=-nextstep3
745 ;;
746 hppaosf)
747 basic_machine=hppa1.1-hp
748 os=-osf
749 ;;
750 hppro)
751 basic_machine=hppa1.1-hp
752 os=-proelf
753 ;;
754 i370-ibm* | ibm*)
755 basic_machine=i370-ibm
756 ;; 767 ;;
757 i*86v32) 768 i*86v32)
758 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 769 cpu=`echo "$1" | sed -e 's/86.*/86/'`
759 os=-sysv32 770 vendor=pc
771 os=sysv32
760 ;; 772 ;;
761 i*86v4*) 773 i*86v4*)
762 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 774 cpu=`echo "$1" | sed -e 's/86.*/86/'`
763 os=-sysv4 775 vendor=pc
776 os=sysv4
764 ;; 777 ;;
765 i*86v) 778 i*86v)
766 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 779 cpu=`echo "$1" | sed -e 's/86.*/86/'`
767 os=-sysv 780 vendor=pc
781 os=sysv
768 ;; 782 ;;
769 i*86sol2) 783 i*86sol2)
770 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 784 cpu=`echo "$1" | sed -e 's/86.*/86/'`
771 os=-solaris2 785 vendor=pc
786 os=solaris2
772 ;; 787 ;;
773 i386mach) 788 j90 | j90-cray)
774 basic_machine=i386-mach 789 cpu=j90
775 os=-mach 790 vendor=cray
776 ;; 791 os=${os:-unicos}
777 i386-vsta | vsta)
778 basic_machine=i386-unknown
779 os=-vsta
780 ;; 792 ;;
781 iris | iris4d) 793 iris | iris4d)
782 basic_machine=mips-sgi 794 cpu=mips
795 vendor=sgi
783 case $os in 796 case $os in
784 -irix*) 797 irix*)
785 ;; 798 ;;
786 *) 799 *)
787 os=-irix4 800 os=irix4
788 ;; 801 ;;
789 esac 802 esac
790 ;; 803 ;;
791 isi68 | isi)
792 basic_machine=m68k-isi
793 os=-sysv
794 ;;
795 leon-*|leon[3-9]-*)
796 basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
797 ;;
798 m68knommu)
799 basic_machine=m68k-unknown
800 os=-linux
801 ;;
802 m68knommu-*)
803 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
804 os=-linux
805 ;;
806 m88k-omron*)
807 basic_machine=m88k-omron
808 ;;
809 magnum | m3230)
810 basic_machine=mips-mips
811 os=-sysv
812 ;;
813 merlin)
814 basic_machine=ns32k-utek
815 os=-sysv
816 ;;
817 microblaze*)
818 basic_machine=microblaze-xilinx
819 ;;
820 mingw64)
821 basic_machine=x86_64-pc
822 os=-mingw64
823 ;;
824 mingw32)
825 basic_machine=i686-pc
826 os=-mingw32
827 ;;
828 mingw32ce)
829 basic_machine=arm-unknown
830 os=-mingw32ce
831 ;;
832 miniframe) 804 miniframe)
833 basic_machine=m68000-convergent 805 cpu=m68000
834 ;; 806 vendor=convergent
835 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
836 basic_machine=m68k-atari
837 os=-mint
838 ;;
839 mips3*-*)
840 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
841 ;;
842 mips3*)
843 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
844 ;;
845 monitor)
846 basic_machine=m68k-rom68k
847 os=-coff
848 ;;
849 morphos)
850 basic_machine=powerpc-unknown
851 os=-morphos
852 ;;
853 moxiebox)
854 basic_machine=moxie-unknown
855 os=-moxiebox
856 ;;
857 msdos)
858 basic_machine=i386-pc
859 os=-msdos
860 ;;
861 ms1-*)
862 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
863 ;;
864 msys)
865 basic_machine=i686-pc
866 os=-msys
867 ;;
868 mvs)
869 basic_machine=i370-ibm
870 os=-mvs
871 ;; 807 ;;
872 nacl) 808 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
873 basic_machine=le32-unknown 809 cpu=m68k
874 os=-nacl 810 vendor=atari
875 ;; 811 os=mint
876 ncr3000)
877 basic_machine=i486-ncr
878 os=-sysv4
879 ;;
880 netbsd386)
881 basic_machine=i386-unknown
882 os=-netbsd
883 ;;
884 netwinder)
885 basic_machine=armv4l-rebel
886 os=-linux
887 ;;
888 news | news700 | news800 | news900)
889 basic_machine=m68k-sony
890 os=-newsos
891 ;;
892 news1000)
893 basic_machine=m68030-sony
894 os=-newsos
895 ;; 812 ;;
896 news-3600 | risc-news) 813 news-3600 | risc-news)
897 basic_machine=mips-sony 814 cpu=mips
898 os=-newsos 815 vendor=sony
899 ;; 816 os=newsos
900 necv70)
901 basic_machine=v70-nec
902 os=-sysv
903 ;; 817 ;;
904 next | m*-next ) 818 next | m*-next)
905 basic_machine=m68k-next 819 cpu=m68k
820 vendor=next
906 case $os in 821 case $os in
907 -nextstep* ) 822 openstep*)
823 ;;
824 nextstep*)
908 ;; 825 ;;
909 -ns2*) 826 ns2*)
910 os=-nextstep2 827 os=nextstep2
911 ;; 828 ;;
912 *) 829 *)
913 os=-nextstep3 830 os=nextstep3
914 ;; 831 ;;
915 esac 832 esac
916 ;; 833 ;;
917 nh3000)
918 basic_machine=m68k-harris
919 os=-cxux
920 ;;
921 nh[45]000)
922 basic_machine=m88k-harris
923 os=-cxux
924 ;;
925 nindy960)
926 basic_machine=i960-intel
927 os=-nindy
928 ;;
929 mon960)
930 basic_machine=i960-intel
931 os=-mon960
932 ;;
933 nonstopux)
934 basic_machine=mips-compaq
935 os=-nonstopux
936 ;;
937 np1) 834 np1)
938 basic_machine=np1-gould 835 cpu=np1
939 ;; 836 vendor=gould
940 neo-tandem)
941 basic_machine=neo-tandem
942 ;;
943 nse-tandem)
944 basic_machine=nse-tandem
945 ;;
946 nsr-tandem)
947 basic_machine=nsr-tandem
948 ;; 837 ;;
949 op50n-* | op60c-*) 838 op50n-* | op60c-*)
950 basic_machine=hppa1.1-oki 839 cpu=hppa1.1
951 os=-proelf 840 vendor=oki
952 ;; 841 os=proelf
953 openrisc | openrisc-*)
954 basic_machine=or32-unknown
955 ;;
956 os400)
957 basic_machine=powerpc-ibm
958 os=-os400
959 ;;
960 OSE68000 | ose68000)
961 basic_machine=m68000-ericsson
962 os=-ose
963 ;;
964 os68k)
965 basic_machine=m68k-none
966 os=-os68k
967 ;; 842 ;;
968 pa-hitachi) 843 pa-hitachi)
969 basic_machine=hppa1.1-hitachi 844 cpu=hppa1.1
970 os=-hiuxwe2 845 vendor=hitachi
971 ;; 846 os=hiuxwe2
972 paragon)
973 basic_machine=i860-intel
974 os=-osf
975 ;;
976 parisc)
977 basic_machine=hppa-unknown
978 os=-linux
979 ;;
980 parisc-*)
981 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
982 os=-linux
983 ;; 847 ;;
984 pbd) 848 pbd)
985 basic_machine=sparc-tti 849 cpu=sparc
850 vendor=tti
986 ;; 851 ;;
987 pbb) 852 pbb)
988 basic_machine=m68k-tti 853 cpu=m68k
989 ;; 854 vendor=tti
990 pc532 | pc532-*)
991 basic_machine=ns32k-pc532
992 ;; 855 ;;
993 pc98) 856 pc532)
994 basic_machine=i386-pc 857 cpu=ns32k
995 ;; 858 vendor=pc532
996 pc98-*)
997 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
998 ;;
999 pentium | p5 | k5 | k6 | nexgen | viac3)
1000 basic_machine=i586-pc
1001 ;;
1002 pentiumpro | p6 | 6x86 | athlon | athlon_*)
1003 basic_machine=i686-pc
1004 ;;
1005 pentiumii | pentium2 | pentiumiii | pentium3)
1006 basic_machine=i686-pc
1007 ;;
1008 pentium4)
1009 basic_machine=i786-pc
1010 ;;
1011 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1012 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1013 ;;
1014 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1015 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1016 ;;
1017 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1018 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1019 ;;
1020 pentium4-*)
1021 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1022 ;; 859 ;;
1023 pn) 860 pn)
1024 basic_machine=pn-gould 861 cpu=pn
862 vendor=gould
1025 ;; 863 ;;
1026 power) basic_machine=power-ibm 864 power)
1027 ;; 865 cpu=power
1028 ppc | ppcbe) basic_machine=powerpc-unknown 866 vendor=ibm
1029 ;;
1030 ppc-* | ppcbe-*)
1031 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1032 ;;
1033 ppcle | powerpclittle | ppc-le | powerpc-little)
1034 basic_machine=powerpcle-unknown
1035 ;;
1036 ppcle-* | powerpclittle-*)
1037 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1038 ;;
1039 ppc64) basic_machine=powerpc64-unknown
1040 ;;
1041 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1042 ;;
1043 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1044 basic_machine=powerpc64le-unknown
1045 ;;
1046 ppc64le-* | powerpc64little-*)
1047 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1048 ;; 867 ;;
1049 ps2) 868 ps2)
1050 basic_machine=i386-ibm 869 cpu=i386
1051 ;; 870 vendor=ibm
1052 pw32)
1053 basic_machine=i586-unknown
1054 os=-pw32
1055 ;;
1056 rdos | rdos64)
1057 basic_machine=x86_64-pc
1058 os=-rdos
1059 ;;
1060 rdos32)
1061 basic_machine=i386-pc
1062 os=-rdos
1063 ;;
1064 rom68k)
1065 basic_machine=m68k-rom68k
1066 os=-coff
1067 ;; 871 ;;
1068 rm[46]00) 872 rm[46]00)
1069 basic_machine=mips-siemens 873 cpu=mips
874 vendor=siemens
1070 ;; 875 ;;
1071 rtpc | rtpc-*) 876 rtpc | rtpc-*)
1072 basic_machine=romp-ibm 877 cpu=romp
1073 ;; 878 vendor=ibm
1074 s390 | s390-*)
1075 basic_machine=s390-ibm
1076 ;;
1077 s390x | s390x-*)
1078 basic_machine=s390x-ibm
1079 ;; 879 ;;
1080 sa29200) 880 sde)
1081 basic_machine=a29k-amd 881 cpu=mipsisa32
1082 os=-udi 882 vendor=sde
1083 ;; 883 os=${os:-elf}
1084 sb1)
1085 basic_machine=mipsisa64sb1-unknown
1086 ;; 884 ;;
1087 sb1el) 885 simso-wrs)
1088 basic_machine=mipsisa64sb1el-unknown 886 cpu=sparclite
887 vendor=wrs
888 os=vxworks
1089 ;; 889 ;;
1090 sde) 890 tower | tower-32)
1091 basic_machine=mipsisa32-sde 891 cpu=m68k
1092 os=-elf 892 vendor=ncr
1093 ;; 893 ;;
1094 sei) 894 vpp*|vx|vx-*)
1095 basic_machine=mips-sei 895 cpu=f301
1096 os=-seiux 896 vendor=fujitsu
1097 ;; 897 ;;
1098 sequent) 898 w65)
1099 basic_machine=i386-sequent 899 cpu=w65
900 vendor=wdc
1100 ;; 901 ;;
1101 sh) 902 w89k-*)
1102 basic_machine=sh-hitachi 903 cpu=hppa1.1
1103 os=-hms 904 vendor=winbond
905 os=proelf
1104 ;; 906 ;;
1105 sh5el) 907 none)
1106 basic_machine=sh5le-unknown 908 cpu=none
909 vendor=none
1107 ;; 910 ;;
1108 sh64) 911 leon|leon[3-9])
1109 basic_machine=sh64-unknown 912 cpu=sparc
913 vendor=$basic_machine
1110 ;; 914 ;;
1111 sparclite-wrs | simso-wrs) 915 leon-*|leon[3-9]-*)
1112 basic_machine=sparclite-wrs 916 cpu=sparc
1113 os=-vxworks 917 vendor=`echo "$basic_machine" | sed 's/-.*//'`
1114 ;; 918 ;;
1115 sps7) 919
1116 basic_machine=m68k-bull 920 *-*)
1117 os=-sysv2 921 # shellcheck disable=SC2162
922 IFS="-" read cpu vendor <<EOF
923$basic_machine
924EOF
1118 ;; 925 ;;
1119 spur) 926 # We use `pc' rather than `unknown'
1120 basic_machine=spur-unknown 927 # because (1) that's what they normally are, and
928 # (2) the word "unknown" tends to confuse beginning users.
929 i*86 | x86_64)
930 cpu=$basic_machine
931 vendor=pc
1121 ;; 932 ;;
1122 st2000) 933 # These rules are duplicated from below for sake of the special case above;
1123 basic_machine=m68k-tandem 934 # i.e. things that normalized to x86 arches should also default to "pc"
935 pc98)
936 cpu=i386
937 vendor=pc
1124 ;; 938 ;;
1125 stratus) 939 x64 | amd64)
1126 basic_machine=i860-stratus 940 cpu=x86_64
1127 os=-sysv4 941 vendor=pc
1128 ;; 942 ;;
1129 strongarm-* | thumb-*) 943 # Recognize the basic CPU types without company name.
1130 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 944 *)
945 cpu=$basic_machine
946 vendor=unknown
1131 ;; 947 ;;
1132 sun2) 948esac
1133 basic_machine=m68000-sun 949
950unset -v basic_machine
951
952# Decode basic machines in the full and proper CPU-Company form.
953case $cpu-$vendor in
954 # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
955 # some cases the only manufacturer, in others, it is the most popular.
956 craynv-unknown)
957 vendor=cray
958 os=${os:-unicosmp}
1134 ;; 959 ;;
1135 sun2os3) 960 c90-unknown | c90-cray)
1136 basic_machine=m68000-sun 961 vendor=cray
1137 os=-sunos3 962 os=${os:-unicos}
1138 ;; 963 ;;
1139 sun2os4) 964 fx80-unknown)
1140 basic_machine=m68000-sun 965 vendor=alliant
1141 os=-sunos4
1142 ;; 966 ;;
1143 sun3os3) 967 romp-unknown)
1144 basic_machine=m68k-sun 968 vendor=ibm
1145 os=-sunos3
1146 ;; 969 ;;
1147 sun3os4) 970 mmix-unknown)
1148 basic_machine=m68k-sun 971 vendor=knuth
1149 os=-sunos4
1150 ;; 972 ;;
1151 sun4os3) 973 microblaze-unknown | microblazeel-unknown)
1152 basic_machine=sparc-sun 974 vendor=xilinx
1153 os=-sunos3
1154 ;; 975 ;;
1155 sun4os4) 976 rs6000-unknown)
1156 basic_machine=sparc-sun 977 vendor=ibm
1157 os=-sunos4
1158 ;; 978 ;;
1159 sun4sol2) 979 vax-unknown)
1160 basic_machine=sparc-sun 980 vendor=dec
1161 os=-solaris2
1162 ;; 981 ;;
1163 sun3 | sun3-*) 982 pdp11-unknown)
1164 basic_machine=m68k-sun 983 vendor=dec
1165 ;; 984 ;;
1166 sun4) 985 we32k-unknown)
1167 basic_machine=sparc-sun 986 vendor=att
1168 ;; 987 ;;
1169 sun386 | sun386i | roadrunner) 988 cydra-unknown)
1170 basic_machine=i386-sun 989 vendor=cydrome
1171 ;; 990 ;;
1172 sv1) 991 i370-ibm*)
1173 basic_machine=sv1-cray 992 vendor=ibm
1174 os=-unicos
1175 ;; 993 ;;
1176 symmetry) 994 orion-unknown)
1177 basic_machine=i386-sequent 995 vendor=highlevel
1178 os=-dynix
1179 ;; 996 ;;
1180 t3e) 997 xps-unknown | xps100-unknown)
1181 basic_machine=alphaev5-cray 998 cpu=xps100
1182 os=-unicos 999 vendor=honeywell
1183 ;; 1000 ;;
1184 t90) 1001
1185 basic_machine=t90-cray 1002 # Here we normalize CPU types with a missing or matching vendor
1186 os=-unicos 1003 dpx20-unknown | dpx20-bull)
1004 cpu=rs6000
1005 vendor=bull
1006 os=${os:-bosx}
1187 ;; 1007 ;;
1188 tile*) 1008
1189 basic_machine=$basic_machine-unknown 1009 # Here we normalize CPU types irrespective of the vendor
1190 os=-linux-gnu 1010 amd64-*)
1011 cpu=x86_64
1191 ;; 1012 ;;
1192 tx39) 1013 blackfin-*)
1193 basic_machine=mipstx39-unknown 1014 cpu=bfin
1015 os=linux
1194 ;; 1016 ;;
1195 tx39el) 1017 c54x-*)
1196 basic_machine=mipstx39el-unknown 1018 cpu=tic54x
1197 ;; 1019 ;;
1198 toad1) 1020 c55x-*)
1199 basic_machine=pdp10-xkl 1021 cpu=tic55x
1200 os=-tops20
1201 ;; 1022 ;;
1202 tower | tower-32) 1023 c6x-*)
1203 basic_machine=m68k-ncr 1024 cpu=tic6x
1204 ;; 1025 ;;
1205 tpf) 1026 e500v[12]-*)
1206 basic_machine=s390x-ibm 1027 cpu=powerpc
1207 os=-tpf 1028 os=$os"spe"
1208 ;; 1029 ;;
1209 udi29k) 1030 mips3*-*)
1210 basic_machine=a29k-amd 1031 cpu=mips64
1211 os=-udi
1212 ;; 1032 ;;
1213 ultra3) 1033 ms1-*)
1214 basic_machine=a29k-nyu 1034 cpu=mt
1215 os=-sym1
1216 ;; 1035 ;;
1217 v810 | necv810) 1036 m68knommu-*)
1218 basic_machine=v810-nec 1037 cpu=m68k
1219 os=-none 1038 os=linux
1220 ;; 1039 ;;
1221 vaxv) 1040 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1222 basic_machine=vax-dec 1041 cpu=s12z
1223 os=-sysv
1224 ;; 1042 ;;
1225 vms) 1043 openrisc-*)
1226 basic_machine=vax-dec 1044 cpu=or32
1227 os=-vms
1228 ;; 1045 ;;
1229 vpp*|vx|vx-*) 1046 parisc-*)
1230 basic_machine=f301-fujitsu 1047 cpu=hppa
1048 os=linux
1231 ;; 1049 ;;
1232 vxworks960) 1050 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1233 basic_machine=i960-wrs 1051 cpu=i586
1234 os=-vxworks
1235 ;; 1052 ;;
1236 vxworks68) 1053 pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1237 basic_machine=m68k-wrs 1054 cpu=i686
1238 os=-vxworks
1239 ;; 1055 ;;
1240 vxworks29k) 1056 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1241 basic_machine=a29k-wrs 1057 cpu=i686
1242 os=-vxworks
1243 ;; 1058 ;;
1244 w65*) 1059 pentium4-*)
1245 basic_machine=w65-wdc 1060 cpu=i786
1246 os=-none
1247 ;; 1061 ;;
1248 w89k-*) 1062 pc98-*)
1249 basic_machine=hppa1.1-winbond 1063 cpu=i386
1250 os=-proelf
1251 ;; 1064 ;;
1252 xbox) 1065 ppc-* | ppcbe-*)
1253 basic_machine=i686-pc 1066 cpu=powerpc
1254 os=-mingw32
1255 ;; 1067 ;;
1256 xps | xps100) 1068 ppcle-* | powerpclittle-*)
1257 basic_machine=xps100-honeywell 1069 cpu=powerpcle
1258 ;; 1070 ;;
1259 xscale-* | xscalee[bl]-*) 1071 ppc64-*)
1260 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1072 cpu=powerpc64
1261 ;; 1073 ;;
1262 ymp) 1074 ppc64le-* | powerpc64little-*)
1263 basic_machine=ymp-cray 1075 cpu=powerpc64le
1264 os=-unicos
1265 ;; 1076 ;;
1266 z8k-*-coff) 1077 sb1-*)
1267 basic_machine=z8k-unknown 1078 cpu=mipsisa64sb1
1268 os=-sim
1269 ;; 1079 ;;
1270 z80-*-coff) 1080 sb1el-*)
1271 basic_machine=z80-unknown 1081 cpu=mipsisa64sb1el
1272 os=-sim
1273 ;; 1082 ;;
1274 none) 1083 sh5e[lb]-*)
1275 basic_machine=none-none 1084 cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
1276 os=-none
1277 ;; 1085 ;;
1278 1086 spur-*)
1279# Here we handle the default manufacturer of certain CPU types. It is in 1087 cpu=spur
1280# some cases the only manufacturer, in others, it is the most popular.
1281 w89k)
1282 basic_machine=hppa1.1-winbond
1283 ;; 1088 ;;
1284 op50n) 1089 strongarm-* | thumb-*)
1285 basic_machine=hppa1.1-oki 1090 cpu=arm
1286 ;; 1091 ;;
1287 op60c) 1092 tx39-*)
1288 basic_machine=hppa1.1-oki 1093 cpu=mipstx39
1289 ;; 1094 ;;
1290 romp) 1095 tx39el-*)
1291 basic_machine=romp-ibm 1096 cpu=mipstx39el
1292 ;; 1097 ;;
1293 mmix) 1098 x64-*)
1294 basic_machine=mmix-knuth 1099 cpu=x86_64
1295 ;; 1100 ;;
1296 rs6000) 1101 xscale-* | xscalee[bl]-*)
1297 basic_machine=rs6000-ibm 1102 cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
1298 ;; 1103 ;;
1299 vax) 1104
1300 basic_machine=vax-dec 1105 # Recognize the canonical CPU Types that limit and/or modify the
1106 # company names they are paired with.
1107 cr16-*)
1108 os=${os:-elf}
1301 ;; 1109 ;;
1302 pdp10) 1110 crisv32-* | etraxfs*-*)
1303 # there are many clones, so DEC is not a safe bet 1111 cpu=crisv32
1304 basic_machine=pdp10-unknown 1112 vendor=axis
1305 ;; 1113 ;;
1306 pdp11) 1114 cris-* | etrax*-*)
1307 basic_machine=pdp11-dec 1115 cpu=cris
1116 vendor=axis
1308 ;; 1117 ;;
1309 we32k) 1118 crx-*)
1310 basic_machine=we32k-att 1119 os=${os:-elf}
1311 ;; 1120 ;;
1312 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1121 neo-tandem)
1313 basic_machine=sh-unknown 1122 cpu=neo
1123 vendor=tandem
1314 ;; 1124 ;;
1315 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1125 nse-tandem)
1316 basic_machine=sparc-sun 1126 cpu=nse
1127 vendor=tandem
1317 ;; 1128 ;;
1318 cydra) 1129 nsr-tandem)
1319 basic_machine=cydra-cydrome 1130 cpu=nsr
1131 vendor=tandem
1320 ;; 1132 ;;
1321 orion) 1133 nsv-tandem)
1322 basic_machine=orion-highlevel 1134 cpu=nsv
1135 vendor=tandem
1323 ;; 1136 ;;
1324 orion105) 1137 nsx-tandem)
1325 basic_machine=clipper-highlevel 1138 cpu=nsx
1139 vendor=tandem
1326 ;; 1140 ;;
1327 mac | mpw | mac-mpw) 1141 s390-*)
1328 basic_machine=m68k-apple 1142 cpu=s390
1143 vendor=ibm
1329 ;; 1144 ;;
1330 pmac | pmac-mpw) 1145 s390x-*)
1331 basic_machine=powerpc-apple 1146 cpu=s390x
1147 vendor=ibm
1332 ;; 1148 ;;
1333 *-unknown) 1149 tile*-*)
1334 # Make sure to match an already-canonicalized machine name. 1150 os=${os:-linux-gnu}
1335 ;; 1151 ;;
1152
1336 *) 1153 *)
1337 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1154 # Recognize the canonical CPU types that are allowed with any
1338 exit 1 1155 # company name.
1156 case $cpu in
1157 1750a | 580 \
1158 | a29k \
1159 | aarch64 | aarch64_be \
1160 | abacus \
1161 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
1162 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
1163 | alphapca5[67] | alpha64pca5[67] \
1164 | am33_2.0 \
1165 | amdgcn \
1166 | arc | arceb \
1167 | arm | arm[lb]e | arme[lb] | armv* \
1168 | avr | avr32 \
1169 | asmjs \
1170 | ba \
1171 | be32 | be64 \
1172 | bfin | bpf | bs2000 \
1173 | c[123]* | c30 | [cjt]90 | c4x \
1174 | c8051 | clipper | craynv | csky | cydra \
1175 | d10v | d30v | dlx | dsp16xx \
1176 | e2k | elxsi | epiphany \
1177 | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
1178 | h8300 | h8500 \
1179 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
1180 | hexagon \
1181 | i370 | i*86 | i860 | i960 | ia16 | ia64 \
1182 | ip2k | iq2000 \
1183 | k1om \
1184 | le32 | le64 \
1185 | lm32 \
1186 | m32c | m32r | m32rle \
1187 | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
1188 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
1189 | m88110 | m88k | maxq | mb | mcore | mep | metag \
1190 | microblaze | microblazeel \
1191 | mips | mipsbe | mipseb | mipsel | mipsle \
1192 | mips16 \
1193 | mips64 | mips64eb | mips64el \
1194 | mips64octeon | mips64octeonel \
1195 | mips64orion | mips64orionel \
1196 | mips64r5900 | mips64r5900el \
1197 | mips64vr | mips64vrel \
1198 | mips64vr4100 | mips64vr4100el \
1199 | mips64vr4300 | mips64vr4300el \
1200 | mips64vr5000 | mips64vr5000el \
1201 | mips64vr5900 | mips64vr5900el \
1202 | mipsisa32 | mipsisa32el \
1203 | mipsisa32r2 | mipsisa32r2el \
1204 | mipsisa32r6 | mipsisa32r6el \
1205 | mipsisa64 | mipsisa64el \
1206 | mipsisa64r2 | mipsisa64r2el \
1207 | mipsisa64r6 | mipsisa64r6el \
1208 | mipsisa64sb1 | mipsisa64sb1el \
1209 | mipsisa64sr71k | mipsisa64sr71kel \
1210 | mipsr5900 | mipsr5900el \
1211 | mipstx39 | mipstx39el \
1212 | mmix \
1213 | mn10200 | mn10300 \
1214 | moxie \
1215 | mt \
1216 | msp430 \
1217 | nds32 | nds32le | nds32be \
1218 | nfp \
1219 | nios | nios2 | nios2eb | nios2el \
1220 | none | np1 | ns16k | ns32k | nvptx \
1221 | open8 \
1222 | or1k* \
1223 | or32 \
1224 | orion \
1225 | picochip \
1226 | pdp10 | pdp11 | pj | pjl | pn | power \
1227 | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1228 | pru \
1229 | pyramid \
1230 | riscv | riscv32 | riscv64 \
1231 | rl78 | romp | rs6000 | rx \
1232 | score \
1233 | sh | shl \
1234 | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1235 | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1236 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1237 | sparclite \
1238 | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1239 | spu \
1240 | tahoe \
1241 | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1242 | tron \
1243 | ubicom32 \
1244 | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1245 | vax \
1246 | visium \
1247 | w65 \
1248 | wasm32 | wasm64 \
1249 | we32k \
1250 | x86 | x86_64 | xc16x | xgate | xps100 \
1251 | xstormy16 | xtensa* \
1252 | ymp \
1253 | z8k | z80)
1254 ;;
1255
1256 *)
1257 echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1258 exit 1
1259 ;;
1260 esac
1339 ;; 1261 ;;
1340esac 1262esac
1341 1263
1342# Here we canonicalize certain aliases for manufacturers. 1264# Here we canonicalize certain aliases for manufacturers.
1343case $basic_machine in 1265case $vendor in
1344 *-digital*) 1266 digital*)
1345 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1267 vendor=dec
1346 ;; 1268 ;;
1347 *-commodore*) 1269 commodore*)
1348 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1270 vendor=cbm
1349 ;; 1271 ;;
1350 *) 1272 *)
1351 ;; 1273 ;;
@@ -1353,200 +1275,244 @@ esac
1353 1275
1354# Decode manufacturer-specific aliases for certain operating systems. 1276# Decode manufacturer-specific aliases for certain operating systems.
1355 1277
1356if [ x"$os" != x"" ] 1278if [ x$os != x ]
1357then 1279then
1358case $os in 1280case $os in
1359 # First match some system type aliases 1281 # First match some system type aliases that might get confused
1360 # that might get confused with valid system types. 1282 # with valid system types.
1361 # -solaris* is a basic system type, with this one exception. 1283 # solaris* is a basic system type, with this one exception.
1362 -auroraux) 1284 auroraux)
1363 os=-auroraux 1285 os=auroraux
1364 ;; 1286 ;;
1365 -solaris1 | -solaris1.*) 1287 bluegene*)
1366 os=`echo $os | sed -e 's|solaris1|sunos4|'` 1288 os=cnk
1367 ;; 1289 ;;
1368 -solaris) 1290 solaris1 | solaris1.*)
1369 os=-solaris2 1291 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1370 ;; 1292 ;;
1371 -svr4*) 1293 solaris)
1372 os=-sysv4 1294 os=solaris2
1373 ;; 1295 ;;
1374 -unixware*) 1296 unixware*)
1375 os=-sysv4.2uw 1297 os=sysv4.2uw
1376 ;; 1298 ;;
1377 -gnu/linux*) 1299 gnu/linux*)
1378 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1300 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1379 ;; 1301 ;;
1380 # First accept the basic system types. 1302 # es1800 is here to avoid being matched by es* (a different OS)
1303 es1800*)
1304 os=ose
1305 ;;
1306 # Some version numbers need modification
1307 chorusos*)
1308 os=chorusos
1309 ;;
1310 isc)
1311 os=isc2.2
1312 ;;
1313 sco6)
1314 os=sco5v6
1315 ;;
1316 sco5)
1317 os=sco3.2v5
1318 ;;
1319 sco4)
1320 os=sco3.2v4
1321 ;;
1322 sco3.2.[4-9]*)
1323 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1324 ;;
1325 sco3.2v[4-9]* | sco5v6*)
1326 # Don't forget version if it is 3.2v4 or newer.
1327 ;;
1328 scout)
1329 # Don't match below
1330 ;;
1331 sco*)
1332 os=sco3.2v2
1333 ;;
1334 psos*)
1335 os=psos
1336 ;;
1337 # Now accept the basic system types.
1381 # The portable systems comes first. 1338 # The portable systems comes first.
1382 # Each alternative MUST END IN A *, to match a version number. 1339 # Each alternative MUST end in a * to match a version number.
1383 # -sysv* is not here because it comes later, after sysvr4. 1340 # sysv* is not here because it comes later, after sysvr4.
1384 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1341 gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1385 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1342 | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
1386 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1343 | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1387 | -sym* | -kopensolaris* | -plan9* \ 1344 | sym* | kopensolaris* | plan9* \
1388 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1345 | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1389 | -aos* | -aros* | -cloudabi* | -sortix* \ 1346 | aos* | aros* | cloudabi* | sortix* | twizzler* \
1390 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1347 | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1391 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1348 | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1392 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1349 | knetbsd* | mirbsd* | netbsd* \
1393 | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1350 | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1394 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1351 | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
1395 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1352 | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1396 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1353 | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1397 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1354 | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
1398 | -chorusos* | -chorusrdb* | -cegcc* \ 1355 | chorusrdb* | cegcc* | glidix* \
1399 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1356 | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1400 | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1357 | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
1401 | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1358 | linux-newlib* | linux-musl* | linux-uclibc* \
1402 | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1359 | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1403 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1360 | interix* | uwin* | mks* | rhapsody* | darwin* \
1404 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1361 | openstep* | oskit* | conix* | pw32* | nonstopux* \
1405 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1362 | storm-chaos* | tops10* | tenex* | tops20* | its* \
1406 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1363 | os2* | vos* | palmos* | uclinux* | nucleus* \
1407 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1364 | morphos* | superux* | rtmk* | windiss* \
1408 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1365 | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1409 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1366 | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1410 | -onefs* | -tirtos* | -phoenix*) 1367 | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1368 | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1369 | nsk* | powerunix* | genode*)
1411 # Remember, each alternative MUST END IN *, to match a version number. 1370 # Remember, each alternative MUST END IN *, to match a version number.
1412 ;; 1371 ;;
1413 -qnx*) 1372 qnx*)
1414 case $basic_machine in 1373 case $cpu in
1415 x86-* | i*86-*) 1374 x86 | i*86)
1416 ;; 1375 ;;
1417 *) 1376 *)
1418 os=-nto$os 1377 os=nto-$os
1419 ;; 1378 ;;
1420 esac 1379 esac
1421 ;; 1380 ;;
1422 -nto-qnx*) 1381 hiux*)
1382 os=hiuxwe2
1423 ;; 1383 ;;
1424 -nto*) 1384 nto-qnx*)
1425 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1426 ;; 1385 ;;
1427 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1386 nto*)
1428 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1387 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1429 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1430 ;; 1388 ;;
1431 -mac*) 1389 sim | xray | os68k* | v88r* \
1432 os=`echo $os | sed -e 's|mac|macos|'` 1390 | windows* | osx | abug | netware* | os9* \
1391 | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
1433 ;; 1392 ;;
1434 -linux-dietlibc) 1393 linux-dietlibc)
1435 os=-linux-dietlibc 1394 os=linux-dietlibc
1436 ;; 1395 ;;
1437 -linux*) 1396 linux*)
1438 os=`echo $os | sed -e 's|linux|linux-gnu|'` 1397 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1439 ;; 1398 ;;
1440 -sunos5*) 1399 lynx*178)
1441 os=`echo $os | sed -e 's|sunos5|solaris2|'` 1400 os=lynxos178
1401 ;;
1402 lynx*5)
1403 os=lynxos5
1442 ;; 1404 ;;
1443 -sunos6*) 1405 lynx*)
1444 os=`echo $os | sed -e 's|sunos6|solaris3|'` 1406 os=lynxos
1445 ;; 1407 ;;
1446 -opened*) 1408 mac*)
1447 os=-openedition 1409 os=`echo "$os" | sed -e 's|mac|macos|'`
1448 ;; 1410 ;;
1449 -os400*) 1411 opened*)
1450 os=-os400 1412 os=openedition
1451 ;; 1413 ;;
1452 -wince*) 1414 os400*)
1453 os=-wince 1415 os=os400
1454 ;; 1416 ;;
1455 -osfrose*) 1417 sunos5*)
1456 os=-osfrose 1418 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1457 ;; 1419 ;;
1458 -osf*) 1420 sunos6*)
1459 os=-osf 1421 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1460 ;; 1422 ;;
1461 -utek*) 1423 wince*)
1462 os=-bsd 1424 os=wince
1463 ;; 1425 ;;
1464 -dynix*) 1426 utek*)
1465 os=-bsd 1427 os=bsd
1466 ;; 1428 ;;
1467 -acis*) 1429 dynix*)
1468 os=-aos 1430 os=bsd
1469 ;; 1431 ;;
1470 -atheos*) 1432 acis*)
1471 os=-atheos 1433 os=aos
1472 ;; 1434 ;;
1473 -syllable*) 1435 atheos*)
1474 os=-syllable 1436 os=atheos
1475 ;; 1437 ;;
1476 -386bsd) 1438 syllable*)
1477 os=-bsd 1439 os=syllable
1478 ;; 1440 ;;
1479 -ctix* | -uts*) 1441 386bsd)
1480 os=-sysv 1442 os=bsd
1481 ;; 1443 ;;
1482 -nova*) 1444 ctix* | uts*)
1483 os=-rtmk-nova 1445 os=sysv
1484 ;; 1446 ;;
1485 -ns2 ) 1447 nova*)
1486 os=-nextstep2 1448 os=rtmk-nova
1487 ;; 1449 ;;
1488 -nsk*) 1450 ns2)
1489 os=-nsk 1451 os=nextstep2
1490 ;; 1452 ;;
1491 # Preserve the version number of sinix5. 1453 # Preserve the version number of sinix5.
1492 -sinix5.*) 1454 sinix5.*)
1493 os=`echo $os | sed -e 's|sinix|sysv|'` 1455 os=`echo $os | sed -e 's|sinix|sysv|'`
1494 ;; 1456 ;;
1495 -sinix*) 1457 sinix*)
1496 os=-sysv4 1458 os=sysv4
1497 ;; 1459 ;;
1498 -tpf*) 1460 tpf*)
1499 os=-tpf 1461 os=tpf
1500 ;; 1462 ;;
1501 -triton*) 1463 triton*)
1502 os=-sysv3 1464 os=sysv3
1503 ;; 1465 ;;
1504 -oss*) 1466 oss*)
1505 os=-sysv3 1467 os=sysv3
1506 ;; 1468 ;;
1507 -svr4) 1469 svr4*)
1508 os=-sysv4 1470 os=sysv4
1509 ;; 1471 ;;
1510 -svr3) 1472 svr3)
1511 os=-sysv3 1473 os=sysv3
1512 ;; 1474 ;;
1513 -sysvr4) 1475 sysvr4)
1514 os=-sysv4 1476 os=sysv4
1515 ;; 1477 ;;
1516 # This must come after -sysvr4. 1478 # This must come after sysvr4.
1517 -sysv*) 1479 sysv*)
1518 ;; 1480 ;;
1519 -ose*) 1481 ose*)
1520 os=-ose 1482 os=ose
1521 ;; 1483 ;;
1522 -es1800*) 1484 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1523 os=-ose 1485 os=mint
1524 ;; 1486 ;;
1525 -xenix) 1487 zvmoe)
1526 os=-xenix 1488 os=zvmoe
1527 ;; 1489 ;;
1528 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1490 dicos*)
1529 os=-mint 1491 os=dicos
1530 ;; 1492 ;;
1531 -aros*) 1493 pikeos*)
1532 os=-aros 1494 # Until real need of OS specific support for
1533 ;; 1495 # particular features comes up, bare metal
1534 -zvmoe) 1496 # configurations are quite functional.
1535 os=-zvmoe 1497 case $cpu in
1498 arm*)
1499 os=eabi
1500 ;;
1501 *)
1502 os=elf
1503 ;;
1504 esac
1536 ;; 1505 ;;
1537 -dicos*) 1506 nacl*)
1538 os=-dicos
1539 ;; 1507 ;;
1540 -nacl*) 1508 ios)
1541 ;; 1509 ;;
1542 -ios) 1510 none)
1543 ;; 1511 ;;
1544 -none) 1512 *-eabi)
1545 ;; 1513 ;;
1546 *) 1514 *)
1547 # Get rid of the `-' at the beginning of $os. 1515 echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
1548 os=`echo $os | sed 's/[^-]*-//'`
1549 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1550 exit 1 1516 exit 1
1551 ;; 1517 ;;
1552esac 1518esac
@@ -1562,261 +1528,265 @@ else
1562# will signal an error saying that MANUFACTURER isn't an operating 1528# will signal an error saying that MANUFACTURER isn't an operating
1563# system, and we'll never get to this point. 1529# system, and we'll never get to this point.
1564 1530
1565case $basic_machine in 1531case $cpu-$vendor in
1566 score-*) 1532 score-*)
1567 os=-elf 1533 os=elf
1568 ;; 1534 ;;
1569 spu-*) 1535 spu-*)
1570 os=-elf 1536 os=elf
1571 ;; 1537 ;;
1572 *-acorn) 1538 *-acorn)
1573 os=-riscix1.2 1539 os=riscix1.2
1574 ;; 1540 ;;
1575 arm*-rebel) 1541 arm*-rebel)
1576 os=-linux 1542 os=linux
1577 ;; 1543 ;;
1578 arm*-semi) 1544 arm*-semi)
1579 os=-aout 1545 os=aout
1580 ;; 1546 ;;
1581 c4x-* | tic4x-*) 1547 c4x-* | tic4x-*)
1582 os=-coff 1548 os=coff
1583 ;; 1549 ;;
1584 c8051-*) 1550 c8051-*)
1585 os=-elf 1551 os=elf
1552 ;;
1553 clipper-intergraph)
1554 os=clix
1586 ;; 1555 ;;
1587 hexagon-*) 1556 hexagon-*)
1588 os=-elf 1557 os=elf
1589 ;; 1558 ;;
1590 tic54x-*) 1559 tic54x-*)
1591 os=-coff 1560 os=coff
1592 ;; 1561 ;;
1593 tic55x-*) 1562 tic55x-*)
1594 os=-coff 1563 os=coff
1595 ;; 1564 ;;
1596 tic6x-*) 1565 tic6x-*)
1597 os=-coff 1566 os=coff
1598 ;; 1567 ;;
1599 # This must come before the *-dec entry. 1568 # This must come before the *-dec entry.
1600 pdp10-*) 1569 pdp10-*)
1601 os=-tops20 1570 os=tops20
1602 ;; 1571 ;;
1603 pdp11-*) 1572 pdp11-*)
1604 os=-none 1573 os=none
1605 ;; 1574 ;;
1606 *-dec | vax-*) 1575 *-dec | vax-*)
1607 os=-ultrix4.2 1576 os=ultrix4.2
1608 ;; 1577 ;;
1609 m68*-apollo) 1578 m68*-apollo)
1610 os=-domain 1579 os=domain
1611 ;; 1580 ;;
1612 i386-sun) 1581 i386-sun)
1613 os=-sunos4.0.2 1582 os=sunos4.0.2
1614 ;; 1583 ;;
1615 m68000-sun) 1584 m68000-sun)
1616 os=-sunos3 1585 os=sunos3
1617 ;; 1586 ;;
1618 m68*-cisco) 1587 m68*-cisco)
1619 os=-aout 1588 os=aout
1620 ;; 1589 ;;
1621 mep-*) 1590 mep-*)
1622 os=-elf 1591 os=elf
1623 ;; 1592 ;;
1624 mips*-cisco) 1593 mips*-cisco)
1625 os=-elf 1594 os=elf
1626 ;; 1595 ;;
1627 mips*-*) 1596 mips*-*)
1628 os=-elf 1597 os=elf
1629 ;; 1598 ;;
1630 or32-*) 1599 or32-*)
1631 os=-coff 1600 os=coff
1632 ;; 1601 ;;
1633 *-tti) # must be before sparc entry or we get the wrong os. 1602 *-tti) # must be before sparc entry or we get the wrong os.
1634 os=-sysv3 1603 os=sysv3
1635 ;; 1604 ;;
1636 sparc-* | *-sun) 1605 sparc-* | *-sun)
1637 os=-sunos4.1.1 1606 os=sunos4.1.1
1638 ;; 1607 ;;
1639 *-be) 1608 pru-*)
1640 os=-beos 1609 os=elf
1641 ;; 1610 ;;
1642 *-haiku) 1611 *-be)
1643 os=-haiku 1612 os=beos
1644 ;; 1613 ;;
1645 *-ibm) 1614 *-ibm)
1646 os=-aix 1615 os=aix
1647 ;; 1616 ;;
1648 *-knuth) 1617 *-knuth)
1649 os=-mmixware 1618 os=mmixware
1650 ;; 1619 ;;
1651 *-wec) 1620 *-wec)
1652 os=-proelf 1621 os=proelf
1653 ;; 1622 ;;
1654 *-winbond) 1623 *-winbond)
1655 os=-proelf 1624 os=proelf
1656 ;; 1625 ;;
1657 *-oki) 1626 *-oki)
1658 os=-proelf 1627 os=proelf
1659 ;; 1628 ;;
1660 *-hp) 1629 *-hp)
1661 os=-hpux 1630 os=hpux
1662 ;; 1631 ;;
1663 *-hitachi) 1632 *-hitachi)
1664 os=-hiux 1633 os=hiux
1665 ;; 1634 ;;
1666 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1635 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1667 os=-sysv 1636 os=sysv
1668 ;; 1637 ;;
1669 *-cbm) 1638 *-cbm)
1670 os=-amigaos 1639 os=amigaos
1671 ;; 1640 ;;
1672 *-dg) 1641 *-dg)
1673 os=-dgux 1642 os=dgux
1674 ;; 1643 ;;
1675 *-dolphin) 1644 *-dolphin)
1676 os=-sysv3 1645 os=sysv3
1677 ;; 1646 ;;
1678 m68k-ccur) 1647 m68k-ccur)
1679 os=-rtu 1648 os=rtu
1680 ;; 1649 ;;
1681 m88k-omron*) 1650 m88k-omron*)
1682 os=-luna 1651 os=luna
1683 ;; 1652 ;;
1684 *-next ) 1653 *-next)
1685 os=-nextstep 1654 os=nextstep
1686 ;; 1655 ;;
1687 *-sequent) 1656 *-sequent)
1688 os=-ptx 1657 os=ptx
1689 ;; 1658 ;;
1690 *-crds) 1659 *-crds)
1691 os=-unos 1660 os=unos
1692 ;; 1661 ;;
1693 *-ns) 1662 *-ns)
1694 os=-genix 1663 os=genix
1695 ;; 1664 ;;
1696 i370-*) 1665 i370-*)
1697 os=-mvs 1666 os=mvs
1698 ;;
1699 *-next)
1700 os=-nextstep3
1701 ;; 1667 ;;
1702 *-gould) 1668 *-gould)
1703 os=-sysv 1669 os=sysv
1704 ;; 1670 ;;
1705 *-highlevel) 1671 *-highlevel)
1706 os=-bsd 1672 os=bsd
1707 ;; 1673 ;;
1708 *-encore) 1674 *-encore)
1709 os=-bsd 1675 os=bsd
1710 ;; 1676 ;;
1711 *-sgi) 1677 *-sgi)
1712 os=-irix 1678 os=irix
1713 ;; 1679 ;;
1714 *-siemens) 1680 *-siemens)
1715 os=-sysv4 1681 os=sysv4
1716 ;; 1682 ;;
1717 *-masscomp) 1683 *-masscomp)
1718 os=-rtu 1684 os=rtu
1719 ;; 1685 ;;
1720 f30[01]-fujitsu | f700-fujitsu) 1686 f30[01]-fujitsu | f700-fujitsu)
1721 os=-uxpv 1687 os=uxpv
1722 ;; 1688 ;;
1723 *-rom68k) 1689 *-rom68k)
1724 os=-coff 1690 os=coff
1725 ;; 1691 ;;
1726 *-*bug) 1692 *-*bug)
1727 os=-coff 1693 os=coff
1728 ;; 1694 ;;
1729 *-apple) 1695 *-apple)
1730 os=-macos 1696 os=macos
1731 ;; 1697 ;;
1732 *-atari*) 1698 *-atari*)
1733 os=-mint 1699 os=mint
1700 ;;
1701 *-wrs)
1702 os=vxworks
1734 ;; 1703 ;;
1735 *) 1704 *)
1736 os=-none 1705 os=none
1737 ;; 1706 ;;
1738esac 1707esac
1739fi 1708fi
1740 1709
1741# Here we handle the case where we know the os, and the CPU type, but not the 1710# Here we handle the case where we know the os, and the CPU type, but not the
1742# manufacturer. We pick the logical manufacturer. 1711# manufacturer. We pick the logical manufacturer.
1743vendor=unknown 1712case $vendor in
1744case $basic_machine in 1713 unknown)
1745 *-unknown)
1746 case $os in 1714 case $os in
1747 -riscix*) 1715 riscix*)
1748 vendor=acorn 1716 vendor=acorn
1749 ;; 1717 ;;
1750 -sunos*) 1718 sunos*)
1751 vendor=sun 1719 vendor=sun
1752 ;; 1720 ;;
1753 -cnk*|-aix*) 1721 cnk*|-aix*)
1754 vendor=ibm 1722 vendor=ibm
1755 ;; 1723 ;;
1756 -beos*) 1724 beos*)
1757 vendor=be 1725 vendor=be
1758 ;; 1726 ;;
1759 -hpux*) 1727 hpux*)
1760 vendor=hp 1728 vendor=hp
1761 ;; 1729 ;;
1762 -mpeix*) 1730 mpeix*)
1763 vendor=hp 1731 vendor=hp
1764 ;; 1732 ;;
1765 -hiux*) 1733 hiux*)
1766 vendor=hitachi 1734 vendor=hitachi
1767 ;; 1735 ;;
1768 -unos*) 1736 unos*)
1769 vendor=crds 1737 vendor=crds
1770 ;; 1738 ;;
1771 -dgux*) 1739 dgux*)
1772 vendor=dg 1740 vendor=dg
1773 ;; 1741 ;;
1774 -luna*) 1742 luna*)
1775 vendor=omron 1743 vendor=omron
1776 ;; 1744 ;;
1777 -genix*) 1745 genix*)
1778 vendor=ns 1746 vendor=ns
1779 ;; 1747 ;;
1780 -mvs* | -opened*) 1748 clix*)
1749 vendor=intergraph
1750 ;;
1751 mvs* | opened*)
1781 vendor=ibm 1752 vendor=ibm
1782 ;; 1753 ;;
1783 -os400*) 1754 os400*)
1784 vendor=ibm 1755 vendor=ibm
1785 ;; 1756 ;;
1786 -ptx*) 1757 ptx*)
1787 vendor=sequent 1758 vendor=sequent
1788 ;; 1759 ;;
1789 -tpf*) 1760 tpf*)
1790 vendor=ibm 1761 vendor=ibm
1791 ;; 1762 ;;
1792 -vxsim* | -vxworks* | -windiss*) 1763 vxsim* | vxworks* | windiss*)
1793 vendor=wrs 1764 vendor=wrs
1794 ;; 1765 ;;
1795 -aux*) 1766 aux*)
1796 vendor=apple 1767 vendor=apple
1797 ;; 1768 ;;
1798 -hms*) 1769 hms*)
1799 vendor=hitachi 1770 vendor=hitachi
1800 ;; 1771 ;;
1801 -mpw* | -macos*) 1772 mpw* | macos*)
1802 vendor=apple 1773 vendor=apple
1803 ;; 1774 ;;
1804 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1775 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1805 vendor=atari 1776 vendor=atari
1806 ;; 1777 ;;
1807 -vos*) 1778 vos*)
1808 vendor=stratus 1779 vendor=stratus
1809 ;; 1780 ;;
1810 esac 1781 esac
1811 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1812 ;; 1782 ;;
1813esac 1783esac
1814 1784
1815echo $basic_machine$os 1785echo "$cpu-$vendor-$os"
1816exit 1786exit
1817 1787
1818# Local variables: 1788# Local variables:
1819# eval: (add-hook 'write-file-hooks 'time-stamp) 1789# eval: (add-hook 'before-save-hook 'time-stamp)
1820# time-stamp-start: "timestamp='" 1790# time-stamp-start: "timestamp='"
1821# time-stamp-format: "%:y-%02m-%02d" 1791# time-stamp-format: "%:y-%02m-%02d"
1822# time-stamp-end: "'" 1792# time-stamp-end: "'"
diff --git a/configure b/configure
index 09db0a335..d2465270a 100755
--- a/configure
+++ b/configure
@@ -646,6 +646,7 @@ SSHDLIBS
646SSHLIBS 646SSHLIBS
647SSH_PRIVSEP_USER 647SSH_PRIVSEP_USER
648LIBFIDO2 648LIBFIDO2
649SK_DUMMY_LIBRARY
649COMMENT_OUT_ECC 650COMMENT_OUT_ECC
650TEST_SSH_ECC 651TEST_SSH_ECC
651PICFLAG 652PICFLAG
@@ -5412,6 +5413,12 @@ if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
5412 have_llong_max=1 5413 have_llong_max=1
5413fi 5414fi
5414 5415
5416ac_fn_c_check_decl "$LINENO" "LONG_LONG_MAX" "ac_cv_have_decl_LONG_LONG_MAX" "#include <limits.h>
5417"
5418if test "x$ac_cv_have_decl_LONG_LONG_MAX" = xyes; then :
5419 have_long_long_max=1
5420fi
5421
5415ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" " 5422ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" "
5416 #include <sys/types.h> 5423 #include <sys/types.h>
5417 #include <sys/param.h> 5424 #include <sys/param.h>
@@ -6828,6 +6835,7 @@ for ac_header in \
6828 string.h \ 6835 string.h \
6829 strings.h \ 6836 strings.h \
6830 sys/bitypes.h \ 6837 sys/bitypes.h \
6838 sys/byteorder.h \
6831 sys/bsdtty.h \ 6839 sys/bsdtty.h \
6832 sys/cdefs.h \ 6840 sys/cdefs.h \
6833 sys/dir.h \ 6841 sys/dir.h \
@@ -11558,6 +11566,28 @@ $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
11558fi 11566fi
11559 11567
11560 11568
11569ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11570
11571"
11572if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11573
11574else
11575 saved_CPPFLAGS="$CFLAGS"
11576 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
11577 unset ac_cv_have_decl_localtime_r
11578 ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11579
11580"
11581if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11582
11583else
11584 CPPFLAGS="$saved_CPPFLAGS"
11585fi
11586
11587
11588fi
11589
11590
11561ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" " 11591ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" "
11562#ifdef HAVE_STRING_H 11592#ifdef HAVE_STRING_H
11563# include <string.h> 11593# include <string.h>
@@ -11616,6 +11646,7 @@ _ACEOF
11616ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" " 11646ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" "
11617#include <sys/types.h> 11647#include <sys/types.h>
11618#include <sys/socket.h> 11648#include <sys/socket.h>
11649#include <unistd.h>
11619 11650
11620" 11651"
11621if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then : 11652if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then :
@@ -11627,6 +11658,21 @@ fi
11627cat >>confdefs.h <<_ACEOF 11658cat >>confdefs.h <<_ACEOF
11628#define HAVE_DECL_SHUT_RD $ac_have_decl 11659#define HAVE_DECL_SHUT_RD $ac_have_decl
11629_ACEOF 11660_ACEOF
11661ac_fn_c_check_decl "$LINENO" "getpeereid" "ac_cv_have_decl_getpeereid" "
11662#include <sys/types.h>
11663#include <sys/socket.h>
11664#include <unistd.h>
11665
11666"
11667if test "x$ac_cv_have_decl_getpeereid" = xyes; then :
11668 ac_have_decl=1
11669else
11670 ac_have_decl=0
11671fi
11672
11673cat >>confdefs.h <<_ACEOF
11674#define HAVE_DECL_GETPEEREID $ac_have_decl
11675_ACEOF
11630 11676
11631 11677
11632ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" " 11678ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" "
@@ -12719,6 +12765,68 @@ fi
12719 12765
12720fi 12766fi
12721 12767
12768{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SA_RESTARTed signals interrupt select()" >&5
12769$as_echo_n "checking if SA_RESTARTed signals interrupt select()... " >&6; }
12770if test "$cross_compiling" = yes; then :
12771 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
12772$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
12773
12774else
12775 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12776/* end confdefs.h. */
12777
12778#ifdef HAVE_SYS_SELECT
12779# include <sys/select.h>
12780#endif
12781#include <sys/types.h>
12782#include <sys/time.h>
12783#include <stdlib.h>
12784#include <signal.h>
12785static void sighandler(int sig) { }
12786
12787int
12788main ()
12789{
12790
12791 int r;
12792 pid_t pid;
12793 struct sigaction sa;
12794
12795 sa.sa_handler = sighandler;
12796 sa.sa_flags = SA_RESTART;
12797 (void)sigaction(SIGTERM, &sa, NULL);
12798 if ((pid = fork()) == 0) { /* child */
12799 pid = getppid();
12800 sleep(1);
12801 kill(pid, SIGTERM);
12802 sleep(1);
12803 if (getppid() == pid) /* if parent did not exit, shoot it */
12804 kill(pid, SIGKILL);
12805 exit(0);
12806 } else { /* parent */
12807 r = select(0, NULL, NULL, NULL, NULL);
12808 }
12809 exit(r == -1 ? 0 : 1);
12810
12811 ;
12812 return 0;
12813}
12814_ACEOF
12815if ac_fn_c_try_run "$LINENO"; then :
12816 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12817$as_echo "yes" >&6; }
12818else
12819 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12820$as_echo "no" >&6; }
12821
12822$as_echo "#define NO_SA_RESTART 1" >>confdefs.h
12823
12824fi
12825rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12826 conftest.$ac_objext conftest.beam conftest.$ac_ext
12827fi
12828
12829
12722for ac_func in getpgrp 12830for ac_func in getpgrp
12723do : 12831do :
12724 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp" 12832 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp"
@@ -13226,6 +13334,7 @@ fi
13226 EVP_PKEY_get0_RSA \ 13334 EVP_PKEY_get0_RSA \
13227 EVP_MD_CTX_new \ 13335 EVP_MD_CTX_new \
13228 EVP_MD_CTX_free \ 13336 EVP_MD_CTX_free \
13337 EVP_chacha20 \
13229 13338
13230do : 13339do :
13231 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 13340 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -13856,6 +13965,12 @@ if test "x$enable_sk" = "xyes" ; then
13856 13965
13857$as_echo "#define ENABLE_SK /**/" >>confdefs.h 13966$as_echo "#define ENABLE_SK /**/" >>confdefs.h
13858 13967
13968 SK_DUMMY_LIBRARY=regress/misc/sk-dummy/sk-dummy.so
13969
13970else
13971 # Do not try to build sk-dummy library.
13972 SK_DUMMY_LIBRARY=""
13973
13859fi 13974fi
13860{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sk" >&5 13975{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sk" >&5
13861$as_echo "$enable_sk" >&6; } 13976$as_echo "$enable_sk" >&6; }
@@ -14025,8 +14140,28 @@ $as_echo "#define ENABLE_SK_INTERNAL /**/" >>confdefs.h
14025 14140
14026 enable_sk="built-in" 14141 enable_sk="built-in"
14027 14142
14143else
14144 as_fn_error $? "no usable libfido2 found" "$LINENO" 5
14145fi
14146
14147 ac_fn_c_check_header_mongrel "$LINENO" "fido.h" "ac_cv_header_fido_h" "$ac_includes_default"
14148if test "x$ac_cv_header_fido_h" = xyes; then :
14149
14150else
14151 as_fn_error $? "missing fido.h from libfido2" "$LINENO" 5
14028fi 14152fi
14029 14153
14154
14155 ac_fn_c_check_header_compile "$LINENO" "fido/credman.h" "ac_cv_header_fido_credman_h" "#include <fido.h>
14156
14157"
14158if test "x$ac_cv_header_fido_credman_h" = xyes; then :
14159
14160else
14161 as_fn_error $? "missing fido/credman.h from libfido2" "$LINENO" 5
14162fi
14163
14164
14030fi 14165fi
14031 14166
14032for ac_func in \ 14167for ac_func in \
@@ -14996,7 +15131,7 @@ if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
14996fi 15131fi
14997 15132
14998# compute LLONG_MIN and LLONG_MAX if we don't know them. 15133# compute LLONG_MIN and LLONG_MAX if we don't know them.
14999if test -z "$have_llong_max"; then 15134if test -z "$have_llong_max" && test -z "$have_long_long_max"; then
15000 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5 15135 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5
15001$as_echo_n "checking for max value of long long... " >&6; } 15136$as_echo_n "checking for max value of long long... " >&6; }
15002 if test "$cross_compiling" = yes; then : 15137 if test "$cross_compiling" = yes; then :
diff --git a/configure.ac b/configure.ac
index 5db3013de..7e0584d2c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,6 +93,7 @@ AC_SUBST([LD])
93AC_C_INLINE 93AC_C_INLINE
94 94
95AC_CHECK_DECL([LLONG_MAX], [have_llong_max=1], , [#include <limits.h>]) 95AC_CHECK_DECL([LLONG_MAX], [have_llong_max=1], , [#include <limits.h>])
96AC_CHECK_DECL([LONG_LONG_MAX], [have_long_long_max=1], , [#include <limits.h>])
96AC_CHECK_DECL([SYSTR_POLICY_KILL], [have_systr_policy_kill=1], , [ 97AC_CHECK_DECL([SYSTR_POLICY_KILL], [have_systr_policy_kill=1], , [
97 #include <sys/types.h> 98 #include <sys/types.h>
98 #include <sys/param.h> 99 #include <sys/param.h>
@@ -413,6 +414,7 @@ AC_CHECK_HEADERS([ \
413 string.h \ 414 string.h \
414 strings.h \ 415 strings.h \
415 sys/bitypes.h \ 416 sys/bitypes.h \
417 sys/byteorder.h \
416 sys/bsdtty.h \ 418 sys/bsdtty.h \
417 sys/cdefs.h \ 419 sys/cdefs.h \
418 sys/dir.h \ 420 sys/dir.h \
@@ -2047,6 +2049,19 @@ AC_SEARCH_LIBS([nanosleep], [rt posix4], [AC_DEFINE([HAVE_NANOSLEEP], [1],
2047AC_SEARCH_LIBS([clock_gettime], [rt], 2049AC_SEARCH_LIBS([clock_gettime], [rt],
2048 [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime])]) 2050 [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime])])
2049 2051
2052dnl check if we need -D_REENTRANT for localtime_r declaration.
2053AC_CHECK_DECL([localtime_r], [],
2054 [ saved_CPPFLAGS="$CFLAGS"
2055 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
2056 unset ac_cv_have_decl_localtime_r
2057 AC_CHECK_DECL([localtime_r], [],
2058 [ CPPFLAGS="$saved_CPPFLAGS" ],
2059 [ #include <time.h> ]
2060 )
2061 ],
2062 [ #include <time.h> ]
2063)
2064
2050dnl Make sure prototypes are defined for these before using them. 2065dnl Make sure prototypes are defined for these before using them.
2051AC_CHECK_DECL([strsep], 2066AC_CHECK_DECL([strsep],
2052 [AC_CHECK_FUNCS([strsep])], 2067 [AC_CHECK_FUNCS([strsep])],
@@ -2066,10 +2081,11 @@ AC_CHECK_DECL([tcsendbreak],
2066 2081
2067AC_CHECK_DECLS([h_errno], , ,[#include <netdb.h>]) 2082AC_CHECK_DECLS([h_errno], , ,[#include <netdb.h>])
2068 2083
2069AC_CHECK_DECLS([SHUT_RD], , , 2084AC_CHECK_DECLS([SHUT_RD, getpeereid], , ,
2070 [ 2085 [
2071#include <sys/types.h> 2086#include <sys/types.h>
2072#include <sys/socket.h> 2087#include <sys/socket.h>
2088#include <unistd.h>
2073 ]) 2089 ])
2074 2090
2075AC_CHECK_DECLS([O_NONBLOCK], , , 2091AC_CHECK_DECLS([O_NONBLOCK], , ,
@@ -2578,6 +2594,45 @@ static void sighandler(int sig) { _exit(1); }
2578 ) 2594 )
2579fi 2595fi
2580 2596
2597AC_MSG_CHECKING([if SA_RESTARTed signals interrupt select()])
2598AC_RUN_IFELSE(
2599 [AC_LANG_PROGRAM([[
2600#ifdef HAVE_SYS_SELECT
2601# include <sys/select.h>
2602#endif
2603#include <sys/types.h>
2604#include <sys/time.h>
2605#include <stdlib.h>
2606#include <signal.h>
2607static void sighandler(int sig) { }
2608 ]], [[
2609 int r;
2610 pid_t pid;
2611 struct sigaction sa;
2612
2613 sa.sa_handler = sighandler;
2614 sa.sa_flags = SA_RESTART;
2615 (void)sigaction(SIGTERM, &sa, NULL);
2616 if ((pid = fork()) == 0) { /* child */
2617 pid = getppid();
2618 sleep(1);
2619 kill(pid, SIGTERM);
2620 sleep(1);
2621 if (getppid() == pid) /* if parent did not exit, shoot it */
2622 kill(pid, SIGKILL);
2623 exit(0);
2624 } else { /* parent */
2625 r = select(0, NULL, NULL, NULL, NULL);
2626 }
2627 exit(r == -1 ? 0 : 1);
2628 ]])],
2629 [AC_MSG_RESULT([yes])],
2630 [AC_MSG_RESULT([no])
2631 AC_DEFINE([NO_SA_RESTART], [1],
2632 [SA_RESTARTed signals do no interrupt select])],
2633 [AC_MSG_WARN([cross compiling: assuming yes])]
2634)
2635
2581AC_CHECK_FUNCS([getpgrp],[ 2636AC_CHECK_FUNCS([getpgrp],[
2582 AC_MSG_CHECKING([if getpgrp accepts zero args]) 2637 AC_MSG_CHECKING([if getpgrp accepts zero args])
2583 AC_COMPILE_IFELSE( 2638 AC_COMPILE_IFELSE(
@@ -2883,6 +2938,7 @@ if test "x$openssl" = "xyes" ; then
2883 EVP_PKEY_get0_RSA \ 2938 EVP_PKEY_get0_RSA \
2884 EVP_MD_CTX_new \ 2939 EVP_MD_CTX_new \
2885 EVP_MD_CTX_free \ 2940 EVP_MD_CTX_free \
2941 EVP_chacha20 \
2886 ]) 2942 ])
2887 2943
2888 if test "x$openssl_engine" = "xyes" ; then 2944 if test "x$openssl_engine" = "xyes" ; then
@@ -3161,6 +3217,10 @@ AC_MSG_RESULT([$enable_pkcs11])
3161AC_MSG_CHECKING([whether to enable U2F]) 3217AC_MSG_CHECKING([whether to enable U2F])
3162if test "x$enable_sk" = "xyes" ; then 3218if test "x$enable_sk" = "xyes" ; then
3163 AC_DEFINE([ENABLE_SK], [], [Enable for U2F/FIDO support]) 3219 AC_DEFINE([ENABLE_SK], [], [Enable for U2F/FIDO support])
3220 AC_SUBST(SK_DUMMY_LIBRARY, [regress/misc/sk-dummy/sk-dummy.so])
3221else
3222 # Do not try to build sk-dummy library.
3223 AC_SUBST(SK_DUMMY_LIBRARY, [""])
3164fi 3224fi
3165AC_MSG_RESULT([$enable_sk]) 3225AC_MSG_RESULT([$enable_sk])
3166 3226
@@ -3190,9 +3250,15 @@ if test "x$enable_sk" = "xyes" -a "x$enable_sk_internal" = "xyes" ; then
3190 AC_DEFINE([ENABLE_SK_INTERNAL], [], 3250 AC_DEFINE([ENABLE_SK_INTERNAL], [],
3191 [Enable for built-in U2F/FIDO support]) 3251 [Enable for built-in U2F/FIDO support])
3192 enable_sk="built-in" 3252 enable_sk="built-in"
3193 ], [ ], 3253 ], [ AC_MSG_ERROR([no usable libfido2 found]) ],
3194 [ $OTHERLIBS ] 3254 [ $OTHERLIBS ]
3195 ) 3255 )
3256 AC_CHECK_HEADER([fido.h], [],
3257 AC_MSG_ERROR([missing fido.h from libfido2]))
3258 AC_CHECK_HEADER([fido/credman.h], [],
3259 AC_MSG_ERROR([missing fido/credman.h from libfido2]),
3260 [#include <fido.h>]
3261 )
3196fi 3262fi
3197 3263
3198AC_CHECK_FUNCS([ \ 3264AC_CHECK_FUNCS([ \
@@ -3645,7 +3711,7 @@ if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
3645fi 3711fi
3646 3712
3647# compute LLONG_MIN and LLONG_MAX if we don't know them. 3713# compute LLONG_MIN and LLONG_MAX if we don't know them.
3648if test -z "$have_llong_max"; then 3714if test -z "$have_llong_max" && test -z "$have_long_long_max"; then
3649 AC_MSG_CHECKING([for max value of long long]) 3715 AC_MSG_CHECKING([for max value of long long])
3650 AC_RUN_IFELSE( 3716 AC_RUN_IFELSE(
3651 [AC_LANG_PROGRAM([[ 3717 [AC_LANG_PROGRAM([[
diff --git a/contrib/cygwin/README b/contrib/cygwin/README
index 250baa3a4..3745051f5 100644
--- a/contrib/cygwin/README
+++ b/contrib/cygwin/README
@@ -60,7 +60,7 @@ Options:
60Please note that OpenSSH does never use the value of $HOME to 60Please note that OpenSSH does never use the value of $HOME to
61search for the users configuration files! It always uses the 61search for the users configuration files! It always uses the
62value of the pw_dir field in /etc/passwd as the home directory. 62value of the pw_dir field in /etc/passwd as the home directory.
63If no home diretory is set in /etc/passwd, the root directory 63If no home directory is set in /etc/passwd, the root directory
64is used instead! 64is used instead!
65 65
66================ 66================
diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec
index 54dc39610..dcd57aa19 100644
--- a/contrib/redhat/openssh.spec
+++ b/contrib/redhat/openssh.spec
@@ -1,78 +1,78 @@
1%define ver 8.2p1 1%global ver 8.3p1
2%define rel 1%{?dist} 2%global rel 1%{?dist}
3 3
4# OpenSSH privilege separation requires a user & group ID 4# OpenSSH privilege separation requires a user & group ID
5%define sshd_uid 74 5%global sshd_uid 74
6%define sshd_gid 74 6%global sshd_gid 74
7 7
8# Version of ssh-askpass 8# Version of ssh-askpass
9%define aversion 1.2.4.1 9%global aversion 1.2.4.1
10 10
11# Do we want to disable building of x11-askpass? (1=yes 0=no) 11# Do we want to disable building of x11-askpass? (1=yes 0=no)
12%define no_x11_askpass 0 12%global no_x11_askpass 0
13 13
14# Do we want to disable building of gnome-askpass? (1=yes 0=no) 14# Do we want to disable building of gnome-askpass? (1=yes 0=no)
15%define no_gnome_askpass 0 15%global no_gnome_askpass 0
16 16
17# Do we want to link against a static libcrypto? (1=yes 0=no) 17# Do we want to link against a static libcrypto? (1=yes 0=no)
18%define static_libcrypto 0 18%global static_libcrypto 0
19 19
20# Do we want smartcard support (1=yes 0=no) 20# Do we want smartcard support (1=yes 0=no)
21%define scard 0 21%global scard 0
22 22
23# Use GTK2 instead of GNOME in gnome-ssh-askpass 23# Use GTK2 instead of GNOME in gnome-ssh-askpass
24%define gtk2 1 24%global gtk2 1
25 25
26# Use build6x options for older RHEL builds 26# Use build6x options for older RHEL builds
27# RHEL 7 not yet supported 27# RHEL 7 not yet supported
28%if 0%{?rhel} > 6 28%if 0%{?rhel} > 6
29%define build6x 0 29%global build6x 0
30%else 30%else
31%define build6x 1 31%global build6x 1
32%endif 32%endif
33 33
34%if 0%{?fedora} >= 26 34%if 0%{?fedora} >= 26
35%define compat_openssl 1 35%global compat_openssl 1
36%else 36%else
37%define compat_openssl 0 37%global compat_openssl 0
38%endif 38%endif
39 39
40# Do we want kerberos5 support (1=yes 0=no) 40# Do we want kerberos5 support (1=yes 0=no)
41%define kerberos5 1 41%global kerberos5 1
42 42
43# Reserve options to override askpass settings with: 43# Reserve options to override askpass settings with:
44# rpm -ba|--rebuild --define 'skip_xxx 1' 44# rpm -ba|--rebuild --define 'skip_xxx 1'
45%{?skip_x11_askpass:%define no_x11_askpass 1} 45%{?skip_x11_askpass:%global no_x11_askpass 1}
46%{?skip_gnome_askpass:%define no_gnome_askpass 1} 46%{?skip_gnome_askpass:%global no_gnome_askpass 1}
47 47
48# Add option to build without GTK2 for older platforms with only GTK+. 48# Add option to build without GTK2 for older platforms with only GTK+.
49# RedHat <= 7.2 and Red Hat Advanced Server 2.1 are examples. 49# RedHat <= 7.2 and Red Hat Advanced Server 2.1 are examples.
50# rpm -ba|--rebuild --define 'no_gtk2 1' 50# rpm -ba|--rebuild --define 'no_gtk2 1'
51%{?no_gtk2:%define gtk2 0} 51%{?no_gtk2:%global gtk2 0}
52 52
53# Is this a build for RHL 6.x or earlier? 53# Is this a build for RHL 6.x or earlier?
54%{?build_6x:%define build6x 1} 54%{?build_6x:%global build6x 1}
55 55
56# If this is RHL 6.x, the default configuration has sysconfdir in /usr/etc. 56# If this is RHL 6.x, the default configuration has sysconfdir in /usr/etc.
57%if %{build6x} 57%if %{build6x}
58%define _sysconfdir /etc 58%global _sysconfdir /etc
59%endif 59%endif
60 60
61# Options for static OpenSSL link: 61# Options for static OpenSSL link:
62# rpm -ba|--rebuild --define "static_openssl 1" 62# rpm -ba|--rebuild --define "static_openssl 1"
63%{?static_openssl:%define static_libcrypto 1} 63%{?static_openssl:%global static_libcrypto 1}
64 64
65# Options for Smartcard support: (needs libsectok and openssl-engine) 65# Options for Smartcard support: (needs libsectok and openssl-engine)
66# rpm -ba|--rebuild --define "smartcard 1" 66# rpm -ba|--rebuild --define "smartcard 1"
67%{?smartcard:%define scard 1} 67%{?smartcard:%global scard 1}
68 68
69# Is this a build for the rescue CD (without PAM, with MD5)? (1=yes 0=no) 69# Is this a build for the rescue CD (without PAM, with MD5)? (1=yes 0=no)
70%define rescue 0 70%global rescue 0
71%{?build_rescue:%define rescue 1} 71%{?build_rescue:%global rescue 1}
72 72
73# Turn off some stuff for resuce builds 73# Turn off some stuff for resuce builds
74%if %{rescue} 74%if %{rescue}
75%define kerberos5 0 75%global kerberos5 0
76%endif 76%endif
77 77
78Summary: The OpenSSH implementation of SSH protocol version 2. 78Summary: The OpenSSH implementation of SSH protocol version 2.
diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec
index 4c318001e..a2789052d 100644
--- a/contrib/suse/openssh.spec
+++ b/contrib/suse/openssh.spec
@@ -13,7 +13,7 @@
13 13
14Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation 14Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
15Name: openssh 15Name: openssh
16Version: 8.2p1 16Version: 8.3p1
17URL: https://www.openssh.com/ 17URL: https://www.openssh.com/
18Release: 1 18Release: 1
19Source0: openssh-%{version}.tar.gz 19Source0: openssh-%{version}.tar.gz
diff --git a/debian/.git-dpm b/debian/.git-dpm
index 281d947f2..033091076 100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@ -1,12 +1,12 @@
1# see git-dpm(1) from git-dpm package 1# see git-dpm(1) from git-dpm package
286fe78ef4686485394b464cf9d3393ce27b33979 239b8d128ef980a410bb1ea0ee80e95ac9fff59c3
386fe78ef4686485394b464cf9d3393ce27b33979 339b8d128ef980a410bb1ea0ee80e95ac9fff59c3
4f0de78bd4f29fa688c5df116f3f9cd43543a76d0 4202f5a676221c244cd450086c334c2b59f339e86
5f0de78bd4f29fa688c5df116f3f9cd43543a76d0 5202f5a676221c244cd450086c334c2b59f339e86
6openssh_8.2p1.orig.tar.gz 6openssh_8.3p1.orig.tar.gz
7d1ab35a93507321c5db885e02d41ce1414f0507c 704c7adb9986f16746588db8988b910530c589819
81701197 81706358
9debianTag="debian/%e%%%V" 9debianTag="debian/%e%%%V"
10patchedTag="patched/%e%%%V" 10patchedTag="patched/%e%%%V"
11upstreamTag="upstream/%U" 11upstreamTag="upstream/%U"
12signature:d3814ab57572c13bdee2037ad1477e2f7c51e1b0:683:openssh_8.2p1.orig.tar.gz.asc 12signature:e3fdeb7b96543bcc2854614c6163cfe860ba5ec8:683:openssh_8.3p1.orig.tar.gz.asc
diff --git a/debian/NEWS b/debian/NEWS
index 542d38173..81cf93185 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,3 +1,13 @@
1openssh (1:8.3p1-1) unstable; urgency=medium
2
3 OpenSSH 8.3 includes a number of changes that may affect existing
4 configurations:
5
6 * sftp(1): reject an argument of "-1" in the same way as ssh(1) and scp(1)
7 do instead of accepting and silently ignoring it.
8
9 -- Colin Watson <cjwatson@debian.org> Sun, 07 Jun 2020 10:27:05 +0100
10
1openssh (1:8.2p1-1) unstable; urgency=medium 11openssh (1:8.2p1-1) unstable; urgency=medium
2 12
3 OpenSSH 8.2 includes a number of changes that may affect existing 13 OpenSSH 8.2 includes a number of changes that may affect existing
diff --git a/debian/changelog b/debian/changelog
index 69cbf0b4e..ab75bf2a7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,86 @@
1openssh (1:8.2p1-5) UNRELEASED; urgency=medium 1openssh (1:8.3p1-1) UNRELEASED; urgency=medium
2 2
3 * Fix or suppress various shellcheck errors under debian/. 3 * Fix or suppress various shellcheck errors under debian/.
4 4 * New upstream release (https://www.openssh.com/txt/release-8.3):
5 -- Colin Watson <cjwatson@debian.org> Sat, 23 May 2020 12:46:19 +0100 5 - [SECURITY] scp(1): when receiving files, scp(1) could become
6 desynchronised if a utimes(2) system call failed. This could allow
7 file contents to be interpreted as file metadata and thereby permit an
8 adversary to craft a file system that, when copied with scp(1) in a
9 configuration that caused utimes(2) to fail (e.g. under a SELinux
10 policy or syscall sandbox), transferred different file names and
11 contents to the actual file system layout.
12 - sftp(1): reject an argument of "-1" in the same way as ssh(1) and
13 scp(1) do instead of accepting and silently ignoring it.
14 - sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
15 rhosts/shosts, "no" to allow rhosts/shosts or (new) "shosts-only" to
16 allow .shosts files but not .rhosts.
17 - sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
18 sshd_config, not just before any Match blocks.
19 - ssh(1): add %TOKEN percent expansion for the LocalForward and
20 RemoteForward keywords when used for Unix domain socket forwarding.
21 - all: allow loading public keys from the unencrypted envelope of a
22 private key file if no corresponding public key file is present.
23 - ssh(1), sshd(8): prefer to use chacha20 from libcrypto where possible
24 instead of the (slower) portable C implementation included in OpenSSH.
25 - ssh-keygen(1): add ability to dump the contents of a binary key
26 revocation list via "ssh-keygen -lQf /path".
27 - ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from a
28 PKCS11Provider.
29 - ssh-keygen(1): avoid NULL dereference when trying to convert an
30 invalid RFC4716 private key.
31 - scp(1): when performing remote-to-remote copies using "scp -3", start
32 the second ssh(1) channel with BatchMode=yes enabled to avoid
33 confusing and non-deterministic ordering of prompts.
34 - ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
35 perform hashing of the message to be signed in the middleware layer
36 rather than in OpenSSH code. This permits the use of security key
37 middlewares that perform the hashing implicitly, such as Windows
38 Hello.
39 - ssh(1): fix incorrect error message for "too many known hosts files."
40 - ssh(1): make failures when establishing "Tunnel" forwarding terminate
41 the connection when ExitOnForwardFailure is enabled.
42 - ssh-keygen(1): fix printing of fingerprints on private keys and add a
43 regression test for same.
44 - sshd(8): document order of checking AuthorizedKeysFile (first) and
45 AuthorizedKeysCommand (subsequently, if the file doesn't match).
46 - sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are not
47 considered for HostbasedAuthentication when the target user is root.
48 - ssh(1), ssh-keygen(1): fix NULL dereference in private certificate key
49 parsing.
50 - ssh(1), sshd(8): more consistency between sets of %TOKENS are accepted
51 in various configuration options.
52 - ssh(1), ssh-keygen(1): improve error messages for some common PKCS#11
53 C_Login failure cases.
54 - ssh(1), sshd(8): make error messages for problems during SSH banner
55 exchange consistent with other SSH transport-layer error messages and
56 ensure they include the relevant IP addresses.
57 - ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys from a
58 token, don't prompt for a PIN until the token has told us that it
59 needs one. Avoids double-prompting on devices that implement
60 on-device authentication (closes: #932071).
61 - sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
62 should be an extension, not a critical option.
63 - ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message when
64 trying to use a FIDO key function and SecurityKeyProvider is empty.
65 - ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within the
66 values allowed by the wire format (u32). Prevents integer wraparound
67 of the timeout values.
68 - ssh(1): detect and prevent trivial configuration loops when using
69 ProxyJump. bz#3057.
70 - On platforms that do not support setting process-wide routing domains
71 (all excepting OpenBSD at present), fail to accept a configuration
72 attempts to set one at process start time rather than fatally erroring
73 at run time.
74 - Fix theoretical infinite loop in the glob(3) replacement
75 implementation.
76 * Update GSSAPI key exchange patch from
77 https://github.com/openssh-gsskex/openssh-gsskex:
78 - Fix connection through ProxyJump in combination with "GSSAPITrustDNS
79 yes".
80 - Enable SHA2-based GSSAPI key exchange methods by default as RFC 8732
81 was published.
82
83 -- Colin Watson <cjwatson@debian.org> Sun, 07 Jun 2020 10:25:54 +0100
6 84
7openssh (1:8.2p1-4) unstable; urgency=medium 85openssh (1:8.2p1-4) unstable; urgency=medium
8 86
diff --git a/debian/patches/authorized-keys-man-symlink.patch b/debian/patches/authorized-keys-man-symlink.patch
index 43a160a0f..68f5029d5 100644
--- a/debian/patches/authorized-keys-man-symlink.patch
+++ b/debian/patches/authorized-keys-man-symlink.patch
@@ -1,4 +1,4 @@
1From b0cb3badf4d423f8ea7bf950e55ca72878cc224b Mon Sep 17 00:00:00 2001 1From eb51213d1bdc8d80cd7d0578737d8a7bfde992d2 Mon Sep 17 00:00:00 2001
2From: Tomas Pospisek <tpo_deb@sourcepole.ch> 2From: Tomas Pospisek <tpo_deb@sourcepole.ch>
3Date: Sun, 9 Feb 2014 16:10:07 +0000 3Date: Sun, 9 Feb 2014 16:10:07 +0000
4Subject: Install authorized_keys(5) as a symlink to sshd(8) 4Subject: Install authorized_keys(5) as a symlink to sshd(8)
@@ -13,10 +13,10 @@ Patch-Name: authorized-keys-man-symlink.patch
13 1 file changed, 1 insertion(+) 13 1 file changed, 1 insertion(+)
14 14
15diff --git a/Makefile.in b/Makefile.in 15diff --git a/Makefile.in b/Makefile.in
16index b68c1710f..bff1db49b 100644 16index bf1e1de47..3aa808a38 100644
17--- a/Makefile.in 17--- a/Makefile.in
18+++ b/Makefile.in 18+++ b/Makefile.in
19@@ -402,6 +402,7 @@ install-files: 19@@ -406,6 +406,7 @@ install-files:
20 $(INSTALL) -m 644 sshd_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/sshd_config.5 20 $(INSTALL) -m 644 sshd_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/sshd_config.5
21 $(INSTALL) -m 644 ssh_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/ssh_config.5 21 $(INSTALL) -m 644 ssh_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/ssh_config.5
22 $(INSTALL) -m 644 sshd.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8 22 $(INSTALL) -m 644 sshd.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8
diff --git a/debian/patches/conch-old-privkey-format.patch b/debian/patches/conch-old-privkey-format.patch
index c48220f63..dfd1058b8 100644
--- a/debian/patches/conch-old-privkey-format.patch
+++ b/debian/patches/conch-old-privkey-format.patch
@@ -1,4 +1,4 @@
1From 39d3bb41ec288e8ba2384c65248440603f65349c Mon Sep 17 00:00:00 2001 1From f2697f0c5ff23bc13dce1c90fb4c1c934c02070b Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Thu, 30 Aug 2018 00:58:56 +0100 3Date: Thu, 30 Aug 2018 00:58:56 +0100
4Subject: Work around conch interoperability failure 4Subject: Work around conch interoperability failure
@@ -18,10 +18,10 @@ Patch-Name: conch-old-privkey-format.patch
18 3 files changed, 14 insertions(+), 2 deletions(-) 18 3 files changed, 14 insertions(+), 2 deletions(-)
19 19
20diff --git a/regress/Makefile b/regress/Makefile 20diff --git a/regress/Makefile b/regress/Makefile
21index 774c10d41..01e257a94 100644 21index 62794d25f..53a50ffca 100644
22--- a/regress/Makefile 22--- a/regress/Makefile
23+++ b/regress/Makefile 23+++ b/regress/Makefile
24@@ -120,7 +120,7 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \ 24@@ -121,7 +121,7 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \
25 rsa_ssh2_crnl.prv scp-ssh-wrapper.exe \ 25 rsa_ssh2_crnl.prv scp-ssh-wrapper.exe \
26 scp-ssh-wrapper.scp setuid-allowed sftp-server.log \ 26 scp-ssh-wrapper.scp setuid-allowed sftp-server.log \
27 sftp-server.sh sftp.log ssh-log-wrapper.sh ssh.log \ 27 sftp-server.sh sftp.log ssh-log-wrapper.sh ssh.log \
@@ -44,10 +44,10 @@ index 6678813a2..6ff5da20b 100644
44 127.0.0.1 "cat ${DATA}" 2>/dev/null | cat > ${COPY} 44 127.0.0.1 "cat ${DATA}" 2>/dev/null | cat > ${COPY}
45 if [ $? -ne 0 ]; then 45 if [ $? -ne 0 ]; then
46diff --git a/regress/test-exec.sh b/regress/test-exec.sh 46diff --git a/regress/test-exec.sh b/regress/test-exec.sh
47index f5e3ee6f5..a3a40719f 100644 47index 5dc975d07..d8491b2be 100644
48--- a/regress/test-exec.sh 48--- a/regress/test-exec.sh
49+++ b/regress/test-exec.sh 49+++ b/regress/test-exec.sh
50@@ -573,6 +573,18 @@ REGRESS_INTEROP_CONCH=no 50@@ -587,6 +587,18 @@ REGRESS_INTEROP_CONCH=no
51 if test -x "$CONCH" ; then 51 if test -x "$CONCH" ; then
52 REGRESS_INTEROP_CONCH=yes 52 REGRESS_INTEROP_CONCH=yes
53 fi 53 fi
diff --git a/debian/patches/debian-banner.patch b/debian/patches/debian-banner.patch
index 0d998fdd4..47a2fe372 100644
--- a/debian/patches/debian-banner.patch
+++ b/debian/patches/debian-banner.patch
@@ -1,4 +1,4 @@
1From 7d20d00ea24ec0c3fffacc80ab271d0699d198c6 Mon Sep 17 00:00:00 2001 1From 90c1c8771b61dd3ee0eacb4e1cfac404dc42f4b0 Mon Sep 17 00:00:00 2001
2From: Kees Cook <kees@debian.org> 2From: Kees Cook <kees@debian.org>
3Date: Sun, 9 Feb 2014 16:10:06 +0000 3Date: Sun, 9 Feb 2014 16:10:06 +0000
4Subject: Add DebianBanner server configuration option 4Subject: Add DebianBanner server configuration option
@@ -8,7 +8,7 @@ initial protocol handshake, for those scared by package-versioning.patch.
8 8
9Bug-Debian: http://bugs.debian.org/562048 9Bug-Debian: http://bugs.debian.org/562048
10Forwarded: not-needed 10Forwarded: not-needed
11Last-Update: 2020-02-21 11Last-Update: 2020-06-07
12 12
13Patch-Name: debian-banner.patch 13Patch-Name: debian-banner.patch
14--- 14---
@@ -17,24 +17,24 @@ Patch-Name: debian-banner.patch
17 servconf.c | 9 +++++++++ 17 servconf.c | 9 +++++++++
18 servconf.h | 2 ++ 18 servconf.h | 2 ++
19 sshconnect.c | 2 +- 19 sshconnect.c | 2 +-
20 sshd.c | 3 ++- 20 sshd.c | 2 +-
21 sshd_config.5 | 5 +++++ 21 sshd_config.5 | 5 +++++
22 7 files changed, 23 insertions(+), 5 deletions(-) 22 7 files changed, 22 insertions(+), 5 deletions(-)
23 23
24diff --git a/kex.c b/kex.c 24diff --git a/kex.c b/kex.c
25index f638942d3..2abfbb95a 100644 25index 0e64bf760..aa5acaac3 100644
26--- a/kex.c 26--- a/kex.c
27+++ b/kex.c 27+++ b/kex.c
28@@ -1226,7 +1226,7 @@ send_error(struct ssh *ssh, char *msg) 28@@ -1225,7 +1225,7 @@ send_error(struct ssh *ssh, char *msg)
29 */ 29 */
30 int 30 int
31 kex_exchange_identification(struct ssh *ssh, int timeout_ms, 31 kex_exchange_identification(struct ssh *ssh, int timeout_ms,
32- const char *version_addendum) 32- const char *version_addendum)
33+ int debian_banner, const char *version_addendum) 33+ int debian_banner, const char *version_addendum)
34 { 34 {
35 int remote_major, remote_minor, mismatch; 35 int remote_major, remote_minor, mismatch, oerrno = 0;
36 size_t len, i, n; 36 size_t len, i, n;
37@@ -1244,7 +1244,8 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, 37@@ -1243,7 +1243,8 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
38 if (version_addendum != NULL && *version_addendum == '\0') 38 if (version_addendum != NULL && *version_addendum == '\0')
39 version_addendum = NULL; 39 version_addendum = NULL;
40 if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%.100s%s%s\r\n", 40 if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%.100s%s%s\r\n",
@@ -43,7 +43,7 @@ index f638942d3..2abfbb95a 100644
43+ debian_banner ? SSH_RELEASE : SSH_RELEASE_MINIMUM, 43+ debian_banner ? SSH_RELEASE : SSH_RELEASE_MINIMUM,
44 version_addendum == NULL ? "" : " ", 44 version_addendum == NULL ? "" : " ",
45 version_addendum == NULL ? "" : version_addendum)) != 0) { 45 version_addendum == NULL ? "" : version_addendum)) != 0) {
46 error("%s: sshbuf_putf: %s", __func__, ssh_err(r)); 46 oerrno = errno;
47diff --git a/kex.h b/kex.h 47diff --git a/kex.h b/kex.h
48index fe7141414..938dca03b 100644 48index fe7141414..938dca03b 100644
49--- a/kex.h 49--- a/kex.h
@@ -58,7 +58,7 @@ index fe7141414..938dca03b 100644
58 struct kex *kex_new(void); 58 struct kex *kex_new(void);
59 int kex_ready(struct ssh *, char *[PROPOSAL_MAX]); 59 int kex_ready(struct ssh *, char *[PROPOSAL_MAX]);
60diff --git a/servconf.c b/servconf.c 60diff --git a/servconf.c b/servconf.c
61index bf3cd84a4..7bbc25c2e 100644 61index ff5b9436c..cf4e52f3b 100644
62--- a/servconf.c 62--- a/servconf.c
63+++ b/servconf.c 63+++ b/servconf.c
64@@ -194,6 +194,7 @@ initialize_server_options(ServerOptions *options) 64@@ -194,6 +194,7 @@ initialize_server_options(ServerOptions *options)
@@ -94,7 +94,7 @@ index bf3cd84a4..7bbc25c2e 100644
94 { NULL, sBadOption, 0 } 94 { NULL, sBadOption, 0 }
95 }; 95 };
96 96
97@@ -2382,6 +2387,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, 97@@ -2393,6 +2398,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
98 *charptr = xstrdup(arg); 98 *charptr = xstrdup(arg);
99 break; 99 break;
100 100
@@ -106,10 +106,10 @@ index bf3cd84a4..7bbc25c2e 100644
106 case sIgnore: 106 case sIgnore:
107 case sUnsupported: 107 case sUnsupported:
108diff --git a/servconf.h b/servconf.h 108diff --git a/servconf.h b/servconf.h
109index 3f47ea25e..3fa05fcac 100644 109index 253cad97e..5a2b60512 100644
110--- a/servconf.h 110--- a/servconf.h
111+++ b/servconf.h 111+++ b/servconf.h
112@@ -221,6 +221,8 @@ typedef struct { 112@@ -226,6 +226,8 @@ typedef struct {
113 int expose_userauth_info; 113 int expose_userauth_info;
114 u_int64_t timing_secret; 114 u_int64_t timing_secret;
115 char *sk_provider; 115 char *sk_provider;
@@ -119,37 +119,36 @@ index 3f47ea25e..3fa05fcac 100644
119 119
120 /* Information about the incoming connection as used by Match */ 120 /* Information about the incoming connection as used by Match */
121diff --git a/sshconnect.c b/sshconnect.c 121diff --git a/sshconnect.c b/sshconnect.c
122index b796d3c8a..9f2412e0d 100644 122index f20d3e792..1e5b8ea5a 100644
123--- a/sshconnect.c 123--- a/sshconnect.c
124+++ b/sshconnect.c 124+++ b/sshconnect.c
125@@ -1292,7 +1292,7 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost, 125@@ -1293,7 +1293,7 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost,
126 lowercase(host); 126 lowercase(host);
127 127
128 /* Exchange protocol version identification strings with the server. */ 128 /* Exchange protocol version identification strings with the server. */
129- if (kex_exchange_identification(ssh, timeout_ms, NULL) != 0) 129- if ((r = kex_exchange_identification(ssh, timeout_ms, NULL)) != 0)
130+ if (kex_exchange_identification(ssh, timeout_ms, 1, NULL) != 0) 130+ if ((r = kex_exchange_identification(ssh, timeout_ms, 1, NULL)) != 0)
131 cleanup_exit(255); /* error already logged */ 131 sshpkt_fatal(ssh, r, "banner exchange");
132 132
133 /* Put the connection into non-blocking mode. */ 133 /* Put the connection into non-blocking mode. */
134diff --git a/sshd.c b/sshd.c 134diff --git a/sshd.c b/sshd.c
135index 65916fc6d..da876a900 100644 135index e8b332ca4..baee13506 100644
136--- a/sshd.c 136--- a/sshd.c
137+++ b/sshd.c 137+++ b/sshd.c
138@@ -2187,7 +2187,8 @@ main(int ac, char **av) 138@@ -2181,7 +2181,7 @@ main(int ac, char **av)
139 if (!debug_flag) 139 if (!debug_flag)
140 alarm(options.login_grace_time); 140 alarm(options.login_grace_time);
141 141
142- if (kex_exchange_identification(ssh, -1, options.version_addendum) != 0) 142- if ((r = kex_exchange_identification(ssh, -1,
143+ if (kex_exchange_identification(ssh, -1, options.debian_banner, 143+ if ((r = kex_exchange_identification(ssh, -1, options.debian_banner,
144+ options.version_addendum) != 0) 144 options.version_addendum)) != 0)
145 cleanup_exit(255); /* error already logged */ 145 sshpkt_fatal(ssh, r, "banner exchange");
146 146
147 ssh_packet_set_nonblocking(ssh);
148diff --git a/sshd_config.5 b/sshd_config.5 147diff --git a/sshd_config.5 b/sshd_config.5
149index ebd09f891..c926f584c 100644 148index 9f093be1f..753ceda10 100644
150--- a/sshd_config.5 149--- a/sshd_config.5
151+++ b/sshd_config.5 150+++ b/sshd_config.5
152@@ -542,6 +542,11 @@ or 151@@ -540,6 +540,11 @@ or
153 .Cm no . 152 .Cm no .
154 The default is 153 The default is
155 .Cm yes . 154 .Cm yes .
diff --git a/debian/patches/debian-config.patch b/debian/patches/debian-config.patch
index 35c71b0e9..d01331cc3 100644
--- a/debian/patches/debian-config.patch
+++ b/debian/patches/debian-config.patch
@@ -1,4 +1,4 @@
1From 8086961f9f4ad834e9c3b09b6e2c80273be1c506 Mon Sep 17 00:00:00 2001 1From 08ca1225e6979fc6b5b6e7f85ce5cb0ac5cc7405 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:18 +0000 3Date: Sun, 9 Feb 2014 16:10:18 +0000
4Subject: Various Debian-specific configuration changes 4Subject: Various Debian-specific configuration changes
@@ -43,10 +43,10 @@ Patch-Name: debian-config.patch
43 6 files changed, 98 insertions(+), 9 deletions(-) 43 6 files changed, 98 insertions(+), 9 deletions(-)
44 44
45diff --git a/readconf.c b/readconf.c 45diff --git a/readconf.c b/readconf.c
46index 7f251dd4a..e82024678 100644 46index 5bf0afbb4..87b0dc62a 100644
47--- a/readconf.c 47--- a/readconf.c
48+++ b/readconf.c 48+++ b/readconf.c
49@@ -2087,7 +2087,7 @@ fill_default_options(Options * options) 49@@ -2111,7 +2111,7 @@ fill_default_options(Options * options)
50 if (options->forward_x11 == -1) 50 if (options->forward_x11 == -1)
51 options->forward_x11 = 0; 51 options->forward_x11 = 0;
52 if (options->forward_x11_trusted == -1) 52 if (options->forward_x11_trusted == -1)
@@ -56,10 +56,10 @@ index 7f251dd4a..e82024678 100644
56 options->forward_x11_timeout = 1200; 56 options->forward_x11_timeout = 1200;
57 /* 57 /*
58diff --git a/ssh.1 b/ssh.1 58diff --git a/ssh.1 b/ssh.1
59index b33a8049f..a8967c2f8 100644 59index 5a31b5dde..035823da3 100644
60--- a/ssh.1 60--- a/ssh.1
61+++ b/ssh.1 61+++ b/ssh.1
62@@ -809,6 +809,16 @@ directive in 62@@ -812,6 +812,16 @@ directive in
63 .Xr ssh_config 5 63 .Xr ssh_config 5
64 for more information. 64 for more information.
65 .Pp 65 .Pp
@@ -76,7 +76,7 @@ index b33a8049f..a8967c2f8 100644
76 .It Fl x 76 .It Fl x
77 Disables X11 forwarding. 77 Disables X11 forwarding.
78 .Pp 78 .Pp
79@@ -817,6 +827,20 @@ Enables trusted X11 forwarding. 79@@ -820,6 +830,20 @@ Enables trusted X11 forwarding.
80 Trusted X11 forwardings are not subjected to the X11 SECURITY extension 80 Trusted X11 forwardings are not subjected to the X11 SECURITY extension
81 controls. 81 controls.
82 .Pp 82 .Pp
@@ -123,7 +123,7 @@ index 1ff999b68..8a55237b9 100644
123+ HashKnownHosts yes 123+ HashKnownHosts yes
124+ GSSAPIAuthentication yes 124+ GSSAPIAuthentication yes
125diff --git a/ssh_config.5 b/ssh_config.5 125diff --git a/ssh_config.5 b/ssh_config.5
126index c6eaa63e7..34dc2d51b 100644 126index dd8241df1..aac3fabb7 100644
127--- a/ssh_config.5 127--- a/ssh_config.5
128+++ b/ssh_config.5 128+++ b/ssh_config.5
129@@ -71,6 +71,29 @@ Since the first obtained value for each parameter is used, more 129@@ -71,6 +71,29 @@ Since the first obtained value for each parameter is used, more
@@ -229,7 +229,7 @@ index 2c48105f8..459c1b230 100644
229 # Example of overriding settings on a per-user basis 229 # Example of overriding settings on a per-user basis
230 #Match User anoncvs 230 #Match User anoncvs
231diff --git a/sshd_config.5 b/sshd_config.5 231diff --git a/sshd_config.5 b/sshd_config.5
232index 25f4b8117..e8271be74 100644 232index c27f99937..b38025dbf 100644
233--- a/sshd_config.5 233--- a/sshd_config.5
234+++ b/sshd_config.5 234+++ b/sshd_config.5
235@@ -56,6 +56,35 @@ Arguments may optionally be enclosed in double quotes 235@@ -56,6 +56,35 @@ Arguments may optionally be enclosed in double quotes
diff --git a/debian/patches/dnssec-sshfp.patch b/debian/patches/dnssec-sshfp.patch
index 3744218ff..3b9e8df3c 100644
--- a/debian/patches/dnssec-sshfp.patch
+++ b/debian/patches/dnssec-sshfp.patch
@@ -1,4 +1,4 @@
1From 74c1c0ef7689ea68dc8263f73c00ff8675f9f0fe Mon Sep 17 00:00:00 2001 1From ca39bb2ab1f56d8ecdeadc32d6bda1a8e73301ac Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:01 +0000 3Date: Sun, 9 Feb 2014 16:10:01 +0000
4Subject: Force use of DNSSEC even if "options edns0" isn't in resolv.conf 4Subject: Force use of DNSSEC even if "options edns0" isn't in resolv.conf
diff --git a/debian/patches/doc-hash-tab-completion.patch b/debian/patches/doc-hash-tab-completion.patch
index b0faea78c..f58bbaeee 100644
--- a/debian/patches/doc-hash-tab-completion.patch
+++ b/debian/patches/doc-hash-tab-completion.patch
@@ -1,4 +1,4 @@
1From a14ddfc3f607b0bf29046bfb4b26a6d827fa58c7 Mon Sep 17 00:00:00 2001 1From 0402bdf307736b3afae8c80c84f04b0295990c45 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:11 +0000 3Date: Sun, 9 Feb 2014 16:10:11 +0000
4Subject: Document that HashKnownHosts may break tab-completion 4Subject: Document that HashKnownHosts may break tab-completion
@@ -13,7 +13,7 @@ Patch-Name: doc-hash-tab-completion.patch
13 1 file changed, 3 insertions(+) 13 1 file changed, 3 insertions(+)
14 14
15diff --git a/ssh_config.5 b/ssh_config.5 15diff --git a/ssh_config.5 b/ssh_config.5
16index e61a0fd43..c6eaa63e7 100644 16index d814147d4..dd8241df1 100644
17--- a/ssh_config.5 17--- a/ssh_config.5
18+++ b/ssh_config.5 18+++ b/ssh_config.5
19@@ -848,6 +848,9 @@ Note that existing names and addresses in known hosts files 19@@ -848,6 +848,9 @@ Note that existing names and addresses in known hosts files
diff --git a/debian/patches/gnome-ssh-askpass2-icon.patch b/debian/patches/gnome-ssh-askpass2-icon.patch
index 35b370752..7436be62d 100644
--- a/debian/patches/gnome-ssh-askpass2-icon.patch
+++ b/debian/patches/gnome-ssh-askpass2-icon.patch
@@ -1,4 +1,4 @@
1From 63da84c3570afb4fa6bab38fdac3e9af45d0ec54 Mon Sep 17 00:00:00 2001 1From 9b1d6a32944943b6b18861b97868c463bf5a6e8c Mon Sep 17 00:00:00 2001
2From: Vincent Untz <vuntz@ubuntu.com> 2From: Vincent Untz <vuntz@ubuntu.com>
3Date: Sun, 9 Feb 2014 16:10:16 +0000 3Date: Sun, 9 Feb 2014 16:10:16 +0000
4Subject: Give the ssh-askpass-gnome window a default icon 4Subject: Give the ssh-askpass-gnome window a default icon
diff --git a/debian/patches/gssapi.patch b/debian/patches/gssapi.patch
index 4bf1d3f73..685923e47 100644
--- a/debian/patches/gssapi.patch
+++ b/debian/patches/gssapi.patch
@@ -1,4 +1,4 @@
1From 34aff3aa136e5a65f441b25811dd466488fda087 Mon Sep 17 00:00:00 2001 1From 79f9d21b406c172878896ef41cdc2502fc2f84a7 Mon Sep 17 00:00:00 2001
2From: Simon Wilkinson <simon@sxw.org.uk> 2From: Simon Wilkinson <simon@sxw.org.uk>
3Date: Sun, 9 Feb 2014 16:09:48 +0000 3Date: Sun, 9 Feb 2014 16:09:48 +0000
4Subject: GSSAPI key exchange support 4Subject: GSSAPI key exchange support
@@ -16,9 +16,12 @@ have it merged into the main openssh package rather than having separate
16-krb5 packages (as we used to have). It seems to have a generally good 16-krb5 packages (as we used to have). It seems to have a generally good
17security history. 17security history.
18 18
19Author: Simon Wilkinson <simon@sxw.org.uk>
20Author: Colin Watson <cjwatson@debian.org>
21Author: Jakub Jelen <jjelen@redhat.com>
19Origin: other, https://github.com/openssh-gsskex/openssh-gsskex/commits/debian/master 22Origin: other, https://github.com/openssh-gsskex/openssh-gsskex/commits/debian/master
20Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1242 23Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1242
21Last-Updated: 2020-02-21 24Last-Updated: 2020-06-07
22 25
23Patch-Name: gssapi.patch 26Patch-Name: gssapi.patch
24--- 27---
@@ -49,23 +52,23 @@ Patch-Name: gssapi.patch
49 servconf.c | 47 ++++ 52 servconf.c | 47 ++++
50 servconf.h | 3 + 53 servconf.h | 3 +
51 session.c | 10 +- 54 session.c | 10 +-
52 ssh-gss.h | 50 +++- 55 ssh-gss.h | 54 ++++-
53 ssh.1 | 8 + 56 ssh.1 | 8 +
54 ssh.c | 6 +- 57 ssh.c | 6 +-
55 ssh_config | 2 + 58 ssh_config | 2 +
56 ssh_config.5 | 57 +++++ 59 ssh_config.5 | 57 +++++
57 sshconnect2.c | 142 +++++++++++- 60 sshconnect2.c | 154 +++++++++++-
58 sshd.c | 62 ++++- 61 sshd.c | 62 ++++-
59 sshd_config | 2 + 62 sshd_config | 2 +
60 sshd_config.5 | 30 +++ 63 sshd_config.5 | 30 +++
61 sshkey.c | 3 +- 64 sshkey.c | 3 +-
62 sshkey.h | 1 + 65 sshkey.h | 1 +
63 38 files changed, 2624 insertions(+), 160 deletions(-) 66 38 files changed, 2640 insertions(+), 160 deletions(-)
64 create mode 100644 kexgssc.c 67 create mode 100644 kexgssc.c
65 create mode 100644 kexgsss.c 68 create mode 100644 kexgsss.c
66 69
67diff --git a/Makefile.in b/Makefile.in 70diff --git a/Makefile.in b/Makefile.in
68index e7549470c..b68c1710f 100644 71index c9e4294d3..bf1e1de47 100644
69--- a/Makefile.in 72--- a/Makefile.in
70+++ b/Makefile.in 73+++ b/Makefile.in
71@@ -109,6 +109,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ 74@@ -109,6 +109,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \
@@ -336,7 +339,7 @@ index 9351e0428..d6446c0cf 100644
336 "gssapi-with-mic", 339 "gssapi-with-mic",
337 userauth_gssapi, 340 userauth_gssapi,
338diff --git a/auth2.c b/auth2.c 341diff --git a/auth2.c b/auth2.c
339index 0e7762242..1c217268c 100644 342index 91aaf34a6..a4a5e0069 100644
340--- a/auth2.c 343--- a/auth2.c
341+++ b/auth2.c 344+++ b/auth2.c
342@@ -73,6 +73,7 @@ extern Authmethod method_passwd; 345@@ -73,6 +73,7 @@ extern Authmethod method_passwd;
@@ -474,7 +477,7 @@ index 26d62855a..0cadc9f18 100644
474 int get_peer_port(int); 477 int get_peer_port(int);
475 char *get_local_ipaddr(int); 478 char *get_local_ipaddr(int);
476diff --git a/clientloop.c b/clientloop.c 479diff --git a/clientloop.c b/clientloop.c
477index ebd0dbca1..1bdac6a46 100644 480index da396c72a..42ace7789 100644
478--- a/clientloop.c 481--- a/clientloop.c
479+++ b/clientloop.c 482+++ b/clientloop.c
480@@ -112,6 +112,10 @@ 483@@ -112,6 +112,10 @@
@@ -488,7 +491,7 @@ index ebd0dbca1..1bdac6a46 100644
488 /* import options */ 491 /* import options */
489 extern Options options; 492 extern Options options;
490 493
491@@ -1379,9 +1383,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, 494@@ -1361,9 +1365,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
492 break; 495 break;
493 496
494 /* Do channel operations unless rekeying in progress. */ 497 /* Do channel operations unless rekeying in progress. */
@@ -509,10 +512,10 @@ index ebd0dbca1..1bdac6a46 100644
509 client_process_net_input(ssh, readset); 512 client_process_net_input(ssh, readset);
510 513
511diff --git a/configure.ac b/configure.ac 514diff --git a/configure.ac b/configure.ac
512index b689db4b5..efafb6bd8 100644 515index 460383757..d98e6f74a 100644
513--- a/configure.ac 516--- a/configure.ac
514+++ b/configure.ac 517+++ b/configure.ac
515@@ -674,6 +674,30 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) 518@@ -676,6 +676,30 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
516 [Use tunnel device compatibility to OpenBSD]) 519 [Use tunnel device compatibility to OpenBSD])
517 AC_DEFINE([SSH_TUN_PREPEND_AF], [1], 520 AC_DEFINE([SSH_TUN_PREPEND_AF], [1],
518 [Prepend the address family to IP tunnel traffic]) 521 [Prepend the address family to IP tunnel traffic])
@@ -1053,11 +1056,11 @@ index a151bc1e4..ef9beb67c 100644
1053 1056
1054 #endif /* KRB5 */ 1057 #endif /* KRB5 */
1055diff --git a/gss-serv.c b/gss-serv.c 1058diff --git a/gss-serv.c b/gss-serv.c
1056index ab3a15f0f..1d47870e7 100644 1059index b5d4bb2d1..55f4d4bda 100644
1057--- a/gss-serv.c 1060--- a/gss-serv.c
1058+++ b/gss-serv.c 1061+++ b/gss-serv.c
1059@@ -1,7 +1,7 @@ 1062@@ -1,7 +1,7 @@
1060 /* $OpenBSD: gss-serv.c,v 1.31 2018/07/09 21:37:55 markus Exp $ */ 1063 /* $OpenBSD: gss-serv.c,v 1.32 2020/03/13 03:17:07 djm Exp $ */
1061 1064
1062 /* 1065 /*
1063- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. 1066- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
@@ -1327,7 +1330,7 @@ index ab3a15f0f..1d47870e7 100644
1327 1330
1328 /* Privileged */ 1331 /* Privileged */
1329diff --git a/kex.c b/kex.c 1332diff --git a/kex.c b/kex.c
1330index ce85f0439..574c76093 100644 1333index 09c7258e0..144dee512 100644
1331--- a/kex.c 1334--- a/kex.c
1332+++ b/kex.c 1335+++ b/kex.c
1333@@ -57,11 +57,16 @@ 1336@@ -57,11 +57,16 @@
@@ -1439,7 +1442,7 @@ index ce85f0439..574c76093 100644
1439 /* put algorithm proposal into buffer */ 1442 /* put algorithm proposal into buffer */
1440 int 1443 int
1441 kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX]) 1444 kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX])
1442@@ -698,6 +755,9 @@ kex_free(struct kex *kex) 1445@@ -697,6 +754,9 @@ kex_free(struct kex *kex)
1443 sshbuf_free(kex->server_version); 1446 sshbuf_free(kex->server_version);
1444 sshbuf_free(kex->client_pub); 1447 sshbuf_free(kex->client_pub);
1445 free(kex->session_id); 1448 free(kex->session_id);
@@ -2653,7 +2656,7 @@ index 000000000..60bc02deb
2653+} 2656+}
2654+#endif /* defined(GSSAPI) && defined(WITH_OPENSSL) */ 2657+#endif /* defined(GSSAPI) && defined(WITH_OPENSSL) */
2655diff --git a/monitor.c b/monitor.c 2658diff --git a/monitor.c b/monitor.c
2656index 2ce89fe90..ebf76c7f9 100644 2659index b6e855d5d..5347e900d 100644
2657--- a/monitor.c 2660--- a/monitor.c
2658+++ b/monitor.c 2661+++ b/monitor.c
2659@@ -148,6 +148,8 @@ int mm_answer_gss_setup_ctx(struct ssh *, int, struct sshbuf *); 2662@@ -148,6 +148,8 @@ int mm_answer_gss_setup_ctx(struct ssh *, int, struct sshbuf *);
@@ -2706,7 +2709,7 @@ index 2ce89fe90..ebf76c7f9 100644
2706 2709
2707 if (auth_opts->permit_pty_flag) { 2710 if (auth_opts->permit_pty_flag) {
2708 monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); 2711 monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1);
2709@@ -1713,6 +1730,17 @@ monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor) 2712@@ -1712,6 +1729,17 @@ monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor)
2710 # ifdef OPENSSL_HAS_ECC 2713 # ifdef OPENSSL_HAS_ECC
2711 kex->kex[KEX_ECDH_SHA2] = kex_gen_server; 2714 kex->kex[KEX_ECDH_SHA2] = kex_gen_server;
2712 # endif 2715 # endif
@@ -2724,7 +2727,7 @@ index 2ce89fe90..ebf76c7f9 100644
2724 #endif /* WITH_OPENSSL */ 2727 #endif /* WITH_OPENSSL */
2725 kex->kex[KEX_C25519_SHA256] = kex_gen_server; 2728 kex->kex[KEX_C25519_SHA256] = kex_gen_server;
2726 kex->kex[KEX_KEM_SNTRUP4591761X25519_SHA512] = kex_gen_server; 2729 kex->kex[KEX_KEM_SNTRUP4591761X25519_SHA512] = kex_gen_server;
2727@@ -1806,8 +1834,8 @@ mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m) 2730@@ -1805,8 +1833,8 @@ mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
2728 u_char *p; 2731 u_char *p;
2729 int r; 2732 int r;
2730 2733
@@ -2735,7 +2738,7 @@ index 2ce89fe90..ebf76c7f9 100644
2735 2738
2736 if ((r = sshbuf_get_string(m, &p, &len)) != 0) 2739 if ((r = sshbuf_get_string(m, &p, &len)) != 0)
2737 fatal("%s: buffer error: %s", __func__, ssh_err(r)); 2740 fatal("%s: buffer error: %s", __func__, ssh_err(r));
2738@@ -1839,8 +1867,8 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) 2741@@ -1838,8 +1866,8 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
2739 OM_uint32 flags = 0; /* GSI needs this */ 2742 OM_uint32 flags = 0; /* GSI needs this */
2740 int r; 2743 int r;
2741 2744
@@ -2746,7 +2749,7 @@ index 2ce89fe90..ebf76c7f9 100644
2746 2749
2747 if ((r = ssh_gssapi_get_buffer_desc(m, &in)) != 0) 2750 if ((r = ssh_gssapi_get_buffer_desc(m, &in)) != 0)
2748 fatal("%s: buffer error: %s", __func__, ssh_err(r)); 2751 fatal("%s: buffer error: %s", __func__, ssh_err(r));
2749@@ -1860,6 +1888,7 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) 2752@@ -1859,6 +1887,7 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
2750 monitor_permit(mon_dispatch, MONITOR_REQ_GSSSTEP, 0); 2753 monitor_permit(mon_dispatch, MONITOR_REQ_GSSSTEP, 0);
2751 monitor_permit(mon_dispatch, MONITOR_REQ_GSSUSEROK, 1); 2754 monitor_permit(mon_dispatch, MONITOR_REQ_GSSUSEROK, 1);
2752 monitor_permit(mon_dispatch, MONITOR_REQ_GSSCHECKMIC, 1); 2755 monitor_permit(mon_dispatch, MONITOR_REQ_GSSCHECKMIC, 1);
@@ -2754,7 +2757,7 @@ index 2ce89fe90..ebf76c7f9 100644
2754 } 2757 }
2755 return (0); 2758 return (0);
2756 } 2759 }
2757@@ -1871,8 +1900,8 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) 2760@@ -1870,8 +1899,8 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m)
2758 OM_uint32 ret; 2761 OM_uint32 ret;
2759 int r; 2762 int r;
2760 2763
@@ -2765,7 +2768,7 @@ index 2ce89fe90..ebf76c7f9 100644
2765 2768
2766 if ((r = ssh_gssapi_get_buffer_desc(m, &gssbuf)) != 0 || 2769 if ((r = ssh_gssapi_get_buffer_desc(m, &gssbuf)) != 0 ||
2767 (r = ssh_gssapi_get_buffer_desc(m, &mic)) != 0) 2770 (r = ssh_gssapi_get_buffer_desc(m, &mic)) != 0)
2768@@ -1898,13 +1927,17 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) 2771@@ -1897,13 +1926,17 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m)
2769 int 2772 int
2770 mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) 2773 mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m)
2771 { 2774 {
@@ -2787,7 +2790,7 @@ index 2ce89fe90..ebf76c7f9 100644
2787 2790
2788 sshbuf_reset(m); 2791 sshbuf_reset(m);
2789 if ((r = sshbuf_put_u32(m, authenticated)) != 0) 2792 if ((r = sshbuf_put_u32(m, authenticated)) != 0)
2790@@ -1913,7 +1946,11 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) 2793@@ -1912,7 +1945,11 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m)
2791 debug3("%s: sending result %d", __func__, authenticated); 2794 debug3("%s: sending result %d", __func__, authenticated);
2792 mm_request_send(sock, MONITOR_ANS_GSSUSEROK, m); 2795 mm_request_send(sock, MONITOR_ANS_GSSUSEROK, m);
2793 2796
@@ -2800,7 +2803,7 @@ index 2ce89fe90..ebf76c7f9 100644
2800 2803
2801 if ((displayname = ssh_gssapi_displayname()) != NULL) 2804 if ((displayname = ssh_gssapi_displayname()) != NULL)
2802 auth2_record_info(authctxt, "%s", displayname); 2805 auth2_record_info(authctxt, "%s", displayname);
2803@@ -1921,5 +1958,85 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) 2806@@ -1920,5 +1957,85 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m)
2804 /* Monitor loop will terminate if authenticated */ 2807 /* Monitor loop will terminate if authenticated */
2805 return (authenticated); 2808 return (authenticated);
2806 } 2809 }
@@ -2995,7 +2998,7 @@ index 23ab096aa..485590c18 100644
2995 2998
2996 #ifdef USE_PAM 2999 #ifdef USE_PAM
2997diff --git a/readconf.c b/readconf.c 3000diff --git a/readconf.c b/readconf.c
2998index f3cac6b3a..da8022dd0 100644 3001index 2afcbaeca..fb585e248 100644
2999--- a/readconf.c 3002--- a/readconf.c
3000+++ b/readconf.c 3003+++ b/readconf.c
3001@@ -67,6 +67,7 @@ 3004@@ -67,6 +67,7 @@
@@ -3038,7 +3041,7 @@ index f3cac6b3a..da8022dd0 100644
3038 #endif 3041 #endif
3039 #ifdef ENABLE_PKCS11 3042 #ifdef ENABLE_PKCS11
3040 { "pkcs11provider", oPKCS11Provider }, 3043 { "pkcs11provider", oPKCS11Provider },
3041@@ -1029,10 +1044,42 @@ parse_time: 3044@@ -1053,10 +1068,42 @@ parse_time:
3042 intptr = &options->gss_authentication; 3045 intptr = &options->gss_authentication;
3043 goto parse_flag; 3046 goto parse_flag;
3044 3047
@@ -3081,7 +3084,7 @@ index f3cac6b3a..da8022dd0 100644
3081 case oBatchMode: 3084 case oBatchMode:
3082 intptr = &options->batch_mode; 3085 intptr = &options->batch_mode;
3083 goto parse_flag; 3086 goto parse_flag;
3084@@ -1911,7 +1958,13 @@ initialize_options(Options * options) 3087@@ -1935,7 +1982,13 @@ initialize_options(Options * options)
3085 options->pubkey_authentication = -1; 3088 options->pubkey_authentication = -1;
3086 options->challenge_response_authentication = -1; 3089 options->challenge_response_authentication = -1;
3087 options->gss_authentication = -1; 3090 options->gss_authentication = -1;
@@ -3095,7 +3098,7 @@ index f3cac6b3a..da8022dd0 100644
3095 options->password_authentication = -1; 3098 options->password_authentication = -1;
3096 options->kbd_interactive_authentication = -1; 3099 options->kbd_interactive_authentication = -1;
3097 options->kbd_interactive_devices = NULL; 3100 options->kbd_interactive_devices = NULL;
3098@@ -2059,8 +2112,18 @@ fill_default_options(Options * options) 3101@@ -2083,8 +2136,18 @@ fill_default_options(Options * options)
3099 options->challenge_response_authentication = 1; 3102 options->challenge_response_authentication = 1;
3100 if (options->gss_authentication == -1) 3103 if (options->gss_authentication == -1)
3101 options->gss_authentication = 0; 3104 options->gss_authentication = 0;
@@ -3114,7 +3117,7 @@ index f3cac6b3a..da8022dd0 100644
3114 if (options->password_authentication == -1) 3117 if (options->password_authentication == -1)
3115 options->password_authentication = 1; 3118 options->password_authentication = 1;
3116 if (options->kbd_interactive_authentication == -1) 3119 if (options->kbd_interactive_authentication == -1)
3117@@ -2702,7 +2765,14 @@ dump_client_config(Options *o, const char *host) 3120@@ -2726,7 +2789,14 @@ dump_client_config(Options *o, const char *host)
3118 dump_cfg_fmtint(oGatewayPorts, o->fwd_opts.gateway_ports); 3121 dump_cfg_fmtint(oGatewayPorts, o->fwd_opts.gateway_ports);
3119 #ifdef GSSAPI 3122 #ifdef GSSAPI
3120 dump_cfg_fmtint(oGssAuthentication, o->gss_authentication); 3123 dump_cfg_fmtint(oGssAuthentication, o->gss_authentication);
@@ -3130,7 +3133,7 @@ index f3cac6b3a..da8022dd0 100644
3130 dump_cfg_fmtint(oHashKnownHosts, o->hash_known_hosts); 3133 dump_cfg_fmtint(oHashKnownHosts, o->hash_known_hosts);
3131 dump_cfg_fmtint(oHostbasedAuthentication, o->hostbased_authentication); 3134 dump_cfg_fmtint(oHostbasedAuthentication, o->hostbased_authentication);
3132diff --git a/readconf.h b/readconf.h 3135diff --git a/readconf.h b/readconf.h
3133index feedb3d20..a8a8870d7 100644 3136index e143a1082..c405b837f 100644
3134--- a/readconf.h 3137--- a/readconf.h
3135+++ b/readconf.h 3138+++ b/readconf.h
3136@@ -41,7 +41,13 @@ typedef struct { 3139@@ -41,7 +41,13 @@ typedef struct {
@@ -3148,7 +3151,7 @@ index feedb3d20..a8a8870d7 100644
3148 * authentication. */ 3151 * authentication. */
3149 int kbd_interactive_authentication; /* Try keyboard-interactive auth. */ 3152 int kbd_interactive_authentication; /* Try keyboard-interactive auth. */
3150diff --git a/servconf.c b/servconf.c 3153diff --git a/servconf.c b/servconf.c
3151index 70f5f73f0..191575a16 100644 3154index ba0a92c7b..f38ba9e44 100644
3152--- a/servconf.c 3155--- a/servconf.c
3153+++ b/servconf.c 3156+++ b/servconf.c
3154@@ -69,6 +69,7 @@ 3157@@ -69,6 +69,7 @@
@@ -3221,7 +3224,7 @@ index 70f5f73f0..191575a16 100644
3221 { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL }, 3224 { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL },
3222 { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, 3225 { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL },
3223 { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL }, 3226 { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL },
3224@@ -1548,6 +1571,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, 3227@@ -1555,6 +1578,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
3225 intptr = &options->gss_authentication; 3228 intptr = &options->gss_authentication;
3226 goto parse_flag; 3229 goto parse_flag;
3227 3230
@@ -3232,7 +3235,7 @@ index 70f5f73f0..191575a16 100644
3232 case sGssCleanupCreds: 3235 case sGssCleanupCreds:
3233 intptr = &options->gss_cleanup_creds; 3236 intptr = &options->gss_cleanup_creds;
3234 goto parse_flag; 3237 goto parse_flag;
3235@@ -1556,6 +1583,22 @@ process_server_config_line_depth(ServerOptions *options, char *line, 3238@@ -1563,6 +1590,22 @@ process_server_config_line_depth(ServerOptions *options, char *line,
3236 intptr = &options->gss_strict_acceptor; 3239 intptr = &options->gss_strict_acceptor;
3237 goto parse_flag; 3240 goto parse_flag;
3238 3241
@@ -3255,7 +3258,7 @@ index 70f5f73f0..191575a16 100644
3255 case sPasswordAuthentication: 3258 case sPasswordAuthentication:
3256 intptr = &options->password_authentication; 3259 intptr = &options->password_authentication;
3257 goto parse_flag; 3260 goto parse_flag;
3258@@ -2777,6 +2820,10 @@ dump_config(ServerOptions *o) 3261@@ -2791,6 +2834,10 @@ dump_config(ServerOptions *o)
3259 #ifdef GSSAPI 3262 #ifdef GSSAPI
3260 dump_cfg_fmtint(sGssAuthentication, o->gss_authentication); 3263 dump_cfg_fmtint(sGssAuthentication, o->gss_authentication);
3261 dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds); 3264 dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds);
@@ -3267,10 +3270,10 @@ index 70f5f73f0..191575a16 100644
3267 dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication); 3270 dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication);
3268 dump_cfg_fmtint(sKbdInteractiveAuthentication, 3271 dump_cfg_fmtint(sKbdInteractiveAuthentication,
3269diff --git a/servconf.h b/servconf.h 3272diff --git a/servconf.h b/servconf.h
3270index 4202a2d02..3f47ea25e 100644 3273index a420f398d..253cad97e 100644
3271--- a/servconf.h 3274--- a/servconf.h
3272+++ b/servconf.h 3275+++ b/servconf.h
3273@@ -132,8 +132,11 @@ typedef struct { 3276@@ -137,8 +137,11 @@ typedef struct {
3274 int kerberos_get_afs_token; /* If true, try to get AFS token if 3277 int kerberos_get_afs_token; /* If true, try to get AFS token if
3275 * authenticated with Kerberos. */ 3278 * authenticated with Kerberos. */
3276 int gss_authentication; /* If true, permit GSSAPI authentication */ 3279 int gss_authentication; /* If true, permit GSSAPI authentication */
@@ -3283,7 +3286,7 @@ index 4202a2d02..3f47ea25e 100644
3283 * authentication. */ 3286 * authentication. */
3284 int kbd_interactive_authentication; /* If true, permit */ 3287 int kbd_interactive_authentication; /* If true, permit */
3285diff --git a/session.c b/session.c 3288diff --git a/session.c b/session.c
3286index 8c0e54f79..06a33442a 100644 3289index 18cdfa8cf..f9c2c866e 100644
3287--- a/session.c 3290--- a/session.c
3288+++ b/session.c 3291+++ b/session.c
3289@@ -2678,13 +2678,19 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt) 3292@@ -2678,13 +2678,19 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt)
@@ -3309,7 +3312,7 @@ index 8c0e54f79..06a33442a 100644
3309 3312
3310 /* remove agent socket */ 3313 /* remove agent socket */
3311diff --git a/ssh-gss.h b/ssh-gss.h 3314diff --git a/ssh-gss.h b/ssh-gss.h
3312index 36180d07a..70dd36658 100644 3315index 36180d07a..50d80bbca 100644
3313--- a/ssh-gss.h 3316--- a/ssh-gss.h
3314+++ b/ssh-gss.h 3317+++ b/ssh-gss.h
3315@@ -1,6 +1,6 @@ 3318@@ -1,6 +1,6 @@
@@ -3320,7 +3323,7 @@ index 36180d07a..70dd36658 100644
3320 * 3323 *
3321 * Redistribution and use in source and binary forms, with or without 3324 * Redistribution and use in source and binary forms, with or without
3322 * modification, are permitted provided that the following conditions 3325 * modification, are permitted provided that the following conditions
3323@@ -61,10 +61,30 @@ 3326@@ -61,10 +61,34 @@
3324 3327
3325 #define SSH_GSS_OIDTYPE 0x06 3328 #define SSH_GSS_OIDTYPE 0x06
3326 3329
@@ -3340,8 +3343,12 @@ index 36180d07a..70dd36658 100644
3340+#define KEX_GSS_C25519_SHA256_ID "gss-curve25519-sha256-" 3343+#define KEX_GSS_C25519_SHA256_ID "gss-curve25519-sha256-"
3341+ 3344+
3342+#define GSS_KEX_DEFAULT_KEX \ 3345+#define GSS_KEX_DEFAULT_KEX \
3343+ KEX_GSS_GEX_SHA1_ID "," \ 3346+ KEX_GSS_GRP14_SHA256_ID "," \
3344+ KEX_GSS_GRP14_SHA1_ID 3347+ KEX_GSS_GRP16_SHA512_ID "," \
3348+ KEX_GSS_NISTP256_SHA256_ID "," \
3349+ KEX_GSS_C25519_SHA256_ID "," \
3350+ KEX_GSS_GRP14_SHA1_ID "," \
3351+ KEX_GSS_GEX_SHA1_ID
3345+ 3352+
3346 typedef struct { 3353 typedef struct {
3347 char *filename; 3354 char *filename;
@@ -3351,7 +3358,7 @@ index 36180d07a..70dd36658 100644
3351 void *data; 3358 void *data;
3352 } ssh_gssapi_ccache; 3359 } ssh_gssapi_ccache;
3353 3360
3354@@ -72,8 +92,11 @@ typedef struct { 3361@@ -72,8 +96,11 @@ typedef struct {
3355 gss_buffer_desc displayname; 3362 gss_buffer_desc displayname;
3356 gss_buffer_desc exportedname; 3363 gss_buffer_desc exportedname;
3357 gss_cred_id_t creds; 3364 gss_cred_id_t creds;
@@ -3363,7 +3370,7 @@ index 36180d07a..70dd36658 100644
3363 } ssh_gssapi_client; 3370 } ssh_gssapi_client;
3364 3371
3365 typedef struct ssh_gssapi_mech_struct { 3372 typedef struct ssh_gssapi_mech_struct {
3366@@ -84,6 +107,7 @@ typedef struct ssh_gssapi_mech_struct { 3373@@ -84,6 +111,7 @@ typedef struct ssh_gssapi_mech_struct {
3367 int (*userok) (ssh_gssapi_client *, char *); 3374 int (*userok) (ssh_gssapi_client *, char *);
3368 int (*localname) (ssh_gssapi_client *, char **); 3375 int (*localname) (ssh_gssapi_client *, char **);
3369 void (*storecreds) (ssh_gssapi_client *); 3376 void (*storecreds) (ssh_gssapi_client *);
@@ -3371,7 +3378,7 @@ index 36180d07a..70dd36658 100644
3371 } ssh_gssapi_mech; 3378 } ssh_gssapi_mech;
3372 3379
3373 typedef struct { 3380 typedef struct {
3374@@ -94,10 +118,11 @@ typedef struct { 3381@@ -94,10 +122,11 @@ typedef struct {
3375 gss_OID oid; /* client */ 3382 gss_OID oid; /* client */
3376 gss_cred_id_t creds; /* server */ 3383 gss_cred_id_t creds; /* server */
3377 gss_name_t client; /* server */ 3384 gss_name_t client; /* server */
@@ -3384,7 +3391,7 @@ index 36180d07a..70dd36658 100644
3384 3391
3385 int ssh_gssapi_check_oid(Gssctxt *, void *, size_t); 3392 int ssh_gssapi_check_oid(Gssctxt *, void *, size_t);
3386 void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t); 3393 void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t);
3387@@ -109,6 +134,7 @@ OM_uint32 ssh_gssapi_test_oid_supported(OM_uint32 *, gss_OID, int *); 3394@@ -109,6 +138,7 @@ OM_uint32 ssh_gssapi_test_oid_supported(OM_uint32 *, gss_OID, int *);
3388 3395
3389 struct sshbuf; 3396 struct sshbuf;
3390 int ssh_gssapi_get_buffer_desc(struct sshbuf *, gss_buffer_desc *); 3397 int ssh_gssapi_get_buffer_desc(struct sshbuf *, gss_buffer_desc *);
@@ -3392,7 +3399,7 @@ index 36180d07a..70dd36658 100644
3392 3399
3393 OM_uint32 ssh_gssapi_import_name(Gssctxt *, const char *); 3400 OM_uint32 ssh_gssapi_import_name(Gssctxt *, const char *);
3394 OM_uint32 ssh_gssapi_init_ctx(Gssctxt *, int, 3401 OM_uint32 ssh_gssapi_init_ctx(Gssctxt *, int,
3395@@ -123,17 +149,33 @@ void ssh_gssapi_delete_ctx(Gssctxt **); 3402@@ -123,17 +153,33 @@ void ssh_gssapi_delete_ctx(Gssctxt **);
3396 OM_uint32 ssh_gssapi_sign(Gssctxt *, gss_buffer_t, gss_buffer_t); 3403 OM_uint32 ssh_gssapi_sign(Gssctxt *, gss_buffer_t, gss_buffer_t);
3397 void ssh_gssapi_buildmic(struct sshbuf *, const char *, 3404 void ssh_gssapi_buildmic(struct sshbuf *, const char *,
3398 const char *, const char *); 3405 const char *, const char *);
@@ -3429,10 +3436,10 @@ index 36180d07a..70dd36658 100644
3429 3436
3430 #endif /* _SSH_GSS_H */ 3437 #endif /* _SSH_GSS_H */
3431diff --git a/ssh.1 b/ssh.1 3438diff --git a/ssh.1 b/ssh.1
3432index 60de6087a..db5c65bc7 100644 3439index dce5f404b..7a3ba31ab 100644
3433--- a/ssh.1 3440--- a/ssh.1
3434+++ b/ssh.1 3441+++ b/ssh.1
3435@@ -503,7 +503,13 @@ For full details of the options listed below, and their possible values, see 3442@@ -506,7 +506,13 @@ For full details of the options listed below, and their possible values, see
3436 .It GatewayPorts 3443 .It GatewayPorts
3437 .It GlobalKnownHostsFile 3444 .It GlobalKnownHostsFile
3438 .It GSSAPIAuthentication 3445 .It GSSAPIAuthentication
@@ -3446,7 +3453,7 @@ index 60de6087a..db5c65bc7 100644
3446 .It HashKnownHosts 3453 .It HashKnownHosts
3447 .It Host 3454 .It Host
3448 .It HostbasedAuthentication 3455 .It HostbasedAuthentication
3449@@ -579,6 +585,8 @@ flag), 3456@@ -582,6 +588,8 @@ flag),
3450 (supported message integrity codes), 3457 (supported message integrity codes),
3451 .Ar kex 3458 .Ar kex
3452 (key exchange algorithms), 3459 (key exchange algorithms),
@@ -3456,10 +3463,10 @@ index 60de6087a..db5c65bc7 100644
3456 (key types), 3463 (key types),
3457 .Ar key-cert 3464 .Ar key-cert
3458diff --git a/ssh.c b/ssh.c 3465diff --git a/ssh.c b/ssh.c
3459index 15aee569e..110cf9c19 100644 3466index 98b6ce788..4a81ef810 100644
3460--- a/ssh.c 3467--- a/ssh.c
3461+++ b/ssh.c 3468+++ b/ssh.c
3462@@ -747,6 +747,8 @@ main(int ac, char **av) 3469@@ -773,6 +773,8 @@ main(int ac, char **av)
3463 else if (strcmp(optarg, "kex") == 0 || 3470 else if (strcmp(optarg, "kex") == 0 ||
3464 strcasecmp(optarg, "KexAlgorithms") == 0) 3471 strcasecmp(optarg, "KexAlgorithms") == 0)
3465 cp = kex_alg_list('\n'); 3472 cp = kex_alg_list('\n');
@@ -3468,7 +3475,7 @@ index 15aee569e..110cf9c19 100644
3468 else if (strcmp(optarg, "key") == 0) 3475 else if (strcmp(optarg, "key") == 0)
3469 cp = sshkey_alg_list(0, 0, 0, '\n'); 3476 cp = sshkey_alg_list(0, 0, 0, '\n');
3470 else if (strcmp(optarg, "key-cert") == 0) 3477 else if (strcmp(optarg, "key-cert") == 0)
3471@@ -772,8 +774,8 @@ main(int ac, char **av) 3478@@ -798,8 +800,8 @@ main(int ac, char **av)
3472 } else if (strcmp(optarg, "help") == 0) { 3479 } else if (strcmp(optarg, "help") == 0) {
3473 cp = xstrdup( 3480 cp = xstrdup(
3474 "cipher\ncipher-auth\ncompression\nkex\n" 3481 "cipher\ncipher-auth\ncompression\nkex\n"
@@ -3493,7 +3500,7 @@ index 5e8ef548b..1ff999b68 100644
3493 # CheckHostIP yes 3500 # CheckHostIP yes
3494 # AddressFamily any 3501 # AddressFamily any
3495diff --git a/ssh_config.5 b/ssh_config.5 3502diff --git a/ssh_config.5 b/ssh_config.5
3496index 06a32d314..3f4906972 100644 3503index dc010ccbd..e2a2359f9 100644
3497--- a/ssh_config.5 3504--- a/ssh_config.5
3498+++ b/ssh_config.5 3505+++ b/ssh_config.5
3499@@ -766,10 +766,67 @@ The default is 3506@@ -766,10 +766,67 @@ The default is
@@ -3559,13 +3566,13 @@ index 06a32d314..3f4906972 100644
3559+.Ed 3566+.Ed
3560+.Pp 3567+.Pp
3561+The default is 3568+The default is
3562+.Dq gss-gex-sha1-,gss-group14-sha1- . 3569+.Dq gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1- .
3563+This option only applies to protocol version 2 connections using GSSAPI. 3570+This option only applies to connections using GSSAPI.
3564 .It Cm HashKnownHosts 3571 .It Cm HashKnownHosts
3565 Indicates that 3572 Indicates that
3566 .Xr ssh 1 3573 .Xr ssh 1
3567diff --git a/sshconnect2.c b/sshconnect2.c 3574diff --git a/sshconnect2.c b/sshconnect2.c
3568index af00fb30c..03bc87eb4 100644 3575index 1a6545edf..79a22e600 100644
3569--- a/sshconnect2.c 3576--- a/sshconnect2.c
3570+++ b/sshconnect2.c 3577+++ b/sshconnect2.c
3571@@ -80,8 +80,6 @@ 3578@@ -80,8 +80,6 @@
@@ -3589,7 +3596,7 @@ index af00fb30c..03bc87eb4 100644
3589 xxx_host = host; 3596 xxx_host = host;
3590 xxx_hostaddr = hostaddr; 3597 xxx_hostaddr = hostaddr;
3591 3598
3592@@ -206,6 +209,35 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) 3599@@ -206,6 +209,41 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port)
3593 compat_pkalg_proposal(options.hostkeyalgorithms); 3600 compat_pkalg_proposal(options.hostkeyalgorithms);
3594 } 3601 }
3595 3602
@@ -3599,12 +3606,18 @@ index af00fb30c..03bc87eb4 100644
3599+ * client to the key exchange algorithm proposal */ 3606+ * client to the key exchange algorithm proposal */
3600+ orig = myproposal[PROPOSAL_KEX_ALGS]; 3607+ orig = myproposal[PROPOSAL_KEX_ALGS];
3601+ 3608+
3602+ if (options.gss_server_identity) 3609+ if (options.gss_server_identity) {
3603+ gss_host = xstrdup(options.gss_server_identity); 3610+ gss_host = xstrdup(options.gss_server_identity);
3604+ else if (options.gss_trust_dns) 3611+ } else if (options.gss_trust_dns) {
3605+ gss_host = remote_hostname(ssh); 3612+ gss_host = remote_hostname(ssh);
3606+ else 3613+ /* Fall back to specified host if we are using proxy command
3614+ * and can not use DNS on that socket */
3615+ if (strcmp(gss_host, "UNKNOWN") == 0) {
3616+ gss_host = xstrdup(host);
3617+ }
3618+ } else {
3607+ gss_host = xstrdup(host); 3619+ gss_host = xstrdup(host);
3620+ }
3608+ 3621+
3609+ gss = ssh_gssapi_client_mechanisms(gss_host, 3622+ gss = ssh_gssapi_client_mechanisms(gss_host,
3610+ options.gss_client_identity, options.gss_kex_algorithms); 3623+ options.gss_client_identity, options.gss_kex_algorithms);
@@ -3625,7 +3638,7 @@ index af00fb30c..03bc87eb4 100644
3625 if (options.rekey_limit || options.rekey_interval) 3638 if (options.rekey_limit || options.rekey_interval)
3626 ssh_packet_set_rekey_limits(ssh, options.rekey_limit, 3639 ssh_packet_set_rekey_limits(ssh, options.rekey_limit,
3627 options.rekey_interval); 3640 options.rekey_interval);
3628@@ -224,16 +256,46 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) 3641@@ -224,16 +262,46 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port)
3629 # ifdef OPENSSL_HAS_ECC 3642 # ifdef OPENSSL_HAS_ECC
3630 ssh->kex->kex[KEX_ECDH_SHA2] = kex_gen_client; 3643 ssh->kex->kex[KEX_ECDH_SHA2] = kex_gen_client;
3631 # endif 3644 # endif
@@ -3673,7 +3686,7 @@ index af00fb30c..03bc87eb4 100644
3673 if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0) 3686 if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0)
3674 fatal("kex_prop2buf: %s", ssh_err(r)); 3687 fatal("kex_prop2buf: %s", ssh_err(r));
3675 3688
3676@@ -330,6 +392,7 @@ static int input_gssapi_response(int type, u_int32_t, struct ssh *); 3689@@ -330,6 +398,7 @@ static int input_gssapi_response(int type, u_int32_t, struct ssh *);
3677 static int input_gssapi_token(int type, u_int32_t, struct ssh *); 3690 static int input_gssapi_token(int type, u_int32_t, struct ssh *);
3678 static int input_gssapi_error(int, u_int32_t, struct ssh *); 3691 static int input_gssapi_error(int, u_int32_t, struct ssh *);
3679 static int input_gssapi_errtok(int, u_int32_t, struct ssh *); 3692 static int input_gssapi_errtok(int, u_int32_t, struct ssh *);
@@ -3681,7 +3694,7 @@ index af00fb30c..03bc87eb4 100644
3681 #endif 3694 #endif
3682 3695
3683 void userauth(struct ssh *, char *); 3696 void userauth(struct ssh *, char *);
3684@@ -346,6 +409,11 @@ static char *authmethods_get(void); 3697@@ -346,6 +415,11 @@ static char *authmethods_get(void);
3685 3698
3686 Authmethod authmethods[] = { 3699 Authmethod authmethods[] = {
3687 #ifdef GSSAPI 3700 #ifdef GSSAPI
@@ -3693,18 +3706,24 @@ index af00fb30c..03bc87eb4 100644
3693 {"gssapi-with-mic", 3706 {"gssapi-with-mic",
3694 userauth_gssapi, 3707 userauth_gssapi,
3695 userauth_gssapi_cleanup, 3708 userauth_gssapi_cleanup,
3696@@ -716,12 +784,25 @@ userauth_gssapi(struct ssh *ssh) 3709@@ -716,12 +790,31 @@ userauth_gssapi(struct ssh *ssh)
3697 OM_uint32 min; 3710 OM_uint32 min;
3698 int r, ok = 0; 3711 int r, ok = 0;
3699 gss_OID mech = NULL; 3712 gss_OID mech = NULL;
3700+ char *gss_host; 3713+ char *gss_host;
3701+ 3714+
3702+ if (options.gss_server_identity) 3715+ if (options.gss_server_identity) {
3703+ gss_host = xstrdup(options.gss_server_identity); 3716+ gss_host = xstrdup(options.gss_server_identity);
3704+ else if (options.gss_trust_dns) 3717+ } else if (options.gss_trust_dns) {
3705+ gss_host = remote_hostname(ssh); 3718+ gss_host = remote_hostname(ssh);
3706+ else 3719+ /* Fall back to specified host if we are using proxy command
3720+ * and can not use DNS on that socket */
3721+ if (strcmp(gss_host, "UNKNOWN") == 0) {
3722+ gss_host = authctxt->host;
3723+ }
3724+ } else {
3707+ gss_host = xstrdup(authctxt->host); 3725+ gss_host = xstrdup(authctxt->host);
3726+ }
3708 3727
3709 /* Try one GSSAPI method at a time, rather than sending them all at 3728 /* Try one GSSAPI method at a time, rather than sending them all at
3710 * once. */ 3729 * once. */
@@ -3720,7 +3739,7 @@ index af00fb30c..03bc87eb4 100644
3720 3739
3721 /* Check to see whether the mechanism is usable before we offer it */ 3740 /* Check to see whether the mechanism is usable before we offer it */
3722 while (authctxt->mech_tried < authctxt->gss_supported_mechs->count && 3741 while (authctxt->mech_tried < authctxt->gss_supported_mechs->count &&
3723@@ -730,13 +811,15 @@ userauth_gssapi(struct ssh *ssh) 3742@@ -730,13 +823,15 @@ userauth_gssapi(struct ssh *ssh)
3724 elements[authctxt->mech_tried]; 3743 elements[authctxt->mech_tried];
3725 /* My DER encoding requires length<128 */ 3744 /* My DER encoding requires length<128 */
3726 if (mech->length < 128 && ssh_gssapi_check_mechanism(&gssctxt, 3745 if (mech->length < 128 && ssh_gssapi_check_mechanism(&gssctxt,
@@ -3737,7 +3756,7 @@ index af00fb30c..03bc87eb4 100644
3737 if (!ok || mech == NULL) 3756 if (!ok || mech == NULL)
3738 return 0; 3757 return 0;
3739 3758
3740@@ -976,6 +1059,55 @@ input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh) 3759@@ -976,6 +1071,55 @@ input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh)
3741 free(lang); 3760 free(lang);
3742 return r; 3761 return r;
3743 } 3762 }
@@ -3794,10 +3813,10 @@ index af00fb30c..03bc87eb4 100644
3794 3813
3795 static int 3814 static int
3796diff --git a/sshd.c b/sshd.c 3815diff --git a/sshd.c b/sshd.c
3797index 60b2aaf73..d92f03aaf 100644 3816index 6f8f11a3b..02fca5c28 100644
3798--- a/sshd.c 3817--- a/sshd.c
3799+++ b/sshd.c 3818+++ b/sshd.c
3800@@ -817,8 +817,8 @@ notify_hostkeys(struct ssh *ssh) 3819@@ -816,8 +816,8 @@ notify_hostkeys(struct ssh *ssh)
3801 } 3820 }
3802 debug3("%s: sent %u hostkeys", __func__, nkeys); 3821 debug3("%s: sent %u hostkeys", __func__, nkeys);
3803 if (nkeys == 0) 3822 if (nkeys == 0)
@@ -3808,7 +3827,7 @@ index 60b2aaf73..d92f03aaf 100644
3808 sshpkt_fatal(ssh, r, "%s: send", __func__); 3827 sshpkt_fatal(ssh, r, "%s: send", __func__);
3809 sshbuf_free(buf); 3828 sshbuf_free(buf);
3810 } 3829 }
3811@@ -1852,7 +1852,8 @@ main(int ac, char **av) 3830@@ -1851,7 +1851,8 @@ main(int ac, char **av)
3812 free(fp); 3831 free(fp);
3813 } 3832 }
3814 accumulate_host_timing_secret(cfg, NULL); 3833 accumulate_host_timing_secret(cfg, NULL);
@@ -3818,7 +3837,7 @@ index 60b2aaf73..d92f03aaf 100644
3818 logit("sshd: no hostkeys available -- exiting."); 3837 logit("sshd: no hostkeys available -- exiting.");
3819 exit(1); 3838 exit(1);
3820 } 3839 }
3821@@ -2347,6 +2348,48 @@ do_ssh2_kex(struct ssh *ssh) 3840@@ -2342,6 +2343,48 @@ do_ssh2_kex(struct ssh *ssh)
3822 myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = compat_pkalg_proposal( 3841 myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = compat_pkalg_proposal(
3823 list_hostkey_types()); 3842 list_hostkey_types());
3824 3843
@@ -3867,7 +3886,7 @@ index 60b2aaf73..d92f03aaf 100644
3867 /* start key exchange */ 3886 /* start key exchange */
3868 if ((r = kex_setup(ssh, myproposal)) != 0) 3887 if ((r = kex_setup(ssh, myproposal)) != 0)
3869 fatal("kex_setup: %s", ssh_err(r)); 3888 fatal("kex_setup: %s", ssh_err(r));
3870@@ -2362,7 +2405,18 @@ do_ssh2_kex(struct ssh *ssh) 3889@@ -2357,7 +2400,18 @@ do_ssh2_kex(struct ssh *ssh)
3871 # ifdef OPENSSL_HAS_ECC 3890 # ifdef OPENSSL_HAS_ECC
3872 kex->kex[KEX_ECDH_SHA2] = kex_gen_server; 3891 kex->kex[KEX_ECDH_SHA2] = kex_gen_server;
3873 # endif 3892 # endif
@@ -3901,10 +3920,10 @@ index 19b7c91a1..2c48105f8 100644
3901 # Set this to 'yes' to enable PAM authentication, account processing, 3920 # Set this to 'yes' to enable PAM authentication, account processing,
3902 # and session processing. If this is enabled, PAM authentication will 3921 # and session processing. If this is enabled, PAM authentication will
3903diff --git a/sshd_config.5 b/sshd_config.5 3922diff --git a/sshd_config.5 b/sshd_config.5
3904index 70ccea449..f6b41a2f8 100644 3923index b294efc2d..360e5fb1a 100644
3905--- a/sshd_config.5 3924--- a/sshd_config.5
3906+++ b/sshd_config.5 3925+++ b/sshd_config.5
3907@@ -646,6 +646,11 @@ Specifies whether to automatically destroy the user's credentials cache 3926@@ -644,6 +644,11 @@ Specifies whether to automatically destroy the user's credentials cache
3908 on logout. 3927 on logout.
3909 The default is 3928 The default is
3910 .Cm yes . 3929 .Cm yes .
@@ -3916,7 +3935,7 @@ index 70ccea449..f6b41a2f8 100644
3916 .It Cm GSSAPIStrictAcceptorCheck 3935 .It Cm GSSAPIStrictAcceptorCheck
3917 Determines whether to be strict about the identity of the GSSAPI acceptor 3936 Determines whether to be strict about the identity of the GSSAPI acceptor
3918 a client authenticates against. 3937 a client authenticates against.
3919@@ -660,6 +665,31 @@ machine's default store. 3938@@ -658,6 +663,31 @@ machine's default store.
3920 This facility is provided to assist with operation on multi homed machines. 3939 This facility is provided to assist with operation on multi homed machines.
3921 The default is 3940 The default is
3922 .Cm yes . 3941 .Cm yes .
@@ -3943,13 +3962,13 @@ index 70ccea449..f6b41a2f8 100644
3943+.Ed 3962+.Ed
3944+.Pp 3963+.Pp
3945+The default is 3964+The default is
3946+.Dq gss-gex-sha1-,gss-group14-sha1- . 3965+.Dq gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1- .
3947+This option only applies to protocol version 2 connections using GSSAPI. 3966+This option only applies to connections using GSSAPI.
3948 .It Cm HostbasedAcceptedKeyTypes 3967 .It Cm HostbasedAcceptedKeyTypes
3949 Specifies the key types that will be accepted for hostbased authentication 3968 Specifies the key types that will be accepted for hostbased authentication
3950 as a list of comma-separated patterns. 3969 as a list of comma-separated patterns.
3951diff --git a/sshkey.c b/sshkey.c 3970diff --git a/sshkey.c b/sshkey.c
3952index 57995ee68..fd5b77246 100644 3971index 1571e3d93..1ac32a0ec 100644
3953--- a/sshkey.c 3972--- a/sshkey.c
3954+++ b/sshkey.c 3973+++ b/sshkey.c
3955@@ -154,6 +154,7 @@ static const struct keytype keytypes[] = { 3974@@ -154,6 +154,7 @@ static const struct keytype keytypes[] = {
@@ -3970,7 +3989,7 @@ index 57995ee68..fd5b77246 100644
3970 if (!include_sigonly && kt->sigonly) 3989 if (!include_sigonly && kt->sigonly)
3971 continue; 3990 continue;
3972diff --git a/sshkey.h b/sshkey.h 3991diff --git a/sshkey.h b/sshkey.h
3973index 71a3fddcb..37a43a67a 100644 3992index 9c1d4f637..f586e8967 100644
3974--- a/sshkey.h 3993--- a/sshkey.h
3975+++ b/sshkey.h 3994+++ b/sshkey.h
3976@@ -69,6 +69,7 @@ enum sshkey_types { 3995@@ -69,6 +69,7 @@ enum sshkey_types {
diff --git a/debian/patches/keepalive-extensions.patch b/debian/patches/keepalive-extensions.patch
index 734118a19..4a26d9d31 100644
--- a/debian/patches/keepalive-extensions.patch
+++ b/debian/patches/keepalive-extensions.patch
@@ -1,4 +1,4 @@
1From 3558be2914c0127489faae40ce2eae66142c3287 Mon Sep 17 00:00:00 2001 1From 24c9c811bfd227e467ab1ce00503f08dcc22c0f4 Mon Sep 17 00:00:00 2001
2From: Richard Kettlewell <rjk@greenend.org.uk> 2From: Richard Kettlewell <rjk@greenend.org.uk>
3Date: Sun, 9 Feb 2014 16:09:52 +0000 3Date: Sun, 9 Feb 2014 16:09:52 +0000
4Subject: Various keepalive extensions 4Subject: Various keepalive extensions
@@ -26,7 +26,7 @@ Patch-Name: keepalive-extensions.patch
26 3 files changed, 34 insertions(+), 4 deletions(-) 26 3 files changed, 34 insertions(+), 4 deletions(-)
27 27
28diff --git a/readconf.c b/readconf.c 28diff --git a/readconf.c b/readconf.c
29index 0fc996871..2399208f8 100644 29index 2ccc48572..431243193 100644
30--- a/readconf.c 30--- a/readconf.c
31+++ b/readconf.c 31+++ b/readconf.c
32@@ -176,6 +176,7 @@ typedef enum { 32@@ -176,6 +176,7 @@ typedef enum {
@@ -46,7 +46,7 @@ index 0fc996871..2399208f8 100644
46 46
47 { NULL, oBadOption } 47 { NULL, oBadOption }
48 }; 48 };
49@@ -1495,6 +1498,8 @@ parse_keytypes: 49@@ -1519,6 +1522,8 @@ parse_keytypes:
50 goto parse_flag; 50 goto parse_flag;
51 51
52 case oServerAliveInterval: 52 case oServerAliveInterval:
@@ -55,7 +55,7 @@ index 0fc996871..2399208f8 100644
55 intptr = &options->server_alive_interval; 55 intptr = &options->server_alive_interval;
56 goto parse_time; 56 goto parse_time;
57 57
58@@ -2198,8 +2203,13 @@ fill_default_options(Options * options) 58@@ -2222,8 +2227,13 @@ fill_default_options(Options * options)
59 options->rekey_interval = 0; 59 options->rekey_interval = 0;
60 if (options->verify_host_key_dns == -1) 60 if (options->verify_host_key_dns == -1)
61 options->verify_host_key_dns = 0; 61 options->verify_host_key_dns = 0;
@@ -72,7 +72,7 @@ index 0fc996871..2399208f8 100644
72 options->server_alive_count_max = 3; 72 options->server_alive_count_max = 3;
73 if (options->control_master == -1) 73 if (options->control_master == -1)
74diff --git a/ssh_config.5 b/ssh_config.5 74diff --git a/ssh_config.5 b/ssh_config.5
75index 3f4906972..3079db19b 100644 75index e2a2359f9..85ab7447f 100644
76--- a/ssh_config.5 76--- a/ssh_config.5
77+++ b/ssh_config.5 77+++ b/ssh_config.5
78@@ -266,9 +266,13 @@ If set to 78@@ -266,9 +266,13 @@ If set to
@@ -90,7 +90,7 @@ index 3f4906972..3079db19b 100644
90 The argument must be 90 The argument must be
91 .Cm yes 91 .Cm yes
92 or 92 or
93@@ -1593,7 +1597,14 @@ from the server, 93@@ -1604,7 +1608,14 @@ from the server,
94 will send a message through the encrypted 94 will send a message through the encrypted
95 channel to request a response from the server. 95 channel to request a response from the server.
96 The default 96 The default
@@ -106,7 +106,7 @@ index 3f4906972..3079db19b 100644
106 .It Cm SetEnv 106 .It Cm SetEnv
107 Directly specify one or more environment variables and their contents to 107 Directly specify one or more environment variables and their contents to
108 be sent to the server. 108 be sent to the server.
109@@ -1673,6 +1684,12 @@ Specifies whether the system should send TCP keepalive messages to the 109@@ -1684,6 +1695,12 @@ Specifies whether the system should send TCP keepalive messages to the
110 other side. 110 other side.
111 If they are sent, death of the connection or crash of one 111 If they are sent, death of the connection or crash of one
112 of the machines will be properly noticed. 112 of the machines will be properly noticed.
@@ -120,10 +120,10 @@ index 3f4906972..3079db19b 100644
120 connections will die if the route is down temporarily, and some people 120 connections will die if the route is down temporarily, and some people
121 find it annoying. 121 find it annoying.
122diff --git a/sshd_config.5 b/sshd_config.5 122diff --git a/sshd_config.5 b/sshd_config.5
123index f6b41a2f8..ebd09f891 100644 123index 360e5fb1a..9f093be1f 100644
124--- a/sshd_config.5 124--- a/sshd_config.5
125+++ b/sshd_config.5 125+++ b/sshd_config.5
126@@ -1668,6 +1668,9 @@ This avoids infinitely hanging sessions. 126@@ -1680,6 +1680,9 @@ This avoids infinitely hanging sessions.
127 .Pp 127 .Pp
128 To disable TCP keepalive messages, the value should be set to 128 To disable TCP keepalive messages, the value should be set to
129 .Cm no . 129 .Cm no .
diff --git a/debian/patches/mention-ssh-keygen-on-keychange.patch b/debian/patches/mention-ssh-keygen-on-keychange.patch
index 6d48d7589..50b51619c 100644
--- a/debian/patches/mention-ssh-keygen-on-keychange.patch
+++ b/debian/patches/mention-ssh-keygen-on-keychange.patch
@@ -1,4 +1,4 @@
1From c18e3c8125fc4553951705a1da8c86395d219bb1 Mon Sep 17 00:00:00 2001 1From 8ec2f85d03524a6b4954f0a29496b5a301f92080 Mon Sep 17 00:00:00 2001
2From: Scott Moser <smoser@ubuntu.com> 2From: Scott Moser <smoser@ubuntu.com>
3Date: Sun, 9 Feb 2014 16:10:03 +0000 3Date: Sun, 9 Feb 2014 16:10:03 +0000
4Subject: Mention ssh-keygen in ssh fingerprint changed warning 4Subject: Mention ssh-keygen in ssh fingerprint changed warning
@@ -14,7 +14,7 @@ Patch-Name: mention-ssh-keygen-on-keychange.patch
14 1 file changed, 8 insertions(+), 1 deletion(-) 14 1 file changed, 8 insertions(+), 1 deletion(-)
15 15
16diff --git a/sshconnect.c b/sshconnect.c 16diff --git a/sshconnect.c b/sshconnect.c
17index 4a5d4a003..b796d3c8a 100644 17index bfbf80e92..f20d3e792 100644
18--- a/sshconnect.c 18--- a/sshconnect.c
19+++ b/sshconnect.c 19+++ b/sshconnect.c
20@@ -991,9 +991,13 @@ check_host_key(char *hostname, struct sockaddr *hostaddr, u_short port, 20@@ -991,9 +991,13 @@ check_host_key(char *hostname, struct sockaddr *hostaddr, u_short port,
diff --git a/debian/patches/no-openssl-version-status.patch b/debian/patches/no-openssl-version-status.patch
index 02a798b85..b91cbd4ea 100644
--- a/debian/patches/no-openssl-version-status.patch
+++ b/debian/patches/no-openssl-version-status.patch
@@ -1,4 +1,4 @@
1From ba0377ab3e6b68f7ab747f500991a0445c7f4086 Mon Sep 17 00:00:00 2001 1From a5d0b90bbd2c5a6bdec17b1abc5dca8166ae73f7 Mon Sep 17 00:00:00 2001
2From: Kurt Roeckx <kurt@roeckx.be> 2From: Kurt Roeckx <kurt@roeckx.be>
3Date: Sun, 9 Feb 2014 16:10:14 +0000 3Date: Sun, 9 Feb 2014 16:10:14 +0000
4Subject: Don't check the status field of the OpenSSL version 4Subject: Don't check the status field of the OpenSSL version
diff --git a/debian/patches/openbsd-docs.patch b/debian/patches/openbsd-docs.patch
index 34ec87094..342487057 100644
--- a/debian/patches/openbsd-docs.patch
+++ b/debian/patches/openbsd-docs.patch
@@ -1,4 +1,4 @@
1From 39fe318a4b572deeb3f7d03e55d319c0ab112a28 Mon Sep 17 00:00:00 2001 1From 34bf12a8e8fcc7720168dac307ef9388af93b947 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:09 +0000 3Date: Sun, 9 Feb 2014 16:10:09 +0000
4Subject: Adjust various OpenBSD-specific references in manual pages 4Subject: Adjust various OpenBSD-specific references in manual pages
@@ -44,10 +44,10 @@ index ef0de0850..149846c8c 100644
44 .Sh SEE ALSO 44 .Sh SEE ALSO
45 .Xr ssh-keygen 1 , 45 .Xr ssh-keygen 1 ,
46diff --git a/ssh-keygen.1 b/ssh-keygen.1 46diff --git a/ssh-keygen.1 b/ssh-keygen.1
47index 7af564297..d6a7870e0 100644 47index 059c1b034..45866f931 100644
48--- a/ssh-keygen.1 48--- a/ssh-keygen.1
49+++ b/ssh-keygen.1 49+++ b/ssh-keygen.1
50@@ -196,9 +196,7 @@ key in 50@@ -197,9 +197,7 @@ key in
51 .Pa ~/.ssh/id_ed25519_sk 51 .Pa ~/.ssh/id_ed25519_sk
52 or 52 or
53 .Pa ~/.ssh/id_rsa . 53 .Pa ~/.ssh/id_rsa .
@@ -58,7 +58,7 @@ index 7af564297..d6a7870e0 100644
58 .Pp 58 .Pp
59 Normally this program generates the key and asks for a file in which 59 Normally this program generates the key and asks for a file in which
60 to store the private key. 60 to store the private key.
61@@ -261,9 +259,7 @@ If 61@@ -262,9 +260,7 @@ If
62 .Fl f 62 .Fl f
63 has also been specified, its argument is used as a prefix to the 63 has also been specified, its argument is used as a prefix to the
64 default path for the resulting host key files. 64 default path for the resulting host key files.
@@ -69,7 +69,7 @@ index 7af564297..d6a7870e0 100644
69 .It Fl a Ar rounds 69 .It Fl a Ar rounds
70 When saving a private key, this option specifies the number of KDF 70 When saving a private key, this option specifies the number of KDF
71 (key derivation function) rounds used. 71 (key derivation function) rounds used.
72@@ -783,7 +779,7 @@ option. 72@@ -787,7 +783,7 @@ option.
73 Valid generator values are 2, 3, and 5. 73 Valid generator values are 2, 3, and 5.
74 .Pp 74 .Pp
75 Screened DH groups may be installed in 75 Screened DH groups may be installed in
@@ -78,7 +78,7 @@ index 7af564297..d6a7870e0 100644
78 It is important that this file contains moduli of a range of bit lengths and 78 It is important that this file contains moduli of a range of bit lengths and
79 that both ends of a connection share common moduli. 79 that both ends of a connection share common moduli.
80 .Pp 80 .Pp
81@@ -1154,7 +1150,7 @@ on all machines 81@@ -1158,7 +1154,7 @@ on all machines
82 where the user wishes to log in using public key authentication. 82 where the user wishes to log in using public key authentication.
83 There is no need to keep the contents of this file secret. 83 There is no need to keep the contents of this file secret.
84 .Pp 84 .Pp
@@ -88,10 +88,10 @@ index 7af564297..d6a7870e0 100644
88 The file format is described in 88 The file format is described in
89 .Xr moduli 5 . 89 .Xr moduli 5 .
90diff --git a/ssh.1 b/ssh.1 90diff --git a/ssh.1 b/ssh.1
91index cf991e4ee..17b0e984f 100644 91index a80be8efe..566fdba6b 100644
92--- a/ssh.1 92--- a/ssh.1
93+++ b/ssh.1 93+++ b/ssh.1
94@@ -887,6 +887,10 @@ implements public key authentication protocol automatically, 94@@ -890,6 +890,10 @@ implements public key authentication protocol automatically,
95 using one of the DSA, ECDSA, Ed25519 or RSA algorithms. 95 using one of the DSA, ECDSA, Ed25519 or RSA algorithms.
96 The HISTORY section of 96 The HISTORY section of
97 .Xr ssl 8 97 .Xr ssl 8
@@ -133,10 +133,10 @@ index 730520231..5ce0ea4fa 100644
133 .Xr sshd_config 5 , 133 .Xr sshd_config 5 ,
134 .Xr inetd 8 , 134 .Xr inetd 8 ,
135diff --git a/sshd_config.5 b/sshd_config.5 135diff --git a/sshd_config.5 b/sshd_config.5
136index c926f584c..25f4b8117 100644 136index 753ceda10..c27f99937 100644
137--- a/sshd_config.5 137--- a/sshd_config.5
138+++ b/sshd_config.5 138+++ b/sshd_config.5
139@@ -387,8 +387,7 @@ Certificates signed using other algorithms will not be accepted for 139@@ -385,8 +385,7 @@ Certificates signed using other algorithms will not be accepted for
140 public key or host-based authentication. 140 public key or host-based authentication.
141 .It Cm ChallengeResponseAuthentication 141 .It Cm ChallengeResponseAuthentication
142 Specifies whether challenge-response authentication is allowed (e.g. via 142 Specifies whether challenge-response authentication is allowed (e.g. via
diff --git a/debian/patches/package-versioning.patch b/debian/patches/package-versioning.patch
index 32a7a1fed..a560ae940 100644
--- a/debian/patches/package-versioning.patch
+++ b/debian/patches/package-versioning.patch
@@ -1,4 +1,4 @@
1From a4f868858c3395cacb59c58786b501317b9a3d03 Mon Sep 17 00:00:00 2001 1From d66c30698f807ab95aee7ea4a882c192884df047 Mon Sep 17 00:00:00 2001
2From: Matthew Vernon <matthew@debian.org> 2From: Matthew Vernon <matthew@debian.org>
3Date: Sun, 9 Feb 2014 16:10:05 +0000 3Date: Sun, 9 Feb 2014 16:10:05 +0000
4Subject: Include the Debian version in our identification 4Subject: Include the Debian version in our identification
@@ -18,10 +18,10 @@ Patch-Name: package-versioning.patch
18 2 files changed, 7 insertions(+), 2 deletions(-) 18 2 files changed, 7 insertions(+), 2 deletions(-)
19 19
20diff --git a/kex.c b/kex.c 20diff --git a/kex.c b/kex.c
21index 574c76093..f638942d3 100644 21index 144dee512..0e64bf760 100644
22--- a/kex.c 22--- a/kex.c
23+++ b/kex.c 23+++ b/kex.c
24@@ -1244,7 +1244,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, 24@@ -1243,7 +1243,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
25 if (version_addendum != NULL && *version_addendum == '\0') 25 if (version_addendum != NULL && *version_addendum == '\0')
26 version_addendum = NULL; 26 version_addendum = NULL;
27 if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%.100s%s%s\r\n", 27 if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%.100s%s%s\r\n",
@@ -29,13 +29,13 @@ index 574c76093..f638942d3 100644
29+ PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE, 29+ PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
30 version_addendum == NULL ? "" : " ", 30 version_addendum == NULL ? "" : " ",
31 version_addendum == NULL ? "" : version_addendum)) != 0) { 31 version_addendum == NULL ? "" : version_addendum)) != 0) {
32 error("%s: sshbuf_putf: %s", __func__, ssh_err(r)); 32 oerrno = errno;
33diff --git a/version.h b/version.h 33diff --git a/version.h b/version.h
34index c2affcb2a..d79126cc3 100644 34index a2eca3ec8..158eaee70 100644
35--- a/version.h 35--- a/version.h
36+++ b/version.h 36+++ b/version.h
37@@ -3,4 +3,9 @@ 37@@ -3,4 +3,9 @@
38 #define SSH_VERSION "OpenSSH_8.2" 38 #define SSH_VERSION "OpenSSH_8.3"
39 39
40 #define SSH_PORTABLE "p1" 40 #define SSH_PORTABLE "p1"
41-#define SSH_RELEASE SSH_VERSION SSH_PORTABLE 41-#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
diff --git a/debian/patches/restore-authorized_keys2.patch b/debian/patches/restore-authorized_keys2.patch
index aa6f4cc31..e32c31717 100644
--- a/debian/patches/restore-authorized_keys2.patch
+++ b/debian/patches/restore-authorized_keys2.patch
@@ -1,4 +1,4 @@
1From 58390cbd5e07df92729b794beb491f7352b26993 Mon Sep 17 00:00:00 2001 1From a31d1fdf19480d9a184a27a4d221655f408f74d7 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 5 Mar 2017 02:02:11 +0000 3Date: Sun, 5 Mar 2017 02:02:11 +0000
4Subject: Restore reading authorized_keys2 by default 4Subject: Restore reading authorized_keys2 by default
diff --git a/debian/patches/restore-tcp-wrappers.patch b/debian/patches/restore-tcp-wrappers.patch
index d73cc283c..e544e3874 100644
--- a/debian/patches/restore-tcp-wrappers.patch
+++ b/debian/patches/restore-tcp-wrappers.patch
@@ -1,4 +1,4 @@
1From 31d42cd8624f29508f772447e617ab043a6487d9 Mon Sep 17 00:00:00 2001 1From 7e3de67f8447064d6963e8299653d8e01baaef1e Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Tue, 7 Oct 2014 13:22:41 +0100 3Date: Tue, 7 Oct 2014 13:22:41 +0100
4Subject: Restore TCP wrappers support 4Subject: Restore TCP wrappers support
@@ -28,10 +28,10 @@ Patch-Name: restore-tcp-wrappers.patch
28 3 files changed, 89 insertions(+) 28 3 files changed, 89 insertions(+)
29 29
30diff --git a/configure.ac b/configure.ac 30diff --git a/configure.ac b/configure.ac
31index efafb6bd8..cee7cbc51 100644 31index d98e6f74a..812b7218f 100644
32--- a/configure.ac 32--- a/configure.ac
33+++ b/configure.ac 33+++ b/configure.ac
34@@ -1556,6 +1556,62 @@ else 34@@ -1558,6 +1558,62 @@ else
35 AC_MSG_RESULT([no]) 35 AC_MSG_RESULT([no])
36 fi 36 fi
37 37
@@ -94,7 +94,7 @@ index efafb6bd8..cee7cbc51 100644
94 # Check whether user wants to use ldns 94 # Check whether user wants to use ldns
95 LDNS_MSG="no" 95 LDNS_MSG="no"
96 AC_ARG_WITH(ldns, 96 AC_ARG_WITH(ldns,
97@@ -5413,6 +5469,7 @@ echo " PAM support: $PAM_MSG" 97@@ -5479,6 +5535,7 @@ echo " PAM support: $PAM_MSG"
98 echo " OSF SIA support: $SIA_MSG" 98 echo " OSF SIA support: $SIA_MSG"
99 echo " KerberosV support: $KRB5_MSG" 99 echo " KerberosV support: $KRB5_MSG"
100 echo " SELinux support: $SELINUX_MSG" 100 echo " SELinux support: $SELINUX_MSG"
@@ -128,7 +128,7 @@ index c5f8987d2..730520231 100644
128 .Xr moduli 5 , 128 .Xr moduli 5 ,
129 .Xr sshd_config 5 , 129 .Xr sshd_config 5 ,
130diff --git a/sshd.c b/sshd.c 130diff --git a/sshd.c b/sshd.c
131index d92f03aaf..62dc55cf2 100644 131index 02fca5c28..e96d90809 100644
132--- a/sshd.c 132--- a/sshd.c
133+++ b/sshd.c 133+++ b/sshd.c
134@@ -124,6 +124,13 @@ 134@@ -124,6 +124,13 @@
@@ -145,7 +145,7 @@ index d92f03aaf..62dc55cf2 100644
145 /* Re-exec fds */ 145 /* Re-exec fds */
146 #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1) 146 #define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
147 #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2) 147 #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2)
148@@ -2138,6 +2145,24 @@ main(int ac, char **av) 148@@ -2132,6 +2139,24 @@ main(int ac, char **av)
149 #ifdef SSH_AUDIT_EVENTS 149 #ifdef SSH_AUDIT_EVENTS
150 audit_connection_from(remote_ip, remote_port); 150 audit_connection_from(remote_ip, remote_port);
151 #endif 151 #endif
diff --git a/debian/patches/revert-ipqos-defaults.patch b/debian/patches/revert-ipqos-defaults.patch
index 13192e380..0ec75419a 100644
--- a/debian/patches/revert-ipqos-defaults.patch
+++ b/debian/patches/revert-ipqos-defaults.patch
@@ -1,4 +1,4 @@
1From 86fe78ef4686485394b464cf9d3393ce27b33979 Mon Sep 17 00:00:00 2001 1From 39b8d128ef980a410bb1ea0ee80e95ac9fff59c3 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Mon, 8 Apr 2019 10:46:29 +0100 3Date: Mon, 8 Apr 2019 10:46:29 +0100
4Subject: Revert "upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP 4Subject: Revert "upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP
@@ -24,10 +24,10 @@ Patch-Name: revert-ipqos-defaults.patch
24 4 files changed, 8 insertions(+), 12 deletions(-) 24 4 files changed, 8 insertions(+), 12 deletions(-)
25 25
26diff --git a/readconf.c b/readconf.c 26diff --git a/readconf.c b/readconf.c
27index e82024678..1b9494d7c 100644 27index 87b0dc62a..9a646dcaa 100644
28--- a/readconf.c 28--- a/readconf.c
29+++ b/readconf.c 29+++ b/readconf.c
30@@ -2230,9 +2230,9 @@ fill_default_options(Options * options) 30@@ -2254,9 +2254,9 @@ fill_default_options(Options * options)
31 if (options->visual_host_key == -1) 31 if (options->visual_host_key == -1)
32 options->visual_host_key = 0; 32 options->visual_host_key = 0;
33 if (options->ip_qos_interactive == -1) 33 if (options->ip_qos_interactive == -1)
@@ -40,7 +40,7 @@ index e82024678..1b9494d7c 100644
40 options->request_tty = REQUEST_TTY_AUTO; 40 options->request_tty = REQUEST_TTY_AUTO;
41 if (options->proxy_use_fdpass == -1) 41 if (options->proxy_use_fdpass == -1)
42diff --git a/servconf.c b/servconf.c 42diff --git a/servconf.c b/servconf.c
43index 7bbc25c2e..470ad3619 100644 43index cf4e52f3b..c290e9786 100644
44--- a/servconf.c 44--- a/servconf.c
45+++ b/servconf.c 45+++ b/servconf.c
46@@ -452,9 +452,9 @@ fill_default_server_options(ServerOptions *options) 46@@ -452,9 +452,9 @@ fill_default_server_options(ServerOptions *options)
@@ -56,7 +56,7 @@ index 7bbc25c2e..470ad3619 100644
56 options->version_addendum = xstrdup(""); 56 options->version_addendum = xstrdup("");
57 if (options->fwd_opts.streamlocal_bind_mask == (mode_t)-1) 57 if (options->fwd_opts.streamlocal_bind_mask == (mode_t)-1)
58diff --git a/ssh_config.5 b/ssh_config.5 58diff --git a/ssh_config.5 b/ssh_config.5
59index 34dc2d51b..91beb6f50 100644 59index aac3fabb7..2574b1004 100644
60--- a/ssh_config.5 60--- a/ssh_config.5
61+++ b/ssh_config.5 61+++ b/ssh_config.5
62@@ -1140,11 +1140,9 @@ If one argument is specified, it is used as the packet class unconditionally. 62@@ -1140,11 +1140,9 @@ If one argument is specified, it is used as the packet class unconditionally.
@@ -74,10 +74,10 @@ index 34dc2d51b..91beb6f50 100644
74 .It Cm KbdInteractiveAuthentication 74 .It Cm KbdInteractiveAuthentication
75 Specifies whether to use keyboard-interactive authentication. 75 Specifies whether to use keyboard-interactive authentication.
76diff --git a/sshd_config.5 b/sshd_config.5 76diff --git a/sshd_config.5 b/sshd_config.5
77index e8271be74..d25b2f3d5 100644 77index b38025dbf..88db4db07 100644
78--- a/sshd_config.5 78--- a/sshd_config.5
79+++ b/sshd_config.5 79+++ b/sshd_config.5
80@@ -914,11 +914,9 @@ If one argument is specified, it is used as the packet class unconditionally. 80@@ -925,11 +925,9 @@ If one argument is specified, it is used as the packet class unconditionally.
81 If two values are specified, the first is automatically selected for 81 If two values are specified, the first is automatically selected for
82 interactive sessions and the second for non-interactive sessions. 82 interactive sessions and the second for non-interactive sessions.
83 The default is 83 The default is
diff --git a/debian/patches/scp-quoting.patch b/debian/patches/scp-quoting.patch
index 8935b8e04..0166c914a 100644
--- a/debian/patches/scp-quoting.patch
+++ b/debian/patches/scp-quoting.patch
@@ -1,4 +1,4 @@
1From 5166a6af68da4778c7e2c2d117bb56361c7aa361 Mon Sep 17 00:00:00 2001 1From 2520672d1ccfd88744c93bac102f461f9b1e0cf3 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Nicolas=20Valc=C3=A1rcel?= <nvalcarcel@ubuntu.com> 2From: =?UTF-8?q?Nicolas=20Valc=C3=A1rcel?= <nvalcarcel@ubuntu.com>
3Date: Sun, 9 Feb 2014 16:09:59 +0000 3Date: Sun, 9 Feb 2014 16:09:59 +0000
4Subject: Adjust scp quoting in verbose mode 4Subject: Adjust scp quoting in verbose mode
@@ -17,7 +17,7 @@ Patch-Name: scp-quoting.patch
17 1 file changed, 10 insertions(+), 2 deletions(-) 17 1 file changed, 10 insertions(+), 2 deletions(-)
18 18
19diff --git a/scp.c b/scp.c 19diff --git a/scp.c b/scp.c
20index 6901e0c94..9b64aa5f4 100644 20index b4492a062..66b4af8e8 100644
21--- a/scp.c 21--- a/scp.c
22+++ b/scp.c 22+++ b/scp.c
23@@ -201,8 +201,16 @@ do_local_cmd(arglist *a) 23@@ -201,8 +201,16 @@ do_local_cmd(arglist *a)
diff --git a/debian/patches/selinux-role.patch b/debian/patches/selinux-role.patch
index 63e44af55..b0088c104 100644
--- a/debian/patches/selinux-role.patch
+++ b/debian/patches/selinux-role.patch
@@ -1,4 +1,4 @@
1From b108c6bbe4b3691600a272b27fa24d9080018db7 Mon Sep 17 00:00:00 2001 1From 8641a3f57e67e087b4500beb9916e06c4d0ba94c Mon Sep 17 00:00:00 2001
2From: Manoj Srivastava <srivasta@debian.org> 2From: Manoj Srivastava <srivasta@debian.org>
3Date: Sun, 9 Feb 2014 16:09:49 +0000 3Date: Sun, 9 Feb 2014 16:09:49 +0000
4Subject: Handle SELinux authorisation roles 4Subject: Handle SELinux authorisation roles
@@ -43,7 +43,7 @@ index becc672b5..5da9fe75f 100644
43 /* Method lists for multiple authentication */ 43 /* Method lists for multiple authentication */
44 char **auth_methods; /* modified from server config */ 44 char **auth_methods; /* modified from server config */
45diff --git a/auth2.c b/auth2.c 45diff --git a/auth2.c b/auth2.c
46index 1c217268c..92a6bcaf4 100644 46index a4a5e0069..05d6c2447 100644
47--- a/auth2.c 47--- a/auth2.c
48+++ b/auth2.c 48+++ b/auth2.c
49@@ -265,7 +265,7 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh) 49@@ -265,7 +265,7 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
@@ -81,7 +81,7 @@ index 1c217268c..92a6bcaf4 100644
81 if (auth2_setup_methods_lists(authctxt) != 0) 81 if (auth2_setup_methods_lists(authctxt) != 0)
82 ssh_packet_disconnect(ssh, 82 ssh_packet_disconnect(ssh,
83diff --git a/monitor.c b/monitor.c 83diff --git a/monitor.c b/monitor.c
84index ebf76c7f9..947fdfadc 100644 84index 5347e900d..8002aca86 100644
85--- a/monitor.c 85--- a/monitor.c
86+++ b/monitor.c 86+++ b/monitor.c
87@@ -118,6 +118,7 @@ int mm_answer_sign(struct ssh *, int, struct sshbuf *); 87@@ -118,6 +118,7 @@ int mm_answer_sign(struct ssh *, int, struct sshbuf *);
@@ -154,7 +154,7 @@ index ebf76c7f9..947fdfadc 100644
154 return (0); 154 return (0);
155 } 155 }
156 156
157@@ -1554,7 +1583,7 @@ mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m) 157@@ -1553,7 +1582,7 @@ mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m)
158 res = pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty)); 158 res = pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty));
159 if (res == 0) 159 if (res == 0)
160 goto error; 160 goto error;
@@ -245,7 +245,7 @@ index 485590c18..370b08e17 100644
245 char *mm_auth2_read_banner(void); 245 char *mm_auth2_read_banner(void);
246 int mm_auth_password(struct ssh *, char *); 246 int mm_auth_password(struct ssh *, char *);
247diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c 247diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c
248index 622988822..3e6e07670 100644 248index f46094faf..56f1d2c1e 100644
249--- a/openbsd-compat/port-linux.c 249--- a/openbsd-compat/port-linux.c
250+++ b/openbsd-compat/port-linux.c 250+++ b/openbsd-compat/port-linux.c
251@@ -56,7 +56,7 @@ ssh_selinux_enabled(void) 251@@ -56,7 +56,7 @@ ssh_selinux_enabled(void)
@@ -363,7 +363,7 @@ index ea4f9c584..60d72ffe7 100644
363 char *platform_krb5_get_principal_name(const char *); 363 char *platform_krb5_get_principal_name(const char *);
364 int platform_sys_dir_uid(uid_t); 364 int platform_sys_dir_uid(uid_t);
365diff --git a/session.c b/session.c 365diff --git a/session.c b/session.c
366index 06a33442a..871799590 100644 366index f9c2c866e..837a8bacf 100644
367--- a/session.c 367--- a/session.c
368+++ b/session.c 368+++ b/session.c
369@@ -1360,7 +1360,7 @@ safely_chroot(const char *path, uid_t uid) 369@@ -1360,7 +1360,7 @@ safely_chroot(const char *path, uid_t uid)
@@ -425,10 +425,10 @@ index ce59dabd9..675c91146 100644
425 const char *session_get_remote_name_or_ip(struct ssh *, u_int, int); 425 const char *session_get_remote_name_or_ip(struct ssh *, u_int, int);
426 426
427diff --git a/sshd.c b/sshd.c 427diff --git a/sshd.c b/sshd.c
428index 62dc55cf2..65916fc6d 100644 428index e96d90809..e8b332ca4 100644
429--- a/sshd.c 429--- a/sshd.c
430+++ b/sshd.c 430+++ b/sshd.c
431@@ -595,7 +595,7 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt) 431@@ -594,7 +594,7 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt)
432 reseed_prngs(); 432 reseed_prngs();
433 433
434 /* Drop privileges */ 434 /* Drop privileges */
diff --git a/debian/patches/shell-path.patch b/debian/patches/shell-path.patch
index 43fb1d145..4752e2a71 100644
--- a/debian/patches/shell-path.patch
+++ b/debian/patches/shell-path.patch
@@ -1,4 +1,4 @@
1From c19bcc02b07b450d585d0fd10ccd96174aeb3b7c Mon Sep 17 00:00:00 2001 1From b78e6371a98460f5d12683406674e117d64b35f2 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:00 +0000 3Date: Sun, 9 Feb 2014 16:10:00 +0000
4Subject: Look for $SHELL on the path for ProxyCommand/LocalCommand 4Subject: Look for $SHELL on the path for ProxyCommand/LocalCommand
@@ -16,7 +16,7 @@ Patch-Name: shell-path.patch
16 1 file changed, 2 insertions(+), 2 deletions(-) 16 1 file changed, 2 insertions(+), 2 deletions(-)
17 17
18diff --git a/sshconnect.c b/sshconnect.c 18diff --git a/sshconnect.c b/sshconnect.c
19index 4711af782..4a5d4a003 100644 19index af08be415..bfbf80e92 100644
20--- a/sshconnect.c 20--- a/sshconnect.c
21+++ b/sshconnect.c 21+++ b/sshconnect.c
22@@ -260,7 +260,7 @@ ssh_proxy_connect(struct ssh *ssh, const char *host, const char *host_arg, 22@@ -260,7 +260,7 @@ ssh_proxy_connect(struct ssh *ssh, const char *host, const char *host_arg,
@@ -28,7 +28,7 @@ index 4711af782..4a5d4a003 100644
28 perror(argv[0]); 28 perror(argv[0]);
29 exit(1); 29 exit(1);
30 } 30 }
31@@ -1388,7 +1388,7 @@ ssh_local_cmd(const char *args) 31@@ -1389,7 +1389,7 @@ ssh_local_cmd(const char *args)
32 if (pid == 0) { 32 if (pid == 0) {
33 ssh_signal(SIGPIPE, SIG_DFL); 33 ssh_signal(SIGPIPE, SIG_DFL);
34 debug3("Executing %s -c \"%s\"", shell, args); 34 debug3("Executing %s -c \"%s\"", shell, args);
diff --git a/debian/patches/ssh-agent-setgid.patch b/debian/patches/ssh-agent-setgid.patch
index e7849e6c3..ed23334d9 100644
--- a/debian/patches/ssh-agent-setgid.patch
+++ b/debian/patches/ssh-agent-setgid.patch
@@ -1,4 +1,4 @@
1From ad09303388f0172ab6e028aaf27d87cf873d123d Mon Sep 17 00:00:00 2001 1From 303cbd5533df863d518bc61d837ce56a93166b11 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:13 +0000 3Date: Sun, 9 Feb 2014 16:10:13 +0000
4Subject: Document consequences of ssh-agent being setgid in ssh-agent(1) 4Subject: Document consequences of ssh-agent being setgid in ssh-agent(1)
diff --git a/debian/patches/ssh-argv0.patch b/debian/patches/ssh-argv0.patch
index 8f796719d..52e5bf70b 100644
--- a/debian/patches/ssh-argv0.patch
+++ b/debian/patches/ssh-argv0.patch
@@ -1,4 +1,4 @@
1From 4b1e0000a099f988553ccc4b274e1790b5114c12 Mon Sep 17 00:00:00 2001 1From 81723f749647928d918de21057d9dbfbebaa8e53 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:10:10 +0000 3Date: Sun, 9 Feb 2014 16:10:10 +0000
4Subject: ssh(1): Refer to ssh-argv0(1) 4Subject: ssh(1): Refer to ssh-argv0(1)
@@ -18,10 +18,10 @@ Patch-Name: ssh-argv0.patch
18 1 file changed, 1 insertion(+) 18 1 file changed, 1 insertion(+)
19 19
20diff --git a/ssh.1 b/ssh.1 20diff --git a/ssh.1 b/ssh.1
21index 17b0e984f..b33a8049f 100644 21index 566fdba6b..5a31b5dde 100644
22--- a/ssh.1 22--- a/ssh.1
23+++ b/ssh.1 23+++ b/ssh.1
24@@ -1610,6 +1610,7 @@ if an error occurred. 24@@ -1613,6 +1613,7 @@ if an error occurred.
25 .Xr sftp 1 , 25 .Xr sftp 1 ,
26 .Xr ssh-add 1 , 26 .Xr ssh-add 1 ,
27 .Xr ssh-agent 1 , 27 .Xr ssh-agent 1 ,
diff --git a/debian/patches/ssh-vulnkey-compat.patch b/debian/patches/ssh-vulnkey-compat.patch
index 99116e9c4..cc2656bda 100644
--- a/debian/patches/ssh-vulnkey-compat.patch
+++ b/debian/patches/ssh-vulnkey-compat.patch
@@ -1,4 +1,4 @@
1From 11d571f137c76d8c2e38b1c1a537b04cc279f8e3 Mon Sep 17 00:00:00 2001 1From 6ed578a01fd61f9c930ef46cfefc467203ddd6c0 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@ubuntu.com> 2From: Colin Watson <cjwatson@ubuntu.com>
3Date: Sun, 9 Feb 2014 16:09:50 +0000 3Date: Sun, 9 Feb 2014 16:09:50 +0000
4Subject: Accept obsolete ssh-vulnkey configuration options 4Subject: Accept obsolete ssh-vulnkey configuration options
@@ -17,7 +17,7 @@ Patch-Name: ssh-vulnkey-compat.patch
17 2 files changed, 2 insertions(+) 17 2 files changed, 2 insertions(+)
18 18
19diff --git a/readconf.c b/readconf.c 19diff --git a/readconf.c b/readconf.c
20index da8022dd0..0fc996871 100644 20index fb585e248..2ccc48572 100644
21--- a/readconf.c 21--- a/readconf.c
22+++ b/readconf.c 22+++ b/readconf.c
23@@ -191,6 +191,7 @@ static struct { 23@@ -191,6 +191,7 @@ static struct {
@@ -29,7 +29,7 @@ index da8022dd0..0fc996871 100644
29 { "useroaming", oDeprecated }, 29 { "useroaming", oDeprecated },
30 { "usersh", oDeprecated }, 30 { "usersh", oDeprecated },
31diff --git a/servconf.c b/servconf.c 31diff --git a/servconf.c b/servconf.c
32index 191575a16..bf3cd84a4 100644 32index f38ba9e44..ff5b9436c 100644
33--- a/servconf.c 33--- a/servconf.c
34+++ b/servconf.c 34+++ b/servconf.c
35@@ -656,6 +656,7 @@ static struct { 35@@ -656,6 +656,7 @@ static struct {
diff --git a/debian/patches/syslog-level-silent.patch b/debian/patches/syslog-level-silent.patch
index 234d95ad2..273f8069f 100644
--- a/debian/patches/syslog-level-silent.patch
+++ b/debian/patches/syslog-level-silent.patch
@@ -1,4 +1,4 @@
1From 387c2c1954773733bae9fca21a92db62c31180bd Mon Sep 17 00:00:00 2001 1From f2c3eb379d31f24de20dc9a2e0089ed84f52055b Mon Sep 17 00:00:00 2001
2From: Natalie Amery <nmamery@chiark.greenend.org.uk> 2From: Natalie Amery <nmamery@chiark.greenend.org.uk>
3Date: Sun, 9 Feb 2014 16:09:54 +0000 3Date: Sun, 9 Feb 2014 16:09:54 +0000
4Subject: "LogLevel SILENT" compatibility 4Subject: "LogLevel SILENT" compatibility
@@ -33,10 +33,10 @@ index d9c2d136c..1749af6d1 100644
33 { "FATAL", SYSLOG_LEVEL_FATAL }, 33 { "FATAL", SYSLOG_LEVEL_FATAL },
34 { "ERROR", SYSLOG_LEVEL_ERROR }, 34 { "ERROR", SYSLOG_LEVEL_ERROR },
35diff --git a/ssh.c b/ssh.c 35diff --git a/ssh.c b/ssh.c
36index 110cf9c19..6138fd4d3 100644 36index 4a81ef810..7879d4f4d 100644
37--- a/ssh.c 37--- a/ssh.c
38+++ b/ssh.c 38+++ b/ssh.c
39@@ -1305,7 +1305,7 @@ main(int ac, char **av) 39@@ -1339,7 +1339,7 @@ main(int ac, char **av)
40 /* Do not allocate a tty if stdin is not a tty. */ 40 /* Do not allocate a tty if stdin is not a tty. */
41 if ((!isatty(fileno(stdin)) || stdin_null_flag) && 41 if ((!isatty(fileno(stdin)) || stdin_null_flag) &&
42 options.request_tty != REQUEST_TTY_FORCE) { 42 options.request_tty != REQUEST_TTY_FORCE) {
diff --git a/debian/patches/systemd-readiness.patch b/debian/patches/systemd-readiness.patch
index fdcfca30d..a85ed6732 100644
--- a/debian/patches/systemd-readiness.patch
+++ b/debian/patches/systemd-readiness.patch
@@ -1,4 +1,4 @@
1From a208834b2d1811dac7054d7fdcdd04672f8b19f6 Mon Sep 17 00:00:00 2001 1From fe8c9983321154a61f4f06be602f925f1fd24ee7 Mon Sep 17 00:00:00 2001
2From: Michael Biebl <biebl@debian.org> 2From: Michael Biebl <biebl@debian.org>
3Date: Mon, 21 Dec 2015 16:08:47 +0000 3Date: Mon, 21 Dec 2015 16:08:47 +0000
4Subject: Add systemd readiness notification support 4Subject: Add systemd readiness notification support
@@ -14,10 +14,10 @@ Patch-Name: systemd-readiness.patch
14 2 files changed, 33 insertions(+) 14 2 files changed, 33 insertions(+)
15 15
16diff --git a/configure.ac b/configure.ac 16diff --git a/configure.ac b/configure.ac
17index cee7cbc51..5db3013de 100644 17index 812b7218f..7e0584d2c 100644
18--- a/configure.ac 18--- a/configure.ac
19+++ b/configure.ac 19+++ b/configure.ac
20@@ -4664,6 +4664,29 @@ AC_ARG_WITH([kerberos5], 20@@ -4730,6 +4730,29 @@ AC_ARG_WITH([kerberos5],
21 AC_SUBST([GSSLIBS]) 21 AC_SUBST([GSSLIBS])
22 AC_SUBST([K5LIBS]) 22 AC_SUBST([K5LIBS])
23 23
@@ -47,7 +47,7 @@ index cee7cbc51..5db3013de 100644
47 # Looking for programs, paths and files 47 # Looking for programs, paths and files
48 48
49 PRIVSEP_PATH=/var/empty 49 PRIVSEP_PATH=/var/empty
50@@ -5476,6 +5499,7 @@ echo " libldns support: $LDNS_MSG" 50@@ -5542,6 +5565,7 @@ echo " libldns support: $LDNS_MSG"
51 echo " Solaris process contract support: $SPC_MSG" 51 echo " Solaris process contract support: $SPC_MSG"
52 echo " Solaris project support: $SP_MSG" 52 echo " Solaris project support: $SP_MSG"
53 echo " Solaris privilege support: $SPP_MSG" 53 echo " Solaris privilege support: $SPP_MSG"
@@ -56,7 +56,7 @@ index cee7cbc51..5db3013de 100644
56 echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG" 56 echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
57 echo " BSD Auth support: $BSD_AUTH_MSG" 57 echo " BSD Auth support: $BSD_AUTH_MSG"
58diff --git a/sshd.c b/sshd.c 58diff --git a/sshd.c b/sshd.c
59index da876a900..c069505a0 100644 59index baee13506..d2d1877d4 100644
60--- a/sshd.c 60--- a/sshd.c
61+++ b/sshd.c 61+++ b/sshd.c
62@@ -85,6 +85,10 @@ 62@@ -85,6 +85,10 @@
@@ -70,7 +70,7 @@ index da876a900..c069505a0 100644
70 #include "xmalloc.h" 70 #include "xmalloc.h"
71 #include "ssh.h" 71 #include "ssh.h"
72 #include "ssh2.h" 72 #include "ssh2.h"
73@@ -2027,6 +2031,11 @@ main(int ac, char **av) 73@@ -2026,6 +2030,11 @@ main(int ac, char **av)
74 } 74 }
75 } 75 }
76 76
diff --git a/debian/patches/user-group-modes.patch b/debian/patches/user-group-modes.patch
index 8bd35addf..19c1809d9 100644
--- a/debian/patches/user-group-modes.patch
+++ b/debian/patches/user-group-modes.patch
@@ -1,4 +1,4 @@
1From 3309e464e5ae6c940ddd584eed4d2d403f4c168c Mon Sep 17 00:00:00 2001 1From cb72edd9757c469f3b5dc9cde374715ae8b54509 Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org> 2From: Colin Watson <cjwatson@debian.org>
3Date: Sun, 9 Feb 2014 16:09:58 +0000 3Date: Sun, 9 Feb 2014 16:09:58 +0000
4Subject: Allow harmless group-writability 4Subject: Allow harmless group-writability
@@ -27,7 +27,7 @@ Patch-Name: user-group-modes.patch
27 7 files changed, 63 insertions(+), 13 deletions(-) 27 7 files changed, 63 insertions(+), 13 deletions(-)
28 28
29diff --git a/auth-rhosts.c b/auth-rhosts.c 29diff --git a/auth-rhosts.c b/auth-rhosts.c
30index 7a10210b6..587f53721 100644 30index e81321b49..3bcc73766 100644
31--- a/auth-rhosts.c 31--- a/auth-rhosts.c
32+++ b/auth-rhosts.c 32+++ b/auth-rhosts.c
33@@ -260,8 +260,7 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname, 33@@ -260,8 +260,7 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname,
@@ -65,7 +65,7 @@ index 687c57b42..aed3c13ac 100644
65 "bad owner or modes for %.200s", 65 "bad owner or modes for %.200s",
66 pw->pw_name, user_hostfile); 66 pw->pw_name, user_hostfile);
67diff --git a/misc.c b/misc.c 67diff --git a/misc.c b/misc.c
68index 3a31d5c18..073d3be19 100644 68index 554ceb0b1..75fe4dfea 100644
69--- a/misc.c 69--- a/misc.c
70+++ b/misc.c 70+++ b/misc.c
71@@ -61,8 +61,9 @@ 71@@ -61,8 +61,9 @@
@@ -169,10 +169,10 @@ index 4a05db2da..5db594b91 100644
169 #define MAXIMUM(a, b) (((a) > (b)) ? (a) : (b)) 169 #define MAXIMUM(a, b) (((a) > (b)) ? (a) : (b))
170 #define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y)) 170 #define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y))
171diff --git a/readconf.c b/readconf.c 171diff --git a/readconf.c b/readconf.c
172index 2399208f8..7f251dd4a 100644 172index 431243193..5bf0afbb4 100644
173--- a/readconf.c 173--- a/readconf.c
174+++ b/readconf.c 174+++ b/readconf.c
175@@ -1902,8 +1902,7 @@ read_config_file_depth(const char *filename, struct passwd *pw, 175@@ -1926,8 +1926,7 @@ read_config_file_depth(const char *filename, struct passwd *pw,
176 176
177 if (fstat(fileno(f), &sb) == -1) 177 if (fstat(fileno(f), &sb) == -1)
178 fatal("fstat %s: %s", filename, strerror(errno)); 178 fatal("fstat %s: %s", filename, strerror(errno));
@@ -183,10 +183,10 @@ index 2399208f8..7f251dd4a 100644
183 } 183 }
184 184
185diff --git a/ssh.1 b/ssh.1 185diff --git a/ssh.1 b/ssh.1
186index db5c65bc7..cf991e4ee 100644 186index 7a3ba31ab..a80be8efe 100644
187--- a/ssh.1 187--- a/ssh.1
188+++ b/ssh.1 188+++ b/ssh.1
189@@ -1506,6 +1506,8 @@ The file format and configuration options are described in 189@@ -1509,6 +1509,8 @@ The file format and configuration options are described in
190 .Xr ssh_config 5 . 190 .Xr ssh_config 5 .
191 Because of the potential for abuse, this file must have strict permissions: 191 Because of the potential for abuse, this file must have strict permissions:
192 read/write for the user, and not writable by others. 192 read/write for the user, and not writable by others.
@@ -196,10 +196,10 @@ index db5c65bc7..cf991e4ee 100644
196 .It Pa ~/.ssh/environment 196 .It Pa ~/.ssh/environment
197 Contains additional definitions for environment variables; see 197 Contains additional definitions for environment variables; see
198diff --git a/ssh_config.5 b/ssh_config.5 198diff --git a/ssh_config.5 b/ssh_config.5
199index 3079db19b..e61a0fd43 100644 199index 85ab7447f..d814147d4 100644
200--- a/ssh_config.5 200--- a/ssh_config.5
201+++ b/ssh_config.5 201+++ b/ssh_config.5
202@@ -1952,6 +1952,8 @@ The format of this file is described above. 202@@ -1957,6 +1957,8 @@ The format of this file is described above.
203 This file is used by the SSH client. 203 This file is used by the SSH client.
204 Because of the potential for abuse, this file must have strict permissions: 204 Because of the potential for abuse, this file must have strict permissions:
205 read/write for the user, and not writable by others. 205 read/write for the user, and not writable by others.
diff --git a/defines.h b/defines.h
index a347a44ff..b8ea88b2d 100644
--- a/defines.h
+++ b/defines.h
@@ -254,6 +254,13 @@ typedef unsigned int u_int32_t;
254#define __BIT_TYPES_DEFINED__ 254#define __BIT_TYPES_DEFINED__
255#endif 255#endif
256 256
257#if !defined(LLONG_MIN) && defined(LONG_LONG_MIN)
258#define LLONG_MIN LONG_LONG_MIN
259#endif
260#if !defined(LLONG_MAX) && defined(LONG_LONG_MAX)
261#define LLONG_MAX LONG_LONG_MAX
262#endif
263
257#ifndef UINT32_MAX 264#ifndef UINT32_MAX
258# if defined(HAVE_DECL_UINT32_MAX) && (HAVE_DECL_UINT32_MAX == 0) 265# if defined(HAVE_DECL_UINT32_MAX) && (HAVE_DECL_UINT32_MAX == 0)
259# if (SIZEOF_INT == 4) 266# if (SIZEOF_INT == 4)
diff --git a/digest-libc.c b/digest-libc.c
index 12737e5d5..86a1dbf29 100644
--- a/digest-libc.c
+++ b/digest-libc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: digest-libc.c,v 1.6 2017/05/08 22:57:38 djm Exp $ */ 1/* $OpenBSD: digest-libc.c,v 1.7 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2013 Damien Miller <djm@mindrot.org> 3 * Copyright (c) 2013 Damien Miller <djm@mindrot.org>
4 * Copyright (c) 2014 Markus Friedl. All rights reserved. 4 * Copyright (c) 2014 Markus Friedl. All rights reserved.
@@ -230,8 +230,7 @@ ssh_digest_free(struct ssh_digest_ctx *ctx)
230 if (digest) { 230 if (digest) {
231 explicit_bzero(ctx->mdctx, digest->ctx_len); 231 explicit_bzero(ctx->mdctx, digest->ctx_len);
232 free(ctx->mdctx); 232 free(ctx->mdctx);
233 explicit_bzero(ctx, sizeof(*ctx)); 233 freezero(ctx, sizeof(*ctx));
234 free(ctx);
235 } 234 }
236 } 235 }
237} 236}
diff --git a/gss-serv.c b/gss-serv.c
index 1d47870e7..55f4d4bda 100644
--- a/gss-serv.c
+++ b/gss-serv.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gss-serv.c,v 1.31 2018/07/09 21:37:55 markus Exp $ */ 1/* $OpenBSD: gss-serv.c,v 1.32 2020/03/13 03:17:07 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved. 4 * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
@@ -413,7 +413,7 @@ ssh_gssapi_storecreds(void)
413 debug("ssh_gssapi_storecreds: Not a GSSAPI mechanism"); 413 debug("ssh_gssapi_storecreds: Not a GSSAPI mechanism");
414} 414}
415 415
416/* This allows GSSAPI methods to do things to the childs environment based 416/* This allows GSSAPI methods to do things to the child's environment based
417 * on the passed authentication process and credentials. 417 * on the passed authentication process and credentials.
418 */ 418 */
419/* As user */ 419/* As user */
diff --git a/hmac.c b/hmac.c
index 32688876d..7b588019e 100644
--- a/hmac.c
+++ b/hmac.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: hmac.c,v 1.13 2019/09/06 04:53:27 djm Exp $ */ 1/* $OpenBSD: hmac.c,v 1.14 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Markus Friedl. All rights reserved. 3 * Copyright (c) 2014 Markus Friedl. All rights reserved.
4 * 4 *
@@ -131,8 +131,7 @@ ssh_hmac_free(struct ssh_hmac_ctx *ctx)
131 explicit_bzero(ctx->buf, ctx->buf_len); 131 explicit_bzero(ctx->buf, ctx->buf_len);
132 free(ctx->buf); 132 free(ctx->buf);
133 } 133 }
134 explicit_bzero(ctx, sizeof(*ctx)); 134 freezero(ctx, sizeof(*ctx));
135 free(ctx);
136 } 135 }
137} 136}
138 137
diff --git a/hostfile.c b/hostfile.c
index 4a0349a60..a4a355972 100644
--- a/hostfile.c
+++ b/hostfile.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: hostfile.c,v 1.77 2020/01/25 00:21:08 djm Exp $ */ 1/* $OpenBSD: hostfile.c,v 1.79 2020/03/06 18:25:12 markus Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -298,8 +298,7 @@ free_hostkeys(struct hostkeys *hostkeys)
298 explicit_bzero(hostkeys->entries + i, sizeof(*hostkeys->entries)); 298 explicit_bzero(hostkeys->entries + i, sizeof(*hostkeys->entries));
299 } 299 }
300 free(hostkeys->entries); 300 free(hostkeys->entries);
301 explicit_bzero(hostkeys, sizeof(*hostkeys)); 301 freezero(hostkeys, sizeof(*hostkeys));
302 free(hostkeys);
303} 302}
304 303
305static int 304static int
@@ -313,7 +312,7 @@ check_key_not_revoked(struct hostkeys *hostkeys, struct sshkey *k)
313 continue; 312 continue;
314 if (sshkey_equal_public(k, hostkeys->entries[i].key)) 313 if (sshkey_equal_public(k, hostkeys->entries[i].key))
315 return -1; 314 return -1;
316 if (is_cert && 315 if (is_cert && k != NULL &&
317 sshkey_equal_public(k->cert->signature_key, 316 sshkey_equal_public(k->cert->signature_key,
318 hostkeys->entries[i].key)) 317 hostkeys->entries[i].key))
319 return -1; 318 return -1;
diff --git a/kex.c b/kex.c
index 2abfbb95a..aa5acaac3 100644
--- a/kex.c
+++ b/kex.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: kex.c,v 1.156 2020/01/23 10:24:29 dtucker Exp $ */ 1/* $OpenBSD: kex.c,v 1.158 2020/03/13 04:01:56 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
4 * 4 *
@@ -727,8 +727,7 @@ kex_free_newkeys(struct newkeys *newkeys)
727 } 727 }
728 free(newkeys->mac.name); 728 free(newkeys->mac.name);
729 explicit_bzero(&newkeys->mac, sizeof(newkeys->mac)); 729 explicit_bzero(&newkeys->mac, sizeof(newkeys->mac));
730 explicit_bzero(newkeys, sizeof(*newkeys)); 730 freezero(newkeys, sizeof(*newkeys));
731 free(newkeys);
732} 731}
733 732
734void 733void
@@ -1228,7 +1227,7 @@ int
1228kex_exchange_identification(struct ssh *ssh, int timeout_ms, 1227kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1229 int debian_banner, const char *version_addendum) 1228 int debian_banner, const char *version_addendum)
1230{ 1229{
1231 int remote_major, remote_minor, mismatch; 1230 int remote_major, remote_minor, mismatch, oerrno = 0;
1232 size_t len, i, n; 1231 size_t len, i, n;
1233 int r, expect_nl; 1232 int r, expect_nl;
1234 u_char c; 1233 u_char c;
@@ -1248,6 +1247,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1248 debian_banner ? SSH_RELEASE : SSH_RELEASE_MINIMUM, 1247 debian_banner ? SSH_RELEASE : SSH_RELEASE_MINIMUM,
1249 version_addendum == NULL ? "" : " ", 1248 version_addendum == NULL ? "" : " ",
1250 version_addendum == NULL ? "" : version_addendum)) != 0) { 1249 version_addendum == NULL ? "" : version_addendum)) != 0) {
1250 oerrno = errno;
1251 error("%s: sshbuf_putf: %s", __func__, ssh_err(r)); 1251 error("%s: sshbuf_putf: %s", __func__, ssh_err(r));
1252 goto out; 1252 goto out;
1253 } 1253 }
@@ -1255,11 +1255,13 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1255 if (atomicio(vwrite, ssh_packet_get_connection_out(ssh), 1255 if (atomicio(vwrite, ssh_packet_get_connection_out(ssh),
1256 sshbuf_mutable_ptr(our_version), 1256 sshbuf_mutable_ptr(our_version),
1257 sshbuf_len(our_version)) != sshbuf_len(our_version)) { 1257 sshbuf_len(our_version)) != sshbuf_len(our_version)) {
1258 error("%s: write: %.100s", __func__, strerror(errno)); 1258 oerrno = errno;
1259 debug("%s: write: %.100s", __func__, strerror(errno));
1259 r = SSH_ERR_SYSTEM_ERROR; 1260 r = SSH_ERR_SYSTEM_ERROR;
1260 goto out; 1261 goto out;
1261 } 1262 }
1262 if ((r = sshbuf_consume_end(our_version, 2)) != 0) { /* trim \r\n */ 1263 if ((r = sshbuf_consume_end(our_version, 2)) != 0) { /* trim \r\n */
1264 oerrno = errno;
1263 error("%s: sshbuf_consume_end: %s", __func__, ssh_err(r)); 1265 error("%s: sshbuf_consume_end: %s", __func__, ssh_err(r));
1264 goto out; 1266 goto out;
1265 } 1267 }
@@ -1295,6 +1297,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1295 r = SSH_ERR_CONN_TIMEOUT; 1297 r = SSH_ERR_CONN_TIMEOUT;
1296 goto out; 1298 goto out;
1297 } else if (r == -1) { 1299 } else if (r == -1) {
1300 oerrno = errno;
1298 error("%s: %s", 1301 error("%s: %s",
1299 __func__, strerror(errno)); 1302 __func__, strerror(errno));
1300 r = SSH_ERR_SYSTEM_ERROR; 1303 r = SSH_ERR_SYSTEM_ERROR;
@@ -1310,6 +1313,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1310 r = SSH_ERR_CONN_CLOSED; 1313 r = SSH_ERR_CONN_CLOSED;
1311 goto out; 1314 goto out;
1312 } else if (len != 1) { 1315 } else if (len != 1) {
1316 oerrno = errno;
1313 error("%s: read: %.100s", 1317 error("%s: read: %.100s",
1314 __func__, strerror(errno)); 1318 __func__, strerror(errno));
1315 r = SSH_ERR_SYSTEM_ERROR; 1319 r = SSH_ERR_SYSTEM_ERROR;
@@ -1327,6 +1331,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1327 goto invalid; 1331 goto invalid;
1328 } 1332 }
1329 if ((r = sshbuf_put_u8(peer_version, c)) != 0) { 1333 if ((r = sshbuf_put_u8(peer_version, c)) != 0) {
1334 oerrno = errno;
1330 error("%s: sshbuf_put: %s", 1335 error("%s: sshbuf_put: %s",
1331 __func__, ssh_err(r)); 1336 __func__, ssh_err(r));
1332 goto out; 1337 goto out;
@@ -1427,6 +1432,8 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
1427 free(our_version_string); 1432 free(our_version_string);
1428 free(peer_version_string); 1433 free(peer_version_string);
1429 free(remote_version); 1434 free(remote_version);
1435 if (r == SSH_ERR_SYSTEM_ERROR)
1436 errno = oerrno;
1430 return r; 1437 return r;
1431} 1438}
1432 1439
diff --git a/krl.c b/krl.c
index 03476dedd..c431f7047 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */ 15 */
16 16
17/* $OpenBSD: krl.c,v 1.47 2020/01/25 23:02:13 djm Exp $ */ 17/* $OpenBSD: krl.c,v 1.50 2020/04/03 05:48:57 djm Exp $ */
18 18
19#include "includes.h" 19#include "includes.h"
20 20
@@ -38,6 +38,7 @@
38#include "log.h" 38#include "log.h"
39#include "digest.h" 39#include "digest.h"
40#include "bitmap.h" 40#include "bitmap.h"
41#include "utf8.h"
41 42
42#include "krl.h" 43#include "krl.h"
43 44
@@ -1355,3 +1356,97 @@ ssh_krl_file_contains_key(const char *path, const struct sshkey *key)
1355 errno = oerrno; 1356 errno = oerrno;
1356 return r; 1357 return r;
1357} 1358}
1359
1360int
1361krl_dump(struct ssh_krl *krl, FILE *f)
1362{
1363 struct sshkey *key = NULL;
1364 struct revoked_blob *rb;
1365 struct revoked_certs *rc;
1366 struct revoked_serial *rs;
1367 struct revoked_key_id *rki;
1368 int r, ret = 0;
1369 char *fp, timestamp[64];
1370
1371 /* Try to print in a KRL spec-compatible format */
1372 format_timestamp(krl->generated_date, timestamp, sizeof(timestamp));
1373 fprintf(f, "# KRL version %llu\n",
1374 (unsigned long long)krl->krl_version);
1375 fprintf(f, "# Generated at %s\n", timestamp);
1376 if (krl->comment != NULL && *krl->comment != '\0') {
1377 r = INT_MAX;
1378 asmprintf(&fp, INT_MAX, &r, "%s", krl->comment);
1379 fprintf(f, "# Comment: %s\n", fp);
1380 free(fp);
1381 }
1382 fputc('\n', f);
1383
1384 RB_FOREACH(rb, revoked_blob_tree, &krl->revoked_keys) {
1385 if ((r = sshkey_from_blob(rb->blob, rb->len, &key)) != 0) {
1386 ret = SSH_ERR_INVALID_FORMAT;
1387 error("Parse key in KRL: %s", ssh_err(r));
1388 continue;
1389 }
1390 if ((fp = sshkey_fingerprint(key, SSH_FP_HASH_DEFAULT,
1391 SSH_FP_DEFAULT)) == NULL) {
1392 ret = SSH_ERR_INVALID_FORMAT;
1393 error("sshkey_fingerprint failed");
1394 continue;
1395 }
1396 fprintf(f, "hash: SHA256:%s # %s\n", fp, sshkey_ssh_name(key));
1397 free(fp);
1398 free(key);
1399 }
1400 RB_FOREACH(rb, revoked_blob_tree, &krl->revoked_sha256s) {
1401 fp = tohex(rb->blob, rb->len);
1402 fprintf(f, "hash: SHA256:%s\n", fp);
1403 free(fp);
1404 }
1405 RB_FOREACH(rb, revoked_blob_tree, &krl->revoked_sha1s) {
1406 /*
1407 * There is not KRL spec keyword for raw SHA1 hashes, so
1408 * print them as comments.
1409 */
1410 fp = tohex(rb->blob, rb->len);
1411 fprintf(f, "# hash SHA1:%s\n", fp);
1412 free(fp);
1413 }
1414
1415 TAILQ_FOREACH(rc, &krl->revoked_certs, entry) {
1416 fputc('\n', f);
1417 if (rc->ca_key == NULL)
1418 fprintf(f, "# Wildcard CA\n");
1419 else {
1420 if ((fp = sshkey_fingerprint(rc->ca_key,
1421 SSH_FP_HASH_DEFAULT, SSH_FP_DEFAULT)) == NULL) {
1422 ret = SSH_ERR_INVALID_FORMAT;
1423 error("sshkey_fingerprint failed");
1424 continue;
1425 }
1426 fprintf(f, "# CA key %s %s\n",
1427 sshkey_ssh_name(rc->ca_key), fp);
1428 free(fp);
1429 }
1430 RB_FOREACH(rs, revoked_serial_tree, &rc->revoked_serials) {
1431 if (rs->lo == rs->hi) {
1432 fprintf(f, "serial: %llu\n",
1433 (unsigned long long)rs->lo);
1434 } else {
1435 fprintf(f, "serial: %llu-%llu\n",
1436 (unsigned long long)rs->lo,
1437 (unsigned long long)rs->hi);
1438 }
1439 }
1440 RB_FOREACH(rki, revoked_key_id_tree, &rc->revoked_key_ids) {
1441 /*
1442 * We don't want key IDs with embedded newlines to
1443 * mess up the display.
1444 */
1445 r = INT_MAX;
1446 asmprintf(&fp, INT_MAX, &r, "%s", rki->key_id);
1447 fprintf(f, "id: %s\n", fp);
1448 free(fp);
1449 }
1450 }
1451 return ret;
1452}
diff --git a/krl.h b/krl.h
index ce534a111..ca6d3f284 100644
--- a/krl.h
+++ b/krl.h
@@ -14,7 +14,7 @@
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */ 15 */
16 16
17/* $OpenBSD: krl.h,v 1.7 2019/06/21 04:21:04 djm Exp $ */ 17/* $OpenBSD: krl.h,v 1.8 2020/04/03 02:26:56 djm Exp $ */
18 18
19#ifndef _KRL_H 19#ifndef _KRL_H
20#define _KRL_H 20#define _KRL_H
@@ -61,6 +61,7 @@ int ssh_krl_from_blob(struct sshbuf *buf, struct ssh_krl **krlp,
61 const struct sshkey **sign_ca_keys, size_t nsign_ca_keys); 61 const struct sshkey **sign_ca_keys, size_t nsign_ca_keys);
62int ssh_krl_check_key(struct ssh_krl *krl, const struct sshkey *key); 62int ssh_krl_check_key(struct ssh_krl *krl, const struct sshkey *key);
63int ssh_krl_file_contains_key(const char *path, const struct sshkey *key); 63int ssh_krl_file_contains_key(const char *path, const struct sshkey *key);
64int krl_dump(struct ssh_krl *krl, FILE *f);
64 65
65#endif /* _KRL_H */ 66#endif /* _KRL_H */
66 67
diff --git a/misc.c b/misc.c
index 073d3be19..75fe4dfea 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: misc.c,v 1.146 2020/01/28 01:49:36 djm Exp $ */ 1/* $OpenBSD: misc.c,v 1.147 2020/04/25 06:59:36 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * Copyright (c) 2005,2006 Damien Miller. All rights reserved. 4 * Copyright (c) 2005,2006 Damien Miller. All rights reserved.
@@ -2303,11 +2303,13 @@ ssh_signal(int signum, sshsig_t handler)
2303 struct sigaction sa, osa; 2303 struct sigaction sa, osa;
2304 2304
2305 /* mask all other signals while in handler */ 2305 /* mask all other signals while in handler */
2306 bzero(&sa, sizeof(sa)); 2306 memset(&sa, 0, sizeof(sa));
2307 sa.sa_handler = handler; 2307 sa.sa_handler = handler;
2308 sigfillset(&sa.sa_mask); 2308 sigfillset(&sa.sa_mask);
2309#if defined(SA_RESTART) && !defined(NO_SA_RESTART)
2309 if (signum != SIGALRM) 2310 if (signum != SIGALRM)
2310 sa.sa_flags = SA_RESTART; 2311 sa.sa_flags = SA_RESTART;
2312#endif
2311 if (sigaction(signum, &sa, &osa) == -1) { 2313 if (sigaction(signum, &sa, &osa) == -1) {
2312 debug3("sigaction(%s): %s", strsignal(signum), strerror(errno)); 2314 debug3("sigaction(%s): %s", strsignal(signum), strerror(errno));
2313 return SIG_ERR; 2315 return SIG_ERR;
diff --git a/moduli b/moduli
index 1e2cd34f2..10e85440f 100644
--- a/moduli
+++ b/moduli
@@ -1,406 +1,415 @@
1# $OpenBSD: moduli,v 1.25 2019/10/22 07:06:35 dtucker Exp $ 1# $OpenBSD: moduli,v 1.26 2020/02/20 05:41:50 dtucker Exp $
2# Time Type Tests Tries Size Generator Modulus 2# Time Type Tests Tries Size Generator Modulus
320190427132703 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B43F297B 320191022074127 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C0FFE0C2D7
420190427132708 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B43FDA33 420191022074138 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C0FFEE1D33
520190427132804 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B4AA694B 520191022074152 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1000302CF
620190427132920 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B536A28B 620191022074200 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10009CAA3
720190427132946 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B560B7BB 720191022074209 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1000E102F
820190427133034 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B5B8CC93 820191022074218 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10017AEC3
920190427133141 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B6380E53 920191022074224 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1001AC4BF
1020190427133220 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B67E17AF 1020191022074243 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10036E7A7
1120190427133327 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B6FFFE13 1120191022074322 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100727D9F
1220190427133429 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B76DEEFF 1220191022074342 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10091E09B
1320190427133520 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B7CAADE3 1320191022074428 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100DB96B3
1420190427133535 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B7E1C767 1420191022074435 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100E315C3
1520190427133548 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B7F2489F 1520191022074440 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100E4BB67
1620190427133556 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B7FB8D0F 1620191022074450 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100EFF477
1720190427133620 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B8202A8F 1720191022074526 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10125A5DB
1820190427133650 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B852B3EB 1820191022074629 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1019192BB
1920190427133730 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B8996103 1920191022074654 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C101BD818B
2020190427133826 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B9059367 2020191022074721 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C101E63DAF
2120190427133853 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B934CE3F 2120191022074911 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102A7DFE7
2220190427133934 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B97C218F 2220191022074915 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102A7EDF7
2320190427134021 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7B9D20303 2320191022074926 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102B62DA3
2420190427134054 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BA0922D3 2420191022075007 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102F7B693
2520190427134141 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BA60986F 2520191022075045 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1033B1D1F
2620190427134218 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BAA3065B 2620191022075211 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C103CDEA43
2720190427134236 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BABBEA8B 2720191022075252 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10417630B
2820190427134255 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BAD95503 2820191022075337 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10462BA5F
2920190427134319 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BAFE825F 2920191022075408 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C104906FA3
3020190427134323 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BAFEAF23 3020191022075418 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1049C8563
3120190427134415 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BB58DFA7 3120191022075526 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10516447B
3220190427134430 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BB6E0833 3220191022075538 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105263DC3
3320190427134447 2 6 100 2047 5 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BB86B387 3320191022075545 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1052B9CB3
3420190427134458 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BB9466DB 3420191022075648 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105985083
3520190427134557 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BC0557EB 3520191022075711 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105B6F457
3620190427134619 2 6 100 2047 2 D89645A8729D536F81F6D80ACE07FEA130E55B5076785AB086044CD7C09718E6309ECDB7D645DF39726B92D14BA56A5D5362D6E6A839FD131805A20868A85956B460A31467BB58F14DB8C6DA03A030B2002DF101FD01B47E93D4CBA0AEDC33E4A3111DD61535FD9E38191503F02D7B848C11C3F1819AEEECFD3F2992F4A6BE6433CA9674F225939A22A926CC47080CD0E17681FF0660AC456B2524204485FAC04EB9687CFC6C8FDA3AAA60035F2686668FD75F9975C02C2D8EC4AFD865AD904732A6011C986334B60E617AB6E5055BE357B43B1B647F382CAE57AA0920FC0F664A07B94F2642EA7D99CBAC3A5D126B356DA271178A93E7F7C20F17F7BC28DADB 3620191022075721 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105C3BB0B
3720190427134649 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6E1990C3 3720191022075832 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1064323B3
3820190427134736 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6E6DBD63 3820191022075846 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106578B1F
3920190427134803 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6E9D4323 3920191022075941 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106B58ADF
4020190427134834 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6ED04E7B 4020191022075955 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106CA5743
4120190427134847 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6EE19F73 4120191022080041 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10715FF37
4220190427134920 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6F1A344B 4220191022080105 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1073A7C3B
4320190427135005 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6F6D5747 4320191022080147 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10782FEF7
4420190427135106 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6FDCEC0F 4420191022080206 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1079A53A3
4520190427135120 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA6FF14F7F 4520191022080212 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1079CA49B
4620190427135144 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA70192257 4620191022080437 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6254F1CC3
4720190427135211 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7045D11B 4720191022080445 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6255528FF
4820190427135226 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7058B803 4820191022080450 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625566D5F
4920190427135246 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7079721F 4920191022080507 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6256E3B7F
5020190427135301 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA708DD1FF 5020191022080516 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62573826F
5120190427135418 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7121862F 5120191022080529 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6258313D7
5220190427135521 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7198F48B 5220191022080539 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6258FAE9F
5320190427135603 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA71E5F087 5320191022080552 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625A1898B
5420190427135644 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA722E63EF 5420191022080620 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625CCD3BB
5520190427135717 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA72641AB7 5520191022080644 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625F373DF
5620190427135822 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA72DF5AFB 5620191022080653 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625FE7A37
5720190427135842 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA72FF319B 5720191022080713 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62618F277
5820190427135852 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA730ADC3F 5820191022080742 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6264B5263
5920190427135857 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA730C5F93 5920191022080848 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626BEAA8B
6020190427140013 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7396C23F 6020191022080900 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626CD618F
6120190427140042 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA73C9FE3F 6120191022080911 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626D33B5B
6220190427140048 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA73CD560B 6220191022080939 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62703D917
6320190427140242 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA74AE206B 6320191022081024 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6273B779B
6420190427140252 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA74B7C6BB 6420191022081034 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC627427EAB
6520190427140257 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA74B963A7 6520191022081413 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62802E907
6620190427140321 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA74E0E027 6620191022081751 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628B7905F
6720190427140332 2 6 100 2047 2 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA74EEB823 6720191022081834 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628DBDDF3
6820190427140404 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA752ACD17 6820191022081843 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628DD29D3
6920190427140438 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA75648B1F 6920191022081901 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628E650F7
7020190427140451 2 6 100 2047 5 CC95B326545FBD4D1FB7F94FF6FAB4F18A24F90BB106535592E25F9AA5453A4077D4BC59388DBC2DACB4E19BB39974160F7BA6BF3F5F3F3464BE09FBE3E52676B1F63C260C55B827A2987ECD5BD7405DEF87B6BB23B8A6AF7C73C99E338DF0F906B7813398F1BFFC489C5C8007E370CFD82CB53B5BCBAA85781944B123AE3BF4DB294BF5C8E3F915B3523EB2546052EA02ADC5008F9D339F3F9FFD87325BCAE65C6B6C8DEBD12ECD3B23E0FF02913BEBC8A4245CDA50F2C0D67B6144C28E1C770EA15D566C5F4126025E5BA6C8C0AD259D8E35B5BD81CFAED74F65A007EC7CCD56362B20FDC9E0A38C7149D18166E9DAA5AA8F02833528D3F1FA9BFA7576A0F7 7020191022081950 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6290B1487
7120190427142510 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D254CBF7FF 7120191022082140 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62959CDF7
7220190427142834 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2554C6403 7220191022082225 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6297568D7
7320190427143431 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2563401E3 7320191022082400 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC629B7AC1B
7420190427144119 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2573D72E3 7420191022082607 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A2EF923
7520190427144211 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25757529B 7520191022082624 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A3A2537
7620190427144648 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2580C5933 7620191022082651 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A50145F
7720190427144934 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D258726557 7720191022082739 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A77164B
7820190427145348 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D259170323 7820191022082909 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62AD303A7
7920190427145853 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D259D92B83 7920191022082923 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62AD5CF33
8020190427145926 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D259E64733 8020191022083101 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B343BEF
8120190427150049 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25A14FEE3 8120191022083132 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B47F117
8220190427150137 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25A2B00CB 8220191022083152 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B53A7EB
8320190427150433 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25A990E67 8320191022083332 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B9ED527
8420190427150837 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25B33F1BB 8420191022083541 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62BFDF373
8520190427151112 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25B94E713 8520191022083653 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62C3DC8A3
8620190427151214 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25BB89367 8620191022092407 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50A338107
8720190427151319 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25BDB8C9F 8720191022094427 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50B5A745B
8820190427151415 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25BF8D833 8820191022095026 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50BB26CFB
8920190427151906 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25CB34BEF 8920191022095757 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50C22C577
9020190427152724 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25DF6F3CF 9020191022100015 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50C3FB8DF
9120190427152824 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25E177EAB 9120191022101519 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50D2350DB
9220190427153358 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25ED44D97 9220191022102519 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50DB8BE5F
9320190427153435 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25EE50097 9320191022103601 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50E50FDAB
9420190427153608 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D25F1B3BCB 9420191022105902 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50FDC58C3
9520190427154311 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26029D67B 9520191022110723 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA510777B23
9620190427154456 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26067D5E3 9620191022111301 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA510E968FF
9720190427154845 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D260F495E7 9720191022111931 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51168241F
9820190427155437 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D261D6A03F 9820191022112616 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA511E89D1F
9920190427155532 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D261F2537F 9920191022115052 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA513DB748F
10020190427155940 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D262925453 10020191022121302 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA515D683FB
10120190427160027 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D262A94017 10120191022121526 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160BAA4B
10220190427160325 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26318723F 10220191022121542 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160BED3B
10320190427160413 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2632FC493 10320191022121601 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160E3E63
10420190427160752 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D263B95227 10420191022121811 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5164A2E73
10520190427161711 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26525F033 10520191022122332 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517055113
10620190427161805 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D265415FB7 10620191022122412 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517133383
10720190427161907 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26560764B 10720191022122637 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517638283
10820190427161936 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2656C7C93 10820191022122836 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5179FD6A7
10920190427162028 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26585361B 10920191022123100 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517EAE913
11020190427162429 2 6 100 3071 5 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D2661B96FF 11020191022123327 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5182B9D27
11120190427162459 2 6 100 3071 2 EF52C73892BD2FCB8A179AD029498CCEE7582B996D44496776EB45A2420A94FF5A3F181128D16BACA21069880556EDBD46177615CD36B752F8C71C48E40138C7A62508701FAC6E2B5E1E1D22F6895D3A03CBB0E5EB983B32DD6D04108DA0A4194D16EE6C59A79AE638C5868F23C3514D5336C547A71CCDC197142699C4C6CFED5176774D603D491D9EDAE89A930C775480B1B4202E5F2057C58AF144E30378A25A24046A05CF76ACBDA6D51D917E75CE0E706F9F2C2D0865A96A2AD93187C06AE3FCCDF6A003C8A10DC276207968F9ED6278CDF50EB6149CD4F231D4B80E2EFC1DE24D775EF73C8487B70AC10EAD2C3B39B7AEF950ECCF9A5A214602EABA215A08A069080FCF9758BD73E1C896D05982102C31CBF4E618C5B8EFC64C90F7D07275E13D082C0B8B711B5AF2B9EE1898F96C2F4A545BE527B83C4A4BB31AB44DECAF513D737302C848CF1B3D7E8A8C820C0CE30A8AB9085D7AFEA6F609957547451282C409F92A72E478D02C995C201529DE1E882131B5D6825482C5D26627D173 11120191022123424 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA518407A6B
11220190427163105 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA2077A9CFF 11220191022123511 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5184FB45B
11320190427163212 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA207A09A9F 11320191022123600 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51863E15F
11420190427164520 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA209B0D057 11420191022123622 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA518664AB7
11520190427164606 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA209C7A943 11520191022124625 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA519AC1C6B
11620190427165028 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20A6FBC4B 11620191022124824 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA519E8D89F
11720190427165353 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20AEF3423 11720191022125143 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51A5644B3
11820190427165600 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20B3AA69B 11820191022125456 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51AC223CB
11920190427165714 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20B65C33B 11920191022130231 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51BC05D9B
12020190427170957 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20D5776A3 12020191022130435 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51BFF7E23
12120190427171202 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20D9FDC07 12120191022130821 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDF6A052B
12220190427172203 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20F2B2D83 12220191022131106 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDFBF6B4B
12320190427172705 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA20FEFD873 12320191022131309 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDFFDD323
12420190427172835 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA21025A363 12420191022131339 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE008716B
12520190427173404 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA210F9D88F 12520191022131426 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE01A5ECF
12620190427173442 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA2110BBCB7 12620191022131921 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE0BF992B
12720190427173611 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA211402547 12720191022132230 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE127F08F
12820190427173706 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA2115B820B 12820191022132941 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE226E25B
12920190427174401 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA21266C603 12920191022133745 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE33AB123
13020190427174732 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA212E9A117 13020191022134534 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE44106F3
13120190427174818 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA212FE36C7 13120191022134625 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE455482B
13220190427174942 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA21330698F 13220191022134720 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE46CCF9B
13320190427175118 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA21365CA3B 13320191022134822 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE489D84B
13420190427175402 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA213CB4C47 13420191022135012 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE4C1DAE3
13520190427175430 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA213D703CF 13520191022135216 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE5043D3B
13620190427180058 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA214CFEEAB 13620191022135757 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE57878BB
13720190427180239 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA2150B283F 13720191022140734 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE6BA655B
13820190427180622 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA215957E67 13820191022142332 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE8EAF59B
13920190427180808 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA215D1C7E7 13920191022142420 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE8FD9DD7
14020190427181543 2 6 100 3071 5 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA216F254E7 14020191022142754 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE9733DBB
14120190427181657 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA2171AD62B 14120191022142817 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE975F4B3
14220190427181804 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA21740CA23 14220191022142942 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE9A37157
14320190427182222 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA217E2A27B 14320191022144132 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB21454F
14420190427182944 2 6 100 3071 2 E7A9F2E16494A110F823F0C90DFE9CC40005B24122176C6C6525F90F736433F094527C6DB9032736C471474E93E7DAB28D9CC80DC6C93EF27473EFE0F4A3A3AFBC07C0BA0DEFA0C73C075700D69F950499B634B197AD2B4E32712E80AEC3D463DAD26397FEB80B1DE1DBF96C7BF1CAEF1A47E39D135A5D941BF1ECE9186CF23C785E2B368B8AFC24E120EA6956EB97206AD0C80DE87D092190A049E0E12F340E41C6EFE13F1C19A63763B90C4E9099D0011FA62913194E4671998FAE8847EA077F506D394ACBCF139DF20A9C36BDC1B82F905BF1975C9D4322EF2E9165EC2C0FAAEEABED7EF759F4D4BD764A5BA4043085CE3D679B0CE5C79340CF92E35D7A931A0B4A52B3447EBF7E2E2633EE221989B8A9E2C598A058CFBFCA4800BAFFBD8F9B9B3068AC18A0A030EC0CDE39439DFFFA8C42EDF7D4FC1D4E6D455A7387BCBE7EF973B3452E026707189CE35086A3B7B82BE0DF2824972794435DC8A76AC110CE46FADCF5C0BC070A61F14CEFB6B8EFCEA85B0F320D441B7DC1CBA218F91ABB 14420191022144147 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB22B7DB
14520190427191350 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB06D9C63 14520191022144244 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB38090B
14620190427193032 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB19AD8BF 14620191022144542 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB95B34B
14720190427193226 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB1B52E13 14720191022145051 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEC40A7FF
14820190427194033 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB2420833 14820191022145134 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEC502BF3
14920190427194143 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB24E8C1B 14920191022145406 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EECA2580B
15020190427194534 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB28C1B9F 15020191022145505 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EECBDBF73
15120190427195025 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB2D9B683 15120191022150136 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EED9F7463
15220190427200441 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB3D5BDBB 15220191022150745 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEE758BDB
15320190427200910 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB41E828F 15320191022151026 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEECBE16B
15420190427203550 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB5FC5F93 15420191022151204 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEEFDA69B
15520190427204712 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB6C292E7 15520191022151244 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF0D0497
15620190427205522 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB7523047 15620191022151301 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF0FF43B
15720190427205918 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB78FF793 15720191022151431 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF3CEEB3
15820190427210138 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB7B09B5F 15820191022151535 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF5CB1A3
15920190427213042 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BB9B8FA83 15920191022152032 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF00699A7
16020190427220612 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBC34BAF3 16020191022152057 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF00EFCAB
16120190427220717 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBC40CF27 16120191022152637 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF0D0F343
16220190427223040 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBDE07BDF 16220191022162825 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813960B5FB
16320190427224207 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBEAC020B 16320191022170230 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813B823183
16420190427225544 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBFA0517B 16420191022173749 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813DBE76FF
16520190427225725 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBFB42443 16520191022182715 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8140DADF3B
16620190427230157 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BBFFCBDA3 16620191022183421 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814147138B
16720190427230300 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC007FC8F 16720191022184621 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142020493
16820190427232729 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC1BDEC33 16820191022185705 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142A5D767
16920190427233229 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC20E4B23 16920191022190031 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142D4B05F
17020190428002642 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC5CB86FF 17020191022190457 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81431290D7
17120190428005024 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC76DE89F 17120191022190552 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814318C56F
17220190428010602 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC87A476F 17220191022191638 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8143BDC2DB
17320190428011939 2 6 100 4095 5 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC96A3ADF 17320191022191758 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8143CAE497
17420190428012220 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BC991C9FB 17420191022192300 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8144142F3F
17520190428014930 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BCB79076B 17520191022195622 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814632A81B
17620190428020757 2 6 100 4095 2 C8B676221E5E1670A7D8A039B224651E125FCE8393C9DC1C00DFD350538A7D84219E4790BD9470ED74505201C5FD36D901D13488AB33CF19BEEFC5B9EE374AFEEE4569372FE8CA2866B92743F2CA86051FF1E3A9AB3216F842E237A2F21DF50C680338A6F93CE6E9A72128AA227B77ECC7EB37303B80AA665F95ED9D99BA77C6CAB012B272D8B127CBB74A59B33EDE005092CC75C122E4A09F213F9B5CD2585F69666276841B92AD0518126450E0CF525DDE0702FDED5B24BE6D0568C763881794EDBF5630EC593B35903DA7D89523B43C09CAE7C9CCECE2C299F1D97E5E2E647A7157DFB736E5C34358DA3D436925BF236DFAB6995A699287F657FF3CB27200DF2EBE7CE4CC51D3294A0F4F8D164F182577374BB15972E285BAC72DF4053BADDB95238B8020904367E17B8584EC13A69B7B5BA6012F58A17C80D9F8E25F8D64FA47D89C4A79AA43FF2327356728225B009D1E5B767FFE1EDF25F349423954FF624EEB0670383D91F4DE6C4185C9D25F4195B61C5319D293E27F3A05C97E060A0B52E9564D02D39E5CE9325D31141007FAE82B9810B6E622AE9E3004DE60265C25DA6F0771CA443DFE43119866E9332EFBF73742819F11DA41BF3A7E9E0261B3746DD98708655C438914A7B7CE01553C0A0B305A9FF5677AF925CE3D90E2C3450EDE4802208DAC8A8EEDEFFB3D132294A87ACAC19FE70B5A9FD8C86BCCB52093 17620191022195854 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8146547CD3
17720190428025220 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7521AD053 17720191022200200 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81467EFE3F
17820190428025407 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC752345FFB 17820191022205134 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81499F9BF3
17920190428025851 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC752844A6F 17920191022211317 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814AF7C2DF
18020190428031529 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC753ACFB07 18020191022212155 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814B7B777F
18120190428031846 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC753E2D33B 18120191022213552 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814C560507
18220190428032328 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7542EDD57 18220191022215648 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814DA0CEEB
18320190428035554 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7567990F3 18320191022215902 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814DBD146B
18420190428042013 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7582C82BF 18420191022221214 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814E8802CF
18520190428050027 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC75AF97D73 18520191022222728 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814F6F35AB
18620190428050527 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC75B4C45BB 18620191022224558 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8150919C63
18720190428052456 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC75CA9706B 18720191022224953 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8150C9F1CF
18820190428061050 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC75FE63173 18820191022225735 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81513C4A13
18920190428061741 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7605A3267 18920191022234711 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81544BEA1B
19020190428062806 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC76110E4BB 19020191023000745 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81558FF6DB
19120190428063248 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7615D3893 19120191023002021 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81564FD2C3
19220190428065456 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC762ECD727 19220191023002706 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8156B28D27
19320190428072307 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC764DBADE7 19320191023011355 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1460883F
19420190428072618 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7650BB867 19420191023012442 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1509A3E3
19520190428073203 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC765675D03 19520191023014214 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1620E157
19620190428073641 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC765AE9C13 19620191023015245 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC16C48533
19720190428081223 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC7681FD677 19720191023020841 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC17C54673
19820190428085346 2 6 100 4095 5 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC76AF9B57F 19820191023021754 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1857058B
19920190428085754 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC76B3A4623 19920191023021829 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1857094B
20020190428092309 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC76CFBCEB3 20020191023022432 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC18B12DFF
20120190428094646 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC76E9D523B 20120191023030433 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1B390A47
20220190428101257 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC770689153 20220191023031027 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1B90EEA7
20320190428101848 2 6 100 4095 2 E673598807FAF65E41EFEC75371D9AD2684AC881287DD888940132E92A2007D6E9813AFC8880A8079F83130299E3B609A7CE849DAD80899C0A429CA828331E420E4220A961DF1F8B404073D1889D5DD5666A84EE4371DD16E8A17192343D45D58387BAFAD6ACBDD7DEC72E0707753F5DD3DB00CBDC69F78849C58AB5FAA84BD91528C90ABE465ED65C5C32F9A5FE06CAA0BF5166F5F7887A3584F021C47EE91229B1CDBB5E8C39FA9A58C36349626B1AC1F5A4EF05DD658D2F9482BE4A3BE28FC9CF811EEC3BBEE80C2E1A208AD9FB0D186B00375F3854C7F1E9E185C6F87D0E8E5AEF0F93948C2214071C37DDC331700390488077A641CC4C292D4EC017450A4CC51C825694F6058F3C4E7D1225219BD4E9CA63E7DB2402698DE641DDAC693D9DB8F7F113CC42A74DFCB2A34FF87FCA8965B2E4EC4CE6AA3A7DBD24E22F9505FB9A3AB3A8DD87B6ACDF0C4FBA8CC1D7947888C40EF86B39797CDCC929E0CF8C9BC5BBDB0D87D9B673FA8318EF87A71DA8E4711BD27124712A46103C1B59895482394586A1D9A6FE88F3DE32B1C76D817489DE1C14D3E0EB844758C531E18A43EA7AF68DA14DDEA76209D36DD5079A64A0254A699903031444D2C79F763D78FB23A28231D022ECE95538EF2BFC103956822A2997653ADF5836943304510000A4CAA891C242887751B94AEBBC6C7432D4A4F8291A29CBC1B1C369EBC770CCEFF3 20320191023031756 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1C00CBAB
20420190428110748 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC99D407B73 20420191023032601 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1C810F3B
20520190428112009 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC99D83912F 20520191023041220 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1F6D731B
20620190428115643 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC99E63A057 20620191023044241 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2154D00B
20720190428131948 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A05C8127 20720191023050540 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC22C34F7F
20820190428135735 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A143214B 20820191023053137 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC24636123
20920190428142816 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A1FA46CB 20920191023054409 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC25224B73
21020190428160214 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A431C843 21020191023055524 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC25D1FFDB
21120190428174103 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A6857F3F 21120191023060757 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2694C58B
21220190428181614 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A7562EAF 21220191023061045 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC26B834E3
21320190428182957 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A79EECDB 21320191023061921 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2738F1C3
21420190428195728 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9A9A88FAB 21420191023063046 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC27F1807B
21520190428222417 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9AD22FC93 21520191023070045 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC29CDC52B
21620190428233944 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9AEE4A0CB 21620191023071942 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2AFB0F2B
21720190428235622 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9AF40263B 21720191023074553 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2C984AAB
21820190429025928 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9B38823AF 21820191023074939 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2CCC9613
21920190429040856 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9B51ACAE3 21920191023075554 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2D28BCCF
22020190429131804 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9BAD6C8DB 22020191023075639 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2D2BA71B
22120190429152815 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9BDD41EC7 22120191023080618 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2DBACC87
22220190429154748 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9BE3AA3F3 22220191023083736 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2FAEE4A3
22320190429160150 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9BE7FF337 22320191023084930 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC30617C97
22420190429185032 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C251776B 22420191023085843 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC30EE1283
22520190429192706 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C31D91AB 22520191023090057 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC31091E2F
22620190429204434 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C4DFB63B 22620191023150040 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44442FE9DE33
22720190429213137 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C5EEC927 22720191023185353 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444434DA83FB
22820190429215410 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C6692A87 22820191023202543 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444436C35ABB
22920190429220800 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C6B3F02B 22920191023212301 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444437F75207
23020190429223049 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C730C29F 23020191024004920 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443C4BC217
23120190430000451 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9C94D7E97 23120191024005456 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443C62147B
23220190430052906 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9D0847223 23220191024013830 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443D4436C7
23320190430082937 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9D487C277 23320191024020328 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443DC27DCB
23420190430084607 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9D4DE81BB 23420191024022030 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443E12DF8B
23520190430090713 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9D550DBF7 23520191024041749 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444401CCD8B
23620190430123953 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9DA1295FB 23620191024071132 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444442526417
23720190430124627 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9DA2E37E3 23720191024071851 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444426F0F73
23820190430124917 2 6 100 6143 5 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9DA358FFF 23820191024093118 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444445307603
23920190430174204 2 6 100 6143 2 D9C0DD366432DD078B6FCB8D9B9C70FDB7CF0EF78241CBB6C3519072DDCD4B3D01758114F47AA82D7544B67791880CC07A413DCDF6E063D4EF381DCC5B2C35D44B85F2AAD28396C2DB079D27FBF3922059CD1F9EA1C48D23940D293B2D195EBA299921DBBFCE0B528D19DE35D640AFE5414B7B3251F839BDA667A754D94C5056FA1FC57C87FA51CD781F2C6EC3C7446AD3EB9272E0F2358EB18FC68B79A9D76BCADD6155F8D02C0CF9DDD0F8E9565E1B7719F2E269DD45F47F435393E9678C609DA7B2DBC5955F09BC30DF2F972CF8646F4E9E258FA1997E81D361D1823CCF4EC2248895DB88A02FB506D2C60855F0B59B9266E842AD392B68BA4FDD1154EC2A5D6429399A094C5DF29618BD60A88D77A122F7EEBF3B90FF645C3B27C8D144D0E6192BA5F6ABA4C59781693BE4467DBEA60C86E2E2638D575E38F88CAFA091E19A727C5CF536A5F6A3108912794366BE9EFDBC564A9E181BA50D71723DA7F9C6FB4E9EF6E2556F76FCCF9322BDA6D43FBECDF2F0FC54D220B51472AE2F5D794A166B258F406513421B46D90A16A3BE07D8127248F0979F4C22E1C20061BFA26781E36BAE9AD705A5F27BBEC8F1AC383BAD5FE03EB3BF4298AA8D1E59EAD8795F745F57676871F519430A8E4D39B0F11B1BD3F8F8D7BB27ACE06582B57C787F6450601E3A1542D261A7543BE0AAF12226F5CF367251F90CFDE58957268F88B0B0A3841F38551C08D562FFD4BBD3556461DA3DEB7B2D5368E3AAFBA7728A3D77B3BCEEA0190203737B6CD933818D75900C5EF03E72C37022F43592FF4E1A815DE106381A60EC82051712A7F7135DD8B59B6EB55479462BCA6A0EF2D497AFC37455C602AC013F3B4D21D513E5DC5A93454320B7F2985DE2E4142D2612689E23F0621ED6641B446B60B4300F47ACE216AFA5819B80C7924B2BAA9D4968594A0065FA5FC72FE0D9C3E3B1C24E2C7A03ED3D3A830599DC133752684A098040AFA535E6DE5D947E0BFD7C20F1BBF78DD0AB3F01939D542DA76FBD901B75C2ED2FF4F59BEBC8D9D446276D125DA554B198937DAB4D747D558FC8226253DF4CC9E0B7359B 23920191024095518 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444445A39BD3
24020190501015403 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF4C4CD31B 24020191024150723 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444BF198DF
24120190501022114 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF4CE92ED7 24120191024180500 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444F817E93
24220190501042111 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF4FC887E7 24220191024182834 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444FF6FAA7
24320190501044420 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF504F6BC7 24320191024190019 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444450947417
24420190501092454 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF56E17D3B 24420191024190629 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444450ACC83B
24520190501095809 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF579FDFFB 24520191024234818 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44445664815B
24620190501104939 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF58D1C8DF 24620191025002527 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444571ED7D7
24720190501114320 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5A1085BB 24720191025090114 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446188A3EB
24820190501120300 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5A7C0557 24820191025105729 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444463CF6B53
24920190501125217 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5B94767B 24920191025125212 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446611F15B
25020190501135152 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5CF6DBEB 25020191025133454 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444466DDD74B
25120190501135808 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5D12465F 25120191025164443 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446A87280B
25220190501140313 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5D27DD13 25220191025173652 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446B808D0F
25320190501153432 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF5F3BAF7F 25320191025182518 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446C72A18F
25420190501162224 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF60500A0F 25420191025210336 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446F8C312B
25520190501164449 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF60CD8F03 25520191025210946 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446FA296A3
25620190501171953 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF6193989F 25620191025213641 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444701DD76B
25720190501181255 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF62D0A18B 25720191025214012 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44447026470B
25820190501181928 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF62ED89B3 25820191026005042 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E05623363
25920190501191404 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF64255C53 25920191026075212 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E0E59DF2F
26020190502020811 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF6DB1B0C3 26020191026134748 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E15C2570B
26120190502043728 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF71163633 26120191026141044 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1634BA8F
26220190502044701 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF7142CB77 26220191026152621 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E17BF036F
26320190502083730 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF76799A3F 26320191026153744 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E17F17297
26420190502101202 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF7899A53F 26420191026161846 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E18BFBD0B
26520190502121725 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF7B633E2B 26520191026183157 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1B69DDFB
26620190502135746 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF7DA12BBB 26620191026183823 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1B80AE83
26720190502152849 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF7FA1BA1B 26720191026184938 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1BAFB703
26820190502160005 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF804BE18B 26820191026215453 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1F57BDAB
26920190502183409 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF83B25FF7 26920191027005434 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E23020867
27020190502184333 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF83E03DC7 27020191027042709 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E27606193
27120190502195056 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF8558212B 27120191027062047 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E29A86A4F
27220190502230736 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF89B6A733 27220191027071632 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2AC3EFB3
27320190503000307 2 6 100 6143 2 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF8AEFC32B 27320191027092825 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2D67AD13
27420190503005024 2 6 100 6143 5 D775D98222C19B71B1640F95F44179182E462E941B1ED2AABD7B9A92A387C5A10014F3150A4E2F48FAA83BBA757A7AFAD52FFBA351FF9DCED93B94669353E737D5DC74052A46299579F2F942AB66574E855A7E915834BD378408F0932BE8537F9863EF3EF0072EAC02EFD86A91573B63E45009CDAC495E6AAE87A2FD70395EC22F249492AFD7D007CF1718799D821E220AA90AB881E64096726963959F094A6ACE215A417B8163EAECEACA5B5454951324DB52FA2768FD22E9F0C2A1EEDD1B4DADA051455654FE405425EB73BF3536DB3B7FD9898F562EDF0BD5DA0EC15379CAEB4CFA2E2B4745D496617503427274AB3D9DBEDFFDCB5B7DC263E9F743A17FB094AE65E546468D398F0F5E3FCAF12B9799DEFDAFCB765F8AAF5D8B6BA2C24E1E1969339991AC01C542F56528446B5233819724F6CFE2E7B5797E4910993FF0EE87A1C696D60CB70EE6BCF27FC18E0B0BAF3AB97158130B0A8A1732A99A9E56713BFADC95BCD2ABD1996BF52E719441D9CFE948DF65F3BD454CF8198F43472F47F0F73703BAEF1E266B1F109AB3466B1D41E7E25AE6CA9CF42C73540245E8BE948FC620264DED7F1235A5962418BFA028C8F9657558E3A164668F9302B4A0D184DDF237275EF6C803B5DA901EA1A4E86E9FB5AACDED09EC4983A2B3089BDE76CC6D5EDE0FF746935912E63C4543A080977D92728F513A8FDEFD13F72B578B776552AAF9E7DAE4D292642762CB6F41BD9A4E668430C3C3E1CE6AE4BE5C520865E316DE2085420294EFF8D170322AB506042E08F3B621443273414FE2A9B5EB17DA967F8273999D7F1A562DD36E8827476767523F0C0BED30EBCECDD3BE963544DD22FBCFB58CAD4BCB0AF4756AAEB9B32E0302D55A30F0BE267729B831AB43BCF0F9D979EB01982BB9AD905F978B0EECC66C24FDD43E3C9A61DAD3847CD7A26573E5624ACA6497C4FC2846E743DCE94ED80CE5B85E4D94E9B04B5101CC5B93ECC5446D909EFD66B90BF9DE30B2184A762A47F850FEC2B275CBEC5F8C2D8129140345F92A62B10827FE5391D421CDDD3477525D7962802F86FB6DD776DF8BF82007 27420191027104355 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2EE2E4EF
27520190503045229 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FA4B7281B 27520191027105052 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2EFD8C0F
27620190503092435 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FA864A07F 27620191027112952 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2FC1013F
27720190503093933 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FA88F5C2F 27720191027134854 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E327D6FDB
27820190503185714 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FAFF88A27 27820191027141251 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E32EE5767
27920190503230135 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FB32C1D93 27920191027160720 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E352B49DB
28020190503234726 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FB3BF61BB 28020191027164412 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E35E01D13
28120190504153114 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FC025AE83 28120191027165524 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E36100063
28220190504154716 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FC050C637 28220191027184917 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E382743F7
28320190505075209 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FCCC7F353 28320191027205847 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3A93CA6B
28420190505133417 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FD1174883 28420191027210626 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3AAFB96F
28520190505152053 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FD261BF7B 28520191027211813 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3AE1DE63
28620190505185240 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FD5010593 28620191027213244 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3B21B0FF
28720190505231615 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FD84F2C0F 28720191027213714 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3B2E39F7
28820190506025944 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FDB0D615B 28820191027221420 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3BD9058F
28920190506082750 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FDF1EA583 28920191028002356 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3E45B4B3
29020190506141740 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FE367BF13 29020191028005652 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3ED864BB
29120190506155945 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FE49E685F 29120191028014800 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3FC45A63
29220190506184902 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FE6B14C57 29220191028021443 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E40396033
29320190507012130 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FEB851FAB 29320191028041626 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E42827263
29420190507110329 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FF2961E2B 29420191028054443 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E44349037
29520190507112946 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FF2E05E37 29520191028102149 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E48BF4367
29620190507194630 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FF8E43DF3 29620191028204729 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C56962C57
29720190508021744 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FFD99E7A7 29720191029074748 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C5E6F0DD7
29820190508045924 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907691FFF893853 29820191029104921 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C601D891B
29920190508063102 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C9076920009BB29B 29920191029115340 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C607A9FFB
30020190508092907 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907692002A72887 30020191029123325 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C60BE442B
30120190508110153 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C907692003BC28B3 30120191029222629 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C677977AB
30220190508121005 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C90769200482D15B 30220191030071819 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C6D9F6A8F
30320190508161323 2 6 100 7679 5 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C9076920075F623F 30320191030072920 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C6DB5BB43
30420190508190839 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C9076920096A38B3 30420191030132209 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C71C9F707
30520190508203511 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C90769200A69CC8B 30520191031002135 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C794F4DFF
30620190508210427 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C90769200AB84E7B 30620191031064758 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C7DA1F51F
30720190509004938 2 6 100 7679 2 E60357473FEBA954D9BFDA68596E33AE69E4A8A2A0CE6C5D7B251FD41F2457FFF47E29CCA0C471CC7C84F62E65BA526ABE7EBAC2C668FFFEDC89A7DFDF65D36B844356F7A13A6879843F03027D6C35087572513D1205706B4E95A74E4698BCEB488211E99B6D5E5DDF686A848713BCB3D552EE815018A468BF4CA25CDF0CC0C020372C6A65A7F54168631D355F64C79704C6C06F457420A9B538AB1827B516C54A125C967F587C1B4E76B93C4D8DF6EE4C6B028F71C3678D6E4D57DD2A879B6D54F25224FE49B3B69EBC90E200248F0370C28D5D3E11D44644B2D468CD71BD3835BEBE7A50E4B9D9A96C0661C050CF023E807EE3E96883893F4C7587E514E88B857F8E1C72652FEEC0AA977198CE6FD5276755BDDC91D7A3CE1DED826D5AD28793EE7387898F174489D46E48523BA118E12C17F81AE8437E74FF38701B3D0C14B5ABE29EB710B1D866D6839D489B63F18486A65C646C004A41B588767B8C897CA0D3C64D511977A87A6E9C41D339526A7A9614117266BAF1A2769B1678335A91113150C82D09DB6F9476366AF6689A5B14A23A0FBC53E851C365D31074660B375088CC2724A2484EC2E77595BD30F497BA27655EFD00B17458762D171A466EDA544DD4AA2A6045222A1A4D020C15053385E0AF6EE7AB7DA719F1C77C8B0F251832EBC2487AD6AD47121A384ADE5DB49C0F1ADB6D5C12204312B157457513532568AB67821C56D739027851C122BF764F6A27C2EE58A01F56F061E662883C1CDA43AF6D2E04650E06C4CDF3711FCE07BC0523823CCE4D4DC718C9E6DAC48BF27AE985D72207E6AAB59B17DBACEADA7D7467A83B5659207968B0C0FA307308678FECEC0F7218F65E23AA2C22B92707A8BFFDA056127F0EE83CF3C328E2E95CAB8D351087FD79FDAE3D3E6ADB8F6BD210DA1384268E29A3A799CC0FDC0E86DBE39CDFA0DA7E2119F2EA13830A627B25C9F4A8EA319CCF51D62B109AA98AC026B3EDE897E9D356F0FC924D856EF3259B7D7C5CA6CAE64BCFF1C794D8E7A0381926A48D18119884DAEBC59F4E8A08A3DF0D6B73D0FBB049E278BCC43E70EEEF57687F2727965F475CDA5BCB72F084AC36FC8050F9E8AA78D59F7B12BD661037241A9EFB9B1EF5C4236A0B5C204E384FCC146EFB8E59B3514B4B1DEA266E713E256AE8E585AD2CDC6B755EA5957A5EEB6D9454A8B8739E3A37AE7729C8F6F04630304B1B4F17A01F6C489A580E4DDA00D8DF77BA031FAAB8D25245A960DAB17F55CA272AE1827FD34034D2BDF103BCB0C1579C7820CF170F729CE29E0B8F7C8C6DBD63EFE00CD3471C8CEDF3A658504D7CB8D2E6DB9EC90ED647E3C90769200D51DFAB 30720191031135153 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8253C3EB
30820190509105756 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61341842364B 30820191031201815 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C869AF937
30920190509134417 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61341A7E713B 30920191101055219 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8B9A2CE7
31020190510014735 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613424440853 31020191101065855 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8BFA04D3
31120190510021831 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613424A3F527 31120191101102927 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8D496B7F
31220190510095146 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61342A862CB3 31220191101162017 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C90C40057
31320190510104217 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61342B26B11B 31320191102073643 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C993C9B5F
31420190510124305 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61342CB7BAAF 31420191103030038 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CA2EF80F3
31520190510183844 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343152EC53 31520191103040704 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CA394AF43
31620190511013807 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613436BB5C93 31620191103144920 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CAA0B72CF
31720190511023729 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA6134377A3DE3 31720191104025539 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB128D89F
31820190511061010 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343A3CB94B 31820191104104258 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB5D65BBB
31920190511065659 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343AD1C49B 31920191104110623 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB609F2DB
32020190511075233 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343B822463 32020191104113147 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB6451277
32120190511075658 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343B879A1B 32120191104123416 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB6E19D8B
32220190511133030 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61343FD923B7 32220191104181953 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBA5B05EB
32320190512000745 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613447E9C323 32320191104182450 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBA5E4023
32420190512021640 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613449847C13 32420191104230444 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBD2DEB3F
32520190512035011 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61344AADE76B 32520191105091836 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E0D0129FB
32620190512114314 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613450A66E2B 32620191105100933 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E0D92A647
32720190512122509 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613451226CFB 32720191105234826 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E171AE8D3
32820190512154010 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61345380D013 32820191106052238 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1AEC5E43
32920190512224408 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613458C13FAF 32920191106071634 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1C312BF3
33020190513162038 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613465BAE2FF 33020191106092936 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1DAE275B
33120190513164957 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA6134660F9513 33120191106120421 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1F6DBD13
33220190513174641 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613466B7D857 33220191106122445 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1FA1E1AB
33320190513203241 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613468AFB71B 33320191107014126 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E28AC4177
33420190514054626 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61346F48E5E3 33420191107144145 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E31696647
33520190514120932 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613473E636DB 33520191107152955 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E31EAE00F
33620190514132116 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613474BC789B 33620191107170414 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E32F54973
33720190514170000 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA6134774F3CE7 33720191107235721 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E37818C57
33820190514183309 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61347861830F 33820191108191832 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4357C06B
33920190515012547 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61347D3CEAC7 33920191108224321 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E458BA9C7
34020190515032651 2 6 100 7679 5 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61347EA64427 34020191109135352 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4D13F4BF
34120190515054441 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA613480431773 34120191109143346 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4D7EBEC3
34220190515060337 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA6134807308A3 34220191110001842 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E542DA06B
34320190515115634 2 6 100 7679 2 F9012DFC89C23BCB012C92F22ACC6FD45E01611A520DA5324949CE74B83561192683B3AB03AE38E842F4519639B26423CA2EC376080E10F280A9536468FA6CAEFA62A67EAE90B20C8431E9D05DBB7847FC9389AF2289534D38B888F3E45B801049DC15919DD6EC0607841EEEEA748AB755B3596DD9D4B9E9F962CCB8B7BD1223B8F75CE74C6EB4689681AAF890D4DD492527B718BDA900143438237591AA78582ECD9B3F4615FE6484079FA323E60C82CE874DC3EC73C0EEB94A3FCDD52CABD2479E70EFDA60411603B896C7427DAF66953F1E826750C7BAD405C79551CEEE64DA1DB13F71E7400D14EEF87D3AEC977BE555453E0842ABB4590A626547DF09AFBA196099092CC112C4C7224EE0EA47DC3AEA33226FBF3067881F6DF335D8445EC93E3B2103777A4CE58392DCFADACF543E89E68C50C75F5DF3F96D04D28D28659390989D8652E18A50B9AA4BF4B879319C2ADDA631DE74A9BB017F0A8BB38A224D38A7AC86E61EC374B6A29D5C5144CECD9A8500026C01A0E0B4316BC1D01FF47FC2CC2742606DBC625D3C632C49C209363134D6DF942D4E8D7EF875DA33A8BE390BB47ACA0533ED1CBC50F89E1FCAFCDFAF49061D09F6620F23315DF93F6C3E21911078C041DD4569A81F6F7CD7BF122E25A4FCD8F3B6640055B7ADAA95879A8F0DA7D1F436C5621C5275FCA02EAB6BD0C8AE2C85B9E096475E17ECE218C18A0300965661CC5DB6A35A4BF5832944ABF064572516C08E70FA1C629EB92554E2A3D79AB3A15569AA60F141BCF54A84D25550439E97B0C97DC8C3B4294BFB12A1D7011D5467527BFFE9588CF495EF2ABC1BBCEA2CA7AF7B73097745FB91CDE3158247A1D11935403CC6C93777BF165A620EDB9FDCA7C948C3FD1217FA631D0E82A0E1F5F24EBDF2D09BFF8FD3B2D8C25F3E6FD836BD0B9822AE1E2250C176C07DFBC1830B963D827CA9DD687B1050753D754D8D8EF7AA08CBA970EEB4D96F0B0BD7EAD21FD8D10E40A82C5FD1638FC144C04A2F3039555DF2F4B55D6B24FA1BD59B39F6A7B6CE57069A5A1846C1339393A8C5F838EFF310ACB0669CCD96DD950313EDF91B4E7C745EA486FBFF7A27BE5683C4F6A9526D87EFF6C4BCF54AA71975DE90F9F825817519F59F3B71A52FC265702E2987416202C074DD9003F7108C4F68396CB2D17060D3A345949A03BAD2AA9380F0139CC9FABB94283BE5AB0481674D8B91C59A8CDDDED9487E60AF45924D1A5A4B46116635413F30B81E41EA85A91E85320839809E8E16D8E91DEE92DE9979910071E5D2492B92ED9A647A0E5C82B9608FFFCC216C70AA49EBC7BC3C1B38711F301A4981E540FCAA61348472A24B 34320191110175307 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E6046F9BF
34420190516064842 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE07D939FF 34420191110192342 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E61370307
34520190516065439 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE07DFD413 34520191110200757 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E61A90673
34620190516171952 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE0EEEAE77 34620191111005215 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E64BD2F0F
34720190516223059 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE1267AA83 34720191111221634 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E728AB85F
34820190517040917 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE15F2A5DB 34820191112130746 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E7C1545A7
34920190517174034 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE1EDB650F 34920191112235240 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C09B051E7
35020190517225112 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE2237E3C7 35020191113080333 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C0DFA4497
35120190517225713 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE223EFDA3 35120191113172045 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C12AC18C7
35220190518051358 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE264C4DDB 35220191113200551 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C144987EF
35320190518123927 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE2B27B6E3 35320191113222215 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C15AC15DF
35420190518200907 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE3000BE2B 35420191114105339 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1D643593
35520190518234940 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE3260724B 35520191114122810 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1E6B7F8F
35620190519034803 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE34E930B3 35620191114130017 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1EBA7C07
35720190519043750 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE35698F73 35720191114145117 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1FE5ED4B
35820190519112652 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE39BD6F53 35820191114151102 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2010EB4F
35920190519161045 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE3CB453CF 35920191114175356 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C21C7632B
36020190519171125 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE3D50C107 36020191115033149 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C27E226FB
36120190520011710 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE42594D67 36120191115034007 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C27EDDB17
36220190520015559 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE42B03D8F 36220191115161656 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2FC179BB
36320190520172254 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE4C275593 36320191115163508 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2FE8BBD3
36420190520175900 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE4C7C6447 36420191116013312 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C35152223
36520190520181531 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE4C9FB21B 36520191116104137 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3AB548F3
36620190520225911 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE4F633F8B 36620191116131152 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3C3644FF
36720190521034046 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE523DCD17 36720191116180544 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3F1E201B
36820190521135614 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE587E7033 36820191116195637 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C402E471F
36920190521161205 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE59D6D05B 36920191117014351 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C42FE585F
37020190522055500 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE62168C87 37020191117195700 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C4DBF75DF
37120190522062713 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE62621963 37120191117204232 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C4E2912E7
37220190522153949 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE67DC228F 37220191118131732 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C54343CD3
37320190522235154 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE6CC181BB 37320191118210639 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C57F77453
37420190523020515 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE6E0EC53B 37420191119125926 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6021DE6B
37520190523032756 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE6EDB0003 37520191119132613 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6059AE27
37620190523085816 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE720E2853 37620191119133140 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C605D833F
37720190523142410 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE754B0527 37720191119133605 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C605F151B
37820190523163329 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE76828013 37820191119174042 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6292A3C3
37920190523222139 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE79E6DC37 37920191120093944 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C690A0B53
38020190523234647 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE7AB3986B 38020191120141650 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6B4934D3
38120190524041236 2 6 100 8191 2 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE7D4A9A03 38120191120221735 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6F3A553F
38220190524050757 2 6 100 8191 5 F3B0550B7173F23F08A73D5EE6F4557082FC3C45A779CFA5D879D7A31EAC067D6AB8B193E2F54830F7F5446CE701B789C85011BFDBEC472593F907D1B1CB0CD7B69366605155A9E0413D775A61370FA8A1ACB1CFE9CA68D6681FDFECADA901BE736FBA7B5B192FB91354AA20403C02FFEF3B7B74FB70F58A0F8F2D16AFE013A48CA905152B1B8C88635955742E45CF60989BC66A79B852066199FBC3623E5B07A1B80CA0CCBDFD19B0F1892DF98E40FF362483FB8BAAB903C5D0A64AF4195B2BC2CE744A68FD333A45D106BBD6DFA18A7E2B36AEEA9E712B3422A67FBE2A6EAD036816C05423104E3532267CB504E22E4BE8923DDFAA11239C1660A9B106DDC582A5BCE531AD37FA29BBA8C3D08BE6B54BE52CD8917C00358098D7FFADAD9646C1372AD484B4205FD7AC68E2DE7BA1074FDDF42E1AA85C31F0ED03B15E61862B0CD7FEA0D5D16B294F6B20854387FA51F52D63A2FA7D1DF1F206AA90FEDA0F174D29669B0A85C53A4842ADE5DE407302FD727C89D7A9377E11DA89A2E19455A878E21D92472E938EE32128F5FA57BB0786D6143EECB4705E2BB9A05118CD81CFF31AB14EC7D9136DA9C6C51A650B3922ADDE56E1578F856FE15A5E2D40DD378A04E4217DF6CA94D3CFC710811773EC6F86D57BFF236DCC44A2D29E9E0C6076C93C9982225E436170B6DBAFA930A96B060AE2A1328DC74D9F25E9C7614B4EC691E1CDEA31653831B9043A2F6EC9398683F2662AFC9D80194B5E4E81F7B6E248BA37EF4EC0C570387E426646BEF82EDFDE692589949171A9C7881B5D8CCC1FCF25389399547C3F51C5E8602BBC65B4A60AC2823DD6FDE5634A18593217862612C69CF7A4C9404A54061885224580E1A3E25CA2F0E1B9E28A3313DD6CDC5E1C4D047414F93AC0F2BF0CF7464C664B793884B7059F205C8E4E5D7E4368D0A01B828FC97D992C038CC394BBC794793997993F047D72F92A89CF2C3B714D38CEABFF0301F1175A40970610C78865EC20162706CAE3E424D86395F5B18BFBADFFB45E65181F19CD56D7E20046548200E4F974BC586E61BB0F13D78C7BFDA7B769E0829B99D83CBD98F12D0CFE674D1678C62117D92540401AC876D55D64BE54A9C46AB75771426EDBF8AE860F360F249D2D99EA9B148AA76DE2AF2C9913CD92AB1361CCD8D90F007A2D173529968A60C7CFF67F900ACCDEAA1AB1E6533855FA07050861E975F9727A8430F3B487CC551ABD3CD31AC913C08BAED10CFF1B643ECE7FCA1C26412C6E4379C1D62541F8DA91F30C0EA30342339BB83805804CCB9A6A88ED1A06CFF57B3F6F3F0284AC03729006DF36821EE76C0572B498C63B362387E6BA135838E5B7081FD67C117C78656532415FC97F1CF67B05B60E79A6E30DB0B43261E82B747707FD18B3D3352865AF4B33E5EF78B74B9463E52FB4B8EBCE7DC7D22F 38220191121110820 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C75814AB7
38320190524112900 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA874126A29AB 38320191121112452 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C759A62B3
38420190525131506 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87423F2A92B 38420191122050747 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C7E3D2D43
38520190526001201 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8742B40BBE7 38520191122111758 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C8060C9F3
38620190526014333 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8742C374D4F 38620191122234859 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAF157FE93
38720190526130857 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87433C8A94B 38720191123201736 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAFCEA8A33
38820190527020602 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8743C33C0AB 38820191124005345 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAFF68AA23
38920190527152902 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87444CFEC17 38920191124051934 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB01DD44F3
39020190527233208 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87449F3E5EB 39020191124175034 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB08BB417B
39120190528023632 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8744BE03913 39120191124192622 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB0982C193
39220190528054207 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8744DCB4EE3 39220191124193739 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB099260CF
39320190529055546 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8745CDA1163 39320191126025656 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB17A0CF23
39420190529150702 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA874628F4F13 39420191126161223 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1EB9E26B
39520190529225135 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA874674DCFB7 39520191126172830 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1F5ED407
39620190530003835 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8746857824B 39620191126180617 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1FAB6403
39720190530025644 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87469BAEC13 39720191127080548 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB2553EA77
39820190530124124 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8746FA3C743 39820191127104644 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB2687A623
39920190531095523 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8747BD0C137 39920191128121203 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB33239063
40020190531151758 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8747EF30573 40020191128204858 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB378CE753
40120190531200613 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87481BBAEB3 40120191128233841 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB38F8E4F7
40220190531220436 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA87482DFCFEB 40220191129040635 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3A6C67AB
40320190603194754 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8748A8D6A3B 40320191129112243 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3C63FFFB
40420190603211522 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8748B643883 40420191129184106 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3F9FFF83
40520190603221036 2 6 100 8191 5 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8748BE5C9AF 40520191129203059 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4088D083
40620190604030038 2 6 100 8191 2 F122963CFEE6139B56681827DC42F5A3E93AB62CB5E7052D5CEBDA60FE7FA3C7FACD12B72B38A1D609BE215CAD2B82637CA2D651119887DFBF697D6330C983B8BB1C00C8015762672AEFEB3EF5A24A16747F9181C752A0E584F123B163EF002C7D5D0C7A0A6EE9C97591CF767147C484586D704CE9D33FAB0D424DE0CB3C41980798B202D90F2003F9709437FCDBE62DB3B9316C65C3F924BD69847170A8753BDEC24925D5ACDC5227BA7ACB3145E9D0DAB5593586A2CE07C1D3D7E54437977FA8877361FC1A6FFC90CFC91DC9D674FF4F60F2643647DC14E3B2F37DC28F453A7770C89F47A4CA673F74664B24E831D647594D520925AE724E541ED1B24EFE5EF00AA65B1E74D780156D86753688937B586C5417BCBE7977E9424D7449D07525D948C489AF07400E4692244A94D5E6B328A17DF8D5CD19230CD2A1F898639E196C45D322946B886A2157A7B24AC3B144FA6867062CB194C6B3740C34AE015BB88B8005E194316DEB0B8FFA14CE48967ED3C947398DD943BE43112F3F83F5C69E2DC204D0406DCFF7E133477FB81ECC7204E369443606D9D22D634BA93AAC4888C8B1E1D14FE67E1C430C03A4FF3A3B9768B0AD7F2FF9AE53CADBC78251B6382C81B36793787BF3CCAD43BC2909534C1F91FFF514CC9A9EC8A512316BC40BCDD4F431CF5FC2D69A2FEB2C00A137BF7C9D4F7A7C2AF7CD24602650ABC352E26358BE02E3D20CD107D1DEB6421B3F017B40BA2F343FD4660E99C3751983328A78D4B9192C24C74CCE5DD649ABE2FED5E3321C0C0ED9A843361C725D89AF0A62F1801360048B25E70FBD17B5B419E8E6C4B3BC568367C294B3243FFF3671DCA209453C41954BB8389300B4609C8519BA17786D5414711019F66A5CB10194929D5522109DF156E23B683A1F5ADD128392CC4B4F2CCFD5DEC1C8B2AE0E47C16E66BBD95CE323D8E6045C7CCD3952849FE86DE5A357A7FADDBC6A68D16E4700E90EF7E0A7E9A3FC009BA4A4F75137DC07AFB4BB0AD6D8A1A6B70B7BC2E1C0AD2AEC6DB21A2D31389F1102F81A2ADC85B630544CE4A79AEE55D42F5006F5369390376CF6D5AA060007EB489625D50B57C154C9D68D0DF431C890C7C425B5C16C0BCCFED4D3DF72EDCF449F007621427D04222C7E1756F0868BF29EAB8D71D73C17533A8765D8471744F5F7F0CE0A6939FC48EB0E705677EAF0A841975444787500CE24B632F0F8F96327FA95E4E3A2B7832807CB501195D1D3FDFFB58C359DA9892E601E9B3A2245726C61AA351B89AA150CC90ED96A2C6521F3D6AB5E4C0957F9A5DD63E734308489EA4B581C747404AF9782937434D691AF43A6F99A39B38E3DCDFA03A8EF3D01FFBEF4733E091AC57521759FD69FC3C8F4824C4F1A9C3C3582B8DF44771287E6870B6391D8E466EC44884C8ADC9276B6C1FC745F769BA8748EB8B233 40620191129215650 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4136E127
40720191130171835 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4AD7F26B
40820191130173733 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4AF317A3
40920191201235534 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB56C3B47B
41020191202030655 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB58188EDB
41120191202063054 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB59B534A3
41220191203125547 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB685D06E7
41320191203140741 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB68EF9D27
41420191203185147 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB6B3D290F
41520191203211916 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB6C6CE027
diff --git a/moduli.0 b/moduli.0
index 6f1a50e44..d17ae428d 100644
--- a/moduli.0
+++ b/moduli.0
@@ -71,4 +71,4 @@ STANDARDS
71 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006, 71 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006,
72 2006. 72 2006.
73 73
74OpenBSD 6.6 September 26, 2012 OpenBSD 6.6 74OpenBSD 6.7 September 26, 2012 OpenBSD 6.7
diff --git a/monitor.c b/monitor.c
index 947fdfadc..8002aca86 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: monitor.c,v 1.208 2020/02/06 22:30:54 naddy Exp $ */ 1/* $OpenBSD: monitor.c,v 1.210 2020/03/13 03:17:07 djm Exp $ */
2/* 2/*
3 * Copyright 2002 Niels Provos <provos@citi.umich.edu> 3 * Copyright 2002 Niels Provos <provos@citi.umich.edu>
4 * Copyright 2002 Markus Friedl <markus@openbsd.org> 4 * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -939,8 +939,7 @@ mm_answer_authpassword(struct ssh *ssh, int sock, struct sshbuf *m)
939 /* Only authenticate if the context is valid */ 939 /* Only authenticate if the context is valid */
940 authenticated = options.password_authentication && 940 authenticated = options.password_authentication &&
941 auth_password(ssh, passwd); 941 auth_password(ssh, passwd);
942 explicit_bzero(passwd, plen); 942 freezero(passwd, plen);
943 free(passwd);
944 943
945 sshbuf_reset(m); 944 sshbuf_reset(m);
946 if ((r = sshbuf_put_u32(m, authenticated)) != 0) 945 if ((r = sshbuf_put_u32(m, authenticated)) != 0)
@@ -1780,7 +1779,7 @@ monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor)
1780 } 1779 }
1781} 1780}
1782 1781
1783/* This function requries careful sanity checking */ 1782/* This function requires careful sanity checking */
1784 1783
1785void 1784void
1786mm_get_keystate(struct ssh *ssh, struct monitor *pmonitor) 1785mm_get_keystate(struct ssh *ssh, struct monitor *pmonitor)
diff --git a/mux.c b/mux.c
index 5efc849c4..fb31ad448 100644
--- a/mux.c
+++ b/mux.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: mux.c,v 1.81 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: mux.c,v 1.82 2020/04/30 17:12:20 markus Exp $ */
2/* 2/*
3 * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> 3 * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org>
4 * 4 *
@@ -1987,6 +1987,7 @@ mux_client_request_session(int fd)
1987 case MUX_S_SESSION_OPENED: 1987 case MUX_S_SESSION_OPENED:
1988 if ((r = sshbuf_get_u32(m, &sid)) != 0) 1988 if ((r = sshbuf_get_u32(m, &sid)) != 0)
1989 fatal("%s: decode ID: %s", __func__, ssh_err(r)); 1989 fatal("%s: decode ID: %s", __func__, ssh_err(r));
1990 debug("%s: master session id: %u", __func__, sid);
1990 break; 1991 break;
1991 case MUX_S_PERMISSION_DENIED: 1992 case MUX_S_PERMISSION_DENIED:
1992 if ((r = sshbuf_get_cstring(m, &e, NULL)) != 0) 1993 if ((r = sshbuf_get_cstring(m, &e, NULL)) != 0)
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c
index 829e0c075..059b6d3b3 100644
--- a/openbsd-compat/bsd-misc.c
+++ b/openbsd-compat/bsd-misc.c
@@ -129,7 +129,9 @@ utimensat(int fd, const char *path, const struct timespec times[2],
129 int flag) 129 int flag)
130{ 130{
131 struct timeval tv[2]; 131 struct timeval tv[2];
132# ifdef HAVE_FUTIMES
132 int ret, oflags = O_WRONLY; 133 int ret, oflags = O_WRONLY;
134# endif
133 135
134 tv[0].tv_sec = times[0].tv_sec; 136 tv[0].tv_sec = times[0].tv_sec;
135 tv[0].tv_usec = times[0].tv_nsec / 1000; 137 tv[0].tv_usec = times[0].tv_nsec / 1000;
diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c
index f27b9d808..f041121fd 100644
--- a/openbsd-compat/bsd-snprintf.c
+++ b/openbsd-compat/bsd-snprintf.c
@@ -73,7 +73,7 @@
73 * Fix incorrect zpadlen handling in fmtfp. 73 * Fix incorrect zpadlen handling in fmtfp.
74 * Thanks to Ollie Oldham <ollie.oldham@metro-optix.com> for spotting it. 74 * Thanks to Ollie Oldham <ollie.oldham@metro-optix.com> for spotting it.
75 * few mods to make it easier to compile the tests. 75 * few mods to make it easier to compile the tests.
76 * addedd the "Ollie" test to the floating point ones. 76 * added the "Ollie" test to the floating point ones.
77 * 77 *
78 * Martin Pool (mbp@samba.org) April 2003 78 * Martin Pool (mbp@samba.org) April 2003
79 * Remove NO_CONFIG_H so that the test case can be built within a source 79 * Remove NO_CONFIG_H so that the test case can be built within a source
diff --git a/openbsd-compat/fnmatch.c b/openbsd-compat/fnmatch.c
index da841d203..b5641a091 100644
--- a/openbsd-compat/fnmatch.c
+++ b/openbsd-compat/fnmatch.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: fnmatch.c,v 1.21 2016/03/01 20:29:03 millert Exp $ */ 1/* $OpenBSD: fnmatch.c,v 1.22 2020/03/13 03:25:45 djm Exp $ */
2 2
3/* Copyright (c) 2011, VMware, Inc. 3/* Copyright (c) 2011, VMware, Inc.
4 * All rights reserved. 4 * All rights reserved.
@@ -294,7 +294,7 @@ int fnmatch(const char *pattern, const char *string, int flags)
294 const int leading_dir = !!(flags & FNM_LEADING_DIR); 294 const int leading_dir = !!(flags & FNM_LEADING_DIR);
295 const char *dummyptr, *matchptr, *strendseg; 295 const char *dummyptr, *matchptr, *strendseg;
296 int wild; 296 int wild;
297 /* For '*' wild processing only; surpress 'used before initialization' 297 /* For '*' wild processing only; suppress 'used before initialization'
298 * warnings with dummy initialization values; 298 * warnings with dummy initialization values;
299 */ 299 */
300 const char *strstartseg = NULL; 300 const char *strstartseg = NULL;
diff --git a/openbsd-compat/glob.c b/openbsd-compat/glob.c
index 1e346a8f6..e89151789 100644
--- a/openbsd-compat/glob.c
+++ b/openbsd-compat/glob.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: glob.c,v 1.48 2019/02/04 16:45:40 millert Exp $ */ 1/* $OpenBSD: glob.c,v 1.49 2020/04/21 08:25:22 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 1989, 1993 3 * Copyright (c) 1989, 1993
4 * The Regents of the University of California. All rights reserved. 4 * The Regents of the University of California. All rights reserved.
@@ -83,6 +83,10 @@
83 83
84#include "charclass.h" 84#include "charclass.h"
85 85
86#ifdef TILDE
87# undef TILDE
88#endif
89
86#define DOLLAR '$' 90#define DOLLAR '$'
87#define DOT '.' 91#define DOT '.'
88#define EOS '\0' 92#define EOS '\0'
@@ -829,7 +833,7 @@ globextend(const Char *path, glob_t *pglob, struct glob_lim *limitp,
829 if (pglob->gl_pathv == NULL && pglob->gl_offs > 0) { 833 if (pglob->gl_pathv == NULL && pglob->gl_offs > 0) {
830 /* first time around -- clear initial gl_offs items */ 834 /* first time around -- clear initial gl_offs items */
831 pathv += pglob->gl_offs; 835 pathv += pglob->gl_offs;
832 for (i = pglob->gl_offs; --i >= 0; ) 836 for (i = pglob->gl_offs; i > 0; i--)
833 *--pathv = NULL; 837 *--pathv = NULL;
834 } 838 }
835 pglob->gl_pathv = pathv; 839 pglob->gl_pathv = pathv;
@@ -841,7 +845,7 @@ globextend(const Char *path, glob_t *pglob, struct glob_lim *limitp,
841 if (pglob->gl_statv == NULL && pglob->gl_offs > 0) { 845 if (pglob->gl_statv == NULL && pglob->gl_offs > 0) {
842 /* first time around -- clear initial gl_offs items */ 846 /* first time around -- clear initial gl_offs items */
843 statv += pglob->gl_offs; 847 statv += pglob->gl_offs;
844 for (i = pglob->gl_offs; --i >= 0; ) 848 for (i = pglob->gl_offs; i > 0; i--)
845 *--statv = NULL; 849 *--statv = NULL;
846 } 850 }
847 pglob->gl_statv = statv; 851 pglob->gl_statv = statv;
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h
index 4a16702ef..e5fd6f5bb 100644
--- a/openbsd-compat/openbsd-compat.h
+++ b/openbsd-compat/openbsd-compat.h
@@ -197,7 +197,7 @@ int writev(int, struct iovec *, int);
197#include "bsd-waitpid.h" 197#include "bsd-waitpid.h"
198#include "bsd-poll.h" 198#include "bsd-poll.h"
199 199
200#ifndef HAVE_GETPEEREID 200#if defined(HAVE_DECL_GETPEEREID) && HAVE_DECL_GETPEEREID == 0
201int getpeereid(int , uid_t *, gid_t *); 201int getpeereid(int , uid_t *, gid_t *);
202#endif 202#endif
203 203
diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h
index abdcb8763..388ae8aa0 100644
--- a/openbsd-compat/openssl-compat.h
+++ b/openbsd-compat/openssl-compat.h
@@ -62,6 +62,12 @@ void ssh_libcrypto_init(void);
62# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 62# define OPENSSL_DSA_MAX_MODULUS_BITS 10000
63#endif 63#endif
64 64
65#ifdef LIBRESSL_VERSION_NUMBER
66# if LIBRESSL_VERSION_NUMBER < 0x3010000fL
67# define HAVE_BROKEN_CHACHA20
68# endif
69#endif
70
65#ifndef OPENSSL_HAVE_EVPCTR 71#ifndef OPENSSL_HAVE_EVPCTR
66# define EVP_aes_128_ctr evp_aes_128_ctr 72# define EVP_aes_128_ctr evp_aes_128_ctr
67# define EVP_aes_192_ctr evp_aes_128_ctr 73# define EVP_aes_192_ctr evp_aes_128_ctr
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c
index e1ad3f117..e0d3eba51 100644
--- a/openbsd-compat/port-aix.c
+++ b/openbsd-compat/port-aix.c
@@ -383,12 +383,13 @@ aix_restoreauthdb(void)
383 383
384# ifdef USE_AIX_KRB_NAME 384# ifdef USE_AIX_KRB_NAME
385/* 385/*
386 * aix_krb5_get_principal_name: returns the user's kerberos client principal name if 386 * aix_krb5_get_principal_name: returns the user's kerberos client principal
387 * configured, otherwise NULL. Caller must free returned string. 387 * name if configured, otherwise NULL. Caller must free returned string.
388 */ 388 */
389char * 389char *
390aix_krb5_get_principal_name(char *pw_name) 390aix_krb5_get_principal_name(const char *const_pw_name)
391{ 391{
392 char *pw_name = (char *)const_pw_name;
392 char *authname = NULL, *authdomain = NULL, *principal = NULL; 393 char *authname = NULL, *authdomain = NULL, *principal = NULL;
393 394
394 setuserdb(S_READ); 395 setuserdb(S_READ);
@@ -398,7 +399,8 @@ aix_krb5_get_principal_name(char *pw_name)
398 debug("AIX getuserattr S_AUTHNAME: %s", strerror(errno)); 399 debug("AIX getuserattr S_AUTHNAME: %s", strerror(errno));
399 400
400 if (authdomain != NULL) 401 if (authdomain != NULL)
401 xasprintf(&principal, "%s@%s", authname ? authname : pw_name, authdomain); 402 xasprintf(&principal, "%s@%s", authname ? authname : pw_name,
403 authdomain);
402 else if (authname != NULL) 404 else if (authname != NULL)
403 principal = xstrdup(authname); 405 principal = xstrdup(authname);
404 enduserdb(); 406 enduserdb();
diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h
index 904de3096..0ee366140 100644
--- a/openbsd-compat/port-aix.h
+++ b/openbsd-compat/port-aix.h
@@ -97,7 +97,7 @@ char *sys_auth_get_lastlogin_msg(const char *, uid_t);
97# define CUSTOM_FAILED_LOGIN 1 97# define CUSTOM_FAILED_LOGIN 1
98# if defined(S_AUTHDOMAIN) && defined (S_AUTHNAME) 98# if defined(S_AUTHDOMAIN) && defined (S_AUTHNAME)
99# define USE_AIX_KRB_NAME 99# define USE_AIX_KRB_NAME
100char *aix_krb5_get_principal_name(char *); 100char *aix_krb5_get_principal_name(const char *);
101# endif 101# endif
102#endif 102#endif
103 103
diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c
index 3e6e07670..56f1d2c1e 100644
--- a/openbsd-compat/port-linux.c
+++ b/openbsd-compat/port-linux.c
@@ -200,7 +200,7 @@ ssh_selinux_change_context(const char *newname)
200 } 200 }
201 if ((cx = index(oldctx, ':')) == NULL || (cx = index(cx + 1, ':')) == 201 if ((cx = index(oldctx, ':')) == NULL || (cx = index(cx + 1, ':')) ==
202 NULL) { 202 NULL) {
203 logit ("%s: unparseable context %s", __func__, oldctx); 203 logit ("%s: unparsable context %s", __func__, oldctx);
204 return; 204 return;
205 } 205 }
206 206
diff --git a/packet.c b/packet.c
index 6d3e9172d..e7abb3416 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: packet.c,v 1.290 2020/01/30 07:20:05 djm Exp $ */ 1/* $OpenBSD: packet.c,v 1.291 2020/03/06 18:20:44 markus Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1365,7 +1365,7 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
1365 } 1365 }
1366 /* Wait for some data to arrive. */ 1366 /* Wait for some data to arrive. */
1367 for (;;) { 1367 for (;;) {
1368 if (state->packet_timeout_ms != -1) { 1368 if (state->packet_timeout_ms > 0) {
1369 ms_to_timeval(&timeout, ms_remain); 1369 ms_to_timeval(&timeout, ms_remain);
1370 monotime_tv(&start); 1370 monotime_tv(&start);
1371 } 1371 }
@@ -1377,7 +1377,7 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p)
1377 r = SSH_ERR_SYSTEM_ERROR; 1377 r = SSH_ERR_SYSTEM_ERROR;
1378 goto out; 1378 goto out;
1379 } 1379 }
1380 if (state->packet_timeout_ms == -1) 1380 if (state->packet_timeout_ms <= 0)
1381 continue; 1381 continue;
1382 ms_subtract_diff(&start, &ms_remain); 1382 ms_subtract_diff(&start, &ms_remain);
1383 if (ms_remain <= 0) { 1383 if (ms_remain <= 0) {
@@ -2014,7 +2014,7 @@ ssh_packet_write_wait(struct ssh *ssh)
2014 timeoutp = &timeout; 2014 timeoutp = &timeout;
2015 } 2015 }
2016 for (;;) { 2016 for (;;) {
2017 if (state->packet_timeout_ms != -1) { 2017 if (state->packet_timeout_ms > 0) {
2018 ms_to_timeval(&timeout, ms_remain); 2018 ms_to_timeval(&timeout, ms_remain);
2019 monotime_tv(&start); 2019 monotime_tv(&start);
2020 } 2020 }
@@ -2024,7 +2024,7 @@ ssh_packet_write_wait(struct ssh *ssh)
2024 if (errno != EAGAIN && errno != EINTR && 2024 if (errno != EAGAIN && errno != EINTR &&
2025 errno != EWOULDBLOCK) 2025 errno != EWOULDBLOCK)
2026 break; 2026 break;
2027 if (state->packet_timeout_ms == -1) 2027 if (state->packet_timeout_ms <= 0)
2028 continue; 2028 continue;
2029 ms_subtract_diff(&start, &ms_remain); 2029 ms_subtract_diff(&start, &ms_remain);
2030 if (ms_remain <= 0) { 2030 if (ms_remain <= 0) {
diff --git a/packet.h b/packet.h
index 8ccfd2e05..c2544bd96 100644
--- a/packet.h
+++ b/packet.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: packet.h,v 1.91 2019/09/06 05:23:55 djm Exp $ */ 1/* $OpenBSD: packet.h,v 1.92 2020/03/06 18:11:10 markus Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -177,7 +177,8 @@ int sshpkt_disconnect(struct ssh *, const char *fmt, ...)
177 __attribute__((format(printf, 2, 3))); 177 __attribute__((format(printf, 2, 3)));
178int sshpkt_add_padding(struct ssh *, u_char); 178int sshpkt_add_padding(struct ssh *, u_char);
179void sshpkt_fatal(struct ssh *ssh, int r, const char *fmt, ...) 179void sshpkt_fatal(struct ssh *ssh, int r, const char *fmt, ...)
180 __attribute__((format(printf, 3, 4))); 180 __attribute__((format(printf, 3, 4)))
181 __attribute__((noreturn));
181int sshpkt_msg_ignore(struct ssh *, u_int); 182int sshpkt_msg_ignore(struct ssh *, u_int);
182 183
183int sshpkt_put(struct ssh *ssh, const void *v, size_t len); 184int sshpkt_put(struct ssh *ssh, const void *v, size_t len);
diff --git a/readconf.c b/readconf.c
index 1b9494d7c..9a646dcaa 100644
--- a/readconf.c
+++ b/readconf.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: readconf.c,v 1.326 2020/02/06 22:46:31 djm Exp $ */ 1/* $OpenBSD: readconf.c,v 1.329 2020/04/24 03:33:21 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -343,6 +343,24 @@ kex_default_pk_alg(void)
343 return kex_default_pk_alg_filtered; 343 return kex_default_pk_alg_filtered;
344} 344}
345 345
346char *
347ssh_connection_hash(const char *thishost, const char *host, const char *portstr,
348 const char *user)
349{
350 struct ssh_digest_ctx *md;
351 u_char conn_hash[SSH_DIGEST_MAX_LENGTH];
352
353 if ((md = ssh_digest_start(SSH_DIGEST_SHA1)) == NULL ||
354 ssh_digest_update(md, thishost, strlen(thishost)) < 0 ||
355 ssh_digest_update(md, host, strlen(host)) < 0 ||
356 ssh_digest_update(md, portstr, strlen(portstr)) < 0 ||
357 ssh_digest_update(md, user, strlen(user)) < 0 ||
358 ssh_digest_final(md, conn_hash, sizeof(conn_hash)) < 0)
359 fatal("%s: mux digest failed", __func__);
360 ssh_digest_free(md);
361 return tohex(conn_hash, ssh_digest_bytes(SSH_DIGEST_SHA1));
362}
363
346/* 364/*
347 * Adds a local TCP/IP port forward to options. Never returns if there is an 365 * Adds a local TCP/IP port forward to options. Never returns if there is an
348 * error. 366 * error.
@@ -665,6 +683,8 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw,
665 if (r == (negate ? 1 : 0)) 683 if (r == (negate ? 1 : 0))
666 this_result = result = 0; 684 this_result = result = 0;
667 } else if (strcasecmp(attrib, "exec") == 0) { 685 } else if (strcasecmp(attrib, "exec") == 0) {
686 char *conn_hash_hex;
687
668 if (gethostname(thishost, sizeof(thishost)) == -1) 688 if (gethostname(thishost, sizeof(thishost)) == -1)
669 fatal("gethostname: %s", strerror(errno)); 689 fatal("gethostname: %s", strerror(errno));
670 strlcpy(shorthost, thishost, sizeof(shorthost)); 690 strlcpy(shorthost, thishost, sizeof(shorthost));
@@ -672,8 +692,11 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw,
672 snprintf(portstr, sizeof(portstr), "%d", port); 692 snprintf(portstr, sizeof(portstr), "%d", port);
673 snprintf(uidstr, sizeof(uidstr), "%llu", 693 snprintf(uidstr, sizeof(uidstr), "%llu",
674 (unsigned long long)pw->pw_uid); 694 (unsigned long long)pw->pw_uid);
695 conn_hash_hex = ssh_connection_hash(thishost, host,
696 portstr, ruser);
675 697
676 cmd = percent_expand(arg, 698 cmd = percent_expand(arg,
699 "C", conn_hash_hex,
677 "L", shorthost, 700 "L", shorthost,
678 "d", pw->pw_dir, 701 "d", pw->pw_dir,
679 "h", host, 702 "h", host,
@@ -684,6 +707,7 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw,
684 "u", pw->pw_name, 707 "u", pw->pw_name,
685 "i", uidstr, 708 "i", uidstr,
686 (char *)NULL); 709 (char *)NULL);
710 free(conn_hash_hex);
687 if (result != 1) { 711 if (result != 1) {
688 /* skip execution if prior predicate failed */ 712 /* skip execution if prior predicate failed */
689 debug3("%.200s line %d: skipped exec " 713 debug3("%.200s line %d: skipped exec "
@@ -1202,7 +1226,7 @@ parse_char_array:
1202 while ((arg = strdelim(&s)) != NULL && *arg != '\0') { 1226 while ((arg = strdelim(&s)) != NULL && *arg != '\0') {
1203 if ((*uintptr) >= max_entries) 1227 if ((*uintptr) >= max_entries)
1204 fatal("%s line %d: " 1228 fatal("%s line %d: "
1205 "too many authorized keys files.", 1229 "too many known hosts files.",
1206 filename, linenum); 1230 filename, linenum);
1207 cpptr[(*uintptr)++] = xstrdup(arg); 1231 cpptr[(*uintptr)++] = xstrdup(arg);
1208 } 1232 }
diff --git a/readconf.h b/readconf.h
index a8a8870d7..c405b837f 100644
--- a/readconf.h
+++ b/readconf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: readconf.h,v 1.132 2020/01/23 02:46:49 dtucker Exp $ */ 1/* $OpenBSD: readconf.h,v 1.133 2020/04/03 02:27:12 dtucker Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -206,6 +206,8 @@ typedef struct {
206#define SSH_STRICT_HOSTKEY_ASK 3 206#define SSH_STRICT_HOSTKEY_ASK 3
207 207
208const char *kex_default_pk_alg(void); 208const char *kex_default_pk_alg(void);
209char *ssh_connection_hash(const char *thishost, const char *host,
210 const char *portstr, const char *user);
209void initialize_options(Options *); 211void initialize_options(Options *);
210void fill_default_options(Options *); 212void fill_default_options(Options *);
211void fill_default_options_for_canonicalization(Options *); 213void fill_default_options_for_canonicalization(Options *);
diff --git a/regress/Makefile b/regress/Makefile
index 01e257a94..53a50ffca 100644
--- a/regress/Makefile
+++ b/regress/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.106 2020/01/31 23:25:08 djm Exp $ 1# $OpenBSD: Makefile,v 1.108 2020/04/20 04:44:47 djm Exp $
2 2
3tests: prep file-tests t-exec unit 3tests: prep file-tests t-exec unit
4 4
@@ -66,6 +66,7 @@ LTESTS= connect \
66 cfgparse \ 66 cfgparse \
67 cfgmatch \ 67 cfgmatch \
68 cfgmatchlisten \ 68 cfgmatchlisten \
69 percent \
69 addrmatch \ 70 addrmatch \
70 localcommand \ 71 localcommand \
71 forcecommand \ 72 forcecommand \
@@ -90,8 +91,8 @@ LTESTS= connect \
90 servcfginclude \ 91 servcfginclude \
91 allow-deny-users \ 92 allow-deny-users \
92 authinfo \ 93 authinfo \
93 sshsig 94 sshsig \
94 95 keygen-comment
95 96
96 97
97INTEROP_TESTS= putty-transfer putty-ciphers putty-kex conch-ciphers 98INTEROP_TESTS= putty-transfer putty-ciphers putty-kex conch-ciphers
diff --git a/regress/addrmatch.sh b/regress/addrmatch.sh
index 1584bd405..e7d29c3f3 100644
--- a/regress/addrmatch.sh
+++ b/regress/addrmatch.sh
@@ -1,4 +1,4 @@
1# $OpenBSD: addrmatch.sh,v 1.4 2012/05/13 01:42:32 dtucker Exp $ 1# $OpenBSD: addrmatch.sh,v 1.5 2020/03/13 03:18:45 djm Exp $
2# Placed in the Public Domain. 2# Placed in the Public Domain.
3 3
4tid="address match" 4tid="address match"
@@ -43,7 +43,7 @@ run_trial user 19.0.0.1 somehost 1.2.3.4 5678 match4 "localport"
43 43
44if test "$TEST_SSH_IPV6" != "no"; then 44if test "$TEST_SSH_IPV6" != "no"; then
45run_trial user ::1 somehost.example.com ::2 1234 match2 "bare IP6 address" 45run_trial user ::1 somehost.example.com ::2 1234 match2 "bare IP6 address"
46run_trial user ::2 somehost.exaple.com ::2 1234 nomatch "deny IPv6" 46run_trial user ::2 somehost.example.com ::2 1234 nomatch "deny IPv6"
47run_trial user ::3 somehost ::2 1234 nomatch "IP6 negated" 47run_trial user ::3 somehost ::2 1234 nomatch "IP6 negated"
48run_trial user ::4 somehost ::2 1234 nomatch "IP6 no match" 48run_trial user ::4 somehost ::2 1234 nomatch "IP6 no match"
49run_trial user 2000::1 somehost ::2 1234 match2 "IP6 network" 49run_trial user 2000::1 somehost ::2 1234 match2 "IP6 network"
diff --git a/regress/key-options.sh b/regress/key-options.sh
index 112c9bd8e..097f46eba 100644
--- a/regress/key-options.sh
+++ b/regress/key-options.sh
@@ -7,6 +7,12 @@ origkeys="$OBJ/authkeys_orig"
7authkeys="$OBJ/authorized_keys_${USER}" 7authkeys="$OBJ/authorized_keys_${USER}"
8cp $authkeys $origkeys 8cp $authkeys $origkeys
9 9
10# Allocating ptys can require privileges on some platforms.
11skip_pty=""
12if ! config_defined HAVE_OPENPTY && [ "x$SUDO" == "x" ]; then
13 skip_pty="no openpty(3) and SUDO not set"
14fi
15
10# Test command= forced command 16# Test command= forced command
11for c in 'command="echo bar"' 'no-pty,command="echo bar"'; do 17for c in 'command="echo bar"' 'no-pty,command="echo bar"'; do
12 sed "s/.*/$c &/" $origkeys >$authkeys 18 sed "s/.*/$c &/" $origkeys >$authkeys
@@ -27,7 +33,7 @@ expect_pty_succeed() {
27 rm -f $OBJ/data 33 rm -f $OBJ/data
28 sed "s/.*/$opts &/" $origkeys >$authkeys 34 sed "s/.*/$opts &/" $origkeys >$authkeys
29 verbose "key option pty $which" 35 verbose "key option pty $which"
30 config_defined HAVE_OPENPTY || verbose "skipped for no openpty(3)" 36 [ "x$skip_pty" != "x" ] && verbose "skipped because $skip_pty" && return
31 ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0" 37 ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0"
32 if [ $? -ne 0 ] ; then 38 if [ $? -ne 0 ] ; then
33 fail "key option failed $which" 39 fail "key option failed $which"
@@ -45,7 +51,7 @@ expect_pty_fail() {
45 rm -f $OBJ/data 51 rm -f $OBJ/data
46 sed "s/.*/$opts &/" $origkeys >$authkeys 52 sed "s/.*/$opts &/" $origkeys >$authkeys
47 verbose "key option pty $which" 53 verbose "key option pty $which"
48 config_defined HAVE_OPENPTY || verbose "skipped for no openpty(3)" 54 [ "x$skip_pty" != "x" ] && verbose "skipped because $skip_pty" && return
49 ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0" 55 ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0"
50 if [ $? -eq 0 ]; then 56 if [ $? -eq 0 ]; then
51 r=`cat $OBJ/data` 57 r=`cat $OBJ/data`
diff --git a/regress/keygen-comment.sh b/regress/keygen-comment.sh
new file mode 100644
index 000000000..af571d390
--- /dev/null
+++ b/regress/keygen-comment.sh
@@ -0,0 +1,52 @@
1#    Placed in the Public Domain.
2
3tid="Comment extraction from private key"
4
5S1="secret1"
6
7check_fingerprint () {
8 file="$1"
9 comment="$2"
10 trace "fingerprinting $file"
11 if ! ${SSHKEYGEN} -l -E sha256 -f $file > $OBJ/$t-fgp ; then
12 fail "ssh-keygen -l failed for $t-key"
13 fi
14 if ! egrep "^([0-9]+) SHA256:(.){43} ${comment} \(.*\)\$" \
15 $OBJ/$t-fgp >/dev/null 2>&1 ; then
16 fail "comment is not correctly recovered for $t-key"
17 fi
18 rm -f $OBJ/$t-fgp
19}
20
21for fmt in '' RFC4716 PKCS8 PEM; do
22 for t in $SSH_KEYTYPES; do
23 trace "generating $t key in '$fmt' format"
24 rm -f $OBJ/$t-key*
25 oldfmt=""
26 case "$fmt" in
27 PKCS8|PEM) oldfmt=1 ;;
28 esac
29 # Some key types like ssh-ed25519 and *@openssh.com are never
30 # stored in old formats.
31 case "$t" in
32 ssh-ed25519|*openssh.com) test -z "$oldfmt" || continue ;;
33 esac
34 comment="foo bar"
35 fmtarg=""
36 test -z "$fmt" || fmtarg="-m $fmt"
37 ${SSHKEYGEN} $fmtarg -N '' -C "${comment}" \
38 -t $t -f $OBJ/$t-key >/dev/null 2>&1 || \
39 fatal "keygen of $t in format $fmt failed"
40 check_fingerprint $OBJ/$t-key "${comment}"
41 check_fingerprint $OBJ/$t-key.pub "${comment}"
42 # Output fingerprint using only private file
43 trace "fingerprinting $t key using private key file"
44 rm -f $OBJ/$t-key.pub
45 if [ ! -z "$oldfmt" ] ; then
46 # Comment cannot be recovered from old format keys.
47 comment="no comment"
48 fi
49 check_fingerprint $OBJ/$t-key "${comment}"
50 rm -f $OBJ/$t-key*
51 done
52done
diff --git a/regress/misc/kexfuzz/Makefile b/regress/misc/kexfuzz/Makefile
index 9eb86931c..ede5e2fb4 100644
--- a/regress/misc/kexfuzz/Makefile
+++ b/regress/misc/kexfuzz/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.7 2020/01/26 00:09:50 djm Exp $ 1# $OpenBSD: Makefile,v 1.8 2020/04/03 04:07:48 djm Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4.include <bsd.obj.mk> 4.include <bsd.obj.mk>
@@ -19,7 +19,7 @@ SRCS+=ssh-ecdsa.c ssh-ed25519.c mac.c umac.c umac128.c hmac.c misc.c
19SRCS+=ssherr.c uidswap.c cleanup.c xmalloc.c match.c krl.c fatal.c 19SRCS+=ssherr.c uidswap.c cleanup.c xmalloc.c match.c krl.c fatal.c
20SRCS+=addrmatch.c bitmap.c packet.c dispatch.c canohost.c ssh_api.c 20SRCS+=addrmatch.c bitmap.c packet.c dispatch.c canohost.c ssh_api.c
21SRCS+=compat.c ed25519.c hash.c ge25519.c fe25519.c sc25519.c verify.c 21SRCS+=compat.c ed25519.c hash.c ge25519.c fe25519.c sc25519.c verify.c
22SRCS+=cipher-chachapoly.c chacha.c poly1305.c 22SRCS+=cipher-chachapoly.c chacha.c poly1305.c utf8.c
23SRCS+=sshbuf-io.c ssh-ecdsa-sk.c ssh-ed25519-sk.c msg.c ssh-sk-client.c 23SRCS+=sshbuf-io.c ssh-ecdsa-sk.c ssh-ed25519-sk.c msg.c ssh-sk-client.c
24 24
25SRCS+= kex.c 25SRCS+= kex.c
diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c
index dca158ded..f3acb2fb7 100644
--- a/regress/misc/sk-dummy/sk-dummy.c
+++ b/regress/misc/sk-dummy/sk-dummy.c
@@ -47,7 +47,7 @@
47 } while (0) 47 } while (0)
48#endif 48#endif
49 49
50#if SSH_SK_VERSION_MAJOR != 0x00040000 50#if SSH_SK_VERSION_MAJOR != 0x00050000
51# error SK API has changed, sk-dummy.c needs an update 51# error SK API has changed, sk-dummy.c needs an update
52#endif 52#endif
53 53
@@ -468,13 +468,15 @@ sig_ed25519(const uint8_t *message, size_t message_len,
468} 468}
469 469
470int 470int
471sk_sign(uint32_t alg, const uint8_t *message, size_t message_len, 471sk_sign(uint32_t alg, const uint8_t *data, size_t datalen,
472 const char *application, const uint8_t *key_handle, size_t key_handle_len, 472 const char *application, const uint8_t *key_handle, size_t key_handle_len,
473 uint8_t flags, const char *pin, struct sk_option **options, 473 uint8_t flags, const char *pin, struct sk_option **options,
474 struct sk_sign_response **sign_response) 474 struct sk_sign_response **sign_response)
475{ 475{
476 struct sk_sign_response *response = NULL; 476 struct sk_sign_response *response = NULL;
477 int ret = SSH_SK_ERR_GENERAL; 477 int ret = SSH_SK_ERR_GENERAL;
478 SHA256_CTX ctx;
479 uint8_t message[32];
478 480
479 if (sign_response == NULL) { 481 if (sign_response == NULL) {
480 skdebug(__func__, "sign_response == NULL"); 482 skdebug(__func__, "sign_response == NULL");
@@ -487,17 +489,20 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
487 skdebug(__func__, "calloc response failed"); 489 skdebug(__func__, "calloc response failed");
488 goto out; 490 goto out;
489 } 491 }
492 SHA256_Init(&ctx);
493 SHA256_Update(&ctx, data, datalen);
494 SHA256_Final(message, &ctx);
490 response->flags = flags; 495 response->flags = flags;
491 response->counter = 0x12345678; 496 response->counter = 0x12345678;
492 switch(alg) { 497 switch(alg) {
493 case SSH_SK_ECDSA: 498 case SSH_SK_ECDSA:
494 if (sig_ecdsa(message, message_len, application, 499 if (sig_ecdsa(message, sizeof(message), application,
495 response->counter, flags, key_handle, key_handle_len, 500 response->counter, flags, key_handle, key_handle_len,
496 response) != 0) 501 response) != 0)
497 goto out; 502 goto out;
498 break; 503 break;
499 case SSH_SK_ED25519: 504 case SSH_SK_ED25519:
500 if (sig_ed25519(message, message_len, application, 505 if (sig_ed25519(message, sizeof(message), application,
501 response->counter, flags, key_handle, key_handle_len, 506 response->counter, flags, key_handle, key_handle_len,
502 response) != 0) 507 response) != 0)
503 goto out; 508 goto out;
@@ -510,6 +515,7 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
510 response = NULL; 515 response = NULL;
511 ret = 0; 516 ret = 0;
512 out: 517 out:
518 explicit_bzero(message, sizeof(message));
513 if (response != NULL) { 519 if (response != NULL) {
514 free(response->sig_r); 520 free(response->sig_r);
515 free(response->sig_s); 521 free(response->sig_s);
diff --git a/regress/netcat.c b/regress/netcat.c
index 2d86818e2..fe94dd908 100644
--- a/regress/netcat.c
+++ b/regress/netcat.c
@@ -64,6 +64,9 @@
64#ifdef HAVE_ERR_H 64#ifdef HAVE_ERR_H
65# include <err.h> 65# include <err.h>
66#endif 66#endif
67#ifdef HAVE_SYS_BYTEORDER_H
68# include <sys/byteorder.h>
69#endif
67 70
68/* Telnet options from arpa/telnet.h */ 71/* Telnet options from arpa/telnet.h */
69#define IAC 255 72#define IAC 255
diff --git a/regress/percent.sh b/regress/percent.sh
new file mode 100644
index 000000000..2e891f693
--- /dev/null
+++ b/regress/percent.sh
@@ -0,0 +1,88 @@
1# $OpenBSD: percent.sh,v 1.6 2020/04/10 00:54:03 dtucker Exp $
2# Placed in the Public Domain.
3
4tid="percent expansions"
5
6if [ -x "/usr/xpg4/bin/id" ]; then
7 PATH=/usr/xpg4/bin:$PATH
8 export PATH
9fi
10
11USER=`id -u -n`
12USERID=`id -u`
13HOST=`hostname | cut -f1 -d.`
14HOSTNAME=`hostname`
15
16# Localcommand is evaluated after connection because %T is not available
17# until then. Because of this we use a different method of exercising it,
18# and we can't override the remote user otherwise authentication will fail.
19# We also have to explicitly enable it.
20echo "permitlocalcommand yes" >> $OBJ/ssh_proxy
21
22trial()
23{
24 opt="$1"; arg="$2"; expect="$3"
25
26 trace "test $opt=$arg $expect"
27 rm -f $OBJ/actual
28 case "$opt" in
29 localcommand)
30 ${SSH} -F $OBJ/ssh_proxy -o $opt="echo '$arg' >$OBJ/actual" \
31 somehost true
32 got=`cat $OBJ/actual`
33 ;;
34 matchexec)
35 (cat $OBJ/ssh_proxy && \
36 echo "Match Exec \"echo '$arg' >$OBJ/actual\"") \
37 >$OBJ/ssh_proxy_match
38 ${SSH} -F $OBJ/ssh_proxy_match remuser@somehost true || true
39 got=`cat $OBJ/actual`
40 ;;
41 *forward)
42 # LocalForward and RemoteForward take two args and only
43 # operate on Unix domain socket paths
44 got=`${SSH} -F $OBJ/ssh_proxy -o $opt="/$arg /$arg" -G \
45 remuser@somehost | awk '$1=="'$opt'"{print $2" "$3}'`
46 expect="/$expect /$expect"
47 ;;
48 *)
49 got=`${SSH} -F $OBJ/ssh_proxy -o $opt="$arg" -G \
50 remuser@somehost | awk '$1=="'$opt'"{print $2}'`
51 esac
52 if [ "$got" != "$expect" ]; then
53 fail "$opt=$arg expect $expect got $got"
54 fi
55}
56
57for i in matchexec localcommand remotecommand controlpath identityagent \
58 forwardagent localforward remoteforward; do
59 verbose $tid $i
60 if [ "$i" = "localcommand" ]; then
61 REMUSER=$USER
62 trial $i '%T' NONE
63 else
64 REMUSER=remuser
65 fi
66 # Matches implementation in readconf.c:ssh_connection_hash()
67 HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" |
68 openssl sha1 | cut -f2 -d' '`
69 trial $i '%%' '%'
70 trial $i '%C' $HASH
71 trial $i '%i' $USERID
72 trial $i '%h' 127.0.0.1
73 trial $i '%d' $HOME
74 trial $i '%L' $HOST
75 trial $i '%l' $HOSTNAME
76 trial $i '%n' somehost
77 trial $i '%p' $PORT
78 trial $i '%r' $REMUSER
79 trial $i '%u' $USER
80 trial $i '%%/%C/%i/%h/%d/%L/%l/%n/%p/%r/%u' \
81 "%/$HASH/$USERID/127.0.0.1/$HOME/$HOST/$HOSTNAME/somehost/$PORT/$REMUSER/$USER"
82done
83
84# A subset of options support tilde expansion
85for i in controlpath identityagent forwardagent; do
86 trial $i '~' $HOME/
87 trial $i '~/.ssh' $HOME/.ssh
88done
diff --git a/regress/reexec.sh b/regress/reexec.sh
index 2192456cd..8966ba524 100644
--- a/regress/reexec.sh
+++ b/regress/reexec.sh
@@ -9,7 +9,10 @@ SSHD_COPY=$OBJ/sshd
9# Start a sshd and then delete it 9# Start a sshd and then delete it
10start_sshd_copy () 10start_sshd_copy ()
11{ 11{
12 cp $SSHD_ORIG $SSHD_COPY 12 # NB. prefer ln to cp here. On some OSX 19.4 configurations,
13 # djm has seen failure after fork() when the executable image
14 # has been removed from the filesystem.
15 ln $SSHD_ORIG $SSHD_COPY || cp $SSHD_ORIG $SSHD_COPY
13 SSHD=$SSHD_COPY 16 SSHD=$SSHD_COPY
14 start_sshd 17 start_sshd
15 SSHD=$SSHD_ORIG 18 SSHD=$SSHD_ORIG
diff --git a/regress/sftp-badcmds.sh b/regress/sftp-badcmds.sh
index 7f85c4f22..5b016d558 100644
--- a/regress/sftp-badcmds.sh
+++ b/regress/sftp-badcmds.sh
@@ -1,4 +1,4 @@
1# $OpenBSD: sftp-badcmds.sh,v 1.6 2013/05/17 10:26:26 dtucker Exp $ 1# $OpenBSD: sftp-badcmds.sh,v 1.7 2020/03/13 03:18:45 djm Exp $
2# Placed in the Public Domain. 2# Placed in the Public Domain.
3 3
4tid="sftp invalid commands" 4tid="sftp invalid commands"
@@ -58,7 +58,7 @@ rm -rf ${COPY}
58cp ${DATA2} ${COPY} 58cp ${DATA2} ${COPY}
59verbose "$tid: glob put files to local file" 59verbose "$tid: glob put files to local file"
60echo "put /bin/l* $COPY" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 60echo "put /bin/l* $COPY" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1
61cmp ${DATA2} ${COPY} || fail "put successed when it should have failed" 61cmp ${DATA2} ${COPY} || fail "put succeeded when it should have failed"
62 62
63rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd 63rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd
64 64
diff --git a/regress/sshsig.sh b/regress/sshsig.sh
index da362c179..1e2f9dda4 100644
--- a/regress/sshsig.sh
+++ b/regress/sshsig.sh
@@ -1,4 +1,4 @@
1# $OpenBSD: sshsig.sh,v 1.3 2019/11/26 23:43:10 djm Exp $ 1# $OpenBSD: sshsig.sh,v 1.4 2020/03/13 03:18:45 djm Exp $
2# Placed in the Public Domain. 2# Placed in the Public Domain.
3 3
4tid="sshsig" 4tid="sshsig"
@@ -133,7 +133,7 @@ for t in $SIGNKEYS; do
133 # check-novalidate with invalid data 133 # check-novalidate with invalid data
134 ${SSHKEYGEN} -vvv -Y check-novalidate -s $sigfile -n $sig_namespace \ 134 ${SSHKEYGEN} -vvv -Y check-novalidate -s $sigfile -n $sig_namespace \
135 < $DATA2 >/dev/null 2>&1 && \ 135 < $DATA2 >/dev/null 2>&1 && \
136 fail "sucessfully checked signature for $t key with invalid data" 136 fail "succeeded checking signature for $t key with invalid data"
137 137
138 # Check signing keys using ssh-agent. 138 # Check signing keys using ssh-agent.
139 ${SSHADD} -D >/dev/null 2>&1 # Remove all previously-loaded keys. 139 ${SSHADD} -D >/dev/null 2>&1 # Remove all previously-loaded keys.
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index a3a40719f..d8491b2be 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -1,4 +1,4 @@
1# $OpenBSD: test-exec.sh,v 1.75 2020/01/31 23:25:08 djm Exp $ 1# $OpenBSD: test-exec.sh,v 1.76 2020/04/04 23:04:41 dtucker Exp $
2# Placed in the Public Domain. 2# Placed in the Public Domain.
3 3
4#SUDO=sudo 4#SUDO=sudo
@@ -23,6 +23,16 @@ else
23 PORT=4242 23 PORT=4242
24fi 24fi
25 25
26# If configure tells us to use a different egrep, create a wrapper function
27# to call it. This means we don't need to change all the tests that depend
28# on a good implementation.
29if test "x${EGREP}" != "x"; then
30 egrep ()
31{
32 ${EGREP} "$@"
33}
34fi
35
26if [ -x /usr/ucb/whoami ]; then 36if [ -x /usr/ucb/whoami ]; then
27 USER=`/usr/ucb/whoami` 37 USER=`/usr/ucb/whoami`
28elif whoami >/dev/null 2>&1; then 38elif whoami >/dev/null 2>&1; then
@@ -512,7 +522,9 @@ fi
512rm -f $OBJ/known_hosts $OBJ/authorized_keys_$USER 522rm -f $OBJ/known_hosts $OBJ/authorized_keys_$USER
513 523
514SSH_SK_PROVIDER= 524SSH_SK_PROVIDER=
515if [ -f "${SRC}/misc/sk-dummy/obj/sk-dummy.so" ] ; then 525if ! config_defined ENABLE_SK; then
526 trace skipping sk-dummy
527elif [ -f "${SRC}/misc/sk-dummy/obj/sk-dummy.so" ] ; then
516 SSH_SK_PROVIDER="${SRC}/misc/sk-dummy/obj/sk-dummy.so" 528 SSH_SK_PROVIDER="${SRC}/misc/sk-dummy/obj/sk-dummy.so"
517elif [ -f "${SRC}/misc/sk-dummy/sk-dummy.so" ] ; then 529elif [ -f "${SRC}/misc/sk-dummy/sk-dummy.so" ] ; then
518 SSH_SK_PROVIDER="${SRC}/misc/sk-dummy/sk-dummy.so" 530 SSH_SK_PROVIDER="${SRC}/misc/sk-dummy/sk-dummy.so"
@@ -537,14 +549,16 @@ maybe_filter_sk() {
537 549
538SSH_KEYTYPES=`$SSH -Q key-plain | maybe_filter_sk` 550SSH_KEYTYPES=`$SSH -Q key-plain | maybe_filter_sk`
539SSH_HOSTKEY_TYPES=`$SSH -Q key-plain | maybe_filter_sk` 551SSH_HOSTKEY_TYPES=`$SSH -Q key-plain | maybe_filter_sk`
540 552
541for t in ${SSH_KEYTYPES}; do 553for t in ${SSH_KEYTYPES}; do
542 # generate user key 554 # generate user key
543 trace "generating key type $t"
544 if [ ! -f $OBJ/$t ] || [ ${SSHKEYGEN_BIN} -nt $OBJ/$t ]; then 555 if [ ! -f $OBJ/$t ] || [ ${SSHKEYGEN_BIN} -nt $OBJ/$t ]; then
556 trace "generating key type $t"
545 rm -f $OBJ/$t 557 rm -f $OBJ/$t
546 ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t ||\ 558 ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t ||\
547 fail "ssh-keygen for $t failed" 559 fail "ssh-keygen for $t failed"
560 else
561 trace "using cached key type $t"
548 fi 562 fi
549 563
550 # setup authorized keys 564 # setup authorized keys
diff --git a/regress/unittests/authopt/Makefile b/regress/unittests/authopt/Makefile
index 492092fc6..e8edc7b5f 100644
--- a/regress/unittests/authopt/Makefile
+++ b/regress/unittests/authopt/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.4 2020/01/26 00:09:50 djm Exp $ 1# $OpenBSD: Makefile,v 1.5 2020/04/06 09:43:55 dtucker Exp $
2 2
3PROG=test_authopt 3PROG=test_authopt
4SRCS=tests.c 4SRCS=tests.c
@@ -17,6 +17,7 @@ SRCS+=ssh-ed25519-sk.c sk-usbhid.c
17 17
18SRCS+=digest-openssl.c 18SRCS+=digest-openssl.c
19#SRCS+=digest-libc.c 19#SRCS+=digest-libc.c
20SRCS+=utf8.c
20 21
21REGRESS_TARGETS=run-regress-${PROG} 22REGRESS_TARGETS=run-regress-${PROG}
22 23
diff --git a/regress/unittests/hostkeys/Makefile b/regress/unittests/hostkeys/Makefile
index c0a893135..d841d96be 100644
--- a/regress/unittests/hostkeys/Makefile
+++ b/regress/unittests/hostkeys/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.7 2020/01/26 00:09:50 djm Exp $ 1# $OpenBSD: Makefile,v 1.8 2020/04/06 09:43:56 dtucker Exp $
2 2
3PROG=test_hostkeys 3PROG=test_hostkeys
4SRCS=tests.c test_iterate.c 4SRCS=tests.c test_iterate.c
@@ -15,6 +15,7 @@ SRCS+=ssh-ed25519-sk.c sk-usbhid.c
15 15
16SRCS+=digest-openssl.c 16SRCS+=digest-openssl.c
17#SRCS+=digest-libc.c 17#SRCS+=digest-libc.c
18SRCS+=utf8.c
18 19
19REGRESS_TARGETS=run-regress-${PROG} 20REGRESS_TARGETS=run-regress-${PROG}
20 21
diff --git a/regress/unittests/kex/Makefile b/regress/unittests/kex/Makefile
index 648006c78..1c5d68ce8 100644
--- a/regress/unittests/kex/Makefile
+++ b/regress/unittests/kex/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.9 2020/01/26 00:09:50 djm Exp $ 1# $OpenBSD: Makefile,v 1.10 2020/04/06 09:43:56 dtucker Exp $
2 2
3PROG=test_kex 3PROG=test_kex
4SRCS=tests.c test_kex.c 4SRCS=tests.c test_kex.c
@@ -25,6 +25,7 @@ SRCS+= smult_curve25519_ref.c
25SRCS+= kexgen.c 25SRCS+= kexgen.c
26SRCS+= kexsntrup4591761x25519.c 26SRCS+= kexsntrup4591761x25519.c
27SRCS+= sntrup4591761.c 27SRCS+= sntrup4591761.c
28SRCS+= utf8.c
28 29
29SRCS+=digest-openssl.c 30SRCS+=digest-openssl.c
30#SRCS+=digest-libc.c 31#SRCS+=digest-libc.c
diff --git a/regress/unittests/sshkey/Makefile b/regress/unittests/sshkey/Makefile
index 78b2cf0ce..29c9b3ba7 100644
--- a/regress/unittests/sshkey/Makefile
+++ b/regress/unittests/sshkey/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.9 2020/01/26 00:09:50 djm Exp $ 1# $OpenBSD: Makefile,v 1.10 2020/04/06 09:43:56 dtucker Exp $
2 2
3PROG=test_sshkey 3PROG=test_sshkey
4SRCS=tests.c test_sshkey.c test_file.c test_fuzz.c common.c 4SRCS=tests.c test_sshkey.c test_file.c test_fuzz.c common.c
@@ -15,6 +15,7 @@ SRCS+=ssh-ed25519-sk.c sk-usbhid.c
15 15
16SRCS+=digest-openssl.c 16SRCS+=digest-openssl.c
17#SRCS+=digest-libc.c 17#SRCS+=digest-libc.c
18SRCS+=utf8.c
18 19
19REGRESS_TARGETS=run-regress-${PROG} 20REGRESS_TARGETS=run-regress-${PROG}
20 21
diff --git a/regress/unittests/sshkey/mktestdata.sh b/regress/unittests/sshkey/mktestdata.sh
index 93da34c64..8efe6dd03 100755
--- a/regress/unittests/sshkey/mktestdata.sh
+++ b/regress/unittests/sshkey/mktestdata.sh
@@ -1,5 +1,5 @@
1#!/bin/sh 1#!/bin/sh
2# $OpenBSD: mktestdata.sh,v 1.7 2018/09/12 01:36:45 djm Exp $ 2# $OpenBSD: mktestdata.sh,v 1.10 2020/05/01 04:03:14 djm Exp $
3 3
4PW=mekmitasdigoat 4PW=mekmitasdigoat
5 5
@@ -56,8 +56,8 @@ ecdsa_params() {
56 awk '/^pub:/,/^ASN1 OID:/' | #\ 56 awk '/^pub:/,/^ASN1 OID:/' | #\
57 grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.pub 57 grep -v '^[a-zA-Z]' | tr -d ' \n:' > ${_outbase}.pub
58 openssl ec -noout -text -in $_in | \ 58 openssl ec -noout -text -in $_in | \
59 grep "ASN1 OID:" | tr -d '\n' | \ 59 grep "ASN1 OID:" | \
60 sed 's/.*: //;s/ *$//' > ${_outbase}.curve 60 sed 's/.*: //;s/ *$//' | tr -d '\n' > ${_outbase}.curve
61 for x in priv pub curve ; do 61 for x in priv pub curve ; do
62 echo "" >> ${_outbase}.$x 62 echo "" >> ${_outbase}.$x
63 echo ============ ${_outbase}.$x 63 echo ============ ${_outbase}.$x
@@ -77,20 +77,24 @@ rm -f rsa_1_pw dsa_1_pw ecdsa_1_pw ed25519_1_pw
77rm -f rsa_n_pw dsa_n_pw ecdsa_n_pw 77rm -f rsa_n_pw dsa_n_pw ecdsa_n_pw
78rm -f pw *.pub *.bn.* *.param.* *.fp *.fp.bb 78rm -f pw *.pub *.bn.* *.param.* *.fp *.fp.bb
79 79
80ssh-keygen -t rsa -b 1024 -C "RSA test key #1" -N "" -f rsa_1 80ssh-keygen -t rsa -b 1024 -C "RSA test key #1" -N "" -f rsa_1 -m PEM
81ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 81ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 -m PEM
82ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 82ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 -m PEM
83ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 83ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1
84 84
85ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 85ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 -m PEM
86ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 86ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 -m PEM
87ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 87ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 -m PEM
88ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_2 88ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_2
89 89
90cp rsa_1 rsa_n 90cp rsa_1 rsa_n
91cp dsa_1 dsa_n 91cp dsa_1 dsa_n
92cp ecdsa_1 ecdsa_n 92cp ecdsa_1 ecdsa_n
93 93
94ssh-keygen -pf rsa_n -N ""
95ssh-keygen -pf dsa_n -N ""
96ssh-keygen -pf ecdsa_n -N ""
97
94cp rsa_1 rsa_1_pw 98cp rsa_1 rsa_1_pw
95cp dsa_1 dsa_1_pw 99cp dsa_1 dsa_1_pw
96cp ecdsa_1 ecdsa_1_pw 100cp ecdsa_1 ecdsa_1_pw
@@ -99,13 +103,13 @@ cp rsa_1 rsa_n_pw
99cp dsa_1 dsa_n_pw 103cp dsa_1 dsa_n_pw
100cp ecdsa_1 ecdsa_n_pw 104cp ecdsa_1 ecdsa_n_pw
101 105
102ssh-keygen -pf rsa_1_pw -N "$PW" 106ssh-keygen -pf rsa_1_pw -m PEM -N "$PW"
103ssh-keygen -pf dsa_1_pw -N "$PW" 107ssh-keygen -pf dsa_1_pw -m PEM -N "$PW"
104ssh-keygen -pf ecdsa_1_pw -N "$PW" 108ssh-keygen -pf ecdsa_1_pw -m PEM -N "$PW"
105ssh-keygen -pf ed25519_1_pw -N "$PW" 109ssh-keygen -pf ed25519_1_pw -N "$PW"
106ssh-keygen -opf rsa_n_pw -N "$PW" 110ssh-keygen -pf rsa_n_pw -N "$PW"
107ssh-keygen -opf dsa_n_pw -N "$PW" 111ssh-keygen -pf dsa_n_pw -N "$PW"
108ssh-keygen -opf ecdsa_n_pw -N "$PW" 112ssh-keygen -pf ecdsa_n_pw -N "$PW"
109 113
110rsa_params rsa_1 rsa_1.param 114rsa_params rsa_1 rsa_1.param
111rsa_params rsa_2 rsa_2.param 115rsa_params rsa_2 rsa_2.param
diff --git a/regress/unittests/sshkey/testdata/dsa_n b/regress/unittests/sshkey/testdata/dsa_n
index d3f24824f..657624e0e 100644
--- a/regress/unittests/sshkey/testdata/dsa_n
+++ b/regress/unittests/sshkey/testdata/dsa_n
@@ -1,12 +1,21 @@
1-----BEGIN DSA PRIVATE KEY----- 1-----BEGIN OPENSSH PRIVATE KEY-----
2MIIBvAIBAAKBgQD6kutNFRsHTwEAv6d39Lhsqy1apdHBZ9c2HfyRr7WmypyGIy2m 2b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABswAAAAdzc2gtZH
3Ka43vzXI8CNwmRSYs+A6d0vJC7Pl+f9QzJ/04NWOA+MiwfurwrR3CRe61QRYb8Py 3NzAAAAgQD6kutNFRsHTwEAv6d39Lhsqy1apdHBZ9c2HfyRr7WmypyGIy2mKa43vzXI8CNw
4mcHOxueHs95IcjrbIPNn86cjnPP5qvv/guUzCjuww4zBdJOXpligrGt2XwIVAKMD 4mRSYs+A6d0vJC7Pl+f9QzJ/04NWOA+MiwfurwrR3CRe61QRYb8PymcHOxueHs95IcjrbIP
5/50qQy7j8JaMk+1+Xtg1pK01AoGBAO7l9QVVbSSoy5lq6cOtvpf8UlwOa6+zBwbl 5Nn86cjnPP5qvv/guUzCjuww4zBdJOXpligrGt2XwAAABUAowP/nSpDLuPwloyT7X5e2DWk
6o4gmFd1RwX1yWkA8kQ7RrhCSg8Hc6mIGnKRgKRli/3LgbSfZ0obFJehkRtEWtN4P 6rTUAAACBAO7l9QVVbSSoy5lq6cOtvpf8UlwOa6+zBwblo4gmFd1RwX1yWkA8kQ7RrhCSg8
7h8fVUeS74iQbIwFQeKlYHIlNTRoGtAbdi3nHdV+BBkEQc1V3rjqYqhjOoz/yNsgz 7Hc6mIGnKRgKRli/3LgbSfZ0obFJehkRtEWtN4Ph8fVUeS74iQbIwFQeKlYHIlNTRoGtAbd
8LND26HrdAoGBAOdXpyfmobEBaOqZAuvgj1P0uhjG2P31Ufurv22FWPBU3A9qrkxb 8i3nHdV+BBkEQc1V3rjqYqhjOoz/yNsgzLND26HrdAAAAgQDnV6cn5qGxAWjqmQLr4I9T9L
9OXwE0LwvjCvrsQV/lrYhJz/tiys40VeahulWZE5SAHMXGIf95LiLSgaXMjko7joo 9oYxtj99VH7q79thVjwVNwPaq5MWzl8BNC8L4wr67EFf5a2ISc/7YsrONFXmobpVmROUgBz
10t+LK84ltLymwZ4QMnYjnZSSclf1UuyQMcUtb34+I0u9Ycnyhp2mSFsQtAhRYIbQ5 10FxiH/eS4i0oGlzI5KO46KLfiyvOJbS8psGeEDJ2I52UknJX9VLskDHFLW9+PiNLvWHJ8oa
11KfXsZuBPuWe5FJz3ldaEgw== 11dpkhbELQAAAdhWTOFbVkzhWwAAAAdzc2gtZHNzAAAAgQD6kutNFRsHTwEAv6d39Lhsqy1a
12-----END DSA PRIVATE KEY----- 12pdHBZ9c2HfyRr7WmypyGIy2mKa43vzXI8CNwmRSYs+A6d0vJC7Pl+f9QzJ/04NWOA+Miwf
13urwrR3CRe61QRYb8PymcHOxueHs95IcjrbIPNn86cjnPP5qvv/guUzCjuww4zBdJOXplig
14rGt2XwAAABUAowP/nSpDLuPwloyT7X5e2DWkrTUAAACBAO7l9QVVbSSoy5lq6cOtvpf8Ul
15wOa6+zBwblo4gmFd1RwX1yWkA8kQ7RrhCSg8Hc6mIGnKRgKRli/3LgbSfZ0obFJehkRtEW
16tN4Ph8fVUeS74iQbIwFQeKlYHIlNTRoGtAbdi3nHdV+BBkEQc1V3rjqYqhjOoz/yNsgzLN
17D26HrdAAAAgQDnV6cn5qGxAWjqmQLr4I9T9LoYxtj99VH7q79thVjwVNwPaq5MWzl8BNC8
18L4wr67EFf5a2ISc/7YsrONFXmobpVmROUgBzFxiH/eS4i0oGlzI5KO46KLfiyvOJbS8psG
19eEDJ2I52UknJX9VLskDHFLW9+PiNLvWHJ8oadpkhbELQAAABRYIbQ5KfXsZuBPuWe5FJz3
20ldaEgwAAAAAB
21-----END OPENSSH PRIVATE KEY-----
diff --git a/regress/unittests/sshkey/testdata/ecdsa_n b/regress/unittests/sshkey/testdata/ecdsa_n
index 80382b62d..9694f32e4 100644
--- a/regress/unittests/sshkey/testdata/ecdsa_n
+++ b/regress/unittests/sshkey/testdata/ecdsa_n
@@ -1,5 +1,8 @@
1-----BEGIN EC PRIVATE KEY----- 1-----BEGIN OPENSSH PRIVATE KEY-----
2MHcCAQEEIPPNyUAnjvFr+eT/7t/IyjuQQd/aLFiTY92LB9gIjyrMoAoGCCqGSM49 2b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
3AwEHoUQDQgAEDFlblkOrW9ydKVhtM+9AY3c9saBE7SG3lFx38nBavkADDaI9jh3/ 31zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQQMWVuWQ6tb3J0pWG0z70Bjdz2xoETt
4kvG/Jt9vpm22qwoklTCGDfzCkXkIKaWlBw== 4IbeUXHfycFq+QAMNoj2OHf+S8b8m32+mbbarCiSVMIYN/MKReQgppaUHAAAAoFrmmZBa5p
5-----END EC PRIVATE KEY----- 5mQAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAxZW5ZDq1vcnSlY
6bTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvybfb6ZttqsKJJUwhg38wpF5CCmlpQ
7cAAAAhAPPNyUAnjvFr+eT/7t/IyjuQQd/aLFiTY92LB9gIjyrMAAAAAAECAwQFBgc=
8-----END OPENSSH PRIVATE KEY-----
diff --git a/regress/unittests/sshkey/testdata/rsa1_1 b/regress/unittests/sshkey/testdata/rsa1_1
deleted file mode 100644
index 161cc04dc..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1
+++ /dev/null
Binary files differ
diff --git a/regress/unittests/sshkey/testdata/rsa1_1.fp b/regress/unittests/sshkey/testdata/rsa1_1.fp
deleted file mode 100644
index 21b3d1a9a..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1.fp
+++ /dev/null
@@ -1 +0,0 @@
1SHA256:/kk7K9S9kwYFiFilnZYFwCsQJweI/SGQVR2nIa8VBhE
diff --git a/regress/unittests/sshkey/testdata/rsa1_1.fp.bb b/regress/unittests/sshkey/testdata/rsa1_1.fp.bb
deleted file mode 100644
index 62991b3e0..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1.fp.bb
+++ /dev/null
@@ -1 +0,0 @@
1xilil-nabyf-gynih-duheb-gokyp-bofet-nekac-bosod-lozin-kuvyh-poxix
diff --git a/regress/unittests/sshkey/testdata/rsa1_1.param.n b/regress/unittests/sshkey/testdata/rsa1_1.param.n
deleted file mode 100644
index 9a2549bbb..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1.param.n
+++ /dev/null
@@ -1 +0,0 @@
100ce8ca77a556eba887f9a866c084a6402785354a81c10854d343181fa09351223a65f99915f8433d11a9c41677d307c03c3a39865b83e7172d2c1d878333c980438d6e4462106a0065cd75cfea7ca7f21538bf2f43f2af49cacee51b22e3bdcc5e87b59cc691f7c6942a77ef13bfdfb24300777b727348d0ba7900ba06b886729
diff --git a/regress/unittests/sshkey/testdata/rsa1_1.pub b/regress/unittests/sshkey/testdata/rsa1_1.pub
deleted file mode 100644
index f665b0d64..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1.pub
+++ /dev/null
@@ -1 +0,0 @@
11024 65537 145043942670517902781741650890610683756045780348507433188994725700923246927874581962206512480287863636935077725837494808988986557337885675565086448774391442851909709751605441036910145362277967349042489937363543710406342212883803780768870873303921572812138116796733586484633244057911618360651775855949808953129 RSA1 test key #1
diff --git a/regress/unittests/sshkey/testdata/rsa1_1_pw b/regress/unittests/sshkey/testdata/rsa1_1_pw
deleted file mode 100644
index e73c6794a..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_1_pw
+++ /dev/null
Binary files differ
diff --git a/regress/unittests/sshkey/testdata/rsa1_2 b/regress/unittests/sshkey/testdata/rsa1_2
deleted file mode 100644
index 1d672ddea..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_2
+++ /dev/null
Binary files differ
diff --git a/regress/unittests/sshkey/testdata/rsa1_2.fp b/regress/unittests/sshkey/testdata/rsa1_2.fp
deleted file mode 100644
index 00516d521..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_2.fp
+++ /dev/null
@@ -1 +0,0 @@
1SHA256:JaOeRCnLl/TLe7vn1+aQ4ONyKZCUhK5x3k4VHilmbpE
diff --git a/regress/unittests/sshkey/testdata/rsa1_2.fp.bb b/regress/unittests/sshkey/testdata/rsa1_2.fp.bb
deleted file mode 100644
index b4989a588..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_2.fp.bb
+++ /dev/null
@@ -1 +0,0 @@
1xipag-zohut-zepuk-pisyv-kamog-pupus-netud-tudis-melup-cynov-gaxox
diff --git a/regress/unittests/sshkey/testdata/rsa1_2.param.n b/regress/unittests/sshkey/testdata/rsa1_2.param.n
deleted file mode 100644
index 25d438d06..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_2.param.n
+++ /dev/null
@@ -1 +0,0 @@
100cab091b57a154740c1bb7020f46a21a19dc40f647db2aab1babd30cabe241f0437391e68376ba35e48c624b8eaf6b59424d4c1a848c9fd1ef5cdc7c1b7f5e5df23b7ad513b79021286d38c52fdfae35656659e8649b2bf8bedf7c99664e45534007bd1c5dc3de1dafdf2d34ad087155951aa0f3d500b36d0d804bbccdef15ab31ca3dd40bdf5196065a97f397ef576caffb606be8232f6e0614aea0e979b9584296673fabb1dbd9f3212495c428842a2ab1f1768dd424fb6fdceeeab9126cacdfc834f0a0d09ba73ad8360d183ba85bb1565555cc6a536eb8d06df1a1e841107c021ae28a2d8b3465f9d8b58ef4045aea1c4ad7f8bf639574d6b142af67b4eb3
diff --git a/regress/unittests/sshkey/testdata/rsa1_2.pub b/regress/unittests/sshkey/testdata/rsa1_2.pub
deleted file mode 100644
index acab6dda6..000000000
--- a/regress/unittests/sshkey/testdata/rsa1_2.pub
+++ /dev/null
@@ -1 +0,0 @@
12048 65537 25587207108642486834576012232250034427766229965612147538722032399009467293691448851087324679403117563681753304072089087252850866332601294130674473984011813227791089686736237645788471744456489819306046398653719249100878753563464696688916667605969658659855996383142110932332560049231682024775766802333675397528993897914717996946881193454997890776063024953924432026083898531677702536941151535135950834711001926404724453460085864892836473957600610133803037286539329764689125111700732309717375455919436557475211197800228646235077584780367991159670572954337165006813357814232200750568307753718414790655085790471723847208627 RSA1 test key #2
diff --git a/regress/unittests/sshkey/testdata/rsa_n b/regress/unittests/sshkey/testdata/rsa_n
index 5de3f8422..b8e585e51 100644
--- a/regress/unittests/sshkey/testdata/rsa_n
+++ b/regress/unittests/sshkey/testdata/rsa_n
@@ -1,15 +1,16 @@
1-----BEGIN RSA PRIVATE KEY----- 1-----BEGIN OPENSSH PRIVATE KEY-----
2MIICXAIBAAKBgQDLV5lUTt7FrADseB/CGhEZzpoojjEW5y8+ePvLppmK3MmMI18u 2b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAlwAAAAdzc2gtcn
3d6vxzpK3bwZLYkVSyfJYI0HmIuGhdu7yMrW6wb84gbq8C31Xoe9EORcIUuGSvDKd 3NhAAAAAwEAAQAAAIEAy1eZVE7exawA7HgfwhoRGc6aKI4xFucvPnj7y6aZitzJjCNfLner
4NSM1SjlhDquRblDFB8kToqXyx1lqrXecXylxIUOL0jE+u0rU1967pDJx+wIDAQAB 48c6St28GS2JFUsnyWCNB5iLhoXbu8jK1usG/OIG6vAt9V6HvRDkXCFLhkrwynTUjNUo5YQ
5AoGAXyj5mpjmbD+YlxGIWz/zrM4hGsWgd4VteKEJxT6MMI4uzCRpkMd0ck8oHiwZ 56rkW5QxQfJE6Kl8sdZaq13nF8pcSFDi9IxPrtK1Nfeu6QycfsAAAH4to4I7raOCO4AAAAH
6GAI/SwUzIsgtONQuH3AXVsUgghW4Ynn+8ksEv0IZ918WDMDwqvqkyrVzsOsZzqYj 6c3NoLXJzYQAAAIEAy1eZVE7exawA7HgfwhoRGc6aKI4xFucvPnj7y6aZitzJjCNfLner8c
7Pf8DUDKCpwFjnlknJ04yvWBZvVhWtY4OiZ8GV0Ttsu3k+GECQQD1YHfvBb5FdJBv 76St28GS2JFUsnyWCNB5iLhoXbu8jK1usG/OIG6vAt9V6HvRDkXCFLhkrwynTUjNUo5YQ6r
8Uhde2Il+jaFia8mwVVNNaiD2ECxXx6CzGz54ZLEB9NPVfDUZK8lJ4UJDqelWNh3i 8kW5QxQfJE6Kl8sdZaq13nF8pcSFDi9IxPrtK1Nfeu6QycfsAAAADAQABAAAAgF8o+ZqY5m
9PF3RefWDAkEA1CVBzAFL4mNwpleVPzrfy69xP3gWOa26MxM/GE6zx9jC7HgQ3KPa 9w/mJcRiFs/86zOIRrFoHeFbXihCcU+jDCOLswkaZDHdHJPKB4sGRgCP0sFMyLILTjULh9w
10WKdG/FuHs085aTRDaDLmGcZ8IvMuu7NgKQJAcIOKmxR0Gd8IN7NZugjqixggb0Pj 10F1bFIIIVuGJ5/vJLBL9CGfdfFgzA8Kr6pMq1c7DrGc6mIz3/A1AygqcBY55ZJydOMr1gWb
11mLKXXwESGiJyYtHL0zTj4Uqyi6Ya2GJ66o7UXscmnmYz828fJtTtZBdbRwJBALfi 111YVrWODomfBldE7bLt5PhhAAAAQAndVkxvO8hwyEFGGwF3faHIAe/OxVb+MjaU25//Pe1/
12C2QvA32Zv/0PEXibKXy996WSC4G3ShwXZKtHHKHvCxY5BDSbehk59VesZrVPyG2e 12h/e6tlCk4w9CODpyV685gV394eYwMcGDcIkipTNUDZsAAABBAPVgd+8FvkV0kG9SF17YiX
13NYdOBxD0cIlCzJE56/ECQAndVkxvO8hwyEFGGwF3faHIAe/OxVb+MjaU25//Pe1/ 136NoWJrybBVU01qIPYQLFfHoLMbPnhksQH009V8NRkryUnhQkOp6VY2HeI8XdF59YMAAABB
14h/e6tlCk4w9CODpyV685gV394eYwMcGDcIkipTNUDZs= 14ANQlQcwBS+JjcKZXlT8638uvcT94FjmtujMTPxhOs8fYwux4ENyj2linRvxbh7NPOWk0Q2
15-----END RSA PRIVATE KEY----- 15gy5hnGfCLzLruzYCkAAAAAAQID
16-----END OPENSSH PRIVATE KEY-----
diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
index f80981faf..e0768c063 100644
--- a/sandbox-seccomp-filter.c
+++ b/sandbox-seccomp-filter.c
@@ -43,6 +43,7 @@
43#include <sys/resource.h> 43#include <sys/resource.h>
44#include <sys/prctl.h> 44#include <sys/prctl.h>
45#include <sys/mman.h> 45#include <sys/mman.h>
46#include <sys/syscall.h>
46 47
47#include <linux/net.h> 48#include <linux/net.h>
48#include <linux/audit.h> 49#include <linux/audit.h>
diff --git a/scp.0 b/scp.0
index 7775eb1e5..03e6c65e7 100644
--- a/scp.0
+++ b/scp.0
@@ -28,7 +28,8 @@ DESCRIPTION
28 -3 Copies between two remote hosts are transferred through the local 28 -3 Copies between two remote hosts are transferred through the local
29 host. Without this option the data is copied directly between 29 host. Without this option the data is copied directly between
30 the two remote hosts. Note that this option disables the 30 the two remote hosts. Note that this option disables the
31 progress meter. 31 progress meter and selects batch mode for the second host, since
32 scp cannot ask for passwords or passphrases for both hosts.
32 33
33 -4 Forces scp to use IPv4 addresses only. 34 -4 Forces scp to use IPv4 addresses only.
34 35
@@ -179,4 +180,4 @@ AUTHORS
179 Timo Rinne <tri@iki.fi> 180 Timo Rinne <tri@iki.fi>
180 Tatu Ylonen <ylo@cs.hut.fi> 181 Tatu Ylonen <ylo@cs.hut.fi>
181 182
182OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 183OpenBSD 6.7 April 30, 2020 OpenBSD 6.7
diff --git a/scp.1 b/scp.1
index 9c3a85366..d5f65af4e 100644
--- a/scp.1
+++ b/scp.1
@@ -8,9 +8,9 @@
8.\" 8.\"
9.\" Created: Sun May 7 00:14:37 1995 ylo 9.\" Created: Sun May 7 00:14:37 1995 ylo
10.\" 10.\"
11.\" $OpenBSD: scp.1,v 1.87 2019/11/30 07:07:59 jmc Exp $ 11.\" $OpenBSD: scp.1,v 1.89 2020/04/30 18:28:37 jmc Exp $
12.\" 12.\"
13.Dd $Mdocdate: November 30 2019 $ 13.Dd $Mdocdate: April 30 2020 $
14.Dt SCP 1 14.Dt SCP 1
15.Os 15.Os
16.Sh NAME 16.Sh NAME
@@ -74,7 +74,10 @@ The options are as follows:
74Copies between two remote hosts are transferred through the local host. 74Copies between two remote hosts are transferred through the local host.
75Without this option the data is copied directly between the two remote 75Without this option the data is copied directly between the two remote
76hosts. 76hosts.
77Note that this option disables the progress meter. 77Note that this option disables the progress meter and selects batch mode
78for the second host, since
79.Nm
80cannot ask for passwords or passphrases for both hosts.
78.It Fl 4 81.It Fl 4
79Forces 82Forces
80.Nm 83.Nm
diff --git a/scp.c b/scp.c
index 9b64aa5f4..66b4af8e8 100644
--- a/scp.c
+++ b/scp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: scp.c,v 1.207 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: scp.c,v 1.210 2020/05/06 20:57:38 djm Exp $ */
2/* 2/*
3 * scp - secure remote copy. This is basically patched BSD rcp which 3 * scp - secure remote copy. This is basically patched BSD rcp which
4 * uses ssh to do the data transfer (instead of using rcmd). 4 * uses ssh to do the data transfer (instead of using rcmd).
@@ -356,6 +356,7 @@ do_cmd2(char *host, char *remuser, int port, char *cmd, int fdin, int fdout)
356 addargs(&args, "-l"); 356 addargs(&args, "-l");
357 addargs(&args, "%s", remuser); 357 addargs(&args, "%s", remuser);
358 } 358 }
359 addargs(&args, "-oBatchMode=yes");
359 addargs(&args, "--"); 360 addargs(&args, "--");
360 addargs(&args, "%s", host); 361 addargs(&args, "%s", host);
361 addargs(&args, "%s", cmd); 362 addargs(&args, "%s", cmd);
@@ -381,6 +382,7 @@ BUF *allocbuf(BUF *, int, int);
381void lostconn(int); 382void lostconn(int);
382int okname(char *); 383int okname(char *);
383void run_err(const char *,...); 384void run_err(const char *,...);
385int note_err(const char *,...);
384void verifydir(char *); 386void verifydir(char *);
385 387
386struct passwd *pwd; 388struct passwd *pwd;
@@ -1238,9 +1240,6 @@ sink(int argc, char **argv, const char *src)
1238{ 1240{
1239 static BUF buffer; 1241 static BUF buffer;
1240 struct stat stb; 1242 struct stat stb;
1241 enum {
1242 YES, NO, DISPLAYED
1243 } wrerr;
1244 BUF *bp; 1243 BUF *bp;
1245 off_t i; 1244 off_t i;
1246 size_t j, count; 1245 size_t j, count;
@@ -1248,7 +1247,7 @@ sink(int argc, char **argv, const char *src)
1248 mode_t mode, omode, mask; 1247 mode_t mode, omode, mask;
1249 off_t size, statbytes; 1248 off_t size, statbytes;
1250 unsigned long long ull; 1249 unsigned long long ull;
1251 int setimes, targisdir, wrerrno = 0; 1250 int setimes, targisdir, wrerr;
1252 char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048]; 1251 char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048];
1253 char **patterns = NULL; 1252 char **patterns = NULL;
1254 size_t n, npatterns = 0; 1253 size_t n, npatterns = 0;
@@ -1436,9 +1435,7 @@ sink(int argc, char **argv, const char *src)
1436 sink(1, vect, src); 1435 sink(1, vect, src);
1437 if (setimes) { 1436 if (setimes) {
1438 setimes = 0; 1437 setimes = 0;
1439 if (utimes(vect[0], tv) == -1) 1438 (void) utimes(vect[0], tv);
1440 run_err("%s: set times: %s",
1441 vect[0], strerror(errno));
1442 } 1439 }
1443 if (mod_flag) 1440 if (mod_flag)
1444 (void) chmod(vect[0], mode); 1441 (void) chmod(vect[0], mode);
@@ -1457,8 +1454,13 @@ bad: run_err("%s: %s", np, strerror(errno));
1457 continue; 1454 continue;
1458 } 1455 }
1459 cp = bp->buf; 1456 cp = bp->buf;
1460 wrerr = NO; 1457 wrerr = 0;
1461 1458
1459 /*
1460 * NB. do not use run_err() unless immediately followed by
1461 * exit() below as it may send a spurious reply that might
1462 * desyncronise us from the peer. Use note_err() instead.
1463 */
1462 statbytes = 0; 1464 statbytes = 0;
1463 if (showprogress) 1465 if (showprogress)
1464 start_progress_meter(curfile, size, &statbytes); 1466 start_progress_meter(curfile, size, &statbytes);
@@ -1483,11 +1485,12 @@ bad: run_err("%s: %s", np, strerror(errno));
1483 1485
1484 if (count == bp->cnt) { 1486 if (count == bp->cnt) {
1485 /* Keep reading so we stay sync'd up. */ 1487 /* Keep reading so we stay sync'd up. */
1486 if (wrerr == NO) { 1488 if (!wrerr) {
1487 if (atomicio(vwrite, ofd, bp->buf, 1489 if (atomicio(vwrite, ofd, bp->buf,
1488 count) != count) { 1490 count) != count) {
1489 wrerr = YES; 1491 note_err("%s: %s", np,
1490 wrerrno = errno; 1492 strerror(errno));
1493 wrerr = 1;
1491 } 1494 }
1492 } 1495 }
1493 count = 0; 1496 count = 0;
@@ -1495,16 +1498,14 @@ bad: run_err("%s: %s", np, strerror(errno));
1495 } 1498 }
1496 } 1499 }
1497 unset_nonblock(remin); 1500 unset_nonblock(remin);
1498 if (count != 0 && wrerr == NO && 1501 if (count != 0 && !wrerr &&
1499 atomicio(vwrite, ofd, bp->buf, count) != count) { 1502 atomicio(vwrite, ofd, bp->buf, count) != count) {
1500 wrerr = YES; 1503 note_err("%s: %s", np, strerror(errno));
1501 wrerrno = errno; 1504 wrerr = 1;
1502 }
1503 if (wrerr == NO && (!exists || S_ISREG(stb.st_mode)) &&
1504 ftruncate(ofd, size) != 0) {
1505 run_err("%s: truncate: %s", np, strerror(errno));
1506 wrerr = DISPLAYED;
1507 } 1505 }
1506 if (!wrerr && (!exists || S_ISREG(stb.st_mode)) &&
1507 ftruncate(ofd, size) != 0)
1508 note_err("%s: truncate: %s", np, strerror(errno));
1508 if (pflag) { 1509 if (pflag) {
1509 if (exists || omode != mode) 1510 if (exists || omode != mode)
1510#ifdef HAVE_FCHMOD 1511#ifdef HAVE_FCHMOD
@@ -1512,9 +1513,8 @@ bad: run_err("%s: %s", np, strerror(errno));
1512#else /* HAVE_FCHMOD */ 1513#else /* HAVE_FCHMOD */
1513 if (chmod(np, omode)) { 1514 if (chmod(np, omode)) {
1514#endif /* HAVE_FCHMOD */ 1515#endif /* HAVE_FCHMOD */
1515 run_err("%s: set mode: %s", 1516 note_err("%s: set mode: %s",
1516 np, strerror(errno)); 1517 np, strerror(errno));
1517 wrerr = DISPLAYED;
1518 } 1518 }
1519 } else { 1519 } else {
1520 if (!exists && omode != mode) 1520 if (!exists && omode != mode)
@@ -1523,36 +1523,25 @@ bad: run_err("%s: %s", np, strerror(errno));
1523#else /* HAVE_FCHMOD */ 1523#else /* HAVE_FCHMOD */
1524 if (chmod(np, omode & ~mask)) { 1524 if (chmod(np, omode & ~mask)) {
1525#endif /* HAVE_FCHMOD */ 1525#endif /* HAVE_FCHMOD */
1526 run_err("%s: set mode: %s", 1526 note_err("%s: set mode: %s",
1527 np, strerror(errno)); 1527 np, strerror(errno));
1528 wrerr = DISPLAYED;
1529 } 1528 }
1530 } 1529 }
1531 if (close(ofd) == -1) { 1530 if (close(ofd) == -1)
1532 wrerr = YES; 1531 note_err(np, "%s: close: %s", np, strerror(errno));
1533 wrerrno = errno;
1534 }
1535 (void) response(); 1532 (void) response();
1536 if (showprogress) 1533 if (showprogress)
1537 stop_progress_meter(); 1534 stop_progress_meter();
1538 if (setimes && wrerr == NO) { 1535 if (setimes && !wrerr) {
1539 setimes = 0; 1536 setimes = 0;
1540 if (utimes(np, tv) == -1) { 1537 if (utimes(np, tv) == -1) {
1541 run_err("%s: set times: %s", 1538 note_err("%s: set times: %s",
1542 np, strerror(errno)); 1539 np, strerror(errno));
1543 wrerr = DISPLAYED;
1544 } 1540 }
1545 } 1541 }
1546 switch (wrerr) { 1542 /* If no error was noted then signal success for this file */
1547 case YES: 1543 if (note_err(NULL) == 0)
1548 run_err("%s: %s", np, strerror(wrerrno));
1549 break;
1550 case NO:
1551 (void) atomicio(vwrite, remout, "", 1); 1544 (void) atomicio(vwrite, remout, "", 1);
1552 break;
1553 case DISPLAYED:
1554 break;
1555 }
1556 } 1545 }
1557done: 1546done:
1558 for (n = 0; n < npatterns; n++) 1547 for (n = 0; n < npatterns; n++)
@@ -1640,6 +1629,38 @@ run_err(const char *fmt,...)
1640 } 1629 }
1641} 1630}
1642 1631
1632/*
1633 * Notes a sink error for sending at the end of a file transfer. Returns 0 if
1634 * no error has been noted or -1 otherwise. Use note_err(NULL) to flush
1635 * any active error at the end of the transfer.
1636 */
1637int
1638note_err(const char *fmt, ...)
1639{
1640 static char *emsg;
1641 va_list ap;
1642
1643 /* Replay any previously-noted error */
1644 if (fmt == NULL) {
1645 if (emsg == NULL)
1646 return 0;
1647 run_err("%s", emsg);
1648 free(emsg);
1649 emsg = NULL;
1650 return -1;
1651 }
1652
1653 errs++;
1654 /* Prefer first-noted error */
1655 if (emsg != NULL)
1656 return -1;
1657
1658 va_start(ap, fmt);
1659 vasnmprintf(&emsg, INT_MAX, NULL, fmt, ap);
1660 va_end(ap);
1661 return -1;
1662}
1663
1643void 1664void
1644verifydir(char *cp) 1665verifydir(char *cp)
1645{ 1666{
diff --git a/servconf.c b/servconf.c
index 470ad3619..c290e9786 100644
--- a/servconf.c
+++ b/servconf.c
@@ -1,5 +1,5 @@
1 1
2/* $OpenBSD: servconf.c,v 1.360 2020/01/31 22:42:45 djm Exp $ */ 2/* $OpenBSD: servconf.c,v 1.363 2020/04/17 03:30:05 djm Exp $ */
3/* 3/*
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5 * All rights reserved 5 * All rights reserved
@@ -15,7 +15,7 @@
15 15
16#include <sys/types.h> 16#include <sys/types.h>
17#include <sys/socket.h> 17#include <sys/socket.h>
18#ifdef HAVE_SYS_SYSCTL_H 18#ifdef __OpenBSD__
19#include <sys/sysctl.h> 19#include <sys/sysctl.h>
20#endif 20#endif
21 21
@@ -653,7 +653,7 @@ static struct {
653#else 653#else
654 { "printlastlog", sPrintLastLog, SSHCFG_GLOBAL }, 654 { "printlastlog", sPrintLastLog, SSHCFG_GLOBAL },
655#endif 655#endif
656 { "ignorerhosts", sIgnoreRhosts, SSHCFG_GLOBAL }, 656 { "ignorerhosts", sIgnoreRhosts, SSHCFG_ALL },
657 { "ignoreuserknownhosts", sIgnoreUserKnownHosts, SSHCFG_GLOBAL }, 657 { "ignoreuserknownhosts", sIgnoreUserKnownHosts, SSHCFG_GLOBAL },
658 { "x11forwarding", sX11Forwarding, SSHCFG_ALL }, 658 { "x11forwarding", sX11Forwarding, SSHCFG_ALL },
659 { "x11displayoffset", sX11DisplayOffset, SSHCFG_ALL }, 659 { "x11displayoffset", sX11DisplayOffset, SSHCFG_ALL },
@@ -1242,6 +1242,12 @@ static const struct multistate multistate_flag[] = {
1242 { "no", 0 }, 1242 { "no", 0 },
1243 { NULL, -1 } 1243 { NULL, -1 }
1244}; 1244};
1245static const struct multistate multistate_ignore_rhosts[] = {
1246 { "yes", IGNORE_RHOSTS_YES },
1247 { "no", IGNORE_RHOSTS_NO },
1248 { "shosts-only", IGNORE_RHOSTS_SHOSTS },
1249 { NULL, -1 }
1250};
1245static const struct multistate multistate_addressfamily[] = { 1251static const struct multistate multistate_addressfamily[] = {
1246 { "inet", AF_INET }, 1252 { "inet", AF_INET },
1247 { "inet6", AF_INET6 }, 1253 { "inet6", AF_INET6 },
@@ -1491,13 +1497,14 @@ process_server_config_line_depth(ServerOptions *options, char *line,
1491 1497
1492 case sIgnoreRhosts: 1498 case sIgnoreRhosts:
1493 intptr = &options->ignore_rhosts; 1499 intptr = &options->ignore_rhosts;
1494 parse_flag: 1500 multistate_ptr = multistate_ignore_rhosts;
1495 multistate_ptr = multistate_flag;
1496 goto parse_multistate; 1501 goto parse_multistate;
1497 1502
1498 case sIgnoreUserKnownHosts: 1503 case sIgnoreUserKnownHosts:
1499 intptr = &options->ignore_user_known_hosts; 1504 intptr = &options->ignore_user_known_hosts;
1500 goto parse_flag; 1505 parse_flag:
1506 multistate_ptr = multistate_flag;
1507 goto parse_multistate;
1501 1508
1502 case sHostbasedAuthentication: 1509 case sHostbasedAuthentication:
1503 intptr = &options->hostbased_authentication; 1510 intptr = &options->hostbased_authentication;
@@ -2026,7 +2033,7 @@ process_server_config_line_depth(ServerOptions *options, char *line,
2026 value++; 2033 value++;
2027 found = 0; 2034 found = 0;
2028 if (*arg2 != '/' && *arg2 != '~') { 2035 if (*arg2 != '/' && *arg2 != '~') {
2029 xasprintf(&arg, "%s/%s", SSHDIR, arg); 2036 xasprintf(&arg, "%s/%s", SSHDIR, arg2);
2030 } else 2037 } else
2031 arg = xstrdup(arg2); 2038 arg = xstrdup(arg2);
2032 2039
@@ -2374,6 +2381,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
2374 goto parse_flag; 2381 goto parse_flag;
2375 2382
2376 case sRDomain: 2383 case sRDomain:
2384#if !defined(__OpenBSD__) && !defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
2385 fatal("%s line %d: setting RDomain not supported on this "
2386 "platform.", filename, linenum);
2387#endif
2377 charptr = &options->routing_domain; 2388 charptr = &options->routing_domain;
2378 arg = strdelim(&cp); 2389 arg = strdelim(&cp);
2379 if (!arg || *arg == '\0') 2390 if (!arg || *arg == '\0')
@@ -2526,6 +2537,7 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth)
2526 M_CP_INTOPT(kbd_interactive_authentication); 2537 M_CP_INTOPT(kbd_interactive_authentication);
2527 M_CP_INTOPT(permit_root_login); 2538 M_CP_INTOPT(permit_root_login);
2528 M_CP_INTOPT(permit_empty_passwd); 2539 M_CP_INTOPT(permit_empty_passwd);
2540 M_CP_INTOPT(ignore_rhosts);
2529 2541
2530 M_CP_INTOPT(allow_tcp_forwarding); 2542 M_CP_INTOPT(allow_tcp_forwarding);
2531 M_CP_INTOPT(allow_streamlocal_forwarding); 2543 M_CP_INTOPT(allow_streamlocal_forwarding);
@@ -2680,6 +2692,8 @@ fmt_intarg(ServerOpCodes code, int val)
2680 return fmt_multistate_int(val, multistate_tcpfwd); 2692 return fmt_multistate_int(val, multistate_tcpfwd);
2681 case sAllowStreamLocalForwarding: 2693 case sAllowStreamLocalForwarding:
2682 return fmt_multistate_int(val, multistate_tcpfwd); 2694 return fmt_multistate_int(val, multistate_tcpfwd);
2695 case sIgnoreRhosts:
2696 return fmt_multistate_int(val, multistate_ignore_rhosts);
2683 case sFingerprintHash: 2697 case sFingerprintHash:
2684 return ssh_digest_alg_name(val); 2698 return ssh_digest_alg_name(val);
2685 default: 2699 default:
@@ -2887,7 +2901,9 @@ dump_config(ServerOptions *o)
2887 dump_cfg_string(sHostbasedAcceptedKeyTypes, o->hostbased_key_types); 2901 dump_cfg_string(sHostbasedAcceptedKeyTypes, o->hostbased_key_types);
2888 dump_cfg_string(sHostKeyAlgorithms, o->hostkeyalgorithms); 2902 dump_cfg_string(sHostKeyAlgorithms, o->hostkeyalgorithms);
2889 dump_cfg_string(sPubkeyAcceptedKeyTypes, o->pubkey_key_types); 2903 dump_cfg_string(sPubkeyAcceptedKeyTypes, o->pubkey_key_types);
2904#if defined(__OpenBSD__) || defined(HAVE_SYS_SET_PROCESS_RDOMAIN)
2890 dump_cfg_string(sRDomain, o->routing_domain); 2905 dump_cfg_string(sRDomain, o->routing_domain);
2906#endif
2891 2907
2892 /* string arguments requiring a lookup */ 2908 /* string arguments requiring a lookup */
2893 dump_cfg_string(sLogLevel, log_level_name(o->log_level)); 2909 dump_cfg_string(sLogLevel, log_level_name(o->log_level));
diff --git a/servconf.h b/servconf.h
index 3fa05fcac..5a2b60512 100644
--- a/servconf.h
+++ b/servconf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: servconf.h,v 1.143 2020/01/31 22:42:45 djm Exp $ */ 1/* $OpenBSD: servconf.h,v 1.144 2020/04/17 03:30:05 djm Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -38,6 +38,11 @@
38#define PERMITOPEN_ANY 0 38#define PERMITOPEN_ANY 0
39#define PERMITOPEN_NONE -2 39#define PERMITOPEN_NONE -2
40 40
41/* IgnoreRhosts */
42#define IGNORE_RHOSTS_NO 0
43#define IGNORE_RHOSTS_YES 1
44#define IGNORE_RHOSTS_SHOSTS 2
45
41#define DEFAULT_AUTH_FAIL_MAX 6 /* Default for MaxAuthTries */ 46#define DEFAULT_AUTH_FAIL_MAX 6 /* Default for MaxAuthTries */
42#define DEFAULT_SESSIONS_MAX 10 /* Default for MaxSessions */ 47#define DEFAULT_SESSIONS_MAX 10 /* Default for MaxSessions */
43 48
diff --git a/session.c b/session.c
index 871799590..837a8bacf 100644
--- a/session.c
+++ b/session.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: session.c,v 1.318 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: session.c,v 1.319 2020/03/13 03:17:07 djm Exp $ */
2/* 2/*
3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
4 * All rights reserved 4 * All rights reserved
@@ -1017,7 +1017,7 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell)
1017 1017
1018#ifdef GSSAPI 1018#ifdef GSSAPI
1019 /* Allow any GSSAPI methods that we've used to alter 1019 /* Allow any GSSAPI methods that we've used to alter
1020 * the childs environment as they see fit 1020 * the child's environment as they see fit
1021 */ 1021 */
1022 ssh_gssapi_do_child(&env, &envsize); 1022 ssh_gssapi_do_child(&env, &envsize);
1023#endif 1023#endif
@@ -2412,7 +2412,7 @@ session_exit_message(struct ssh *ssh, Session *s, int status)
2412 /* 2412 /*
2413 * Adjust cleanup callback attachment to send close messages when 2413 * Adjust cleanup callback attachment to send close messages when
2414 * the channel gets EOF. The session will be then be closed 2414 * the channel gets EOF. The session will be then be closed
2415 * by session_close_by_channel when the childs close their fds. 2415 * by session_close_by_channel when the child sessions close their fds.
2416 */ 2416 */
2417 channel_register_cleanup(ssh, c->self, session_close_by_channel, 1); 2417 channel_register_cleanup(ssh, c->self, session_close_by_channel, 1);
2418 2418
diff --git a/sftp-server.0 b/sftp-server.0
index ef485773d..4c5fbbb72 100644
--- a/sftp-server.0
+++ b/sftp-server.0
@@ -93,4 +93,4 @@ HISTORY
93AUTHORS 93AUTHORS
94 Markus Friedl <markus@openbsd.org> 94 Markus Friedl <markus@openbsd.org>
95 95
96OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 96OpenBSD 6.7 November 30, 2019 OpenBSD 6.7
diff --git a/sftp.0 b/sftp.0
index 6d0405758..2823313cb 100644
--- a/sftp.0
+++ b/sftp.0
@@ -4,7 +4,7 @@ NAME
4 sftp M-bM-^@M-^S OpenSSH secure file transfer 4 sftp M-bM-^@M-^S OpenSSH secure file transfer
5 5
6SYNOPSIS 6SYNOPSIS
7 sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher] 7 sftp [-46aCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
8 [-D sftp_server_path] [-F ssh_config] [-i identity_file] 8 [-D sftp_server_path] [-F ssh_config] [-i identity_file]
9 [-J destination] [-l limit] [-o ssh_option] [-P port] 9 [-J destination] [-l limit] [-o ssh_option] [-P port]
10 [-R num_requests] [-S program] [-s subsystem | sftp_server] 10 [-R num_requests] [-S program] [-s subsystem | sftp_server]
@@ -100,6 +100,9 @@ DESCRIPTION
100 -l limit 100 -l limit
101 Limits the used bandwidth, specified in Kbit/s. 101 Limits the used bandwidth, specified in Kbit/s.
102 102
103 -N Disables quiet mode, e.g. to override the implicit quiet mode set
104 by the -b flag.
105
103 -o ssh_option 106 -o ssh_option
104 Can be used to pass options to ssh in the format used in 107 Can be used to pass options to ssh in the format used in
105 ssh_config(5). This is useful for specifying options for which 108 ssh_config(5). This is useful for specifying options for which
@@ -393,4 +396,4 @@ SEE ALSO
393 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh- 396 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
394 filexfer-00.txt, January 2001, work in progress material. 397 filexfer-00.txt, January 2001, work in progress material.
395 398
396OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 399OpenBSD 6.7 April 23, 2020 OpenBSD 6.7
diff --git a/sftp.1 b/sftp.1
index 6d69472e1..a305b37d1 100644
--- a/sftp.1
+++ b/sftp.1
@@ -1,4 +1,4 @@
1.\" $OpenBSD: sftp.1,v 1.128 2019/11/30 07:07:59 jmc Exp $ 1.\" $OpenBSD: sftp.1,v 1.131 2020/04/23 21:28:09 jmc Exp $
2.\" 2.\"
3.\" Copyright (c) 2001 Damien Miller. All rights reserved. 3.\" Copyright (c) 2001 Damien Miller. All rights reserved.
4.\" 4.\"
@@ -22,7 +22,7 @@
22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24.\" 24.\"
25.Dd $Mdocdate: November 30 2019 $ 25.Dd $Mdocdate: April 23 2020 $
26.Dt SFTP 1 26.Dt SFTP 1
27.Os 27.Os
28.Sh NAME 28.Sh NAME
@@ -30,7 +30,7 @@
30.Nd OpenSSH secure file transfer 30.Nd OpenSSH secure file transfer
31.Sh SYNOPSIS 31.Sh SYNOPSIS
32.Nm sftp 32.Nm sftp
33.Op Fl 46aCfpqrv 33.Op Fl 46aCfNpqrv
34.Op Fl B Ar buffer_size 34.Op Fl B Ar buffer_size
35.Op Fl b Ar batchfile 35.Op Fl b Ar batchfile
36.Op Fl c Ar cipher 36.Op Fl c Ar cipher
@@ -197,6 +197,10 @@ This option is directly passed to
197.Xr ssh 1 . 197.Xr ssh 1 .
198.It Fl l Ar limit 198.It Fl l Ar limit
199Limits the used bandwidth, specified in Kbit/s. 199Limits the used bandwidth, specified in Kbit/s.
200.It Fl N
201Disables quiet mode, e.g. to override the implicit quiet mode set by the
202.Fl b
203flag.
200.It Fl o Ar ssh_option 204.It Fl o Ar ssh_option
201Can be used to pass options to 205Can be used to pass options to
202.Nm ssh 206.Nm ssh
@@ -631,7 +635,7 @@ Equivalent to
631with the 635with the
632.Fl a 636.Fl a
633flag set. 637flag set.
634.It Ic rename Ar oldpath Ar newpath 638.It Ic rename Ar oldpath newpath
635Rename remote file from 639Rename remote file from
636.Ar oldpath 640.Ar oldpath
637to 641to
@@ -642,7 +646,7 @@ Delete remote file specified by
642.It Ic rmdir Ar path 646.It Ic rmdir Ar path
643Remove remote directory specified by 647Remove remote directory specified by
644.Ar path . 648.Ar path .
645.It Ic symlink Ar oldpath Ar newpath 649.It Ic symlink Ar oldpath newpath
646Create a symbolic link from 650Create a symbolic link from
647.Ar oldpath 651.Ar oldpath
648to 652to
diff --git a/sftp.c b/sftp.c
index ff14d3c29..2799e4a10 100644
--- a/sftp.c
+++ b/sftp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sftp.c,v 1.197 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: sftp.c,v 1.200 2020/04/03 05:53:52 jmc Exp $ */
2/* 2/*
3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org> 3 * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
4 * 4 *
@@ -2363,7 +2363,7 @@ usage(void)
2363 extern char *__progname; 2363 extern char *__progname;
2364 2364
2365 fprintf(stderr, 2365 fprintf(stderr,
2366 "usage: %s [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]\n" 2366 "usage: %s [-46aCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]\n"
2367 " [-D sftp_server_path] [-F ssh_config] [-i identity_file]\n" 2367 " [-D sftp_server_path] [-F ssh_config] [-i identity_file]\n"
2368 " [-J destination] [-l limit] [-o ssh_option] [-P port]\n" 2368 " [-J destination] [-l limit] [-o ssh_option] [-P port]\n"
2369 " [-R num_requests] [-S program] [-s subsystem | sftp_server]\n" 2369 " [-R num_requests] [-S program] [-s subsystem | sftp_server]\n"
@@ -2375,9 +2375,9 @@ usage(void)
2375int 2375int
2376main(int argc, char **argv) 2376main(int argc, char **argv)
2377{ 2377{
2378 int in, out, ch, err, tmp, port = -1; 2378 int in, out, ch, err, tmp, port = -1, noisy = 0;
2379 char *host = NULL, *user, *cp, *file2 = NULL; 2379 char *host = NULL, *user, *cp, *file2 = NULL;
2380 int debug_level = 0, sshver = 2; 2380 int debug_level = 0;
2381 char *file1 = NULL, *sftp_server = NULL; 2381 char *file1 = NULL, *sftp_server = NULL;
2382 char *ssh_program = _PATH_SSH_PROGRAM, *sftp_direct = NULL; 2382 char *ssh_program = _PATH_SSH_PROGRAM, *sftp_direct = NULL;
2383 const char *errstr; 2383 const char *errstr;
@@ -2409,7 +2409,7 @@ main(int argc, char **argv)
2409 infile = stdin; 2409 infile = stdin;
2410 2410
2411 while ((ch = getopt(argc, argv, 2411 while ((ch = getopt(argc, argv,
2412 "1246afhpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) { 2412 "1246afhNpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) {
2413 switch (ch) { 2413 switch (ch) {
2414 /* Passed through to ssh(1) */ 2414 /* Passed through to ssh(1) */
2415 case '4': 2415 case '4':
@@ -2445,12 +2445,10 @@ main(int argc, char **argv)
2445 debug_level++; 2445 debug_level++;
2446 break; 2446 break;
2447 case '1': 2447 case '1':
2448 sshver = 1; 2448 fatal("SSH protocol v.1 is no longer supported");
2449 if (sftp_server == NULL)
2450 sftp_server = _PATH_SFTP_SERVER;
2451 break; 2449 break;
2452 case '2': 2450 case '2':
2453 sshver = 2; 2451 /* accept silently */
2454 break; 2452 break;
2455 case 'a': 2453 case 'a':
2456 global_aflag = 1; 2454 global_aflag = 1;
@@ -2475,6 +2473,9 @@ main(int argc, char **argv)
2475 case 'f': 2473 case 'f':
2476 global_fflag = 1; 2474 global_fflag = 1;
2477 break; 2475 break;
2476 case 'N':
2477 noisy = 1; /* Used to clear quiet mode after getopt */
2478 break;
2478 case 'p': 2479 case 'p':
2479 global_pflag = 1; 2480 global_pflag = 1;
2480 break; 2481 break;
@@ -2513,6 +2514,9 @@ main(int argc, char **argv)
2513 if (!isatty(STDERR_FILENO)) 2514 if (!isatty(STDERR_FILENO))
2514 showprogress = 0; 2515 showprogress = 0;
2515 2516
2517 if (noisy)
2518 quiet = 0;
2519
2516 log_init(argv[0], ll, SYSLOG_FACILITY_USER, 1); 2520 log_init(argv[0], ll, SYSLOG_FACILITY_USER, 1);
2517 2521
2518 if (sftp_direct == NULL) { 2522 if (sftp_direct == NULL) {
@@ -2555,7 +2559,6 @@ main(int argc, char **argv)
2555 addargs(&args, "-l"); 2559 addargs(&args, "-l");
2556 addargs(&args, "%s", user); 2560 addargs(&args, "%s", user);
2557 } 2561 }
2558 addargs(&args, "-oProtocol %d", sshver);
2559 2562
2560 /* no subsystem if the server-spec contains a '/' */ 2563 /* no subsystem if the server-spec contains a '/' */
2561 if (sftp_server == NULL || strchr(sftp_server, '/') == NULL) 2564 if (sftp_server == NULL || strchr(sftp_server, '/') == NULL)
diff --git a/sk-api.h b/sk-api.h
index 170fd4470..1ecaa3537 100644
--- a/sk-api.h
+++ b/sk-api.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: sk-api.h,v 1.8 2020/01/25 23:13:09 djm Exp $ */ 1/* $OpenBSD: sk-api.h,v 1.9 2020/04/28 04:02:29 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2019 Google LLC 3 * Copyright (c) 2019 Google LLC
4 * 4 *
@@ -71,7 +71,7 @@ struct sk_option {
71 uint8_t required; 71 uint8_t required;
72}; 72};
73 73
74#define SSH_SK_VERSION_MAJOR 0x00040000 /* current API version */ 74#define SSH_SK_VERSION_MAJOR 0x00050000 /* current API version */
75#define SSH_SK_VERSION_MAJOR_MASK 0xffff0000 75#define SSH_SK_VERSION_MAJOR_MASK 0xffff0000
76 76
77/* Return the version of the middleware API */ 77/* Return the version of the middleware API */
diff --git a/sk-usbhid.c b/sk-usbhid.c
index ad83054ad..25250824d 100644
--- a/sk-usbhid.c
+++ b/sk-usbhid.c
@@ -24,6 +24,9 @@
24#include <stdio.h> 24#include <stdio.h>
25#include <stddef.h> 25#include <stddef.h>
26#include <stdarg.h> 26#include <stdarg.h>
27#ifdef HAVE_SHA2_H
28#include <sha2.h>
29#endif
27 30
28#ifdef WITH_OPENSSL 31#ifdef WITH_OPENSSL
29#include <openssl/opensslv.h> 32#include <openssl/opensslv.h>
@@ -31,6 +34,7 @@
31#include <openssl/bn.h> 34#include <openssl/bn.h>
32#include <openssl/ec.h> 35#include <openssl/ec.h>
33#include <openssl/ecdsa.h> 36#include <openssl/ecdsa.h>
37#include <openssl/evp.h>
34#endif /* WITH_OPENSSL */ 38#endif /* WITH_OPENSSL */
35 39
36#include <fido.h> 40#include <fido.h>
@@ -710,8 +714,28 @@ check_sign_load_resident_options(struct sk_option **options, char **devicep)
710 return 0; 714 return 0;
711} 715}
712 716
717/* Calculate SHA256(m) */
718static int
719sha256_mem(const void *m, size_t mlen, u_char *d, size_t dlen)
720{
721#ifdef WITH_OPENSSL
722 u_int mdlen;
723#endif
724
725 if (dlen != 32)
726 return -1;
727#ifdef WITH_OPENSSL
728 mdlen = dlen;
729 if (!EVP_Digest(m, mlen, d, &mdlen, EVP_sha256(), NULL))
730 return -1;
731#else
732 SHA256Data(m, mlen, d);
733#endif
734 return 0;
735}
736
713int 737int
714sk_sign(uint32_t alg, const uint8_t *message, size_t message_len, 738sk_sign(uint32_t alg, const uint8_t *data, size_t datalen,
715 const char *application, 739 const char *application,
716 const uint8_t *key_handle, size_t key_handle_len, 740 const uint8_t *key_handle, size_t key_handle_len,
717 uint8_t flags, const char *pin, struct sk_option **options, 741 uint8_t flags, const char *pin, struct sk_option **options,
@@ -721,6 +745,7 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
721 char *device = NULL; 745 char *device = NULL;
722 fido_dev_t *dev = NULL; 746 fido_dev_t *dev = NULL;
723 struct sk_sign_response *response = NULL; 747 struct sk_sign_response *response = NULL;
748 uint8_t message[32];
724 int ret = SSH_SK_ERR_GENERAL; 749 int ret = SSH_SK_ERR_GENERAL;
725 int r; 750 int r;
726 751
@@ -735,7 +760,12 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
735 *sign_response = NULL; 760 *sign_response = NULL;
736 if (check_sign_load_resident_options(options, &device) != 0) 761 if (check_sign_load_resident_options(options, &device) != 0)
737 goto out; /* error already logged */ 762 goto out; /* error already logged */
738 if ((dev = find_device(device, message, message_len, 763 /* hash data to be signed before it goes to the security key */
764 if ((r = sha256_mem(data, datalen, message, sizeof(message))) != 0) {
765 skdebug(__func__, "hash message failed");
766 goto out;
767 }
768 if ((dev = find_device(device, message, sizeof(message),
739 application, key_handle, key_handle_len)) == NULL) { 769 application, key_handle, key_handle_len)) == NULL) {
740 skdebug(__func__, "couldn't find device for key handle"); 770 skdebug(__func__, "couldn't find device for key handle");
741 goto out; 771 goto out;
@@ -745,7 +775,7 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
745 goto out; 775 goto out;
746 } 776 }
747 if ((r = fido_assert_set_clientdata_hash(assert, message, 777 if ((r = fido_assert_set_clientdata_hash(assert, message,
748 message_len)) != FIDO_OK) { 778 sizeof(message))) != FIDO_OK) {
749 skdebug(__func__, "fido_assert_set_clientdata_hash: %s", 779 skdebug(__func__, "fido_assert_set_clientdata_hash: %s",
750 fido_strerr(r)); 780 fido_strerr(r));
751 goto out; 781 goto out;
@@ -783,6 +813,7 @@ sk_sign(uint32_t alg, const uint8_t *message, size_t message_len,
783 response = NULL; 813 response = NULL;
784 ret = 0; 814 ret = 0;
785 out: 815 out:
816 explicit_bzero(message, sizeof(message));
786 free(device); 817 free(device);
787 if (response != NULL) { 818 if (response != NULL) {
788 free(response->sig_r); 819 free(response->sig_r);
diff --git a/ssh-add.0 b/ssh-add.0
index 36a7ac6ab..698f1b891 100644
--- a/ssh-add.0
+++ b/ssh-add.0
@@ -141,4 +141,4 @@ AUTHORS
141 created OpenSSH. Markus Friedl contributed the support for SSH protocol 141 created OpenSSH. Markus Friedl contributed the support for SSH protocol
142 versions 1.5 and 2.0. 142 versions 1.5 and 2.0.
143 143
144OpenBSD 6.6 February 7, 2020 OpenBSD 6.6 144OpenBSD 6.7 February 7, 2020 OpenBSD 6.7
diff --git a/ssh-add.c b/ssh-add.c
index 8057eb1fe..a40198ab5 100644
--- a/ssh-add.c
+++ b/ssh-add.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-add.c,v 1.152 2020/02/06 22:30:54 naddy Exp $ */ 1/* $OpenBSD: ssh-add.c,v 1.155 2020/03/16 02:17:02 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -90,7 +90,7 @@ static char *default_files[] = {
90static int fingerprint_hash = SSH_FP_HASH_DEFAULT; 90static int fingerprint_hash = SSH_FP_HASH_DEFAULT;
91 91
92/* Default lifetime (0 == forever) */ 92/* Default lifetime (0 == forever) */
93static int lifetime = 0; 93static long lifetime = 0;
94 94
95/* User has to confirm key use */ 95/* User has to confirm key use */
96static int confirm = 0; 96static int confirm = 0;
@@ -105,8 +105,7 @@ static void
105clear_pass(void) 105clear_pass(void)
106{ 106{
107 if (pass) { 107 if (pass) {
108 explicit_bzero(pass, strlen(pass)); 108 freezero(pass, strlen(pass));
109 free(pass);
110 pass = NULL; 109 pass = NULL;
111 } 110 }
112} 111}
@@ -328,7 +327,7 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag,
328 filename, comment); 327 filename, comment);
329 if (lifetime != 0) { 328 if (lifetime != 0) {
330 fprintf(stderr, 329 fprintf(stderr,
331 "Lifetime set to %d seconds\n", lifetime); 330 "Lifetime set to %ld seconds\n", lifetime);
332 } 331 }
333 if (confirm != 0) { 332 if (confirm != 0) {
334 fprintf(stderr, "The user must confirm " 333 fprintf(stderr, "The user must confirm "
@@ -384,7 +383,7 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag,
384 fprintf(stderr, "Certificate added: %s (%s)\n", certpath, 383 fprintf(stderr, "Certificate added: %s (%s)\n", certpath,
385 private->cert->key_id); 384 private->cert->key_id);
386 if (lifetime != 0) { 385 if (lifetime != 0) {
387 fprintf(stderr, "Lifetime set to %d seconds\n", 386 fprintf(stderr, "Lifetime set to %ld seconds\n",
388 lifetime); 387 lifetime);
389 } 388 }
390 if (confirm != 0) { 389 if (confirm != 0) {
@@ -521,8 +520,7 @@ lock_agent(int agent_fd, int lock)
521 fprintf(stderr, "Passwords do not match.\n"); 520 fprintf(stderr, "Passwords do not match.\n");
522 passok = 0; 521 passok = 0;
523 } 522 }
524 explicit_bzero(p2, strlen(p2)); 523 freezero(p2, strlen(p2));
525 free(p2);
526 } 524 }
527 if (passok) { 525 if (passok) {
528 if ((r = ssh_lock_agent(agent_fd, lock, p1)) == 0) { 526 if ((r = ssh_lock_agent(agent_fd, lock, p1)) == 0) {
@@ -533,8 +531,7 @@ lock_agent(int agent_fd, int lock)
533 lock ? "" : "un", ssh_err(r)); 531 lock ? "" : "un", ssh_err(r));
534 } 532 }
535 } 533 }
536 explicit_bzero(p1, strlen(p1)); 534 freezero(p1, strlen(p1));
537 free(p1);
538 return (ret); 535 return (ret);
539} 536}
540 537
@@ -571,7 +568,7 @@ load_resident_keys(int agent_fd, const char *skprovider, int qflag)
571 sshkey_type(keys[i]), fp); 568 sshkey_type(keys[i]), fp);
572 if (lifetime != 0) { 569 if (lifetime != 0) {
573 fprintf(stderr, 570 fprintf(stderr,
574 "Lifetime set to %d seconds\n", lifetime); 571 "Lifetime set to %ld seconds\n", lifetime);
575 } 572 }
576 if (confirm != 0) { 573 if (confirm != 0) {
577 fprintf(stderr, "The user must confirm " 574 fprintf(stderr, "The user must confirm "
@@ -720,7 +717,8 @@ main(int argc, char **argv)
720 pkcs11provider = optarg; 717 pkcs11provider = optarg;
721 break; 718 break;
722 case 't': 719 case 't':
723 if ((lifetime = convtime(optarg)) == -1) { 720 if ((lifetime = convtime(optarg)) == -1 ||
721 lifetime < 0 || (u_long)lifetime > UINT32_MAX) {
724 fprintf(stderr, "Invalid lifetime\n"); 722 fprintf(stderr, "Invalid lifetime\n");
725 ret = 1; 723 ret = 1;
726 goto done; 724 goto done;
diff --git a/ssh-agent.0 b/ssh-agent.0
index c5fe8b153..df4f0cc6c 100644
--- a/ssh-agent.0
+++ b/ssh-agent.0
@@ -114,4 +114,4 @@ AUTHORS
114 created OpenSSH. Markus Friedl contributed the support for SSH protocol 114 created OpenSSH. Markus Friedl contributed the support for SSH protocol
115 versions 1.5 and 2.0. 115 versions 1.5 and 2.0.
116 116
117OpenBSD 6.6 December 21, 2019 OpenBSD 6.6 117OpenBSD 6.7 December 21, 2019 OpenBSD 6.7
diff --git a/ssh-agent.c b/ssh-agent.c
index 7eb6f0dc5..e081413b8 100644
--- a/ssh-agent.c
+++ b/ssh-agent.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-agent.c,v 1.255 2020/02/06 22:30:54 naddy Exp $ */ 1/* $OpenBSD: ssh-agent.c,v 1.257 2020/03/06 18:28:27 markus Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -428,7 +428,7 @@ process_add_identity(SocketEntry *e)
428{ 428{
429 Identity *id; 429 Identity *id;
430 int success = 0, confirm = 0; 430 int success = 0, confirm = 0;
431 u_int seconds, maxsign; 431 u_int seconds = 0, maxsign;
432 char *fp, *comment = NULL, *ext_name = NULL, *sk_provider = NULL; 432 char *fp, *comment = NULL, *ext_name = NULL, *sk_provider = NULL;
433 char canonical_provider[PATH_MAX]; 433 char canonical_provider[PATH_MAX];
434 time_t death = 0; 434 time_t death = 0;
@@ -620,8 +620,7 @@ process_lock_agent(SocketEntry *e, int lock)
620 fatal("bcrypt_pbkdf"); 620 fatal("bcrypt_pbkdf");
621 success = 1; 621 success = 1;
622 } 622 }
623 explicit_bzero(passwd, pwlen); 623 freezero(passwd, pwlen);
624 free(passwd);
625 send_status(e, success); 624 send_status(e, success);
626} 625}
627 626
diff --git a/ssh-dss.c b/ssh-dss.c
index a23c383dc..fddc29cc9 100644
--- a/ssh-dss.c
+++ b/ssh-dss.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-dss.c,v 1.37 2018/02/07 02:06:51 jsing Exp $ */ 1/* $OpenBSD: ssh-dss.c,v 1.39 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * 4 *
@@ -200,10 +200,8 @@ ssh_dss_verify(const struct sshkey *key,
200 BN_clear_free(sig_s); 200 BN_clear_free(sig_s);
201 sshbuf_free(b); 201 sshbuf_free(b);
202 free(ktype); 202 free(ktype);
203 if (sigblob != NULL) { 203 if (sigblob != NULL)
204 explicit_bzero(sigblob, len); 204 freezero(sigblob, len);
205 free(sigblob);
206 }
207 return ret; 205 return ret;
208} 206}
209#endif /* WITH_OPENSSL */ 207#endif /* WITH_OPENSSL */
diff --git a/ssh-ed25519-sk.c b/ssh-ed25519-sk.c
index b6f28c09a..f784776d4 100644
--- a/ssh-ed25519-sk.c
+++ b/ssh-ed25519-sk.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-ed25519-sk.c,v 1.4 2019/11/26 03:04:27 djm Exp $ */ 1/* $OpenBSD: ssh-ed25519-sk.c,v 1.5 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2019 Markus Friedl. All rights reserved. 3 * Copyright (c) 2019 Markus Friedl. All rights reserved.
4 * 4 *
@@ -154,10 +154,8 @@ ssh_ed25519_sk_verify(const struct sshkey *key,
154 details = NULL; 154 details = NULL;
155 } 155 }
156 out: 156 out:
157 if (m != NULL) { 157 if (m != NULL)
158 explicit_bzero(m, smlen); /* NB mlen may be invalid if r != 0 */ 158 freezero(m, smlen); /* NB mlen may be invalid if r != 0 */
159 free(m);
160 }
161 sshkey_sig_details_free(details); 159 sshkey_sig_details_free(details);
162 sshbuf_free(b); 160 sshbuf_free(b);
163 sshbuf_free(encoded); 161 sshbuf_free(encoded);
diff --git a/ssh-ed25519.c b/ssh-ed25519.c
index 5163e0297..7dee82707 100644
--- a/ssh-ed25519.c
+++ b/ssh-ed25519.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-ed25519.c,v 1.7 2016/04/21 06:08:02 djm Exp $ */ 1/* $OpenBSD: ssh-ed25519.c,v 1.8 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2013 Markus Friedl <markus@openbsd.org> 3 * Copyright (c) 2013 Markus Friedl <markus@openbsd.org>
4 * 4 *
@@ -83,10 +83,8 @@ ssh_ed25519_sign(const struct sshkey *key, u_char **sigp, size_t *lenp,
83 r = 0; 83 r = 0;
84 out: 84 out:
85 sshbuf_free(b); 85 sshbuf_free(b);
86 if (sig != NULL) { 86 if (sig != NULL)
87 explicit_bzero(sig, slen); 87 freezero(sig, slen);
88 free(sig);
89 }
90 88
91 return r; 89 return r;
92} 90}
@@ -153,14 +151,10 @@ ssh_ed25519_verify(const struct sshkey *key,
153 /* success */ 151 /* success */
154 r = 0; 152 r = 0;
155 out: 153 out:
156 if (sm != NULL) { 154 if (sm != NULL)
157 explicit_bzero(sm, smlen); 155 freezero(sm, smlen);
158 free(sm); 156 if (m != NULL)
159 } 157 freezero(m, smlen); /* NB mlen may be invalid if r != 0 */
160 if (m != NULL) {
161 explicit_bzero(m, smlen); /* NB mlen may be invalid if r != 0 */
162 free(m);
163 }
164 sshbuf_free(b); 158 sshbuf_free(b);
165 free(ktype); 159 free(ktype);
166 return r; 160 return r;
diff --git a/ssh-gss.h b/ssh-gss.h
index 70dd36658..50d80bbca 100644
--- a/ssh-gss.h
+++ b/ssh-gss.h
@@ -77,8 +77,12 @@
77#define KEX_GSS_C25519_SHA256_ID "gss-curve25519-sha256-" 77#define KEX_GSS_C25519_SHA256_ID "gss-curve25519-sha256-"
78 78
79#define GSS_KEX_DEFAULT_KEX \ 79#define GSS_KEX_DEFAULT_KEX \
80 KEX_GSS_GEX_SHA1_ID "," \ 80 KEX_GSS_GRP14_SHA256_ID "," \
81 KEX_GSS_GRP14_SHA1_ID 81 KEX_GSS_GRP16_SHA512_ID "," \
82 KEX_GSS_NISTP256_SHA256_ID "," \
83 KEX_GSS_C25519_SHA256_ID "," \
84 KEX_GSS_GRP14_SHA1_ID "," \
85 KEX_GSS_GEX_SHA1_ID
82 86
83typedef struct { 87typedef struct {
84 char *filename; 88 char *filename;
diff --git a/ssh-keygen.0 b/ssh-keygen.0
index 703739004..c388cdf7a 100644
--- a/ssh-keygen.0
+++ b/ssh-keygen.0
@@ -30,7 +30,7 @@ SYNOPSIS
30 ssh-keygen -A [-f prefix_path] 30 ssh-keygen -A [-f prefix_path]
31 ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] 31 ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
32 file ... 32 file ...
33 ssh-keygen -Q -f krl_file file ... 33 ssh-keygen -Q [-l] -f krl_file file ...
34 ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file 34 ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
35 ssh-keygen -Y check-novalidate -n namespace -s signature_file 35 ssh-keygen -Y check-novalidate -n namespace -s signature_file
36 ssh-keygen -Y sign -f key_file -n namespace file ... 36 ssh-keygen -Y sign -f key_file -n namespace file ...
@@ -301,7 +301,8 @@ DESCRIPTION
301 containing the private key, for the old passphrase, and twice for 301 containing the private key, for the old passphrase, and twice for
302 the new passphrase. 302 the new passphrase.
303 303
304 -Q Test whether keys have been revoked in a KRL. 304 -Q Test whether keys have been revoked in a KRL. If the -l option
305 is also specified then the contents of the KRL will be printed.
305 306
306 -q Silence ssh-keygen. 307 -q Silence ssh-keygen.
307 308
@@ -356,7 +357,7 @@ DESCRIPTION
356 The end time may be specified as a YYYYMMDD date, a 357 The end time may be specified as a YYYYMMDD date, a
357 YYYYMMDDHHMM[SS] time, a relative time starting with a plus 358 YYYYMMDDHHMM[SS] time, a relative time starting with a plus
358 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the 359 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the
359 certificate has no expirty date. 360 certificate has no expiry date.
360 361
361 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day 362 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day
362 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks 363 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks
@@ -786,4 +787,4 @@ AUTHORS
786 created OpenSSH. Markus Friedl contributed the support for SSH protocol 787 created OpenSSH. Markus Friedl contributed the support for SSH protocol
787 versions 1.5 and 2.0. 788 versions 1.5 and 2.0.
788 789
789OpenBSD 6.6 February 7, 2020 OpenBSD 6.6 790OpenBSD 6.7 April 3, 2020 OpenBSD 6.7
diff --git a/ssh-keygen.1 b/ssh-keygen.1
index d6a7870e0..45866f931 100644
--- a/ssh-keygen.1
+++ b/ssh-keygen.1
@@ -1,4 +1,4 @@
1.\" $OpenBSD: ssh-keygen.1,v 1.201 2020/02/07 03:57:31 djm Exp $ 1.\" $OpenBSD: ssh-keygen.1,v 1.203 2020/04/03 02:26:56 djm Exp $
2.\" 2.\"
3.\" Author: Tatu Ylonen <ylo@cs.hut.fi> 3.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
4.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -35,7 +35,7 @@
35.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 35.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
36.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37.\" 37.\"
38.Dd $Mdocdate: February 7 2020 $ 38.Dd $Mdocdate: April 3 2020 $
39.Dt SSH-KEYGEN 1 39.Dt SSH-KEYGEN 1
40.Os 40.Os
41.Sh NAME 41.Sh NAME
@@ -135,6 +135,7 @@
135.Ar 135.Ar
136.Nm ssh-keygen 136.Nm ssh-keygen
137.Fl Q 137.Fl Q
138.Op Fl l
138.Fl f Ar krl_file 139.Fl f Ar krl_file
139.Ar 140.Ar
140.Nm ssh-keygen 141.Nm ssh-keygen
@@ -517,6 +518,9 @@ containing the private key, for the old passphrase, and twice for the
517new passphrase. 518new passphrase.
518.It Fl Q 519.It Fl Q
519Test whether keys have been revoked in a KRL. 520Test whether keys have been revoked in a KRL.
521If the
522.Fl l
523option is also specified then the contents of the KRL will be printed.
520.It Fl q 524.It Fl q
521Silence 525Silence
522.Nm ssh-keygen . 526.Nm ssh-keygen .
@@ -599,7 +603,7 @@ TIME FORMATS section of
599The end time may be specified as a YYYYMMDD date, a YYYYMMDDHHMM[SS] time, 603The end time may be specified as a YYYYMMDD date, a YYYYMMDDHHMM[SS] time,
600a relative time starting with a plus character or the string 604a relative time starting with a plus character or the string
601.Dq forever 605.Dq forever
602to indicate that the certificate has no expirty date. 606to indicate that the certificate has no expiry date.
603.Pp 607.Pp
604For example: 608For example:
605.Dq +52w1d 609.Dq +52w1d
diff --git a/ssh-keygen.c b/ssh-keygen.c
index 0d6ed1fff..2c5c75db7 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-keygen.c,v 1.398 2020/02/07 03:27:54 djm Exp $ */ 1/* $OpenBSD: ssh-keygen.c,v 1.409.2.1 2020/05/18 19:02:13 benno Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -327,8 +327,7 @@ load_identity(const char *filename, char **commentp)
327 else 327 else
328 pass = read_passphrase("Enter passphrase: ", RP_ALLOW_STDIN); 328 pass = read_passphrase("Enter passphrase: ", RP_ALLOW_STDIN);
329 r = sshkey_load_private(filename, pass, &prv, commentp); 329 r = sshkey_load_private(filename, pass, &prv, commentp);
330 explicit_bzero(pass, strlen(pass)); 330 freezero(pass, strlen(pass));
331 free(pass);
332 if (r != 0) 331 if (r != 0)
333 fatal("Load key \"%s\": %s", filename, ssh_err(r)); 332 fatal("Load key \"%s\": %s", filename, ssh_err(r));
334 return prv; 333 return prv;
@@ -670,9 +669,10 @@ do_convert_from_ssh2(struct passwd *pw, struct sshkey **k, int *private)
670 encoded[len-3] = '\0'; 669 encoded[len-3] = '\0';
671 if ((r = sshbuf_b64tod(buf, encoded)) != 0) 670 if ((r = sshbuf_b64tod(buf, encoded)) != 0)
672 fatal("%s: base64 decoding failed: %s", __func__, ssh_err(r)); 671 fatal("%s: base64 decoding failed: %s", __func__, ssh_err(r));
673 if (*private) 672 if (*private) {
674 *k = do_convert_private_ssh2(buf); 673 if ((*k = do_convert_private_ssh2(buf)) == NULL)
675 else if ((r = sshkey_fromb(buf, k)) != 0) 674 fatal("%s: private key conversion failed", __func__);
675 } else if ((r = sshkey_fromb(buf, k)) != 0)
676 fatal("decode blob failed: %s", ssh_err(r)); 676 fatal("decode blob failed: %s", ssh_err(r));
677 sshbuf_free(buf); 677 sshbuf_free(buf);
678 fclose(fp); 678 fclose(fp);
@@ -911,22 +911,25 @@ fingerprint_private(const char *path)
911{ 911{
912 struct stat st; 912 struct stat st;
913 char *comment = NULL; 913 char *comment = NULL;
914 struct sshkey *public = NULL; 914 struct sshkey *privkey = NULL, *pubkey = NULL;
915 int r; 915 int r;
916 916
917 if (stat(identity_file, &st) == -1) 917 if (stat(identity_file, &st) == -1)
918 fatal("%s: %s", path, strerror(errno)); 918 fatal("%s: %s", path, strerror(errno));
919 if ((r = sshkey_load_public(path, &public, &comment)) != 0) { 919 if ((r = sshkey_load_public(path, &pubkey, &comment)) != 0)
920 debug("load public \"%s\": %s", path, ssh_err(r)); 920 debug("load public \"%s\": %s", path, ssh_err(r));
921 if (pubkey == NULL || comment == NULL || *comment == '\0') {
922 free(comment);
921 if ((r = sshkey_load_private(path, NULL, 923 if ((r = sshkey_load_private(path, NULL,
922 &public, &comment)) != 0) { 924 &privkey, &comment)) != 0)
923 debug("load private \"%s\": %s", path, ssh_err(r)); 925 debug("load private \"%s\": %s", path, ssh_err(r));
924 fatal("%s is not a key file.", path);
925 }
926 } 926 }
927 if (pubkey == NULL && privkey == NULL)
928 fatal("%s is not a key file.", path);
927 929
928 fingerprint_one_key(public, comment); 930 fingerprint_one_key(pubkey == NULL ? privkey : pubkey, comment);
929 sshkey_free(public); 931 sshkey_free(pubkey);
932 sshkey_free(privkey);
930 free(comment); 933 free(comment);
931} 934}
932 935
@@ -1054,7 +1057,6 @@ do_gen_all_hostkeys(struct passwd *pw)
1054 struct sshkey *private, *public; 1057 struct sshkey *private, *public;
1055 char comment[1024], *prv_tmp, *pub_tmp, *prv_file, *pub_file; 1058 char comment[1024], *prv_tmp, *pub_tmp, *prv_file, *pub_file;
1056 int i, type, fd, r; 1059 int i, type, fd, r;
1057 FILE *f;
1058 1060
1059 for (i = 0; key_types[i].key_type; i++) { 1061 for (i = 0; key_types[i].key_type; i++) {
1060 public = private = NULL; 1062 public = private = NULL;
@@ -1092,11 +1094,11 @@ do_gen_all_hostkeys(struct passwd *pw)
1092 fflush(stdout); 1094 fflush(stdout);
1093 type = sshkey_type_from_name(key_types[i].key_type); 1095 type = sshkey_type_from_name(key_types[i].key_type);
1094 if ((fd = mkstemp(prv_tmp)) == -1) { 1096 if ((fd = mkstemp(prv_tmp)) == -1) {
1095 error("Could not save your public key in %s: %s", 1097 error("Could not save your private key in %s: %s",
1096 prv_tmp, strerror(errno)); 1098 prv_tmp, strerror(errno));
1097 goto failnext; 1099 goto failnext;
1098 } 1100 }
1099 close(fd); /* just using mkstemp() to generate/reserve a name */ 1101 (void)close(fd); /* just using mkstemp() to reserve a name */
1100 bits = 0; 1102 bits = 0;
1101 type_bits_valid(type, NULL, &bits); 1103 type_bits_valid(type, NULL, &bits);
1102 if ((r = sshkey_generate(type, bits, &private)) != 0) { 1104 if ((r = sshkey_generate(type, bits, &private)) != 0) {
@@ -1120,25 +1122,10 @@ do_gen_all_hostkeys(struct passwd *pw)
1120 goto failnext; 1122 goto failnext;
1121 } 1123 }
1122 (void)fchmod(fd, 0644); 1124 (void)fchmod(fd, 0644);
1123 f = fdopen(fd, "w"); 1125 (void)close(fd);
1124 if (f == NULL) { 1126 if ((r = sshkey_save_public(public, pub_tmp, comment)) != 0) {
1125 error("fdopen %s failed: %s", pub_tmp, strerror(errno)); 1127 fatal("Unable to save public key to %s: %s",
1126 close(fd); 1128 identity_file, ssh_err(r));
1127 goto failnext;
1128 }
1129 if ((r = sshkey_write(public, f)) != 0) {
1130 error("write key failed: %s", ssh_err(r));
1131 fclose(f);
1132 goto failnext;
1133 }
1134 fprintf(f, " %s\n", comment);
1135 if (ferror(f) != 0) {
1136 error("write key failed: %s", strerror(errno));
1137 fclose(f);
1138 goto failnext;
1139 }
1140 if (fclose(f) != 0) {
1141 error("key close failed: %s", strerror(errno));
1142 goto failnext; 1129 goto failnext;
1143 } 1130 }
1144 1131
@@ -1424,8 +1411,7 @@ do_change_passphrase(struct passwd *pw)
1424 RP_ALLOW_STDIN); 1411 RP_ALLOW_STDIN);
1425 r = sshkey_load_private(identity_file, old_passphrase, 1412 r = sshkey_load_private(identity_file, old_passphrase,
1426 &private, &comment); 1413 &private, &comment);
1427 explicit_bzero(old_passphrase, strlen(old_passphrase)); 1414 freezero(old_passphrase, strlen(old_passphrase));
1428 free(old_passphrase);
1429 if (r != 0) 1415 if (r != 0)
1430 goto badkey; 1416 goto badkey;
1431 } else if (r != 0) { 1417 } else if (r != 0) {
@@ -1456,8 +1442,7 @@ do_change_passphrase(struct passwd *pw)
1456 exit(1); 1442 exit(1);
1457 } 1443 }
1458 /* Destroy the other copy. */ 1444 /* Destroy the other copy. */
1459 explicit_bzero(passphrase2, strlen(passphrase2)); 1445 freezero(passphrase2, strlen(passphrase2));
1460 free(passphrase2);
1461 } 1446 }
1462 1447
1463 /* Save the file using the new passphrase. */ 1448 /* Save the file using the new passphrase. */
@@ -1465,15 +1450,13 @@ do_change_passphrase(struct passwd *pw)
1465 comment, private_key_format, openssh_format_cipher, rounds)) != 0) { 1450 comment, private_key_format, openssh_format_cipher, rounds)) != 0) {
1466 error("Saving key \"%s\" failed: %s.", 1451 error("Saving key \"%s\" failed: %s.",
1467 identity_file, ssh_err(r)); 1452 identity_file, ssh_err(r));
1468 explicit_bzero(passphrase1, strlen(passphrase1)); 1453 freezero(passphrase1, strlen(passphrase1));
1469 free(passphrase1);
1470 sshkey_free(private); 1454 sshkey_free(private);
1471 free(comment); 1455 free(comment);
1472 exit(1); 1456 exit(1);
1473 } 1457 }
1474 /* Destroy the passphrase and the copy of the key in memory. */ 1458 /* Destroy the passphrase and the copy of the key in memory. */
1475 explicit_bzero(passphrase1, strlen(passphrase1)); 1459 freezero(passphrase1, strlen(passphrase1));
1476 free(passphrase1);
1477 sshkey_free(private); /* Destroys contents */ 1460 sshkey_free(private); /* Destroys contents */
1478 free(comment); 1461 free(comment);
1479 1462
@@ -1519,8 +1502,7 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
1519 struct sshkey *private; 1502 struct sshkey *private;
1520 struct sshkey *public; 1503 struct sshkey *public;
1521 struct stat st; 1504 struct stat st;
1522 FILE *f; 1505 int r;
1523 int r, fd;
1524 1506
1525 if (!have_identity) 1507 if (!have_identity)
1526 ask_filename(pw, "Enter file in which the key is"); 1508 ask_filename(pw, "Enter file in which the key is");
@@ -1543,8 +1525,7 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
1543 /* Try to load using the passphrase. */ 1525 /* Try to load using the passphrase. */
1544 if ((r = sshkey_load_private(identity_file, passphrase, 1526 if ((r = sshkey_load_private(identity_file, passphrase,
1545 &private, &comment)) != 0) { 1527 &private, &comment)) != 0) {
1546 explicit_bzero(passphrase, strlen(passphrase)); 1528 freezero(passphrase, strlen(passphrase));
1547 free(passphrase);
1548 fatal("Cannot load private key \"%s\": %s.", 1529 fatal("Cannot load private key \"%s\": %s.",
1549 identity_file, ssh_err(r)); 1530 identity_file, ssh_err(r));
1550 } 1531 }
@@ -1589,31 +1570,22 @@ do_change_comment(struct passwd *pw, const char *identity_comment)
1589 rounds)) != 0) { 1570 rounds)) != 0) {
1590 error("Saving key \"%s\" failed: %s", 1571 error("Saving key \"%s\" failed: %s",
1591 identity_file, ssh_err(r)); 1572 identity_file, ssh_err(r));
1592 explicit_bzero(passphrase, strlen(passphrase)); 1573 freezero(passphrase, strlen(passphrase));
1593 free(passphrase);
1594 sshkey_free(private); 1574 sshkey_free(private);
1595 free(comment); 1575 free(comment);
1596 exit(1); 1576 exit(1);
1597 } 1577 }
1598 explicit_bzero(passphrase, strlen(passphrase)); 1578 freezero(passphrase, strlen(passphrase));
1599 free(passphrase);
1600 if ((r = sshkey_from_private(private, &public)) != 0) 1579 if ((r = sshkey_from_private(private, &public)) != 0)
1601 fatal("sshkey_from_private failed: %s", ssh_err(r)); 1580 fatal("sshkey_from_private failed: %s", ssh_err(r));
1602 sshkey_free(private); 1581 sshkey_free(private);
1603 1582
1604 strlcat(identity_file, ".pub", sizeof(identity_file)); 1583 strlcat(identity_file, ".pub", sizeof(identity_file));
1605 fd = open(identity_file, O_WRONLY | O_CREAT | O_TRUNC, 0644); 1584 if ((r = sshkey_save_public(public, identity_file, new_comment)) != 0) {
1606 if (fd == -1) 1585 fatal("Unable to save public key to %s: %s",
1607 fatal("Could not save your public key in %s", identity_file); 1586 identity_file, ssh_err(r));
1608 f = fdopen(fd, "w"); 1587 }
1609 if (f == NULL)
1610 fatal("fdopen %s failed: %s", identity_file, strerror(errno));
1611 if ((r = sshkey_write(public, f)) != 0)
1612 fatal("write key failed: %s", ssh_err(r));
1613 sshkey_free(public); 1588 sshkey_free(public);
1614 fprintf(f, " %s\n", new_comment);
1615 fclose(f);
1616
1617 free(comment); 1589 free(comment);
1618 1590
1619 if (strlen(new_comment) > 0) 1591 if (strlen(new_comment) > 0)
@@ -1678,7 +1650,7 @@ prepare_options_buf(struct sshbuf *c, int which)
1678 if ((which & OPTIONS_EXTENSIONS) != 0 && 1650 if ((which & OPTIONS_EXTENSIONS) != 0 &&
1679 (certflags_flags & CERTOPT_USER_RC) != 0) 1651 (certflags_flags & CERTOPT_USER_RC) != 0)
1680 add_flag_option(c, "permit-user-rc"); 1652 add_flag_option(c, "permit-user-rc");
1681 if ((which & OPTIONS_CRITICAL) != 0 && 1653 if ((which & OPTIONS_EXTENSIONS) != 0 &&
1682 (certflags_flags & CERTOPT_NO_REQUIRE_USER_PRESENCE) != 0) 1654 (certflags_flags & CERTOPT_NO_REQUIRE_USER_PRESENCE) != 0)
1683 add_flag_option(c, "no-touch-required"); 1655 add_flag_option(c, "no-touch-required");
1684 if ((which & OPTIONS_CRITICAL) != 0 && 1656 if ((which & OPTIONS_CRITICAL) != 0 &&
@@ -1745,12 +1717,11 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent,
1745 unsigned long long cert_serial, int cert_serial_autoinc, 1717 unsigned long long cert_serial, int cert_serial_autoinc,
1746 int argc, char **argv) 1718 int argc, char **argv)
1747{ 1719{
1748 int r, i, fd, found, agent_fd = -1; 1720 int r, i, found, agent_fd = -1;
1749 u_int n; 1721 u_int n;
1750 struct sshkey *ca, *public; 1722 struct sshkey *ca, *public;
1751 char valid[64], *otmp, *tmp, *cp, *out, *comment; 1723 char valid[64], *otmp, *tmp, *cp, *out, *comment;
1752 char *ca_fp = NULL, **plist = NULL; 1724 char *ca_fp = NULL, **plist = NULL;
1753 FILE *f;
1754 struct ssh_identitylist *agent_ids; 1725 struct ssh_identitylist *agent_ids;
1755 size_t j; 1726 size_t j;
1756 struct notifier_ctx *notifier = NULL; 1727 struct notifier_ctx *notifier = NULL;
@@ -1873,16 +1844,10 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent,
1873 xasprintf(&out, "%s-cert.pub", tmp); 1844 xasprintf(&out, "%s-cert.pub", tmp);
1874 free(tmp); 1845 free(tmp);
1875 1846
1876 if ((fd = open(out, O_WRONLY|O_CREAT|O_TRUNC, 0644)) == -1) 1847 if ((r = sshkey_save_public(public, out, comment)) != 0) {
1877 fatal("Could not open \"%s\" for writing: %s", out, 1848 fatal("Unable to save public key to %s: %s",
1878 strerror(errno)); 1849 identity_file, ssh_err(r));
1879 if ((f = fdopen(fd, "w")) == NULL) 1850 }
1880 fatal("%s: fdopen: %s", __func__, strerror(errno));
1881 if ((r = sshkey_write(public, f)) != 0)
1882 fatal("Could not write certified key to %s: %s",
1883 out, ssh_err(r));
1884 fprintf(f, " %s\n", comment);
1885 fclose(f);
1886 1851
1887 if (!quiet) { 1852 if (!quiet) {
1888 sshkey_format_cert_validity(public->cert, 1853 sshkey_format_cert_validity(public->cert,
@@ -2330,6 +2295,9 @@ update_krl_from_file(struct passwd *pw, const char *file, int wild_ca,
2330 cp = cp + strspn(cp, " \t"); 2295 cp = cp + strspn(cp, " \t");
2331 hash_to_blob(cp, &blob, &blen, file, lnum); 2296 hash_to_blob(cp, &blob, &blen, file, lnum);
2332 r = ssh_krl_revoke_key_sha256(krl, blob, blen); 2297 r = ssh_krl_revoke_key_sha256(krl, blob, blen);
2298 if (r != 0)
2299 fatal("%s: revoke key failed: %s",
2300 __func__, ssh_err(r));
2333 } else { 2301 } else {
2334 if (strncasecmp(cp, "key:", 4) == 0) { 2302 if (strncasecmp(cp, "key:", 4) == 0) {
2335 cp += 4; 2303 cp += 4;
@@ -2444,7 +2412,7 @@ do_gen_krl(struct passwd *pw, int updating, const char *ca_key_path,
2444} 2412}
2445 2413
2446static void 2414static void
2447do_check_krl(struct passwd *pw, int argc, char **argv) 2415do_check_krl(struct passwd *pw, int print_krl, int argc, char **argv)
2448{ 2416{
2449 int i, r, ret = 0; 2417 int i, r, ret = 0;
2450 char *comment; 2418 char *comment;
@@ -2454,6 +2422,8 @@ do_check_krl(struct passwd *pw, int argc, char **argv)
2454 if (*identity_file == '\0') 2422 if (*identity_file == '\0')
2455 fatal("KRL checking requires an input file"); 2423 fatal("KRL checking requires an input file");
2456 load_krl(identity_file, &krl); 2424 load_krl(identity_file, &krl);
2425 if (print_krl)
2426 krl_dump(krl, stdout);
2457 for (i = 0; i < argc; i++) { 2427 for (i = 0; i < argc; i++) {
2458 if ((r = sshkey_load_public(argv[i], &k, &comment)) != 0) 2428 if ((r = sshkey_load_public(argv[i], &k, &comment)) != 0)
2459 fatal("Cannot load public key %s: %s", 2429 fatal("Cannot load public key %s: %s",
@@ -2481,7 +2451,7 @@ load_sign_key(const char *keypath, const struct sshkey *pubkey)
2481 int r; 2451 int r;
2482 2452
2483 /* 2453 /*
2484 * If passed a public key filename, then try to locate the correponding 2454 * If passed a public key filename, then try to locate the corresponding
2485 * private key. This lets us specify certificates on the command-line 2455 * private key. This lets us specify certificates on the command-line
2486 * and have ssh-keygen find the appropriate private key. 2456 * and have ssh-keygen find the appropriate private key.
2487 */ 2457 */
@@ -2965,22 +2935,31 @@ do_download_sk(const char *skprovider, const char *device)
2965 struct sshkey **keys; 2935 struct sshkey **keys;
2966 size_t nkeys, i; 2936 size_t nkeys, i;
2967 int r, ok = -1; 2937 int r, ok = -1;
2968 char *fp, *pin, *pass = NULL, *path, *pubpath; 2938 char *fp, *pin = NULL, *pass = NULL, *path, *pubpath;
2969 const char *ext; 2939 const char *ext;
2970 2940
2971 if (skprovider == NULL) 2941 if (skprovider == NULL)
2972 fatal("Cannot download keys without provider"); 2942 fatal("Cannot download keys without provider");
2973 2943
2974 pin = read_passphrase("Enter PIN for authenticator: ", RP_ALLOW_STDIN); 2944 for (i = 0; i < 2; i++) {
2975 if ((r = sshsk_load_resident(skprovider, device, pin, 2945 if (i == 1) {
2976 &keys, &nkeys)) != 0) { 2946 pin = read_passphrase("Enter PIN for authenticator: ",
2977 freezero(pin, strlen(pin)); 2947 RP_ALLOW_STDIN);
2978 error("Unable to load resident keys: %s", ssh_err(r)); 2948 }
2979 return -1; 2949 if ((r = sshsk_load_resident(skprovider, device, pin,
2950 &keys, &nkeys)) != 0) {
2951 if (i == 0 && r == SSH_ERR_KEY_WRONG_PASSPHRASE)
2952 continue;
2953 if (pin != NULL)
2954 freezero(pin, strlen(pin));
2955 error("Unable to load resident keys: %s", ssh_err(r));
2956 return -1;
2957 }
2980 } 2958 }
2981 if (nkeys == 0) 2959 if (nkeys == 0)
2982 logit("No keys to download"); 2960 logit("No keys to download");
2983 freezero(pin, strlen(pin)); 2961 if (pin != NULL)
2962 freezero(pin, strlen(pin));
2984 2963
2985 for (i = 0; i < nkeys; i++) { 2964 for (i = 0; i < nkeys; i++) {
2986 if (keys[i]->type != KEY_ECDSA_SK && 2965 if (keys[i]->type != KEY_ECDSA_SK &&
@@ -3030,9 +3009,9 @@ do_download_sk(const char *skprovider, const char *device)
3030 free(path); 3009 free(path);
3031 if ((r = sshkey_save_public(keys[i], pubpath, 3010 if ((r = sshkey_save_public(keys[i], pubpath,
3032 keys[i]->sk_application)) != 0) { 3011 keys[i]->sk_application)) != 0) {
3033 free(pubpath);
3034 error("Saving public key \"%s\" failed: %s", 3012 error("Saving public key \"%s\" failed: %s",
3035 pubpath, ssh_err(r)); 3013 pubpath, ssh_err(r));
3014 free(pubpath);
3036 break; 3015 break;
3037 } 3016 }
3038 free(pubpath); 3017 free(pubpath);
@@ -3084,7 +3063,7 @@ usage(void)
3084 " ssh-keygen -A [-f prefix_path]\n" 3063 " ssh-keygen -A [-f prefix_path]\n"
3085 " ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]\n" 3064 " ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]\n"
3086 " file ...\n" 3065 " file ...\n"
3087 " ssh-keygen -Q -f krl_file file ...\n" 3066 " ssh-keygen -Q [-l] -f krl_file [file ...]\n"
3088 " ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file\n" 3067 " ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file\n"
3089 " ssh-keygen -Y check-novalidate -n namespace -s signature_file\n" 3068 " ssh-keygen -Y check-novalidate -n namespace -s signature_file\n"
3090 " ssh-keygen -Y sign -f key_file -n namespace file ...\n" 3069 " ssh-keygen -Y sign -f key_file -n namespace file ...\n"
@@ -3439,7 +3418,7 @@ main(int argc, char **argv)
3439 return (0); 3418 return (0);
3440 } 3419 }
3441 if (check_krl) { 3420 if (check_krl) {
3442 do_check_krl(pw, argc, argv); 3421 do_check_krl(pw, print_fingerprint, argc, argv);
3443 return (0); 3422 return (0);
3444 } 3423 }
3445 if (ca_key_path != NULL) { 3424 if (ca_key_path != NULL) {
@@ -3672,7 +3651,7 @@ main(int argc, char **argv)
3672 strlcat(identity_file, ".pub", sizeof(identity_file)); 3651 strlcat(identity_file, ".pub", sizeof(identity_file));
3673 if ((r = sshkey_save_public(public, identity_file, comment)) != 0) { 3652 if ((r = sshkey_save_public(public, identity_file, comment)) != 0) {
3674 fatal("Unable to save public key to %s: %s", 3653 fatal("Unable to save public key to %s: %s",
3675 identity_file, strerror(errno)); 3654 identity_file, ssh_err(r));
3676 } 3655 }
3677 3656
3678 if (!quiet) { 3657 if (!quiet) {
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0
index 9fc324620..3bf9fa3aa 100644
--- a/ssh-keyscan.0
+++ b/ssh-keyscan.0
@@ -93,4 +93,4 @@ AUTHORS
93 Davison <wayned@users.sourceforge.net> added support for protocol version 93 Davison <wayned@users.sourceforge.net> added support for protocol version
94 2. 94 2.
95 95
96OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 96OpenBSD 6.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-keysign.0 b/ssh-keysign.0
index 87e7f1a72..c2a5dfdb1 100644
--- a/ssh-keysign.0
+++ b/ssh-keysign.0
@@ -49,4 +49,4 @@ HISTORY
49AUTHORS 49AUTHORS
50 Markus Friedl <markus@openbsd.org> 50 Markus Friedl <markus@openbsd.org>
51 51
52OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 52OpenBSD 6.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0
index 4516bc120..c6698046d 100644
--- a/ssh-pkcs11-helper.0
+++ b/ssh-pkcs11-helper.0
@@ -32,4 +32,4 @@ HISTORY
32AUTHORS 32AUTHORS
33 Markus Friedl <markus@openbsd.org> 33 Markus Friedl <markus@openbsd.org>
34 34
35OpenBSD 6.6 November 30, 2019 OpenBSD 6.6 35OpenBSD 6.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-pkcs11-helper.c b/ssh-pkcs11-helper.c
index 17220d624..d73e83576 100644
--- a/ssh-pkcs11-helper.c
+++ b/ssh-pkcs11-helper.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-pkcs11-helper.c,v 1.22 2020/01/25 00:03:36 djm Exp $ */ 1/* $OpenBSD: ssh-pkcs11-helper.c,v 1.23 2020/03/06 18:26:21 markus Exp $ */
2/* 2/*
3 * Copyright (c) 2010 Markus Friedl. All rights reserved. 3 * Copyright (c) 2010 Markus Friedl. All rights reserved.
4 * 4 *
@@ -324,7 +324,7 @@ cleanup_exit(int i)
324int 324int
325main(int argc, char **argv) 325main(int argc, char **argv)
326{ 326{
327 int r, ch, in, out, max, log_stderr = 0; 327 int r, ch, in, out, log_stderr = 0;
328 ssize_t len; 328 ssize_t len;
329 SyslogFacility log_facility = SYSLOG_FACILITY_AUTH; 329 SyslogFacility log_facility = SYSLOG_FACILITY_AUTH;
330 LogLevel log_level = SYSLOG_LEVEL_ERROR; 330 LogLevel log_level = SYSLOG_LEVEL_ERROR;
@@ -360,12 +360,6 @@ main(int argc, char **argv)
360 in = STDIN_FILENO; 360 in = STDIN_FILENO;
361 out = STDOUT_FILENO; 361 out = STDOUT_FILENO;
362 362
363 max = 0;
364 if (in > max)
365 max = in;
366 if (out > max)
367 max = out;
368
369 if ((iqueue = sshbuf_new()) == NULL) 363 if ((iqueue = sshbuf_new()) == NULL)
370 fatal("%s: sshbuf_new failed", __func__); 364 fatal("%s: sshbuf_new failed", __func__);
371 if ((oqueue = sshbuf_new()) == NULL) 365 if ((oqueue = sshbuf_new()) == NULL)
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c
index a302c79c0..ec0e91865 100644
--- a/ssh-pkcs11.c
+++ b/ssh-pkcs11.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-pkcs11.c,v 1.47 2020/01/25 00:03:36 djm Exp $ */ 1/* $OpenBSD: ssh-pkcs11.c,v 1.49 2020/03/13 04:16:27 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2010 Markus Friedl. All rights reserved. 3 * Copyright (c) 2010 Markus Friedl. All rights reserved.
4 * Copyright (c) 2014 Pedro Martelletto. All rights reserved. 4 * Copyright (c) 2014 Pedro Martelletto. All rights reserved.
@@ -271,9 +271,24 @@ pkcs11_login_slot(struct pkcs11_provider *provider, struct pkcs11_slotinfo *si,
271 (pin != NULL) ? strlen(pin) : 0); 271 (pin != NULL) ? strlen(pin) : 0);
272 if (pin != NULL) 272 if (pin != NULL)
273 freezero(pin, strlen(pin)); 273 freezero(pin, strlen(pin));
274 if (rv != CKR_OK && rv != CKR_USER_ALREADY_LOGGED_IN) { 274
275 error("C_Login failed: %lu", rv); 275 switch (rv) {
276 return (-1); 276 case CKR_OK:
277 case CKR_USER_ALREADY_LOGGED_IN:
278 /* success */
279 break;
280 case CKR_PIN_LEN_RANGE:
281 error("PKCS#11 login failed: PIN length out of range");
282 return -1;
283 case CKR_PIN_INCORRECT:
284 error("PKCS#11 login failed: PIN incorrect");
285 return -1;
286 case CKR_PIN_LOCKED:
287 error("PKCS#11 login failed: PIN locked");
288 return -1;
289 default:
290 error("PKCS#11 login failed: error %lu", rv);
291 return -1;
277 } 292 }
278 si->logged_in = 1; 293 si->logged_in = 1;
279 return (0); 294 return (0);
@@ -1627,6 +1642,8 @@ fail:
1627 } 1642 }
1628 if (handle) 1643 if (handle)
1629 dlclose(handle); 1644 dlclose(handle);
1645 if (ret > 0)
1646 ret = -1;
1630 return (ret); 1647 return (ret);
1631} 1648}
1632 1649
diff --git a/ssh-sk-helper.0 b/ssh-sk-helper.0
index 6257fac7c..2766848e3 100644
--- a/ssh-sk-helper.0
+++ b/ssh-sk-helper.0
@@ -31,4 +31,4 @@ HISTORY
31AUTHORS 31AUTHORS
32 Damien Miller <djm@openbsd.org> 32 Damien Miller <djm@openbsd.org>
33 33
34OpenBSD 6.6 December 21, 2019 OpenBSD 6.6 34OpenBSD 6.7 December 21, 2019 OpenBSD 6.7
diff --git a/ssh-sk.c b/ssh-sk.c
index 5ff938193..1afb205f8 100644
--- a/ssh-sk.c
+++ b/ssh-sk.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-sk.c,v 1.27 2020/02/06 22:30:54 naddy Exp $ */ 1/* $OpenBSD: ssh-sk.c,v 1.30 2020/04/28 04:02:29 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2019 Google LLC 3 * Copyright (c) 2019 Google LLC
4 * 4 *
@@ -100,6 +100,10 @@ sshsk_open(const char *path)
100 struct sshsk_provider *ret = NULL; 100 struct sshsk_provider *ret = NULL;
101 uint32_t version; 101 uint32_t version;
102 102
103 if (path == NULL || *path == '\0') {
104 error("No FIDO SecurityKeyProvider specified");
105 return NULL;
106 }
103 if ((ret = calloc(1, sizeof(*ret))) == NULL) { 107 if ((ret = calloc(1, sizeof(*ret))) == NULL) {
104 error("%s: calloc failed", __func__); 108 error("%s: calloc failed", __func__);
105 return NULL; 109 return NULL;
@@ -598,7 +602,7 @@ sshsk_ed25519_sig(struct sk_sign_response *resp, struct sshbuf *sig)
598#endif 602#endif
599 r = 0; 603 r = 0;
600 out: 604 out:
601 return 0; 605 return r;
602} 606}
603 607
604int 608int
@@ -611,7 +615,6 @@ sshsk_sign(const char *provider_path, struct sshkey *key,
611 int type, alg; 615 int type, alg;
612 struct sk_sign_response *resp = NULL; 616 struct sk_sign_response *resp = NULL;
613 struct sshbuf *inner_sig = NULL, *sig = NULL; 617 struct sshbuf *inner_sig = NULL, *sig = NULL;
614 uint8_t message[32];
615 struct sk_option **opts = NULL; 618 struct sk_option **opts = NULL;
616 619
617 debug("%s: provider \"%s\", key %s, flags 0x%02x%s", __func__, 620 debug("%s: provider \"%s\", key %s, flags 0x%02x%s", __func__,
@@ -646,15 +649,7 @@ sshsk_sign(const char *provider_path, struct sshkey *key,
646 goto out; 649 goto out;
647 } 650 }
648 651
649 /* hash data to be signed before it goes to the security key */ 652 if ((r = skp->sk_sign(alg, data, datalen, key->sk_application,
650 if ((r = ssh_digest_memory(SSH_DIGEST_SHA256, data, datalen,
651 message, sizeof(message))) != 0) {
652 error("%s: hash application failed: %s", __func__, ssh_err(r));
653 r = SSH_ERR_INTERNAL_ERROR;
654 goto out;
655 }
656 if ((r = skp->sk_sign(alg, message, sizeof(message),
657 key->sk_application,
658 sshbuf_ptr(key->sk_key_handle), sshbuf_len(key->sk_key_handle), 653 sshbuf_ptr(key->sk_key_handle), sshbuf_len(key->sk_key_handle),
659 key->sk_flags, pin, opts, &resp)) != 0) { 654 key->sk_flags, pin, opts, &resp)) != 0) {
660 debug("%s: sk_sign failed with code %d", __func__, r); 655 debug("%s: sk_sign failed with code %d", __func__, r);
@@ -703,7 +698,6 @@ sshsk_sign(const char *provider_path, struct sshkey *key,
703 r = 0; 698 r = 0;
704 out: 699 out:
705 sshsk_free_options(opts); 700 sshsk_free_options(opts);
706 explicit_bzero(message, sizeof(message));
707 sshsk_free(skp); 701 sshsk_free(skp);
708 sshsk_free_sign_response(resp); 702 sshsk_free_sign_response(resp);
709 sshbuf_free(sig); 703 sshbuf_free(sig);
diff --git a/ssh-xmss.c b/ssh-xmss.c
index 4c734fd7d..ccd4c7600 100644
--- a/ssh-xmss.c
+++ b/ssh-xmss.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-xmss.c,v 1.1 2018/02/23 15:58:38 markus Exp $*/ 1/* $OpenBSD: ssh-xmss.c,v 1.2 2020/02/26 13:40:09 jsg Exp $*/
2/* 2/*
3 * Copyright (c) 2017 Stefan-Lukas Gazdag. 3 * Copyright (c) 2017 Stefan-Lukas Gazdag.
4 * Copyright (c) 2017 Markus Friedl. 4 * Copyright (c) 2017 Markus Friedl.
@@ -103,10 +103,8 @@ ssh_xmss_sign(const struct sshkey *key, u_char **sigp, size_t *lenp,
103 r = ret; 103 r = ret;
104 } 104 }
105 sshbuf_free(b); 105 sshbuf_free(b);
106 if (sig != NULL) { 106 if (sig != NULL)
107 explicit_bzero(sig, slen); 107 freezero(sig, slen);
108 free(sig);
109 }
110 108
111 return r; 109 return r;
112} 110}
@@ -177,14 +175,10 @@ ssh_xmss_verify(const struct sshkey *key,
177 /* success */ 175 /* success */
178 r = 0; 176 r = 0;
179 out: 177 out:
180 if (sm != NULL) { 178 if (sm != NULL)
181 explicit_bzero(sm, smlen); 179 freezero(sm, smlen);
182 free(sm); 180 if (m != NULL)
183 } 181 freezero(m, smlen);
184 if (m != NULL) {
185 explicit_bzero(m, smlen); /* NB mlen may be invalid if r != 0 */
186 free(m);
187 }
188 sshbuf_free(b); 182 sshbuf_free(b);
189 free(ktype); 183 free(ktype);
190 return r; 184 return r;
diff --git a/ssh.0 b/ssh.0
index ffacbef65..474bb1e2e 100644
--- a/ssh.0
+++ b/ssh.0
@@ -109,7 +109,8 @@ DESCRIPTION
109 Specifies an alternative per-user configuration file. If a 109 Specifies an alternative per-user configuration file. If a
110 configuration file is given on the command line, the system-wide 110 configuration file is given on the command line, the system-wide
111 configuration file (/etc/ssh/ssh_config) will be ignored. The 111 configuration file (/etc/ssh/ssh_config) will be ignored. The
112 default for the per-user configuration file is ~/.ssh/config. 112 default for the per-user configuration file is ~/.ssh/config. If
113 set to M-bM-^@M-^\noneM-bM-^@M-^], no configuration files will be read.
113 114
114 -f Requests ssh to go to background just before command execution. 115 -f Requests ssh to go to background just before command execution.
115 This is useful if ssh is going to ask for passwords or 116 This is useful if ssh is going to ask for passwords or
@@ -460,17 +461,17 @@ AUTHENTICATION
460 461
461 Host-based authentication works as follows: If the machine the user logs 462 Host-based authentication works as follows: If the machine the user logs
462 in from is listed in /etc/hosts.equiv or /etc/shosts.equiv on the remote 463 in from is listed in /etc/hosts.equiv or /etc/shosts.equiv on the remote
463 machine, and the user names are the same on both sides, or if the files 464 machine, the user is non-root and the user names are the same on both
464 ~/.rhosts or ~/.shosts exist in the user's home directory on the remote 465 sides, or if the files ~/.rhosts or ~/.shosts exist in the user's home
465 machine and contain a line containing the name of the client machine and 466 directory on the remote machine and contain a line containing the name of
466 the name of the user on that machine, the user is considered for login. 467 the client machine and the name of the user on that machine, the user is
467 Additionally, the server must be able to verify the client's host key 468 considered for login. Additionally, the server must be able to verify
468 (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts, 469 the client's host key (see the description of /etc/ssh/ssh_known_hosts
469 below) for login to be permitted. This authentication method closes 470 and ~/.ssh/known_hosts, below) for login to be permitted. This
470 security holes due to IP spoofing, DNS spoofing, and routing spoofing. 471 authentication method closes security holes due to IP spoofing, DNS
471 [Note to the administrator: /etc/hosts.equiv, ~/.rhosts, and the 472 spoofing, and routing spoofing. [Note to the administrator:
472 rlogin/rsh protocol in general, are inherently insecure and should be 473 /etc/hosts.equiv, ~/.rhosts, and the rlogin/rsh protocol in general, are
473 disabled if security is desired.] 474 inherently insecure and should be disabled if security is desired.]
474 475
475 Public key authentication works as follows: The scheme is based on 476 Public key authentication works as follows: The scheme is based on
476 public-key cryptography, using cryptosystems where encryption and 477 public-key cryptography, using cryptosystems where encryption and
@@ -988,4 +989,4 @@ AUTHORS
988 created OpenSSH. Markus Friedl contributed the support for SSH protocol 989 created OpenSSH. Markus Friedl contributed the support for SSH protocol
989 versions 1.5 and 2.0. 990 versions 1.5 and 2.0.
990 991
991OpenBSD 6.6 February 7, 2020 OpenBSD 6.6 992OpenBSD 6.7 April 17, 2020 OpenBSD 6.7
diff --git a/ssh.1 b/ssh.1
index a8967c2f8..035823da3 100644
--- a/ssh.1
+++ b/ssh.1
@@ -33,8 +33,8 @@
33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35.\" 35.\"
36.\" $OpenBSD: ssh.1,v 1.410 2020/02/07 03:54:44 dtucker Exp $ 36.\" $OpenBSD: ssh.1,v 1.412 2020/04/17 03:34:42 djm Exp $
37.Dd $Mdocdate: February 7 2020 $ 37.Dd $Mdocdate: April 17 2020 $
38.Dt SSH 1 38.Dt SSH 1
39.Os 39.Os
40.Sh NAME 40.Sh NAME
@@ -233,6 +233,9 @@ the system-wide configuration file
233will be ignored. 233will be ignored.
234The default for the per-user configuration file is 234The default for the per-user configuration file is
235.Pa ~/.ssh/config . 235.Pa ~/.ssh/config .
236If set to
237.Dq none ,
238no configuration files will be read.
236.Pp 239.Pp
237.It Fl f 240.It Fl f
238Requests 241Requests
@@ -872,7 +875,7 @@ If the machine the user logs in from is listed in
872.Pa /etc/hosts.equiv 875.Pa /etc/hosts.equiv
873or 876or
874.Pa /etc/shosts.equiv 877.Pa /etc/shosts.equiv
875on the remote machine, and the user names are 878on the remote machine, the user is non-root and the user names are
876the same on both sides, or if the files 879the same on both sides, or if the files
877.Pa ~/.rhosts 880.Pa ~/.rhosts
878or 881or
diff --git a/ssh.c b/ssh.c
index 6138fd4d3..7879d4f4d 100644
--- a/ssh.c
+++ b/ssh.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh.c,v 1.519 2020/02/07 03:54:44 dtucker Exp $ */ 1/* $OpenBSD: ssh.c,v 1.527 2020/04/10 00:52:07 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -86,7 +86,6 @@
86#include "canohost.h" 86#include "canohost.h"
87#include "compat.h" 87#include "compat.h"
88#include "cipher.h" 88#include "cipher.h"
89#include "digest.h"
90#include "packet.h" 89#include "packet.h"
91#include "sshbuf.h" 90#include "sshbuf.h"
92#include "channels.h" 91#include "channels.h"
@@ -191,7 +190,7 @@ struct sshbuf *command;
191int subsystem_flag = 0; 190int subsystem_flag = 0;
192 191
193/* # of replies received for global requests */ 192/* # of replies received for global requests */
194static int remote_forward_confirms_received = 0; 193static int forward_confirms_pending = -1;
195 194
196/* mux.c */ 195/* mux.c */
197extern int muxserver_sock; 196extern int muxserver_sock;
@@ -232,6 +231,34 @@ tilde_expand_paths(char **paths, u_int num_paths)
232 } 231 }
233} 232}
234 233
234#define DEFAULT_CLIENT_PERCENT_EXPAND_ARGS \
235 "C", conn_hash_hex, \
236 "L", shorthost, \
237 "i", uidstr, \
238 "l", thishost, \
239 "n", host_arg, \
240 "p", portstr
241
242/*
243 * Expands the set of percent_expand options used by the majority of keywords
244 * in the client that support percent expansion.
245 * Caller must free returned string.
246 */
247static char *
248default_client_percent_expand(const char *str, const char *homedir,
249 const char *remhost, const char *remuser, const char *locuser)
250{
251 return percent_expand(str,
252 /* values from statics above */
253 DEFAULT_CLIENT_PERCENT_EXPAND_ARGS,
254 /* values from arguments */
255 "d", homedir,
256 "h", remhost,
257 "r", remuser,
258 "u", locuser,
259 (char *)NULL);
260}
261
235/* 262/*
236 * Attempt to resolve a host name / port to a set of addresses and 263 * Attempt to resolve a host name / port to a set of addresses and
237 * optionally return any CNAMEs encountered along the way. 264 * optionally return any CNAMEs encountered along the way.
@@ -248,6 +275,8 @@ resolve_host(const char *name, int port, int logerr, char *cname, size_t clen)
248 275
249 if (port <= 0) 276 if (port <= 0)
250 port = default_ssh_port(); 277 port = default_ssh_port();
278 if (cname != NULL)
279 *cname = '\0';
251 280
252 snprintf(strport, sizeof strport, "%d", port); 281 snprintf(strport, sizeof strport, "%d", port);
253 memset(&hints, 0, sizeof(hints)); 282 memset(&hints, 0, sizeof(hints));
@@ -477,7 +506,6 @@ resolve_canonicalize(char **hostp, int port)
477 } 506 }
478 /* Attempt each supplied suffix */ 507 /* Attempt each supplied suffix */
479 for (i = 0; i < options.num_canonical_domains; i++) { 508 for (i = 0; i < options.num_canonical_domains; i++) {
480 *newname = '\0';
481 xasprintf(&fullhost, "%s.%s.", *hostp, 509 xasprintf(&fullhost, "%s.%s.", *hostp,
482 options.canonical_domains[i]); 510 options.canonical_domains[i]);
483 debug3("%s: attempting \"%s\" => \"%s\"", __func__, 511 debug3("%s: attempting \"%s\" => \"%s\"", __func__,
@@ -600,8 +628,6 @@ main(int ac, char **av)
600 extern char *optarg; 628 extern char *optarg;
601 struct Forward fwd; 629 struct Forward fwd;
602 struct addrinfo *addrs = NULL; 630 struct addrinfo *addrs = NULL;
603 struct ssh_digest_ctx *md;
604 u_char conn_hash[SSH_DIGEST_MAX_LENGTH];
605 size_t n, len; 631 size_t n, len;
606 632
607 /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ 633 /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
@@ -1210,6 +1236,14 @@ main(int ac, char **av)
1210 if (options.jump_host != NULL) { 1236 if (options.jump_host != NULL) {
1211 char port_s[8]; 1237 char port_s[8];
1212 const char *sshbin = argv0; 1238 const char *sshbin = argv0;
1239 int port = options.port, jumpport = options.jump_port;
1240
1241 if (port <= 0)
1242 port = default_ssh_port();
1243 if (jumpport <= 0)
1244 jumpport = default_ssh_port();
1245 if (strcmp(options.jump_host, host) == 0 && port == jumpport)
1246 fatal("jumphost loop via %s", options.jump_host);
1213 1247
1214 /* 1248 /*
1215 * Try to use SSH indicated by argv[0], but fall back to 1249 * Try to use SSH indicated by argv[0], but fall back to
@@ -1323,15 +1357,8 @@ main(int ac, char **av)
1323 snprintf(uidstr, sizeof(uidstr), "%llu", 1357 snprintf(uidstr, sizeof(uidstr), "%llu",
1324 (unsigned long long)pw->pw_uid); 1358 (unsigned long long)pw->pw_uid);
1325 1359
1326 if ((md = ssh_digest_start(SSH_DIGEST_SHA1)) == NULL || 1360 conn_hash_hex = ssh_connection_hash(thishost, host, portstr,
1327 ssh_digest_update(md, thishost, strlen(thishost)) < 0 || 1361 options.user);
1328 ssh_digest_update(md, host, strlen(host)) < 0 ||
1329 ssh_digest_update(md, portstr, strlen(portstr)) < 0 ||
1330 ssh_digest_update(md, options.user, strlen(options.user)) < 0 ||
1331 ssh_digest_final(md, conn_hash, sizeof(conn_hash)) < 0)
1332 fatal("%s: mux digest failed", __func__);
1333 ssh_digest_free(md);
1334 conn_hash_hex = tohex(conn_hash, ssh_digest_bytes(SSH_DIGEST_SHA1));
1335 1362
1336 /* 1363 /*
1337 * Expand tokens in arguments. NB. LocalCommand is expanded later, 1364 * Expand tokens in arguments. NB. LocalCommand is expanded later,
@@ -1341,18 +1368,8 @@ main(int ac, char **av)
1341 if (options.remote_command != NULL) { 1368 if (options.remote_command != NULL) {
1342 debug3("expanding RemoteCommand: %s", options.remote_command); 1369 debug3("expanding RemoteCommand: %s", options.remote_command);
1343 cp = options.remote_command; 1370 cp = options.remote_command;
1344 options.remote_command = percent_expand(cp, 1371 options.remote_command = default_client_percent_expand(cp,
1345 "C", conn_hash_hex, 1372 pw->pw_dir, host, options.user, pw->pw_name);
1346 "L", shorthost,
1347 "d", pw->pw_dir,
1348 "h", host,
1349 "i", uidstr,
1350 "l", thishost,
1351 "n", host_arg,
1352 "p", portstr,
1353 "r", options.user,
1354 "u", pw->pw_name,
1355 (char *)NULL);
1356 debug3("expanded RemoteCommand: %s", options.remote_command); 1373 debug3("expanded RemoteCommand: %s", options.remote_command);
1357 free(cp); 1374 free(cp);
1358 if ((r = sshbuf_put(command, options.remote_command, 1375 if ((r = sshbuf_put(command, options.remote_command,
@@ -1363,21 +1380,76 @@ main(int ac, char **av)
1363 if (options.control_path != NULL) { 1380 if (options.control_path != NULL) {
1364 cp = tilde_expand_filename(options.control_path, getuid()); 1381 cp = tilde_expand_filename(options.control_path, getuid());
1365 free(options.control_path); 1382 free(options.control_path);
1366 options.control_path = percent_expand(cp, 1383 options.control_path = default_client_percent_expand(cp,
1367 "C", conn_hash_hex, 1384 pw->pw_dir, host, options.user, pw->pw_name);
1368 "L", shorthost,
1369 "h", host,
1370 "i", uidstr,
1371 "l", thishost,
1372 "n", host_arg,
1373 "p", portstr,
1374 "r", options.user,
1375 "u", pw->pw_name,
1376 "i", uidstr,
1377 (char *)NULL);
1378 free(cp); 1385 free(cp);
1379 } 1386 }
1380 1387
1388 if (options.identity_agent != NULL) {
1389 p = tilde_expand_filename(options.identity_agent, getuid());
1390 cp = default_client_percent_expand(p,
1391 pw->pw_dir, host, options.user, pw->pw_name);
1392 free(p);
1393 free(options.identity_agent);
1394 options.identity_agent = cp;
1395 }
1396
1397 if (options.forward_agent_sock_path != NULL) {
1398 p = tilde_expand_filename(options.forward_agent_sock_path,
1399 getuid());
1400 cp = default_client_percent_expand(p,
1401 pw->pw_dir, host, options.user, pw->pw_name);
1402 free(p);
1403 free(options.forward_agent_sock_path);
1404 options.forward_agent_sock_path = cp;
1405 }
1406
1407 for (i = 0; i < options.num_local_forwards; i++) {
1408 if (options.local_forwards[i].listen_path != NULL) {
1409 cp = options.local_forwards[i].listen_path;
1410 p = options.local_forwards[i].listen_path =
1411 default_client_percent_expand(cp,
1412 pw->pw_dir, host, options.user, pw->pw_name);
1413 if (strcmp(cp, p) != 0)
1414 debug3("expanded LocalForward listen path "
1415 "'%s' -> '%s'", cp, p);
1416 free(cp);
1417 }
1418 if (options.local_forwards[i].connect_path != NULL) {
1419 cp = options.local_forwards[i].connect_path;
1420 p = options.local_forwards[i].connect_path =
1421 default_client_percent_expand(cp,
1422 pw->pw_dir, host, options.user, pw->pw_name);
1423 if (strcmp(cp, p) != 0)
1424 debug3("expanded LocalForward connect path "
1425 "'%s' -> '%s'", cp, p);
1426 free(cp);
1427 }
1428 }
1429
1430 for (i = 0; i < options.num_remote_forwards; i++) {
1431 if (options.remote_forwards[i].listen_path != NULL) {
1432 cp = options.remote_forwards[i].listen_path;
1433 p = options.remote_forwards[i].listen_path =
1434 default_client_percent_expand(cp,
1435 pw->pw_dir, host, options.user, pw->pw_name);
1436 if (strcmp(cp, p) != 0)
1437 debug3("expanded RemoteForward listen path "
1438 "'%s' -> '%s'", cp, p);
1439 free(cp);
1440 }
1441 if (options.remote_forwards[i].connect_path != NULL) {
1442 cp = options.remote_forwards[i].connect_path;
1443 p = options.remote_forwards[i].connect_path =
1444 default_client_percent_expand(cp,
1445 pw->pw_dir, host, options.user, pw->pw_name);
1446 if (strcmp(cp, p) != 0)
1447 debug3("expanded RemoteForward connect path "
1448 "'%s' -> '%s'", cp, p);
1449 free(cp);
1450 }
1451 }
1452
1381 if (config_test) { 1453 if (config_test) {
1382 dump_client_config(&options, host); 1454 dump_client_config(&options, host);
1383 exit(0); 1455 exit(0);
@@ -1502,23 +1574,7 @@ main(int ac, char **av)
1502 if (strcmp(options.identity_agent, "none") == 0) { 1574 if (strcmp(options.identity_agent, "none") == 0) {
1503 unsetenv(SSH_AUTHSOCKET_ENV_NAME); 1575 unsetenv(SSH_AUTHSOCKET_ENV_NAME);
1504 } else { 1576 } else {
1505 p = tilde_expand_filename(options.identity_agent, 1577 cp = options.identity_agent;
1506 getuid());
1507 cp = percent_expand(p,
1508 "d", pw->pw_dir,
1509 "h", host,
1510 "i", uidstr,
1511 "l", thishost,
1512 "r", options.user,
1513 "u", pw->pw_name,
1514 (char *)NULL);
1515 free(p);
1516 /*
1517 * If identity_agent represents an environment variable
1518 * then recheck that it is valid (since processing with
1519 * percent_expand() may have changed it) and substitute
1520 * its value.
1521 */
1522 if (cp[0] == '$') { 1578 if (cp[0] == '$') {
1523 if (!valid_env_name(cp + 1)) { 1579 if (!valid_env_name(cp + 1)) {
1524 fatal("Invalid IdentityAgent " 1580 fatal("Invalid IdentityAgent "
@@ -1532,22 +1588,11 @@ main(int ac, char **av)
1532 /* identity_agent specifies a path directly */ 1588 /* identity_agent specifies a path directly */
1533 setenv(SSH_AUTHSOCKET_ENV_NAME, cp, 1); 1589 setenv(SSH_AUTHSOCKET_ENV_NAME, cp, 1);
1534 } 1590 }
1535 free(cp);
1536 } 1591 }
1537 } 1592 }
1538 1593
1539 if (options.forward_agent && (options.forward_agent_sock_path != NULL)) { 1594 if (options.forward_agent && options.forward_agent_sock_path != NULL) {
1540 p = tilde_expand_filename(options.forward_agent_sock_path, getuid()); 1595 cp = options.forward_agent_sock_path;
1541 cp = percent_expand(p,
1542 "d", pw->pw_dir,
1543 "h", host,
1544 "i", uidstr,
1545 "l", thishost,
1546 "r", options.user,
1547 "u", pw->pw_name,
1548 (char *)NULL);
1549 free(p);
1550
1551 if (cp[0] == '$') { 1596 if (cp[0] == '$') {
1552 if (!valid_env_name(cp + 1)) { 1597 if (!valid_env_name(cp + 1)) {
1553 fatal("Invalid ForwardAgent environment variable name %s", cp); 1598 fatal("Invalid ForwardAgent environment variable name %s", cp);
@@ -1678,6 +1723,21 @@ fork_postauth(void)
1678 fatal("daemon() failed: %.200s", strerror(errno)); 1723 fatal("daemon() failed: %.200s", strerror(errno));
1679} 1724}
1680 1725
1726static void
1727forwarding_success(void)
1728{
1729 if (forward_confirms_pending == -1)
1730 return;
1731 if (--forward_confirms_pending == 0) {
1732 debug("%s: all expected forwarding replies received", __func__);
1733 if (fork_after_authentication_flag)
1734 fork_postauth();
1735 } else {
1736 debug2("%s: %d expected forwarding replies remaining",
1737 __func__, forward_confirms_pending);
1738 }
1739}
1740
1681/* Callback for remote forward global requests */ 1741/* Callback for remote forward global requests */
1682static void 1742static void
1683ssh_confirm_remote_forward(struct ssh *ssh, int type, u_int32_t seq, void *ctxt) 1743ssh_confirm_remote_forward(struct ssh *ssh, int type, u_int32_t seq, void *ctxt)
@@ -1737,11 +1797,7 @@ ssh_confirm_remote_forward(struct ssh *ssh, int type, u_int32_t seq, void *ctxt)
1737 "for listen port %d", rfwd->listen_port); 1797 "for listen port %d", rfwd->listen_port);
1738 } 1798 }
1739 } 1799 }
1740 if (++remote_forward_confirms_received == options.num_remote_forwards) { 1800 forwarding_success();
1741 debug("All remote forwarding requests processed");
1742 if (fork_after_authentication_flag)
1743 fork_postauth();
1744 }
1745} 1801}
1746 1802
1747static void 1803static void
@@ -1759,6 +1815,19 @@ ssh_stdio_confirm(struct ssh *ssh, int id, int success, void *arg)
1759} 1815}
1760 1816
1761static void 1817static void
1818ssh_tun_confirm(struct ssh *ssh, int id, int success, void *arg)
1819{
1820 if (!success) {
1821 error("Tunnel forwarding failed");
1822 if (options.exit_on_forward_failure)
1823 cleanup_exit(255);
1824 }
1825
1826 debug("%s: tunnel forward established, id=%d", __func__, id);
1827 forwarding_success();
1828}
1829
1830static void
1762ssh_init_stdio_forwarding(struct ssh *ssh) 1831ssh_init_stdio_forwarding(struct ssh *ssh)
1763{ 1832{
1764 Channel *c; 1833 Channel *c;
@@ -1786,6 +1855,8 @@ ssh_init_forwarding(struct ssh *ssh, char **ifname)
1786 int success = 0; 1855 int success = 0;
1787 int i; 1856 int i;
1788 1857
1858 if (options.exit_on_forward_failure)
1859 forward_confirms_pending = 0; /* track pending requests */
1789 /* Initiate local TCP/IP port forwardings. */ 1860 /* Initiate local TCP/IP port forwardings. */
1790 for (i = 0; i < options.num_local_forwards; i++) { 1861 for (i = 0; i < options.num_local_forwards; i++) {
1791 debug("Local connections to %.200s:%d forwarded to remote " 1862 debug("Local connections to %.200s:%d forwarded to remote "
@@ -1821,32 +1892,33 @@ ssh_init_forwarding(struct ssh *ssh, char **ifname)
1821 options.remote_forwards[i].connect_path : 1892 options.remote_forwards[i].connect_path :
1822 options.remote_forwards[i].connect_host, 1893 options.remote_forwards[i].connect_host,
1823 options.remote_forwards[i].connect_port); 1894 options.remote_forwards[i].connect_port);
1824 options.remote_forwards[i].handle = 1895 if ((options.remote_forwards[i].handle =
1825 channel_request_remote_forwarding(ssh, 1896 channel_request_remote_forwarding(ssh,
1826 &options.remote_forwards[i]); 1897 &options.remote_forwards[i])) >= 0) {
1827 if (options.remote_forwards[i].handle < 0) {
1828 if (options.exit_on_forward_failure)
1829 fatal("Could not request remote forwarding.");
1830 else
1831 logit("Warning: Could not request remote "
1832 "forwarding.");
1833 } else {
1834 client_register_global_confirm( 1898 client_register_global_confirm(
1835 ssh_confirm_remote_forward, 1899 ssh_confirm_remote_forward,
1836 &options.remote_forwards[i]); 1900 &options.remote_forwards[i]);
1837 } 1901 forward_confirms_pending++;
1902 } else if (options.exit_on_forward_failure)
1903 fatal("Could not request remote forwarding.");
1904 else
1905 logit("Warning: Could not request remote forwarding.");
1838 } 1906 }
1839 1907
1840 /* Initiate tunnel forwarding. */ 1908 /* Initiate tunnel forwarding. */
1841 if (options.tun_open != SSH_TUNMODE_NO) { 1909 if (options.tun_open != SSH_TUNMODE_NO) {
1842 if ((*ifname = client_request_tun_fwd(ssh, 1910 if ((*ifname = client_request_tun_fwd(ssh,
1843 options.tun_open, options.tun_local, 1911 options.tun_open, options.tun_local,
1844 options.tun_remote)) == NULL) { 1912 options.tun_remote, ssh_tun_confirm, NULL)) != NULL)
1845 if (options.exit_on_forward_failure) 1913 forward_confirms_pending++;
1846 fatal("Could not request tunnel forwarding."); 1914 else if (options.exit_on_forward_failure)
1847 else 1915 fatal("Could not request tunnel forwarding.");
1848 error("Could not request tunnel forwarding."); 1916 else
1849 } 1917 error("Could not request tunnel forwarding.");
1918 }
1919 if (forward_confirms_pending > 0) {
1920 debug("%s: expecting replies for %d forwards", __func__,
1921 forward_confirms_pending);
1850 } 1922 }
1851} 1923}
1852 1924
@@ -1972,14 +2044,9 @@ ssh_session2(struct ssh *ssh, struct passwd *pw)
1972 debug3("expanding LocalCommand: %s", options.local_command); 2044 debug3("expanding LocalCommand: %s", options.local_command);
1973 cp = options.local_command; 2045 cp = options.local_command;
1974 options.local_command = percent_expand(cp, 2046 options.local_command = percent_expand(cp,
1975 "C", conn_hash_hex, 2047 DEFAULT_CLIENT_PERCENT_EXPAND_ARGS,
1976 "L", shorthost,
1977 "d", pw->pw_dir, 2048 "d", pw->pw_dir,
1978 "h", host, 2049 "h", host,
1979 "i", uidstr,
1980 "l", thishost,
1981 "n", host_arg,
1982 "p", portstr,
1983 "r", options.user, 2050 "r", options.user,
1984 "u", pw->pw_name, 2051 "u", pw->pw_name,
1985 "T", tun_fwd_ifname == NULL ? "NONE" : tun_fwd_ifname, 2052 "T", tun_fwd_ifname == NULL ? "NONE" : tun_fwd_ifname,
@@ -2136,9 +2203,8 @@ load_public_identity_files(struct passwd *pw)
2136 continue; 2203 continue;
2137 } 2204 }
2138 cp = tilde_expand_filename(options.identity_files[i], getuid()); 2205 cp = tilde_expand_filename(options.identity_files[i], getuid());
2139 filename = percent_expand(cp, "d", pw->pw_dir, 2206 filename = default_client_percent_expand(cp,
2140 "u", pw->pw_name, "l", thishost, "h", host, 2207 pw->pw_dir, host, options.user, pw->pw_name);
2141 "r", options.user, (char *)NULL);
2142 free(cp); 2208 free(cp);
2143 check_load(sshkey_load_public(filename, &public, NULL), 2209 check_load(sshkey_load_public(filename, &public, NULL),
2144 filename, "pubkey"); 2210 filename, "pubkey");
@@ -2187,14 +2253,8 @@ load_public_identity_files(struct passwd *pw)
2187 for (i = 0; i < options.num_certificate_files; i++) { 2253 for (i = 0; i < options.num_certificate_files; i++) {
2188 cp = tilde_expand_filename(options.certificate_files[i], 2254 cp = tilde_expand_filename(options.certificate_files[i],
2189 getuid()); 2255 getuid());
2190 filename = percent_expand(cp, 2256 filename = default_client_percent_expand(cp,
2191 "d", pw->pw_dir, 2257 pw->pw_dir, host, options.user, pw->pw_name);
2192 "h", host,
2193 "i", uidstr,
2194 "l", thishost,
2195 "r", options.user,
2196 "u", pw->pw_name,
2197 (char *)NULL);
2198 free(cp); 2258 free(cp);
2199 2259
2200 check_load(sshkey_load_public(filename, &public, NULL), 2260 check_load(sshkey_load_public(filename, &public, NULL),
diff --git a/ssh_config.0 b/ssh_config.0
index 692e5f6d5..316b2e1ef 100644
--- a/ssh_config.0
+++ b/ssh_config.0
@@ -659,18 +659,22 @@ DESCRIPTION
659 LocalForward 659 LocalForward
660 Specifies that a TCP port on the local machine be forwarded over 660 Specifies that a TCP port on the local machine be forwarded over
661 the secure channel to the specified host and port from the remote 661 the secure channel to the specified host and port from the remote
662 machine. The first argument must be [bind_address:]port and the 662 machine. The first argument specifies the listener and may be
663 second argument must be host:hostport. IPv6 addresses can be 663 [bind_address:]port or a Unix domain socket path. The second
664 specified by enclosing addresses in square brackets. Multiple 664 argument is the destination and may be host:hostport or a Unix
665 forwardings may be specified, and additional forwardings can be 665 domain socket path if the remote host supports it.
666 given on the command line. Only the superuser can forward 666
667 privileged ports. By default, the local port is bound in 667 IPv6 addresses can be specified by enclosing addresses in square
668 accordance with the GatewayPorts setting. However, an explicit 668 brackets. Multiple forwardings may be specified, and additional
669 bind_address may be used to bind the connection to a specific 669 forwardings can be given on the command line. Only the superuser
670 address. The bind_address of localhost indicates that the 670 can forward privileged ports. By default, the local port is
671 listening port be bound for local use only, while an empty 671 bound in accordance with the GatewayPorts setting. However, an
672 explicit bind_address may be used to bind the connection to a
673 specific address. The bind_address of localhost indicates that
674 the listening port be bound for local use only, while an empty
672 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from 675 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from
673 all interfaces. 676 all interfaces. Unix domain socket paths accept the tokens
677 described in the TOKENS section.
674 678
675 LogLevel 679 LogLevel
676 Gives the verbosity level that is used when logging messages from 680 Gives the verbosity level that is used when logging messages from
@@ -846,16 +850,19 @@ DESCRIPTION
846 specified host and port from the local machine, or may act as a 850 specified host and port from the local machine, or may act as a
847 SOCKS 4/5 proxy that allows a remote client to connect to 851 SOCKS 4/5 proxy that allows a remote client to connect to
848 arbitrary destinations from the local machine. The first 852 arbitrary destinations from the local machine. The first
849 argument must be [bind_address:]port If forwarding to a specific 853 argument is the listening specification and may be
850 destination then the second argument must be host:hostport, 854 [bind_address:]port or, if the remote host supports it, a Unix
851 otherwise if no destination argument is specified then the remote 855 domain socket path. If forwarding to a specific destination then
852 forwarding will be established as a SOCKS proxy. 856 the second argument must be host:hostport or a Unix domain socket
857 path, otherwise if no destination argument is specified then the
858 remote forwarding will be established as a SOCKS proxy.
853 859
854 IPv6 addresses can be specified by enclosing addresses in square 860 IPv6 addresses can be specified by enclosing addresses in square
855 brackets. Multiple forwardings may be specified, and additional 861 brackets. Multiple forwardings may be specified, and additional
856 forwardings can be given on the command line. Privileged ports 862 forwardings can be given on the command line. Privileged ports
857 can be forwarded only when logging in as root on the remote 863 can be forwarded only when logging in as root on the remote
858 machine. 864 machine. Unix domain socket paths accept the tokens described in
865 the TOKENS section.
859 866
860 If the port argument is 0, the listen port will be dynamically 867 If the port argument is 0, the listen port will be dynamically
861 allocated on the server and reported to the client at run time. 868 allocated on the server and reported to the client at run time.
@@ -1124,26 +1131,16 @@ TOKENS
1124 tunnel forwarding was requested, or "NONE" otherwise. 1131 tunnel forwarding was requested, or "NONE" otherwise.
1125 %u The local username. 1132 %u The local username.
1126 1133
1127 Match exec accepts the tokens %%, %h, %i, %L, %l, %n, %p, %r, and %u. 1134 CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward,
1128 1135 Match exec, RemoteCommand, and RemoteForward accept the tokens %%, %C,
1129 CertificateFile accepts the tokens %%, %d, %h, %i, %l, %r, and %u. 1136 %d, %h, %i, %L, %l, %n, %p, %r, and %u.
1130
1131 ControlPath accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and
1132 %u.
1133 1137
1134 Hostname accepts the tokens %% and %h. 1138 Hostname accepts the tokens %% and %h.
1135 1139
1136 IdentityAgent and IdentityFile accept the tokens %%, %d, %h, %i, %l, %r, 1140 LocalCommand accepts all tokens.
1137 and %u.
1138
1139 LocalCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, %T,
1140 and %u.
1141 1141
1142 ProxyCommand accepts the tokens %%, %h, %n, %p, and %r. 1142 ProxyCommand accepts the tokens %%, %h, %n, %p, and %r.
1143 1143
1144 RemoteCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, and
1145 %u.
1146
1147FILES 1144FILES
1148 ~/.ssh/config 1145 ~/.ssh/config
1149 This is the per-user configuration file. The format of this file 1146 This is the per-user configuration file. The format of this file
@@ -1167,4 +1164,4 @@ AUTHORS
1167 created OpenSSH. Markus Friedl contributed the support for SSH protocol 1164 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1168 versions 1.5 and 2.0. 1165 versions 1.5 and 2.0.
1169 1166
1170OpenBSD 6.6 February 7, 2020 OpenBSD 6.6 1167OpenBSD 6.7 April 11, 2020 OpenBSD 6.7
diff --git a/ssh_config.5 b/ssh_config.5
index 91beb6f50..2574b1004 100644
--- a/ssh_config.5
+++ b/ssh_config.5
@@ -33,8 +33,8 @@
33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35.\" 35.\"
36.\" $OpenBSD: ssh_config.5,v 1.322 2020/02/07 03:54:44 dtucker Exp $ 36.\" $OpenBSD: ssh_config.5,v 1.325 2020/04/11 20:20:09 jmc Exp $
37.Dd $Mdocdate: February 7 2020 $ 37.Dd $Mdocdate: April 11 2020 $
38.Dt SSH_CONFIG 5 38.Dt SSH_CONFIG 5
39.Os 39.Os
40.Sh NAME 40.Sh NAME
@@ -853,8 +853,8 @@ gss-curve25519-sha256-
853.Ed 853.Ed
854.Pp 854.Pp
855The default is 855The default is
856.Dq gss-gex-sha1-,gss-group14-sha1- . 856.Dq gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1- .
857This option only applies to protocol version 2 connections using GSSAPI. 857This option only applies to connections using GSSAPI.
858.It Cm HashKnownHosts 858.It Cm HashKnownHosts
859Indicates that 859Indicates that
860.Xr ssh 1 860.Xr ssh 1
@@ -1211,12 +1211,15 @@ has been enabled.
1211.It Cm LocalForward 1211.It Cm LocalForward
1212Specifies that a TCP port on the local machine be forwarded over 1212Specifies that a TCP port on the local machine be forwarded over
1213the secure channel to the specified host and port from the remote machine. 1213the secure channel to the specified host and port from the remote machine.
1214The first argument must be 1214The first argument specifies the listener and may be
1215.Sm off 1215.Sm off
1216.Oo Ar bind_address : Oc Ar port 1216.Oo Ar bind_address : Oc Ar port
1217.Sm on 1217.Sm on
1218and the second argument must be 1218or a Unix domain socket path.
1219.Ar host : Ns Ar hostport . 1219The second argument is the destination and may be
1220.Ar host : Ns Ar hostport
1221or a Unix domain socket path if the remote host supports it.
1222.Pp
1220IPv6 addresses can be specified by enclosing addresses in square brackets. 1223IPv6 addresses can be specified by enclosing addresses in square brackets.
1221Multiple forwardings may be specified, and additional forwardings can be 1224Multiple forwardings may be specified, and additional forwardings can be
1222given on the command line. 1225given on the command line.
@@ -1235,6 +1238,9 @@ indicates that the listening port be bound for local use only, while an
1235empty address or 1238empty address or
1236.Sq * 1239.Sq *
1237indicates that the port should be available from all interfaces. 1240indicates that the port should be available from all interfaces.
1241Unix domain socket paths accept the tokens described in the
1242.Sx TOKENS
1243section.
1238.It Cm LogLevel 1244.It Cm LogLevel
1239Gives the verbosity level that is used when logging messages from 1245Gives the verbosity level that is used when logging messages from
1240.Xr ssh 1 . 1246.Xr ssh 1 .
@@ -1487,12 +1493,14 @@ the secure channel.
1487The remote port may either be forwarded to a specified host and port 1493The remote port may either be forwarded to a specified host and port
1488from the local machine, or may act as a SOCKS 4/5 proxy that allows a remote 1494from the local machine, or may act as a SOCKS 4/5 proxy that allows a remote
1489client to connect to arbitrary destinations from the local machine. 1495client to connect to arbitrary destinations from the local machine.
1490The first argument must be 1496The first argument is the listening specification and may be
1491.Sm off 1497.Sm off
1492.Oo Ar bind_address : Oc Ar port 1498.Oo Ar bind_address : Oc Ar port
1493.Sm on 1499.Sm on
1500or, if the remote host supports it, a Unix domain socket path.
1494If forwarding to a specific destination then the second argument must be 1501If forwarding to a specific destination then the second argument must be
1495.Ar host : Ns Ar hostport , 1502.Ar host : Ns Ar hostport
1503or a Unix domain socket path,
1496otherwise if no destination argument is specified then the remote forwarding 1504otherwise if no destination argument is specified then the remote forwarding
1497will be established as a SOCKS proxy. 1505will be established as a SOCKS proxy.
1498.Pp 1506.Pp
@@ -1501,6 +1509,9 @@ Multiple forwardings may be specified, and additional
1501forwardings can be given on the command line. 1509forwardings can be given on the command line.
1502Privileged ports can be forwarded only when 1510Privileged ports can be forwarded only when
1503logging in as root on the remote machine. 1511logging in as root on the remote machine.
1512Unix domain socket paths accept the tokens described in the
1513.Sx TOKENS
1514section.
1504.Pp 1515.Pp
1505If the 1516If the
1506.Ar port 1517.Ar port
@@ -1944,31 +1955,25 @@ otherwise.
1944The local username. 1955The local username.
1945.El 1956.El
1946.Pp 1957.Pp
1947.Cm Match exec 1958.Cm CertificateFile ,
1948accepts the tokens %%, %h, %i, %L, %l, %n, %p, %r, and %u. 1959.Cm ControlPath ,
1949.Pp 1960.Cm IdentityAgent ,
1950.Cm CertificateFile 1961.Cm IdentityFile ,
1951accepts the tokens %%, %d, %h, %i, %l, %r, and %u. 1962.Cm LocalForward ,
1952.Pp 1963.Cm Match exec ,
1953.Cm ControlPath 1964.Cm RemoteCommand ,
1954accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and %u. 1965and
1966.Cm RemoteForward
1967accept the tokens %%, %C, %d, %h, %i, %L, %l, %n, %p, %r, and %u.
1955.Pp 1968.Pp
1956.Cm Hostname 1969.Cm Hostname
1957accepts the tokens %% and %h. 1970accepts the tokens %% and %h.
1958.Pp 1971.Pp
1959.Cm IdentityAgent
1960and
1961.Cm IdentityFile
1962accept the tokens %%, %d, %h, %i, %l, %r, and %u.
1963.Pp
1964.Cm LocalCommand 1972.Cm LocalCommand
1965accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, %T, and %u. 1973accepts all tokens.
1966.Pp 1974.Pp
1967.Cm ProxyCommand 1975.Cm ProxyCommand
1968accepts the tokens %%, %h, %n, %p, and %r. 1976accepts the tokens %%, %h, %n, %p, and %r.
1969.Pp
1970.Cm RemoteCommand
1971accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, and %u.
1972.Sh FILES 1977.Sh FILES
1973.Bl -tag -width Ds 1978.Bl -tag -width Ds
1974.It Pa ~/.ssh/config 1979.It Pa ~/.ssh/config
diff --git a/sshbuf-misc.c b/sshbuf-misc.c
index c0336e867..9b5aa208c 100644
--- a/sshbuf-misc.c
+++ b/sshbuf-misc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshbuf-misc.c,v 1.13 2020/01/25 23:28:06 djm Exp $ */ 1/* $OpenBSD: sshbuf-misc.c,v 1.14 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2011 Damien Miller 3 * Copyright (c) 2011 Damien Miller
4 * 4 *
@@ -156,17 +156,14 @@ sshbuf_b64tod(struct sshbuf *buf, const char *b64)
156 if ((p = malloc(plen)) == NULL) 156 if ((p = malloc(plen)) == NULL)
157 return SSH_ERR_ALLOC_FAIL; 157 return SSH_ERR_ALLOC_FAIL;
158 if ((nlen = b64_pton(b64, p, plen)) < 0) { 158 if ((nlen = b64_pton(b64, p, plen)) < 0) {
159 explicit_bzero(p, plen); 159 freezero(p, plen);
160 free(p);
161 return SSH_ERR_INVALID_FORMAT; 160 return SSH_ERR_INVALID_FORMAT;
162 } 161 }
163 if ((r = sshbuf_put(buf, p, nlen)) < 0) { 162 if ((r = sshbuf_put(buf, p, nlen)) < 0) {
164 explicit_bzero(p, plen); 163 freezero(p, plen);
165 free(p);
166 return r; 164 return r;
167 } 165 }
168 explicit_bzero(p, plen); 166 freezero(p, plen);
169 free(p);
170 return 0; 167 return 0;
171} 168}
172 169
diff --git a/sshbuf.c b/sshbuf.c
index f4f7a220f..368ba7980 100644
--- a/sshbuf.c
+++ b/sshbuf.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshbuf.c,v 1.14 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: sshbuf.c,v 1.15 2020/02/26 13:40:09 jsg Exp $ */
2/* 2/*
3 * Copyright (c) 2011 Damien Miller 3 * Copyright (c) 2011 Damien Miller
4 * 4 *
@@ -164,8 +164,7 @@ sshbuf_free(struct sshbuf *buf)
164 explicit_bzero(buf->d, buf->alloc); 164 explicit_bzero(buf->d, buf->alloc);
165 free(buf->d); 165 free(buf->d);
166 } 166 }
167 explicit_bzero(buf, sizeof(*buf)); 167 freezero(buf, sizeof(*buf));
168 free(buf);
169} 168}
170 169
171void 170void
diff --git a/sshbuf.h b/sshbuf.h
index 165cd0b18..94392c8be 100644
--- a/sshbuf.h
+++ b/sshbuf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshbuf.h,v 1.19 2020/01/25 23:02:14 djm Exp $ */ 1/* $OpenBSD: sshbuf.h,v 1.21 2020/04/26 09:38:14 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 2011 Damien Miller 3 * Copyright (c) 2011 Damien Miller
4 * 4 *
@@ -140,7 +140,7 @@ int sshbuf_allocate(struct sshbuf *buf, size_t len);
140/* 140/*
141 * Reserve len bytes in buf. 141 * Reserve len bytes in buf.
142 * Returns 0 on success and a pointer to the first reserved byte via the 142 * Returns 0 on success and a pointer to the first reserved byte via the
143 * optional dpp parameter or a negative * SSH_ERR_* error code on failure. 143 * optional dpp parameter or a negative SSH_ERR_* error code on failure.
144 */ 144 */
145int sshbuf_reserve(struct sshbuf *buf, size_t len, u_char **dpp); 145int sshbuf_reserve(struct sshbuf *buf, size_t len, u_char **dpp);
146 146
@@ -187,7 +187,7 @@ int sshbuf_peek_u8(const struct sshbuf *buf, size_t offset,
187 u_char *valp); 187 u_char *valp);
188 188
189/* 189/*
190 * Functions to poke values into an exisiting buffer (e.g. a length header 190 * Functions to poke values into an existing buffer (e.g. a length header
191 * to a packet). The destination bytes must already exist in the buffer. 191 * to a packet). The destination bytes must already exist in the buffer.
192 */ 192 */
193int sshbuf_poke_u64(struct sshbuf *buf, size_t offset, u_int64_t val); 193int sshbuf_poke_u64(struct sshbuf *buf, size_t offset, u_int64_t val);
diff --git a/sshconnect.c b/sshconnect.c
index 9f2412e0d..1e5b8ea5a 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshconnect.c,v 1.328 2020/01/25 07:17:18 djm Exp $ */ 1/* $OpenBSD: sshconnect.c,v 1.329 2020/03/13 04:01:56 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1283,6 +1283,7 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost,
1283{ 1283{
1284 char *host; 1284 char *host;
1285 char *server_user, *local_user; 1285 char *server_user, *local_user;
1286 int r;
1286 1287
1287 local_user = xstrdup(pw->pw_name); 1288 local_user = xstrdup(pw->pw_name);
1288 server_user = options.user ? options.user : local_user; 1289 server_user = options.user ? options.user : local_user;
@@ -1292,8 +1293,8 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost,
1292 lowercase(host); 1293 lowercase(host);
1293 1294
1294 /* Exchange protocol version identification strings with the server. */ 1295 /* Exchange protocol version identification strings with the server. */
1295 if (kex_exchange_identification(ssh, timeout_ms, 1, NULL) != 0) 1296 if ((r = kex_exchange_identification(ssh, timeout_ms, 1, NULL)) != 0)
1296 cleanup_exit(255); /* error already logged */ 1297 sshpkt_fatal(ssh, r, "banner exchange");
1297 1298
1298 /* Put the connection into non-blocking mode. */ 1299 /* Put the connection into non-blocking mode. */
1299 ssh_packet_set_nonblocking(ssh); 1300 ssh_packet_set_nonblocking(ssh);
diff --git a/sshconnect2.c b/sshconnect2.c
index 03bc87eb4..79a22e600 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshconnect2.c,v 1.320 2020/02/06 22:48:23 djm Exp $ */ 1/* $OpenBSD: sshconnect2.c,v 1.321 2020/04/17 03:38:47 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * Copyright (c) 2008 Damien Miller. All rights reserved. 4 * Copyright (c) 2008 Damien Miller. All rights reserved.
@@ -215,12 +215,18 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port)
215 * client to the key exchange algorithm proposal */ 215 * client to the key exchange algorithm proposal */
216 orig = myproposal[PROPOSAL_KEX_ALGS]; 216 orig = myproposal[PROPOSAL_KEX_ALGS];
217 217
218 if (options.gss_server_identity) 218 if (options.gss_server_identity) {
219 gss_host = xstrdup(options.gss_server_identity); 219 gss_host = xstrdup(options.gss_server_identity);
220 else if (options.gss_trust_dns) 220 } else if (options.gss_trust_dns) {
221 gss_host = remote_hostname(ssh); 221 gss_host = remote_hostname(ssh);
222 else 222 /* Fall back to specified host if we are using proxy command
223 * and can not use DNS on that socket */
224 if (strcmp(gss_host, "UNKNOWN") == 0) {
225 gss_host = xstrdup(host);
226 }
227 } else {
223 gss_host = xstrdup(host); 228 gss_host = xstrdup(host);
229 }
224 230
225 gss = ssh_gssapi_client_mechanisms(gss_host, 231 gss = ssh_gssapi_client_mechanisms(gss_host,
226 options.gss_client_identity, options.gss_kex_algorithms); 232 options.gss_client_identity, options.gss_kex_algorithms);
@@ -786,12 +792,18 @@ userauth_gssapi(struct ssh *ssh)
786 gss_OID mech = NULL; 792 gss_OID mech = NULL;
787 char *gss_host; 793 char *gss_host;
788 794
789 if (options.gss_server_identity) 795 if (options.gss_server_identity) {
790 gss_host = xstrdup(options.gss_server_identity); 796 gss_host = xstrdup(options.gss_server_identity);
791 else if (options.gss_trust_dns) 797 } else if (options.gss_trust_dns) {
792 gss_host = remote_hostname(ssh); 798 gss_host = remote_hostname(ssh);
793 else 799 /* Fall back to specified host if we are using proxy command
800 * and can not use DNS on that socket */
801 if (strcmp(gss_host, "UNKNOWN") == 0) {
802 gss_host = authctxt->host;
803 }
804 } else {
794 gss_host = xstrdup(authctxt->host); 805 gss_host = xstrdup(authctxt->host);
806 }
795 807
796 /* Try one GSSAPI method at a time, rather than sending them all at 808 /* Try one GSSAPI method at a time, rather than sending them all at
797 * once. */ 809 * once. */
@@ -1803,7 +1815,7 @@ pubkey_prepare(Authctxt *authctxt)
1803 found = 0; 1815 found = 0;
1804 TAILQ_FOREACH(id2, &files, next) { 1816 TAILQ_FOREACH(id2, &files, next) {
1805 if (id2->key == NULL || 1817 if (id2->key == NULL ||
1806 (id2->key->flags & SSHKEY_FLAG_EXT) == 0) 1818 (id2->key->flags & SSHKEY_FLAG_EXT) != 0)
1807 continue; 1819 continue;
1808 if (sshkey_equal(id->key, id2->key)) { 1820 if (sshkey_equal(id->key, id2->key)) {
1809 TAILQ_REMOVE(&files, id, next); 1821 TAILQ_REMOVE(&files, id, next);
diff --git a/sshd.0 b/sshd.0
index 15ef5dd3b..5f9aadd66 100644
--- a/sshd.0
+++ b/sshd.0
@@ -664,4 +664,4 @@ AUTHORS
664 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support 664 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
665 for privilege separation. 665 for privilege separation.
666 666
667OpenBSD 6.6 January 25, 2020 OpenBSD 6.6 667OpenBSD 6.7 January 25, 2020 OpenBSD 6.7
diff --git a/sshd.c b/sshd.c
index c069505a0..d2d1877d4 100644
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshd.c,v 1.549 2020/01/31 23:13:04 djm Exp $ */ 1/* $OpenBSD: sshd.c,v 1.552 2020/03/13 04:01:57 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -328,7 +328,6 @@ sighup_restart(void)
328 platform_pre_restart(); 328 platform_pre_restart();
329 close_listen_socks(); 329 close_listen_socks();
330 close_startup_pipes(); 330 close_startup_pipes();
331 alarm(0); /* alarm timer persists across exec */
332 ssh_signal(SIGHUP, SIG_IGN); /* will be restored after exec */ 331 ssh_signal(SIGHUP, SIG_IGN); /* will be restored after exec */
333 execv(saved_argv[0], saved_argv); 332 execv(saved_argv[0], saved_argv);
334 logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0], 333 logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0],
@@ -1121,7 +1120,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s)
1121 for (i = 0; i < num_listen_socks; i++) 1120 for (i = 0; i < num_listen_socks; i++)
1122 if (listen_socks[i] > maxfd) 1121 if (listen_socks[i] > maxfd)
1123 maxfd = listen_socks[i]; 1122 maxfd = listen_socks[i];
1124 /* pipes connected to unauthenticated childs */ 1123 /* pipes connected to unauthenticated child sshd processes */
1125 startup_pipes = xcalloc(options.max_startups, sizeof(int)); 1124 startup_pipes = xcalloc(options.max_startups, sizeof(int));
1126 startup_flags = xcalloc(options.max_startups, sizeof(int)); 1125 startup_flags = xcalloc(options.max_startups, sizeof(int));
1127 for (i = 0; i < options.max_startups; i++) 1126 for (i = 0; i < options.max_startups; i++)
@@ -2102,12 +2101,7 @@ main(int ac, char **av)
2102 fcntl(sock_out, F_SETFD, FD_CLOEXEC); 2101 fcntl(sock_out, F_SETFD, FD_CLOEXEC);
2103 fcntl(sock_in, F_SETFD, FD_CLOEXEC); 2102 fcntl(sock_in, F_SETFD, FD_CLOEXEC);
2104 2103
2105 /* 2104 /* We will not restart on SIGHUP since it no longer makes sense. */
2106 * Disable the key regeneration alarm. We will not regenerate the
2107 * key since we are no longer in a position to give it to anyone. We
2108 * will not restart on SIGHUP since it no longer makes sense.
2109 */
2110 alarm(0);
2111 ssh_signal(SIGALRM, SIG_DFL); 2105 ssh_signal(SIGALRM, SIG_DFL);
2112 ssh_signal(SIGHUP, SIG_DFL); 2106 ssh_signal(SIGHUP, SIG_DFL);
2113 ssh_signal(SIGTERM, SIG_DFL); 2107 ssh_signal(SIGTERM, SIG_DFL);
@@ -2196,9 +2190,9 @@ main(int ac, char **av)
2196 if (!debug_flag) 2190 if (!debug_flag)
2197 alarm(options.login_grace_time); 2191 alarm(options.login_grace_time);
2198 2192
2199 if (kex_exchange_identification(ssh, -1, options.debian_banner, 2193 if ((r = kex_exchange_identification(ssh, -1, options.debian_banner,
2200 options.version_addendum) != 0) 2194 options.version_addendum)) != 0)
2201 cleanup_exit(255); /* error already logged */ 2195 sshpkt_fatal(ssh, r, "banner exchange");
2202 2196
2203 ssh_packet_set_nonblocking(ssh); 2197 ssh_packet_set_nonblocking(ssh);
2204 2198
diff --git a/sshd_config.0 b/sshd_config.0
index 1d655a3b8..e75ed1b32 100644
--- a/sshd_config.0
+++ b/sshd_config.0
@@ -130,11 +130,10 @@ DESCRIPTION
130 target user is used. 130 target user is used.
131 131
132 The program should produce on standard output zero or more lines 132 The program should produce on standard output zero or more lines
133 of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a 133 of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)).
134 key supplied by AuthorizedKeysCommand does not successfully 134 AuthorizedKeysCommand is tried after the usual AuthorizedKeysFile
135 authenticate and authorize the user then public key 135 files and will not be executed if a matching key is found there.
136 authentication continues using the usual AuthorizedKeysFile 136 By default, no AuthorizedKeysCommand is run.
137 files. By default, no AuthorizedKeysCommand is run.
138 137
139 AuthorizedKeysCommandUser 138 AuthorizedKeysCommandUser
140 Specifies the user under whose account the AuthorizedKeysCommand 139 Specifies the user under whose account the AuthorizedKeysCommand
@@ -482,11 +481,13 @@ DESCRIPTION
482 -Q HostKeyAlgorithms". 481 -Q HostKeyAlgorithms".
483 482
484 IgnoreRhosts 483 IgnoreRhosts
485 Specifies that .rhosts and .shosts files will not be used in 484 Specifies whether to ignore per-user .rhosts and .shosts files
486 HostbasedAuthentication. 485 during HostbasedAuthentication. The system-wide /etc/hosts.equiv
486 and /etc/shosts.equiv are still used regardless of this setting.
487 487
488 /etc/hosts.equiv and /etc/shosts.equiv are still used. The 488 Accepted values are yes (the default) to ignore all per-user
489 default is yes. 489 files, shosts-only to allow the use of .shosts but to ignore
490 .rhosts or no to allow both .shosts and rhosts.
490 491
491 IgnoreUserKnownHosts 492 IgnoreUserKnownHosts
492 Specifies whether sshd(8) should ignore the user's 493 Specifies whether sshd(8) should ignore the user's
@@ -687,7 +688,7 @@ DESCRIPTION
687 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand, 688 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
688 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes, 689 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
689 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, 690 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
690 Include, IPQoS, KbdInteractiveAuthentication, 691 IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication,
691 KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions, 692 KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions,
692 PasswordAuthentication, PermitEmptyPasswords, PermitListen, 693 PasswordAuthentication, PermitEmptyPasswords, PermitListen,
693 PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel, 694 PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
@@ -1142,4 +1143,4 @@ AUTHORS
1142 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support 1143 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1143 for privilege separation. 1144 for privilege separation.
1144 1145
1145OpenBSD 6.6 February 7, 2020 OpenBSD 6.6 1146OpenBSD 6.7 April 17, 2020 OpenBSD 6.7
diff --git a/sshd_config.5 b/sshd_config.5
index d25b2f3d5..88db4db07 100644
--- a/sshd_config.5
+++ b/sshd_config.5
@@ -33,8 +33,8 @@
33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35.\" 35.\"
36.\" $OpenBSD: sshd_config.5,v 1.307 2020/02/07 03:54:44 dtucker Exp $ 36.\" $OpenBSD: sshd_config.5,v 1.311 2020/04/17 06:12:41 jmc Exp $
37.Dd $Mdocdate: February 7 2020 $ 37.Dd $Mdocdate: April 17 2020 $
38.Dt SSHD_CONFIG 5 38.Dt SSHD_CONFIG 5
39.Os 39.Os
40.Sh NAME 40.Sh NAME
@@ -276,12 +276,10 @@ more lines of authorized_keys output (see
276.Sx AUTHORIZED_KEYS 276.Sx AUTHORIZED_KEYS
277in 277in
278.Xr sshd 8 ) . 278.Xr sshd 8 ) .
279If a key supplied by
280.Cm AuthorizedKeysCommand 279.Cm AuthorizedKeysCommand
281does not successfully authenticate 280is tried after the usual
282and authorize the user then public key authentication continues using the usual
283.Cm AuthorizedKeysFile 281.Cm AuthorizedKeysFile
284files. 282files and will not be executed if a matching key is found there.
285By default, no 283By default, no
286.Cm AuthorizedKeysCommand 284.Cm AuthorizedKeysCommand
287is run. 285is run.
@@ -721,8 +719,8 @@ gss-curve25519-sha256-
721.Ed 719.Ed
722.Pp 720.Pp
723The default is 721The default is
724.Dq gss-gex-sha1-,gss-group14-sha1- . 722.Dq gss-group14-sha256-,gss-group16-sha512-,gss-nistp256-sha256-,gss-curve25519-sha256-,gss-gex-sha1-,gss-group14-sha1- .
725This option only applies to protocol version 2 connections using GSSAPI. 723This option only applies to connections using GSSAPI.
726.It Cm HostbasedAcceptedKeyTypes 724.It Cm HostbasedAcceptedKeyTypes
727Specifies the key types that will be accepted for hostbased authentication 725Specifies the key types that will be accepted for hostbased authentication
728as a list of comma-separated patterns. 726as a list of comma-separated patterns.
@@ -841,19 +839,32 @@ rsa-sha2-512,rsa-sha2-256,ssh-rsa
841The list of available key types may also be obtained using 839The list of available key types may also be obtained using
842.Qq ssh -Q HostKeyAlgorithms . 840.Qq ssh -Q HostKeyAlgorithms .
843.It Cm IgnoreRhosts 841.It Cm IgnoreRhosts
844Specifies that 842Specifies whether to ignore per-user
845.Pa .rhosts 843.Pa .rhosts
846and 844and
847.Pa .shosts 845.Pa .shosts
848files will not be used in 846files during
849.Cm HostbasedAuthentication . 847.Cm HostbasedAuthentication .
850.Pp 848The system-wide
851.Pa /etc/hosts.equiv 849.Pa /etc/hosts.equiv
852and 850and
853.Pa /etc/shosts.equiv 851.Pa /etc/shosts.equiv
854are still used. 852are still used regardless of this setting.
855The default is 853.Pp
856.Cm yes . 854Accepted values are
855.Cm yes
856(the default) to ignore all per-user files,
857.Cm shosts-only
858to allow the use of
859.Pa .shosts
860but to ignore
861.Pa .rhosts
862or
863.Cm no
864to allow both
865.Pa .shosts
866and
867.Pa rhosts .
857.It Cm IgnoreUserKnownHosts 868.It Cm IgnoreUserKnownHosts
858Specifies whether 869Specifies whether
859.Xr sshd 8 870.Xr sshd 8
@@ -1223,6 +1234,7 @@ Available keywords are
1223.Cm HostbasedAcceptedKeyTypes , 1234.Cm HostbasedAcceptedKeyTypes ,
1224.Cm HostbasedAuthentication , 1235.Cm HostbasedAuthentication ,
1225.Cm HostbasedUsesNameFromPacketOnly , 1236.Cm HostbasedUsesNameFromPacketOnly ,
1237.Cm IgnoreRhosts ,
1226.Cm Include , 1238.Cm Include ,
1227.Cm IPQoS , 1239.Cm IPQoS ,
1228.Cm KbdInteractiveAuthentication , 1240.Cm KbdInteractiveAuthentication ,
diff --git a/sshkey.c b/sshkey.c
index fd5b77246..1ac32a0ec 100644
--- a/sshkey.c
+++ b/sshkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshkey.c,v 1.99 2020/01/21 05:56:56 djm Exp $ */ 1/* $OpenBSD: sshkey.c,v 1.108 2020/04/11 10:16:11 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
4 * Copyright (c) 2008 Alexander von Gernler. All rights reserved. 4 * Copyright (c) 2008 Alexander von Gernler. All rights reserved.
@@ -1020,10 +1020,8 @@ sshkey_fingerprint_raw(const struct sshkey *k, int dgst_alg,
1020 r = 0; 1020 r = 0;
1021 out: 1021 out:
1022 free(ret); 1022 free(ret);
1023 if (blob != NULL) { 1023 if (blob != NULL)
1024 explicit_bzero(blob, blob_len); 1024 freezero(blob, blob_len);
1025 free(blob);
1026 }
1027 return r; 1025 return r;
1028} 1026}
1029 1027
@@ -1281,12 +1279,10 @@ sshkey_fingerprint(const struct sshkey *k, int dgst_alg,
1281 dgst_raw, dgst_raw_len, k); 1279 dgst_raw, dgst_raw_len, k);
1282 break; 1280 break;
1283 default: 1281 default:
1284 explicit_bzero(dgst_raw, dgst_raw_len); 1282 freezero(dgst_raw, dgst_raw_len);
1285 free(dgst_raw);
1286 return NULL; 1283 return NULL;
1287 } 1284 }
1288 explicit_bzero(dgst_raw, dgst_raw_len); 1285 freezero(dgst_raw, dgst_raw_len);
1289 free(dgst_raw);
1290 return retval; 1286 return retval;
1291} 1287}
1292 1288
@@ -3083,8 +3079,8 @@ sshkey_cert_check_authority(const struct sshkey *k,
3083 u_int i, principal_matches; 3079 u_int i, principal_matches;
3084 time_t now = time(NULL); 3080 time_t now = time(NULL);
3085 3081
3086 if (reason != NULL) 3082 if (reason == NULL)
3087 *reason = NULL; 3083 return SSH_ERR_INVALID_ARGUMENT;
3088 3084
3089 if (want_host) { 3085 if (want_host) {
3090 if (k->cert->type != SSH2_CERT_TYPE_HOST) { 3086 if (k->cert->type != SSH2_CERT_TYPE_HOST) {
@@ -3399,38 +3395,52 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3399 if ((r = sshbuf_get_cstring(buf, &tname, NULL)) != 0) 3395 if ((r = sshbuf_get_cstring(buf, &tname, NULL)) != 0)
3400 goto out; 3396 goto out;
3401 type = sshkey_type_from_name(tname); 3397 type = sshkey_type_from_name(tname);
3402 switch (type) { 3398 if (sshkey_type_is_cert(type)) {
3403#ifdef WITH_OPENSSL 3399 /*
3404 case KEY_DSA: 3400 * Certificate key private keys begin with the certificate
3401 * itself. Make sure this matches the type of the enclosing
3402 * private key.
3403 */
3404 if ((r = sshkey_froms(buf, &k)) != 0)
3405 goto out;
3406 if (k->type != type) {
3407 r = SSH_ERR_KEY_CERT_MISMATCH;
3408 goto out;
3409 }
3410 /* For ECDSA keys, the group must match too */
3411 if (k->type == KEY_ECDSA &&
3412 k->ecdsa_nid != sshkey_ecdsa_nid_from_name(tname)) {
3413 r = SSH_ERR_KEY_CERT_MISMATCH;
3414 goto out;
3415 }
3416 } else {
3405 if ((k = sshkey_new(type)) == NULL) { 3417 if ((k = sshkey_new(type)) == NULL) {
3406 r = SSH_ERR_ALLOC_FAIL; 3418 r = SSH_ERR_ALLOC_FAIL;
3407 goto out; 3419 goto out;
3408 } 3420 }
3421 }
3422 switch (type) {
3423#ifdef WITH_OPENSSL
3424 case KEY_DSA:
3409 if ((r = sshbuf_get_bignum2(buf, &dsa_p)) != 0 || 3425 if ((r = sshbuf_get_bignum2(buf, &dsa_p)) != 0 ||
3410 (r = sshbuf_get_bignum2(buf, &dsa_q)) != 0 || 3426 (r = sshbuf_get_bignum2(buf, &dsa_q)) != 0 ||
3411 (r = sshbuf_get_bignum2(buf, &dsa_g)) != 0 || 3427 (r = sshbuf_get_bignum2(buf, &dsa_g)) != 0 ||
3412 (r = sshbuf_get_bignum2(buf, &dsa_pub_key)) != 0 || 3428 (r = sshbuf_get_bignum2(buf, &dsa_pub_key)) != 0)
3413 (r = sshbuf_get_bignum2(buf, &dsa_priv_key)) != 0)
3414 goto out; 3429 goto out;
3415 if (!DSA_set0_pqg(k->dsa, dsa_p, dsa_q, dsa_g)) { 3430 if (!DSA_set0_pqg(k->dsa, dsa_p, dsa_q, dsa_g)) {
3416 r = SSH_ERR_LIBCRYPTO_ERROR; 3431 r = SSH_ERR_LIBCRYPTO_ERROR;
3417 goto out; 3432 goto out;
3418 } 3433 }
3419 dsa_p = dsa_q = dsa_g = NULL; /* transferred */ 3434 dsa_p = dsa_q = dsa_g = NULL; /* transferred */
3420 if (!DSA_set0_key(k->dsa, dsa_pub_key, dsa_priv_key)) { 3435 if (!DSA_set0_key(k->dsa, dsa_pub_key, NULL)) {
3421 r = SSH_ERR_LIBCRYPTO_ERROR; 3436 r = SSH_ERR_LIBCRYPTO_ERROR;
3422 goto out; 3437 goto out;
3423 } 3438 }
3424 dsa_pub_key = dsa_priv_key = NULL; /* transferred */ 3439 dsa_pub_key = NULL; /* transferred */
3425 break; 3440 /* FALLTHROUGH */
3426 case KEY_DSA_CERT: 3441 case KEY_DSA_CERT:
3427 if ((r = sshkey_froms(buf, &k)) != 0 || 3442 if ((r = sshbuf_get_bignum2(buf, &dsa_priv_key)) != 0)
3428 (r = sshbuf_get_bignum2(buf, &dsa_priv_key)) != 0)
3429 goto out; 3443 goto out;
3430 if (k->type != type) {
3431 r = SSH_ERR_INVALID_FORMAT;
3432 goto out;
3433 }
3434 if (!DSA_set0_key(k->dsa, NULL, dsa_priv_key)) { 3444 if (!DSA_set0_key(k->dsa, NULL, dsa_priv_key)) {
3435 r = SSH_ERR_LIBCRYPTO_ERROR; 3445 r = SSH_ERR_LIBCRYPTO_ERROR;
3436 goto out; 3446 goto out;
@@ -3439,10 +3449,6 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3439 break; 3449 break;
3440# ifdef OPENSSL_HAS_ECC 3450# ifdef OPENSSL_HAS_ECC
3441 case KEY_ECDSA: 3451 case KEY_ECDSA:
3442 if ((k = sshkey_new(type)) == NULL) {
3443 r = SSH_ERR_ALLOC_FAIL;
3444 goto out;
3445 }
3446 if ((k->ecdsa_nid = sshkey_ecdsa_nid_from_name(tname)) == -1) { 3452 if ((k->ecdsa_nid = sshkey_ecdsa_nid_from_name(tname)) == -1) {
3447 r = SSH_ERR_INVALID_ARGUMENT; 3453 r = SSH_ERR_INVALID_ARGUMENT;
3448 goto out; 3454 goto out;
@@ -3458,27 +3464,12 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3458 r = SSH_ERR_LIBCRYPTO_ERROR; 3464 r = SSH_ERR_LIBCRYPTO_ERROR;
3459 goto out; 3465 goto out;
3460 } 3466 }
3461 if ((r = sshbuf_get_eckey(buf, k->ecdsa)) != 0 || 3467 if ((r = sshbuf_get_eckey(buf, k->ecdsa)) != 0)
3462 (r = sshbuf_get_bignum2(buf, &exponent)))
3463 goto out;
3464 if (EC_KEY_set_private_key(k->ecdsa, exponent) != 1) {
3465 r = SSH_ERR_LIBCRYPTO_ERROR;
3466 goto out;
3467 }
3468 if ((r = sshkey_ec_validate_public(EC_KEY_get0_group(k->ecdsa),
3469 EC_KEY_get0_public_key(k->ecdsa))) != 0 ||
3470 (r = sshkey_ec_validate_private(k->ecdsa)) != 0)
3471 goto out; 3468 goto out;
3472 break; 3469 /* FALLTHROUGH */
3473 case KEY_ECDSA_CERT: 3470 case KEY_ECDSA_CERT:
3474 if ((r = sshkey_froms(buf, &k)) != 0 || 3471 if ((r = sshbuf_get_bignum2(buf, &exponent)) != 0)
3475 (r = sshbuf_get_bignum2(buf, &exponent)) != 0)
3476 goto out;
3477 if (k->type != type ||
3478 k->ecdsa_nid != sshkey_ecdsa_nid_from_name(tname)) {
3479 r = SSH_ERR_INVALID_FORMAT;
3480 goto out; 3472 goto out;
3481 }
3482 if (EC_KEY_set_private_key(k->ecdsa, exponent) != 1) { 3473 if (EC_KEY_set_private_key(k->ecdsa, exponent) != 1) {
3483 r = SSH_ERR_LIBCRYPTO_ERROR; 3474 r = SSH_ERR_LIBCRYPTO_ERROR;
3484 goto out; 3475 goto out;
@@ -3489,10 +3480,6 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3489 goto out; 3480 goto out;
3490 break; 3481 break;
3491 case KEY_ECDSA_SK: 3482 case KEY_ECDSA_SK:
3492 if ((k = sshkey_new(type)) == NULL) {
3493 r = SSH_ERR_ALLOC_FAIL;
3494 goto out;
3495 }
3496 if ((k->ecdsa_nid = sshkey_ecdsa_nid_from_name(tname)) == -1) { 3483 if ((k->ecdsa_nid = sshkey_ecdsa_nid_from_name(tname)) == -1) {
3497 r = SSH_ERR_INVALID_ARGUMENT; 3484 r = SSH_ERR_INVALID_ARGUMENT;
3498 goto out; 3485 goto out;
@@ -3525,8 +3512,6 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3525 goto out; 3512 goto out;
3526 break; 3513 break;
3527 case KEY_ECDSA_SK_CERT: 3514 case KEY_ECDSA_SK_CERT:
3528 if ((r = sshkey_froms(buf, &k)) != 0)
3529 goto out;
3530 if ((k->sk_key_handle = sshbuf_new()) == NULL || 3515 if ((k->sk_key_handle = sshbuf_new()) == NULL ||
3531 (k->sk_reserved = sshbuf_new()) == NULL) { 3516 (k->sk_reserved = sshbuf_new()) == NULL) {
3532 r = SSH_ERR_ALLOC_FAIL; 3517 r = SSH_ERR_ALLOC_FAIL;
@@ -3544,43 +3529,21 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3544 break; 3529 break;
3545# endif /* OPENSSL_HAS_ECC */ 3530# endif /* OPENSSL_HAS_ECC */
3546 case KEY_RSA: 3531 case KEY_RSA:
3547 if ((k = sshkey_new(type)) == NULL) {
3548 r = SSH_ERR_ALLOC_FAIL;
3549 goto out;
3550 }
3551 if ((r = sshbuf_get_bignum2(buf, &rsa_n)) != 0 || 3532 if ((r = sshbuf_get_bignum2(buf, &rsa_n)) != 0 ||
3552 (r = sshbuf_get_bignum2(buf, &rsa_e)) != 0 || 3533 (r = sshbuf_get_bignum2(buf, &rsa_e)) != 0)
3553 (r = sshbuf_get_bignum2(buf, &rsa_d)) != 0 ||
3554 (r = sshbuf_get_bignum2(buf, &rsa_iqmp)) != 0 ||
3555 (r = sshbuf_get_bignum2(buf, &rsa_p)) != 0 ||
3556 (r = sshbuf_get_bignum2(buf, &rsa_q)) != 0)
3557 goto out; 3534 goto out;
3558 if (!RSA_set0_key(k->rsa, rsa_n, rsa_e, rsa_d)) { 3535 if (!RSA_set0_key(k->rsa, rsa_n, rsa_e, NULL)) {
3559 r = SSH_ERR_LIBCRYPTO_ERROR; 3536 r = SSH_ERR_LIBCRYPTO_ERROR;
3560 goto out; 3537 goto out;
3561 } 3538 }
3562 rsa_n = rsa_e = rsa_d = NULL; /* transferred */ 3539 rsa_n = rsa_e = NULL; /* transferred */
3563 if (!RSA_set0_factors(k->rsa, rsa_p, rsa_q)) { 3540 /* FALLTHROUGH */
3564 r = SSH_ERR_LIBCRYPTO_ERROR;
3565 goto out;
3566 }
3567 rsa_p = rsa_q = NULL; /* transferred */
3568 if ((r = check_rsa_length(k->rsa)) != 0)
3569 goto out;
3570 if ((r = ssh_rsa_complete_crt_parameters(k, rsa_iqmp)) != 0)
3571 goto out;
3572 break;
3573 case KEY_RSA_CERT: 3541 case KEY_RSA_CERT:
3574 if ((r = sshkey_froms(buf, &k)) != 0 || 3542 if ((r = sshbuf_get_bignum2(buf, &rsa_d)) != 0 ||
3575 (r = sshbuf_get_bignum2(buf, &rsa_d)) != 0 ||
3576 (r = sshbuf_get_bignum2(buf, &rsa_iqmp)) != 0 || 3543 (r = sshbuf_get_bignum2(buf, &rsa_iqmp)) != 0 ||
3577 (r = sshbuf_get_bignum2(buf, &rsa_p)) != 0 || 3544 (r = sshbuf_get_bignum2(buf, &rsa_p)) != 0 ||
3578 (r = sshbuf_get_bignum2(buf, &rsa_q)) != 0) 3545 (r = sshbuf_get_bignum2(buf, &rsa_q)) != 0)
3579 goto out; 3546 goto out;
3580 if (k->type != type) {
3581 r = SSH_ERR_INVALID_FORMAT;
3582 goto out;
3583 }
3584 if (!RSA_set0_key(k->rsa, NULL, NULL, rsa_d)) { 3547 if (!RSA_set0_key(k->rsa, NULL, NULL, rsa_d)) {
3585 r = SSH_ERR_LIBCRYPTO_ERROR; 3548 r = SSH_ERR_LIBCRYPTO_ERROR;
3586 goto out; 3549 goto out;
@@ -3598,30 +3561,10 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3598 break; 3561 break;
3599#endif /* WITH_OPENSSL */ 3562#endif /* WITH_OPENSSL */
3600 case KEY_ED25519: 3563 case KEY_ED25519:
3601 if ((k = sshkey_new(type)) == NULL) {
3602 r = SSH_ERR_ALLOC_FAIL;
3603 goto out;
3604 }
3605 if ((r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0 ||
3606 (r = sshbuf_get_string(buf, &ed25519_sk, &sklen)) != 0)
3607 goto out;
3608 if (pklen != ED25519_PK_SZ || sklen != ED25519_SK_SZ) {
3609 r = SSH_ERR_INVALID_FORMAT;
3610 goto out;
3611 }
3612 k->ed25519_pk = ed25519_pk;
3613 k->ed25519_sk = ed25519_sk;
3614 ed25519_pk = ed25519_sk = NULL;
3615 break;
3616 case KEY_ED25519_CERT: 3564 case KEY_ED25519_CERT:
3617 if ((r = sshkey_froms(buf, &k)) != 0 || 3565 if ((r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0 ||
3618 (r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0 ||
3619 (r = sshbuf_get_string(buf, &ed25519_sk, &sklen)) != 0) 3566 (r = sshbuf_get_string(buf, &ed25519_sk, &sklen)) != 0)
3620 goto out; 3567 goto out;
3621 if (k->type != type) {
3622 r = SSH_ERR_INVALID_FORMAT;
3623 goto out;
3624 }
3625 if (pklen != ED25519_PK_SZ || sklen != ED25519_SK_SZ) { 3568 if (pklen != ED25519_PK_SZ || sklen != ED25519_SK_SZ) {
3626 r = SSH_ERR_INVALID_FORMAT; 3569 r = SSH_ERR_INVALID_FORMAT;
3627 goto out; 3570 goto out;
@@ -3631,38 +3574,9 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3631 ed25519_pk = ed25519_sk = NULL; /* transferred */ 3574 ed25519_pk = ed25519_sk = NULL; /* transferred */
3632 break; 3575 break;
3633 case KEY_ED25519_SK: 3576 case KEY_ED25519_SK:
3634 if ((k = sshkey_new(type)) == NULL) {
3635 r = SSH_ERR_ALLOC_FAIL;
3636 goto out;
3637 }
3638 if ((r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0)
3639 goto out;
3640 if (pklen != ED25519_PK_SZ) {
3641 r = SSH_ERR_INVALID_FORMAT;
3642 goto out;
3643 }
3644 if ((k->sk_key_handle = sshbuf_new()) == NULL ||
3645 (k->sk_reserved = sshbuf_new()) == NULL) {
3646 r = SSH_ERR_ALLOC_FAIL;
3647 goto out;
3648 }
3649 if ((r = sshbuf_get_cstring(buf, &k->sk_application,
3650 NULL)) != 0 ||
3651 (r = sshbuf_get_u8(buf, &k->sk_flags)) != 0 ||
3652 (r = sshbuf_get_stringb(buf, k->sk_key_handle)) != 0 ||
3653 (r = sshbuf_get_stringb(buf, k->sk_reserved)) != 0)
3654 goto out;
3655 k->ed25519_pk = ed25519_pk;
3656 ed25519_pk = NULL;
3657 break;
3658 case KEY_ED25519_SK_CERT: 3577 case KEY_ED25519_SK_CERT:
3659 if ((r = sshkey_froms(buf, &k)) != 0 || 3578 if ((r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0)
3660 (r = sshbuf_get_string(buf, &ed25519_pk, &pklen)) != 0)
3661 goto out;
3662 if (k->type != type) {
3663 r = SSH_ERR_INVALID_FORMAT;
3664 goto out; 3579 goto out;
3665 }
3666 if (pklen != ED25519_PK_SZ) { 3580 if (pklen != ED25519_PK_SZ) {
3667 r = SSH_ERR_INVALID_FORMAT; 3581 r = SSH_ERR_INVALID_FORMAT;
3668 goto out; 3582 goto out;
@@ -3683,10 +3597,7 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3683 break; 3597 break;
3684#ifdef WITH_XMSS 3598#ifdef WITH_XMSS
3685 case KEY_XMSS: 3599 case KEY_XMSS:
3686 if ((k = sshkey_new(type)) == NULL) { 3600 case KEY_XMSS_CERT:
3687 r = SSH_ERR_ALLOC_FAIL;
3688 goto out;
3689 }
3690 if ((r = sshbuf_get_cstring(buf, &xmss_name, NULL)) != 0 || 3601 if ((r = sshbuf_get_cstring(buf, &xmss_name, NULL)) != 0 ||
3691 (r = sshkey_xmss_init(k, xmss_name)) != 0 || 3602 (r = sshkey_xmss_init(k, xmss_name)) != 0 ||
3692 (r = sshbuf_get_string(buf, &xmss_pk, &pklen)) != 0 || 3603 (r = sshbuf_get_string(buf, &xmss_pk, &pklen)) != 0 ||
@@ -3704,28 +3615,6 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp)
3704 if ((r = sshkey_xmss_deserialize_state_opt(k, buf)) != 0) 3615 if ((r = sshkey_xmss_deserialize_state_opt(k, buf)) != 0)
3705 goto out; 3616 goto out;
3706 break; 3617 break;
3707 case KEY_XMSS_CERT:
3708 if ((r = sshkey_froms(buf, &k)) != 0 ||
3709 (r = sshbuf_get_cstring(buf, &xmss_name, NULL)) != 0 ||
3710 (r = sshbuf_get_string(buf, &xmss_pk, &pklen)) != 0 ||
3711 (r = sshbuf_get_string(buf, &xmss_sk, &sklen)) != 0)
3712 goto out;
3713 if (k->type != type || strcmp(xmss_name, k->xmss_name) != 0) {
3714 r = SSH_ERR_INVALID_FORMAT;
3715 goto out;
3716 }
3717 if (pklen != sshkey_xmss_pklen(k) ||
3718 sklen != sshkey_xmss_sklen(k)) {
3719 r = SSH_ERR_INVALID_FORMAT;
3720 goto out;
3721 }
3722 k->xmss_pk = xmss_pk;
3723 k->xmss_sk = xmss_sk;
3724 xmss_pk = xmss_sk = NULL;
3725 /* optional internal state */
3726 if ((r = sshkey_xmss_deserialize_state_opt(k, buf)) != 0)
3727 goto out;
3728 break;
3729#endif /* WITH_XMSS */ 3618#endif /* WITH_XMSS */
3730 default: 3619 default:
3731 r = SSH_ERR_KEY_TYPE_UNKNOWN; 3620 r = SSH_ERR_KEY_TYPE_UNKNOWN;
@@ -4055,46 +3944,31 @@ sshkey_private_to_blob2(struct sshkey *prv, struct sshbuf *blob,
4055 sshbuf_free(encrypted); 3944 sshbuf_free(encrypted);
4056 cipher_free(ciphercontext); 3945 cipher_free(ciphercontext);
4057 explicit_bzero(salt, sizeof(salt)); 3946 explicit_bzero(salt, sizeof(salt));
4058 if (key != NULL) { 3947 if (key != NULL)
4059 explicit_bzero(key, keylen + ivlen); 3948 freezero(key, keylen + ivlen);
4060 free(key); 3949 if (pubkeyblob != NULL)
4061 } 3950 freezero(pubkeyblob, pubkeylen);
4062 if (pubkeyblob != NULL) { 3951 if (b64 != NULL)
4063 explicit_bzero(pubkeyblob, pubkeylen); 3952 freezero(b64, strlen(b64));
4064 free(pubkeyblob);
4065 }
4066 if (b64 != NULL) {
4067 explicit_bzero(b64, strlen(b64));
4068 free(b64);
4069 }
4070 return r; 3953 return r;
4071} 3954}
4072 3955
4073static int 3956static int
4074sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase, 3957private2_uudecode(struct sshbuf *blob, struct sshbuf **decodedp)
4075 struct sshkey **keyp, char **commentp)
4076{ 3958{
4077 char *comment = NULL, *ciphername = NULL, *kdfname = NULL;
4078 const struct sshcipher *cipher = NULL;
4079 const u_char *cp; 3959 const u_char *cp;
4080 int r = SSH_ERR_INTERNAL_ERROR;
4081 size_t encoded_len; 3960 size_t encoded_len;
4082 size_t i, keylen = 0, ivlen = 0, authlen = 0, slen = 0; 3961 int r;
3962 u_char last;
4083 struct sshbuf *encoded = NULL, *decoded = NULL; 3963 struct sshbuf *encoded = NULL, *decoded = NULL;
4084 struct sshbuf *kdf = NULL, *decrypted = NULL;
4085 struct sshcipher_ctx *ciphercontext = NULL;
4086 struct sshkey *k = NULL;
4087 u_char *key = NULL, *salt = NULL, *dp, pad, last;
4088 u_int blocksize, rounds, nkeys, encrypted_len, check1, check2;
4089 3964
4090 if (keyp != NULL) 3965 if (blob == NULL || decodedp == NULL)
4091 *keyp = NULL; 3966 return SSH_ERR_INVALID_ARGUMENT;
4092 if (commentp != NULL) 3967
4093 *commentp = NULL; 3968 *decodedp = NULL;
4094 3969
4095 if ((encoded = sshbuf_new()) == NULL || 3970 if ((encoded = sshbuf_new()) == NULL ||
4096 (decoded = sshbuf_new()) == NULL || 3971 (decoded = sshbuf_new()) == NULL) {
4097 (decrypted = sshbuf_new()) == NULL) {
4098 r = SSH_ERR_ALLOC_FAIL; 3972 r = SSH_ERR_ALLOC_FAIL;
4099 goto out; 3973 goto out;
4100 } 3974 }
@@ -4144,13 +4018,56 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4144 r = SSH_ERR_INVALID_FORMAT; 4018 r = SSH_ERR_INVALID_FORMAT;
4145 goto out; 4019 goto out;
4146 } 4020 }
4021 /* success */
4022 *decodedp = decoded;
4023 decoded = NULL;
4024 r = 0;
4025 out:
4026 sshbuf_free(encoded);
4027 sshbuf_free(decoded);
4028 return r;
4029}
4030
4031static int
4032private2_decrypt(struct sshbuf *decoded, const char *passphrase,
4033 struct sshbuf **decryptedp, struct sshkey **pubkeyp)
4034{
4035 char *ciphername = NULL, *kdfname = NULL;
4036 const struct sshcipher *cipher = NULL;
4037 int r = SSH_ERR_INTERNAL_ERROR;
4038 size_t keylen = 0, ivlen = 0, authlen = 0, slen = 0;
4039 struct sshbuf *kdf = NULL, *decrypted = NULL;
4040 struct sshcipher_ctx *ciphercontext = NULL;
4041 struct sshkey *pubkey = NULL;
4042 u_char *key = NULL, *salt = NULL, *dp;
4043 u_int blocksize, rounds, nkeys, encrypted_len, check1, check2;
4044
4045 if (decoded == NULL || decryptedp == NULL || pubkeyp == NULL)
4046 return SSH_ERR_INVALID_ARGUMENT;
4047
4048 *decryptedp = NULL;
4049 *pubkeyp = NULL;
4050
4051 if ((decrypted = sshbuf_new()) == NULL) {
4052 r = SSH_ERR_ALLOC_FAIL;
4053 goto out;
4054 }
4055
4147 /* parse public portion of key */ 4056 /* parse public portion of key */
4148 if ((r = sshbuf_consume(decoded, sizeof(AUTH_MAGIC))) != 0 || 4057 if ((r = sshbuf_consume(decoded, sizeof(AUTH_MAGIC))) != 0 ||
4149 (r = sshbuf_get_cstring(decoded, &ciphername, NULL)) != 0 || 4058 (r = sshbuf_get_cstring(decoded, &ciphername, NULL)) != 0 ||
4150 (r = sshbuf_get_cstring(decoded, &kdfname, NULL)) != 0 || 4059 (r = sshbuf_get_cstring(decoded, &kdfname, NULL)) != 0 ||
4151 (r = sshbuf_froms(decoded, &kdf)) != 0 || 4060 (r = sshbuf_froms(decoded, &kdf)) != 0 ||
4152 (r = sshbuf_get_u32(decoded, &nkeys)) != 0 || 4061 (r = sshbuf_get_u32(decoded, &nkeys)) != 0)
4153 (r = sshbuf_skip_string(decoded)) != 0 || /* pubkey */ 4062 goto out;
4063
4064 if (nkeys != 1) {
4065 /* XXX only one key supported at present */
4066 r = SSH_ERR_INVALID_FORMAT;
4067 goto out;
4068 }
4069
4070 if ((r = sshkey_froms(decoded, &pubkey)) != 0 ||
4154 (r = sshbuf_get_u32(decoded, &encrypted_len)) != 0) 4071 (r = sshbuf_get_u32(decoded, &encrypted_len)) != 0)
4155 goto out; 4072 goto out;
4156 4073
@@ -4158,23 +4075,18 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4158 r = SSH_ERR_KEY_UNKNOWN_CIPHER; 4075 r = SSH_ERR_KEY_UNKNOWN_CIPHER;
4159 goto out; 4076 goto out;
4160 } 4077 }
4161 if ((passphrase == NULL || strlen(passphrase) == 0) &&
4162 strcmp(ciphername, "none") != 0) {
4163 /* passphrase required */
4164 r = SSH_ERR_KEY_WRONG_PASSPHRASE;
4165 goto out;
4166 }
4167 if (strcmp(kdfname, "none") != 0 && strcmp(kdfname, "bcrypt") != 0) { 4078 if (strcmp(kdfname, "none") != 0 && strcmp(kdfname, "bcrypt") != 0) {
4168 r = SSH_ERR_KEY_UNKNOWN_CIPHER; 4079 r = SSH_ERR_KEY_UNKNOWN_CIPHER;
4169 goto out; 4080 goto out;
4170 } 4081 }
4171 if (!strcmp(kdfname, "none") && strcmp(ciphername, "none") != 0) { 4082 if (strcmp(kdfname, "none") == 0 && strcmp(ciphername, "none") != 0) {
4172 r = SSH_ERR_INVALID_FORMAT; 4083 r = SSH_ERR_INVALID_FORMAT;
4173 goto out; 4084 goto out;
4174 } 4085 }
4175 if (nkeys != 1) { 4086 if ((passphrase == NULL || strlen(passphrase) == 0) &&
4176 /* XXX only one key supported */ 4087 strcmp(kdfname, "none") != 0) {
4177 r = SSH_ERR_INVALID_FORMAT; 4088 /* passphrase required */
4089 r = SSH_ERR_KEY_WRONG_PASSPHRASE;
4178 goto out; 4090 goto out;
4179 } 4091 }
4180 4092
@@ -4239,13 +4151,38 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4239 r = SSH_ERR_KEY_WRONG_PASSPHRASE; 4151 r = SSH_ERR_KEY_WRONG_PASSPHRASE;
4240 goto out; 4152 goto out;
4241 } 4153 }
4154 /* success */
4155 *decryptedp = decrypted;
4156 decrypted = NULL;
4157 *pubkeyp = pubkey;
4158 pubkey = NULL;
4159 r = 0;
4160 out:
4161 cipher_free(ciphercontext);
4162 free(ciphername);
4163 free(kdfname);
4164 sshkey_free(pubkey);
4165 if (salt != NULL) {
4166 explicit_bzero(salt, slen);
4167 free(salt);
4168 }
4169 if (key != NULL) {
4170 explicit_bzero(key, keylen + ivlen);
4171 free(key);
4172 }
4173 sshbuf_free(kdf);
4174 sshbuf_free(decrypted);
4175 return r;
4176}
4242 4177
4243 /* Load the private key and comment */ 4178/* Check deterministic padding after private key */
4244 if ((r = sshkey_private_deserialize(decrypted, &k)) != 0 || 4179static int
4245 (r = sshbuf_get_cstring(decrypted, &comment, NULL)) != 0) 4180private2_check_padding(struct sshbuf *decrypted)
4246 goto out; 4181{
4182 u_char pad;
4183 size_t i;
4184 int r = SSH_ERR_INTERNAL_ERROR;
4247 4185
4248 /* Check deterministic padding */
4249 i = 0; 4186 i = 0;
4250 while (sshbuf_len(decrypted)) { 4187 while (sshbuf_len(decrypted)) {
4251 if ((r = sshbuf_get_u8(decrypted, &pad)) != 0) 4188 if ((r = sshbuf_get_u8(decrypted, &pad)) != 0)
@@ -4255,8 +4192,54 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4255 goto out; 4192 goto out;
4256 } 4193 }
4257 } 4194 }
4195 /* success */
4196 r = 0;
4197 out:
4198 explicit_bzero(&pad, sizeof(pad));
4199 explicit_bzero(&i, sizeof(i));
4200 return r;
4201}
4258 4202
4259 /* XXX decode pubkey and check against private */ 4203static int
4204sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4205 struct sshkey **keyp, char **commentp)
4206{
4207 char *comment = NULL;
4208 int r = SSH_ERR_INTERNAL_ERROR;
4209 struct sshbuf *decoded = NULL, *decrypted = NULL;
4210 struct sshkey *k = NULL, *pubkey = NULL;
4211
4212 if (keyp != NULL)
4213 *keyp = NULL;
4214 if (commentp != NULL)
4215 *commentp = NULL;
4216
4217 /* Undo base64 encoding and decrypt the private section */
4218 if ((r = private2_uudecode(blob, &decoded)) != 0 ||
4219 (r = private2_decrypt(decoded, passphrase,
4220 &decrypted, &pubkey)) != 0)
4221 goto out;
4222
4223 if (type != KEY_UNSPEC &&
4224 sshkey_type_plain(type) != sshkey_type_plain(pubkey->type)) {
4225 r = SSH_ERR_KEY_TYPE_MISMATCH;
4226 goto out;
4227 }
4228
4229 /* Load the private key and comment */
4230 if ((r = sshkey_private_deserialize(decrypted, &k)) != 0 ||
4231 (r = sshbuf_get_cstring(decrypted, &comment, NULL)) != 0)
4232 goto out;
4233
4234 /* Check deterministic padding after private section */
4235 if ((r = private2_check_padding(decrypted)) != 0)
4236 goto out;
4237
4238 /* Check that the public key in the envelope matches the private key */
4239 if (!sshkey_equal(pubkey, k)) {
4240 r = SSH_ERR_INVALID_FORMAT;
4241 goto out;
4242 }
4260 4243
4261 /* success */ 4244 /* success */
4262 r = 0; 4245 r = 0;
@@ -4269,27 +4252,63 @@ sshkey_parse_private2(struct sshbuf *blob, int type, const char *passphrase,
4269 comment = NULL; 4252 comment = NULL;
4270 } 4253 }
4271 out: 4254 out:
4272 pad = 0;
4273 cipher_free(ciphercontext);
4274 free(ciphername);
4275 free(kdfname);
4276 free(comment); 4255 free(comment);
4277 if (salt != NULL) {
4278 explicit_bzero(salt, slen);
4279 free(salt);
4280 }
4281 if (key != NULL) {
4282 explicit_bzero(key, keylen + ivlen);
4283 free(key);
4284 }
4285 sshbuf_free(encoded);
4286 sshbuf_free(decoded); 4256 sshbuf_free(decoded);
4287 sshbuf_free(kdf);
4288 sshbuf_free(decrypted); 4257 sshbuf_free(decrypted);
4289 sshkey_free(k); 4258 sshkey_free(k);
4259 sshkey_free(pubkey);
4290 return r; 4260 return r;
4291} 4261}
4292 4262
4263static int
4264sshkey_parse_private2_pubkey(struct sshbuf *blob, int type,
4265 struct sshkey **keyp)
4266{
4267 int r = SSH_ERR_INTERNAL_ERROR;
4268 struct sshbuf *decoded = NULL;
4269 struct sshkey *pubkey = NULL;
4270 u_int nkeys = 0;
4271
4272 if (keyp != NULL)
4273 *keyp = NULL;
4274
4275 if ((r = private2_uudecode(blob, &decoded)) != 0)
4276 goto out;
4277 /* parse public key from unencrypted envelope */
4278 if ((r = sshbuf_consume(decoded, sizeof(AUTH_MAGIC))) != 0 ||
4279 (r = sshbuf_skip_string(decoded)) != 0 || /* cipher */
4280 (r = sshbuf_skip_string(decoded)) != 0 || /* KDF alg */
4281 (r = sshbuf_skip_string(decoded)) != 0 || /* KDF hint */
4282 (r = sshbuf_get_u32(decoded, &nkeys)) != 0)
4283 goto out;
4284
4285 if (nkeys != 1) {
4286 /* XXX only one key supported at present */
4287 r = SSH_ERR_INVALID_FORMAT;
4288 goto out;
4289 }
4290
4291 /* Parse the public key */
4292 if ((r = sshkey_froms(decoded, &pubkey)) != 0)
4293 goto out;
4294
4295 if (type != KEY_UNSPEC &&
4296 sshkey_type_plain(type) != sshkey_type_plain(pubkey->type)) {
4297 r = SSH_ERR_KEY_TYPE_MISMATCH;
4298 goto out;
4299 }
4300
4301 /* success */
4302 r = 0;
4303 if (keyp != NULL) {
4304 *keyp = pubkey;
4305 pubkey = NULL;
4306 }
4307 out:
4308 sshbuf_free(decoded);
4309 sshkey_free(pubkey);
4310 return r;
4311}
4293 4312
4294#ifdef WITH_OPENSSL 4313#ifdef WITH_OPENSSL
4295/* convert SSH v2 key to PEM or PKCS#8 format */ 4314/* convert SSH v2 key to PEM or PKCS#8 format */
@@ -4616,24 +4635,16 @@ sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
4616 *commentp = NULL; 4635 *commentp = NULL;
4617 4636
4618 switch (type) { 4637 switch (type) {
4619#ifdef WITH_OPENSSL
4620 case KEY_DSA:
4621 case KEY_ECDSA:
4622 case KEY_RSA:
4623 return sshkey_parse_private_pem_fileblob(blob, type,
4624 passphrase, keyp);
4625#endif /* WITH_OPENSSL */
4626 case KEY_ED25519: 4638 case KEY_ED25519:
4627#ifdef WITH_XMSS
4628 case KEY_XMSS: 4639 case KEY_XMSS:
4629#endif /* WITH_XMSS */ 4640 /* No fallback for new-format-only keys */
4630 return sshkey_parse_private2(blob, type, passphrase, 4641 return sshkey_parse_private2(blob, type, passphrase,
4631 keyp, commentp); 4642 keyp, commentp);
4632 case KEY_UNSPEC: 4643 default:
4633 r = sshkey_parse_private2(blob, type, passphrase, keyp, 4644 r = sshkey_parse_private2(blob, type, passphrase, keyp,
4634 commentp); 4645 commentp);
4635 /* Do not fallback to PEM parser if only passphrase is wrong. */ 4646 /* Only fallback to PEM parser if a format error occurred. */
4636 if (r == 0 || r == SSH_ERR_KEY_WRONG_PASSPHRASE) 4647 if (r != SSH_ERR_INVALID_FORMAT)
4637 return r; 4648 return r;
4638#ifdef WITH_OPENSSL 4649#ifdef WITH_OPENSSL
4639 return sshkey_parse_private_pem_fileblob(blob, type, 4650 return sshkey_parse_private_pem_fileblob(blob, type,
@@ -4641,8 +4652,6 @@ sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
4641#else 4652#else
4642 return SSH_ERR_INVALID_FORMAT; 4653 return SSH_ERR_INVALID_FORMAT;
4643#endif /* WITH_OPENSSL */ 4654#endif /* WITH_OPENSSL */
4644 default:
4645 return SSH_ERR_KEY_TYPE_UNKNOWN;
4646 } 4655 }
4647} 4656}
4648 4657
@@ -4665,6 +4674,20 @@ sshkey_sig_details_free(struct sshkey_sig_details *details)
4665 freezero(details, sizeof(*details)); 4674 freezero(details, sizeof(*details));
4666} 4675}
4667 4676
4677int
4678sshkey_parse_pubkey_from_private_fileblob_type(struct sshbuf *blob, int type,
4679 struct sshkey **pubkeyp)
4680{
4681 int r = SSH_ERR_INTERNAL_ERROR;
4682
4683 if (pubkeyp != NULL)
4684 *pubkeyp = NULL;
4685 /* only new-format private keys bundle a public key inside */
4686 if ((r = sshkey_parse_private2_pubkey(blob, type, pubkeyp)) != 0)
4687 return r;
4688 return 0;
4689}
4690
4668#ifdef WITH_XMSS 4691#ifdef WITH_XMSS
4669/* 4692/*
4670 * serialize the key with the current state and forward the state 4693 * serialize the key with the current state and forward the state
diff --git a/sshkey.h b/sshkey.h
index 37a43a67a..f586e8967 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshkey.h,v 1.44 2019/12/30 09:23:28 djm Exp $ */ 1/* $OpenBSD: sshkey.h,v 1.45 2020/04/08 00:08:46 djm Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. 4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -260,6 +260,8 @@ int sshkey_parse_private_fileblob(struct sshbuf *buffer,
260 const char *passphrase, struct sshkey **keyp, char **commentp); 260 const char *passphrase, struct sshkey **keyp, char **commentp);
261int sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type, 261int sshkey_parse_private_fileblob_type(struct sshbuf *blob, int type,
262 const char *passphrase, struct sshkey **keyp, char **commentp); 262 const char *passphrase, struct sshkey **keyp, char **commentp);
263int sshkey_parse_pubkey_from_private_fileblob_type(struct sshbuf *blob,
264 int type, struct sshkey **pubkeyp);
263 265
264/* XXX should be internal, but used by ssh-keygen */ 266/* XXX should be internal, but used by ssh-keygen */
265int ssh_rsa_complete_crt_parameters(struct sshkey *, const BIGNUM *); 267int ssh_rsa_complete_crt_parameters(struct sshkey *, const BIGNUM *);
diff --git a/sshlogin.c b/sshlogin.c
index 4ed419494..08d2600b2 100644
--- a/sshlogin.c
+++ b/sshlogin.c
@@ -90,8 +90,11 @@ static void
90store_lastlog_message(const char *user, uid_t uid) 90store_lastlog_message(const char *user, uid_t uid)
91{ 91{
92#ifndef NO_SSH_LASTLOG 92#ifndef NO_SSH_LASTLOG
93 char *time_string, hostname[HOST_NAME_MAX+1] = ""; 93# ifndef CUSTOM_SYS_AUTH_GET_LASTLOGIN_MSG
94 char hostname[HOST_NAME_MAX+1] = "";
94 time_t last_login_time; 95 time_t last_login_time;
96# endif
97 char *time_string;
95 int r; 98 int r;
96 99
97 if (!options.print_lastlog) 100 if (!options.print_lastlog)
diff --git a/sshsig.c b/sshsig.c
index e63a36e1e..15f9cead6 100644
--- a/sshsig.c
+++ b/sshsig.c
@@ -209,8 +209,10 @@ sshsig_wrap_sign(struct sshkey *key, const char *hashalg,
209 goto done; 209 goto done;
210 } 210 }
211 211
212 *out = blob; 212 if (out != NULL) {
213 blob = NULL; 213 *out = blob;
214 blob = NULL;
215 }
214 r = 0; 216 r = 0;
215done: 217done:
216 free(sig); 218 free(sig);
@@ -424,7 +426,7 @@ hash_buffer(const struct sshbuf *m, const char *hashalg, struct sshbuf **bp)
424 out: 426 out:
425 sshbuf_free(b); 427 sshbuf_free(b);
426 explicit_bzero(hash, sizeof(hash)); 428 explicit_bzero(hash, sizeof(hash));
427 return 0; 429 return r;
428} 430}
429 431
430int 432int
@@ -552,7 +554,7 @@ hash_file(int fd, const char *hashalg, struct sshbuf **bp)
552 sshbuf_free(b); 554 sshbuf_free(b);
553 ssh_digest_free(ctx); 555 ssh_digest_free(ctx);
554 explicit_bzero(hash, sizeof(hash)); 556 explicit_bzero(hash, sizeof(hash));
555 return 0; 557 return r;
556} 558}
557 559
558int 560int
@@ -835,7 +837,7 @@ sshsig_check_allowed_keys(const char *path, const struct sshkey *sign_key,
835 char *line = NULL; 837 char *line = NULL;
836 size_t linesize = 0; 838 size_t linesize = 0;
837 u_long linenum = 0; 839 u_long linenum = 0;
838 int r, oerrno; 840 int r = SSH_ERR_INTERNAL_ERROR, oerrno;
839 841
840 /* Check key and principal against file */ 842 /* Check key and principal against file */
841 if ((f = fopen(path, "r")) == NULL) { 843 if ((f = fopen(path, "r")) == NULL) {
@@ -879,8 +881,10 @@ cert_filter_principals(const char *path, u_long linenum,
879 oprincipals = principals = *principalsp; 881 oprincipals = principals = *principalsp;
880 *principalsp = NULL; 882 *principalsp = NULL;
881 883
882 if ((nprincipals = sshbuf_new()) == NULL) 884 if ((nprincipals = sshbuf_new()) == NULL) {
883 return SSH_ERR_ALLOC_FAIL; 885 r = SSH_ERR_ALLOC_FAIL;
886 goto out;
887 }
884 888
885 while ((cp = strsep(&principals, ",")) != NULL && *cp != '\0') { 889 while ((cp = strsep(&principals, ",")) != NULL && *cp != '\0') {
886 if (strcspn(cp, "!?*") != strlen(cp)) { 890 if (strcspn(cp, "!?*") != strlen(cp)) {
@@ -961,7 +965,7 @@ get_matching_principals_from_line(const char *path, u_long linenum, char *line,
961 goto done; 965 goto done;
962 } 966 }
963 done: 967 done:
964 if (found) { 968 if (found && principalsp != NULL) {
965 *principalsp = principals; 969 *principalsp = principals;
966 principals = NULL; /* transferred */ 970 principals = NULL; /* transferred */
967 } 971 }
@@ -979,7 +983,7 @@ sshsig_find_principals(const char *path, const struct sshkey *sign_key,
979 char *line = NULL; 983 char *line = NULL;
980 size_t linesize = 0; 984 size_t linesize = 0;
981 u_long linenum = 0; 985 u_long linenum = 0;
982 int r, oerrno; 986 int r = SSH_ERR_INTERNAL_ERROR, oerrno;
983 987
984 if ((f = fopen(path, "r")) == NULL) { 988 if ((f = fopen(path, "r")) == NULL) {
985 oerrno = errno; 989 oerrno = errno;
@@ -1024,8 +1028,8 @@ sshsig_get_pubkey(struct sshbuf *signature, struct sshkey **pubkey)
1024 struct sshkey *pk = NULL; 1028 struct sshkey *pk = NULL;
1025 int r = SSH_ERR_SIGNATURE_INVALID; 1029 int r = SSH_ERR_SIGNATURE_INVALID;
1026 1030
1027 if (pubkey != NULL) 1031 if (pubkey == NULL)
1028 *pubkey = NULL; 1032 return SSH_ERR_INTERNAL_ERROR;
1029 if ((r = sshsig_parse_preamble(signature)) != 0) 1033 if ((r = sshsig_parse_preamble(signature)) != 0)
1030 return r; 1034 return r;
1031 if ((r = sshkey_froms(signature, &pk)) != 0) 1035 if ((r = sshkey_froms(signature, &pk)) != 0)
diff --git a/umac.c b/umac.c
index 2a6b6ae6b..3d4e285bb 100644
--- a/umac.c
+++ b/umac.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: umac.c,v 1.18 2019/11/13 04:47:52 deraadt Exp $ */ 1/* $OpenBSD: umac.c,v 1.20 2020/03/13 03:17:07 djm Exp $ */
2/* ----------------------------------------------------------------------- 2/* -----------------------------------------------------------------------
3 * 3 *
4 * umac.c -- C Implementation UMAC Message Authentication 4 * umac.c -- C Implementation UMAC Message Authentication
@@ -39,7 +39,7 @@
39 * at http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ (search for 39 * at http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ (search for
40 * "Barreto"). The only two files needed are rijndael-alg-fst.c and 40 * "Barreto"). The only two files needed are rijndael-alg-fst.c and
41 * rijndael-alg-fst.h. Brian Gladman's version is distributed with the GNU 41 * rijndael-alg-fst.h. Brian Gladman's version is distributed with the GNU
42 * Public lisence at http://fp.gladman.plus.com/AES/index.htm. It 42 * Public license at http://fp.gladman.plus.com/AES/index.htm. It
43 * includes a fast IA-32 assembly version. The OpenSSL crypo library is 43 * includes a fast IA-32 assembly version. The OpenSSL crypo library is
44 * the third. 44 * the third.
45 * 45 *
@@ -1205,8 +1205,7 @@ int umac_delete(struct umac_ctx *ctx)
1205 if (ctx) { 1205 if (ctx) {
1206 if (ALLOC_BOUNDARY) 1206 if (ALLOC_BOUNDARY)
1207 ctx = (struct umac_ctx *)ctx->free_ptr; 1207 ctx = (struct umac_ctx *)ctx->free_ptr;
1208 explicit_bzero(ctx, sizeof(*ctx) + ALLOC_BOUNDARY); 1208 freezero(ctx, sizeof(*ctx) + ALLOC_BOUNDARY);
1209 free(ctx);
1210 } 1209 }
1211 return (1); 1210 return (1);
1212} 1211}
diff --git a/utf8.c b/utf8.c
index db7cb8f35..7f63b25ae 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: utf8.c,v 1.8 2018/08/21 13:56:27 schwarze Exp $ */ 1/* $OpenBSD: utf8.c,v 1.11 2020/05/01 06:28:52 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4 * 4 *
@@ -43,7 +43,6 @@
43 43
44static int dangerous_locale(void); 44static int dangerous_locale(void);
45static int grow_dst(char **, size_t *, size_t, char **, size_t); 45static int grow_dst(char **, size_t *, size_t, char **, size_t);
46static int vasnmprintf(char **, size_t, int *, const char *, va_list);
47 46
48 47
49/* 48/*
@@ -101,7 +100,7 @@ grow_dst(char **dst, size_t *sz, size_t maxsz, char **dp, size_t need)
101 * written is returned in *wp. 100 * written is returned in *wp.
102 */ 101 */
103 102
104static int 103int
105vasnmprintf(char **str, size_t maxsz, int *wp, const char *fmt, va_list ap) 104vasnmprintf(char **str, size_t maxsz, int *wp, const char *fmt, va_list ap)
106{ 105{
107 char *src; /* Source string returned from vasprintf. */ 106 char *src; /* Source string returned from vasprintf. */
@@ -241,7 +240,7 @@ int
241snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...) 240snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...)
242{ 241{
243 va_list ap; 242 va_list ap;
244 char *cp; 243 char *cp = NULL;
245 int ret; 244 int ret;
246 245
247 va_start(ap, fmt); 246 va_start(ap, fmt);
@@ -255,6 +254,20 @@ snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...)
255 return ret; 254 return ret;
256} 255}
257 256
257int
258asmprintf(char **outp, size_t sz, int *wp, const char *fmt, ...)
259{
260 va_list ap;
261 int ret;
262
263 *outp = NULL;
264 va_start(ap, fmt);
265 ret = vasnmprintf(outp, sz, wp, fmt, ap);
266 va_end(ap);
267
268 return ret;
269}
270
258/* 271/*
259 * To stay close to the standard interfaces, the following functions 272 * To stay close to the standard interfaces, the following functions
260 * return the number of non-NUL bytes written. 273 * return the number of non-NUL bytes written.
@@ -263,11 +276,13 @@ snmprintf(char *str, size_t sz, int *wp, const char *fmt, ...)
263int 276int
264vfmprintf(FILE *stream, const char *fmt, va_list ap) 277vfmprintf(FILE *stream, const char *fmt, va_list ap)
265{ 278{
266 char *str; 279 char *str = NULL;
267 int ret; 280 int ret;
268 281
269 if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) 282 if ((ret = vasnmprintf(&str, INT_MAX, NULL, fmt, ap)) < 0) {
283 free(str);
270 return -1; 284 return -1;
285 }
271 if (fputs(str, stream) == EOF) 286 if (fputs(str, stream) == EOF)
272 ret = -1; 287 ret = -1;
273 free(str); 288 free(str);
diff --git a/utf8.h b/utf8.h
index 88c5a34a3..9d6d9a32c 100644
--- a/utf8.h
+++ b/utf8.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: utf8.h,v 1.1 2016/05/25 23:48:45 schwarze Exp $ */ 1/* $OpenBSD: utf8.h,v 1.3 2020/05/01 06:28:52 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 3 * Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4 * 4 *
@@ -15,6 +15,7 @@
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */ 16 */
17 17
18int vasnmprintf(char **, size_t, int *, const char *, va_list);
18int mprintf(const char *, ...) 19int mprintf(const char *, ...)
19 __attribute__((format(printf, 1, 2))); 20 __attribute__((format(printf, 1, 2)));
20int fmprintf(FILE *, const char *, ...) 21int fmprintf(FILE *, const char *, ...)
@@ -22,4 +23,6 @@ int fmprintf(FILE *, const char *, ...)
22int vfmprintf(FILE *, const char *, va_list); 23int vfmprintf(FILE *, const char *, va_list);
23int snmprintf(char *, size_t, int *, const char *, ...) 24int snmprintf(char *, size_t, int *, const char *, ...)
24 __attribute__((format(printf, 4, 5))); 25 __attribute__((format(printf, 4, 5)));
26int asmprintf(char **, size_t, int *, const char *, ...)
27 __attribute__((format(printf, 4, 5)));
25void msetlocale(void); 28void msetlocale(void);
diff --git a/version.h b/version.h
index d79126cc3..158eaee70 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
1/* $OpenBSD: version.h,v 1.86 2020/02/14 00:39:20 djm Exp $ */ 1/* $OpenBSD: version.h,v 1.87 2020/05/06 20:58:01 djm Exp $ */
2 2
3#define SSH_VERSION "OpenSSH_8.2" 3#define SSH_VERSION "OpenSSH_8.3"
4 4
5#define SSH_PORTABLE "p1" 5#define SSH_PORTABLE "p1"
6#define SSH_RELEASE_MINIMUM SSH_VERSION SSH_PORTABLE 6#define SSH_RELEASE_MINIMUM SSH_VERSION SSH_PORTABLE