diff options
author | Colin Watson <cjwatson@debian.org> | 2020-10-20 14:12:31 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2020-10-20 14:12:31 +0100 |
commit | e371906fbbbbc11b0dced8fd4e0d258eb489d7c1 (patch) | |
tree | 4d0d8d2afd52572deb7910e29ff5a334b2bcf702 | |
parent | e429009cde648a41479cd1b60ce972760a2bdabc (diff) | |
parent | 3728919292c05983372954d27426f7d966813139 (diff) |
New upstream release (8.4p1)
218 files changed, 8310 insertions, 4632 deletions
@@ -60,7 +60,7 @@ gss-serv-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd | |||
60 | gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h | 60 | gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h |
61 | hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h | 61 | hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h |
62 | hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h | 62 | hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h |
63 | hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h misc.h ssherr.h digest.h hmac.h | 63 | hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h misc.h pathnames.h ssherr.h digest.h hmac.h |
64 | kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h match.h | 64 | kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h match.h |
65 | kex.o: misc.h monitor.h ssherr.h sshbuf.h digest.h | 65 | kex.o: misc.h monitor.h ssherr.h sshbuf.h digest.h |
66 | kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h | 66 | kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h |
@@ -125,8 +125,8 @@ sftp-server.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-c | |||
125 | sftp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h pathnames.h misc.h utf8.h sftp.h ssherr.h sshbuf.h sftp-common.h sftp-client.h openbsd-compat/glob.h | 125 | sftp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h pathnames.h misc.h utf8.h sftp.h ssherr.h sshbuf.h sftp-common.h sftp-client.h openbsd-compat/glob.h |
126 | sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h | 126 | sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h |
127 | sntrup4591761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h | 127 | sntrup4591761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h |
128 | ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h ssherr.h digest.h ssh-sk.h | 128 | ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h ssherr.h digest.h ssh-sk.h sk-api.h |
129 | ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h compat.h log.h misc.h digest.h ssherr.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h | 129 | ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h compat.h log.h misc.h digest.h ssherr.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h |
130 | ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h | 130 | ssh-dss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h |
131 | ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h | 131 | ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h |
132 | ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h | 132 | ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h |
diff --git a/.github/run_test.sh b/.github/run_test.sh new file mode 100755 index 000000000..93c3a5e9e --- /dev/null +++ b/.github/run_test.sh | |||
@@ -0,0 +1,34 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | TARGETS=$@ | ||
4 | |||
5 | TEST_TARGET="tests" | ||
6 | LTESTS="" # all tests by default | ||
7 | |||
8 | set -ex | ||
9 | |||
10 | for TARGET in $TARGETS; do | ||
11 | case $TARGET in | ||
12 | --without-openssl) | ||
13 | # When built without OpenSSL we can't do the file-based RSA key tests. | ||
14 | TEST_TARGET=t-exec | ||
15 | ;; | ||
16 | esac | ||
17 | done | ||
18 | |||
19 | if [ -z "$LTESTS" ]; then | ||
20 | make $TEST_TARGET | ||
21 | result=$? | ||
22 | else | ||
23 | make $TEST_TARGET LTESTS="$LTESTS" | ||
24 | result=$? | ||
25 | fi | ||
26 | |||
27 | if [ "$result" -ne "0" ]; then | ||
28 | for i in regress/failed*; do | ||
29 | echo ------------------------------------------------------------------------- | ||
30 | echo LOGFILE $i | ||
31 | cat $i | ||
32 | echo ------------------------------------------------------------------------- | ||
33 | done | ||
34 | fi | ||
diff --git a/.github/setup_ci.sh b/.github/setup_ci.sh new file mode 100755 index 000000000..e2474ccd7 --- /dev/null +++ b/.github/setup_ci.sh | |||
@@ -0,0 +1,51 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | TARGETS=$@ | ||
4 | |||
5 | PACKAGES="" | ||
6 | INSTALL_FIDO_PPA="no" | ||
7 | |||
8 | #echo "Setting up for '$TARGETS'" | ||
9 | |||
10 | set -ex | ||
11 | |||
12 | lsb_release -a | ||
13 | |||
14 | for TARGET in $TARGETS; do | ||
15 | case $TARGET in | ||
16 | ""|--without-openssl|--without-zlib) | ||
17 | # nothing to do | ||
18 | ;; | ||
19 | "--with-kerberos5") | ||
20 | PACKAGES="$PACKAGES heimdal-dev" | ||
21 | #PACKAGES="$PACKAGES libkrb5-dev" | ||
22 | ;; | ||
23 | "--with-libedit") | ||
24 | PACKAGES="$PACKAGES libedit-dev" | ||
25 | ;; | ||
26 | "--with-pam") | ||
27 | PACKAGES="$PACKAGES libpam0g-dev" | ||
28 | ;; | ||
29 | "--with-security-key-builtin") | ||
30 | INSTALL_FIDO_PPA="yes" | ||
31 | PACKAGES="$PACKAGES libfido2-dev libu2f-host-dev" | ||
32 | ;; | ||
33 | "--with-selinux") | ||
34 | PACKAGES="$PACKAGES libselinux1-dev selinux-policy-dev" | ||
35 | ;; | ||
36 | *) echo "Invalid option" | ||
37 | exit 1 | ||
38 | ;; | ||
39 | esac | ||
40 | done | ||
41 | |||
42 | if [ "yes" == "$INSTALL_FIDO_PPA" ]; then | ||
43 | sudo apt update -qq | ||
44 | sudo apt install software-properties-common | ||
45 | sudo apt-add-repository ppa:yubico/stable | ||
46 | fi | ||
47 | |||
48 | if [ "x" != "x$PACKAGES" ]; then | ||
49 | sudo apt update -qq | ||
50 | sudo apt install -qy $PACKAGES | ||
51 | fi | ||
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 000000000..2189756bb --- /dev/null +++ b/.github/workflows/c-cpp.yml | |||
@@ -0,0 +1,39 @@ | |||
1 | name: C/C++ CI | ||
2 | |||
3 | on: | ||
4 | push: | ||
5 | branches: [ master, ci ] | ||
6 | pull_request: | ||
7 | branches: [ master ] | ||
8 | |||
9 | jobs: | ||
10 | build: | ||
11 | |||
12 | runs-on: ubuntu-latest | ||
13 | |||
14 | strategy: | ||
15 | matrix: | ||
16 | configs: | ||
17 | - "" | ||
18 | - "--with-kerberos5" | ||
19 | - "--with-libedit" | ||
20 | - "--with-pam" | ||
21 | - "--with-security-key-builtin" | ||
22 | - "--with-selinux" | ||
23 | - "--with-kerberos5 --with-libedit --with-pam --with-security-key-builtin --with-selinux" | ||
24 | - "--without-openssl --without-zlib" | ||
25 | |||
26 | steps: | ||
27 | - uses: actions/checkout@v2 | ||
28 | - name: setup CI system | ||
29 | run: ./.github/setup_ci.sh ${{ matrix.configs }} | ||
30 | - name: autoreconf | ||
31 | run: autoreconf | ||
32 | - name: configure | ||
33 | run: ./configure ${{ matrix.configs }} | ||
34 | - name: make | ||
35 | run: make | ||
36 | - name: make tests | ||
37 | run: ./.github/run_test.sh ${{ matrix.configs }} | ||
38 | env: | ||
39 | TEST_SSH_UNSAFE_PERMISSIONS: 1 | ||
diff --git a/.gitignore b/.gitignore index 34a95721d..5e4ae5a60 100644 --- a/.gitignore +++ b/.gitignore | |||
@@ -2,9 +2,11 @@ Makefile | |||
2 | buildpkg.sh | 2 | buildpkg.sh |
3 | config.h | 3 | config.h |
4 | config.h.in | 4 | config.h.in |
5 | config.h.in~ | ||
5 | config.log | 6 | config.log |
6 | config.status | 7 | config.status |
7 | configure | 8 | configure |
9 | aclocal.m4 | ||
8 | openbsd-compat/Makefile | 10 | openbsd-compat/Makefile |
9 | openbsd-compat/regress/Makefile | 11 | openbsd-compat/regress/Makefile |
10 | openssh.xml | 12 | openssh.xml |
@@ -30,4 +32,5 @@ ssh-pkcs11-helper | |||
30 | ssh-sk-helper | 32 | ssh-sk-helper |
31 | sshd | 33 | sshd |
32 | !regress/misc/fuzz-harness/Makefile | 34 | !regress/misc/fuzz-harness/Makefile |
35 | !regress/unittests/sshsig/Makefile | ||
33 | tags | 36 | tags |
diff --git a/.skipped-commit-ids b/.skipped-commit-ids index 611d1093d..6abbb99bc 100644 --- a/.skipped-commit-ids +++ b/.skipped-commit-ids | |||
@@ -19,6 +19,8 @@ d9b910e412d139141b072a905e66714870c38ac0 Makefile.inc | |||
19 | 7b7b619c1452a459310b0cf4391c5757c6bdbc0f moduli update | 19 | 7b7b619c1452a459310b0cf4391c5757c6bdbc0f moduli update |
20 | 5010ff08f7ad92082e87dde098b20f5c24921a8f moduli regen script update | 20 | 5010ff08f7ad92082e87dde098b20f5c24921a8f moduli regen script update |
21 | 3bcae7a754db3fc5ad3cab63dd46774edb35b8ae moduli regen script update | 21 | 3bcae7a754db3fc5ad3cab63dd46774edb35b8ae moduli regen script update |
22 | 52ff0e3205036147b2499889353ac082e505ea54 moduli update | ||
23 | 07b5031e9f49f2b69ac5e85b8da4fc9e393992a0 Makefile.inc | ||
22 | 24 | ||
23 | Old upstream tree: | 25 | Old upstream tree: |
24 | 26 | ||
@@ -1,10 +1,1675 @@ | |||
1 | commit 9ca7e9c861775dd6c6312bc8aaab687403d24676 | 1 | commit 279261e1ea8150c7c64ab5fe7cb4a4ea17acbb29 |
2 | Author: Damien Miller <djm@mindrot.org> | 2 | Author: Damien Miller <djm@mindrot.org> |
3 | Date: Wed May 27 10:38:00 2020 +1000 | 3 | Date: Sun Sep 27 17:25:01 2020 +1000 |
4 | |||
5 | update version numbers | ||
6 | |||
7 | commit 58ca6ab6ff035ed12b5078e3e9c7199fe72c8587 | ||
8 | Author: djm@openbsd.org <djm@openbsd.org> | ||
9 | Date: Sun Sep 27 07:22:05 2020 +0000 | ||
10 | |||
11 | upstream: openssh 8.4 | ||
12 | |||
13 | OpenBSD-Commit-ID: a29e5b372d2c00e297da8a35a3b87c9beb3b4a58 | ||
14 | |||
15 | commit 9bb8a303ce05ff13fb421de991b495930be103c3 | ||
16 | Author: Damien Miller <djm@mindrot.org> | ||
17 | Date: Tue Sep 22 10:07:43 2020 +1000 | ||
18 | |||
19 | sync with upstream ssh-copy-id rev f0da1a1b7 | ||
20 | |||
21 | commit 0a4a5571ada76b1b012bec9cf6ad1203fc19ec8d | ||
22 | Author: djm@openbsd.org <djm@openbsd.org> | ||
23 | Date: Mon Sep 21 07:29:09 2020 +0000 | ||
24 | |||
25 | upstream: close stdin when forking after authentication too; ok markus | ||
26 | |||
27 | OpenBSD-Commit-ID: 43db17e4abc3e6b4a7b033aa8cdab326a7cb6c24 | ||
28 | |||
29 | commit d14fe25e6c3b89f8af17e2894046164ac3b45688 | ||
30 | Author: djm@openbsd.org <djm@openbsd.org> | ||
31 | Date: Sun Sep 20 23:31:46 2020 +0000 | ||
32 | |||
33 | upstream: close stdout/stderr after "ssh -f ..." forking | ||
34 | |||
35 | bz#3137, ok markus | ||
36 | |||
37 | OpenBSD-Commit-ID: e2d83cc4dea1665651a7aa924ad1ed6bcaaab3e2 | ||
38 | |||
39 | commit 53a33a0d745179c02108589e1722457ca8ae4372 | ||
40 | Author: Damien Miller <djm@mindrot.org> | ||
41 | Date: Sun Sep 20 15:57:09 2020 +1000 | ||
42 | |||
43 | .depend | ||
44 | |||
45 | commit 107eb3eeafcd390e1fa7cc7672a05e994d14013e | ||
46 | Author: djm@openbsd.org <djm@openbsd.org> | ||
47 | Date: Sun Sep 20 05:47:25 2020 +0000 | ||
48 | |||
49 | upstream: cap channel input buffer size at 16MB; avoids high memory use | ||
50 | |||
51 | when peer advertises a large window but is slow to consume the data we send | ||
52 | (e.g. because of a slow network) | ||
53 | |||
54 | reported by Pierre-Yves David | ||
55 | |||
56 | fix with & ok markus@ | ||
57 | |||
58 | OpenBSD-Commit-ID: 1452771f5e5e768876d3bfe2544e3866d6ade216 | ||
59 | |||
60 | commit acfe2ac5fe033e227ad3a56624fbbe4af8b5da04 | ||
61 | Author: Damien Miller <djm@mindrot.org> | ||
62 | Date: Fri Sep 18 22:02:53 2020 +1000 | ||
63 | |||
64 | libfido2 1.5.0 is recommended | ||
65 | |||
66 | commit 52a03e9fca2d74eef953ddd4709250f365ca3975 | ||
67 | Author: djm@openbsd.org <djm@openbsd.org> | ||
68 | Date: Fri Sep 18 08:16:38 2020 +0000 | ||
69 | |||
70 | upstream: handle multiple messages in a single read() | ||
71 | |||
72 | PR#183 by Dennis Kaarsemaker; feedback and ok markus@ | ||
73 | |||
74 | OpenBSD-Commit-ID: 8570bb4d02d00cf70b98590716ea6a7d1cce68d1 | ||
75 | |||
76 | commit dc098405b2939146e17567a25b08fc6122893cdf | ||
77 | Author: pedro martelletto <pedro@ambientworks.net> | ||
78 | Date: Fri Sep 18 08:57:29 2020 +0200 | ||
79 | |||
80 | configure.ac: add missing includes | ||
81 | |||
82 | when testing, make sure to include the relevant header files that | ||
83 | declare the types of the functions used by the test: | ||
84 | |||
85 | - stdio.h for printf(); | ||
86 | - stdlib.h for exit(); | ||
87 | - string.h for strcmp(); | ||
88 | - unistd.h for unlink(), _exit(), fork(), getppid(), sleep(). | ||
89 | |||
90 | commit b3855ff053f5078ec3d3c653cdaedefaa5fc362d | ||
91 | Author: djm@openbsd.org <djm@openbsd.org> | ||
92 | Date: Fri Sep 18 05:23:03 2020 +0000 | ||
93 | |||
94 | upstream: tweak the client hostkey preference ordering algorithm to | ||
95 | |||
96 | prefer the default ordering if the user has a key that matches the | ||
97 | best-preference default algorithm. | ||
98 | |||
99 | feedback and ok markus@ | ||
100 | |||
101 | OpenBSD-Commit-ID: a92dd7d7520ddd95c0a16786a7519e6d0167d35f | ||
102 | |||
103 | commit f93b187ab900c7d12875952cc63350fe4de8a0a8 | ||
104 | Author: Damien Miller <djm@mindrot.org> | ||
105 | Date: Fri Sep 18 14:55:48 2020 +1000 | ||
106 | |||
107 | control over the colours in gnome-ssh-askpass[23] | ||
108 | |||
109 | Optionally set the textarea colours via $GNOME_SSH_ASKPASS_FG_COLOR and | ||
110 | $GNOME_SSH_ASKPASS_BG_COLOR. These accept the usual three or six digit | ||
111 | hex colours. | ||
112 | |||
113 | commit 9d3d36bdb10b66abd1af42e8655502487b6ba1fa | ||
114 | Author: Damien Miller <djm@mindrot.org> | ||
115 | Date: Fri Sep 18 14:50:38 2020 +1000 | ||
116 | |||
117 | focus improvement for gnome-ssh-askpass[23] | ||
118 | |||
119 | When serving a SSH_ASKPASS_PROMPT=none information dialog, ensure | ||
120 | then <enter> doesn't immediately close the dialog. Instead, require an | ||
121 | explicit <tab> to reach the close button, or <esc>. | ||
122 | |||
123 | commit d6f507f37e6c75a899db0ef8224e72797c5563b6 | ||
124 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
125 | Date: Wed Sep 16 03:07:31 2020 +0000 | ||
126 | |||
127 | upstream: Remove unused buf, last user was removed when switching | ||
128 | |||
129 | to the sshbuf API. Patch from Sebastian Andrzej Siewior. | ||
130 | |||
131 | OpenBSD-Commit-ID: 250fa17f0cec01039cc4abd95917d9746e24c889 | ||
132 | |||
133 | commit c3c786c3a0973331ee0922b2c51832a3b8d7f20f | ||
134 | Author: djm@openbsd.org <djm@openbsd.org> | ||
135 | Date: Wed Sep 9 21:57:27 2020 +0000 | ||
136 | |||
137 | upstream: For the hostkey confirmation message: | ||
138 | |||
139 | > Are you sure you want to continue connecting (yes/no/[fingerprint])? | ||
140 | |||
141 | compare the fingerprint case sensitively; spotted Patrik Lundin | ||
142 | ok dtucker | ||
143 | |||
144 | OpenBSD-Commit-ID: 73097afee1b3a5929324e345ba4a4a42347409f2 | ||
145 | |||
146 | commit f2950baf0bafe6aa20dfe2e8d1ca4b23528df617 | ||
147 | Author: Darren Tucker <dtucker@dtucker.net> | ||
148 | Date: Fri Sep 11 14:45:23 2020 +1000 | ||
149 | |||
150 | New config-build-time dependency on automake. | ||
151 | |||
152 | commit 600c1c27abd496372bd0cf83d21a1c119dfdf9a5 | ||
153 | Author: Darren Tucker <dtucker@dtucker.net> | ||
154 | Date: Sun Sep 6 21:56:36 2020 +1000 | ||
155 | |||
156 | Add aclocal.m4 and config.h.in~ to .gitignore. | ||
157 | |||
158 | aclocal.m4 is now generated by autoreconf. | ||
159 | |||
160 | commit 4bf7e1d00b1dcd3a6b3239f77465c019e61c6715 | ||
161 | Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
162 | Date: Sat Sep 5 17:50:03 2020 +0200 | ||
163 | |||
164 | Quote the definition of OSSH_CHECK_HEADER_FOR_FIELD | ||
165 | |||
166 | autoreconf complains about underquoted definition of | ||
167 | OSSH_CHECK_HEADER_FOR_FIELD after aclocal.m4 has been and now is beeing | ||
168 | recreated. | ||
169 | |||
170 | Quote OSSH_CHECK_HEADER_FOR_FIELD as suggested. | ||
171 | |||
172 | Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
173 | |||
174 | commit a2f3ae386b5f7938ed3c565ad71f30c4f7f010f1 | ||
175 | Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
176 | Date: Sat Sep 5 17:50:02 2020 +0200 | ||
177 | |||
178 | Move the local m4 macros | ||
179 | |||
180 | The `aclocal' step is skipped during `autoreconf' because aclocal.m4 is | ||
181 | present. | ||
182 | Move the current aclocal.m4 which contains local macros into the m4/ | ||
183 | folder. With this change the aclocal.m4 will be re-created during | ||
184 | changes to the m4/ macro. | ||
185 | This is needed so the `aclocal' can fetch m4 macros from the system if | ||
186 | they are references in the configure script. This is a prerequisite to | ||
187 | use PKG_CHECK_MODULES. | ||
188 | |||
189 | Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
190 | |||
191 | commit 8372bff3a895b84fd78a81dc39da10928b662f5a | ||
192 | Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
193 | Date: Sat Sep 5 17:50:01 2020 +0200 | ||
194 | |||
195 | Remove HAVE_MMAP and BROKEN_MMAP | ||
196 | |||
197 | BROKEN_MMAP is no longer defined since commit | ||
198 | 1cfd5c06efb12 ("Remove portability support for mmap") | ||
199 | |||
200 | this commit also removed other HAVE_MMAP user. I didn't find anything | ||
201 | that defines HAVE_MMAP. The check does not trigger because compression | ||
202 | on server side is by default COMP_DELAYED (2) so it never triggers. | ||
203 | |||
204 | Remove remaining HAVE_MMAP and BROKEN_MMAP bits. | ||
205 | |||
206 | Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | ||
207 | |||
208 | commit bbf20ac8065905f9cb9aeb8f1df57fcab52ee2fb | ||
209 | Author: djm@openbsd.org <djm@openbsd.org> | ||
210 | Date: Wed Sep 9 03:10:21 2020 +0000 | ||
211 | |||
212 | upstream: adapt to SSH_SK_VERSION_MAJOR crank | ||
213 | |||
214 | OpenBSD-Regress-ID: 0f3e76bdc8f9dbd9d22707c7bdd86051d5112ab8 | ||
215 | |||
216 | commit 9afe2a150893b20bdf9eab764978d817b9a7b783 | ||
217 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
218 | Date: Fri Aug 28 03:17:13 2020 +0000 | ||
219 | |||
220 | upstream: Ensure that address/mask mismatches are flagged at | ||
221 | |||
222 | config-check time. ok djm@ | ||
223 | |||
224 | OpenBSD-Regress-ID: 8f5f4c2c0bf00e6ceae7a1755a444666de0ea5c2 | ||
225 | |||
226 | commit c76773524179cb654ff838dd43ba1ddb155bafaa | ||
227 | Author: djm@openbsd.org <djm@openbsd.org> | ||
228 | Date: Wed Sep 9 03:08:01 2020 +0000 | ||
229 | |||
230 | upstream: when writing an attestation blob for a FIDO key, record all | ||
231 | |||
232 | the data needed to verify the attestation. Previously we were missing the | ||
233 | "authenticator data" that is included in the signature. | ||
234 | |||
235 | spotted by Ian Haken | ||
236 | feedback Pedro Martelletto and Ian Haken; ok markus@ | ||
237 | |||
238 | OpenBSD-Commit-ID: 8439896e63792b2db99c6065dd9a45eabbdb7e0a | ||
239 | |||
240 | commit c1c44eeecddf093a7983bd91e70b446de789b363 | ||
241 | Author: pedro martelletto <pedro@ambientworks.net> | ||
242 | Date: Tue Sep 1 17:01:55 2020 +0200 | ||
243 | |||
244 | configure.ac: fix libfido2 back-compat | ||
245 | |||
246 | - HAVE_FIDO_CRED_PROD -> HAVE_FIDO_CRED_PROT; | ||
247 | - check for fido_dev_get_touch_begin(), so that | ||
248 | HAVE_FIDO_DEV_GET_TOUCH_BEGIN gets defined. | ||
249 | |||
250 | commit 785f0f315bf7ac5909e988bb1ac3e019fb5e1594 | ||
251 | Author: djm@openbsd.org <djm@openbsd.org> | ||
252 | Date: Mon Aug 31 04:33:17 2020 +0000 | ||
253 | |||
254 | upstream: refuse to add verify-required (PINful) FIDO keys to | ||
255 | |||
256 | ssh-agent until the agent supports them properly | ||
257 | |||
258 | OpenBSD-Commit-ID: 125bd55a8df32c87c3ec33c6ebe437673a3d037e | ||
259 | |||
260 | commit 39e88aeff9c7cb6862b37ad1a87a03ebbb38c233 | ||
261 | Author: djm@openbsd.org <djm@openbsd.org> | ||
262 | Date: Mon Aug 31 00:17:41 2020 +0000 | ||
263 | |||
264 | upstream: Add RCS IDs to the few files that are missing them; from | ||
265 | |||
266 | Pedro Martelletto | ||
267 | |||
268 | OpenBSD-Commit-ID: 39aa37a43d0c75ec87f1659f573d3b5867e4a3b3 | ||
269 | |||
270 | commit 72730249b38a676da94a1366b54a6e96e6928bcb | ||
271 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
272 | Date: Fri Aug 28 03:15:52 2020 +0000 | ||
273 | |||
274 | upstream: Check that the addresses supplied to Match Address and | ||
275 | |||
276 | Match LocalAddress are valid when parsing in config-test mode. This will | ||
277 | catch address/mask mismatches before they cause problems at runtime. Found by | ||
278 | Daniel Stocker, ok djm@ | ||
279 | |||
280 | OpenBSD-Commit-ID: 2d0b10c69fad5d8fda4c703e7c6804935289378b | ||
281 | |||
282 | commit 2a3a9822311a565a9df48ed3b6a3c972f462bd7d | ||
283 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
284 | Date: Thu Aug 27 12:34:00 2020 +0000 | ||
285 | |||
286 | upstream: sentence fix; from pedro martelletto | ||
287 | |||
288 | OpenBSD-Commit-ID: f95b84a1e94e9913173229f3787448eea2f8a575 | ||
289 | |||
290 | commit ce178be0d954b210c958bc2b9e998cd6a7aa73a9 | ||
291 | Author: Damien Miller <djm@mindrot.org> | ||
292 | Date: Thu Aug 27 20:01:52 2020 +1000 | ||
293 | |||
294 | tweak back-compat for older libfido2 | ||
295 | |||
296 | commit d6f45cdde031acdf434bbb27235a1055621915f4 | ||
297 | Author: djm@openbsd.org <djm@openbsd.org> | ||
298 | Date: Thu Aug 27 09:46:04 2020 +0000 | ||
299 | |||
300 | upstream: debug()-print a little info about FIDO-specific key | ||
301 | |||
302 | fields via "ssh-keygen -vyf /path/key" | ||
303 | |||
304 | OpenBSD-Commit-ID: cf315c4fe77db43947d111b00155165cb6b577cf | ||
305 | |||
306 | commit b969072cc3d62d05cb41bc6d6f3c22c764ed932f | ||
307 | Author: djm@openbsd.org <djm@openbsd.org> | ||
308 | Date: Thu Aug 27 09:43:28 2020 +0000 | ||
309 | |||
310 | upstream: skip a bit more FIDO token selection logic when only a | ||
311 | |||
312 | single token is attached. | ||
313 | |||
314 | with Pedro Martelletto | ||
315 | |||
316 | OpenBSD-Commit-ID: e4a324bd9814227ec1faa8cb619580e661cca9ac | ||
317 | |||
318 | commit 744df42a129d7d7db26947b7561be32edac89f88 | ||
319 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
320 | Date: Thu Aug 27 06:15:22 2020 +0000 | ||
321 | |||
322 | upstream: tweak previous; | ||
323 | |||
324 | OpenBSD-Commit-ID: 92714b6531e244e4da401b2defaa376374e24be7 | ||
325 | |||
326 | commit e32479645ce649b444ba5c6e7151304306a09654 | ||
327 | Author: djm@openbsd.org <djm@openbsd.org> | ||
328 | Date: Thu Aug 27 03:55:22 2020 +0000 | ||
329 | |||
330 | upstream: adapt to API changes | ||
331 | |||
332 | OpenBSD-Regress-ID: 5f147990cb67094fe554333782ab268a572bb2dd | ||
333 | |||
334 | commit bbcc858ded3fbc46abfa7760e40389e3ca93884c | ||
335 | Author: Damien Miller <djm@mindrot.org> | ||
336 | Date: Thu Aug 27 12:37:12 2020 +1000 | ||
337 | |||
338 | degrade semi-gracefully when libfido2 is too old | ||
339 | |||
340 | commit 9cbbdc12cb6a2ab1e9ffe9974cca91d213c185c2 | ||
341 | Author: djm@openbsd.org <djm@openbsd.org> | ||
342 | Date: Thu Aug 27 01:15:36 2020 +0000 | ||
343 | |||
344 | upstream: dummy firmware needs to match API version numner crank (for | ||
345 | |||
346 | verify-required resident keys) even though it doesn't implement this feature | ||
347 | |||
348 | OpenBSD-Regress-ID: 86579ea2891e18e822e204413d011b2ae0e59657 | ||
349 | |||
350 | commit c1e76c64956b424ba260fd4eec9970e5b5859039 | ||
351 | Author: djm@openbsd.org <djm@openbsd.org> | ||
352 | Date: Thu Aug 27 02:11:09 2020 +0000 | ||
353 | |||
354 | upstream: remove unreachable code I forgot to delete in r1.334 | ||
355 | |||
356 | OpenBSD-Commit-ID: 9ed6078251a0959ee8deda443b9ae42484fd8b18 | ||
357 | |||
358 | commit 0caff05350bd5fc635674c9e051a0322faba5ae3 | ||
359 | Author: djm@openbsd.org <djm@openbsd.org> | ||
360 | Date: Thu Aug 27 01:08:45 2020 +0000 | ||
361 | |||
362 | upstream: Request PIN ahead of time for certain FIDO actions | ||
363 | |||
364 | When we know that a particular action will require a PIN, such as | ||
365 | downloading resident keys or generating a verify-required key, request | ||
366 | the PIN before attempting it. | ||
367 | |||
368 | joint work with Pedro Martelletto; ok markus@ | ||
369 | |||
370 | OpenBSD-Commit-ID: 863182d38ef075bad1f7d20ca485752a05edb727 | ||
371 | |||
372 | commit b649b3daa6d4b8ebe1bd6de69b3db5d2c03c9af0 | ||
373 | Author: djm@openbsd.org <djm@openbsd.org> | ||
374 | Date: Thu Aug 27 01:08:19 2020 +0000 | ||
375 | |||
376 | upstream: preserve verify-required for resident FIDO keys | ||
377 | |||
378 | When downloading a resident, verify-required key from a FIDO token, | ||
379 | preserve the verify-required in the private key that is written to | ||
380 | disk. Previously we weren't doing that because of lack of support | ||
381 | in the middleware API. | ||
382 | |||
383 | from Pedro Martelletto; ok markus@ and myself | ||
384 | |||
385 | OpenBSD-Commit-ID: 201c46ccdd227cddba3d64e1bdbd082afa956517 | ||
386 | |||
387 | commit 642e06d0df983fa2af85126cf4b23440bb2985bf | ||
388 | Author: djm@openbsd.org <djm@openbsd.org> | ||
389 | Date: Thu Aug 27 01:07:51 2020 +0000 | ||
390 | |||
391 | upstream: major rework of FIDO token selection logic | ||
392 | |||
393 | When PINs are in use and multiple FIDO tokens are attached to a host, we | ||
394 | cannot just blast requests at all attached tokens with the PIN specified | ||
395 | as this will cause the per-token PIN failure counter to increment. If | ||
396 | this retry counter hits the token's limit (usually 3 attempts), then the | ||
397 | token will lock itself and render all (web and SSH) of its keys invalid. | ||
398 | We don't want this. | ||
399 | |||
400 | So this reworks the key selection logic for the specific case of | ||
401 | multiple keys being attached. When multiple keys are attached and the | ||
402 | operation requires a PIN, then the user must touch the key that they | ||
403 | wish to use first in order to identify it. | ||
404 | |||
405 | This may require multiple touches, but only if there are multiple keys | ||
406 | attached AND (usually) the operation requires a PIN. The usual case of a | ||
407 | single key attached should be unaffected. | ||
408 | |||
409 | Work by Pedro Martelletto; ok myself and markus@ | ||
410 | |||
411 | OpenBSD-Commit-ID: 637d3049ced61b7a9ee796914bbc4843d999a864 | ||
412 | |||
413 | commit 801c9f095e6d8b7b91aefd98f5001c652ea13488 | ||
414 | Author: djm@openbsd.org <djm@openbsd.org> | ||
415 | Date: Thu Aug 27 01:07:09 2020 +0000 | ||
416 | |||
417 | upstream: support for requiring user verified FIDO keys in sshd | ||
418 | |||
419 | This adds a "verify-required" authorized_keys flag and a corresponding | ||
420 | sshd_config option that tells sshd to require that FIDO keys verify the | ||
421 | user identity before completing the signing/authentication attempt. | ||
422 | Whether or not user verification was performed is already baked into the | ||
423 | signature made on the FIDO token, so this is just plumbing that flag | ||
424 | through and adding ways to require it. | ||
425 | |||
426 | feedback and ok markus@ | ||
427 | |||
428 | OpenBSD-Commit-ID: 3a2313aae153e043d57763d766bb6d55c4e276e6 | ||
429 | |||
430 | commit 9b8ad93824c682ce841f53f3b5762cef4e7cc4dc | ||
431 | Author: djm@openbsd.org <djm@openbsd.org> | ||
432 | Date: Thu Aug 27 01:06:18 2020 +0000 | ||
433 | |||
434 | upstream: support for user-verified FIDO keys | ||
435 | |||
436 | FIDO2 supports a notion of "user verification" where the user is | ||
437 | required to demonstrate their identity to the token before particular | ||
438 | operations (e.g. signing). Typically this is done by authenticating | ||
439 | themselves using a PIN that has been set on the token. | ||
440 | |||
441 | This adds support for generating and using user verified keys where | ||
442 | the verification happens via PIN (other options might be added in the | ||
443 | future, but none are in common use now). Practically, this adds | ||
444 | another key generation option "verify-required" that yields a key that | ||
445 | requires a PIN before each authentication. | ||
446 | |||
447 | feedback markus@ and Pedro Martelletto; ok markus@ | ||
448 | |||
449 | OpenBSD-Commit-ID: 57fd461e4366f87c47502c5614ec08573e6d6a15 | ||
450 | |||
451 | commit 1196d7f49d4fbc90f37e550de3056561613b0960 | ||
452 | Author: cheloha@openbsd.org <cheloha@openbsd.org> | ||
453 | Date: Wed Aug 12 01:23:45 2020 +0000 | ||
454 | |||
455 | upstream: ssh-keyscan(1): simplify conloop() with timercmp(3), | ||
456 | |||
457 | timersub(3); ok djm@ | ||
458 | |||
459 | OpenBSD-Commit-ID: a102acb544f840d33ad73d40088adab4a687fa27 | ||
460 | |||
461 | commit d0a195c89e26766d3eb8f3e4e2a00ebc98b57795 | ||
462 | Author: djm@openbsd.org <djm@openbsd.org> | ||
463 | Date: Tue Aug 11 09:49:57 2020 +0000 | ||
464 | |||
465 | upstream: let ssh_config(5)'s AddKeysToAgent keyword accept a time | ||
466 | |||
467 | limit for keys in addition to its current flag options. Time-limited keys | ||
468 | will automatically be removed from ssh-agent after their expiry time has | ||
469 | passed; ok markus@ | ||
470 | |||
471 | OpenBSD-Commit-ID: 792e71cacbbc25faab5424cf80bee4a006119f94 | ||
472 | |||
473 | commit e9c2002891a7b8e66f4140557a982978f372e5a3 | ||
474 | Author: djm@openbsd.org <djm@openbsd.org> | ||
475 | Date: Tue Aug 11 09:45:54 2020 +0000 | ||
476 | |||
477 | upstream: let the "Confirm user presence for key ..." ssh-askpass | ||
478 | |||
479 | notification respect $SSH_ASKPASS_REQUIRE; ok markus@ | ||
480 | |||
481 | OpenBSD-Commit-ID: 7c1a616b348779bda3b9ad46bf592741f8e206c1 | ||
482 | |||
483 | commit eaf8672b1b52db2815a229745f4e4b08681bed6d | ||
484 | Author: Darren Tucker <dtucker@dtucker.net> | ||
485 | Date: Fri Aug 21 00:04:13 2020 +1000 | ||
486 | |||
487 | Remove check for 'ent' command. | ||
488 | |||
489 | It was added in 8d1fd57a9 for measuring entropy of ssh_prng_cmds which | ||
490 | has long since been removed and there are no other references to it. | ||
491 | |||
492 | commit 05c215de8d224e094a872d97d45f37f60c06206b | ||
493 | Author: Darren Tucker <dtucker@dtucker.net> | ||
494 | Date: Mon Aug 17 21:34:32 2020 +1000 | ||
495 | |||
496 | Wrap stdint.h include in ifdef HAVE_STDINT_H. | ||
497 | |||
498 | commit eaf2765efe8bc74feba85c34295d067637fc6635 | ||
499 | Author: Damien Miller <djm@mindrot.org> | ||
500 | Date: Mon Aug 10 13:24:09 2020 +1000 | ||
501 | |||
502 | sync memmem.c with OpenBSD | ||
503 | |||
504 | commit ed6bef77f5bb5b8f9ca2914478949e29f2f0a780 | ||
505 | Author: Darren Tucker <dtucker@dtucker.net> | ||
506 | Date: Fri Aug 7 17:12:16 2020 +1000 | ||
507 | |||
508 | Always send any PAM account messages. | ||
509 | |||
510 | If the PAM account stack reaturns any messages, send them to the user | ||
511 | not just if the check succeeds. bz#2049, ok djm@ | ||
512 | |||
513 | commit a09e98dcae1e26f026029b7142b0e0d10130056f | ||
514 | Author: Darren Tucker <dtucker@dtucker.net> | ||
515 | Date: Fri Aug 7 15:37:37 2020 +1000 | ||
516 | |||
517 | Output test debug logs on failure. | ||
518 | |||
519 | commit eb122b1eebe58b29a83a507ee814cbcf8aeded1b | ||
520 | Author: Darren Tucker <dtucker@dtucker.net> | ||
521 | Date: Fri Aug 7 15:11:42 2020 +1000 | ||
522 | |||
523 | Add ability to specify exact test target. | ||
524 | |||
525 | commit c2ec7a07f8caabb4d8e00c66e7cd46bf2cd1e922 | ||
526 | Author: Darren Tucker <dtucker@dtucker.net> | ||
527 | Date: Fri Aug 7 14:21:15 2020 +1000 | ||
528 | |||
529 | Document --without-openssl and --without-zlib. | ||
530 | |||
531 | commit 651bb3a31949bbdc3a78b2ede95a77bce0c72984 | ||
532 | Author: Darren Tucker <dtucker@dtucker.net> | ||
533 | Date: Fri Aug 7 14:15:11 2020 +1000 | ||
534 | |||
535 | Add without-openssl without-zlib test target. | ||
536 | |||
537 | commit 9499f2bb01dc1032ae155999b2d7764b9491341f | ||
538 | Author: Stefan Schindler <dns2utf8@estada.ch> | ||
539 | Date: Wed Aug 5 19:00:52 2020 +0200 | ||
540 | |||
541 | Add CI with prepare script | ||
542 | |||
543 | * Only use heimdal kerberos implementation | ||
544 | * Fetch yubico/libfido2 (see: https://github.com/Yubico/libfido2) | ||
545 | * Add one target for | ||
546 | * all features | ||
547 | * each feature alone | ||
548 | * no features | ||
549 | |||
550 | commit ea1f649046546a860f68b97ddc3015b7e44346ca | ||
551 | Author: Damien Miller <djm@mindrot.org> | ||
552 | Date: Wed Aug 5 08:58:57 2020 +1000 | ||
553 | |||
554 | support NetBSD's utmpx.ut_ss address field | ||
555 | |||
556 | bz#960, ok dtucker | ||
557 | |||
558 | commit 32c63e75a70a0ed9d6887a55fcb0e4531a6ad617 | ||
559 | Author: Damien Miller <djm@mindrot.org> | ||
560 | Date: Tue Aug 4 14:59:21 2020 +1000 | ||
561 | |||
562 | wrap a declaration in the same ifdefs as its use | ||
563 | |||
564 | avoids warnings on NetBSD | ||
565 | |||
566 | commit c9e3be9f4b41fda32a2a0138d54c7a6b563bc94d | ||
567 | Author: Damien Miller <djm@mindrot.org> | ||
568 | Date: Tue Aug 4 14:58:46 2020 +1000 | ||
569 | |||
570 | undef TAILQ_CONCAT and friends | ||
571 | |||
572 | Needed for NetBSD. etc that supply these macros | ||
573 | |||
574 | commit 2d8a3b7e8b0408dfeb933ac5cfd3a58f5bac49af | ||
575 | Author: djm@openbsd.org <djm@openbsd.org> | ||
576 | Date: Mon Aug 3 02:53:51 2020 +0000 | ||
577 | |||
578 | upstream: ensure that certificate extensions are lexically sorted. | ||
579 | |||
580 | Previously if the user specified a custom extension then the everything would | ||
581 | be in order except the custom ones. bz3198 ok dtucker markus | ||
582 | |||
583 | OpenBSD-Commit-ID: d97deb90587b06cb227c66ffebb2d9667bf886f0 | ||
584 | |||
585 | commit a8732d74cb8e72f0c6366015687f1e649f60be87 | ||
586 | Author: djm@openbsd.org <djm@openbsd.org> | ||
587 | Date: Mon Aug 3 02:43:41 2020 +0000 | ||
588 | |||
589 | upstream: allow -A to explicitly enable agent forwarding in scp and | ||
590 | |||
591 | sftp. The default remains to not forward an agent, even when ssh_config | ||
592 | enables it. ok jmc dtucker markus | ||
593 | |||
594 | OpenBSD-Commit-ID: 36cc526aa3b0f94e4704b8d7b969dd63e8576822 | ||
595 | |||
596 | commit ab9105470a83ed5d8197959a1b1f367399958ba1 | ||
597 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
598 | Date: Mon Aug 3 02:42:49 2020 +0000 | ||
599 | |||
600 | upstream: clang -Wimplicit-fallthrough does not recognise /* | ||
601 | |||
602 | FALLTHROUGH */ comments, which is the style we currently use, and gives too | ||
603 | many boring warnings. ok djm | ||
604 | |||
605 | OpenBSD-Commit-ID: 07b5031e9f49f2b69ac5e85b8da4fc9e393992a0 | ||
606 | |||
607 | commit ced327b9fb78c94d143879ef4b2a02cbc5d38690 | ||
608 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
609 | Date: Fri Jul 31 04:19:37 2020 +0000 | ||
610 | |||
611 | upstream: Also compare username when checking for JumpHost loops. | ||
612 | |||
613 | bz#3057, ok djm@ | ||
614 | |||
615 | OpenBSD-Commit-ID: 9bbc1d138adb34c54f3c03a15a91f75dbf418782 | ||
616 | |||
617 | commit ae7527010c44b3376b85d036a498f136597b2099 | ||
618 | Author: Darren Tucker <dtucker@dtucker.net> | ||
619 | Date: Fri Jul 31 15:19:04 2020 +1000 | ||
620 | |||
621 | Remove AC_REVISION. | ||
622 | |||
623 | It hasn't been useful since we switched to git in 2014. ok djm@ | ||
624 | |||
625 | commit 89fc3f414be0ce4e8008332a9739a7d721269e50 | ||
626 | Author: Darren Tucker <dtucker@dtucker.net> | ||
627 | Date: Tue Jul 28 19:40:30 2020 +1000 | ||
628 | |||
629 | Use argv in OSSH_CHECK_CFLAG_COMPILE test. | ||
630 | |||
631 | configure.ac is not detecting -Wextra in compilers that implement the | ||
632 | option. The problem is that -Wextra implies -Wunused-parameter, and the | ||
633 | C excerpt used by aclocal.m4 does not use argv. Patch from pedro at | ||
634 | ambientworks.net, ok djm@ | ||
635 | |||
636 | commit 62c81ef531b0cc7ff655455dd34f5f0c94f48e82 | ||
637 | Author: Darren Tucker <dtucker@dtucker.net> | ||
638 | Date: Mon Jul 20 22:12:07 2020 +1000 | ||
639 | |||
640 | Skip ECDSA-SK webauthn test when built w/out ECC | ||
641 | |||
642 | commit 3ec9a6d7317236a9994887d8bd5d246af403a00d | ||
643 | Author: Damien Miller <djm@mindrot.org> | ||
644 | Date: Mon Jul 20 13:09:25 2020 +1000 | ||
645 | |||
646 | Add ssh-sk-helper and manpage to RPM spec file | ||
647 | |||
648 | Based on patch from Fabio Pedretti | ||
649 | |||
650 | commit a2855c048b3f4b17d8787bd3f24232ec0cd79abe | ||
651 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
652 | Date: Fri Jul 17 07:09:24 2020 +0000 | ||
653 | |||
654 | upstream: Add %k to the TOKENs for Match Exec for consistency with | ||
655 | |||
656 | the other keywords that recently got %k. | ||
657 | |||
658 | OpenBSD-Commit-ID: 1857d1c40f270cbc254fca91e66110641dddcfdb | ||
659 | |||
660 | commit 69860769fa9f4529d8612ec055ae11912f7344cf | ||
661 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
662 | Date: Fri Jul 17 05:59:05 2020 +0000 | ||
663 | |||
664 | upstream: fix macro slip in previous; | ||
665 | |||
666 | OpenBSD-Commit-ID: 624e47ab209450ad9ad5c69f54fa69244de5ed9a | ||
667 | |||
668 | commit 40649bd0822883b684183854b16d0b8461d5697b | ||
669 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
670 | Date: Fri Jul 17 07:10:24 2020 +0000 | ||
671 | |||
672 | upstream: Add test for '%k' (HostKeyAlias) TOKEN. | ||
673 | |||
674 | OpenBSD-Regress-ID: 8ed1ba1a811790031aad3fcea860a34ad7910456 | ||
675 | |||
676 | commit 6736fe680704a3518cb4f3f8f6723b00433bd3dd | ||
677 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
678 | Date: Fri Jul 17 03:26:58 2020 +0000 | ||
679 | |||
680 | upstream: Add tests for expansions on UserKnownHostsFile. | ||
681 | |||
682 | OpenBSD-Regress-ID: bccf8060306c841bbcceb1392644f906a4d6ca51 | ||
683 | |||
684 | commit 287dc6396e0f9cb2393f901816dbd7f2a7dfbb5f | ||
685 | Author: djm@openbsd.org <djm@openbsd.org> | ||
686 | Date: Fri Jul 17 03:51:32 2020 +0000 | ||
687 | |||
688 | upstream: log error message for process_write() write failures | ||
689 | |||
690 | OpenBSD-Commit-ID: f733d7b3b05e3c68967dc18dfe39b9e8fad29851 | ||
691 | |||
692 | commit 8df5774a42d2eaffe057bd7f293fc6a4b1aa411c | ||
693 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
694 | Date: Fri Jul 17 03:43:42 2020 +0000 | ||
695 | |||
696 | upstream: Add a '%k' TOKEN that expands to the effective HostKey of | ||
697 | |||
698 | the destination. This allows, eg, keeping host keys in individual files | ||
699 | using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k". bz#1654, ok djm@, jmc@ | ||
700 | (man page bits) | ||
701 | |||
702 | OpenBSD-Commit-ID: 7084d723c9cc987a5c47194219efd099af5beadc | ||
703 | |||
704 | commit c4f239944a4351810fd317edf408bdcd5c0102d9 | ||
705 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
706 | Date: Fri Jul 17 03:23:10 2020 +0000 | ||
707 | |||
708 | upstream: Add %-TOKEN, environment variable and tilde expansion to | ||
709 | |||
710 | UserKnownHostsFile, allowing the file to be automagically split up in the | ||
711 | configuration (eg bz#1654). ok djm@, man page parts jmc@ | ||
712 | |||
713 | OpenBSD-Commit-ID: 7e1b406caf147638bb51558836a72d6cc0bd1b18 | ||
714 | |||
715 | commit dbaaa01daedb423c38124a72c471982fb08a16fb | ||
716 | Author: solene@openbsd.org <solene@openbsd.org> | ||
717 | Date: Wed Jul 15 07:50:46 2020 +0000 | ||
718 | |||
719 | upstream: - Add [-a rounds] in ssh-keygen man page and usage() - | ||
720 | |||
721 | Reorder parameters list in the first usage() case - Sentence rewording | ||
722 | |||
723 | ok dtucker@ | ||
724 | jmc@ noticed usage() missed -a flag too | ||
725 | |||
726 | OpenBSD-Commit-ID: f06b9afe91cc96f260b929a56e9930caecbde246 | ||
727 | |||
728 | commit 69924a92c3af7b99a7541aa544a2334ec0fb092c | ||
729 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
730 | Date: Wed Jul 15 05:40:05 2020 +0000 | ||
731 | |||
732 | upstream: start sentence with capital letter; | ||
733 | |||
734 | OpenBSD-Commit-ID: ab06581d51b2b4cc1b4aab781f7f3cfa56cad973 | ||
735 | |||
736 | commit 5b56bd0affea7b02b540bdbc4d1d271b0e4fc885 | ||
737 | Author: Damien Miller <djm@mindrot.org> | ||
738 | Date: Fri Jul 17 13:15:50 2020 +1000 | ||
739 | |||
740 | detect Linux/X32 systems | ||
741 | |||
742 | This is a frankenstein monster of AMD64 instructions/calling conventions | ||
743 | but with a 4GB address space. Allegedly deprecated but people still run | ||
744 | into it causing weird sandbox failures, e.g. bz#3085 | ||
745 | |||
746 | commit 9c9ddc1391d6af8d09580a2424ab467d0a5df3c7 | ||
747 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
748 | Date: Wed Jul 15 06:43:16 2020 +0000 | ||
749 | |||
750 | upstream: Fix previous by calling the correct function. | ||
751 | |||
752 | OpenBSD-Regress-ID: 821cdd1dff9c502cceff4518b6afcb81767cad5a | ||
753 | |||
754 | commit f1a4798941b4372bfe5e46f1c0f8672fe692d9e4 | ||
755 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
756 | Date: Wed Jul 15 05:36:50 2020 +0000 | ||
757 | |||
758 | upstream: Update test to match recent change in match.c | ||
759 | |||
760 | OpenBSD-Regress-ID: 965bda1f95f09a765050707340c73ad755f41167 | ||
761 | |||
762 | commit d7e71be4fd57b7c7e620d733cdf2333b27bfa924 | ||
763 | Author: Darren Tucker <dtucker@dtucker.net> | ||
764 | Date: Wed Jul 15 15:30:43 2020 +1000 | ||
765 | |||
766 | Adjust portable code to match changes in 939d787d, | ||
767 | |||
768 | commit fec89f32a84fd0aa1afc81deec80a460cbaf451a | ||
769 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
770 | Date: Wed Jul 15 04:27:34 2020 +0000 | ||
771 | |||
772 | upstream: Add default for number of rounds (-a). ok djm@ | ||
773 | |||
774 | OpenBSD-Commit-ID: cb7e9aa04ace01a98e63e4bd77f34a42ab169b15 | ||
775 | |||
776 | commit aaa8b609a7b332be836cd9a3b782422254972777 | ||
777 | Author: djm@openbsd.org <djm@openbsd.org> | ||
778 | Date: Tue Jul 14 23:57:01 2020 +0000 | ||
779 | |||
780 | upstream: allow some additional control over the use of ssh-askpass | ||
781 | |||
782 | via $SSH_ASKPASS_REQUIRE, including force-enable/disable. bz#69 ok markus@ | ||
783 | |||
784 | OpenBSD-Commit-ID: 3a1e6cbbf6241ddc4405c4246caa2c249f149eb2 | ||
785 | |||
786 | commit 6368022cd4dd508671c4999a59ec5826df098530 | ||
787 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
788 | Date: Tue Jul 7 02:47:21 2020 +0000 | ||
789 | |||
790 | upstream: correct recently broken comments | ||
791 | |||
792 | OpenBSD-Commit-ID: 964d9a88f7de1d0eedd3f8070b43fb6e426351f1 | ||
793 | |||
794 | commit 6d755706a0059eb9e2d63517f288b75cbc3b4701 | ||
795 | Author: djm@openbsd.org <djm@openbsd.org> | ||
796 | Date: Sun Jul 5 23:59:45 2020 +0000 | ||
797 | |||
798 | upstream: some language improvements; ok markus | ||
799 | |||
800 | OpenBSD-Commit-ID: 939d787d571b4d5da50b3b721fd0b2ac236acaa8 | ||
801 | |||
802 | commit b0c1e8384d5e136ebdf895d1434aea7dd8661a1c | ||
803 | Author: markus@openbsd.org <markus@openbsd.org> | ||
804 | Date: Fri Jul 3 10:12:26 2020 +0000 | ||
805 | |||
806 | upstream: update setproctitle after re-exec; ok djm | ||
807 | |||
808 | OpenBSD-Commit-ID: bc92d122f9184ec2a9471ade754b80edd034ce8b | ||
809 | |||
810 | commit cd119a5ec2bf0ed5df4daff3bd14f8f7566dafd3 | ||
811 | Author: markus@openbsd.org <markus@openbsd.org> | ||
812 | Date: Fri Jul 3 10:11:33 2020 +0000 | ||
813 | |||
814 | upstream: keep ignoring HUP after fork+exec; ok djm | ||
815 | |||
816 | OpenBSD-Commit-ID: 7679985a84ee5ceb09839905bb6f3ddd568749a2 | ||
817 | |||
818 | commit 8af4a743693ccbea3e15fc9e93edbeb610fa94f4 | ||
819 | Author: markus@openbsd.org <markus@openbsd.org> | ||
820 | Date: Fri Jul 3 10:10:17 2020 +0000 | ||
821 | |||
822 | upstream: don't exit the listener on send_rexec_state errors; ok | ||
823 | |||
824 | djm | ||
825 | |||
826 | OpenBSD-Commit-ID: 57cbd757d130d3f45b7d41310b3a15eeec137d5c | ||
827 | |||
828 | commit 03da4c2b70468f04ed1c08518ea0a70e67232739 | ||
829 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
830 | Date: Wed Jul 15 04:55:47 2020 +0000 | ||
831 | |||
832 | upstream: Use $OBJ to find key files. Fixes test when run on an obj | ||
833 | |||
834 | directory (on OpenBSD) or out of tree (in Portable). | ||
835 | |||
836 | OpenBSD-Regress-ID: 938fa8ac86adaa527d64a305bd2135cfbb1c0a17 | ||
837 | |||
838 | commit 73f20f195ad18f1cf633eb7d8be95dc1b6111eea | ||
839 | Author: Darren Tucker <dtucker@dtucker.net> | ||
840 | Date: Sat Jul 4 23:11:23 2020 +1000 | ||
841 | |||
842 | Wrap stdint.h in ifdef HAVE_STDINT_H. | ||
843 | |||
844 | commit aa6fa4bf3023fa0e5761cd8f4b2cd015d2de74dd | ||
845 | Author: djm@openbsd.org <djm@openbsd.org> | ||
846 | Date: Fri Jul 3 07:25:18 2020 +0000 | ||
847 | |||
848 | upstream: put back the mux_ctx memleak fix, but only for channels of | ||
849 | |||
850 | type SSH_CHANNEL_MUX_LISTENER; Specifically SSH_CHANNEL_MUX_PROXY channels | ||
851 | should not have this structure freed. | ||
852 | |||
853 | OpenBSD-Commit-ID: f3b213ae60405f77439e2b06262f054760c9d325 | ||
854 | |||
855 | commit d8195914eb43b20b13381f4e5a74f9f8a14f0ded | ||
856 | Author: djm@openbsd.org <djm@openbsd.org> | ||
857 | Date: Fri Jul 3 07:17:35 2020 +0000 | ||
858 | |||
859 | upstream: revert r1.399 - the lifetime of c->mux_ctx is more complex; | ||
860 | |||
861 | simply freeing it here causes other problems | ||
862 | |||
863 | OpenBSD-Commit-ID: c6fee8ca94e2485faa783839541962be2834c5ed | ||
864 | |||
865 | commit 20b5fab9f773b3d3c7f06cb15b8f69a2c081ee80 | ||
866 | Author: djm@openbsd.org <djm@openbsd.org> | ||
867 | Date: Fri Jul 3 07:02:37 2020 +0000 | ||
868 | |||
869 | upstream: avoid tilde_expand_filename() in expanding ~/.ssh/rc - if | ||
870 | |||
871 | sshd is in chroot mode, the likely absence of a password database will cause | ||
872 | tilde_expand_filename() to fatal; ok dtucker@ | ||
873 | |||
874 | OpenBSD-Commit-ID: e20aee6159e8b79190d18dba1513fc1b7c8b7ee1 | ||
875 | |||
876 | commit c8935081db35d73ee6355999142fa0776a2af912 | ||
877 | Author: djm@openbsd.org <djm@openbsd.org> | ||
878 | Date: Fri Jul 3 06:46:41 2020 +0000 | ||
879 | |||
880 | upstream: when redirecting sshd's log output to a file, undo this | ||
881 | |||
882 | redirection after the session child process is forked(); ok dtucker@ | ||
883 | |||
884 | OpenBSD-Commit-ID: 6df86dd653c91f5bc8ac1916e7680d9d24690865 | ||
885 | |||
886 | commit 183c4aaef944af3a1a909ffa01058c65bac55748 | ||
887 | Author: djm@openbsd.org <djm@openbsd.org> | ||
888 | Date: Fri Jul 3 06:29:57 2020 +0000 | ||
889 | |||
890 | upstream: start ClientAliveInterval bookkeeping before first pass | ||
891 | |||
892 | through select() loop; fixed theoretical case where busy sshd may ignore | ||
893 | timeouts from client; inspired by and ok dtucker | ||
894 | |||
895 | OpenBSD-Commit-ID: 96bfc4b1f86c7da313882a84755b2b47eb31957f | ||
896 | |||
897 | commit 6fcfd303d67f16695198cf23d109a988e40eefb6 | ||
898 | Author: Damien Miller <djm@mindrot.org> | ||
899 | Date: Fri Jul 3 15:28:27 2020 +1000 | ||
900 | |||
901 | add check for fido_cred_set_prot() to configure | ||
902 | |||
903 | commit f11b23346309e4d5138e733a49321aedd6eeaa2f | ||
904 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
905 | Date: Fri Jul 3 05:09:06 2020 +0000 | ||
906 | |||
907 | upstream: Only reset the serveralive check when we receive traffic from | ||
908 | |||
909 | the server and ignore traffic from a port forwarding client, preventing a | ||
910 | client from keeping a connection alive when it should be terminated. Based | ||
911 | on a patch from jxraynor at gmail.com via openssh-unix-dev and bz#2265, ok | ||
912 | djm@ | ||
913 | |||
914 | OpenBSD-Commit-ID: a941a575a5cbc244c0ef5d7abd0422bbf02c2dcd | ||
915 | |||
916 | commit adfdbf1211914b631c038f0867a447db7b519937 | ||
917 | Author: Damien Miller <djm@mindrot.org> | ||
918 | Date: Fri Jul 3 15:15:15 2020 +1000 | ||
919 | |||
920 | sync sys-queue.h with OpenBSD upstream | ||
921 | |||
922 | needed for TAILQ_CONCAT | ||
923 | |||
924 | commit 1b90ddde49e2ff377204082b6eb130a096411dc1 | ||
925 | Author: djm@openbsd.org <djm@openbsd.org> | ||
926 | Date: Fri Jul 3 05:08:41 2020 +0000 | ||
927 | |||
928 | upstream: fix memory leak of mux_ctx; patch from Sergiy Lozovsky | ||
929 | |||
930 | via bz3189 ok dtucker | ||
931 | |||
932 | OpenBSD-Commit-ID: db249bd4526fd42d0f4f43f72f7b8b7705253bde | ||
933 | |||
934 | commit 55ef3e9cbd5b336bd0f89205716924886fcf86de | ||
935 | Author: markus@openbsd.org <markus@openbsd.org> | ||
936 | Date: Wed Jul 1 16:28:31 2020 +0000 | ||
937 | |||
938 | upstream: free kex in ssh_packet_close; ok djm semarie | ||
939 | |||
940 | OpenBSD-Commit-ID: dbc181e90d3d32fd97b10d75e68e374270e070a2 | ||
941 | |||
942 | commit e1c401109b61f7dbc199b5099933d579e7fc5dc9 | ||
943 | Author: bket@openbsd.org <bket@openbsd.org> | ||
944 | Date: Sat Jun 27 13:39:09 2020 +0000 | ||
945 | |||
946 | upstream: Replace TAILQ concatenation loops with TAILQ_CONCAT | ||
947 | |||
948 | OK djm@ | ||
949 | |||
950 | OpenBSD-Commit-ID: 454b40e09a117ddb833794358970a65b14c431ef | ||
951 | |||
952 | commit 14beca57ac92d62830c42444c26ba861812dc837 | ||
953 | Author: semarie@openbsd.org <semarie@openbsd.org> | ||
954 | Date: Fri Jun 26 11:26:01 2020 +0000 | ||
955 | |||
956 | upstream: backout 1.293 fix kex mem-leak in ssh_packet_close at markus | ||
957 | |||
958 | request | ||
959 | |||
960 | the change introduced a NULL deref in sshpkt_vfatal() (uses of ssh->kex after | ||
961 | calling ssh_packet_clear_keys()) | ||
962 | |||
963 | OpenBSD-Commit-ID: 9c9a6721411461b0b1c28dc00930d7251a798484 | ||
964 | |||
965 | commit 598c3a5e3885080ced0d7c40fde00f1d5cdbb32b | ||
966 | Author: Damien Miller <djm@mindrot.org> | ||
967 | Date: Fri Jun 26 16:07:12 2020 +1000 | ||
968 | |||
969 | document a PAM spec problem in a frustrated comment | ||
970 | |||
971 | commit 976c4f86286d52a0cb2aadf4a095d379c0da752e | ||
972 | Author: djm@openbsd.org <djm@openbsd.org> | ||
973 | Date: Fri Jun 26 05:42:16 2020 +0000 | ||
974 | |||
975 | upstream: avoid spurious error message when ssh-keygen creates files | ||
976 | |||
977 | outside ~/.ssh; with dtucker@ | ||
978 | |||
979 | OpenBSD-Commit-ID: ac0c662d44607e00ec78c266ee60752beb1c7e08 | ||
980 | |||
981 | commit 32b2502a9dfdfded1ccdc1fd6dc2b3fe41bfc205 | ||
982 | Author: Damien Miller <djm@mindrot.org> | ||
983 | Date: Fri Jun 26 15:30:06 2020 +1000 | ||
984 | |||
985 | missing ifdef SELINUX; spotted by dtucker | ||
986 | |||
987 | commit e073106f370cdd2679e41f6f55a37b491f0e82fe | ||
988 | Author: djm@openbsd.org <djm@openbsd.org> | ||
989 | Date: Fri Jun 26 05:12:21 2020 +0000 | ||
990 | |||
991 | upstream: regress test for ssh-add -d; ok dtucker@ | ||
992 | |||
993 | OpenBSD-Regress-ID: 3a2e044be616afc7dd4f56c100179e83b33d8abf | ||
994 | |||
995 | commit c809daaa1bad6b1c305b0e0b5440360f32546c84 | ||
996 | Author: markus@openbsd.org <markus@openbsd.org> | ||
997 | Date: Wed Jun 24 15:16:23 2020 +0000 | ||
998 | |||
999 | upstream: add test for mux w/-Oproxy; ok djm | ||
1000 | |||
1001 | OpenBSD-Regress-ID: 764d5c696e2a259f1316a056e225e50023abb027 | ||
1002 | |||
1003 | commit 3d06ff4bbd3dca8054c238d2a94c0da563ef7eee | ||
1004 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1005 | Date: Fri Jun 26 05:16:38 2020 +0000 | ||
1006 | |||
1007 | upstream: handle EINTR in waitfd() and timeout_connect() helpers; | ||
1008 | |||
1009 | bz#3071; ok dtucker@ | ||
1010 | |||
1011 | OpenBSD-Commit-ID: 08fa87be50070bd8b754d9b1ebb1138d7bc9d8ee | ||
1012 | |||
1013 | commit fe2ec0b9c19adeab0cd9f04b8152dc17f31c31e5 | ||
1014 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1015 | Date: Fri Jun 26 05:04:07 2020 +0000 | ||
1016 | |||
1017 | upstream: allow "ssh-add -d -" to read keys to be deleted from | ||
1018 | |||
1019 | stdin bz#3180; ok dtucker@ | ||
1020 | |||
1021 | OpenBSD-Commit-ID: 15c7f10289511eb19fce7905c9cae8954e3857ff | ||
1022 | |||
1023 | commit a3e0c376ffc11862fa3568b28188bd12965973e1 | ||
1024 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1025 | Date: Fri Jun 26 05:03:36 2020 +0000 | ||
1026 | |||
1027 | upstream: constify a few things; ok dtucker (as part of another | ||
1028 | |||
1029 | diff) | ||
1030 | |||
1031 | OpenBSD-Commit-ID: 7c17fc987085994d752304bd20b1ae267a9bcdf6 | ||
1032 | |||
1033 | commit 74344c3ca42c3f53b00b025daf09ae7f6aa38076 | ||
1034 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1035 | Date: Fri Jun 26 05:02:03 2020 +0000 | ||
1036 | |||
1037 | upstream: Defer creation of ~/.ssh by ssh(1) until we attempt to | ||
1038 | |||
1039 | write to it so we don't leave an empty .ssh directory when it's not needed. | ||
1040 | Use the same function to replace the code in ssh-keygen that does the same | ||
1041 | thing. bz#3156, ok djm@ | ||
1042 | |||
1043 | OpenBSD-Commit-ID: 59c073b569be1a60f4de36f491a4339bc4ae870f | ||
1044 | |||
1045 | commit c9e24daac6324fcbdba171392c325bf9ccc3c768 | ||
1046 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1047 | Date: Fri Jun 26 04:45:11 2020 +0000 | ||
1048 | |||
1049 | upstream: Expand path to ~/.ssh/rc rather than relying on it | ||
1050 | |||
1051 | being relative to the current directory, so that it'll still be found if the | ||
1052 | shell startup changes its directory. Since the path is potentially longer, | ||
1053 | make the cmd buffer that uses it dynamically sized. bz#3185, with & ok djm@ | ||
1054 | |||
1055 | OpenBSD-Commit-ID: 36e33ff01497af3dc8226d0c4c1526fc3a1e46bf | ||
1056 | |||
1057 | commit 07f5f369a25e228a7357ef6c57205f191f073d99 | ||
1058 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1059 | Date: Wed Jun 24 15:12:09 2020 +0000 | ||
1060 | |||
1061 | upstream: fix kex mem-leak in ssh_packet_close; ok djm | ||
1062 | |||
1063 | OpenBSD-Commit-ID: e2e9533f393620383afd0b68ef435de8d5e8abe4 | ||
1064 | |||
1065 | commit e35995088cd6691a712bfd586bae8084a3a922ba | ||
1066 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1067 | Date: Wed Jun 24 15:10:38 2020 +0000 | ||
1068 | |||
1069 | upstream: fix ssh -O proxy w/mux which got broken by no longer | ||
1070 | |||
1071 | making ssh->kex optional in packet.c revision 1.278 ok djm@ | ||
1072 | |||
1073 | OpenBSD-Commit-ID: 2b65df04a064c2c6277359921d2320c90ab7d917 | ||
1074 | |||
1075 | commit 250246fef22b87a54a63211c60a2def9be431fbd | ||
1076 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1077 | Date: Wed Jun 24 15:09:53 2020 +0000 | ||
1078 | |||
1079 | upstream: support loading big sshd_config files w/o realloc; ok | ||
1080 | |||
1081 | djm | ||
1082 | |||
1083 | OpenBSD-Commit-ID: ba9238e810074ac907f0cf8cee1737ac04983171 | ||
1084 | |||
1085 | commit 89b54900ac61986760452f132bbe3fb7249cfdac | ||
1086 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1087 | Date: Wed Jun 24 15:08:53 2020 +0000 | ||
1088 | |||
1089 | upstream: allow sshd_config longer than 256k; ok djm | ||
1090 | |||
1091 | OpenBSD-Commit-ID: 83f40dd5457a64c1d3928eb4364461b22766beb3 | ||
1092 | |||
1093 | commit e3fa6249e6d9ceb57c14b04dd4c0cfab12fa7cd5 | ||
1094 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1095 | Date: Wed Jun 24 15:07:33 2020 +0000 | ||
1096 | |||
1097 | upstream: only call sshkey_xmss_init() once for KEY_XMSS_CERT; ok | ||
1098 | |||
1099 | djm | ||
1100 | |||
1101 | OpenBSD-Commit-ID: d0002ffb7f20f538b014d1d0735facd5a81ff096 | ||
1102 | |||
1103 | commit 37f2da069c0619f2947fb92785051d82882876d7 | ||
1104 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1105 | Date: Mon Jun 22 23:44:27 2020 +0000 | ||
1106 | |||
1107 | upstream: some clarifying comments | ||
1108 | |||
1109 | OpenBSD-Commit-ID: 5268479000fd97bfa30ab819f3517139daa054a2 | ||
1110 | |||
1111 | commit b659319a5bc9e8adf3c4facc51f37b670d2a7426 | ||
1112 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
1113 | Date: Mon Jun 22 06:37:38 2020 +0000 | ||
1114 | |||
1115 | upstream: updated argument name for -P in first synopsis was | ||
1116 | |||
1117 | missed in previous; | ||
1118 | |||
1119 | OpenBSD-Commit-ID: 8d84dc3050469884ea91e29ee06a371713f2d0b7 | ||
1120 | |||
1121 | commit 02a9222cbce7131d639984c2f6c71d1551fc3333 | ||
1122 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
1123 | Date: Mon Jun 22 06:36:40 2020 +0000 | ||
1124 | |||
1125 | upstream: supply word missing in previous; | ||
1126 | |||
1127 | OpenBSD-Commit-ID: 16a38b049f216108f66c8b699aa046063381bd23 | ||
1128 | |||
1129 | commit 5098b3b6230852a80ac6cef5d53a785c789a5a56 | ||
1130 | Author: Damien Miller <djm@mindrot.org> | ||
1131 | Date: Mon Jun 22 16:54:02 2020 +1000 | ||
1132 | |||
1133 | missing files for webauthn/sshsig unit test | ||
1134 | |||
1135 | commit 354535ff79380237924ac8fdc98f8cdf83e67da6 | ||
1136 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1137 | Date: Mon Jun 22 06:00:06 2020 +0000 | ||
1138 | |||
1139 | upstream: add support for verification of webauthn sshsig signature, | ||
1140 | |||
1141 | and example HTML/JS to generate webauthn signatures in SSH formats (also used | ||
1142 | to generate the testdata/* for the test). | ||
1143 | |||
1144 | OpenBSD-Regress-ID: dc575be5bb1796fdf4b8aaee0ef52a6671a0f6fb | ||
1145 | |||
1146 | commit bb52e70fa5330070ec9a23069c311d9e277bbd6f | ||
1147 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1148 | Date: Mon Jun 22 05:58:35 2020 +0000 | ||
1149 | |||
1150 | upstream: Add support for FIDO webauthn (verification only). | ||
1151 | |||
1152 | webauthn is a standard for using FIDO keys in web browsers. webauthn | ||
1153 | signatures are a slightly different format to plain FIDO signatures - this | ||
1154 | support allows verification of these. Feedback and ok markus@ | ||
1155 | |||
1156 | OpenBSD-Commit-ID: ab7e3a9fb5782d99d574f408614d833379e564ad | ||
1157 | |||
1158 | commit 64bc121097f377142f1387ffb2df7592c49935af | ||
1159 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1160 | Date: Mon Jun 22 05:56:23 2020 +0000 | ||
1161 | |||
1162 | upstream: refactor ECDSA-SK verification a little ahead of adding | ||
1163 | |||
1164 | support for FIDO webauthn signature verification support; ok markus@ | ||
1165 | |||
1166 | OpenBSD-Commit-ID: c9f478fd8e0c1bd17e511ce8694f010d8e32043e | ||
1167 | |||
1168 | commit 12848191f8fe725af4485d3600e0842d92f8637f | ||
1169 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1170 | Date: Mon Jun 22 05:54:10 2020 +0000 | ||
1171 | |||
1172 | upstream: support for RFC4648 base64url encoding; ok markus | ||
1173 | |||
1174 | OpenBSD-Commit-ID: 0ef22c55e772dda05c112c88412c0797fec66eb4 | ||
1175 | |||
1176 | commit 473b4af43db12127137c7fc1a10928313f5a16d2 | ||
1177 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1178 | Date: Mon Jun 22 05:53:26 2020 +0000 | ||
1179 | |||
1180 | upstream: better terminology for permissions; feedback & ok markus@ | ||
1181 | |||
1182 | OpenBSD-Commit-ID: ff2a71803b5ea57b83cc3fa9b3be42b70e462fb9 | ||
1183 | |||
1184 | commit fc270baf264248c3ee3050b13a6c8c0919e6559f | ||
1185 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1186 | Date: Mon Jun 22 05:52:05 2020 +0000 | ||
1187 | |||
1188 | upstream: better terminology for permissions; feedback & ok markus@ | ||
1189 | |||
1190 | OpenBSD-Commit-ID: ffb220b435610741dcb4de0e7fc68cbbdc876d2c | ||
1191 | |||
1192 | commit 00531bb42f1af17ddabea59c3d9c4b0629000d27 | ||
1193 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1194 | Date: Fri Jun 19 07:21:42 2020 +0000 | ||
1195 | |||
1196 | upstream: Correct synopsis and usage for the options accepted when | ||
1197 | |||
1198 | passing a command to ssh-agent. ok jmc@ | ||
1199 | |||
1200 | OpenBSD-Commit-ID: b36f0679cb0cac0e33b361051b3406ade82ea846 | ||
1201 | |||
1202 | commit b4556c8ad7177e379f0b60305a0cd70f12180e7c | ||
1203 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1204 | Date: Fri Jun 19 19:22:00 2020 +1000 | ||
1205 | |||
1206 | Add OPENBSD ORIGINAL marker to bcrypt_pbkdf. | ||
1207 | |||
1208 | commit 1babb8bb14c423011ca34c2f563bb1c51c8fbf1d | ||
1209 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1210 | Date: Fri Jun 19 19:10:47 2020 +1000 | ||
1211 | |||
1212 | Extra brackets around sizeof() in bcrypt. | ||
1213 | |||
1214 | Prevents following warning from clang 10: | ||
1215 | bcrypt_pbkdf.c:94:40: error: expression does not compute the number of | ||
1216 | elements in this array; element type is ´uint32_tÂ[...] | ||
1217 | place parentheses around the ´sizeof(uint64_t)´ expression to | ||
1218 | silence this warning | ||
1219 | |||
1220 | commit 9e065729592633290e5ddb6852792913b2286545 | ||
1221 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1222 | Date: Fri Jun 19 18:47:56 2020 +1000 | ||
1223 | |||
1224 | Add includes.h to new test. | ||
1225 | |||
1226 | Fixes warnings eg "´bounded´ attribute directive ignor" from gcc. | ||
1227 | |||
1228 | commit e684b1ea365e070433f282a3c1dabc3e2311ce49 | ||
1229 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1230 | Date: Fri Jun 19 18:38:39 2020 +1000 | ||
1231 | |||
1232 | Skip OpenSSL specific tests w/out OpenSSL. | ||
1233 | |||
1234 | Allows unit tests to pass when configure'ed --without-openssl. | ||
1235 | |||
1236 | commit 80610e97a76407ca982e62fd051c9be03622fe7b | ||
1237 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1238 | Date: Fri Jun 19 17:15:27 2020 +1000 | ||
1239 | |||
1240 | Hook sshsig tests up to Portable Makefiles. | ||
1241 | |||
1242 | commit 5dba1fcabacaab46693338ec829b42a1293d1f52 | ||
1243 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1244 | Date: Fri Jun 19 05:07:09 2020 +0000 | ||
1245 | |||
1246 | upstream: Test that ssh-agent exits when running as as subprocess | ||
1247 | |||
1248 | of a specified command (ie "ssh-agent command"). Would have caught bz#3181. | ||
1249 | |||
1250 | OpenBSD-Regress-ID: 895b4765ba5153eefaea3160a7fe08ac0b6db8b3 | ||
1251 | |||
1252 | commit 68e8294f6b04f9590ea227e63d3e129398a49e27 | ||
1253 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1254 | Date: Fri Jun 19 04:34:21 2020 +0000 | ||
1255 | |||
1256 | upstream: run sshsig unit tests | ||
1257 | |||
1258 | OpenBSD-Regress-ID: 706ef17e2b545b64873626e0e35553da7c06052a | ||
1259 | |||
1260 | commit 5edfa1690e9a75048971fd8775f7c16d153779db | ||
1261 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1262 | Date: Fri Jun 19 04:32:09 2020 +0000 | ||
1263 | |||
1264 | upstream: basic unit test for sshsig.[ch], including FIDO keys | ||
1265 | |||
1266 | verification only so far | ||
1267 | |||
1268 | OpenBSD-Regress-ID: fb1f946c8fc59206bc6a6666e577b5d5d7e45896 | ||
1269 | |||
1270 | commit e95c0a0e964827722d29b4bc00d5c0ff4afe0ed2 | ||
1271 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1272 | Date: Fri Jun 19 03:48:49 2020 +0000 | ||
1273 | |||
1274 | upstream: basic unit test for FIDO kep parsing | ||
1275 | |||
1276 | OpenBSD-Regress-ID: 8089b88393dd916d7c95422b442a6fd4cfe00c82 | ||
1277 | |||
1278 | commit 7775819c6de3e9547ac57b87c7dd2bfd28cefcc5 | ||
1279 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1280 | Date: Thu Jun 18 23:34:19 2020 +0000 | ||
1281 | |||
1282 | upstream: check public host key matches private; ok markus@ (as | ||
1283 | |||
1284 | part of previous diff) | ||
1285 | |||
1286 | OpenBSD-Commit-ID: 65a4f66436028748b59fb88b264cb8c94ce2ba63 | ||
1287 | |||
1288 | commit c514f3c0522855b4d548286eaa113e209051a6d2 | ||
1289 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1290 | Date: Thu Jun 18 23:33:38 2020 +0000 | ||
1291 | |||
1292 | upstream: avoid spurious "Unable to load host key" message when | ||
1293 | |||
1294 | sshd can load a private key but no public counterpart; with & ok markus@ | ||
1295 | |||
1296 | OpenBSD-Commit-ID: 0713cbdf9aa1ff8ac7b1f78b09ac911af510f81b | ||
1297 | |||
1298 | commit 7fafaeb5da365f4a408fec355dac04a774f27193 | ||
1299 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1300 | Date: Fri Jun 12 05:26:37 2020 +0000 | ||
1301 | |||
1302 | upstream: correct RFC number; from HARUYAMA Seigo via GH PR191 | ||
1303 | |||
1304 | OpenBSD-Commit-ID: 8d03b6c96ca98bfbc23d3754c3c33e1fe0852e10 | ||
1305 | |||
1306 | commit 3a7f654d5bcb20df24a134b6581b0d235da4564a | ||
1307 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1308 | Date: Fri Jun 5 06:18:07 2020 +0000 | ||
1309 | |||
1310 | upstream: unbreak "sshd -ddd" - close of config passing fd happened too | ||
1311 | |||
1312 | early. ok markus@ | ||
1313 | |||
1314 | OpenBSD-Commit-ID: 49346e945c6447aca3e904e65fc400128d2f8ed0 | ||
1315 | |||
1316 | commit 3de02be39e5c0c2208d9682a3844991651620fcc | ||
1317 | Author: Andreas Schwab <schwab@suse.de> | ||
1318 | Date: Mon May 25 11:10:44 2020 +0200 | ||
1319 | |||
1320 | Add support for AUDIT_ARCH_RISCV64 | ||
1321 | |||
1322 | commit ea547eb0329c2f8da77a4ac05f6c330bd49bdaab | ||
1323 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1324 | Date: Fri Jun 5 03:25:35 2020 +0000 | ||
1325 | |||
1326 | upstream: make sshbuf_putb(b, NULL) a no-op | ||
1327 | |||
1328 | OpenBSD-Commit-ID: 976fdc99b500e347023d430df372f31c1dd128f7 | ||
1329 | |||
1330 | commit 69796297c812640415c6cea074ea61afc899cbaa | ||
1331 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1332 | Date: Fri Jun 5 03:24:36 2020 +0000 | ||
1333 | |||
1334 | upstream: make sshbuf_dump() args const | ||
1335 | |||
1336 | OpenBSD-Commit-ID: b4a5accae750875d665b862504169769bcf663bd | ||
1337 | |||
1338 | commit 670428895739d1f79894bdb2457891c3afa60a59 | ||
1339 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1340 | Date: Fri Jun 5 03:24:16 2020 +0000 | ||
1341 | |||
1342 | upstream: wrap long line | ||
1343 | |||
1344 | OpenBSD-Commit-ID: ed405a12bd27bdc9c52e169bc5ff3529b4ebbbb2 | ||
1345 | |||
1346 | commit 2f648cf222882719040906722b3593b01df4ad1a | ||
1347 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1348 | Date: Fri Jun 5 03:15:26 2020 +0000 | ||
1349 | |||
1350 | upstream: Correct historical comment: provos@ modified OpenSSH to | ||
1351 | |||
1352 | work with SSLeay (very quickly replaced by OpenSSL) not SSL in general. ok | ||
1353 | deraadt, historical context markus@ | ||
1354 | |||
1355 | OpenBSD-Commit-ID: 7209e07a2984b50411ed8ca5a4932da5030d2b90 | ||
1356 | |||
1357 | commit 56548e4efcc3e3e8093c2eba30c75b23e561b172 | ||
1358 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1359 | Date: Wed Jun 3 08:23:18 2020 +0000 | ||
1360 | |||
1361 | upstream: Import regenerated moduli file. | ||
1362 | |||
1363 | OpenBSD-Commit-ID: 52ff0e3205036147b2499889353ac082e505ea54 | ||
1364 | |||
1365 | commit 8da801f585dd9c534c0cbe487a3b1648036bf2fb | ||
1366 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1367 | Date: Fri Jun 5 13:20:10 2020 +1000 | ||
1368 | |||
1369 | Test fallthrough in OSSH_CHECK_CFLAG_COMPILE. | ||
1370 | |||
1371 | clang 10's -Wimplicit-fallthrough does not understand /* FALLTHROUGH */ | ||
1372 | comments and we don't use the __attribute__((fallthrough)) that it's | ||
1373 | looking for. This has the effect of turning off -Wimplicit-fallthrough | ||
1374 | where it does not currently help (particularly with -Werror). ok djm@ | ||
1375 | |||
1376 | commit 049297de975b92adcc2db77e3fb7046c0e3c695d | ||
1377 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1378 | Date: Wed Jun 3 08:23:18 2020 +0000 | ||
1379 | |||
1380 | upstream: Import regenerated moduli file. | ||
1381 | |||
1382 | OpenBSD-Commit-ID: 52ff0e3205036147b2499889353ac082e505ea54 | ||
1383 | |||
1384 | commit b458423a38a3140ac022ffcffcb332609faccfe3 | ||
1385 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1386 | Date: Mon Jun 1 07:11:38 2020 +0000 | ||
1387 | |||
1388 | upstream: Remove now-unused proto_spec and associated definitions. | ||
1389 | |||
1390 | ok djm@ | ||
1391 | |||
1392 | OpenBSD-Commit-ID: 2e2b18e3aa6ee22a7b69c39f2d3bd679ec35c362 | ||
1393 | |||
1394 | commit 5ad3c3a33ef038b55a14ebd31faeeec46073db2c | ||
1395 | Author: millert@openbsd.org <millert@openbsd.org> | ||
1396 | Date: Fri May 29 21:22:02 2020 +0000 | ||
1397 | |||
1398 | upstream: Fix error message on close(2) and add printf format | ||
1399 | |||
1400 | attributes. From Christos Zoulas, OK markus@ | ||
1401 | |||
1402 | OpenBSD-Commit-ID: 41523c999a9e3561fcc7082fd38ea2e0629ee07e | ||
1403 | |||
1404 | commit 712ac1efb687a945a89db6aa3e998c1a17b38653 | ||
1405 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1406 | Date: Fri May 29 11:17:56 2020 +0000 | ||
1407 | |||
1408 | upstream: Make dollar_expand variadic and pass a real va_list to | ||
1409 | |||
1410 | vdollar_percent_expand. Fixes build error on arm64 spotted by otto@. | ||
1411 | |||
1412 | OpenBSD-Commit-ID: 181910d7ae489f40ad609b4cf4a20f3d068a7279 | ||
1413 | |||
1414 | commit 837ffa9699a9cba47ae7921d2876afaccc027133 | ||
1415 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1416 | Date: Fri May 29 20:39:00 2020 +1000 | ||
1417 | |||
1418 | Omit ToS setting if we don't have IPV6_TCLASS too. | ||
1419 | |||
1420 | Fixes tests on old BSDs. | ||
1421 | |||
1422 | commit f85b118d2150847cc333895296bc230e367be6b5 | ||
1423 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1424 | Date: Fri May 29 09:02:44 2020 +0000 | ||
1425 | |||
1426 | upstream: Pass a NULL instead of zeroed out va_list from | ||
1427 | |||
1428 | dollar_expand. The original intent was in case there's some platform where | ||
1429 | va_list is not a pointer equivalent, but on i386 this chokes on the memset. | ||
1430 | This unbreaks that build, but will require further consideration. | ||
1431 | |||
1432 | OpenBSD-Commit-ID: 7b90afcd8e1137a1d863204060052aef415baaf7 | ||
1433 | |||
1434 | commit ec1d50b01c84ff667240ed525f669454c4ebc8e9 | ||
1435 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
1436 | Date: Fri May 29 05:48:39 2020 +0000 | ||
1437 | |||
1438 | upstream: remove a stray .El; | ||
1439 | |||
1440 | OpenBSD-Commit-ID: 58ddfe6f8a15fe10209db6664ecbe7896f1d167c | ||
1441 | |||
1442 | commit 058674a62ffe33f01d871d46e624bc2a2c22d91f | ||
1443 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1444 | Date: Fri May 29 04:32:26 2020 +0000 | ||
1445 | |||
1446 | upstream: Add regression and unit tests for ${ENV} style | ||
1447 | |||
1448 | environment variable expansion in various keywords (bz#3140). ok djm@ | ||
1449 | |||
1450 | OpenBSD-Regress-ID: 4d9ceb95d89365b7b674bc26cf064c15a5bbb197 | ||
1451 | |||
1452 | commit 0b15892fc47d6840eba1291a6be9be1a70bc8972 | ||
1453 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1454 | Date: Fri May 29 01:21:35 2020 +0000 | ||
1455 | |||
1456 | upstream: Unit test for convtime. ok djm@ | ||
1457 | |||
1458 | OpenBSD-Regress-ID: cec4239efa2fc4c7062064f07a847e1cbdbcd5dd | ||
1459 | |||
1460 | commit 188e332d1c8f9f24e5b6659e9680bf083f837df9 | ||
1461 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1462 | Date: Fri May 29 05:37:03 2020 +0000 | ||
1463 | |||
1464 | upstream: mention that wildcards are processed in lexical order; | ||
1465 | |||
1466 | bz#3165 | ||
1467 | |||
1468 | OpenBSD-Commit-ID: 8856f3d1612bd42e9ee606d89386cae456dd165c | ||
1469 | |||
1470 | commit 4a1b46e6d032608b7ec00ae51c4e25b82f460b05 | ||
1471 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1472 | Date: Fri May 29 04:25:40 2020 +0000 | ||
1473 | |||
1474 | upstream: Allow some keywords to expand shell-style ${ENV} | ||
1475 | |||
1476 | environment variables on the client side. The supported keywords are | ||
1477 | CertificateFile, ControlPath, IdentityAgent and IdentityFile, plus | ||
1478 | LocalForward and RemoteForward when used for Unix domain socket paths. This | ||
1479 | would for example allow forwarding of Unix domain socket paths that change at | ||
1480 | runtime. bz#3140, ok djm@ | ||
1481 | |||
1482 | OpenBSD-Commit-ID: a4a2e801fc2d4df2fe0e58f50d9c81b03822dffa | ||
1483 | |||
1484 | commit c9bab1d3a9e183cef3a3412f57880a0374cc8cb2 | ||
1485 | Author: Damien Miller <djm@mindrot.org> | ||
1486 | Date: Fri May 29 14:49:16 2020 +1000 | ||
4 | 1487 | ||
5 | depend | 1488 | depend |
6 | 1489 | ||
7 | commit b6d251ed9af90e16c08a72c4aac2cb8ace8f94b1 | 1490 | commit 0b0d219313bf9239ca043f20b1a095db0245588f |
1491 | Author: sobrado <sobrado@openbsd.org> | ||
1492 | Date: Thu Sep 3 23:06:28 2015 +0000 | ||
1493 | |||
1494 | partial sync of regress/netcat.c with upstream | ||
1495 | |||
1496 | synchronize synopsis and usage. | ||
1497 | |||
1498 | commit 0f04c8467f589f85a523e19fd684c4f6c4ed9482 | ||
1499 | Author: chl <chl@openbsd.org> | ||
1500 | Date: Sun Jul 26 19:12:28 2015 +0000 | ||
1501 | |||
1502 | partial sync of regress/netcat.c with upstream | ||
1503 | |||
1504 | remove unused variable | ||
1505 | |||
1506 | ok tedu@ | ||
1507 | |||
1508 | commit d6a81050ace2630b06c3c6dd39bb4eef5d1043f8 | ||
1509 | Author: tobias <tobias@openbsd.org> | ||
1510 | Date: Thu Mar 26 21:22:50 2015 +0000 | ||
1511 | |||
1512 | partial sync of regress/netcat.c with upstream | ||
1513 | |||
1514 | The code in socks.c writes multiple times in a row to a socket. If the socket becomes invalid between these calls (e.g. connection closed), write will throw SIGPIPE. With this patch, SIGPIPE is ignored so we can handle write's -1 return value (errno will be EPIPE). Ultimately, it leads to program exit, too -- but with nicer error message. :) | ||
1515 | |||
1516 | with input by and ok djm | ||
1517 | |||
1518 | commit bf3893dddd35e16def04bf48ed2ee1ad695b8f82 | ||
1519 | Author: tobias <tobias@openbsd.org> | ||
1520 | Date: Thu Mar 26 10:36:03 2015 +0000 | ||
1521 | |||
1522 | partial sync of regress/netcat.c with upstream | ||
1523 | |||
1524 | Check for short writes in fdpass(). Clean up while at it. | ||
1525 | |||
1526 | ok djm | ||
1527 | |||
1528 | commit e18435fec124b4c08eb6bbbbee9693dc04f4befb | ||
1529 | Author: jca <jca@openbsd.org> | ||
1530 | Date: Sat Feb 14 22:40:22 2015 +0000 | ||
1531 | |||
1532 | partial sync of regress/netcat.c with upstream | ||
1533 | |||
1534 | Support for nc -T on IPv6 addresses. | ||
1535 | |||
1536 | ok sthen@ | ||
1537 | |||
1538 | commit 4c607244054a036ad3b2449a6cb4c15feb846a76 | ||
1539 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1540 | Date: Fri May 29 03:14:02 2020 +0000 | ||
1541 | |||
1542 | upstream: fix compilation on !HAVE_DLOPEN platforms; stub function | ||
1543 | |||
1544 | was not updated to match API change. From Dale Rahn via beck@ ok markus@ | ||
1545 | |||
1546 | OpenBSD-Commit-ID: 2b8d054afe34c9ac85e417dae702ef981917b836 | ||
1547 | |||
1548 | commit 224418cf55611869a4ace1b8b07bba0dff77a9c3 | ||
1549 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1550 | Date: Fri May 29 03:11:54 2020 +0000 | ||
1551 | |||
1552 | upstream: fix exit status for downloading of FIDO resident keys; | ||
1553 | |||
1554 | from Pedro Martelletto, ok markus@ | ||
1555 | |||
1556 | OpenBSD-Commit-ID: 0da77dc24a1084798eedd83c39a002a9d231faef | ||
1557 | |||
1558 | commit 1001dd148ed7c57bccf56afb40cb77482ea343a6 | ||
1559 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
1560 | Date: Fri May 29 01:20:46 2020 +0000 | ||
1561 | |||
1562 | upstream: Fix multiplier in convtime when handling seconds after | ||
1563 | |||
1564 | other units. bz#3171, spotted by ronf at timeheart.net, ok djm@. | ||
1565 | |||
1566 | OpenBSD-Commit-ID: 95b7a848e1083974a65fbb6ccb381d438e1dd5be | ||
1567 | |||
1568 | commit 7af1e92cd289b7eaa9a683e9a6f2fddd98f37a01 | ||
1569 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1570 | Date: Wed May 27 22:37:53 2020 +0000 | ||
1571 | |||
1572 | upstream: fix Include before Match in sshd_config; bz#3122 patch | ||
1573 | |||
1574 | from Jakub Jelen | ||
1575 | |||
1576 | OpenBSD-Commit-ID: 1b0aaf135fe6732b5d326946042665dd3beba5f4 | ||
1577 | |||
1578 | commit 0a9a611619b0a1fecd0195ec86a9885f5d681c84 | ||
1579 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1580 | Date: Wed May 27 21:59:11 2020 +0000 | ||
1581 | |||
1582 | upstream: Do not call process_queued_listen_addrs() for every | ||
1583 | |||
1584 | included file from sshd_config; patch from Jakub Jelen | ||
1585 | |||
1586 | OpenBSD-Commit-ID: 0ff603d6f06a7fab4881f12503b53024799d0a49 | ||
1587 | |||
1588 | commit 16ea1fdbe736648f79a827219134331f8d9844fb | ||
1589 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1590 | Date: Wed May 27 21:25:18 2020 +0000 | ||
1591 | |||
1592 | upstream: fix crash in recallocarray when deleting SendEnv | ||
1593 | |||
1594 | variables; spotted by & ok sthen@ | ||
1595 | |||
1596 | OpenBSD-Commit-ID: b881e8e849edeec5082b5c0a87d8d7cff091a8fd | ||
1597 | |||
1598 | commit 47adfdc07f4f8ea0064a1495500244de08d311ed | ||
1599 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1600 | Date: Wed May 27 22:35:19 2020 +0000 | ||
1601 | |||
1602 | upstream: two new tests for Include in sshd_config, checking whether | ||
1603 | |||
1604 | Port directives are processed correctly and handling of Include directives | ||
1605 | that appear before Match. Both tests currently fail. bz#3122 and bz#3169 - | ||
1606 | patch from Jakub Jelen | ||
1607 | |||
1608 | OpenBSD-Regress-ID: 8ad5a4a385a63f0a1c59c59c763ff029b45715df | ||
1609 | |||
1610 | commit 47faad8f794516c33864d866aa1b55d88416f94c | ||
1611 | Author: Darren Tucker <dtucker@dtucker.net> | ||
1612 | Date: Wed May 27 23:26:23 2020 +1000 | ||
1613 | |||
1614 | Document that libfido2 >= 1.4.0 is needed. | ||
1615 | |||
1616 | commit 4be563994c0cbe9856e7dd3078909f41beae4a9c | ||
1617 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1618 | Date: Tue May 26 01:59:46 2020 +0000 | ||
1619 | |||
1620 | upstream: fix memleak of signature; from Pedro Martelletto | ||
1621 | |||
1622 | OpenBSD-Commit-ID: d0a6eb07e77c001427d738b220dd024ddc64b2bb | ||
1623 | |||
1624 | commit 0c111eb84efba7c2a38b2cc3278901a0123161b9 | ||
1625 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1626 | Date: Tue May 26 01:26:58 2020 +0000 | ||
1627 | |||
1628 | upstream: Restrict ssh-agent from signing web challenges for FIDO | ||
1629 | |||
1630 | keys. | ||
1631 | |||
1632 | When signing messages in ssh-agent using a FIDO key that has an | ||
1633 | application string that does not start with "ssh:", ensure that the | ||
1634 | message being signed is one of the forms expected for the SSH protocol | ||
1635 | (currently pubkey authentication and sshsig signatures). | ||
1636 | |||
1637 | This prevents ssh-agent forwarding on a host that has FIDO keys | ||
1638 | attached granting the ability for the remote side to sign challenges | ||
1639 | for web authentication using those keys too. | ||
1640 | |||
1641 | Note that the converse case of web browsers signing SSH challenges is | ||
1642 | already precluded because no web RP can have the "ssh:" prefix in the | ||
1643 | application string that we require. | ||
1644 | |||
1645 | ok markus@ | ||
1646 | |||
1647 | OpenBSD-Commit-ID: 9ab6012574ed0352d2f097d307f4a988222d1b19 | ||
1648 | |||
1649 | commit 9c5f64b6cb3a68b99915202d318b842c6c76cf14 | ||
1650 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1651 | Date: Tue May 26 01:09:05 2020 +0000 | ||
1652 | |||
1653 | upstream: improve logging for MaxStartups connection throttling: | ||
1654 | |||
1655 | have sshd log when it starts and stops throttling and periodically while in | ||
1656 | this state. bz#3055 ok markus@ | ||
1657 | |||
1658 | OpenBSD-Commit-ID: 2e07a09a62ab45d790d3d2d714f8cc09a9ac7ab9 | ||
1659 | |||
1660 | commit 756c6f66aee83a5862a6f936a316f761532f3320 | ||
1661 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1662 | Date: Tue May 26 01:06:52 2020 +0000 | ||
1663 | |||
1664 | upstream: add fmt_timeframe() (from bgpd) to format a time | ||
1665 | |||
1666 | interval in a human- friendly format. Switch copyright for this file from BSD | ||
1667 | to MIT to make it easier to add Henning's copyright for this function. ok | ||
1668 | markus@ | ||
1669 | |||
1670 | OpenBSD-Commit-ID: 414a831c662df7e68893e5233e86f2cac081ccf9 | ||
1671 | |||
1672 | commit 2a63ce5cd6d0e782783bf721462239b03757dd49 | ||
8 | Author: djm@openbsd.org <djm@openbsd.org> | 1673 | Author: djm@openbsd.org <djm@openbsd.org> |
9 | Date: Mon May 18 04:29:35 2020 +0000 | 1674 | Date: Mon May 18 04:29:35 2020 +0000 |
10 | 1675 | ||
@@ -12,6 +1677,117 @@ Date: Mon May 18 04:29:35 2020 +0000 | |||
12 | 1677 | ||
13 | OpenBSD-Commit-ID: e6099c3fbb70aa67eb106e84d8b43f1fa919b721 | 1678 | OpenBSD-Commit-ID: e6099c3fbb70aa67eb106e84d8b43f1fa919b721 |
14 | 1679 | ||
1680 | commit 4b307faf2fb0e63e51a550b37652f7f972df9676 | ||
1681 | Author: markus@openbsd.org <markus@openbsd.org> | ||
1682 | Date: Fri May 15 08:34:03 2020 +0000 | ||
1683 | |||
1684 | upstream: sshd listener must not block if reexecd sshd exits | ||
1685 | |||
1686 | in write(2) on config_s[0] if the forked child exits early before finishing | ||
1687 | recv_rexec_state (e.g. with fatal()) because config_s[1] stays open in the | ||
1688 | parent. this prevents the parent from accepting new connections. ok djm, | ||
1689 | deraadt | ||
1690 | |||
1691 | OpenBSD-Commit-ID: 92ccfeb939ccd55bda914dc3fe84582158c4a9ef | ||
1692 | |||
1693 | commit af8b16fb2cce880341c0ee570ceb0d84104bdcc0 | ||
1694 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1695 | Date: Fri May 15 03:57:33 2020 +0000 | ||
1696 | |||
1697 | upstream: fix off-by-one error that caused sftp downloads to make | ||
1698 | |||
1699 | one more concurrent request that desired. This prevented using sftp(1) in | ||
1700 | unpipelined request/response mode, which is useful when debugging. Patch from | ||
1701 | Stephen Goetze in bz#3054 | ||
1702 | |||
1703 | OpenBSD-Commit-ID: 41b394ebe57037dbc43bdd0eef21ff0511191f28 | ||
1704 | |||
1705 | commit d7d753e2979f2d3c904b03a08d30856cd2a6e892 | ||
1706 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
1707 | Date: Wed May 13 22:38:41 2020 +0000 | ||
1708 | |||
1709 | upstream: we are still aiming for pre-C99 ... | ||
1710 | |||
1711 | OpenBSD-Commit-ID: a240fc9cbe60bc4e6c3d24d022eb4ab01fe1cb38 | ||
1712 | |||
1713 | commit 2ad7b7e46408dbebf2a4efc4efd75a9544197d57 | ||
1714 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1715 | Date: Wed May 13 10:08:02 2020 +0000 | ||
1716 | |||
1717 | upstream: Enable credProtect extension when generating a resident | ||
1718 | |||
1719 | key. | ||
1720 | |||
1721 | The FIDO 2.1 Client to Authenticator Protocol introduced a "credProtect" | ||
1722 | feature to better protect resident keys. This option allows (amone other | ||
1723 | possibilities) requiring a PIN prior to all operations that may retrieve | ||
1724 | the key handle. | ||
1725 | |||
1726 | Patch by Pedro Martelletto; ok djm and markus | ||
1727 | |||
1728 | OpenBSD-Commit-ID: 013bc06a577dcaa66be3913b7f183eb8cad87e73 | ||
1729 | |||
1730 | commit 1e70dc3285fc9b4f6454975acb81e8702c23dd89 | ||
1731 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1732 | Date: Wed May 13 09:57:17 2020 +0000 | ||
1733 | |||
1734 | upstream: always call fido_init(); previous behaviour only called | ||
1735 | |||
1736 | fido_init() when SK_DEBUG was defined. Harmless with current libfido2, but | ||
1737 | this isn't guaranteed in the future. | ||
1738 | |||
1739 | OpenBSD-Commit-ID: c7ea20ff2bcd98dd12015d748d3672d4f01f0864 | ||
1740 | |||
1741 | commit f2d84f1b3fa68d77c99238d4c645d0266fae2a74 | ||
1742 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1743 | Date: Wed May 13 09:55:57 2020 +0000 | ||
1744 | |||
1745 | upstream: preserve group/world read permission on known_hosts | ||
1746 | |||
1747 | file across runs of "ssh-keygen -Rf /path". The old behaviour was to remove | ||
1748 | all rights for group/other. bz#3146 ok dtucker@ | ||
1749 | |||
1750 | OpenBSD-Commit-ID: dc369d0e0b5dd826430c63fd5f4b269953448a8a | ||
1751 | |||
1752 | commit 05a651400da6fbe12296c34e3d3bcf09f034fbbf | ||
1753 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1754 | Date: Wed May 13 09:52:41 2020 +0000 | ||
1755 | |||
1756 | upstream: when ordering the hostkey algorithms to request from a | ||
1757 | |||
1758 | server, prefer certificate types if the known_hosts files contain a key | ||
1759 | marked as a @cert-authority; bz#3157 ok markus@ | ||
1760 | |||
1761 | OpenBSD-Commit-ID: 8f194573e5bb7c01b69bbfaabc68f27c9fa5e0db | ||
1762 | |||
1763 | commit 829451815ec207e14bd54ff5cf7e22046816f042 | ||
1764 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1765 | Date: Tue May 12 01:41:32 2020 +0000 | ||
1766 | |||
1767 | upstream: fix non-ASCII quote that snuck in; spotted by Gabriel | ||
1768 | |||
1769 | Kihlman | ||
1770 | |||
1771 | OpenBSD-Commit-ID: 04bcde311de2325d9e45730c744c8de079b49800 | ||
1772 | |||
1773 | commit 5a442cec92c0efd6fffb4af84bf99c70af248ef3 | ||
1774 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1775 | Date: Mon May 11 02:11:29 2020 +0000 | ||
1776 | |||
1777 | upstream: clarify role of FIDO tokens in multi-factor | ||
1778 | |||
1779 | authentictation; mostly from Pedro Martelletto | ||
1780 | |||
1781 | OpenBSD-Commit-ID: fbe05685a1f99c74b1baca7130c5a03c2df7c0ac | ||
1782 | |||
1783 | commit ecb2c02d994b3e21994f31a70ff911667c262f1f | ||
1784 | Author: djm@openbsd.org <djm@openbsd.org> | ||
1785 | Date: Fri May 8 05:13:14 2020 +0000 | ||
1786 | |||
1787 | upstream: fix compilation with DEBUG_KEXDH; bz#3160 ok dtucker@ | ||
1788 | |||
1789 | OpenBSD-Commit-ID: 832e771948fb45f2270e8b8895aac36d176ba17a | ||
1790 | |||
15 | commit 3ab6fccc3935e9b778ff52f9c8d40f215d58e01d | 1791 | commit 3ab6fccc3935e9b778ff52f9c8d40f215d58e01d |
16 | Author: Damien Miller <djm@mindrot.org> | 1792 | Author: Damien Miller <djm@mindrot.org> |
17 | Date: Thu May 14 12:22:09 2020 +1000 | 1793 | Date: Thu May 14 12:22:09 2020 +1000 |
@@ -10714,1964 +12490,3 @@ Date: Tue Oct 2 12:40:07 2018 +0000 | |||
10714 | ok markus@ dtucker@ | 12490 | ok markus@ dtucker@ |
10715 | 12491 | ||
10716 | OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3 | 12492 | OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3 |
10717 | |||
10718 | commit dba50258333f2604a87848762af07ba2cc40407a | ||
10719 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10720 | Date: Wed Sep 26 07:32:44 2018 +0000 | ||
10721 | |||
10722 | upstream: remove big ugly TODO comment from start of file. Some of | ||
10723 | |||
10724 | the mentioned tasks are obsolete and, of the remainder, most are already | ||
10725 | captured in PROTOCOL.mux where they better belong | ||
10726 | |||
10727 | OpenBSD-Commit-ID: 16d9d76dee42a5bb651c9d6740f7f0ef68aeb407 | ||
10728 | |||
10729 | commit 92b61a38ee9b765f5049f03cd1143e13f3878905 | ||
10730 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10731 | Date: Wed Sep 26 07:30:05 2018 +0000 | ||
10732 | |||
10733 | upstream: Document mux proxy mode; added by Markus in openssh-7.4 | ||
10734 | |||
10735 | Also add a little bit of information about the overall packet format | ||
10736 | |||
10737 | OpenBSD-Commit-ID: bdb6f6ea8580ef96792e270cae7857786ad84a95 | ||
10738 | |||
10739 | commit 9d883a1ce4f89b175fd77405ff32674620703fb2 | ||
10740 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10741 | Date: Wed Sep 26 01:48:57 2018 +0000 | ||
10742 | |||
10743 | upstream: s/process_mux_master/mux_master_process/ in mux master | ||
10744 | |||
10745 | function names, | ||
10746 | |||
10747 | Gives better symmetry with the existing mux_client_*() names and makes | ||
10748 | it more obvious when a message comes from the master vs client (they | ||
10749 | are interleved in ControlMaster=auto mode). | ||
10750 | |||
10751 | no functional change beyond prefixing a could of log messages with | ||
10752 | __func__ where they were previously lacking. | ||
10753 | |||
10754 | OpenBSD-Commit-ID: b01f7c3fdf92692e1713a822a89dc499333daf75 | ||
10755 | |||
10756 | commit c2fa53cd6462da82d3a851dc3a4a3f6b920337c8 | ||
10757 | Author: Darren Tucker <dtucker@dtucker.net> | ||
10758 | Date: Sat Sep 22 14:41:24 2018 +1000 | ||
10759 | |||
10760 | Remove unused variable in _ssh_compat_fflush. | ||
10761 | |||
10762 | commit d1b3540c21212624af907488960d703c7d987b42 | ||
10763 | Author: Darren Tucker <dtucker@dtucker.net> | ||
10764 | Date: Thu Sep 20 18:08:43 2018 +1000 | ||
10765 | |||
10766 | Import updated moduli. | ||
10767 | |||
10768 | commit b5e412a8993ad17b9e1141c78408df15d3d987e1 | ||
10769 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10770 | Date: Fri Sep 21 12:46:22 2018 +0000 | ||
10771 | |||
10772 | upstream: Allow ssh_config ForwardX11Timeout=0 to disable the | ||
10773 | |||
10774 | timeout and allow X11 connections in untrusted mode indefinitely. ok dtucker@ | ||
10775 | |||
10776 | OpenBSD-Commit-ID: ea1ceed3f540b48e5803f933e59a03b20db10c69 | ||
10777 | |||
10778 | commit cb24d9fcc901429d77211f274031653476864ec6 | ||
10779 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10780 | Date: Fri Sep 21 12:23:17 2018 +0000 | ||
10781 | |||
10782 | upstream: when compiled with GSSAPI support, cache supported method | ||
10783 | |||
10784 | OIDs by calling ssh_gssapi_prepare_supported_oids() regardless of whether | ||
10785 | GSSAPI authentication is enabled in the main config. | ||
10786 | |||
10787 | This avoids sandbox violations for configurations that enable GSSAPI | ||
10788 | auth later, e.g. | ||
10789 | |||
10790 | Match user djm | ||
10791 | GSSAPIAuthentication yes | ||
10792 | |||
10793 | bz#2107; ok dtucker@ | ||
10794 | |||
10795 | OpenBSD-Commit-ID: a5dd42d87c74e27cfb712b15b0f97ab20e0afd1d | ||
10796 | |||
10797 | commit bbc8af72ba68da014d4de6e21a85eb5123384226 | ||
10798 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10799 | Date: Fri Sep 21 12:20:12 2018 +0000 | ||
10800 | |||
10801 | upstream: In sshkey_in_file(), ignore keys that are considered for | ||
10802 | |||
10803 | being too short (i.e. SSH_ERR_KEY_LENGTH). These keys will not be considered | ||
10804 | to be "in the file". This allows key revocation lists to contain short keys | ||
10805 | without the entire revocation list being considered invalid. | ||
10806 | |||
10807 | bz#2897; ok dtucker | ||
10808 | |||
10809 | OpenBSD-Commit-ID: d9f3d857d07194a42ad7e62889a74dc3f9d9924b | ||
10810 | |||
10811 | commit 383a33d160cefbfd1b40fef81f72eadbf9303a66 | ||
10812 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10813 | Date: Fri Sep 21 03:11:36 2018 +0000 | ||
10814 | |||
10815 | upstream: Treat connections with ProxyJump specified the same as ones | ||
10816 | |||
10817 | with a ProxyCommand set with regards to hostname canonicalisation (i.e. don't | ||
10818 | try to canonicalise the hostname unless CanonicalizeHostname is set to | ||
10819 | 'always'). | ||
10820 | |||
10821 | Patch from Sven Wegener via bz#2896 | ||
10822 | |||
10823 | OpenBSD-Commit-ID: 527ff501cf98bf65fb4b29ed0cb847dda10f4d37 | ||
10824 | |||
10825 | commit 0cbed248ed81584129b67c348dbb801660f25a6a | ||
10826 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10827 | Date: Thu Sep 20 23:40:16 2018 +0000 | ||
10828 | |||
10829 | upstream: actually make CASignatureAlgorithms available as a config | ||
10830 | |||
10831 | option | ||
10832 | |||
10833 | OpenBSD-Commit-ID: 93fa7ff58314ed7b1ab7744090a6a91232e6ae52 | ||
10834 | |||
10835 | commit 62528870c0ec48cd86a37dd7320fb85886c3e6ee | ||
10836 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
10837 | Date: Thu Sep 20 08:07:03 2018 +0000 | ||
10838 | |||
10839 | upstream: Import updated moduli. | ||
10840 | |||
10841 | OpenBSD-Commit-ID: 04431e8e7872f49a2129bf080a6b73c19d576d40 | ||
10842 | |||
10843 | commit e6933a2ffa0659d57f3c7b7c457b2c62b2a84613 | ||
10844 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
10845 | Date: Thu Sep 20 06:58:48 2018 +0000 | ||
10846 | |||
10847 | upstream: reorder CASignatureAlgorithms, and add them to the | ||
10848 | |||
10849 | various -o lists; ok djm | ||
10850 | |||
10851 | OpenBSD-Commit-ID: ecb88baecc3c54988b4d1654446ea033da359288 | ||
10852 | |||
10853 | commit aa083aa9624ea7b764d5a81c4c676719a1a3e42b | ||
10854 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10855 | Date: Thu Sep 20 03:31:49 2018 +0000 | ||
10856 | |||
10857 | upstream: fix "ssh -Q sig" to show correct signature algorithm list | ||
10858 | |||
10859 | (it was erroneously showing certificate algorithms); prompted by markus@ | ||
10860 | |||
10861 | OpenBSD-Commit-ID: 1cdee002f2f0c21456979deeb887fc889afb154d | ||
10862 | |||
10863 | commit ecac7e1f7add6b28874959a11f2238d149dc2c07 | ||
10864 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10865 | Date: Thu Sep 20 03:30:44 2018 +0000 | ||
10866 | |||
10867 | upstream: add CASignatureAlgorithms option for the client, allowing | ||
10868 | |||
10869 | it to specify which signature algorithms may be used by CAs when signing | ||
10870 | certificates. Useful if you want to ban RSA/SHA1; ok markus@ | ||
10871 | |||
10872 | OpenBSD-Commit-ID: 9159e5e9f67504829bf53ff222057307a6e3230f | ||
10873 | |||
10874 | commit 86e5737c39153af134158f24d0cab5827cbd5852 | ||
10875 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10876 | Date: Thu Sep 20 03:28:06 2018 +0000 | ||
10877 | |||
10878 | upstream: Add sshd_config CASignatureAlgorithms option to allow | ||
10879 | |||
10880 | control over which signature algorithms a CA may use when signing | ||
10881 | certificates. In particular, this allows a sshd to ban certificates signed | ||
10882 | with RSA/SHA1. | ||
10883 | |||
10884 | ok markus@ | ||
10885 | |||
10886 | OpenBSD-Commit-ID: b05c86ef8b52b913ed48d54a9b9c1a7714d96bac | ||
10887 | |||
10888 | commit f80e68ea7d62e2dfafc12f1a60ab544ae4033a0f | ||
10889 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10890 | Date: Wed Sep 19 02:03:02 2018 +0000 | ||
10891 | |||
10892 | upstream: Make "ssh-add -q" do what it says on the tin: silence | ||
10893 | |||
10894 | output from successful operations. | ||
10895 | |||
10896 | Based on patch from Thijs van Dijk; ok dtucker@ deraadt@ | ||
10897 | |||
10898 | OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1 | ||
10899 | |||
10900 | commit 5e532320e9e51de720d5f3cc2596e95d29f6e98f | ||
10901 | Author: millert@openbsd.org <millert@openbsd.org> | ||
10902 | Date: Mon Sep 17 15:40:14 2018 +0000 | ||
10903 | |||
10904 | upstream: When choosing a prime from the moduli file, avoid | ||
10905 | |||
10906 | re-using the linenum variable for something that is not a line number to | ||
10907 | avoid the confusion that resulted in the bug in rev. 1.64. This also lets us | ||
10908 | pass the actual linenum to parse_prime() so the error messages include the | ||
10909 | correct line number. OK markus@ some time ago. | ||
10910 | |||
10911 | OpenBSD-Commit-ID: 4d8e5d3e924d6e8eb70053e3defa23c151a00084 | ||
10912 | |||
10913 | commit cce8cbe0ed7d1ba3a575310e0b63c193326ae616 | ||
10914 | Author: Darren Tucker <dtucker@dtucker.net> | ||
10915 | Date: Sat Sep 15 19:44:06 2018 +1000 | ||
10916 | |||
10917 | Fix openssl-1.1 fallout for --without-openssl. | ||
10918 | |||
10919 | ok djm@ | ||
10920 | |||
10921 | commit 149519b9f201dac755f3cba4789f4d76fecf0ee1 | ||
10922 | Author: Damien Miller <djm@mindrot.org> | ||
10923 | Date: Sat Sep 15 19:37:48 2018 +1000 | ||
10924 | |||
10925 | add futex(2) syscall to seccomp sandbox | ||
10926 | |||
10927 | Apparently needed for some glibc/openssl combinations. | ||
10928 | |||
10929 | Patch from Arkadiusz Miśkiewicz | ||
10930 | |||
10931 | commit 4488ae1a6940af704c4dbf70f55bf2f756a16536 | ||
10932 | Author: Damien Miller <djm@mindrot.org> | ||
10933 | Date: Sat Sep 15 19:36:55 2018 +1000 | ||
10934 | |||
10935 | really add source for authopt_fuzz this time | ||
10936 | |||
10937 | commit 9201784b4a257c8345fbd740bcbdd70054885707 | ||
10938 | Author: Damien Miller <djm@mindrot.org> | ||
10939 | Date: Sat Sep 15 19:35:40 2018 +1000 | ||
10940 | |||
10941 | remove accidentally checked-in authopt_fuzz binary | ||
10942 | |||
10943 | commit beb9e522dc7717df08179f9e59f36b361bfa14ab | ||
10944 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10945 | Date: Fri Sep 14 05:26:27 2018 +0000 | ||
10946 | |||
10947 | upstream: second try, deals properly with missing and private-only | ||
10948 | |||
10949 | Use consistent format in debug log for keys readied, offered and | ||
10950 | received during public key authentication. | ||
10951 | |||
10952 | This makes it a little easier to see what is going on, as each message | ||
10953 | now contains (where available) the key filename, its type and fingerprint, | ||
10954 | and whether the key is hosted in an agent or a token. | ||
10955 | |||
10956 | OpenBSD-Commit-ID: f1c6a8e9cfc4e108c359db77f24f9a40e1e25ea7 | ||
10957 | |||
10958 | commit 6bc5a24ac867bfdc3ed615589d69ac640f51674b | ||
10959 | Author: Damien Miller <djm@mindrot.org> | ||
10960 | Date: Fri Sep 14 15:16:34 2018 +1000 | ||
10961 | |||
10962 | fuzzer harness for authorized_keys option parsing | ||
10963 | |||
10964 | commit 6c8b82fc6929b6a9a3f645151b6ec26c5507d9ef | ||
10965 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10966 | Date: Fri Sep 14 04:44:04 2018 +0000 | ||
10967 | |||
10968 | upstream: revert following; deals badly with agent keys | ||
10969 | |||
10970 | revision 1.285 | ||
10971 | date: 2018/09/14 04:17:12; author: djm; state: Exp; lines: +47 -26; commitid: lflGFcNb2X2HebaK; | ||
10972 | Use consistent format in debug log for keys readied, offered and | ||
10973 | received during public key authentication. | ||
10974 | |||
10975 | This makes it a little easier to see what is going on, as each message | ||
10976 | now contains the key filename, its type and fingerprint, and whether | ||
10977 | the key is hosted in an agent or a token. | ||
10978 | |||
10979 | OpenBSD-Commit-ID: e496bd004e452d4b051f33ed9ae6a54ab918f56d | ||
10980 | |||
10981 | commit 6da046f9c3374ce7e269ded15d8ff8bc45017301 | ||
10982 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10983 | Date: Fri Sep 14 04:17:44 2018 +0000 | ||
10984 | |||
10985 | upstream: garbage-collect moribund ssh_new_private() API. | ||
10986 | |||
10987 | OpenBSD-Commit-ID: 7c05bf13b094093dfa01848a9306c82eb6e95f6c | ||
10988 | |||
10989 | commit 1f24ac5fc05252ceb1c1d0e8cab6a283b883c780 | ||
10990 | Author: djm@openbsd.org <djm@openbsd.org> | ||
10991 | Date: Fri Sep 14 04:17:12 2018 +0000 | ||
10992 | |||
10993 | upstream: Use consistent format in debug log for keys readied, | ||
10994 | |||
10995 | offered and received during public key authentication. | ||
10996 | |||
10997 | This makes it a little easier to see what is going on, as each message | ||
10998 | now contains the key filename, its type and fingerprint, and whether | ||
10999 | the key is hosted in an agent or a token. | ||
11000 | |||
11001 | OpenBSD-Commit-ID: 2a01d59285a8a7e01185bb0a43316084b4f06a1f | ||
11002 | |||
11003 | commit 488c9325bb7233e975dbfbf89fa055edc3d3eddc | ||
11004 | Author: millert@openbsd.org <millert@openbsd.org> | ||
11005 | Date: Thu Sep 13 15:23:32 2018 +0000 | ||
11006 | |||
11007 | upstream: Fix warnings caused by user_from_uid() and group_from_gid() | ||
11008 | |||
11009 | now returning const char *. | ||
11010 | |||
11011 | OpenBSD-Commit-ID: b5fe571ea77cfa7b9035062829ab05eb87d7cc6f | ||
11012 | |||
11013 | commit 0aa1f230846ebce698e52051a107f3127024a05a | ||
11014 | Author: Damien Miller <djm@mindrot.org> | ||
11015 | Date: Fri Sep 14 10:31:47 2018 +1000 | ||
11016 | |||
11017 | allow SIGUSR1 as synonym for SIGINFO | ||
11018 | |||
11019 | Lets users on those unfortunate operating systems that lack SIGINFO | ||
11020 | still be able to obtain progress information from unit tests :) | ||
11021 | |||
11022 | commit d64e78526596f098096113fcf148216798c327ff | ||
11023 | Author: Damien Miller <djm@mindrot.org> | ||
11024 | Date: Thu Sep 13 19:05:48 2018 +1000 | ||
11025 | |||
11026 | add compat header | ||
11027 | |||
11028 | commit a3fd8074e2e2f06602e25618721f9556c731312c | ||
11029 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11030 | Date: Thu Sep 13 09:03:20 2018 +0000 | ||
11031 | |||
11032 | upstream: missed a bit of openssl-1.0.x API in this unittest | ||
11033 | |||
11034 | OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9 | ||
11035 | |||
11036 | commit 86e0a9f3d249d5580390daf58e015e68b01cef10 | ||
11037 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11038 | Date: Thu Sep 13 05:06:51 2018 +0000 | ||
11039 | |||
11040 | upstream: use only openssl-1.1.x API here too | ||
11041 | |||
11042 | OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f | ||
11043 | |||
11044 | commit 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc | ||
11045 | Author: Damien Miller <djm@mindrot.org> | ||
11046 | Date: Thu Sep 13 12:13:50 2018 +1000 | ||
11047 | |||
11048 | adapt -portable to OpenSSL 1.1x API | ||
11049 | |||
11050 | Polyfill missing API with replacement functions extracted from LibreSSL | ||
11051 | |||
11052 | commit 86112951d63d48839f035b5795be62635a463f99 | ||
11053 | Author: Damien Miller <djm@mindrot.org> | ||
11054 | Date: Thu Sep 13 12:12:42 2018 +1000 | ||
11055 | |||
11056 | forgot to stage these test files in commit d70d061 | ||
11057 | |||
11058 | commit 482d23bcacdd3664f21cc82a5135f66fc598275f | ||
11059 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11060 | Date: Thu Sep 13 02:08:33 2018 +0000 | ||
11061 | |||
11062 | upstream: hold our collective noses and use the openssl-1.1.x API in | ||
11063 | |||
11064 | OpenSSH; feedback and ok tb@ jsing@ markus@ | ||
11065 | |||
11066 | OpenBSD-Commit-ID: cacbcac87ce5da0d3ca7ef1b38a6f7fb349e4417 | ||
11067 | |||
11068 | commit d70d061828730a56636ab6f1f24fe4a8ccefcfc1 | ||
11069 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11070 | Date: Wed Sep 12 01:36:45 2018 +0000 | ||
11071 | |||
11072 | upstream: Include certs with multiple RSA signature variants in | ||
11073 | |||
11074 | test data Ensure that cert->signature_key is populated correctly | ||
11075 | |||
11076 | OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a | ||
11077 | |||
11078 | commit f803b2682992cfededd40c91818b653b5d923ef5 | ||
11079 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11080 | Date: Wed Sep 12 01:23:48 2018 +0000 | ||
11081 | |||
11082 | upstream: test revocation by explicit hash and by fingerprint | ||
11083 | |||
11084 | OpenBSD-Regress-ID: 079c18a9ab9663f4af419327c759fc1e2bc78fd8 | ||
11085 | |||
11086 | commit 2de78bc7da70e1338b32feeefcc6045cf49efcd4 | ||
11087 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11088 | Date: Wed Sep 12 01:22:43 2018 +0000 | ||
11089 | |||
11090 | upstream: s/sshkey_demote/sshkey_from_private/g | ||
11091 | |||
11092 | OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4 | ||
11093 | |||
11094 | commit 41c115a5ea1cb79a6a3182773c58a23f760e8076 | ||
11095 | Author: Damien Miller <djm@mindrot.org> | ||
11096 | Date: Wed Sep 12 16:50:01 2018 +1000 | ||
11097 | |||
11098 | delete the correct thing; kexfuzz binary | ||
11099 | |||
11100 | commit f0fcd7e65087db8c2496f13ed39d772f8e38b088 | ||
11101 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11102 | Date: Wed Sep 12 06:18:59 2018 +0000 | ||
11103 | |||
11104 | upstream: fix edit mistake; spotted by jmc@ | ||
11105 | |||
11106 | OpenBSD-Commit-ID: dd724e1c52c9d6084f4cd260ec7e1b2b138261c6 | ||
11107 | |||
11108 | commit 4cc259bac699f4d2a5c52b92230f9e488c88a223 | ||
11109 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11110 | Date: Wed Sep 12 01:34:02 2018 +0000 | ||
11111 | |||
11112 | upstream: add SSH_ALLOWED_CA_SIGALGS - the default list of | ||
11113 | |||
11114 | signature algorithms that are allowed for CA signatures. Notably excludes | ||
11115 | ssh-dsa. | ||
11116 | |||
11117 | ok markus@ | ||
11118 | |||
11119 | OpenBSD-Commit-ID: 1628e4181dc8ab71909378eafe5d06159a22deb4 | ||
11120 | |||
11121 | commit ba9e788315b1f6a350f910cb2a9e95b2ce584e89 | ||
11122 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11123 | Date: Wed Sep 12 01:32:54 2018 +0000 | ||
11124 | |||
11125 | upstream: add sshkey_check_cert_sigtype() that checks a | ||
11126 | |||
11127 | cert->signature_type against a supplied whitelist; ok markus | ||
11128 | |||
11129 | OpenBSD-Commit-ID: caadb8073292ed7a9535e5adc067d11d356d9302 | ||
11130 | |||
11131 | commit a70fd4ad7bd9f2ed223ff635a3d41e483057f23b | ||
11132 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11133 | Date: Wed Sep 12 01:31:30 2018 +0000 | ||
11134 | |||
11135 | upstream: add cert->signature_type field and keep it in sync with | ||
11136 | |||
11137 | certificate signature wrt loading and certification operations; ok markus@ | ||
11138 | |||
11139 | OpenBSD-Commit-ID: e8b8b9f76b66707a0cd926109c4383db8f664df3 | ||
11140 | |||
11141 | commit 357128ac48630a9970e3af0e6ff820300a28da47 | ||
11142 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11143 | Date: Wed Sep 12 01:30:10 2018 +0000 | ||
11144 | |||
11145 | upstream: Add "ssh -Q sig" to allow listing supported signature | ||
11146 | |||
11147 | algorithms ok markus@ | ||
11148 | |||
11149 | OpenBSD-Commit-ID: 7a8c6eb6c249dc37823ba5081fce64876d10fe2b | ||
11150 | |||
11151 | commit 9405c6214f667be604a820c6823b27d0ea77937d | ||
11152 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11153 | Date: Wed Sep 12 01:21:34 2018 +0000 | ||
11154 | |||
11155 | upstream: allow key revocation by SHA256 hash and allow ssh-keygen | ||
11156 | |||
11157 | to create KRLs using SHA256/base64 key fingerprints; ok markus@ | ||
11158 | |||
11159 | OpenBSD-Commit-ID: a0590fd34e7f1141f2873ab3acc57442560e6a94 | ||
11160 | |||
11161 | commit 50e2687ee0941c0ea216d6ffea370ffd2c1f14b9 | ||
11162 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11163 | Date: Wed Sep 12 01:19:12 2018 +0000 | ||
11164 | |||
11165 | upstream: log certificate fingerprint in authentication | ||
11166 | |||
11167 | success/failure message (previously we logged only key ID and CA key | ||
11168 | fingerprint). | ||
11169 | |||
11170 | ok markus@ | ||
11171 | |||
11172 | OpenBSD-Commit-ID: a8ef2d172b7f1ddbcce26d6434b2de6d94f6c05d | ||
11173 | |||
11174 | commit de37ca909487d23e5844aca289b3f5e75d3f1e1f | ||
11175 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11176 | Date: Fri Sep 7 04:26:56 2018 +0000 | ||
11177 | |||
11178 | upstream: Add FALLTHROUGH comments where appropriate. Patch from | ||
11179 | |||
11180 | jjelen at redhat via bz#2687. | ||
11181 | |||
11182 | OpenBSD-Commit-ID: c48eb457be697a19d6d2950c6d0879f3ccc851d3 | ||
11183 | |||
11184 | commit 247766cd3111d5d8c6ea39833a3257ca8fb820f2 | ||
11185 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11186 | Date: Fri Sep 7 01:42:54 2018 +0000 | ||
11187 | |||
11188 | upstream: ssh -MM requires confirmation for all operations that | ||
11189 | |||
11190 | change the multiplexing state, not just new sessions. | ||
11191 | |||
11192 | mention that confirmation is checked via ssh-askpass | ||
11193 | |||
11194 | OpenBSD-Commit-ID: 0f1b45551ebb9cc5c9a4fe54ad3b23ce90f1f5c2 | ||
11195 | |||
11196 | commit db8bb80e3ac1bcb3e1305d846cd98c6b869bf03f | ||
11197 | Author: mestre@openbsd.org <mestre@openbsd.org> | ||
11198 | Date: Tue Aug 28 12:25:53 2018 +0000 | ||
11199 | |||
11200 | upstream: fix misplaced parenthesis inside if-clause. it's harmless | ||
11201 | |||
11202 | and the only issue is showing an unknown error (since it's not defined) | ||
11203 | during fatal(), if it ever an error occurs inside that condition. | ||
11204 | |||
11205 | OK deraadt@ markus@ djm@ | ||
11206 | |||
11207 | OpenBSD-Commit-ID: acb0a8e6936bfbe590504752d01d1d251a7101d8 | ||
11208 | |||
11209 | commit 086cc614f550b7d4f100c95e472a6b6b823938ab | ||
11210 | Author: mestre@openbsd.org <mestre@openbsd.org> | ||
11211 | Date: Tue Aug 28 12:17:45 2018 +0000 | ||
11212 | |||
11213 | upstream: fix build with DEBUG_PK enabled | ||
11214 | |||
11215 | OK dtucker@ | ||
11216 | |||
11217 | OpenBSD-Commit-ID: ec1568cf27726e9638a0415481c20c406e7b441c | ||
11218 | |||
11219 | commit 2678833013e97f8b18f09779b7f70bcbf5eb2ab2 | ||
11220 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11221 | Date: Fri Sep 7 14:41:53 2018 +1000 | ||
11222 | |||
11223 | Handle ngroups>_SC_NGROUPS_MAX. | ||
11224 | |||
11225 | Based on github pull request #99 from Darren Maffat at Oracle: Solaris' | ||
11226 | getgrouplist considers _SC_NGROUPS_MAX more of a guideline and can return | ||
11227 | a larger number of groups. In this case, retry getgrouplist with a | ||
11228 | larger array and defer allocating groups_byname. ok djm@ | ||
11229 | |||
11230 | commit 039bf2a81797b8f3af6058d34005a4896a363221 | ||
11231 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11232 | Date: Fri Sep 7 14:06:57 2018 +1000 | ||
11233 | |||
11234 | Initial len for the fmt=NULL case. | ||
11235 | |||
11236 | Patch from jjelen at redhat via bz#2687. (OpenSSH never calls | ||
11237 | setproctitle with a null format so len is always initialized). | ||
11238 | |||
11239 | commit ea9c06e11d2e8fb2f4d5e02f8a41e23d2bd31ca9 | ||
11240 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11241 | Date: Fri Sep 7 14:01:39 2018 +1000 | ||
11242 | |||
11243 | Include stdlib.h. | ||
11244 | |||
11245 | Patch from jjelen at redhat via bz#2687. | ||
11246 | |||
11247 | commit 9617816dbe73ec4d65075f4d897443f63a97c87f | ||
11248 | Author: Damien Miller <djm@mindrot.org> | ||
11249 | Date: Mon Aug 27 13:08:01 2018 +1000 | ||
11250 | |||
11251 | document some more regress control env variables | ||
11252 | |||
11253 | Specifically SKIP_UNIT, USE_VALGRING and LTESTS. Sort the list of | ||
11254 | environment variables. | ||
11255 | |||
11256 | Based on patch from Jakub Jelen | ||
11257 | |||
11258 | commit 71508e06fab14bc415a79a08f5535ad7bffa93d9 | ||
11259 | Author: Damien Miller <djm@mindrot.org> | ||
11260 | Date: Thu Aug 23 15:41:42 2018 +1000 | ||
11261 | |||
11262 | shorten temporary SSH_REGRESS_TMP path | ||
11263 | |||
11264 | Previous path was exceeding max socket length on at least one platform (OSX) | ||
11265 | |||
11266 | commit 26739cf5bdc9030a583b41ae5261dedd862060f0 | ||
11267 | Author: Damien Miller <djm@mindrot.org> | ||
11268 | Date: Thu Aug 23 13:06:02 2018 +1000 | ||
11269 | |||
11270 | rebuild dependencies | ||
11271 | |||
11272 | commit ff729025c7463cf5d0a8d1ca1823306e48c6d4cf | ||
11273 | Author: Damien Miller <djm@mindrot.org> | ||
11274 | Date: Thu Aug 23 13:03:32 2018 +1000 | ||
11275 | |||
11276 | fix path in distclean target | ||
11277 | |||
11278 | Patch from Jakub Jelen | ||
11279 | |||
11280 | commit 7fef173c28f7462dcd8ee017fdf12b5073f54c02 | ||
11281 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11282 | Date: Thu Aug 23 03:01:08 2018 +0000 | ||
11283 | |||
11284 | upstream: memleak introduced in r1.83; from Colin Watson | ||
11285 | |||
11286 | OpenBSD-Commit-ID: 5c019104c280cbd549a264a7217b67665e5732dc | ||
11287 | |||
11288 | commit b8ae02a2896778b8984c7f51566c7f0f56fa8b56 | ||
11289 | Author: schwarze@openbsd.org <schwarze@openbsd.org> | ||
11290 | Date: Tue Aug 21 13:56:27 2018 +0000 | ||
11291 | |||
11292 | upstream: AIX reports the CODESET as "ISO8859-1" in the POSIX locale. | ||
11293 | |||
11294 | Treating that as a safe encoding is OK because even when other systems return | ||
11295 | that string for real ISO8859-1, it is still safe in the sense that it is | ||
11296 | ASCII-compatible and stateless. | ||
11297 | |||
11298 | Issue reported by Val dot Baranov at duke dot edu. Additional | ||
11299 | information provided by Michael dot Felt at felt dot demon dot nl. | ||
11300 | Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1. | ||
11301 | Tweak and OK djm@. | ||
11302 | |||
11303 | OpenBSD-Commit-ID: 36f1210e0b229817d10eb490d6038f507b8256a7 | ||
11304 | |||
11305 | commit bc44ee088ad269d232e514f037c87ada4c2fd3f0 | ||
11306 | Author: Tim Rice <tim@multitalents.net> | ||
11307 | Date: Tue Aug 21 08:57:24 2018 -0700 | ||
11308 | |||
11309 | modified: openbsd-compat/port-uw.c | ||
11310 | remove obsolete and un-needed include | ||
11311 | |||
11312 | commit 829fc28a9c54e3f812ee7248c7a3e31eeb4f0b3a | ||
11313 | Author: Damien Miller <djm@mindrot.org> | ||
11314 | Date: Mon Aug 20 15:57:29 2018 +1000 | ||
11315 | |||
11316 | Missing unistd.h for regress/mkdtemp.c | ||
11317 | |||
11318 | commit c8313e492355a368a91799131520d92743d8d16c | ||
11319 | Author: Damien Miller <djm@mindrot.org> | ||
11320 | Date: Fri Aug 17 05:45:20 2018 +1000 | ||
11321 | |||
11322 | update version numbers in anticipation of release | ||
11323 | |||
11324 | commit 477b49a34b89f506f4794b35e3c70b3e2e83cd38 | ||
11325 | Author: Corinna Vinschen <vinschen@redhat.com> | ||
11326 | Date: Mon Aug 13 17:08:51 2018 +0200 | ||
11327 | |||
11328 | configure: work around GCC shortcoming on Cygwin | ||
11329 | |||
11330 | Cygwin's latest 7.x GCC allows to specify -mfunction-return=thunk | ||
11331 | as well as -mindirect-branch=thunk on the command line, albeit | ||
11332 | producing invalid code, leading to an error at link stage. | ||
11333 | |||
11334 | The check in configure.ac only checks if the option is present, | ||
11335 | but not if it produces valid code. | ||
11336 | |||
11337 | This patch fixes it by special-casing Cygwin. Another solution | ||
11338 | may be to change these to linker checks. | ||
11339 | |||
11340 | Signed-off-by: Corinna Vinschen <vinschen@redhat.com> | ||
11341 | |||
11342 | commit b0917945efa374be7648d67dbbaaff323ab39edc | ||
11343 | Author: Corinna Vinschen <vinschen@redhat.com> | ||
11344 | Date: Mon Aug 13 17:05:05 2018 +0200 | ||
11345 | |||
11346 | cygwin: add missing stdarg.h include | ||
11347 | |||
11348 | Further header file standarization in Cygwin uncovered a lazy | ||
11349 | indirect include in bsd-cygwin_util.c | ||
11350 | |||
11351 | Signed-off-by: Corinna Vinschen <vinschen@redhat.com> | ||
11352 | |||
11353 | commit c3903c38b0fd168ab3d925c2b129d1a599593426 | ||
11354 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11355 | Date: Mon Aug 13 02:41:05 2018 +0000 | ||
11356 | |||
11357 | upstream: revert compat.[ch] section of the following change. It | ||
11358 | |||
11359 | causes double-free under some circumstances. | ||
11360 | |||
11361 | -- | ||
11362 | |||
11363 | date: 2018/07/31 03:07:24; author: djm; state: Exp; lines: +33 -18; commitid: f7g4UI8eeOXReTPh; | ||
11364 | fix some memory leaks spotted by Coverity via Jakub Jelen in bz#2366 | ||
11365 | feedback and ok dtucker@ | ||
11366 | |||
11367 | OpenBSD-Commit-ID: 1e77547f60fdb5e2ffe23e2e4733c54d8d2d1137 | ||
11368 | |||
11369 | commit 1b9dd4aa15208100fbc3650f33ea052255578282 | ||
11370 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11371 | Date: Sun Aug 12 20:19:13 2018 +0000 | ||
11372 | |||
11373 | upstream: better diagnosics on alg list assembly errors; ok | ||
11374 | |||
11375 | deraadt@ markus@ | ||
11376 | |||
11377 | OpenBSD-Commit-ID: 5a557e74b839daf13cc105924d2af06a1560faee | ||
11378 | |||
11379 | commit e36a5f61b0f5bebf6d49c215d228cd99dfe86e28 | ||
11380 | Author: Damien Miller <djm@mindrot.org> | ||
11381 | Date: Sat Aug 11 18:08:45 2018 -0700 | ||
11382 | |||
11383 | Some AIX fixes; report from Michael Felt | ||
11384 | |||
11385 | commit 2f4766ceefe6657c5ad5fe92d13c411872acae0e | ||
11386 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11387 | Date: Fri Aug 10 01:35:49 2018 +0000 | ||
11388 | |||
11389 | upstream: The script that cooks up PuTTY format host keys does not | ||
11390 | |||
11391 | understand the new key format so convert back to old format to create the | ||
11392 | PuTTY key and remove it once done. | ||
11393 | |||
11394 | OpenBSD-Regress-ID: 2a449a18846c3a144bc645135b551ba6177e38d3 | ||
11395 | |||
11396 | commit e1b26ce504662a5d5b991091228984ccfd25f280 | ||
11397 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11398 | Date: Fri Aug 10 00:44:01 2018 +0000 | ||
11399 | |||
11400 | upstream: improve | ||
11401 | |||
11402 | OpenBSD-Commit-ID: 40d839db0977b4e7ac8b647b16d5411d4faf2f60 | ||
11403 | |||
11404 | commit 7c712966a3139622f7fb55045368d05de4e6782c | ||
11405 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11406 | Date: Fri Aug 10 00:42:29 2018 +0000 | ||
11407 | |||
11408 | upstream: Describe pubkey format, prompted by bz#2853 | ||
11409 | |||
11410 | While I'm here, describe and link to the remaining local PROTOCOL.* | ||
11411 | docs that weren't already mentioned (PROTOCOL.key, PROTOCOL.krl and | ||
11412 | PROTOCOL.mux) | ||
11413 | |||
11414 | OpenBSD-Commit-ID: 2a900f9b994ba4d53e7aeb467d44d75829fd1231 | ||
11415 | |||
11416 | commit ef100a2c5a8ed83afac0b8f36520815803da227a | ||
11417 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11418 | Date: Fri Aug 10 00:27:15 2018 +0000 | ||
11419 | |||
11420 | upstream: fix numbering | ||
11421 | |||
11422 | OpenBSD-Commit-ID: bc7a1764dff23fa4c5ff0e3379c9c4d5b63c9596 | ||
11423 | |||
11424 | commit ed7bd5d93fe14c7bd90febd29b858ea985d14d45 | ||
11425 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11426 | Date: Wed Aug 8 01:16:01 2018 +0000 | ||
11427 | |||
11428 | upstream: Use new private key format by default. This format is | ||
11429 | |||
11430 | suported by OpenSSH >= 6.5 (released January 2014), so it should be supported | ||
11431 | by most OpenSSH versions in active use. | ||
11432 | |||
11433 | It is possible to convert new-format private keys to the older | ||
11434 | format using "ssh-keygen -f /path/key -pm PEM". | ||
11435 | |||
11436 | ok deraadt dtucker | ||
11437 | |||
11438 | OpenBSD-Commit-ID: e3bd4f2509a2103bfa2f710733426af3ad6d8ab8 | ||
11439 | |||
11440 | commit 967226a1bdde59ea137e8f0df871854ff7b91366 | ||
11441 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11442 | Date: Sat Aug 4 00:55:06 2018 +0000 | ||
11443 | |||
11444 | upstream: invalidate dh->priv_key after freeing it in error path; | ||
11445 | |||
11446 | avoids unlikely double-free later. Reported by Viktor Dukhovni via | ||
11447 | https://github.com/openssh/openssh-portable/pull/96 feedback jsing@ tb@ | ||
11448 | |||
11449 | OpenBSD-Commit-ID: e317eb17c3e05500ae851f279ef6486f0457c805 | ||
11450 | |||
11451 | commit 74287f5df9966a0648b4a68417451dd18f079ab8 | ||
11452 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11453 | Date: Tue Jul 31 03:10:27 2018 +0000 | ||
11454 | |||
11455 | upstream: delay bailout for invalid authentic | ||
11456 | |||
11457 | =?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?= | ||
11458 | =?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?= | ||
11459 | =?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?= | ||
11460 | MIME-Version: 1.0 | ||
11461 | Content-Type: text/plain; charset=UTF-8 | ||
11462 | Content-Transfer-Encoding: 8bit | ||
11463 | |||
11464 | OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d | ||
11465 | |||
11466 | commit 1a66079c0669813306cc69e5776a4acd9fb49015 | ||
11467 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11468 | Date: Tue Jul 31 03:07:24 2018 +0000 | ||
11469 | |||
11470 | upstream: fix some memory leaks spotted by Coverity via Jakub Jelen | ||
11471 | |||
11472 | in bz#2366 feedback and ok dtucker@ | ||
11473 | |||
11474 | OpenBSD-Commit-ID: 8402bbae67d578bedbadb0ce68ff7c5a136ef563 | ||
11475 | |||
11476 | commit 87f08be054b7eeadbb9cdeb3fb4872be79ccf218 | ||
11477 | Author: Damien Miller <djm@mindrot.org> | ||
11478 | Date: Fri Jul 20 13:18:28 2018 +1000 | ||
11479 | |||
11480 | Remove support for S/Key | ||
11481 | |||
11482 | Most people will 1) be using modern multi-factor authentication methods | ||
11483 | like TOTP/OATH etc and 2) be getting support for multi-factor | ||
11484 | authentication via PAM or BSD Auth. | ||
11485 | |||
11486 | commit 5d14019ba2ff54acbfd20a6b9b96bb860a8c7c31 | ||
11487 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11488 | Date: Fri Jul 27 12:03:17 2018 +0000 | ||
11489 | |||
11490 | upstream: avoid expensive channel_open_message() calls; ok djm@ | ||
11491 | |||
11492 | OpenBSD-Commit-ID: aea3b5512ad681cd8710367d743e8a753d4425d9 | ||
11493 | |||
11494 | commit e655ee04a3cb7999dbf9641b25192353e2b69418 | ||
11495 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11496 | Date: Fri Jul 27 05:34:42 2018 +0000 | ||
11497 | |||
11498 | upstream: Now that ssh can't be setuid, remove the | ||
11499 | |||
11500 | original_real_uid and original_effective_uid globals and replace with calls | ||
11501 | to plain getuid(). ok djm@ | ||
11502 | |||
11503 | OpenBSD-Commit-ID: 92561c0cd418d34e6841e20ba09160583e27b68c | ||
11504 | |||
11505 | commit 73ddb25bae4c33a0db361ac13f2e3a60d7c6c4a5 | ||
11506 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11507 | Date: Fri Jul 27 05:13:02 2018 +0000 | ||
11508 | |||
11509 | upstream: Remove uid checks from low port binds. Now that ssh | ||
11510 | |||
11511 | cannot be setuid and sshd always has privsep on, we can remove the uid checks | ||
11512 | for low port binds and just let the system do the check. We leave a sanity | ||
11513 | check for the !privsep case so long as the code is stil there. with & ok | ||
11514 | djm@ | ||
11515 | |||
11516 | OpenBSD-Commit-ID: 9535cfdbd1cd54486fdbedfaee44ce4367ec7ca0 | ||
11517 | |||
11518 | commit c12033e102760d043bc5c98e6c8180e4d331b0df | ||
11519 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11520 | Date: Fri Jul 27 03:55:22 2018 +0000 | ||
11521 | |||
11522 | upstream: ssh(1) no longer supports being setuid root. Remove reference | ||
11523 | |||
11524 | to crc32 which went with protocol 1. Pointed out by deraadt@. | ||
11525 | |||
11526 | OpenBSD-Commit-ID: f8763c25fd96ed91dd1abdab5667fd2e27e377b6 | ||
11527 | |||
11528 | commit 4492e2ec4e1956a277ef507f51d66e5c2aafaaf8 | ||
11529 | Author: Damien Miller <djm@mindrot.org> | ||
11530 | Date: Fri Jul 27 14:15:28 2018 +1000 | ||
11531 | |||
11532 | correct snprintf truncation check in closefrom() | ||
11533 | |||
11534 | Truncation cannot happen unless the system has set PATH_MAX to some | ||
11535 | nonsensically low value. | ||
11536 | |||
11537 | bz#2862, patch from Daniel Le | ||
11538 | |||
11539 | commit 149cab325a8599a003364ed833f878449c15f259 | ||
11540 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11541 | Date: Fri Jul 27 13:46:06 2018 +1000 | ||
11542 | |||
11543 | Include stdarg.h in mkdtemp for va_list. | ||
11544 | |||
11545 | commit 6728f31bdfdc864d192773c32465b1860e23f556 | ||
11546 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
11547 | Date: Wed Jul 25 17:12:35 2018 +0000 | ||
11548 | |||
11549 | upstream: Don't redefine Makefile choices which come correct from | ||
11550 | |||
11551 | bsd.*.mk ok markus | ||
11552 | |||
11553 | OpenBSD-Commit-ID: 814b2f670df75759e1581ecef530980b2b3d7e0f | ||
11554 | |||
11555 | commit 21fd477a855753c1a8e450963669e28e39c3b5d2 | ||
11556 | Author: deraadt@openbsd.org <deraadt@openbsd.org> | ||
11557 | Date: Wed Jul 25 13:56:23 2018 +0000 | ||
11558 | |||
11559 | upstream: fix indent; Clemens Goessnitzer | ||
11560 | |||
11561 | OpenBSD-Commit-ID: b5149a6d92b264d35f879d24608087b254857a83 | ||
11562 | |||
11563 | commit 8e433c2083db8664c41499ee146448ea7ebe7dbf | ||
11564 | Author: beck@openbsd.org <beck@openbsd.org> | ||
11565 | Date: Wed Jul 25 13:10:56 2018 +0000 | ||
11566 | |||
11567 | upstream: Use the caller provided (copied) pwent struct in | ||
11568 | |||
11569 | load_public_identity_files instead of calling getpwuid() again and discarding | ||
11570 | the argument. This prevents a client crash where tilde_expand_filename calls | ||
11571 | getpwuid() again before the pwent pointer is used. Issue noticed and reported | ||
11572 | by Pierre-Olivier Martel <pom@apple.com> ok djm@ deraadt@ | ||
11573 | |||
11574 | OpenBSD-Commit-ID: a067d74b5b098763736c94cc1368de8ea3f0b157 | ||
11575 | |||
11576 | commit e2127abb105ae72b6fda64fff150e6b24b3f1317 | ||
11577 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
11578 | Date: Mon Jul 23 19:53:55 2018 +0000 | ||
11579 | |||
11580 | upstream: oops, failed to notice that SEE ALSO got messed up; | ||
11581 | |||
11582 | OpenBSD-Commit-ID: 61c1306542cefdc6e59ac331751afe961557427d | ||
11583 | |||
11584 | commit ddf1b797c2d26bbbc9d410aa4f484cbe94673587 | ||
11585 | Author: kn@openbsd.org <kn@openbsd.org> | ||
11586 | Date: Mon Jul 23 19:02:49 2018 +0000 | ||
11587 | |||
11588 | upstream: Point to glob in section 7 for the actual list of special | ||
11589 | |||
11590 | characters instead the C API in section 3. | ||
11591 | |||
11592 | OK millert jmc nicm, "the right idea" deraadt | ||
11593 | |||
11594 | OpenBSD-Commit-ID: a74fd215488c382809e4d041613aeba4a4b1ffc6 | ||
11595 | |||
11596 | commit 01c98d9661d0ed6156e8602b650f72eed9fc4d12 | ||
11597 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11598 | Date: Sun Jul 22 12:16:59 2018 +0000 | ||
11599 | |||
11600 | upstream: Switch authorized_keys example from ssh-dss to ssh-rsa | ||
11601 | |||
11602 | since the former is no longer enabled by default. Pointed out by Daniel A. | ||
11603 | Maierhofer, ok jmc | ||
11604 | |||
11605 | OpenBSD-Commit-ID: 6a196cef53d7524e0c9b58cdbc1b5609debaf8c7 | ||
11606 | |||
11607 | commit 472269f8fe19343971c2d08f504ab5cbb8234b33 | ||
11608 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11609 | Date: Fri Jul 20 05:01:10 2018 +0000 | ||
11610 | |||
11611 | upstream: slightly-clearer description for AuthenticationMethods - the | ||
11612 | |||
11613 | lists have comma-separated elements; bz#2663 from Hans Meier | ||
11614 | |||
11615 | OpenBSD-Commit-ID: 931c983d0fde4764d0942fb2c2b5017635993b5a | ||
11616 | |||
11617 | commit c59aca8adbdf7f5597084ad360a19bedb3f80970 | ||
11618 | Author: Damien Miller <djm@mindrot.org> | ||
11619 | Date: Fri Jul 20 14:53:42 2018 +1000 | ||
11620 | |||
11621 | Create control sockets in clean temp directories | ||
11622 | |||
11623 | Adds a regress/mkdtemp tool and uses it to create empty temp | ||
11624 | directories for tests needing control sockets. | ||
11625 | |||
11626 | Patch from Colin Watson via bz#2660; ok dtucker | ||
11627 | |||
11628 | commit 6ad8648e83e4f4ace37b742a05c2a6b6b872514e | ||
11629 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11630 | Date: Fri Jul 20 03:46:34 2018 +0000 | ||
11631 | |||
11632 | upstream: remove unused zlib.h | ||
11633 | |||
11634 | OpenBSD-Commit-ID: 8d274a9b467c7958df12668b49144056819f79f1 | ||
11635 | |||
11636 | commit 3ba6e6883527fe517b6e4a824876e2fe62af22fc | ||
11637 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11638 | Date: Thu Jul 19 23:03:16 2018 +0000 | ||
11639 | |||
11640 | upstream: Fix typo in comment. From Alexandru Iacob via github. | ||
11641 | |||
11642 | OpenBSD-Commit-ID: eff4ec07c6c8c5483533da43a4dda37d72ef7f1d | ||
11643 | |||
11644 | commit c77bc73c91bc656e343a1961756e09dd1b170820 | ||
11645 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11646 | Date: Fri Jul 20 13:48:51 2018 +1000 | ||
11647 | |||
11648 | Explicitly include openssl before zlib. | ||
11649 | |||
11650 | Some versions of OpenSSL have "free_func" in their headers, which zlib | ||
11651 | typedefs. Including openssl after zlib (eg via sshkey.h) results in | ||
11652 | "syntax error before `free_func'", which this fixes. | ||
11653 | |||
11654 | commit 95d41e90eafcd1286a901e8e361e4a37b98aeb52 | ||
11655 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11656 | Date: Thu Jul 19 10:28:47 2018 +0000 | ||
11657 | |||
11658 | upstream: Deprecate UsePrivilegedPort now that support for running | ||
11659 | |||
11660 | ssh(1) setuid has been removed, remove supporting code and clean up | ||
11661 | references to it in the man pages | ||
11662 | |||
11663 | We have not shipped ssh(1) the setuid bit since 2002. If ayone | ||
11664 | really needs to make connections from a low port number this can | ||
11665 | be implemented via a small setuid ProxyCommand. | ||
11666 | |||
11667 | ok markus@ jmc@ djm@ | ||
11668 | |||
11669 | OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e | ||
11670 | |||
11671 | commit 258dc8bb07dfb35a46e52b0822a2c5b7027df60a | ||
11672 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11673 | Date: Wed Jul 18 11:34:04 2018 +0000 | ||
11674 | |||
11675 | upstream: Remove support for running ssh(1) setuid and fatal if | ||
11676 | |||
11677 | attempted. Do not link uidwap.c into ssh any more. Neuters | ||
11678 | UsePrivilegedPort, which will be marked as deprecated shortly. ok markus@ | ||
11679 | djm@ | ||
11680 | |||
11681 | OpenBSD-Commit-ID: c4ba5bf9c096f57a6ed15b713a1d7e9e2e373c42 | ||
11682 | |||
11683 | commit ac590760b251506b0a152551abbf8e8d6dc2f527 | ||
11684 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11685 | Date: Mon Jul 16 22:25:01 2018 +0000 | ||
11686 | |||
11687 | upstream: Slot 0 in the hostbased key array was previously RSA1, | ||
11688 | |||
11689 | but that is now gone and the slot is unused so remove it. Remove two | ||
11690 | now-unused macros, and add an array bounds check to the two remaining ones | ||
11691 | (array is statically sized, so mostly a safety check on future changes). ok | ||
11692 | markus@ | ||
11693 | |||
11694 | OpenBSD-Commit-ID: 2e4c0ca6cc1d8daeccead2aa56192a3f9d5e1e7a | ||
11695 | |||
11696 | commit 26efc2f5df0e3bcf6a6bbdd0506fd682d60c2145 | ||
11697 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
11698 | Date: Mon Jul 16 11:05:41 2018 +0000 | ||
11699 | |||
11700 | upstream: Remove support for loading HostBasedAuthentication keys | ||
11701 | |||
11702 | directly in ssh(1) and always use ssh-keysign. This removes one of the few | ||
11703 | remaining reasons why ssh(1) might be setuid. ok markus@ | ||
11704 | |||
11705 | OpenBSD-Commit-ID: 97f01e1448707129a20d75f86bad5d27c3cf0b7d | ||
11706 | |||
11707 | commit 3eb7f1038d17af7aea3c2c62d1e30cd545607640 | ||
11708 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11709 | Date: Mon Jul 16 07:06:50 2018 +0000 | ||
11710 | |||
11711 | upstream: keep options.identity_file_userprovided array in sync when we | ||
11712 | |||
11713 | load keys, fixing some spurious error messages; ok markus | ||
11714 | |||
11715 | OpenBSD-Commit-ID: c63e3d5200ee2cf9e35bda98de847302566c6a00 | ||
11716 | |||
11717 | commit 2f131e1b34502aa19f345e89cabf6fa3fc097f09 | ||
11718 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11719 | Date: Mon Jul 16 03:09:59 2018 +0000 | ||
11720 | |||
11721 | upstream: memleak in unittest; found by valgrind | ||
11722 | |||
11723 | OpenBSD-Regress-ID: 168c23b0fb09fc3d0b438628990d3fd9260a8a5e | ||
11724 | |||
11725 | commit de2997a4cf22ca0a524f0e5b451693c583e2fd89 | ||
11726 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11727 | Date: Mon Jul 16 03:09:13 2018 +0000 | ||
11728 | |||
11729 | upstream: memleaks; found by valgrind | ||
11730 | |||
11731 | OpenBSD-Commit-ID: 6c3ba22be53e753c899545f771e8399fc93cd844 | ||
11732 | |||
11733 | commit 61cc0003eb37fa07603c969c12b7c795caa498f3 | ||
11734 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11735 | Date: Sat Jul 14 16:49:01 2018 +1000 | ||
11736 | |||
11737 | Undef a few new macros in sys-queue.h. | ||
11738 | |||
11739 | Prevents macro redefinition warnings on OSX. | ||
11740 | |||
11741 | commit 30a2c213877a54a44dfdffb6ca8db70be5b457e0 | ||
11742 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11743 | Date: Fri Jul 13 13:40:20 2018 +1000 | ||
11744 | |||
11745 | Include unistd.h for geteuid declaration. | ||
11746 | |||
11747 | commit 1dd32c23f2a85714dfafe2a9cc516971d187caa4 | ||
11748 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11749 | Date: Fri Jul 13 13:38:10 2018 +1000 | ||
11750 | |||
11751 | Fallout from buffer conversion in AUDIT_EVENTS. | ||
11752 | |||
11753 | Supply missing "int r" and fix error path for sshbuf_new(). | ||
11754 | |||
11755 | commit 7449c178e943e5c4f6c8416a4e41d93b70c11c9e | ||
11756 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11757 | Date: Fri Jul 13 02:13:50 2018 +0000 | ||
11758 | |||
11759 | upstream: make this use ssh_proxy rather than starting/stopping a | ||
11760 | |||
11761 | daemon for each testcase | ||
11762 | |||
11763 | OpenBSD-Regress-ID: 608b7655ea65b1ba8fff5a13ce9caa60ef0c8166 | ||
11764 | |||
11765 | commit dbab02f9208d9baa134cec1d007054ec82b96ca9 | ||
11766 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11767 | Date: Fri Jul 13 02:13:19 2018 +0000 | ||
11768 | |||
11769 | upstream: fix leaks in unit test; with this, all unit tests are | ||
11770 | |||
11771 | leak free (as far as valgrind can spot anyway) | ||
11772 | |||
11773 | OpenBSD-Regress-ID: b824d8b27998365379963440e5d18b95ca03aa17 | ||
11774 | |||
11775 | commit 2f6accff5085eb79b0dbe262d8b85ed017d1a51c | ||
11776 | Author: Damien Miller <djm@mindrot.org> | ||
11777 | Date: Fri Jul 13 11:39:25 2018 +1000 | ||
11778 | |||
11779 | Enable leak checks for unit tests with valgrind | ||
11780 | |||
11781 | Leave the leak checking on unconditionally when running with valgrind. | ||
11782 | The unit tests are leak-free and I want them to stay that way. | ||
11783 | |||
11784 | commit e46cfbd9db5e907b821bf4fd0184d4dab99815ee | ||
11785 | Author: Damien Miller <djm@mindrot.org> | ||
11786 | Date: Fri Jul 13 11:38:59 2018 +1000 | ||
11787 | |||
11788 | increase timeout to match cfgmatch.sh | ||
11789 | |||
11790 | lets test pass under valgrind (on my workstation at least) | ||
11791 | |||
11792 | commit 6aa1bf475cf3e7a2149acc5a1e80e904749f064c | ||
11793 | Author: Damien Miller <djm@mindrot.org> | ||
11794 | Date: Thu Jul 12 14:54:18 2018 +1000 | ||
11795 | |||
11796 | rm regress/misc/kexfuzz/*.o in distclean target | ||
11797 | |||
11798 | commit eef1447ddb559c03725a23d4aa6d03f40e8b0049 | ||
11799 | Author: Damien Miller <djm@mindrot.org> | ||
11800 | Date: Thu Jul 12 14:49:26 2018 +1000 | ||
11801 | |||
11802 | repair !WITH_OPENSSL build | ||
11803 | |||
11804 | commit 4d3b2f36fd831941d1627ac587faae37b6d3570f | ||
11805 | Author: Damien Miller <djm@mindrot.org> | ||
11806 | Date: Thu Jul 12 14:49:14 2018 +1000 | ||
11807 | |||
11808 | missing headers | ||
11809 | |||
11810 | commit 3f420a692b293921216549c1099c2e46ff284eae | ||
11811 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11812 | Date: Thu Jul 12 14:57:46 2018 +1000 | ||
11813 | |||
11814 | Remove key.h from portable files too. | ||
11815 | |||
11816 | Commit 5467fbcb removed key.h so stop including it in portable files | ||
11817 | too. Fixes builds on lots of platforms. | ||
11818 | |||
11819 | commit e2c4af311543093f16005c10044f7e06af0426f0 | ||
11820 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11821 | Date: Thu Jul 12 04:35:25 2018 +0000 | ||
11822 | |||
11823 | upstream: remove prototype to long-gone function | ||
11824 | |||
11825 | OpenBSD-Commit-ID: 0414642ac7ce01d176b9f359091a66a8bbb640bd | ||
11826 | |||
11827 | commit 394a842e60674bf8ee5130b9f15b01452a0b0285 | ||
11828 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11829 | Date: Wed Jul 11 18:55:11 2018 +0000 | ||
11830 | |||
11831 | upstream: treat ssh_packet_write_wait() errors as fatal; ok djm@ | ||
11832 | |||
11833 | OpenBSD-Commit-ID: f88ba43c9d54ed2d911218aa8d3f6285430629c3 | ||
11834 | |||
11835 | commit 5467fbcb09528ecdcb914f4f2452216c24796790 | ||
11836 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11837 | Date: Wed Jul 11 18:53:29 2018 +0000 | ||
11838 | |||
11839 | upstream: remove legacy key emulation layer; ok djm@ | ||
11840 | |||
11841 | OpenBSD-Commit-ID: 2b1f9619259e222bbd4fe9a8d3a0973eafb9dd8d | ||
11842 | |||
11843 | commit 5dc4c59d5441a19c99e7945779f7ec9051126c25 | ||
11844 | Author: martijn@openbsd.org <martijn@openbsd.org> | ||
11845 | Date: Wed Jul 11 08:19:35 2018 +0000 | ||
11846 | |||
11847 | upstream: s/wuth/with/ in comment | ||
11848 | |||
11849 | OpenBSD-Commit-ID: 9de41468afd75f54a7f47809d2ad664aa577902c | ||
11850 | |||
11851 | commit 1c688801e9dd7f9889fb2a29bc2b6fbfbc35a11f | ||
11852 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11853 | Date: Wed Jul 11 12:12:38 2018 +1000 | ||
11854 | |||
11855 | Include stdlib.h for declaration of free. | ||
11856 | |||
11857 | Fixes build with -Werror on at least Fedora and probably others. | ||
11858 | |||
11859 | commit fccfa239def497615f92ed28acc57cfe63da3666 | ||
11860 | Author: Damien Miller <djm@mindrot.org> | ||
11861 | Date: Wed Jul 11 10:19:56 2018 +1000 | ||
11862 | |||
11863 | VALGRIND_CHECK_LEAKS logic was backwards :( | ||
11864 | |||
11865 | commit 416287d45fcde0a8e66eee8b99aa73bd58607588 | ||
11866 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11867 | Date: Wed Jul 11 10:10:26 2018 +1000 | ||
11868 | |||
11869 | Fix sshbuf_new error path in skey. | ||
11870 | |||
11871 | commit 7aab109b8b90a353c1af780524f1ac0d3af47bab | ||
11872 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11873 | Date: Wed Jul 11 10:06:18 2018 +1000 | ||
11874 | |||
11875 | Supply missing third arg in skey. | ||
11876 | |||
11877 | During the change to the new buffer api the third arg to | ||
11878 | sshbuf_get_cstring was ommitted. Fixes build when configured with skey. | ||
11879 | |||
11880 | commit 380320bb72cc353a901790ab04b6287fd335dc4a | ||
11881 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11882 | Date: Wed Jul 11 10:03:34 2018 +1000 | ||
11883 | |||
11884 | Supply some more missing "int r" in skey | ||
11885 | |||
11886 | commit d20720d373d8563ee737d1a45dc5e0804d622dbc | ||
11887 | Author: Damien Miller <djm@mindrot.org> | ||
11888 | Date: Wed Jul 11 09:56:36 2018 +1000 | ||
11889 | |||
11890 | disable valgrind memleak checking by default | ||
11891 | |||
11892 | Add VALGRIND_CHECK_LEAKS knob to turn it back on. | ||
11893 | |||
11894 | commit 79c9d35018f3a5e30ae437880b669aa8636cd3cd | ||
11895 | Author: Darren Tucker <dtucker@dtucker.net> | ||
11896 | Date: Wed Jul 11 09:54:00 2018 +1000 | ||
11897 | |||
11898 | Supply missing "int r" in skey code. | ||
11899 | |||
11900 | commit 984bacfaacbbe31c35191b828fb5b5b2f0362c36 | ||
11901 | Author: sf@openbsd.org <sf@openbsd.org> | ||
11902 | Date: Tue Jul 10 09:36:58 2018 +0000 | ||
11903 | |||
11904 | upstream: re-remove some pre-auth compression bits | ||
11905 | |||
11906 | This time, make sure to not remove things that are necessary for | ||
11907 | pre-auth compression on the client. Add a comment that pre-auth | ||
11908 | compression is still supported in the client. | ||
11909 | |||
11910 | ok markus@ | ||
11911 | |||
11912 | OpenBSD-Commit-ID: 282c6fec7201f18a5c333bbb68d9339734d2f784 | ||
11913 | |||
11914 | commit 120a1ec74e8d9d29f4eb9a27972ddd22351ddef9 | ||
11915 | Author: Damien Miller <djm@mindrot.org> | ||
11916 | Date: Tue Jul 10 19:39:52 2018 +1000 | ||
11917 | |||
11918 | Adapt portable to legacy buffer API removal | ||
11919 | |||
11920 | commit 0f3958c1e6ffb8ea4ba27e2a97a00326fce23246 | ||
11921 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11922 | Date: Tue Jul 10 09:13:30 2018 +0000 | ||
11923 | |||
11924 | upstream: kerberos/gssapi fixes for buffer removal | ||
11925 | |||
11926 | OpenBSD-Commit-ID: 1cdf56fec95801e4563c47f21696f04cd8b60c4c | ||
11927 | |||
11928 | commit c74ae8e7c45f325f3387abd48fa7dfef07a08069 | ||
11929 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11930 | Date: Tue Jul 10 06:45:29 2018 +0000 | ||
11931 | |||
11932 | upstream: buffer.[ch] and bufaux.c are no more | ||
11933 | |||
11934 | OpenBSD-Commit-ID: d1a1852284e554f39525eb4d4891b207cfb3d3a0 | ||
11935 | |||
11936 | commit a881e5a133d661eca923fb0633a03152ab2b70b2 | ||
11937 | Author: djm@openbsd.org <djm@openbsd.org> | ||
11938 | Date: Tue Jul 10 06:43:52 2018 +0000 | ||
11939 | |||
11940 | upstream: one mention of Buffer that almost got away :) | ||
11941 | |||
11942 | OpenBSD-Commit-ID: 30d7c27a90b4544ad5dfacf654595710cd499f02 | ||
11943 | |||
11944 | commit 49f47e656b60bcd1d1db98d88105295f4b4e600d | ||
11945 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11946 | Date: Mon Jul 9 21:59:10 2018 +0000 | ||
11947 | |||
11948 | upstream: replace cast with call to sshbuf_mutable_ptr(); ok djm@ | ||
11949 | |||
11950 | OpenBSD-Commit-ID: 4dfe9d29fa93d9231645c89084f7217304f7ba29 | ||
11951 | |||
11952 | commit cb30cd47041edb03476be1c8ef7bc1f4b69d1555 | ||
11953 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11954 | Date: Mon Jul 9 21:56:06 2018 +0000 | ||
11955 | |||
11956 | upstream: remove legacy buffer API emulation layer; ok djm@ | ||
11957 | |||
11958 | OpenBSD-Commit-ID: 2dd5dc17cbc23195be4299fa93be2707a0e08ad9 | ||
11959 | |||
11960 | commit 235c7c4e3bf046982c2d8242f30aacffa01073d1 | ||
11961 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11962 | Date: Mon Jul 9 21:53:45 2018 +0000 | ||
11963 | |||
11964 | upstream: sshd: switch monitor to sshbuf API; lots of help & ok | ||
11965 | |||
11966 | djm@ | ||
11967 | |||
11968 | OpenBSD-Commit-ID: d89bd02d33974fd35ca0b8940d88572227b34a48 | ||
11969 | |||
11970 | commit b8d9214d969775e409e1408ecdf0d58fad99b344 | ||
11971 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11972 | Date: Mon Jul 9 21:37:55 2018 +0000 | ||
11973 | |||
11974 | upstream: sshd: switch GSSAPI to sshbuf API; ok djm@ | ||
11975 | |||
11976 | OpenBSD-Commit-ID: e48449ab4be3f006f7ba33c66241b7d652973e30 | ||
11977 | |||
11978 | commit c7d39ac8dc3587c5f05bdd5bcd098eb5c201c0c8 | ||
11979 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11980 | Date: Mon Jul 9 21:35:50 2018 +0000 | ||
11981 | |||
11982 | upstream: sshd: switch authentication to sshbuf API; ok djm@ | ||
11983 | |||
11984 | OpenBSD-Commit-ID: 880aa06bce4b140781e836bb56bec34873290641 | ||
11985 | |||
11986 | commit c3cb7790e9efb14ba74b2d9f543ad593b3d55b31 | ||
11987 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11988 | Date: Mon Jul 9 21:29:36 2018 +0000 | ||
11989 | |||
11990 | upstream: sshd: switch config to sshbuf API; ok djm@ | ||
11991 | |||
11992 | OpenBSD-Commit-ID: 72b02017bac7feac48c9dceff8355056bea300bd | ||
11993 | |||
11994 | commit 2808d18ca47ad3d251836c555f0e22aaca03d15c | ||
11995 | Author: markus@openbsd.org <markus@openbsd.org> | ||
11996 | Date: Mon Jul 9 21:26:02 2018 +0000 | ||
11997 | |||
11998 | upstream: sshd: switch loginmsg to sshbuf API; ok djm@ | ||
11999 | |||
12000 | OpenBSD-Commit-ID: f3cb4e54bff15c593602d95cc43e32ee1a4bac42 | ||
12001 | |||
12002 | commit 89dd615b8b531979be63f05f9d5624367c9b28e6 | ||
12003 | Author: markus@openbsd.org <markus@openbsd.org> | ||
12004 | Date: Mon Jul 9 21:20:26 2018 +0000 | ||
12005 | |||
12006 | upstream: ttymodes: switch to sshbuf API; ok djm@ | ||
12007 | |||
12008 | OpenBSD-Commit-ID: 5df340c5965e822c9da21e19579d08dea3cbe429 | ||
12009 | |||
12010 | commit f4608a7065480516ab46214f554e5f853fb7870f | ||
12011 | Author: markus@openbsd.org <markus@openbsd.org> | ||
12012 | Date: Mon Jul 9 21:18:10 2018 +0000 | ||
12013 | |||
12014 | upstream: client: switch mux to sshbuf API; with & ok djm@ | ||
12015 | |||
12016 | OpenBSD-Commit-ID: 5948fb98d704f9c4e075b92edda64e0290b5feb2 | ||
12017 | |||
12018 | commit cecee2d607099a7bba0a84803e2325d15be4277b | ||
12019 | Author: markus@openbsd.org <markus@openbsd.org> | ||
12020 | Date: Mon Jul 9 21:03:30 2018 +0000 | ||
12021 | |||
12022 | upstream: client: switch to sshbuf API; ok djm@ | ||
12023 | |||
12024 | OpenBSD-Commit-ID: 60cb0356114acc7625ab85105f6f6a7cd44a8d05 | ||
12025 | |||
12026 | commit ff55f4ad898137d4703e7a2bcc81167dfe8e9324 | ||
12027 | Author: markus@openbsd.org <markus@openbsd.org> | ||
12028 | Date: Mon Jul 9 20:39:28 2018 +0000 | ||
12029 | |||
12030 | upstream: pkcs11: switch to sshbuf API; ok djm@ | ||
12031 | |||
12032 | OpenBSD-Commit-ID: 98cc4e800f1617c51caf59a6cb3006f14492db79 | ||
12033 | |||
12034 | commit 168b46f405d6736960ba7930389eecb9b6710b7e | ||
12035 | Author: sf@openbsd.org <sf@openbsd.org> | ||
12036 | Date: Mon Jul 9 13:37:10 2018 +0000 | ||
12037 | |||
12038 | upstream: Revert previous two commits | ||
12039 | |||
12040 | It turns out we still support pre-auth compression on the client. | ||
12041 | Therefore revert the previous two commits: | ||
12042 | |||
12043 | date: 2018/07/06 09:06:14; author: sf; commitid: yZVYKIRtUZWD9CmE; | ||
12044 | Rename COMP_DELAYED to COMP_ZLIB | ||
12045 | |||
12046 | Only delayed compression is supported nowadays. | ||
12047 | |||
12048 | ok markus@ | ||
12049 | |||
12050 | date: 2018/07/06 09:05:01; author: sf; commitid: rEGuT5UgI9f6kddP; | ||
12051 | Remove leftovers from pre-authentication compression | ||
12052 | |||
12053 | Support for this has been removed in 2016. | ||
12054 | COMP_DELAYED will be renamed in a later commit. | ||
12055 | |||
12056 | ok markus@ | ||
12057 | |||
12058 | OpenBSD-Commit-ID: cdfef526357e4e1483c86cf599491b2dafb77772 | ||
12059 | |||
12060 | commit ab39267fa1243d02b6c330615539fc4b21e17dc4 | ||
12061 | Author: sf@openbsd.org <sf@openbsd.org> | ||
12062 | Date: Fri Jul 6 09:06:14 2018 +0000 | ||
12063 | |||
12064 | upstream: Rename COMP_DELAYED to COMP_ZLIB | ||
12065 | |||
12066 | Only delayed compression is supported nowadays. | ||
12067 | |||
12068 | ok markus@ | ||
12069 | |||
12070 | OpenBSD-Commit-ID: 5b1dbaf3d9a4085aaa10fec0b7a4364396561821 | ||
12071 | |||
12072 | commit 95db395d2e56a6f868193aead6cadb2493f036c6 | ||
12073 | Author: sf@openbsd.org <sf@openbsd.org> | ||
12074 | Date: Fri Jul 6 09:05:01 2018 +0000 | ||
12075 | |||
12076 | upstream: Remove leftovers from pre-authentication compression | ||
12077 | |||
12078 | Support for this has been removed in 2016. | ||
12079 | COMP_DELAYED will be renamed in a later commit. | ||
12080 | |||
12081 | ok markus@ | ||
12082 | |||
12083 | OpenBSD-Commit-ID: 6a99616c832627157113fcb0cf5a752daf2e6b58 | ||
12084 | |||
12085 | commit f28a4d5cd24c4aa177e96b4f96957991e552cb70 | ||
12086 | Author: sf@openbsd.org <sf@openbsd.org> | ||
12087 | Date: Fri Jul 6 09:03:02 2018 +0000 | ||
12088 | |||
12089 | upstream: Remove unused ssh_packet_start_compression() | ||
12090 | |||
12091 | ok markus@ | ||
12092 | |||
12093 | OpenBSD-Commit-ID: 9d34cf2f59aca5422021ae2857190578187dc2b4 | ||
12094 | |||
12095 | commit 872517ddbb72deaff31d4760f28f2b0a1c16358f | ||
12096 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12097 | Date: Fri Jul 6 13:32:02 2018 +1000 | ||
12098 | |||
12099 | Defer setting bufsiz in getdelim. | ||
12100 | |||
12101 | Do not write to bufsiz until we are sure the malloc has succeeded, | ||
12102 | in case any callers rely on it (which they shouldn't). ok djm@ | ||
12103 | |||
12104 | commit 3deb56f7190a414dc264e21e087a934fa1847283 | ||
12105 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12106 | Date: Thu Jul 5 13:32:01 2018 +1000 | ||
12107 | |||
12108 | Fix other callers of read_environment_file. | ||
12109 | |||
12110 | read_environment_file recently gained an extra argument Some platform | ||
12111 | specific code also calls it so add the argument to those too. Fixes | ||
12112 | build on Solaris and AIX. | ||
12113 | |||
12114 | commit 314908f451e6b2d4ccf6212ad246fa4619c721d3 | ||
12115 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12116 | Date: Wed Jul 4 13:51:45 2018 +0000 | ||
12117 | |||
12118 | upstream: deal with API rename: match_filter_list() => | ||
12119 | |||
12120 | match_filter_blacklist() | ||
12121 | |||
12122 | OpenBSD-Regress-ID: 2da342be913efeb51806351af906fab01ba4367f | ||
12123 | |||
12124 | commit 89f54cdf6b9cf1cf5528fd33897f1443913ddfb4 | ||
12125 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12126 | Date: Wed Jul 4 13:51:12 2018 +0000 | ||
12127 | |||
12128 | upstream: exercise new expansion behaviour of | ||
12129 | |||
12130 | PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names() | ||
12131 | |||
12132 | ok markus@ | ||
12133 | |||
12134 | OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736 | ||
12135 | |||
12136 | commit 187633f24c71564e970681c8906df5a6017dcccf | ||
12137 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12138 | Date: Tue Jul 3 13:53:26 2018 +0000 | ||
12139 | |||
12140 | upstream: add a comment that could have saved me 45 minutes of wild | ||
12141 | |||
12142 | goose chasing | ||
12143 | |||
12144 | OpenBSD-Regress-ID: d469b29ffadd3402c090e21b792d627d46fa5297 | ||
12145 | |||
12146 | commit 312d2f2861a2598ed08587cb6c45c0e98a85408f | ||
12147 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12148 | Date: Wed Jul 4 13:49:31 2018 +0000 | ||
12149 | |||
12150 | upstream: repair PubkeyAcceptedKeyTypes (and friends) after RSA | ||
12151 | |||
12152 | signature work - returns ability to add/remove/specify algorithms by | ||
12153 | wildcard. | ||
12154 | |||
12155 | Algorithm lists are now fully expanded when the server/client configs | ||
12156 | are finalised, so errors are reported early and the config dumps | ||
12157 | (e.g. "ssh -G ...") now list the actual algorithms selected. | ||
12158 | |||
12159 | Clarify that, while wildcards are accepted in algorithm lists, they | ||
12160 | aren't full pattern-lists that support negation. | ||
12161 | |||
12162 | (lots of) feedback, ok markus@ | ||
12163 | |||
12164 | OpenBSD-Commit-ID: a8894c5c81f399a002f02ff4fe6b4fa46b1f3207 | ||
12165 | |||
12166 | commit 303af5803bd74bf05d375c04e1a83b40c30b2be5 | ||
12167 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12168 | Date: Tue Jul 3 11:43:49 2018 +0000 | ||
12169 | |||
12170 | upstream: some magic for RSA-SHA2 checks | ||
12171 | |||
12172 | OpenBSD-Regress-ID: e5a9b11368ff6d86e7b25ad10ebe43359b471cd4 | ||
12173 | |||
12174 | commit 7d68e262944c1fff1574600fe0e5e92ec8b398f5 | ||
12175 | Author: Damien Miller <djm@mindrot.org> | ||
12176 | Date: Tue Jul 3 23:27:11 2018 +1000 | ||
12177 | |||
12178 | depend | ||
12179 | |||
12180 | commit b4d4eda633af433d20232cbf7e855ceac8b83fe5 | ||
12181 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12182 | Date: Tue Jul 3 13:20:25 2018 +0000 | ||
12183 | |||
12184 | upstream: some finesse to fix RSA-SHA2 certificate authentication | ||
12185 | |||
12186 | for certs hosted in ssh-agent | ||
12187 | |||
12188 | OpenBSD-Commit-ID: e5fd5edd726137dda2d020e1cdebc464110a010f | ||
12189 | |||
12190 | commit d78b75df4a57e0f92295f24298e5f2930e71c172 | ||
12191 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12192 | Date: Tue Jul 3 13:07:58 2018 +0000 | ||
12193 | |||
12194 | upstream: check correct variable; unbreak agent keys | ||
12195 | |||
12196 | OpenBSD-Commit-ID: c36981fdf1f3ce04966d3310826a3e1e6233d93e | ||
12197 | |||
12198 | commit 2f30300c5e15929d0e34013f38d73e857f445e12 | ||
12199 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12200 | Date: Tue Jul 3 11:42:12 2018 +0000 | ||
12201 | |||
12202 | upstream: crank version number to 7.8; needed for new compat flag | ||
12203 | |||
12204 | for prior version; part of RSA-SHA2 strictification, ok markus@ | ||
12205 | |||
12206 | OpenBSD-Commit-ID: 84a11fc0efd2674c050712336b5093f5d408e32b | ||
12207 | |||
12208 | commit 4ba0d54794814ec0de1ec87987d0c3b89379b436 | ||
12209 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12210 | Date: Tue Jul 3 11:39:54 2018 +0000 | ||
12211 | |||
12212 | upstream: Improve strictness and control over RSA-SHA2 signature | ||
12213 | |||
12214 | In ssh, when an agent fails to return a RSA-SHA2 signature when | ||
12215 | requested and falls back to RSA-SHA1 instead, retry the signature to | ||
12216 | ensure that the public key algorithm sent in the SSH_MSG_USERAUTH | ||
12217 | matches the one in the signature itself. | ||
12218 | |||
12219 | In sshd, strictly enforce that the public key algorithm sent in the | ||
12220 | SSH_MSG_USERAUTH message matches what appears in the signature. | ||
12221 | |||
12222 | Make the sshd_config PubkeyAcceptedKeyTypes and | ||
12223 | HostbasedAcceptedKeyTypes options control accepted signature algorithms | ||
12224 | (previously they selected supported key types). This allows these | ||
12225 | options to ban RSA-SHA1 in favour of RSA-SHA2. | ||
12226 | |||
12227 | Add new signature algorithms "rsa-sha2-256-cert-v01@openssh.com" and | ||
12228 | "rsa-sha2-512-cert-v01@openssh.com" to force use of RSA-SHA2 signatures | ||
12229 | with certificate keys. | ||
12230 | |||
12231 | feedback and ok markus@ | ||
12232 | |||
12233 | OpenBSD-Commit-ID: c6e9f6d45eed8962ad502d315d7eaef32c419dde | ||
12234 | |||
12235 | commit 95344c257412b51199ead18d54eaed5bafb75617 | ||
12236 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12237 | Date: Tue Jul 3 10:59:35 2018 +0000 | ||
12238 | |||
12239 | upstream: allow sshd_config PermitUserEnvironment to accept a | ||
12240 | |||
12241 | pattern-list of whitelisted environment variable names in addition to yes|no. | ||
12242 | |||
12243 | bz#1800, feedback and ok markus@ | ||
12244 | |||
12245 | OpenBSD-Commit-ID: 77dc2b468e0bf04b53f333434ba257008a1fdf24 | ||
12246 | |||
12247 | commit 6f56fe4b9578b0627667f8bce69d4d938a88324c | ||
12248 | Author: millert@openbsd.org <millert@openbsd.org> | ||
12249 | Date: Tue Jun 26 11:23:59 2018 +0000 | ||
12250 | |||
12251 | upstream: Fix "WARNING: line 6 disappeared in /etc/moduli, giving up" | ||
12252 | |||
12253 | when choosing a prime. An extra increment of linenum snuck in as part of the | ||
12254 | conversion to getline(). OK djm@ markus@ | ||
12255 | |||
12256 | OpenBSD-Commit-ID: 0019225cb52ed621b71cd9f19ee2e78e57e3dd38 | ||
12257 | |||
12258 | commit 1eee79a11c1b3594f055b01e387c49c9a6e80005 | ||
12259 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
12260 | Date: Mon Jul 2 14:13:30 2018 +0000 | ||
12261 | |||
12262 | upstream: One ampersand is enough to backgroud an process. OpenBSD | ||
12263 | |||
12264 | doesn't seem to mind, but some platforms in -portable object to the second. | ||
12265 | |||
12266 | OpenBSD-Regress-ID: d6c3e404871764343761dc25c3bbe29c2621ff74 | ||
12267 | |||
12268 | commit 6301e6c787d4e26bfae1119ab4f747bbcaa94e44 | ||
12269 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12270 | Date: Mon Jul 2 21:16:58 2018 +1000 | ||
12271 | |||
12272 | Add implementation of getline. | ||
12273 | |||
12274 | Add getline for the benefit of platforms that don't have it. Sourced | ||
12275 | from NetBSD (OpenBSD's implementation is a little too chummy with the | ||
12276 | internals of FILE). | ||
12277 | |||
12278 | commit 84623e0037628f9992839063151f7a9f5f13099a | ||
12279 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12280 | Date: Tue Jun 26 02:02:36 2018 +0000 | ||
12281 | |||
12282 | upstream: whitespace | ||
12283 | |||
12284 | OpenBSD-Commit-ID: 9276951caf4daf555f6d262e95720e7f79244572 | ||
12285 | |||
12286 | commit 90e51d672711c19a36573be1785caf35019ae7a8 | ||
12287 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12288 | Date: Mon Jun 25 22:28:33 2018 +0000 | ||
12289 | |||
12290 | upstream: fix NULL dereference in open_listen_match_tcpip() | ||
12291 | |||
12292 | OpenBSD-Commit-ID: c968c1d29e392352383c0f9681fcc1e93620c4a9 | ||
12293 | |||
12294 | commit f535ff922a67d9fcc5ee69d060d1b21c8bb01d14 | ||
12295 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12296 | Date: Tue Jun 19 05:36:57 2018 +0000 | ||
12297 | |||
12298 | upstream: spelling; | ||
12299 | |||
12300 | OpenBSD-Commit-ID: db542918185243bea17202383a581851736553cc | ||
12301 | |||
12302 | commit 80e199d6175904152aafc5c297096c3e18297691 | ||
12303 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12304 | Date: Tue Jun 19 03:02:17 2018 +0000 | ||
12305 | |||
12306 | upstream: test PermitListen with bare port numbers | ||
12307 | |||
12308 | OpenBSD-Regress-ID: 4b50a02dfb0ccaca08247f3877c444126ba901b3 | ||
12309 | |||
12310 | commit 87ddd676da0f3abd08b778b12b53b91b670dc93c | ||
12311 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12312 | Date: Tue Jun 19 02:59:41 2018 +0000 | ||
12313 | |||
12314 | upstream: allow bare port numbers to appear in PermitListen directives, | ||
12315 | |||
12316 | e.g. | ||
12317 | |||
12318 | PermitListen 2222 8080 | ||
12319 | |||
12320 | is equivalent to: | ||
12321 | |||
12322 | PermitListen *:2222 *:8080 | ||
12323 | |||
12324 | Some bonus manpage improvements, mostly from markus@ | ||
12325 | |||
12326 | "looks fine" markus@ | ||
12327 | |||
12328 | OpenBSD-Commit-ID: 6546b0cc5aab7f53d65ad0a348ca0ae591d6dd24 | ||
12329 | |||
12330 | commit 26f96ca10ad0ec5da9b05b99de1e1ccea15a11be | ||
12331 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12332 | Date: Fri Jun 15 07:01:11 2018 +0000 | ||
12333 | |||
12334 | upstream: invalidate supplemental group cache used by | ||
12335 | |||
12336 | temporarily_use_uid() when the target uid differs; could cause failure to | ||
12337 | read authorized_keys under some configurations. patch by Jakub Jelen via | ||
12338 | bz2873; ok dtucker, markus | ||
12339 | |||
12340 | OpenBSD-Commit-ID: 48a345f0ee90f6c465a078eb5e89566b23abd8a1 | ||
12341 | |||
12342 | commit 89a85d724765b6b82e0135ee5a1181fdcccea9c6 | ||
12343 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12344 | Date: Sun Jun 10 23:45:41 2018 +0000 | ||
12345 | |||
12346 | upstream: unbreak SendEnv; patch from tb@ | ||
12347 | |||
12348 | OpenBSD-Commit-ID: fc808daced813242563b80976e1478de95940056 | ||
12349 | |||
12350 | commit acf4260f0951f89c64e1ebbc4c92f451768871ad | ||
12351 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12352 | Date: Sat Jun 9 06:36:31 2018 +0000 | ||
12353 | |||
12354 | upstream: sort previous; | ||
12355 | |||
12356 | OpenBSD-Commit-ID: 27d80d8b8ca99bc33971dee905e8ffd0053ec411 | ||
12357 | |||
12358 | commit 1678d4236451060b735cb242d2e26e1ac99f0947 | ||
12359 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12360 | Date: Sat Jun 9 03:18:11 2018 +0000 | ||
12361 | |||
12362 | upstream: slightly better wording re handing of $TERM, from Jakub | ||
12363 | |||
12364 | Jelen via bz2386 | ||
12365 | |||
12366 | OpenBSD-Commit-ID: 14bea3f069a93c8be66a7b97794255a91fece964 | ||
12367 | |||
12368 | commit 28013759f09ed3ebf7e8335e83a62936bd7a7f47 | ||
12369 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12370 | Date: Sat Jun 9 03:03:10 2018 +0000 | ||
12371 | |||
12372 | upstream: add a SetEnv directive for sshd_config to allow an | ||
12373 | |||
12374 | administrator to explicitly specify environment variables set in sessions | ||
12375 | started by sshd. These override the default environment and any variables set | ||
12376 | by user configuration (PermitUserEnvironment, etc), but not the SSH_* | ||
12377 | variables set by sshd itself. | ||
12378 | |||
12379 | ok markus@ | ||
12380 | |||
12381 | OpenBSD-Commit-ID: b6a96c0001ccd7dd211df6cae9e961c20fd718c0 | ||
12382 | |||
12383 | commit 7082bb58a2eb878d23ec674587c742e5e9673c36 | ||
12384 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12385 | Date: Sat Jun 9 03:01:12 2018 +0000 | ||
12386 | |||
12387 | upstream: add a SetEnv directive to ssh_config that allows setting | ||
12388 | |||
12389 | environment variables for the remote session (subject to the server accepting | ||
12390 | them) | ||
12391 | |||
12392 | refactor SendEnv to remove the arbitrary limit of variable names. | ||
12393 | |||
12394 | ok markus@ | ||
12395 | |||
12396 | OpenBSD-Commit-ID: cfbb00d9b0e10c1ffff1d83424351fd961d1f2be | ||
12397 | |||
12398 | commit 3b9798bda15bd3f598f5ef07595d64e23504da91 | ||
12399 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12400 | Date: Sat Jun 9 02:58:02 2018 +0000 | ||
12401 | |||
12402 | upstream: reorder child environment preparation so that variables | ||
12403 | |||
12404 | read from ~/.ssh/environment (if enabled) do not override SSH_* variables set | ||
12405 | by the server. | ||
12406 | |||
12407 | OpenBSD-Commit-ID: 59f9d4c213cdcef2ef21f4b4ae006594dcf2aa7a | ||
12408 | |||
12409 | commit 0368889f82f63c82ff8db9f8c944d89e7c657db4 | ||
12410 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12411 | Date: Fri Jun 8 03:35:36 2018 +0000 | ||
12412 | |||
12413 | upstream: fix incorrect expansion of %i in | ||
12414 | |||
12415 | load_public_identity_files(); reported by Roumen Petrov | ||
12416 | |||
12417 | OpenBSD-Commit-ID: a827289e77149b5e0850d72a350c8b0300e7ef25 | ||
12418 | |||
12419 | commit 027607fc2db6a0475a3380f8d95c635482714cb0 | ||
12420 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12421 | Date: Fri Jun 8 01:55:40 2018 +0000 | ||
12422 | |||
12423 | upstream: fix some over-long lines and __func__ up some debug | ||
12424 | |||
12425 | messages | ||
12426 | |||
12427 | OpenBSD-Commit-ID: c70a60b4c8207d9f242fc2351941ba50916bb267 | ||
12428 | |||
12429 | commit 6ff6fda705bc204456a5fa12518dde6e8790bb02 | ||
12430 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12431 | Date: Thu Jun 7 11:26:14 2018 +0000 | ||
12432 | |||
12433 | upstream: tweak previous; | ||
12434 | |||
12435 | OpenBSD-Commit-ID: f98f16af10b28e24bcecb806cb71ea994b648fd6 | ||
12436 | |||
12437 | commit f2c06ab8dd90582030991f631a2715216bf45e5a | ||
12438 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12439 | Date: Fri Jun 8 17:43:36 2018 +1000 | ||
12440 | |||
12441 | Remove ability to override $LD. | ||
12442 | |||
12443 | Since autoconf always uses $CC to link C programs, allowing users to | ||
12444 | override LD caused mismatches between what LD_LINK_IFELSE thought worked | ||
12445 | and what ld thought worked. If you do need to do this kind of thing you | ||
12446 | need to set a compiler flag such as gcc's -fuse-ld in LDFLAGS. | ||
12447 | |||
12448 | commit e1542a80797b4ea40a91d2896efdcc76a57056d2 | ||
12449 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12450 | Date: Fri Jun 8 13:55:59 2018 +1000 | ||
12451 | |||
12452 | Better detection of unsupported compiler options. | ||
12453 | |||
12454 | Should prevent "unsupported -Wl,-z,retpoline" warnings during linking. | ||
12455 | ok djm@ | ||
12456 | |||
12457 | commit 57379dbd013ad32ee3f9989bf5f5741065428360 | ||
12458 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12459 | Date: Thu Jun 7 14:29:43 2018 +0000 | ||
12460 | |||
12461 | upstream: test the correct configuration option name | ||
12462 | |||
12463 | OpenBSD-Regress-ID: 492279ea9f65657f97a970e0e7c7fd0b339fee23 | ||
12464 | |||
12465 | commit 6d41815e202fbd6182c79780b6cc90e1ec1c9981 | ||
12466 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12467 | Date: Thu Jun 7 09:26:42 2018 +0000 | ||
12468 | |||
12469 | upstream: some permitlisten fixes from markus@ that I missed in my | ||
12470 | |||
12471 | insomnia-fueled commits last night | ||
12472 | |||
12473 | OpenBSD-Commit-ID: 26f23622e928996086e85b1419cc1c0f136e359c | ||
12474 | |||
12475 | commit 4319f7a868d86d435fa07112fcb6153895d03a7f | ||
12476 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12477 | Date: Thu Jun 7 04:46:34 2018 +0000 | ||
12478 | |||
12479 | upstream: permitlisten/PermitListen unit test from Markus | ||
12480 | |||
12481 | OpenBSD-Regress-ID: ab12eb42f0e14926980441cf7c058a6d1d832ea5 | ||
12482 | |||
12483 | commit fa09076410ffc2d34d454145af23c790d728921e | ||
12484 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12485 | Date: Thu Jun 7 04:31:51 2018 +0000 | ||
12486 | |||
12487 | upstream: fix regression caused by recent permitlisten option commit: | ||
12488 | |||
12489 | authorized_keys lines that contained permitopen/permitlisten were being | ||
12490 | treated as invalid. | ||
12491 | |||
12492 | OpenBSD-Commit-ID: 7ef41d63a5a477b405d142dc925b67d9e7aaa31b | ||
12493 | |||
12494 | commit 7f90635216851f6cb4bf3999e98b825f85d604f8 | ||
12495 | Author: markus@openbsd.org <markus@openbsd.org> | ||
12496 | Date: Wed Jun 6 18:29:18 2018 +0000 | ||
12497 | |||
12498 | upstream: switch config file parsing to getline(3) as this avoids | ||
12499 | |||
12500 | static limits noted by gerhard@; ok dtucker@, djm@ | ||
12501 | |||
12502 | OpenBSD-Commit-ID: 6d702eabef0fa12e5a1d75c334a8c8b325298b5c | ||
12503 | |||
12504 | commit 392db2bc83215986a91c0b65feb0e40e7619ce7e | ||
12505 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12506 | Date: Wed Jun 6 18:25:33 2018 +0000 | ||
12507 | |||
12508 | upstream: regress test for PermitOpen | ||
12509 | |||
12510 | OpenBSD-Regress-ID: ce8b5f28fc039f09bb297fc4a92319e65982ddaf | ||
12511 | |||
12512 | commit 803d896ef30758135e2f438bdd1a0be27989e018 | ||
12513 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12514 | Date: Wed Jun 6 18:24:15 2018 +0000 | ||
12515 | |||
12516 | upstream: man bits for permitlisten authorized_keys option | ||
12517 | |||
12518 | OpenBSD-Commit-ID: 86910af8f781a4ac5980fea125442eb25466dd78 | ||
12519 | |||
12520 | commit 04df43208b5b460d7360e1598f876b92a32f5922 | ||
12521 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12522 | Date: Wed Jun 6 18:24:00 2018 +0000 | ||
12523 | |||
12524 | upstream: man bits for PermitListen | ||
12525 | |||
12526 | OpenBSD-Commit-ID: 35b200cba4e46a16a4db6a80ef11838ab0fad67c | ||
12527 | |||
12528 | commit 93c06ab6b77514e0447fe4f1d822afcbb2a9be08 | ||
12529 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12530 | Date: Wed Jun 6 18:23:32 2018 +0000 | ||
12531 | |||
12532 | upstream: permitlisten option for authorized_keys; ok markus@ | ||
12533 | |||
12534 | OpenBSD-Commit-ID: 8650883018d7aa893173d703379e4456a222c672 | ||
12535 | |||
12536 | commit 115063a6647007286cc8ca70abfd2a7585f26ccc | ||
12537 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12538 | Date: Wed Jun 6 18:22:41 2018 +0000 | ||
12539 | |||
12540 | upstream: Add a PermitListen directive to control which server-side | ||
12541 | |||
12542 | addresses may be listened on when the client requests remote forwarding (ssh | ||
12543 | -R). | ||
12544 | |||
12545 | This is the converse of the existing PermitOpen directive and this | ||
12546 | includes some refactoring to share much of its implementation. | ||
12547 | |||
12548 | feedback and ok markus@ | ||
12549 | |||
12550 | OpenBSD-Commit-ID: 15a931238c61a3f2ac74ea18a98c933e358e277f | ||
12551 | |||
12552 | commit 7703ae5f5d42eb302ded51705166ff6e19c92892 | ||
12553 | Author: Darren Tucker <dtucker@dtucker.net> | ||
12554 | Date: Wed Jun 6 16:04:29 2018 +1000 | ||
12555 | |||
12556 | Use ssh-keygen -A to generate missing host keys. | ||
12557 | |||
12558 | Instead of testing for each specific key type, use ssh-keygen -A to | ||
12559 | generate any missing host key types. | ||
12560 | |||
12561 | commit e8d59fef1098e24f408248dc64e5c8efa5d01f3c | ||
12562 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12563 | Date: Fri Jun 1 06:23:10 2018 +0000 | ||
12564 | |||
12565 | upstream: add missing punctuation after %i in ssh_config.5, and | ||
12566 | |||
12567 | make the grammatical format in sshd_config.5 match that in ssh_config.5; | ||
12568 | |||
12569 | OpenBSD-Commit-ID: e325663b9342f3d556e223e5306e0d5fa1a74fa0 | ||
12570 | |||
12571 | commit a1f737d6a99314e291a87856122cb4dbaf64c641 | ||
12572 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12573 | Date: Fri Jun 1 05:52:26 2018 +0000 | ||
12574 | |||
12575 | upstream: oops - further adjustment to text neccessary; | ||
12576 | |||
12577 | OpenBSD-Commit-ID: 23585576c807743112ab956be0fb3c786bdef025 | ||
12578 | |||
12579 | commit 294028493471e0bd0c7ffe55dc0c0a67cba6ec41 | ||
12580 | Author: jmc@openbsd.org <jmc@openbsd.org> | ||
12581 | Date: Fri Jun 1 05:50:18 2018 +0000 | ||
12582 | |||
12583 | upstream: %U needs to be escaped; tweak text; | ||
12584 | |||
12585 | OpenBSD-Commit-ID: 30887b73ece257273fb619ab6f4e86dc92ddc15e | ||
12586 | |||
12587 | commit e5019da3c5a31e6e729a565f2b886a80c4be96cc | ||
12588 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
12589 | Date: Fri Jun 1 04:31:48 2018 +0000 | ||
12590 | |||
12591 | upstream: Apply umask to all incoming files and directories not | ||
12592 | |||
12593 | just files. This makes sure it gets applied to directories too, and prevents | ||
12594 | a race where files get chmodded after creation. bz#2839, ok djm@ | ||
12595 | |||
12596 | OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b | ||
12597 | |||
12598 | commit a1dcafc41c376332493b9385ee39f9754dc145ec | ||
12599 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12600 | Date: Fri Jun 1 03:52:37 2018 +0000 | ||
12601 | |||
12602 | upstream: Adapt to extra default verboisity from ssh-keygen when | ||
12603 | |||
12604 | searching for and hashing known_hosts entries in a single operation | ||
12605 | (ssh-keygen -HF ...) Patch from Anton Kremenetsky | ||
12606 | |||
12607 | OpenBSD-Regress-ID: 519585a4de35c4611285bd6a7272766c229b19dd | ||
12608 | |||
12609 | commit 76f314c75dffd4a55839d50ee23622edad52c168 | ||
12610 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12611 | Date: Tue May 22 00:22:49 2018 +0000 | ||
12612 | |||
12613 | upstream: Add TEST_SSH_FAIL_FATAL variable, to force all failures | ||
12614 | |||
12615 | to instantly abort the test. Useful in capturing clean logs for individual | ||
12616 | failure cases. | ||
12617 | |||
12618 | OpenBSD-Regress-ID: feba18cf338c2328b9601bd4093cabdd9baa3af1 | ||
12619 | |||
12620 | commit 065c8c055df8d83ae7c92e5e524a579d87668aab | ||
12621 | Author: dtucker@openbsd.org <dtucker@openbsd.org> | ||
12622 | Date: Fri May 11 03:51:06 2018 +0000 | ||
12623 | |||
12624 | upstream: Clean up comment. | ||
12625 | |||
12626 | OpenBSD-Regress-ID: 6adb35f384d447e7dcb9f170d4f0d546d3973e10 | ||
12627 | |||
12628 | commit 01b048c8eba3b021701bd0ab26257fc82903cba8 | ||
12629 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12630 | Date: Fri Jun 1 04:21:29 2018 +0000 | ||
12631 | |||
12632 | upstream: whitespace | ||
12633 | |||
12634 | OpenBSD-Commit-ID: e5edb5e843ddc9b73a8e46518899be41d5709add | ||
12635 | |||
12636 | commit 854ae209f992465a276de0b5f10ef770510c2418 | ||
12637 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12638 | Date: Fri Jun 1 04:05:29 2018 +0000 | ||
12639 | |||
12640 | upstream: make ssh_remote_ipaddr() capable of being called after | ||
12641 | |||
12642 | the ssh->state has been torn down; bz#2773 | ||
12643 | |||
12644 | OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb | ||
12645 | |||
12646 | commit 3e088aaf236ef35beeef3c9be93fd53700df5861 | ||
12647 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12648 | Date: Fri Jun 1 03:51:34 2018 +0000 | ||
12649 | |||
12650 | upstream: return correct exit code when searching for and hashing | ||
12651 | |||
12652 | known_hosts entries in a single operation (ssh-keygen -HF hostname); bz2772 | ||
12653 | Report and fix from Anton Kremenetsky | ||
12654 | |||
12655 | OpenBSD-Commit-ID: ac10ca13eb9bb0bc50fcd42ad11c56c317437b58 | ||
12656 | |||
12657 | commit 9c935dd9bf05628826ad2495d3e8bdf3d3271c21 | ||
12658 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12659 | Date: Fri Jun 1 03:33:53 2018 +0000 | ||
12660 | |||
12661 | upstream: make UID available as a %-expansion everywhere that the | ||
12662 | |||
12663 | username is available currently. In the client this is via %i, in the server | ||
12664 | %U (since %i was already used in the client in some places for this, but used | ||
12665 | for something different in the server); bz#2870, ok dtucker@ | ||
12666 | |||
12667 | OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95 | ||
12668 | |||
12669 | commit d8748b91d1d6c108c0c260ed41fa55f37b9ef34b | ||
12670 | Author: djm@openbsd.org <djm@openbsd.org> | ||
12671 | Date: Fri Jun 1 03:11:49 2018 +0000 | ||
12672 | |||
12673 | upstream: prefer argv0 to "ssh" when re-executing ssh for ProxyJump | ||
12674 | |||
12675 | directive; bz2831, feedback and ok dtucker@ | ||
12676 | |||
12677 | OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e | ||
@@ -1,4 +1,3 @@ | |||
1 | 1. Prerequisites | ||
2 | ---------------- | 1 | ---------------- |
3 | 2 | ||
4 | A C compiler. Any C89 or better compiler should work. Where supported, | 3 | A C compiler. Any C89 or better compiler should work. Where supported, |
@@ -97,11 +96,12 @@ http://nlnetlabs.nl/projects/ldns/ | |||
97 | Autoconf: | 96 | Autoconf: |
98 | 97 | ||
99 | If you modify configure.ac or configure doesn't exist (eg if you checked | 98 | If you modify configure.ac or configure doesn't exist (eg if you checked |
100 | the code out of git yourself) then you will need autoconf-2.69 to rebuild | 99 | the code out of git yourself) then you will need autoconf-2.69 and |
101 | the automatically generated files by running "autoreconf". Earlier | 100 | automake-1.16.1 to rebuild the automatically generated files by running |
102 | versions may also work but this is not guaranteed. | 101 | "autoreconf". Earlier versions may also work but this is not guaranteed. |
103 | 102 | ||
104 | http://www.gnu.org/software/autoconf/ | 103 | http://www.gnu.org/software/autoconf/ |
104 | http://www.gnu.org/software/automake/ | ||
105 | 105 | ||
106 | Basic Security Module (BSM): | 106 | Basic Security Module (BSM): |
107 | 107 | ||
@@ -120,7 +120,8 @@ the dependency (.depend) file using "make depend", which requires the | |||
120 | libfido2: | 120 | libfido2: |
121 | 121 | ||
122 | libfido2 allows the use of hardware security keys over USB. libfido2 | 122 | libfido2 allows the use of hardware security keys over USB. libfido2 |
123 | in turn depends on libcbor. | 123 | in turn depends on libcbor. libfido2 >= 1.5.0 is strongly recommended. |
124 | Limited functionality is possible with earlier libfido2 versions. | ||
124 | 125 | ||
125 | https://github.com/Yubico/libfido2 | 126 | https://github.com/Yubico/libfido2 |
126 | https://github.com/pjk/libcbor | 127 | https://github.com/pjk/libcbor |
@@ -221,6 +222,11 @@ libraries are installed. | |||
221 | 222 | ||
222 | --with-ssl-engine enables Libre/OpenSSL's (hardware) ENGINE support | 223 | --with-ssl-engine enables Libre/OpenSSL's (hardware) ENGINE support |
223 | 224 | ||
225 | --without-openssl builds without using OpenSSL. Only a subset of ciphers | ||
226 | and algorithms are supported in this configuration. | ||
227 | |||
228 | --without-zlib builds without zlib. This disables the Compression option. | ||
229 | |||
224 | --with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to | 230 | --with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to |
225 | real (AF_INET) IPv4 addresses. Works around some quirks on Linux. | 231 | real (AF_INET) IPv4 addresses. Works around some quirks on Linux. |
226 | 232 | ||
diff --git a/Makefile.in b/Makefile.in index 3aa808a38..73e56aaac 100644 --- a/Makefile.in +++ b/Makefile.in | |||
@@ -49,7 +49,6 @@ PICFLAG=@PICFLAG@ | |||
49 | LIBS=@LIBS@ | 49 | LIBS=@LIBS@ |
50 | K5LIBS=@K5LIBS@ | 50 | K5LIBS=@K5LIBS@ |
51 | GSSLIBS=@GSSLIBS@ | 51 | GSSLIBS=@GSSLIBS@ |
52 | SSHLIBS=@SSHLIBS@ | ||
53 | SSHDLIBS=@SSHDLIBS@ | 52 | SSHDLIBS=@SSHDLIBS@ |
54 | LIBEDIT=@LIBEDIT@ | 53 | LIBEDIT=@LIBEDIT@ |
55 | LIBFIDO2=@LIBFIDO2@ | 54 | LIBFIDO2=@LIBFIDO2@ |
@@ -58,7 +57,6 @@ AWK=@AWK@ | |||
58 | RANLIB=@RANLIB@ | 57 | RANLIB=@RANLIB@ |
59 | INSTALL=@INSTALL@ | 58 | INSTALL=@INSTALL@ |
60 | SED=@SED@ | 59 | SED=@SED@ |
61 | ENT=@ENT@ | ||
62 | XAUTH_PATH=@XAUTH_PATH@ | 60 | XAUTH_PATH=@XAUTH_PATH@ |
63 | LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@ | 61 | LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@ |
64 | LDFLAGS_NOPIE=-L. -Lopenbsd-compat/ @LDFLAGS_NOPIE@ | 62 | LDFLAGS_NOPIE=-L. -Lopenbsd-compat/ @LDFLAGS_NOPIE@ |
@@ -190,7 +188,7 @@ $(SSHOBJS): Makefile.in config.h | |||
190 | $(SSHDOBJS): Makefile.in config.h | 188 | $(SSHDOBJS): Makefile.in config.h |
191 | configure-check: $(srcdir)/configure | 189 | configure-check: $(srcdir)/configure |
192 | 190 | ||
193 | $(srcdir)/configure: configure.ac aclocal.m4 | 191 | $(srcdir)/configure: configure.ac $(srcdir)/m4/*.m4 |
194 | @echo "ERROR: configure is out of date; please run ${AUTORECONF} (and configure)" 1>&2 | 192 | @echo "ERROR: configure is out of date; please run ${AUTORECONF} (and configure)" 1>&2 |
195 | @exit 1 | 193 | @exit 1 |
196 | 194 | ||
@@ -207,7 +205,7 @@ libssh.a: $(LIBSSH_OBJS) | |||
207 | $(RANLIB) $@ | 205 | $(RANLIB) $@ |
208 | 206 | ||
209 | ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS) | 207 | ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS) |
210 | $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHLIBS) $(LIBS) $(GSSLIBS) | 208 | $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(GSSLIBS) |
211 | 209 | ||
212 | sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS) | 210 | sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS) |
213 | $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) | 211 | $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) |
@@ -278,6 +276,8 @@ clean: regressclean | |||
278 | rm -f regress/unittests/sshbuf/test_sshbuf$(EXEEXT) | 276 | rm -f regress/unittests/sshbuf/test_sshbuf$(EXEEXT) |
279 | rm -f regress/unittests/sshkey/*.o | 277 | rm -f regress/unittests/sshkey/*.o |
280 | rm -f regress/unittests/sshkey/test_sshkey$(EXEEXT) | 278 | rm -f regress/unittests/sshkey/test_sshkey$(EXEEXT) |
279 | rm -f regress/unittests/sshsig/*.o | ||
280 | rm -f regress/unittests/sshsig/test_sshsig$(EXEEXT) | ||
281 | rm -f regress/unittests/bitmap/*.o | 281 | rm -f regress/unittests/bitmap/*.o |
282 | rm -f regress/unittests/bitmap/test_bitmap$(EXEEXT) | 282 | rm -f regress/unittests/bitmap/test_bitmap$(EXEEXT) |
283 | rm -f regress/unittests/conversion/*.o | 283 | rm -f regress/unittests/conversion/*.o |
@@ -311,6 +311,8 @@ distclean: regressclean | |||
311 | rm -f regress/unittests/sshbuf/test_sshbuf | 311 | rm -f regress/unittests/sshbuf/test_sshbuf |
312 | rm -f regress/unittests/sshkey/*.o | 312 | rm -f regress/unittests/sshkey/*.o |
313 | rm -f regress/unittests/sshkey/test_sshkey | 313 | rm -f regress/unittests/sshkey/test_sshkey |
314 | rm -f regress/unittests/sshsig/*.o | ||
315 | rm -f regress/unittests/sshsig/test_sshsig | ||
314 | rm -f regress/unittests/bitmap/*.o | 316 | rm -f regress/unittests/bitmap/*.o |
315 | rm -f regress/unittests/bitmap/test_bitmap | 317 | rm -f regress/unittests/bitmap/test_bitmap |
316 | rm -f regress/unittests/conversion/*.o | 318 | rm -f regress/unittests/conversion/*.o |
@@ -490,6 +492,7 @@ regress-prep: | |||
490 | $(MKDIR_P) `pwd`/regress/unittests/test_helper | 492 | $(MKDIR_P) `pwd`/regress/unittests/test_helper |
491 | $(MKDIR_P) `pwd`/regress/unittests/sshbuf | 493 | $(MKDIR_P) `pwd`/regress/unittests/sshbuf |
492 | $(MKDIR_P) `pwd`/regress/unittests/sshkey | 494 | $(MKDIR_P) `pwd`/regress/unittests/sshkey |
495 | $(MKDIR_P) `pwd`/regress/unittests/sshsig | ||
493 | $(MKDIR_P) `pwd`/regress/unittests/bitmap | 496 | $(MKDIR_P) `pwd`/regress/unittests/bitmap |
494 | $(MKDIR_P) `pwd`/regress/unittests/conversion | 497 | $(MKDIR_P) `pwd`/regress/unittests/conversion |
495 | $(MKDIR_P) `pwd`/regress/unittests/hostkeys | 498 | $(MKDIR_P) `pwd`/regress/unittests/hostkeys |
@@ -561,6 +564,17 @@ regress/unittests/sshkey/test_sshkey$(EXEEXT): ${UNITTESTS_TEST_SSHKEY_OBJS} \ | |||
561 | regress/unittests/test_helper/libtest_helper.a \ | 564 | regress/unittests/test_helper/libtest_helper.a \ |
562 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) | 565 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) |
563 | 566 | ||
567 | UNITTESTS_TEST_SSHSIG_OBJS=\ | ||
568 | sshsig.o \ | ||
569 | regress/unittests/sshsig/tests.o \ | ||
570 | $(SKOBJS) | ||
571 | |||
572 | regress/unittests/sshsig/test_sshsig$(EXEEXT): ${UNITTESTS_TEST_SSHSIG_OBJS} \ | ||
573 | regress/unittests/test_helper/libtest_helper.a libssh.a | ||
574 | $(LD) -o $@ $(LDFLAGS) $(UNITTESTS_TEST_SSHSIG_OBJS) \ | ||
575 | regress/unittests/test_helper/libtest_helper.a \ | ||
576 | -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) | ||
577 | |||
564 | UNITTESTS_TEST_BITMAP_OBJS=\ | 578 | UNITTESTS_TEST_BITMAP_OBJS=\ |
565 | regress/unittests/bitmap/tests.o | 579 | regress/unittests/bitmap/tests.o |
566 | 580 | ||
@@ -657,6 +671,7 @@ regress-binaries: regress-prep $(LIBCOMPAT) \ | |||
657 | regress-unit-binaries: regress-prep $(REGRESSLIBS) \ | 671 | regress-unit-binaries: regress-prep $(REGRESSLIBS) \ |
658 | regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \ | 672 | regress/unittests/sshbuf/test_sshbuf$(EXEEXT) \ |
659 | regress/unittests/sshkey/test_sshkey$(EXEEXT) \ | 673 | regress/unittests/sshkey/test_sshkey$(EXEEXT) \ |
674 | regress/unittests/sshsig/test_sshsig$(EXEEXT) \ | ||
660 | regress/unittests/bitmap/test_bitmap$(EXEEXT) \ | 675 | regress/unittests/bitmap/test_bitmap$(EXEEXT) \ |
661 | regress/unittests/conversion/test_conversion$(EXEEXT) \ | 676 | regress/unittests/conversion/test_conversion$(EXEEXT) \ |
662 | regress/unittests/hostkeys/test_hostkeys$(EXEEXT) \ | 677 | regress/unittests/hostkeys/test_hostkeys$(EXEEXT) \ |
@@ -140,7 +140,7 @@ window space and may be sent even if no window space is available. | |||
140 | NB. due to certain broken SSH implementations aborting upon receipt | 140 | NB. due to certain broken SSH implementations aborting upon receipt |
141 | of this message (in contravention of RFC4254 section 5.4), this | 141 | of this message (in contravention of RFC4254 section 5.4), this |
142 | message is only sent to OpenSSH peers (identified by banner). | 142 | message is only sent to OpenSSH peers (identified by banner). |
143 | Other SSH implementations may be whitelisted to receive this message | 143 | Other SSH implementations may be listed to receive this message |
144 | upon request. | 144 | upon request. |
145 | 145 | ||
146 | 2.2. connection: disallow additional sessions extension | 146 | 2.2. connection: disallow additional sessions extension |
@@ -169,7 +169,7 @@ Note that this is not a general defence against compromised clients | |||
169 | NB. due to certain broken SSH implementations aborting upon receipt | 169 | NB. due to certain broken SSH implementations aborting upon receipt |
170 | of this message, the no-more-sessions request is only sent to OpenSSH | 170 | of this message, the no-more-sessions request is only sent to OpenSSH |
171 | servers (identified by banner). Other SSH implementations may be | 171 | servers (identified by banner). Other SSH implementations may be |
172 | whitelisted to receive this message upon request. | 172 | listed to receive this message upon request. |
173 | 173 | ||
174 | 2.3. connection: Tunnel forward extension "tun@openssh.com" | 174 | 2.3. connection: Tunnel forward extension "tun@openssh.com" |
175 | 175 | ||
@@ -496,4 +496,4 @@ OpenSSH's connection multiplexing uses messages as described in | |||
496 | PROTOCOL.mux over a Unix domain socket for communications between a | 496 | PROTOCOL.mux over a Unix domain socket for communications between a |
497 | master instance and later clients. | 497 | master instance and later clients. |
498 | 498 | ||
499 | $OpenBSD: PROTOCOL,v 1.37 2020/02/21 00:04:43 dtucker Exp $ | 499 | $OpenBSD: PROTOCOL,v 1.38 2020/07/05 23:59:45 djm Exp $ |
diff --git a/PROTOCOL.agent b/PROTOCOL.agent index da3381942..6947b46cd 100644 --- a/PROTOCOL.agent +++ b/PROTOCOL.agent | |||
@@ -2,4 +2,6 @@ This file used to contain a description of the SSH agent protocol | |||
2 | implemented by OpenSSH. It has since been superseded by an Internet- | 2 | implemented by OpenSSH. It has since been superseded by an Internet- |
3 | draft that is available from: | 3 | draft that is available from: |
4 | 4 | ||
5 | $OpenBSD: PROTOCOL.agent,v 1.13 2020/08/31 00:17:41 djm Exp $ | ||
6 | |||
5 | https://tools.ietf.org/html/draft-miller-ssh-agent-02 | 7 | https://tools.ietf.org/html/draft-miller-ssh-agent-02 |
diff --git a/PROTOCOL.sshsig b/PROTOCOL.sshsig index 720e1f18a..78457ddfc 100644 --- a/PROTOCOL.sshsig +++ b/PROTOCOL.sshsig | |||
@@ -71,7 +71,7 @@ encoding rules for the chosen key type. For RSA signatures, the | |||
71 | signature algorithm must be "rsa-sha2-512" or "rsa-sha2-256" (i.e. | 71 | signature algorithm must be "rsa-sha2-512" or "rsa-sha2-256" (i.e. |
72 | not the legacy RSA-SHA1 "ssh-rsa"). | 72 | not the legacy RSA-SHA1 "ssh-rsa"). |
73 | 73 | ||
74 | This blob is encoded as a string using the RFC4243 encoding | 74 | This blob is encoded as a string using the RFC4253 encoding |
75 | rules and base64 encoded to form the middle part of the | 75 | rules and base64 encoded to form the middle part of the |
76 | armored signature. | 76 | armored signature. |
77 | 77 | ||
@@ -97,3 +97,4 @@ the reserved field if it is not empty. | |||
97 | The data is concatenated and passed to the SSH signing | 97 | The data is concatenated and passed to the SSH signing |
98 | function. | 98 | function. |
99 | 99 | ||
100 | $OpenBSD: PROTOCOL.sshsig,v 1.4 2020/08/31 00:17:41 djm Exp $ | ||
diff --git a/PROTOCOL.u2f b/PROTOCOL.u2f index 917e669cd..f8ca56b11 100644 --- a/PROTOCOL.u2f +++ b/PROTOCOL.u2f | |||
@@ -39,6 +39,13 @@ the key handle be supplied for each signature operation. U2F tokens | |||
39 | primarily use ECDSA signatures in the NIST-P256 field, though the FIDO2 | 39 | primarily use ECDSA signatures in the NIST-P256 field, though the FIDO2 |
40 | standard specifies additional key types, including one based on Ed25519. | 40 | standard specifies additional key types, including one based on Ed25519. |
41 | 41 | ||
42 | Use of U2F security keys does not automatically imply multi-factor | ||
43 | authentication. From sshd's perspective, a security key constitutes a | ||
44 | single factor of authentication, even if protected by a PIN or biometric | ||
45 | authentication. To enable multi-factor authentication in ssh, please | ||
46 | refer to the AuthenticationMethods option in sshd_config(5). | ||
47 | |||
48 | |||
42 | SSH U2F Key formats | 49 | SSH U2F Key formats |
43 | ------------------- | 50 | ------------------- |
44 | 51 | ||
@@ -147,6 +154,16 @@ by trusted hardware before it will issue a certificate. To support this | |||
147 | case, OpenSSH optionally allows retaining the attestation information | 154 | case, OpenSSH optionally allows retaining the attestation information |
148 | at the time of key generation. It will take the following format: | 155 | at the time of key generation. It will take the following format: |
149 | 156 | ||
157 | string "ssh-sk-attest-v01" | ||
158 | string attestation certificate | ||
159 | string enrollment signature | ||
160 | string authenticator data (CBOR encoded) | ||
161 | uint32 reserved flags | ||
162 | string reserved string | ||
163 | |||
164 | A previous version of this format, emitted prior to OpenSSH 8.4 omitted | ||
165 | the authenticator data. | ||
166 | |||
150 | string "ssh-sk-attest-v00" | 167 | string "ssh-sk-attest-v00" |
151 | string attestation certificate | 168 | string attestation certificate |
152 | string enrollment signature | 169 | string enrollment signature |
@@ -202,6 +219,32 @@ For Ed25519 keys the signature is encoded as: | |||
202 | byte flags | 219 | byte flags |
203 | uint32 counter | 220 | uint32 counter |
204 | 221 | ||
222 | webauthn signatures | ||
223 | ------------------- | ||
224 | |||
225 | The W3C/FIDO webauthn[1] standard defines a mechanism for a web browser to | ||
226 | interact with FIDO authentication tokens. This standard builds upon the | ||
227 | FIDO standards, but requires different signature contents to raw FIDO | ||
228 | messages. OpenSSH supports ECDSA/p256 webauthn signatures through the | ||
229 | "webauthn-sk-ecdsa-sha2-nistp256@openssh.com" signature algorithm. | ||
230 | |||
231 | The wire encoding for a webauthn-sk-ecdsa-sha2-nistp256@openssh.com | ||
232 | signature is similar to the sk-ecdsa-sha2-nistp256@openssh.com format: | ||
233 | |||
234 | string "webauthn-sk-ecdsa-sha2-nistp256@openssh.com" | ||
235 | string ecdsa_signature | ||
236 | byte flags | ||
237 | uint32 counter | ||
238 | string origin | ||
239 | string clientData | ||
240 | string extensions | ||
241 | |||
242 | Where "origin" is the HTTP origin making the signature, "clientData" is | ||
243 | the JSON-like structure signed by the browser and "extensions" are any | ||
244 | extensions used in making the signature. | ||
245 | |||
246 | [1] https://www.w3.org/TR/webauthn-2/ | ||
247 | |||
205 | ssh-agent protocol extensions | 248 | ssh-agent protocol extensions |
206 | ----------------------------- | 249 | ----------------------------- |
207 | 250 | ||
@@ -234,87 +277,15 @@ regress testing. For this reason, OpenSSH shall support a dynamically- | |||
234 | loaded middleware libraries to communicate with security keys, but offer | 277 | loaded middleware libraries to communicate with security keys, but offer |
235 | support for the common case of USB HID security keys internally. | 278 | support for the common case of USB HID security keys internally. |
236 | 279 | ||
237 | The middleware library need only expose a handful of functions: | 280 | The middleware library need only expose a handful of functions and |
238 | 281 | numbers listed in sk-api.h. Included in the defined numbers is a | |
239 | #define SSH_SK_VERSION_MAJOR 0x00050000 /* API version */ | 282 | SSH_SK_VERSION_MAJOR that should be incremented for each incompatible |
240 | #define SSH_SK_VERSION_MAJOR_MASK 0xffff0000 | ||
241 | |||
242 | /* Flags */ | ||
243 | #define SSH_SK_USER_PRESENCE_REQD 0x01 | ||
244 | #define SSH_SK_USER_VERIFICATION_REQD 0x04 | ||
245 | #define SSH_SK_RESIDENT_KEY 0x20 | ||
246 | |||
247 | /* Algs */ | ||
248 | #define SSH_SK_ECDSA 0x00 | ||
249 | #define SSH_SK_ED25519 0x01 | ||
250 | |||
251 | /* Error codes */ | ||
252 | #define SSH_SK_ERR_GENERAL -1 | ||
253 | #define SSH_SK_ERR_UNSUPPORTED -2 | ||
254 | #define SSH_SK_ERR_PIN_REQUIRED -3 | ||
255 | #define SSH_SK_ERR_DEVICE_NOT_FOUND -4 | ||
256 | |||
257 | struct sk_enroll_response { | ||
258 | uint8_t *public_key; | ||
259 | size_t public_key_len; | ||
260 | uint8_t *key_handle; | ||
261 | size_t key_handle_len; | ||
262 | uint8_t *signature; | ||
263 | size_t signature_len; | ||
264 | uint8_t *attestation_cert; | ||
265 | size_t attestation_cert_len; | ||
266 | }; | ||
267 | |||
268 | struct sk_sign_response { | ||
269 | uint8_t flags; | ||
270 | uint32_t counter; | ||
271 | uint8_t *sig_r; | ||
272 | size_t sig_r_len; | ||
273 | uint8_t *sig_s; | ||
274 | size_t sig_s_len; | ||
275 | }; | ||
276 | |||
277 | struct sk_resident_key { | ||
278 | uint32_t alg; | ||
279 | size_t slot; | ||
280 | char *application; | ||
281 | struct sk_enroll_response key; | ||
282 | }; | ||
283 | |||
284 | struct sk_option { | ||
285 | char *name; | ||
286 | char *value; | ||
287 | uint8_t important; | ||
288 | }; | ||
289 | |||
290 | /* Return the version of the middleware API */ | ||
291 | uint32_t sk_api_version(void); | ||
292 | |||
293 | /* Enroll a U2F key (private key generation) */ | ||
294 | int sk_enroll(uint32_t alg, | ||
295 | const uint8_t *challenge, size_t challenge_len, | ||
296 | const char *application, uint8_t flags, const char *pin, | ||
297 | struct sk_option **options, | ||
298 | struct sk_enroll_response **enroll_response); | ||
299 | |||
300 | /* Sign a challenge */ | ||
301 | int sk_sign(uint32_t alg, const uint8_t *message, size_t message_len, | ||
302 | const char *application, | ||
303 | const uint8_t *key_handle, size_t key_handle_len, | ||
304 | uint8_t flags, const char *pin, struct sk_option **options, | ||
305 | struct sk_sign_response **sign_response); | ||
306 | |||
307 | /* Enumerate all resident keys */ | ||
308 | int sk_load_resident_keys(const char *pin, struct sk_option **options, | ||
309 | struct sk_resident_key ***rks, size_t *nrks); | ||
310 | |||
311 | The SSH_SK_VERSION_MAJOR should be incremented for each incompatible | ||
312 | API change. | 283 | API change. |
313 | 284 | ||
314 | The options may be used to pass miscellaneous options to the middleware | 285 | miscellaneous options may be passed to the middleware as a NULL- |
315 | as a NULL-terminated array of pointers to struct sk_option. The middleware | 286 | terminated array of pointers to struct sk_option. The middleware may |
316 | may ignore unsupported or unknown options unless the "important" flag is | 287 | ignore unsupported or unknown options unless the "required" flag is set, |
317 | set, in which case it should return failure if an unsupported option is | 288 | in which case it should return failure if an unsupported option is |
318 | requested. | 289 | requested. |
319 | 290 | ||
320 | At present the following options names are supported: | 291 | At present the following options names are supported: |
@@ -335,3 +306,4 @@ In OpenSSH, the middleware will be invoked by using a similar mechanism to | |||
335 | ssh-pkcs11-helper to provide address-space containment of the | 306 | ssh-pkcs11-helper to provide address-space containment of the |
336 | middleware from ssh-agent. | 307 | middleware from ssh-agent. |
337 | 308 | ||
309 | $OpenBSD: PROTOCOL.u2f,v 1.26 2020/09/09 03:08:01 djm Exp $ | ||
@@ -1,4 +1,4 @@ | |||
1 | See https://www.openssh.com/releasenotes.html#8.3p1 for the release notes. | 1 | See https://www.openssh.com/releasenotes.html#8.4p1 for the release notes. |
2 | 2 | ||
3 | Please read https://www.openssh.com/report.html for bug reporting | 3 | Please read https://www.openssh.com/report.html for bug reporting |
4 | instructions and note that we do not use Github for bug reporting or | 4 | instructions and note that we do not use Github for bug reporting or |
diff --git a/aclocal.m4 b/aclocal.m4 index 25ecc49a2..c1b774884 100644 --- a/aclocal.m4 +++ b/aclocal.m4 | |||
@@ -1,186 +1,15 @@ | |||
1 | dnl OpenSSH-specific autoconf macros | 1 | # generated automatically by aclocal 1.16.2 -*- Autoconf -*- |
2 | dnl | ||
3 | 2 | ||
4 | dnl OSSH_CHECK_CFLAG_COMPILE(check_flag[, define_flag]) | 3 | # Copyright (C) 1996-2020 Free Software Foundation, Inc. |
5 | dnl Check that $CC accepts a flag 'check_flag'. If it is supported append | ||
6 | dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append | ||
7 | dnl 'check_flag'. | ||
8 | AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{ | ||
9 | AC_MSG_CHECKING([if $CC supports compile flag $1]) | ||
10 | saved_CFLAGS="$CFLAGS" | ||
11 | CFLAGS="$CFLAGS $WERROR $1" | ||
12 | _define_flag="$2" | ||
13 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
14 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||
15 | #include <stdlib.h> | ||
16 | #include <stdio.h> | ||
17 | int main(int argc, char **argv) { | ||
18 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
19 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
20 | float l = i * 2.1; | ||
21 | double m = l / 0.5; | ||
22 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
23 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | ||
24 | exit(0); | ||
25 | } | ||
26 | ]])], | ||
27 | [ | ||
28 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
29 | then | ||
30 | AC_MSG_RESULT([no]) | ||
31 | CFLAGS="$saved_CFLAGS" | ||
32 | else | ||
33 | AC_MSG_RESULT([yes]) | ||
34 | CFLAGS="$saved_CFLAGS $_define_flag" | ||
35 | fi], | ||
36 | [ AC_MSG_RESULT([no]) | ||
37 | CFLAGS="$saved_CFLAGS" ] | ||
38 | ) | ||
39 | }]) | ||
40 | 4 | ||
41 | dnl OSSH_CHECK_CFLAG_LINK(check_flag[, define_flag]) | 5 | # This file is free software; the Free Software Foundation |
42 | dnl Check that $CC accepts a flag 'check_flag'. If it is supported append | 6 | # gives unlimited permission to copy and/or distribute it, |
43 | dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append | 7 | # with or without modifications, as long as this notice is preserved. |
44 | dnl 'check_flag'. | ||
45 | AC_DEFUN([OSSH_CHECK_CFLAG_LINK], [{ | ||
46 | AC_MSG_CHECKING([if $CC supports compile flag $1 and linking succeeds]) | ||
47 | saved_CFLAGS="$CFLAGS" | ||
48 | CFLAGS="$CFLAGS $WERROR $1" | ||
49 | _define_flag="$2" | ||
50 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
51 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | ||
52 | #include <stdlib.h> | ||
53 | #include <stdio.h> | ||
54 | int main(int argc, char **argv) { | ||
55 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
56 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
57 | float l = i * 2.1; | ||
58 | double m = l / 0.5; | ||
59 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
60 | long long int p = n * o; | ||
61 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
62 | exit(0); | ||
63 | } | ||
64 | ]])], | ||
65 | [ | ||
66 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
67 | then | ||
68 | AC_MSG_RESULT([no]) | ||
69 | CFLAGS="$saved_CFLAGS" | ||
70 | else | ||
71 | AC_MSG_RESULT([yes]) | ||
72 | CFLAGS="$saved_CFLAGS $_define_flag" | ||
73 | fi], | ||
74 | [ AC_MSG_RESULT([no]) | ||
75 | CFLAGS="$saved_CFLAGS" ] | ||
76 | ) | ||
77 | }]) | ||
78 | 8 | ||
79 | dnl OSSH_CHECK_LDFLAG_LINK(check_flag[, define_flag]) | 9 | # This program is distributed in the hope that it will be useful, |
80 | dnl Check that $LD accepts a flag 'check_flag'. If it is supported append | 10 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
81 | dnl 'define_flag' to $LDFLAGS. If 'define_flag' is not specified, then append | 11 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
82 | dnl 'check_flag'. | 12 | # PARTICULAR PURPOSE. |
83 | AC_DEFUN([OSSH_CHECK_LDFLAG_LINK], [{ | ||
84 | AC_MSG_CHECKING([if $LD supports link flag $1]) | ||
85 | saved_LDFLAGS="$LDFLAGS" | ||
86 | LDFLAGS="$LDFLAGS $WERROR $1" | ||
87 | _define_flag="$2" | ||
88 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
89 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | ||
90 | #include <stdlib.h> | ||
91 | #include <stdio.h> | ||
92 | int main(int argc, char **argv) { | ||
93 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
94 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
95 | float l = i * 2.1; | ||
96 | double m = l / 0.5; | ||
97 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
98 | long long p = n * o; | ||
99 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
100 | exit(0); | ||
101 | } | ||
102 | ]])], | ||
103 | [ | ||
104 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
105 | then | ||
106 | AC_MSG_RESULT([no]) | ||
107 | LDFLAGS="$saved_LDFLAGS" | ||
108 | else | ||
109 | AC_MSG_RESULT([yes]) | ||
110 | LDFLAGS="$saved_LDFLAGS $_define_flag" | ||
111 | fi ], | ||
112 | [ AC_MSG_RESULT([no]) | ||
113 | LDFLAGS="$saved_LDFLAGS" ] | ||
114 | ) | ||
115 | }]) | ||
116 | |||
117 | dnl OSSH_CHECK_HEADER_FOR_FIELD(field, header, symbol) | ||
118 | dnl Does AC_EGREP_HEADER on 'header' for the string 'field' | ||
119 | dnl If found, set 'symbol' to be defined. Cache the result. | ||
120 | dnl TODO: This is not foolproof, better to compile and read from there | ||
121 | AC_DEFUN(OSSH_CHECK_HEADER_FOR_FIELD, [ | ||
122 | # look for field '$1' in header '$2' | ||
123 | dnl This strips characters illegal to m4 from the header filename | ||
124 | ossh_safe=`echo "$2" | sed 'y%./+-%__p_%'` | ||
125 | dnl | ||
126 | ossh_varname="ossh_cv_$ossh_safe""_has_"$1 | ||
127 | AC_MSG_CHECKING(for $1 field in $2) | ||
128 | AC_CACHE_VAL($ossh_varname, [ | ||
129 | AC_EGREP_HEADER($1, $2, [ dnl | ||
130 | eval "$ossh_varname=yes" dnl | ||
131 | ], [ dnl | ||
132 | eval "$ossh_varname=no" dnl | ||
133 | ]) dnl | ||
134 | ]) | ||
135 | ossh_result=`eval 'echo $'"$ossh_varname"` | ||
136 | if test -n "`echo $ossh_varname`"; then | ||
137 | AC_MSG_RESULT($ossh_result) | ||
138 | if test "x$ossh_result" = "xyes"; then | ||
139 | AC_DEFINE($3, 1, [Define if you have $1 in $2]) | ||
140 | fi | ||
141 | else | ||
142 | AC_MSG_RESULT(no) | ||
143 | fi | ||
144 | ]) | ||
145 | |||
146 | dnl Check for socklen_t: historically on BSD it is an int, and in | ||
147 | dnl POSIX 1g it is a type of its own, but some platforms use different | ||
148 | dnl types for the argument to getsockopt, getpeername, etc. So we | ||
149 | dnl have to test to find something that will work. | ||
150 | AC_DEFUN([TYPE_SOCKLEN_T], | ||
151 | [ | ||
152 | AC_CHECK_TYPE([socklen_t], ,[ | ||
153 | AC_MSG_CHECKING([for socklen_t equivalent]) | ||
154 | AC_CACHE_VAL([curl_cv_socklen_t_equiv], | ||
155 | [ | ||
156 | # Systems have either "struct sockaddr *" or | ||
157 | # "void *" as the second argument to getpeername | ||
158 | curl_cv_socklen_t_equiv= | ||
159 | for arg2 in "struct sockaddr" void; do | ||
160 | for t in int size_t unsigned long "unsigned long"; do | ||
161 | AC_TRY_COMPILE([ | ||
162 | #include <sys/types.h> | ||
163 | #include <sys/socket.h> | ||
164 | |||
165 | int getpeername (int, $arg2 *, $t *); | ||
166 | ],[ | ||
167 | $t len; | ||
168 | getpeername(0,0,&len); | ||
169 | ],[ | ||
170 | curl_cv_socklen_t_equiv="$t" | ||
171 | break | ||
172 | ]) | ||
173 | done | ||
174 | done | ||
175 | |||
176 | if test "x$curl_cv_socklen_t_equiv" = x; then | ||
177 | AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) | ||
178 | fi | ||
179 | ]) | ||
180 | AC_MSG_RESULT($curl_cv_socklen_t_equiv) | ||
181 | AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, | ||
182 | [type to use in place of socklen_t if not defined])], | ||
183 | [#include <sys/types.h> | ||
184 | #include <sys/socket.h>]) | ||
185 | ]) | ||
186 | 13 | ||
14 | m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) | ||
15 | m4_include([m4/openssh.m4]) | ||
diff --git a/auth-options.c b/auth-options.c index 696ba6ac6..98afdf5fe 100644 --- a/auth-options.c +++ b/auth-options.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth-options.c,v 1.92 2020/03/06 18:15:38 markus Exp $ */ | 1 | /* $OpenBSD: auth-options.c,v 1.93 2020/08/27 01:07:09 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018 Damien Miller <djm@mindrot.org> | 3 | * Copyright (c) 2018 Damien Miller <djm@mindrot.org> |
4 | * | 4 | * |
@@ -119,7 +119,10 @@ cert_option_list(struct sshauthopt *opts, struct sshbuf *oblob, | |||
119 | } | 119 | } |
120 | } | 120 | } |
121 | if (!found && (which & OPTIONS_CRITICAL) != 0) { | 121 | if (!found && (which & OPTIONS_CRITICAL) != 0) { |
122 | if (strcmp(name, "force-command") == 0) { | 122 | if (strcmp(name, "verify-required") == 0) { |
123 | opts->require_verify = 1; | ||
124 | found = 1; | ||
125 | } else if (strcmp(name, "force-command") == 0) { | ||
123 | if ((r = sshbuf_get_cstring(data, &command, | 126 | if ((r = sshbuf_get_cstring(data, &command, |
124 | NULL)) != 0) { | 127 | NULL)) != 0) { |
125 | error("Unable to parse \"%s\" " | 128 | error("Unable to parse \"%s\" " |
@@ -134,8 +137,7 @@ cert_option_list(struct sshauthopt *opts, struct sshbuf *oblob, | |||
134 | } | 137 | } |
135 | opts->force_command = command; | 138 | opts->force_command = command; |
136 | found = 1; | 139 | found = 1; |
137 | } | 140 | } else if (strcmp(name, "source-address") == 0) { |
138 | if (strcmp(name, "source-address") == 0) { | ||
139 | if ((r = sshbuf_get_cstring(data, &allowed, | 141 | if ((r = sshbuf_get_cstring(data, &allowed, |
140 | NULL)) != 0) { | 142 | NULL)) != 0) { |
141 | error("Unable to parse \"%s\" " | 143 | error("Unable to parse \"%s\" " |
@@ -351,6 +353,8 @@ sshauthopt_parse(const char *opts, const char **errstrp) | |||
351 | ret->permit_x11_forwarding_flag = r == 1; | 353 | ret->permit_x11_forwarding_flag = r == 1; |
352 | } else if ((r = opt_flag("touch-required", 1, &opts)) != -1) { | 354 | } else if ((r = opt_flag("touch-required", 1, &opts)) != -1) { |
353 | ret->no_require_user_presence = r != 1; /* NB. flip */ | 355 | ret->no_require_user_presence = r != 1; /* NB. flip */ |
356 | } else if ((r = opt_flag("verify-required", 1, &opts)) != -1) { | ||
357 | ret->require_verify = r == 1; | ||
354 | } else if ((r = opt_flag("pty", 1, &opts)) != -1) { | 358 | } else if ((r = opt_flag("pty", 1, &opts)) != -1) { |
355 | ret->permit_pty_flag = r == 1; | 359 | ret->permit_pty_flag = r == 1; |
356 | } else if ((r = opt_flag("user-rc", 1, &opts)) != -1) { | 360 | } else if ((r = opt_flag("user-rc", 1, &opts)) != -1) { |
@@ -572,6 +576,7 @@ sshauthopt_merge(const struct sshauthopt *primary, | |||
572 | } | 576 | } |
573 | 577 | ||
574 | #define OPTFLAG_AND(x) ret->x = (primary->x == 1) && (additional->x == 1) | 578 | #define OPTFLAG_AND(x) ret->x = (primary->x == 1) && (additional->x == 1) |
579 | #define OPTFLAG_OR(x) ret->x = (primary->x == 1) || (additional->x == 1) | ||
575 | /* Permissive flags are logical-AND (i.e. must be set in both) */ | 580 | /* Permissive flags are logical-AND (i.e. must be set in both) */ |
576 | OPTFLAG_AND(permit_port_forwarding_flag); | 581 | OPTFLAG_AND(permit_port_forwarding_flag); |
577 | OPTFLAG_AND(permit_agent_forwarding_flag); | 582 | OPTFLAG_AND(permit_agent_forwarding_flag); |
@@ -579,6 +584,8 @@ sshauthopt_merge(const struct sshauthopt *primary, | |||
579 | OPTFLAG_AND(permit_pty_flag); | 584 | OPTFLAG_AND(permit_pty_flag); |
580 | OPTFLAG_AND(permit_user_rc); | 585 | OPTFLAG_AND(permit_user_rc); |
581 | OPTFLAG_AND(no_require_user_presence); | 586 | OPTFLAG_AND(no_require_user_presence); |
587 | /* Restrictive flags are logical-OR (i.e. must be set in either) */ | ||
588 | OPTFLAG_OR(require_verify); | ||
582 | #undef OPTFLAG_AND | 589 | #undef OPTFLAG_AND |
583 | 590 | ||
584 | /* Earliest expiry time should win */ | 591 | /* Earliest expiry time should win */ |
@@ -649,6 +656,7 @@ sshauthopt_copy(const struct sshauthopt *orig) | |||
649 | OPTSCALAR(force_tun_device); | 656 | OPTSCALAR(force_tun_device); |
650 | OPTSCALAR(valid_before); | 657 | OPTSCALAR(valid_before); |
651 | OPTSCALAR(no_require_user_presence); | 658 | OPTSCALAR(no_require_user_presence); |
659 | OPTSCALAR(require_verify); | ||
652 | #undef OPTSCALAR | 660 | #undef OPTSCALAR |
653 | #define OPTSTRING(x) \ | 661 | #define OPTSTRING(x) \ |
654 | do { \ | 662 | do { \ |
@@ -781,7 +789,8 @@ sshauthopt_serialise(const struct sshauthopt *opts, struct sshbuf *m, | |||
781 | (r = sshbuf_put_u8(m, opts->permit_user_rc)) != 0 || | 789 | (r = sshbuf_put_u8(m, opts->permit_user_rc)) != 0 || |
782 | (r = sshbuf_put_u8(m, opts->restricted)) != 0 || | 790 | (r = sshbuf_put_u8(m, opts->restricted)) != 0 || |
783 | (r = sshbuf_put_u8(m, opts->cert_authority)) != 0 || | 791 | (r = sshbuf_put_u8(m, opts->cert_authority)) != 0 || |
784 | (r = sshbuf_put_u8(m, opts->no_require_user_presence)) != 0) | 792 | (r = sshbuf_put_u8(m, opts->no_require_user_presence)) != 0 || |
793 | (r = sshbuf_put_u8(m, opts->require_verify)) != 0) | ||
785 | return r; | 794 | return r; |
786 | 795 | ||
787 | /* Simple integer options */ | 796 | /* Simple integer options */ |
@@ -844,6 +853,7 @@ sshauthopt_deserialise(struct sshbuf *m, struct sshauthopt **optsp) | |||
844 | OPT_FLAG(restricted); | 853 | OPT_FLAG(restricted); |
845 | OPT_FLAG(cert_authority); | 854 | OPT_FLAG(cert_authority); |
846 | OPT_FLAG(no_require_user_presence); | 855 | OPT_FLAG(no_require_user_presence); |
856 | OPT_FLAG(require_verify); | ||
847 | #undef OPT_FLAG | 857 | #undef OPT_FLAG |
848 | 858 | ||
849 | /* Simple integer options */ | 859 | /* Simple integer options */ |
diff --git a/auth-options.h b/auth-options.h index d96ffedee..118a32087 100644 --- a/auth-options.h +++ b/auth-options.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth-options.h,v 1.29 2019/11/25 00:54:23 djm Exp $ */ | 1 | /* $OpenBSD: auth-options.h,v 1.30 2020/08/27 01:07:09 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2018 Damien Miller <djm@mindrot.org> | 4 | * Copyright (c) 2018 Damien Miller <djm@mindrot.org> |
@@ -71,6 +71,8 @@ struct sshauthopt { | |||
71 | 71 | ||
72 | /* Key requires user presence asserted */ | 72 | /* Key requires user presence asserted */ |
73 | int no_require_user_presence; | 73 | int no_require_user_presence; |
74 | /* Key requires user verification (e.g. PIN) */ | ||
75 | int require_verify; | ||
74 | }; | 76 | }; |
75 | 77 | ||
76 | struct sshauthopt *sshauthopt_new(void); | 78 | struct sshauthopt *sshauthopt_new(void); |
diff --git a/auth-pam.c b/auth-pam.c index 5a3ba09b4..832382151 100644 --- a/auth-pam.c +++ b/auth-pam.c | |||
@@ -375,7 +375,11 @@ import_environments(struct sshbuf *b) | |||
375 | error("PAM: pam_putenv: %s", | 375 | error("PAM: pam_putenv: %s", |
376 | pam_strerror(sshpam_handle, r)); | 376 | pam_strerror(sshpam_handle, r)); |
377 | } | 377 | } |
378 | /* XXX leak env? */ | 378 | /* |
379 | * XXX this possibly leaks env because it is not documented | ||
380 | * what pam_putenv() does with it. Does it copy it? Does it | ||
381 | * take ownweship? We don't know, so it's safest just to leak. | ||
382 | */ | ||
379 | } | 383 | } |
380 | #endif | 384 | #endif |
381 | } | 385 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth.c,v 1.146 2020/01/31 22:42:45 djm Exp $ */ | 1 | /* $OpenBSD: auth.c,v 1.147 2020/08/27 01:07:09 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -913,21 +913,22 @@ auth_log_authopts(const char *loc, const struct sshauthopt *opts, int do_remote) | |||
913 | 913 | ||
914 | snprintf(buf, sizeof(buf), "%d", opts->force_tun_device); | 914 | snprintf(buf, sizeof(buf), "%d", opts->force_tun_device); |
915 | /* Try to keep this alphabetically sorted */ | 915 | /* Try to keep this alphabetically sorted */ |
916 | snprintf(msg, sizeof(msg), "key options:%s%s%s%s%s%s%s%s%s%s%s%s%s%s", | 916 | snprintf(msg, sizeof(msg), "key options:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", |
917 | opts->permit_agent_forwarding_flag ? " agent-forwarding" : "", | 917 | opts->permit_agent_forwarding_flag ? " agent-forwarding" : "", |
918 | opts->force_command == NULL ? "" : " command", | 918 | opts->force_command == NULL ? "" : " command", |
919 | do_env ? " environment" : "", | 919 | do_env ? " environment" : "", |
920 | opts->valid_before == 0 ? "" : "expires", | 920 | opts->valid_before == 0 ? "" : "expires", |
921 | opts->no_require_user_presence ? " no-touch-required" : "", | ||
921 | do_permitopen ? " permitopen" : "", | 922 | do_permitopen ? " permitopen" : "", |
922 | do_permitlisten ? " permitlisten" : "", | 923 | do_permitlisten ? " permitlisten" : "", |
923 | opts->permit_port_forwarding_flag ? " port-forwarding" : "", | 924 | opts->permit_port_forwarding_flag ? " port-forwarding" : "", |
924 | opts->cert_principals == NULL ? "" : " principals", | 925 | opts->cert_principals == NULL ? "" : " principals", |
925 | opts->permit_pty_flag ? " pty" : "", | 926 | opts->permit_pty_flag ? " pty" : "", |
927 | opts->require_verify ? " uv" : "", | ||
926 | opts->force_tun_device == -1 ? "" : " tun=", | 928 | opts->force_tun_device == -1 ? "" : " tun=", |
927 | opts->force_tun_device == -1 ? "" : buf, | 929 | opts->force_tun_device == -1 ? "" : buf, |
928 | opts->permit_user_rc ? " user-rc" : "", | 930 | opts->permit_user_rc ? " user-rc" : "", |
929 | opts->permit_x11_forwarding_flag ? " x11-forwarding" : "", | 931 | opts->permit_x11_forwarding_flag ? " x11-forwarding" : ""); |
930 | opts->no_require_user_presence ? " no-touch-required" : ""); | ||
931 | 932 | ||
932 | debug("%s: %s", loc, msg); | 933 | debug("%s: %s", loc, msg); |
933 | if (do_remote) | 934 | if (do_remote) |
diff --git a/auth2-pubkey.c b/auth2-pubkey.c index 815ea0f25..c3ecd9afc 100644 --- a/auth2-pubkey.c +++ b/auth2-pubkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth2-pubkey.c,v 1.99 2020/02/06 22:30:54 naddy Exp $ */ | 1 | /* $OpenBSD: auth2-pubkey.c,v 1.100 2020/08/27 01:07:09 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -97,7 +97,7 @@ userauth_pubkey(struct ssh *ssh) | |||
97 | u_char *pkblob = NULL, *sig = NULL, have_sig; | 97 | u_char *pkblob = NULL, *sig = NULL, have_sig; |
98 | size_t blen, slen; | 98 | size_t blen, slen; |
99 | int r, pktype; | 99 | int r, pktype; |
100 | int req_presence = 0, authenticated = 0; | 100 | int req_presence = 0, req_verify = 0, authenticated = 0; |
101 | struct sshauthopt *authopts = NULL; | 101 | struct sshauthopt *authopts = NULL; |
102 | struct sshkey_sig_details *sig_details = NULL; | 102 | struct sshkey_sig_details *sig_details = NULL; |
103 | 103 | ||
@@ -239,6 +239,20 @@ userauth_pubkey(struct ssh *ssh) | |||
239 | authenticated = 0; | 239 | authenticated = 0; |
240 | goto done; | 240 | goto done; |
241 | } | 241 | } |
242 | req_verify = (options.pubkey_auth_options & | ||
243 | PUBKEYAUTH_VERIFY_REQUIRED) || | ||
244 | authopts->require_verify; | ||
245 | if (req_verify && (sig_details->sk_flags & | ||
246 | SSH_SK_USER_VERIFICATION_REQD) == 0) { | ||
247 | error("public key %s signature for %s%s from " | ||
248 | "%.128s port %d rejected: user " | ||
249 | "verification requirement not met ", key_s, | ||
250 | authctxt->valid ? "" : "invalid user ", | ||
251 | authctxt->user, ssh_remote_ipaddr(ssh), | ||
252 | ssh_remote_port(ssh)); | ||
253 | authenticated = 0; | ||
254 | goto done; | ||
255 | } | ||
242 | } | 256 | } |
243 | auth2_record_key(authctxt, authenticated, key); | 257 | auth2_record_key(authctxt, authenticated, key); |
244 | } else { | 258 | } else { |
@@ -398,20 +398,20 @@ userauth_finish(struct ssh *ssh, int authenticated, const char *method, | |||
398 | 398 | ||
399 | #ifdef USE_PAM | 399 | #ifdef USE_PAM |
400 | if (options.use_pam && authenticated) { | 400 | if (options.use_pam && authenticated) { |
401 | int r; | 401 | int r, success = PRIVSEP(do_pam_account()); |
402 | 402 | ||
403 | if (!PRIVSEP(do_pam_account())) { | 403 | /* If PAM returned a message, send it to the user. */ |
404 | /* if PAM returned a message, send it to the user */ | 404 | if (sshbuf_len(loginmsg) > 0) { |
405 | if (sshbuf_len(loginmsg) > 0) { | 405 | if ((r = sshbuf_put(loginmsg, "\0", 1)) != 0) |
406 | if ((r = sshbuf_put(loginmsg, "\0", 1)) != 0) | 406 | fatal("%s: buffer error: %s", |
407 | fatal("%s: buffer error: %s", | 407 | __func__, ssh_err(r)); |
408 | __func__, ssh_err(r)); | 408 | userauth_send_banner(ssh, sshbuf_ptr(loginmsg)); |
409 | userauth_send_banner(ssh, sshbuf_ptr(loginmsg)); | 409 | if ((r = ssh_packet_write_wait(ssh)) != 0) { |
410 | if ((r = ssh_packet_write_wait(ssh)) != 0) { | 410 | sshpkt_fatal(ssh, r, |
411 | sshpkt_fatal(ssh, r, | 411 | "%s: send PAM banner", __func__); |
412 | "%s: send PAM banner", __func__); | ||
413 | } | ||
414 | } | 412 | } |
413 | } | ||
414 | if (!success) { | ||
415 | fatal("Access denied for user %s by PAM account " | 415 | fatal("Access denied for user %s by PAM account " |
416 | "configuration", authctxt->user); | 416 | "configuration", authctxt->user); |
417 | } | 417 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: authfd.c,v 1.123 2020/03/06 18:24:39 markus Exp $ */ | 1 | /* $OpenBSD: authfd.c,v 1.124 2020/06/26 05:03:36 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 |
@@ -336,7 +336,7 @@ ssh_free_identitylist(struct ssh_identitylist *idl) | |||
336 | * Returns 0 if found, or a negative SSH_ERR_* error code on failure. | 336 | * Returns 0 if found, or a negative SSH_ERR_* error code on failure. |
337 | */ | 337 | */ |
338 | int | 338 | int |
339 | ssh_agent_has_key(int sock, struct sshkey *key) | 339 | ssh_agent_has_key(int sock, const struct sshkey *key) |
340 | { | 340 | { |
341 | int r, ret = SSH_ERR_KEY_NOT_FOUND; | 341 | int r, ret = SSH_ERR_KEY_NOT_FOUND; |
342 | size_t i; | 342 | size_t i; |
@@ -534,7 +534,7 @@ ssh_add_identity_constrained(int sock, struct sshkey *key, | |||
534 | * This call is intended only for use by ssh-add(1) and like applications. | 534 | * This call is intended only for use by ssh-add(1) and like applications. |
535 | */ | 535 | */ |
536 | int | 536 | int |
537 | ssh_remove_identity(int sock, struct sshkey *key) | 537 | ssh_remove_identity(int sock, const struct sshkey *key) |
538 | { | 538 | { |
539 | struct sshbuf *msg; | 539 | struct sshbuf *msg; |
540 | int r; | 540 | int r; |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: authfd.h,v 1.48 2019/12/21 02:19:13 djm Exp $ */ | 1 | /* $OpenBSD: authfd.h,v 1.49 2020/06/26 05:03:36 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -33,8 +33,8 @@ void ssh_free_identitylist(struct ssh_identitylist *idl); | |||
33 | int ssh_add_identity_constrained(int sock, struct sshkey *key, | 33 | int ssh_add_identity_constrained(int sock, struct sshkey *key, |
34 | const char *comment, u_int life, u_int confirm, u_int maxsign, | 34 | const char *comment, u_int life, u_int confirm, u_int maxsign, |
35 | const char *provider); | 35 | const char *provider); |
36 | int ssh_agent_has_key(int sock, struct sshkey *key); | 36 | int ssh_agent_has_key(int sock, const struct sshkey *key); |
37 | int ssh_remove_identity(int sock, struct sshkey *key); | 37 | int ssh_remove_identity(int sock, const struct sshkey *key); |
38 | int ssh_update_card(int sock, int add, const char *reader_id, | 38 | int ssh_update_card(int sock, int add, const char *reader_id, |
39 | const char *pin, u_int life, u_int confirm); | 39 | const char *pin, u_int life, u_int confirm); |
40 | int ssh_remove_all_identities(int sock, int version); | 40 | int ssh_remove_all_identities(int sock, int version); |
diff --git a/authfile.c b/authfile.c index 35ccf576c..946f50ca8 100644 --- a/authfile.c +++ b/authfile.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: authfile.c,v 1.140 2020/04/17 07:15:11 djm Exp $ */ | 1 | /* $OpenBSD: authfile.c,v 1.141 2020/06/18 23:33:38 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 | * |
@@ -263,7 +263,7 @@ int | |||
263 | sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) | 263 | sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) |
264 | { | 264 | { |
265 | char *pubfile = NULL; | 265 | char *pubfile = NULL; |
266 | int r; | 266 | int r, oerrno; |
267 | 267 | ||
268 | if (keyp != NULL) | 268 | if (keyp != NULL) |
269 | *keyp = NULL; | 269 | *keyp = NULL; |
@@ -283,8 +283,14 @@ sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) | |||
283 | if ((r = sshkey_load_pubkey_from_private(filename, keyp)) == 0) | 283 | if ((r = sshkey_load_pubkey_from_private(filename, keyp)) == 0) |
284 | goto out; | 284 | goto out; |
285 | 285 | ||
286 | /* Pretend we couldn't find the key */ | ||
287 | r = SSH_ERR_SYSTEM_ERROR; | ||
288 | errno = ENOENT; | ||
289 | |||
286 | out: | 290 | out: |
291 | oerrno = errno; | ||
287 | free(pubfile); | 292 | free(pubfile); |
293 | errno = oerrno; | ||
288 | return r; | 294 | return r; |
289 | } | 295 | } |
290 | 296 | ||
diff --git a/channels.c b/channels.c index 95a51e21b..e4917f3c9 100644 --- a/channels.c +++ b/channels.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: channels.c,v 1.398 2020/04/25 06:59:36 dtucker Exp $ */ | 1 | /* $OpenBSD: channels.c,v 1.402 2020/09/20 05:47:25 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 |
@@ -354,6 +354,7 @@ channel_new(struct ssh *ssh, char *ctype, int type, int rfd, int wfd, int efd, | |||
354 | struct ssh_channels *sc = ssh->chanctxt; | 354 | struct ssh_channels *sc = ssh->chanctxt; |
355 | u_int i, found; | 355 | u_int i, found; |
356 | Channel *c; | 356 | Channel *c; |
357 | int r; | ||
357 | 358 | ||
358 | /* Try to find a free slot where to put the new channel. */ | 359 | /* Try to find a free slot where to put the new channel. */ |
359 | for (i = 0; i < sc->channels_alloc; i++) { | 360 | for (i = 0; i < sc->channels_alloc; i++) { |
@@ -383,6 +384,8 @@ channel_new(struct ssh *ssh, char *ctype, int type, int rfd, int wfd, int efd, | |||
383 | (c->output = sshbuf_new()) == NULL || | 384 | (c->output = sshbuf_new()) == NULL || |
384 | (c->extended = sshbuf_new()) == NULL) | 385 | (c->extended = sshbuf_new()) == NULL) |
385 | fatal("%s: sshbuf_new failed", __func__); | 386 | fatal("%s: sshbuf_new failed", __func__); |
387 | if ((r = sshbuf_set_max_size(c->input, CHAN_INPUT_MAX)) != 0) | ||
388 | fatal("%s: sshbuf_set_max_size: %s", __func__, ssh_err(r)); | ||
386 | c->ostate = CHAN_OUTPUT_OPEN; | 389 | c->ostate = CHAN_OUTPUT_OPEN; |
387 | c->istate = CHAN_INPUT_OPEN; | 390 | c->istate = CHAN_INPUT_OPEN; |
388 | channel_register_fds(ssh, c, rfd, wfd, efd, extusage, nonblock, 0); | 391 | channel_register_fds(ssh, c, rfd, wfd, efd, extusage, nonblock, 0); |
@@ -603,6 +606,10 @@ channel_free(struct ssh *ssh, Channel *c) | |||
603 | 606 | ||
604 | if (c->type == SSH_CHANNEL_MUX_CLIENT) | 607 | if (c->type == SSH_CHANNEL_MUX_CLIENT) |
605 | mux_remove_remote_forwardings(ssh, c); | 608 | mux_remove_remote_forwardings(ssh, c); |
609 | else if (c->type == SSH_CHANNEL_MUX_LISTENER) { | ||
610 | free(c->mux_ctx); | ||
611 | c->mux_ctx = NULL; | ||
612 | } | ||
606 | 613 | ||
607 | if (log_level_get() >= SYSLOG_LEVEL_DEBUG3) { | 614 | if (log_level_get() >= SYSLOG_LEVEL_DEBUG3) { |
608 | s = channel_open_message(ssh); | 615 | s = channel_open_message(ssh); |
diff --git a/channels.h b/channels.h index c8ae0d904..74e9b3f87 100644 --- a/channels.h +++ b/channels.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: channels.h,v 1.133 2020/01/25 22:49:38 djm Exp $ */ | 1 | /* $OpenBSD: channels.h,v 1.135 2020/09/20 05:47:25 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -52,11 +52,11 @@ | |||
52 | #define SSH_CHANNEL_DYNAMIC 13 | 52 | #define SSH_CHANNEL_DYNAMIC 13 |
53 | #define SSH_CHANNEL_ZOMBIE 14 /* Almost dead. */ | 53 | #define SSH_CHANNEL_ZOMBIE 14 /* Almost dead. */ |
54 | #define SSH_CHANNEL_MUX_LISTENER 15 /* Listener for mux conn. */ | 54 | #define SSH_CHANNEL_MUX_LISTENER 15 /* Listener for mux conn. */ |
55 | #define SSH_CHANNEL_MUX_CLIENT 16 /* Conn. to mux slave */ | 55 | #define SSH_CHANNEL_MUX_CLIENT 16 /* Conn. to mux client */ |
56 | #define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */ | 56 | #define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */ |
57 | #define SSH_CHANNEL_UNIX_LISTENER 18 /* Listening on a domain socket. */ | 57 | #define SSH_CHANNEL_UNIX_LISTENER 18 /* Listening on a domain socket. */ |
58 | #define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */ | 58 | #define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */ |
59 | #define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-slave */ | 59 | #define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-client */ |
60 | #define SSH_CHANNEL_RDYNAMIC_OPEN 21 /* reverse SOCKS, parsing request */ | 60 | #define SSH_CHANNEL_RDYNAMIC_OPEN 21 /* reverse SOCKS, parsing request */ |
61 | #define SSH_CHANNEL_RDYNAMIC_FINISH 22 /* reverse SOCKS, finishing connect */ | 61 | #define SSH_CHANNEL_RDYNAMIC_FINISH 22 /* reverse SOCKS, finishing connect */ |
62 | #define SSH_CHANNEL_MAX_TYPE 23 | 62 | #define SSH_CHANNEL_MAX_TYPE 23 |
@@ -223,6 +223,9 @@ struct Channel { | |||
223 | /* Read buffer size */ | 223 | /* Read buffer size */ |
224 | #define CHAN_RBUF (16*1024) | 224 | #define CHAN_RBUF (16*1024) |
225 | 225 | ||
226 | /* Maximum channel input buffer size */ | ||
227 | #define CHAN_INPUT_MAX (16*1024*1024) | ||
228 | |||
226 | /* Hard limit on number of channels */ | 229 | /* Hard limit on number of channels */ |
227 | #define CHANNELS_MAX_CHANNELS (16*1024) | 230 | #define CHANNELS_MAX_CHANNELS (16*1024) |
228 | 231 | ||
diff --git a/clientloop.c b/clientloop.c index 42ace7789..2cebea29f 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.c,v 1.344 2020/04/24 02:19:40 dtucker Exp $ */ | 1 | /* $OpenBSD: clientloop.c,v 1.346 2020/09/16 03:07:31 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 |
@@ -166,6 +166,7 @@ static int connection_out; /* Connection to server (output). */ | |||
166 | static int need_rekeying; /* Set to non-zero if rekeying is requested. */ | 166 | static int need_rekeying; /* Set to non-zero if rekeying is requested. */ |
167 | static int session_closed; /* In SSH2: login session closed. */ | 167 | static int session_closed; /* In SSH2: login session closed. */ |
168 | static u_int x11_refuse_time; /* If >0, refuse x11 opens after this time. */ | 168 | static u_int x11_refuse_time; /* If >0, refuse x11 opens after this time. */ |
169 | static time_t server_alive_time; /* Time to do server_alive_check */ | ||
169 | 170 | ||
170 | static void client_init_dispatch(struct ssh *ssh); | 171 | static void client_init_dispatch(struct ssh *ssh); |
171 | int session_ident = -1; | 172 | int session_ident = -1; |
@@ -471,6 +472,13 @@ client_global_request_reply(int type, u_int32_t seq, struct ssh *ssh) | |||
471 | } | 472 | } |
472 | 473 | ||
473 | static void | 474 | static void |
475 | schedule_server_alive_check(void) | ||
476 | { | ||
477 | if (options.server_alive_interval > 0) | ||
478 | server_alive_time = monotime() + options.server_alive_interval; | ||
479 | } | ||
480 | |||
481 | static void | ||
474 | server_alive_check(struct ssh *ssh) | 482 | server_alive_check(struct ssh *ssh) |
475 | { | 483 | { |
476 | int r; | 484 | int r; |
@@ -486,6 +494,7 @@ server_alive_check(struct ssh *ssh) | |||
486 | fatal("%s: send packet: %s", __func__, ssh_err(r)); | 494 | fatal("%s: send packet: %s", __func__, ssh_err(r)); |
487 | /* Insert an empty placeholder to maintain ordering */ | 495 | /* Insert an empty placeholder to maintain ordering */ |
488 | client_register_global_confirm(NULL, NULL); | 496 | client_register_global_confirm(NULL, NULL); |
497 | schedule_server_alive_check(); | ||
489 | } | 498 | } |
490 | 499 | ||
491 | /* | 500 | /* |
@@ -499,7 +508,7 @@ client_wait_until_can_do_something(struct ssh *ssh, | |||
499 | { | 508 | { |
500 | struct timeval tv, *tvp; | 509 | struct timeval tv, *tvp; |
501 | int timeout_secs; | 510 | int timeout_secs; |
502 | time_t minwait_secs = 0, server_alive_time = 0, now = monotime(); | 511 | time_t minwait_secs = 0, now = monotime(); |
503 | int r, ret; | 512 | int r, ret; |
504 | 513 | ||
505 | /* Add any selections by the channel mechanism. */ | 514 | /* Add any selections by the channel mechanism. */ |
@@ -528,10 +537,8 @@ client_wait_until_can_do_something(struct ssh *ssh, | |||
528 | */ | 537 | */ |
529 | 538 | ||
530 | timeout_secs = INT_MAX; /* we use INT_MAX to mean no timeout */ | 539 | timeout_secs = INT_MAX; /* we use INT_MAX to mean no timeout */ |
531 | if (options.server_alive_interval > 0) { | 540 | if (options.server_alive_interval > 0) |
532 | timeout_secs = options.server_alive_interval; | 541 | timeout_secs = MAXIMUM(server_alive_time - now, 0); |
533 | server_alive_time = now + options.server_alive_interval; | ||
534 | } | ||
535 | if (options.rekey_interval > 0 && !rekeying) | 542 | if (options.rekey_interval > 0 && !rekeying) |
536 | timeout_secs = MINIMUM(timeout_secs, | 543 | timeout_secs = MINIMUM(timeout_secs, |
537 | ssh_packet_get_rekey_timeout(ssh)); | 544 | ssh_packet_get_rekey_timeout(ssh)); |
@@ -561,7 +568,6 @@ client_wait_until_can_do_something(struct ssh *ssh, | |||
561 | */ | 568 | */ |
562 | memset(*readsetp, 0, *nallocp); | 569 | memset(*readsetp, 0, *nallocp); |
563 | memset(*writesetp, 0, *nallocp); | 570 | memset(*writesetp, 0, *nallocp); |
564 | |||
565 | if (errno == EINTR) | 571 | if (errno == EINTR) |
566 | return; | 572 | return; |
567 | /* Note: we might still have data in the buffers. */ | 573 | /* Note: we might still have data in the buffers. */ |
@@ -569,15 +575,14 @@ client_wait_until_can_do_something(struct ssh *ssh, | |||
569 | "select: %s\r\n", strerror(errno))) != 0) | 575 | "select: %s\r\n", strerror(errno))) != 0) |
570 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 576 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
571 | quit_pending = 1; | 577 | quit_pending = 1; |
572 | } else if (ret == 0) { | 578 | } else if (options.server_alive_interval > 0 && !FD_ISSET(connection_in, |
579 | *readsetp) && monotime() >= server_alive_time) | ||
573 | /* | 580 | /* |
574 | * Timeout. Could have been either keepalive or rekeying. | 581 | * ServerAlive check is needed. We can't rely on the select |
575 | * Keepalive we check here, rekeying is checked in clientloop. | 582 | * timing out since traffic on the client side such as port |
583 | * forwards can keep waking it up. | ||
576 | */ | 584 | */ |
577 | if (server_alive_time != 0 && server_alive_time <= monotime()) | 585 | server_alive_check(ssh); |
578 | server_alive_check(ssh); | ||
579 | } | ||
580 | |||
581 | } | 586 | } |
582 | 587 | ||
583 | static void | 588 | static void |
@@ -617,6 +622,7 @@ client_process_net_input(struct ssh *ssh, fd_set *readset) | |||
617 | * the packet subsystem. | 622 | * the packet subsystem. |
618 | */ | 623 | */ |
619 | if (FD_ISSET(connection_in, readset)) { | 624 | if (FD_ISSET(connection_in, readset)) { |
625 | schedule_server_alive_check(); | ||
620 | /* Read as much as possible. */ | 626 | /* Read as much as possible. */ |
621 | len = read(connection_in, buf, sizeof(buf)); | 627 | len = read(connection_in, buf, sizeof(buf)); |
622 | if (len == 0) { | 628 | if (len == 0) { |
@@ -1236,7 +1242,6 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, | |||
1236 | int r, max_fd = 0, max_fd2 = 0, len; | 1242 | int r, max_fd = 0, max_fd2 = 0, len; |
1237 | u_int64_t ibytes, obytes; | 1243 | u_int64_t ibytes, obytes; |
1238 | u_int nalloc = 0; | 1244 | u_int nalloc = 0; |
1239 | char buf[100]; | ||
1240 | 1245 | ||
1241 | debug("Entering interactive session."); | 1246 | debug("Entering interactive session."); |
1242 | 1247 | ||
@@ -1318,6 +1323,8 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, | |||
1318 | client_channel_closed, 0); | 1323 | client_channel_closed, 0); |
1319 | } | 1324 | } |
1320 | 1325 | ||
1326 | schedule_server_alive_check(); | ||
1327 | |||
1321 | /* Main loop of the client for the interactive session mode. */ | 1328 | /* Main loop of the client for the interactive session mode. */ |
1322 | while (!quit_pending) { | 1329 | while (!quit_pending) { |
1323 | 1330 | ||
@@ -1472,7 +1479,6 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, | |||
1472 | } | 1479 | } |
1473 | 1480 | ||
1474 | /* Clear and free any buffers. */ | 1481 | /* Clear and free any buffers. */ |
1475 | explicit_bzero(buf, sizeof(buf)); | ||
1476 | sshbuf_free(stderr_buffer); | 1482 | sshbuf_free(stderr_buffer); |
1477 | 1483 | ||
1478 | /* Report bytes transferred, and transfer rates. */ | 1484 | /* Report bytes transferred, and transfer rates. */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: compat.c,v 1.113 2018/08/13 02:41:05 djm Exp $ */ | 1 | /* $OpenBSD: compat.c,v 1.115 2020/07/05 23:59:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -157,40 +157,14 @@ compat_datafellows(const char *version) | |||
157 | return 0; | 157 | return 0; |
158 | } | 158 | } |
159 | 159 | ||
160 | #define SEP "," | ||
161 | int | ||
162 | proto_spec(const char *spec) | ||
163 | { | ||
164 | char *s, *p, *q; | ||
165 | int ret = SSH_PROTO_UNKNOWN; | ||
166 | |||
167 | if (spec == NULL) | ||
168 | return ret; | ||
169 | q = s = strdup(spec); | ||
170 | if (s == NULL) | ||
171 | return ret; | ||
172 | for ((p = strsep(&q, SEP)); p && *p != '\0'; (p = strsep(&q, SEP))) { | ||
173 | switch (atoi(p)) { | ||
174 | case 2: | ||
175 | ret |= SSH_PROTO_2; | ||
176 | break; | ||
177 | default: | ||
178 | logit("ignoring bad proto spec: '%s'.", p); | ||
179 | break; | ||
180 | } | ||
181 | } | ||
182 | free(s); | ||
183 | return ret; | ||
184 | } | ||
185 | |||
186 | char * | 160 | char * |
187 | compat_cipher_proposal(char *cipher_prop) | 161 | compat_cipher_proposal(char *cipher_prop) |
188 | { | 162 | { |
189 | if (!(datafellows & SSH_BUG_BIGENDIANAES)) | 163 | if (!(datafellows & SSH_BUG_BIGENDIANAES)) |
190 | return cipher_prop; | 164 | return cipher_prop; |
191 | debug2("%s: original cipher proposal: %s", __func__, cipher_prop); | 165 | debug2("%s: original cipher proposal: %s", __func__, cipher_prop); |
192 | if ((cipher_prop = match_filter_blacklist(cipher_prop, "aes*")) == NULL) | 166 | if ((cipher_prop = match_filter_denylist(cipher_prop, "aes*")) == NULL) |
193 | fatal("match_filter_blacklist failed"); | 167 | fatal("match_filter_denylist failed"); |
194 | debug2("%s: compat cipher proposal: %s", __func__, cipher_prop); | 168 | debug2("%s: compat cipher proposal: %s", __func__, cipher_prop); |
195 | if (*cipher_prop == '\0') | 169 | if (*cipher_prop == '\0') |
196 | fatal("No supported ciphers found"); | 170 | fatal("No supported ciphers found"); |
@@ -203,8 +177,8 @@ compat_pkalg_proposal(char *pkalg_prop) | |||
203 | if (!(datafellows & SSH_BUG_RSASIGMD5)) | 177 | if (!(datafellows & SSH_BUG_RSASIGMD5)) |
204 | return pkalg_prop; | 178 | return pkalg_prop; |
205 | debug2("%s: original public key proposal: %s", __func__, pkalg_prop); | 179 | debug2("%s: original public key proposal: %s", __func__, pkalg_prop); |
206 | if ((pkalg_prop = match_filter_blacklist(pkalg_prop, "ssh-rsa")) == NULL) | 180 | if ((pkalg_prop = match_filter_denylist(pkalg_prop, "ssh-rsa")) == NULL) |
207 | fatal("match_filter_blacklist failed"); | 181 | fatal("match_filter_denylist failed"); |
208 | debug2("%s: compat public key proposal: %s", __func__, pkalg_prop); | 182 | debug2("%s: compat public key proposal: %s", __func__, pkalg_prop); |
209 | if (*pkalg_prop == '\0') | 183 | if (*pkalg_prop == '\0') |
210 | fatal("No supported PK algorithms found"); | 184 | fatal("No supported PK algorithms found"); |
@@ -218,14 +192,14 @@ compat_kex_proposal(char *p) | |||
218 | return p; | 192 | return p; |
219 | debug2("%s: original KEX proposal: %s", __func__, p); | 193 | debug2("%s: original KEX proposal: %s", __func__, p); |
220 | if ((datafellows & SSH_BUG_CURVE25519PAD) != 0) | 194 | if ((datafellows & SSH_BUG_CURVE25519PAD) != 0) |
221 | if ((p = match_filter_blacklist(p, | 195 | if ((p = match_filter_denylist(p, |
222 | "curve25519-sha256@libssh.org")) == NULL) | 196 | "curve25519-sha256@libssh.org")) == NULL) |
223 | fatal("match_filter_blacklist failed"); | 197 | fatal("match_filter_denylist failed"); |
224 | if ((datafellows & SSH_OLD_DHGEX) != 0) { | 198 | if ((datafellows & SSH_OLD_DHGEX) != 0) { |
225 | if ((p = match_filter_blacklist(p, | 199 | if ((p = match_filter_denylist(p, |
226 | "diffie-hellman-group-exchange-sha256," | 200 | "diffie-hellman-group-exchange-sha256," |
227 | "diffie-hellman-group-exchange-sha1")) == NULL) | 201 | "diffie-hellman-group-exchange-sha1")) == NULL) |
228 | fatal("match_filter_blacklist failed"); | 202 | fatal("match_filter_denylist failed"); |
229 | } | 203 | } |
230 | debug2("%s: compat KEX proposal: %s", __func__, p); | 204 | debug2("%s: compat KEX proposal: %s", __func__, p); |
231 | if (*p == '\0') | 205 | if (*p == '\0') |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: compat.h,v 1.54 2018/08/13 02:41:05 djm Exp $ */ | 1 | /* $OpenBSD: compat.h,v 1.55 2020/06/01 07:11:38 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved. |
@@ -27,11 +27,6 @@ | |||
27 | #ifndef COMPAT_H | 27 | #ifndef COMPAT_H |
28 | #define COMPAT_H | 28 | #define COMPAT_H |
29 | 29 | ||
30 | #define SSH_PROTO_UNKNOWN 0x00 | ||
31 | #define SSH_PROTO_1 0x01 | ||
32 | #define SSH_PROTO_1_PREFERRED 0x02 | ||
33 | #define SSH_PROTO_2 0x04 | ||
34 | |||
35 | #define SSH_BUG_UTF8TTYMODE 0x00000001 | 30 | #define SSH_BUG_UTF8TTYMODE 0x00000001 |
36 | #define SSH_BUG_SIGTYPE 0x00000002 | 31 | #define SSH_BUG_SIGTYPE 0x00000002 |
37 | /* #define unused 0x00000004 */ | 32 | /* #define unused 0x00000004 */ |
@@ -64,7 +59,6 @@ | |||
64 | #define SSH_BUG_DHGEX_LARGE 0x40000000 | 59 | #define SSH_BUG_DHGEX_LARGE 0x40000000 |
65 | 60 | ||
66 | u_int compat_datafellows(const char *); | 61 | u_int compat_datafellows(const char *); |
67 | int proto_spec(const char *); | ||
68 | char *compat_cipher_proposal(char *); | 62 | char *compat_cipher_proposal(char *); |
69 | char *compat_pkalg_proposal(char *); | 63 | char *compat_pkalg_proposal(char *); |
70 | char *compat_kex_proposal(char *); | 64 | char *compat_kex_proposal(char *); |
diff --git a/config.h.in b/config.h.in index 6af4bfdd1..18e0b90c2 100644 --- a/config.h.in +++ b/config.h.in | |||
@@ -573,6 +573,21 @@ | |||
573 | /* Define to 1 if you have the <features.h> header file. */ | 573 | /* Define to 1 if you have the <features.h> header file. */ |
574 | #undef HAVE_FEATURES_H | 574 | #undef HAVE_FEATURES_H |
575 | 575 | ||
576 | /* Define to 1 if you have the `fido_cred_prot' function. */ | ||
577 | #undef HAVE_FIDO_CRED_PROT | ||
578 | |||
579 | /* Define to 1 if you have the `fido_cred_set_prot' function. */ | ||
580 | #undef HAVE_FIDO_CRED_SET_PROT | ||
581 | |||
582 | /* Define to 1 if you have the `fido_dev_get_touch_begin' function. */ | ||
583 | #undef HAVE_FIDO_DEV_GET_TOUCH_BEGIN | ||
584 | |||
585 | /* Define to 1 if you have the `fido_dev_get_touch_status' function. */ | ||
586 | #undef HAVE_FIDO_DEV_GET_TOUCH_STATUS | ||
587 | |||
588 | /* Define to 1 if you have the `fido_dev_supports_cred_prot' function. */ | ||
589 | #undef HAVE_FIDO_DEV_SUPPORTS_CRED_PROT | ||
590 | |||
576 | /* Define to 1 if you have the <floatingpoint.h> header file. */ | 591 | /* Define to 1 if you have the <floatingpoint.h> header file. */ |
577 | #undef HAVE_FLOATINGPOINT_H | 592 | #undef HAVE_FLOATINGPOINT_H |
578 | 593 | ||
@@ -1275,6 +1290,9 @@ | |||
1275 | /* Fields in struct sockaddr_storage */ | 1290 | /* Fields in struct sockaddr_storage */ |
1276 | #undef HAVE_SS_FAMILY_IN_SS | 1291 | #undef HAVE_SS_FAMILY_IN_SS |
1277 | 1292 | ||
1293 | /* Define if you have ut_ss in utmpx.h */ | ||
1294 | #undef HAVE_SS_IN_UTMPX | ||
1295 | |||
1278 | /* Define to 1 if you have the `statfs' function. */ | 1296 | /* Define to 1 if you have the `statfs' function. */ |
1279 | #undef HAVE_STATFS | 1297 | #undef HAVE_STATFS |
1280 | 1298 | ||
@@ -1856,6 +1874,9 @@ | |||
1856 | /* The size of `short int', as computed by sizeof. */ | 1874 | /* The size of `short int', as computed by sizeof. */ |
1857 | #undef SIZEOF_SHORT_INT | 1875 | #undef SIZEOF_SHORT_INT |
1858 | 1876 | ||
1877 | /* The size of `size_t', as computed by sizeof. */ | ||
1878 | #undef SIZEOF_SIZE_T | ||
1879 | |||
1859 | /* Define as const if snprintf() can declare const char *fmt */ | 1880 | /* Define as const if snprintf() can declare const char *fmt */ |
1860 | #undef SNPRINTF_CONST | 1881 | #undef SNPRINTF_CONST |
1861 | 1882 | ||
@@ -1,5 +1,4 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # From configure.ac Revision: 1.583 . | ||
3 | # Guess values for system-dependent variables and create Makefiles. | 2 | # Guess values for system-dependent variables and create Makefiles. |
4 | # Generated by GNU Autoconf 2.69 for OpenSSH Portable. | 3 | # Generated by GNU Autoconf 2.69 for OpenSSH Portable. |
5 | # | 4 | # |
@@ -643,7 +642,6 @@ K5LIBS | |||
643 | GSSLIBS | 642 | GSSLIBS |
644 | KRB5CONF | 643 | KRB5CONF |
645 | SSHDLIBS | 644 | SSHDLIBS |
646 | SSHLIBS | ||
647 | SSH_PRIVSEP_USER | 645 | SSH_PRIVSEP_USER |
648 | LIBFIDO2 | 646 | LIBFIDO2 |
649 | SK_DUMMY_LIBRARY | 647 | SK_DUMMY_LIBRARY |
@@ -667,7 +665,6 @@ NROFF | |||
667 | GROFF | 665 | GROFF |
668 | SH | 666 | SH |
669 | TEST_MINUS_S_SH | 667 | TEST_MINUS_S_SH |
670 | ENT | ||
671 | SED | 668 | SED |
672 | KILL | 669 | KILL |
673 | CAT | 670 | CAT |
@@ -716,6 +713,7 @@ infodir | |||
716 | docdir | 713 | docdir |
717 | oldincludedir | 714 | oldincludedir |
718 | includedir | 715 | includedir |
716 | runstatedir | ||
719 | localstatedir | 717 | localstatedir |
720 | sharedstatedir | 718 | sharedstatedir |
721 | sysconfdir | 719 | sysconfdir |
@@ -845,6 +843,7 @@ datadir='${datarootdir}' | |||
845 | sysconfdir='${prefix}/etc' | 843 | sysconfdir='${prefix}/etc' |
846 | sharedstatedir='${prefix}/com' | 844 | sharedstatedir='${prefix}/com' |
847 | localstatedir='${prefix}/var' | 845 | localstatedir='${prefix}/var' |
846 | runstatedir='${localstatedir}/run' | ||
848 | includedir='${prefix}/include' | 847 | includedir='${prefix}/include' |
849 | oldincludedir='/usr/include' | 848 | oldincludedir='/usr/include' |
850 | docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' | 849 | docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' |
@@ -1097,6 +1096,15 @@ do | |||
1097 | | -silent | --silent | --silen | --sile | --sil) | 1096 | | -silent | --silent | --silen | --sile | --sil) |
1098 | silent=yes ;; | 1097 | silent=yes ;; |
1099 | 1098 | ||
1099 | -runstatedir | --runstatedir | --runstatedi | --runstated \ | ||
1100 | | --runstate | --runstat | --runsta | --runst | --runs \ | ||
1101 | | --run | --ru | --r) | ||
1102 | ac_prev=runstatedir ;; | ||
1103 | -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | ||
1104 | | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | ||
1105 | | --run=* | --ru=* | --r=*) | ||
1106 | runstatedir=$ac_optarg ;; | ||
1107 | |||
1100 | -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) | 1108 | -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) |
1101 | ac_prev=sbindir ;; | 1109 | ac_prev=sbindir ;; |
1102 | -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | 1110 | -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ |
@@ -1234,7 +1242,7 @@ fi | |||
1234 | for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ | 1242 | for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ |
1235 | datadir sysconfdir sharedstatedir localstatedir includedir \ | 1243 | datadir sysconfdir sharedstatedir localstatedir includedir \ |
1236 | oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ | 1244 | oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ |
1237 | libdir localedir mandir | 1245 | libdir localedir mandir runstatedir |
1238 | do | 1246 | do |
1239 | eval ac_val=\$$ac_var | 1247 | eval ac_val=\$$ac_var |
1240 | # Remove trailing slashes. | 1248 | # Remove trailing slashes. |
@@ -1387,6 +1395,7 @@ Fine tuning of the installation directories: | |||
1387 | --sysconfdir=DIR read-only single-machine data [PREFIX/etc] | 1395 | --sysconfdir=DIR read-only single-machine data [PREFIX/etc] |
1388 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] | 1396 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
1389 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] | 1397 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
1398 | --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] | ||
1390 | --libdir=DIR object code libraries [EPREFIX/lib] | 1399 | --libdir=DIR object code libraries [EPREFIX/lib] |
1391 | --includedir=DIR C header files [PREFIX/include] | 1400 | --includedir=DIR C header files [PREFIX/include] |
1392 | --oldincludedir=DIR C header files for non-gcc [/usr/include] | 1401 | --oldincludedir=DIR C header files for non-gcc [/usr/include] |
@@ -1905,127 +1914,6 @@ fi | |||
1905 | 1914 | ||
1906 | } # ac_fn_c_check_header_mongrel | 1915 | } # ac_fn_c_check_header_mongrel |
1907 | 1916 | ||
1908 | # ac_fn_c_check_func LINENO FUNC VAR | ||
1909 | # ---------------------------------- | ||
1910 | # Tests whether FUNC exists, setting the cache variable VAR accordingly | ||
1911 | ac_fn_c_check_func () | ||
1912 | { | ||
1913 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1914 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1915 | $as_echo_n "checking for $2... " >&6; } | ||
1916 | if eval \${$3+:} false; then : | ||
1917 | $as_echo_n "(cached) " >&6 | ||
1918 | else | ||
1919 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1920 | /* end confdefs.h. */ | ||
1921 | /* Define $2 to an innocuous variant, in case <limits.h> declares $2. | ||
1922 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
1923 | #define $2 innocuous_$2 | ||
1924 | |||
1925 | /* System header to define __stub macros and hopefully few prototypes, | ||
1926 | which can conflict with char $2 (); below. | ||
1927 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
1928 | <limits.h> exists even on freestanding compilers. */ | ||
1929 | |||
1930 | #ifdef __STDC__ | ||
1931 | # include <limits.h> | ||
1932 | #else | ||
1933 | # include <assert.h> | ||
1934 | #endif | ||
1935 | |||
1936 | #undef $2 | ||
1937 | |||
1938 | /* Override any GCC internal prototype to avoid an error. | ||
1939 | Use char because int might match the return type of a GCC | ||
1940 | builtin and then its argument prototype would still apply. */ | ||
1941 | #ifdef __cplusplus | ||
1942 | extern "C" | ||
1943 | #endif | ||
1944 | char $2 (); | ||
1945 | /* The GNU C library defines this for functions which it implements | ||
1946 | to always fail with ENOSYS. Some functions are actually named | ||
1947 | something starting with __ and the normal name is an alias. */ | ||
1948 | #if defined __stub_$2 || defined __stub___$2 | ||
1949 | choke me | ||
1950 | #endif | ||
1951 | |||
1952 | int | ||
1953 | main () | ||
1954 | { | ||
1955 | return $2 (); | ||
1956 | ; | ||
1957 | return 0; | ||
1958 | } | ||
1959 | _ACEOF | ||
1960 | if ac_fn_c_try_link "$LINENO"; then : | ||
1961 | eval "$3=yes" | ||
1962 | else | ||
1963 | eval "$3=no" | ||
1964 | fi | ||
1965 | rm -f core conftest.err conftest.$ac_objext \ | ||
1966 | conftest$ac_exeext conftest.$ac_ext | ||
1967 | fi | ||
1968 | eval ac_res=\$$3 | ||
1969 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1970 | $as_echo "$ac_res" >&6; } | ||
1971 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1972 | |||
1973 | } # ac_fn_c_check_func | ||
1974 | |||
1975 | # ac_fn_c_check_type LINENO TYPE VAR INCLUDES | ||
1976 | # ------------------------------------------- | ||
1977 | # Tests whether TYPE exists after having included INCLUDES, setting cache | ||
1978 | # variable VAR accordingly. | ||
1979 | ac_fn_c_check_type () | ||
1980 | { | ||
1981 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1982 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1983 | $as_echo_n "checking for $2... " >&6; } | ||
1984 | if eval \${$3+:} false; then : | ||
1985 | $as_echo_n "(cached) " >&6 | ||
1986 | else | ||
1987 | eval "$3=no" | ||
1988 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1989 | /* end confdefs.h. */ | ||
1990 | $4 | ||
1991 | int | ||
1992 | main () | ||
1993 | { | ||
1994 | if (sizeof ($2)) | ||
1995 | return 0; | ||
1996 | ; | ||
1997 | return 0; | ||
1998 | } | ||
1999 | _ACEOF | ||
2000 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2001 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2002 | /* end confdefs.h. */ | ||
2003 | $4 | ||
2004 | int | ||
2005 | main () | ||
2006 | { | ||
2007 | if (sizeof (($2))) | ||
2008 | return 0; | ||
2009 | ; | ||
2010 | return 0; | ||
2011 | } | ||
2012 | _ACEOF | ||
2013 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2014 | |||
2015 | else | ||
2016 | eval "$3=yes" | ||
2017 | fi | ||
2018 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2019 | fi | ||
2020 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2021 | fi | ||
2022 | eval ac_res=\$$3 | ||
2023 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2024 | $as_echo "$ac_res" >&6; } | ||
2025 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2026 | |||
2027 | } # ac_fn_c_check_type | ||
2028 | |||
2029 | # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES | 1917 | # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES |
2030 | # -------------------------------------------- | 1918 | # -------------------------------------------- |
2031 | # Tries to find the compile-time value of EXPR in a program that includes | 1919 | # Tries to find the compile-time value of EXPR in a program that includes |
@@ -2209,6 +2097,127 @@ rm -f conftest.val | |||
2209 | 2097 | ||
2210 | } # ac_fn_c_compute_int | 2098 | } # ac_fn_c_compute_int |
2211 | 2099 | ||
2100 | # ac_fn_c_check_func LINENO FUNC VAR | ||
2101 | # ---------------------------------- | ||
2102 | # Tests whether FUNC exists, setting the cache variable VAR accordingly | ||
2103 | ac_fn_c_check_func () | ||
2104 | { | ||
2105 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2106 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
2107 | $as_echo_n "checking for $2... " >&6; } | ||
2108 | if eval \${$3+:} false; then : | ||
2109 | $as_echo_n "(cached) " >&6 | ||
2110 | else | ||
2111 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2112 | /* end confdefs.h. */ | ||
2113 | /* Define $2 to an innocuous variant, in case <limits.h> declares $2. | ||
2114 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
2115 | #define $2 innocuous_$2 | ||
2116 | |||
2117 | /* System header to define __stub macros and hopefully few prototypes, | ||
2118 | which can conflict with char $2 (); below. | ||
2119 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
2120 | <limits.h> exists even on freestanding compilers. */ | ||
2121 | |||
2122 | #ifdef __STDC__ | ||
2123 | # include <limits.h> | ||
2124 | #else | ||
2125 | # include <assert.h> | ||
2126 | #endif | ||
2127 | |||
2128 | #undef $2 | ||
2129 | |||
2130 | /* Override any GCC internal prototype to avoid an error. | ||
2131 | Use char because int might match the return type of a GCC | ||
2132 | builtin and then its argument prototype would still apply. */ | ||
2133 | #ifdef __cplusplus | ||
2134 | extern "C" | ||
2135 | #endif | ||
2136 | char $2 (); | ||
2137 | /* The GNU C library defines this for functions which it implements | ||
2138 | to always fail with ENOSYS. Some functions are actually named | ||
2139 | something starting with __ and the normal name is an alias. */ | ||
2140 | #if defined __stub_$2 || defined __stub___$2 | ||
2141 | choke me | ||
2142 | #endif | ||
2143 | |||
2144 | int | ||
2145 | main () | ||
2146 | { | ||
2147 | return $2 (); | ||
2148 | ; | ||
2149 | return 0; | ||
2150 | } | ||
2151 | _ACEOF | ||
2152 | if ac_fn_c_try_link "$LINENO"; then : | ||
2153 | eval "$3=yes" | ||
2154 | else | ||
2155 | eval "$3=no" | ||
2156 | fi | ||
2157 | rm -f core conftest.err conftest.$ac_objext \ | ||
2158 | conftest$ac_exeext conftest.$ac_ext | ||
2159 | fi | ||
2160 | eval ac_res=\$$3 | ||
2161 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2162 | $as_echo "$ac_res" >&6; } | ||
2163 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2164 | |||
2165 | } # ac_fn_c_check_func | ||
2166 | |||
2167 | # ac_fn_c_check_type LINENO TYPE VAR INCLUDES | ||
2168 | # ------------------------------------------- | ||
2169 | # Tests whether TYPE exists after having included INCLUDES, setting cache | ||
2170 | # variable VAR accordingly. | ||
2171 | ac_fn_c_check_type () | ||
2172 | { | ||
2173 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2174 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
2175 | $as_echo_n "checking for $2... " >&6; } | ||
2176 | if eval \${$3+:} false; then : | ||
2177 | $as_echo_n "(cached) " >&6 | ||
2178 | else | ||
2179 | eval "$3=no" | ||
2180 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2181 | /* end confdefs.h. */ | ||
2182 | $4 | ||
2183 | int | ||
2184 | main () | ||
2185 | { | ||
2186 | if (sizeof ($2)) | ||
2187 | return 0; | ||
2188 | ; | ||
2189 | return 0; | ||
2190 | } | ||
2191 | _ACEOF | ||
2192 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2193 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2194 | /* end confdefs.h. */ | ||
2195 | $4 | ||
2196 | int | ||
2197 | main () | ||
2198 | { | ||
2199 | if (sizeof (($2))) | ||
2200 | return 0; | ||
2201 | ; | ||
2202 | return 0; | ||
2203 | } | ||
2204 | _ACEOF | ||
2205 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2206 | |||
2207 | else | ||
2208 | eval "$3=yes" | ||
2209 | fi | ||
2210 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2211 | fi | ||
2212 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2213 | fi | ||
2214 | eval ac_res=\$$3 | ||
2215 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2216 | $as_echo "$ac_res" >&6; } | ||
2217 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
2218 | |||
2219 | } # ac_fn_c_check_type | ||
2220 | |||
2212 | # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES | 2221 | # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES |
2213 | # ---------------------------------------------------- | 2222 | # ---------------------------------------------------- |
2214 | # Tries to find if the field MEMBER exists in type AGGR, after including | 2223 | # Tries to find if the field MEMBER exists in type AGGR, after including |
@@ -4642,47 +4651,6 @@ $as_echo "no" >&6; } | |||
4642 | fi | 4651 | fi |
4643 | 4652 | ||
4644 | 4653 | ||
4645 | # Extract the first word of "ent", so it can be a program name with args. | ||
4646 | set dummy ent; ac_word=$2 | ||
4647 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
4648 | $as_echo_n "checking for $ac_word... " >&6; } | ||
4649 | if ${ac_cv_path_ENT+:} false; then : | ||
4650 | $as_echo_n "(cached) " >&6 | ||
4651 | else | ||
4652 | case $ENT in | ||
4653 | [\\/]* | ?:[\\/]*) | ||
4654 | ac_cv_path_ENT="$ENT" # Let the user override the test with a path. | ||
4655 | ;; | ||
4656 | *) | ||
4657 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
4658 | for as_dir in $PATH | ||
4659 | do | ||
4660 | IFS=$as_save_IFS | ||
4661 | test -z "$as_dir" && as_dir=. | ||
4662 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
4663 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
4664 | ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext" | ||
4665 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
4666 | break 2 | ||
4667 | fi | ||
4668 | done | ||
4669 | done | ||
4670 | IFS=$as_save_IFS | ||
4671 | |||
4672 | ;; | ||
4673 | esac | ||
4674 | fi | ||
4675 | ENT=$ac_cv_path_ENT | ||
4676 | if test -n "$ENT"; then | ||
4677 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENT" >&5 | ||
4678 | $as_echo "$ENT" >&6; } | ||
4679 | else | ||
4680 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
4681 | $as_echo "no" >&6; } | ||
4682 | fi | ||
4683 | |||
4684 | |||
4685 | |||
4686 | # Extract the first word of "bash", so it can be a program name with args. | 4654 | # Extract the first word of "bash", so it can be a program name with args. |
4687 | set dummy bash; ac_word=$2 | 4655 | set dummy bash; ac_word=$2 |
4688 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 4656 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
@@ -5534,12 +5502,23 @@ $as_echo_n "checking if $CC supports compile flag -pipe... " >&6; } | |||
5534 | #include <stdlib.h> | 5502 | #include <stdlib.h> |
5535 | #include <stdio.h> | 5503 | #include <stdio.h> |
5536 | int main(int argc, char **argv) { | 5504 | int main(int argc, char **argv) { |
5505 | (void)argv; | ||
5537 | /* Some math to catch -ftrapv problems in the toolchain */ | 5506 | /* Some math to catch -ftrapv problems in the toolchain */ |
5538 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5507 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5539 | float l = i * 2.1; | 5508 | float l = i * 2.1; |
5540 | double m = l / 0.5; | 5509 | double m = l / 0.5; |
5541 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5510 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5542 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5511 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5512 | /* | ||
5513 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5514 | * not understand comments and we don't use the "fallthrough" attribute | ||
5515 | * that it's looking for. | ||
5516 | */ | ||
5517 | switch(i){ | ||
5518 | case 0: j += i; | ||
5519 | /* FALLTHROUGH */ | ||
5520 | default: j += k; | ||
5521 | } | ||
5543 | exit(0); | 5522 | exit(0); |
5544 | } | 5523 | } |
5545 | 5524 | ||
@@ -5577,12 +5556,23 @@ $as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " | |||
5577 | #include <stdlib.h> | 5556 | #include <stdlib.h> |
5578 | #include <stdio.h> | 5557 | #include <stdio.h> |
5579 | int main(int argc, char **argv) { | 5558 | int main(int argc, char **argv) { |
5559 | (void)argv; | ||
5580 | /* Some math to catch -ftrapv problems in the toolchain */ | 5560 | /* Some math to catch -ftrapv problems in the toolchain */ |
5581 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5561 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5582 | float l = i * 2.1; | 5562 | float l = i * 2.1; |
5583 | double m = l / 0.5; | 5563 | double m = l / 0.5; |
5584 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5564 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5585 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5565 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5566 | /* | ||
5567 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5568 | * not understand comments and we don't use the "fallthrough" attribute | ||
5569 | * that it's looking for. | ||
5570 | */ | ||
5571 | switch(i){ | ||
5572 | case 0: j += i; | ||
5573 | /* FALLTHROUGH */ | ||
5574 | default: j += k; | ||
5575 | } | ||
5586 | exit(0); | 5576 | exit(0); |
5587 | } | 5577 | } |
5588 | 5578 | ||
@@ -5620,12 +5610,23 @@ $as_echo_n "checking if $CC supports compile flag -Wno-error=format-truncation.. | |||
5620 | #include <stdlib.h> | 5610 | #include <stdlib.h> |
5621 | #include <stdio.h> | 5611 | #include <stdio.h> |
5622 | int main(int argc, char **argv) { | 5612 | int main(int argc, char **argv) { |
5613 | (void)argv; | ||
5623 | /* Some math to catch -ftrapv problems in the toolchain */ | 5614 | /* Some math to catch -ftrapv problems in the toolchain */ |
5624 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5615 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5625 | float l = i * 2.1; | 5616 | float l = i * 2.1; |
5626 | double m = l / 0.5; | 5617 | double m = l / 0.5; |
5627 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5618 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5628 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5619 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5620 | /* | ||
5621 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5622 | * not understand comments and we don't use the "fallthrough" attribute | ||
5623 | * that it's looking for. | ||
5624 | */ | ||
5625 | switch(i){ | ||
5626 | case 0: j += i; | ||
5627 | /* FALLTHROUGH */ | ||
5628 | default: j += k; | ||
5629 | } | ||
5629 | exit(0); | 5630 | exit(0); |
5630 | } | 5631 | } |
5631 | 5632 | ||
@@ -5663,12 +5664,23 @@ $as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; } | |||
5663 | #include <stdlib.h> | 5664 | #include <stdlib.h> |
5664 | #include <stdio.h> | 5665 | #include <stdio.h> |
5665 | int main(int argc, char **argv) { | 5666 | int main(int argc, char **argv) { |
5667 | (void)argv; | ||
5666 | /* Some math to catch -ftrapv problems in the toolchain */ | 5668 | /* Some math to catch -ftrapv problems in the toolchain */ |
5667 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5669 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5668 | float l = i * 2.1; | 5670 | float l = i * 2.1; |
5669 | double m = l / 0.5; | 5671 | double m = l / 0.5; |
5670 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5672 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5671 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5673 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5674 | /* | ||
5675 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5676 | * not understand comments and we don't use the "fallthrough" attribute | ||
5677 | * that it's looking for. | ||
5678 | */ | ||
5679 | switch(i){ | ||
5680 | case 0: j += i; | ||
5681 | /* FALLTHROUGH */ | ||
5682 | default: j += k; | ||
5683 | } | ||
5672 | exit(0); | 5684 | exit(0); |
5673 | } | 5685 | } |
5674 | 5686 | ||
@@ -5706,12 +5718,23 @@ $as_echo_n "checking if $CC supports compile flag -Wall... " >&6; } | |||
5706 | #include <stdlib.h> | 5718 | #include <stdlib.h> |
5707 | #include <stdio.h> | 5719 | #include <stdio.h> |
5708 | int main(int argc, char **argv) { | 5720 | int main(int argc, char **argv) { |
5721 | (void)argv; | ||
5709 | /* Some math to catch -ftrapv problems in the toolchain */ | 5722 | /* Some math to catch -ftrapv problems in the toolchain */ |
5710 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5723 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5711 | float l = i * 2.1; | 5724 | float l = i * 2.1; |
5712 | double m = l / 0.5; | 5725 | double m = l / 0.5; |
5713 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5726 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5714 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5727 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5728 | /* | ||
5729 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5730 | * not understand comments and we don't use the "fallthrough" attribute | ||
5731 | * that it's looking for. | ||
5732 | */ | ||
5733 | switch(i){ | ||
5734 | case 0: j += i; | ||
5735 | /* FALLTHROUGH */ | ||
5736 | default: j += k; | ||
5737 | } | ||
5715 | exit(0); | 5738 | exit(0); |
5716 | } | 5739 | } |
5717 | 5740 | ||
@@ -5749,12 +5772,23 @@ $as_echo_n "checking if $CC supports compile flag -Wextra... " >&6; } | |||
5749 | #include <stdlib.h> | 5772 | #include <stdlib.h> |
5750 | #include <stdio.h> | 5773 | #include <stdio.h> |
5751 | int main(int argc, char **argv) { | 5774 | int main(int argc, char **argv) { |
5775 | (void)argv; | ||
5752 | /* Some math to catch -ftrapv problems in the toolchain */ | 5776 | /* Some math to catch -ftrapv problems in the toolchain */ |
5753 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5777 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5754 | float l = i * 2.1; | 5778 | float l = i * 2.1; |
5755 | double m = l / 0.5; | 5779 | double m = l / 0.5; |
5756 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5780 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5757 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5781 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5782 | /* | ||
5783 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5784 | * not understand comments and we don't use the "fallthrough" attribute | ||
5785 | * that it's looking for. | ||
5786 | */ | ||
5787 | switch(i){ | ||
5788 | case 0: j += i; | ||
5789 | /* FALLTHROUGH */ | ||
5790 | default: j += k; | ||
5791 | } | ||
5758 | exit(0); | 5792 | exit(0); |
5759 | } | 5793 | } |
5760 | 5794 | ||
@@ -5792,12 +5826,23 @@ $as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; } | |||
5792 | #include <stdlib.h> | 5826 | #include <stdlib.h> |
5793 | #include <stdio.h> | 5827 | #include <stdio.h> |
5794 | int main(int argc, char **argv) { | 5828 | int main(int argc, char **argv) { |
5829 | (void)argv; | ||
5795 | /* Some math to catch -ftrapv problems in the toolchain */ | 5830 | /* Some math to catch -ftrapv problems in the toolchain */ |
5796 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5831 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5797 | float l = i * 2.1; | 5832 | float l = i * 2.1; |
5798 | double m = l / 0.5; | 5833 | double m = l / 0.5; |
5799 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5834 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5800 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5835 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5836 | /* | ||
5837 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5838 | * not understand comments and we don't use the "fallthrough" attribute | ||
5839 | * that it's looking for. | ||
5840 | */ | ||
5841 | switch(i){ | ||
5842 | case 0: j += i; | ||
5843 | /* FALLTHROUGH */ | ||
5844 | default: j += k; | ||
5845 | } | ||
5801 | exit(0); | 5846 | exit(0); |
5802 | } | 5847 | } |
5803 | 5848 | ||
@@ -5835,12 +5880,23 @@ $as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; } | |||
5835 | #include <stdlib.h> | 5880 | #include <stdlib.h> |
5836 | #include <stdio.h> | 5881 | #include <stdio.h> |
5837 | int main(int argc, char **argv) { | 5882 | int main(int argc, char **argv) { |
5883 | (void)argv; | ||
5838 | /* Some math to catch -ftrapv problems in the toolchain */ | 5884 | /* Some math to catch -ftrapv problems in the toolchain */ |
5839 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5885 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5840 | float l = i * 2.1; | 5886 | float l = i * 2.1; |
5841 | double m = l / 0.5; | 5887 | double m = l / 0.5; |
5842 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5888 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5843 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5889 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5890 | /* | ||
5891 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5892 | * not understand comments and we don't use the "fallthrough" attribute | ||
5893 | * that it's looking for. | ||
5894 | */ | ||
5895 | switch(i){ | ||
5896 | case 0: j += i; | ||
5897 | /* FALLTHROUGH */ | ||
5898 | default: j += k; | ||
5899 | } | ||
5844 | exit(0); | 5900 | exit(0); |
5845 | } | 5901 | } |
5846 | 5902 | ||
@@ -5878,12 +5934,23 @@ $as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; } | |||
5878 | #include <stdlib.h> | 5934 | #include <stdlib.h> |
5879 | #include <stdio.h> | 5935 | #include <stdio.h> |
5880 | int main(int argc, char **argv) { | 5936 | int main(int argc, char **argv) { |
5937 | (void)argv; | ||
5881 | /* Some math to catch -ftrapv problems in the toolchain */ | 5938 | /* Some math to catch -ftrapv problems in the toolchain */ |
5882 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5939 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5883 | float l = i * 2.1; | 5940 | float l = i * 2.1; |
5884 | double m = l / 0.5; | 5941 | double m = l / 0.5; |
5885 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5942 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5886 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5943 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5944 | /* | ||
5945 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
5946 | * not understand comments and we don't use the "fallthrough" attribute | ||
5947 | * that it's looking for. | ||
5948 | */ | ||
5949 | switch(i){ | ||
5950 | case 0: j += i; | ||
5951 | /* FALLTHROUGH */ | ||
5952 | default: j += k; | ||
5953 | } | ||
5887 | exit(0); | 5954 | exit(0); |
5888 | } | 5955 | } |
5889 | 5956 | ||
@@ -5921,12 +5988,23 @@ $as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; } | |||
5921 | #include <stdlib.h> | 5988 | #include <stdlib.h> |
5922 | #include <stdio.h> | 5989 | #include <stdio.h> |
5923 | int main(int argc, char **argv) { | 5990 | int main(int argc, char **argv) { |
5991 | (void)argv; | ||
5924 | /* Some math to catch -ftrapv problems in the toolchain */ | 5992 | /* Some math to catch -ftrapv problems in the toolchain */ |
5925 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 5993 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5926 | float l = i * 2.1; | 5994 | float l = i * 2.1; |
5927 | double m = l / 0.5; | 5995 | double m = l / 0.5; |
5928 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 5996 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5929 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 5997 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
5998 | /* | ||
5999 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6000 | * not understand comments and we don't use the "fallthrough" attribute | ||
6001 | * that it's looking for. | ||
6002 | */ | ||
6003 | switch(i){ | ||
6004 | case 0: j += i; | ||
6005 | /* FALLTHROUGH */ | ||
6006 | default: j += k; | ||
6007 | } | ||
5930 | exit(0); | 6008 | exit(0); |
5931 | } | 6009 | } |
5932 | 6010 | ||
@@ -5964,12 +6042,23 @@ $as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... | |||
5964 | #include <stdlib.h> | 6042 | #include <stdlib.h> |
5965 | #include <stdio.h> | 6043 | #include <stdio.h> |
5966 | int main(int argc, char **argv) { | 6044 | int main(int argc, char **argv) { |
6045 | (void)argv; | ||
5967 | /* Some math to catch -ftrapv problems in the toolchain */ | 6046 | /* Some math to catch -ftrapv problems in the toolchain */ |
5968 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6047 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
5969 | float l = i * 2.1; | 6048 | float l = i * 2.1; |
5970 | double m = l / 0.5; | 6049 | double m = l / 0.5; |
5971 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6050 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
5972 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6051 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6052 | /* | ||
6053 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6054 | * not understand comments and we don't use the "fallthrough" attribute | ||
6055 | * that it's looking for. | ||
6056 | */ | ||
6057 | switch(i){ | ||
6058 | case 0: j += i; | ||
6059 | /* FALLTHROUGH */ | ||
6060 | default: j += k; | ||
6061 | } | ||
5973 | exit(0); | 6062 | exit(0); |
5974 | } | 6063 | } |
5975 | 6064 | ||
@@ -6007,12 +6096,77 @@ $as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; } | |||
6007 | #include <stdlib.h> | 6096 | #include <stdlib.h> |
6008 | #include <stdio.h> | 6097 | #include <stdio.h> |
6009 | int main(int argc, char **argv) { | 6098 | int main(int argc, char **argv) { |
6099 | (void)argv; | ||
6100 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
6101 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
6102 | float l = i * 2.1; | ||
6103 | double m = l / 0.5; | ||
6104 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
6105 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | ||
6106 | /* | ||
6107 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6108 | * not understand comments and we don't use the "fallthrough" attribute | ||
6109 | * that it's looking for. | ||
6110 | */ | ||
6111 | switch(i){ | ||
6112 | case 0: j += i; | ||
6113 | /* FALLTHROUGH */ | ||
6114 | default: j += k; | ||
6115 | } | ||
6116 | exit(0); | ||
6117 | } | ||
6118 | |||
6119 | _ACEOF | ||
6120 | if ac_fn_c_try_compile "$LINENO"; then : | ||
6121 | |||
6122 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
6123 | then | ||
6124 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6125 | $as_echo "no" >&6; } | ||
6126 | CFLAGS="$saved_CFLAGS" | ||
6127 | else | ||
6128 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
6129 | $as_echo "yes" >&6; } | ||
6130 | CFLAGS="$saved_CFLAGS $_define_flag" | ||
6131 | fi | ||
6132 | else | ||
6133 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6134 | $as_echo "no" >&6; } | ||
6135 | CFLAGS="$saved_CFLAGS" | ||
6136 | |||
6137 | fi | ||
6138 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
6139 | } | ||
6140 | { | ||
6141 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-parameter" >&5 | ||
6142 | $as_echo_n "checking if $CC supports compile flag -Wunused-parameter... " >&6; } | ||
6143 | saved_CFLAGS="$CFLAGS" | ||
6144 | CFLAGS="$CFLAGS $WERROR -Wunused-parameter" | ||
6145 | _define_flag="-Wno-unused-parameter" | ||
6146 | test "x$_define_flag" = "x" && _define_flag="-Wunused-parameter" | ||
6147 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
6148 | /* end confdefs.h. */ | ||
6149 | |||
6150 | #include <stdlib.h> | ||
6151 | #include <stdio.h> | ||
6152 | int main(int argc, char **argv) { | ||
6153 | (void)argv; | ||
6010 | /* Some math to catch -ftrapv problems in the toolchain */ | 6154 | /* Some math to catch -ftrapv problems in the toolchain */ |
6011 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6155 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6012 | float l = i * 2.1; | 6156 | float l = i * 2.1; |
6013 | double m = l / 0.5; | 6157 | double m = l / 0.5; |
6014 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6158 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6015 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6159 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6160 | /* | ||
6161 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6162 | * not understand comments and we don't use the "fallthrough" attribute | ||
6163 | * that it's looking for. | ||
6164 | */ | ||
6165 | switch(i){ | ||
6166 | case 0: j += i; | ||
6167 | /* FALLTHROUGH */ | ||
6168 | default: j += k; | ||
6169 | } | ||
6016 | exit(0); | 6170 | exit(0); |
6017 | } | 6171 | } |
6018 | 6172 | ||
@@ -6050,12 +6204,23 @@ $as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; } | |||
6050 | #include <stdlib.h> | 6204 | #include <stdlib.h> |
6051 | #include <stdio.h> | 6205 | #include <stdio.h> |
6052 | int main(int argc, char **argv) { | 6206 | int main(int argc, char **argv) { |
6207 | (void)argv; | ||
6053 | /* Some math to catch -ftrapv problems in the toolchain */ | 6208 | /* Some math to catch -ftrapv problems in the toolchain */ |
6054 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6209 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6055 | float l = i * 2.1; | 6210 | float l = i * 2.1; |
6056 | double m = l / 0.5; | 6211 | double m = l / 0.5; |
6057 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6212 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6058 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6213 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6214 | /* | ||
6215 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6216 | * not understand comments and we don't use the "fallthrough" attribute | ||
6217 | * that it's looking for. | ||
6218 | */ | ||
6219 | switch(i){ | ||
6220 | case 0: j += i; | ||
6221 | /* FALLTHROUGH */ | ||
6222 | default: j += k; | ||
6223 | } | ||
6059 | exit(0); | 6224 | exit(0); |
6060 | } | 6225 | } |
6061 | 6226 | ||
@@ -6093,12 +6258,23 @@ $as_echo_n "checking if $CC supports compile flag -Wimplicit-fallthrough... " >& | |||
6093 | #include <stdlib.h> | 6258 | #include <stdlib.h> |
6094 | #include <stdio.h> | 6259 | #include <stdio.h> |
6095 | int main(int argc, char **argv) { | 6260 | int main(int argc, char **argv) { |
6261 | (void)argv; | ||
6096 | /* Some math to catch -ftrapv problems in the toolchain */ | 6262 | /* Some math to catch -ftrapv problems in the toolchain */ |
6097 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6263 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6098 | float l = i * 2.1; | 6264 | float l = i * 2.1; |
6099 | double m = l / 0.5; | 6265 | double m = l / 0.5; |
6100 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6266 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6101 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6267 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6268 | /* | ||
6269 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6270 | * not understand comments and we don't use the "fallthrough" attribute | ||
6271 | * that it's looking for. | ||
6272 | */ | ||
6273 | switch(i){ | ||
6274 | case 0: j += i; | ||
6275 | /* FALLTHROUGH */ | ||
6276 | default: j += k; | ||
6277 | } | ||
6102 | exit(0); | 6278 | exit(0); |
6103 | } | 6279 | } |
6104 | 6280 | ||
@@ -6136,12 +6312,23 @@ $as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; | |||
6136 | #include <stdlib.h> | 6312 | #include <stdlib.h> |
6137 | #include <stdio.h> | 6313 | #include <stdio.h> |
6138 | int main(int argc, char **argv) { | 6314 | int main(int argc, char **argv) { |
6315 | (void)argv; | ||
6139 | /* Some math to catch -ftrapv problems in the toolchain */ | 6316 | /* Some math to catch -ftrapv problems in the toolchain */ |
6140 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6317 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6141 | float l = i * 2.1; | 6318 | float l = i * 2.1; |
6142 | double m = l / 0.5; | 6319 | double m = l / 0.5; |
6143 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6320 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6144 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6321 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6322 | /* | ||
6323 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6324 | * not understand comments and we don't use the "fallthrough" attribute | ||
6325 | * that it's looking for. | ||
6326 | */ | ||
6327 | switch(i){ | ||
6328 | case 0: j += i; | ||
6329 | /* FALLTHROUGH */ | ||
6330 | default: j += k; | ||
6331 | } | ||
6145 | exit(0); | 6332 | exit(0); |
6146 | } | 6333 | } |
6147 | 6334 | ||
@@ -6180,12 +6367,23 @@ $as_echo_n "checking if $CC supports compile flag -mretpoline... " >&6; } | |||
6180 | #include <stdlib.h> | 6367 | #include <stdlib.h> |
6181 | #include <stdio.h> | 6368 | #include <stdio.h> |
6182 | int main(int argc, char **argv) { | 6369 | int main(int argc, char **argv) { |
6370 | (void)argv; | ||
6183 | /* Some math to catch -ftrapv problems in the toolchain */ | 6371 | /* Some math to catch -ftrapv problems in the toolchain */ |
6184 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6372 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6185 | float l = i * 2.1; | 6373 | float l = i * 2.1; |
6186 | double m = l / 0.5; | 6374 | double m = l / 0.5; |
6187 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6375 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6188 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6376 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6377 | /* | ||
6378 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6379 | * not understand comments and we don't use the "fallthrough" attribute | ||
6380 | * that it's looking for. | ||
6381 | */ | ||
6382 | switch(i){ | ||
6383 | case 0: j += i; | ||
6384 | /* FALLTHROUGH */ | ||
6385 | default: j += k; | ||
6386 | } | ||
6189 | exit(0); | 6387 | exit(0); |
6190 | } | 6388 | } |
6191 | 6389 | ||
@@ -6223,6 +6421,7 @@ $as_echo_n "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; } | |||
6223 | #include <stdlib.h> | 6421 | #include <stdlib.h> |
6224 | #include <stdio.h> | 6422 | #include <stdio.h> |
6225 | int main(int argc, char **argv) { | 6423 | int main(int argc, char **argv) { |
6424 | (void)argv; | ||
6226 | /* Some math to catch -ftrapv problems in the toolchain */ | 6425 | /* Some math to catch -ftrapv problems in the toolchain */ |
6227 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6426 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6228 | float l = i * 2.1; | 6427 | float l = i * 2.1; |
@@ -6268,12 +6467,23 @@ $as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; | |||
6268 | #include <stdlib.h> | 6467 | #include <stdlib.h> |
6269 | #include <stdio.h> | 6468 | #include <stdio.h> |
6270 | int main(int argc, char **argv) { | 6469 | int main(int argc, char **argv) { |
6470 | (void)argv; | ||
6271 | /* Some math to catch -ftrapv problems in the toolchain */ | 6471 | /* Some math to catch -ftrapv problems in the toolchain */ |
6272 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6472 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6273 | float l = i * 2.1; | 6473 | float l = i * 2.1; |
6274 | double m = l / 0.5; | 6474 | double m = l / 0.5; |
6275 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 6475 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
6276 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 6476 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
6477 | /* | ||
6478 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
6479 | * not understand comments and we don't use the "fallthrough" attribute | ||
6480 | * that it's looking for. | ||
6481 | */ | ||
6482 | switch(i){ | ||
6483 | case 0: j += i; | ||
6484 | /* FALLTHROUGH */ | ||
6485 | default: j += k; | ||
6486 | } | ||
6277 | exit(0); | 6487 | exit(0); |
6278 | } | 6488 | } |
6279 | 6489 | ||
@@ -6311,6 +6521,7 @@ $as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; } | |||
6311 | #include <stdlib.h> | 6521 | #include <stdlib.h> |
6312 | #include <stdio.h> | 6522 | #include <stdio.h> |
6313 | int main(int argc, char **argv) { | 6523 | int main(int argc, char **argv) { |
6524 | (void)argv; | ||
6314 | /* Some math to catch -ftrapv problems in the toolchain */ | 6525 | /* Some math to catch -ftrapv problems in the toolchain */ |
6315 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6526 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6316 | float l = i * 2.1; | 6527 | float l = i * 2.1; |
@@ -6356,6 +6567,7 @@ $as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; } | |||
6356 | #include <stdlib.h> | 6567 | #include <stdlib.h> |
6357 | #include <stdio.h> | 6568 | #include <stdio.h> |
6358 | int main(int argc, char **argv) { | 6569 | int main(int argc, char **argv) { |
6570 | (void)argv; | ||
6359 | /* Some math to catch -ftrapv problems in the toolchain */ | 6571 | /* Some math to catch -ftrapv problems in the toolchain */ |
6360 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6572 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6361 | float l = i * 2.1; | 6573 | float l = i * 2.1; |
@@ -6401,6 +6613,7 @@ $as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; } | |||
6401 | #include <stdlib.h> | 6613 | #include <stdlib.h> |
6402 | #include <stdio.h> | 6614 | #include <stdio.h> |
6403 | int main(int argc, char **argv) { | 6615 | int main(int argc, char **argv) { |
6616 | (void)argv; | ||
6404 | /* Some math to catch -ftrapv problems in the toolchain */ | 6617 | /* Some math to catch -ftrapv problems in the toolchain */ |
6405 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6618 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6406 | float l = i * 2.1; | 6619 | float l = i * 2.1; |
@@ -6451,6 +6664,7 @@ $as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds.. | |||
6451 | #include <stdlib.h> | 6664 | #include <stdlib.h> |
6452 | #include <stdio.h> | 6665 | #include <stdio.h> |
6453 | int main(int argc, char **argv) { | 6666 | int main(int argc, char **argv) { |
6667 | (void)argv; | ||
6454 | /* Some math to catch -ftrapv problems in the toolchain */ | 6668 | /* Some math to catch -ftrapv problems in the toolchain */ |
6455 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 6669 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
6456 | float l = i * 2.1; | 6670 | float l = i * 2.1; |
@@ -7052,6 +7266,40 @@ SPP_MSG="no" | |||
7052 | # the --with-solaris-privs option and --with-sandbox=solaris). | 7266 | # the --with-solaris-privs option and --with-sandbox=solaris). |
7053 | SOLARIS_PRIVS="no" | 7267 | SOLARIS_PRIVS="no" |
7054 | 7268 | ||
7269 | # The cast to long int works around a bug in the HP C Compiler | ||
7270 | # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects | ||
7271 | # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. | ||
7272 | # This bug is HP SR number 8606223364. | ||
7273 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 | ||
7274 | $as_echo_n "checking size of size_t... " >&6; } | ||
7275 | if ${ac_cv_sizeof_size_t+:} false; then : | ||
7276 | $as_echo_n "(cached) " >&6 | ||
7277 | else | ||
7278 | if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then : | ||
7279 | |||
7280 | else | ||
7281 | if test "$ac_cv_type_size_t" = yes; then | ||
7282 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
7283 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
7284 | as_fn_error 77 "cannot compute sizeof (size_t) | ||
7285 | See \`config.log' for more details" "$LINENO" 5; } | ||
7286 | else | ||
7287 | ac_cv_sizeof_size_t=0 | ||
7288 | fi | ||
7289 | fi | ||
7290 | |||
7291 | fi | ||
7292 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 | ||
7293 | $as_echo "$ac_cv_sizeof_size_t" >&6; } | ||
7294 | |||
7295 | |||
7296 | |||
7297 | cat >>confdefs.h <<_ACEOF | ||
7298 | #define SIZEOF_SIZE_T $ac_cv_sizeof_size_t | ||
7299 | _ACEOF | ||
7300 | |||
7301 | |||
7302 | |||
7055 | # Check for some target-specific stuff | 7303 | # Check for some target-specific stuff |
7056 | case "$host" in | 7304 | case "$host" in |
7057 | *-*-aix*) | 7305 | *-*-aix*) |
@@ -7385,12 +7633,23 @@ $as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; } | |||
7385 | #include <stdlib.h> | 7633 | #include <stdlib.h> |
7386 | #include <stdio.h> | 7634 | #include <stdio.h> |
7387 | int main(int argc, char **argv) { | 7635 | int main(int argc, char **argv) { |
7636 | (void)argv; | ||
7388 | /* Some math to catch -ftrapv problems in the toolchain */ | 7637 | /* Some math to catch -ftrapv problems in the toolchain */ |
7389 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 7638 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
7390 | float l = i * 2.1; | 7639 | float l = i * 2.1; |
7391 | double m = l / 0.5; | 7640 | double m = l / 0.5; |
7392 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 7641 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
7393 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 7642 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
7643 | /* | ||
7644 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
7645 | * not understand comments and we don't use the "fallthrough" attribute | ||
7646 | * that it's looking for. | ||
7647 | */ | ||
7648 | switch(i){ | ||
7649 | case 0: j += i; | ||
7650 | /* FALLTHROUGH */ | ||
7651 | default: j += k; | ||
7652 | } | ||
7394 | exit(0); | 7653 | exit(0); |
7395 | } | 7654 | } |
7396 | 7655 | ||
@@ -7437,7 +7696,9 @@ $as_echo "assume it is working" >&6; } | |||
7437 | else | 7696 | else |
7438 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 7697 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
7439 | /* end confdefs.h. */ | 7698 | /* end confdefs.h. */ |
7440 | #include <mach-o/dyld.h> | 7699 | |
7700 | #include <mach-o/dyld.h> | ||
7701 | #include <stdlib.h> | ||
7441 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | 7702 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) |
7442 | exit(0); | 7703 | exit(0); |
7443 | else | 7704 | else |
@@ -7974,6 +8235,10 @@ $as_echo_n "checking for seccomp architecture... " >&6; } | |||
7974 | case "$host" in | 8235 | case "$host" in |
7975 | x86_64-*) | 8236 | x86_64-*) |
7976 | seccomp_audit_arch=AUDIT_ARCH_X86_64 | 8237 | seccomp_audit_arch=AUDIT_ARCH_X86_64 |
8238 | # X32: AMD64 instructions in 32bit address space. | ||
8239 | if test "x$ac_cv_sizeof_size_t" = "x4" ; then | ||
8240 | seccomp_audit_arch=AUDIT_ARCH_I386 | ||
8241 | fi | ||
7977 | ;; | 8242 | ;; |
7978 | i*86-*) | 8243 | i*86-*) |
7979 | seccomp_audit_arch=AUDIT_ARCH_I386 | 8244 | seccomp_audit_arch=AUDIT_ARCH_I386 |
@@ -8022,6 +8287,9 @@ $as_echo_n "checking for seccomp architecture... " >&6; } | |||
8022 | ;; | 8287 | ;; |
8023 | esac | 8288 | esac |
8024 | ;; | 8289 | ;; |
8290 | riscv64-*) | ||
8291 | seccomp_audit_arch=AUDIT_ARCH_RISCV64 | ||
8292 | ;; | ||
8025 | esac | 8293 | esac |
8026 | if test "x$seccomp_audit_arch" != "x" ; then | 8294 | if test "x$seccomp_audit_arch" != "x" ; then |
8027 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5 | 8295 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5 |
@@ -8773,7 +9041,7 @@ $as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;} | |||
8773 | else | 9041 | else |
8774 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 9042 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
8775 | /* end confdefs.h. */ | 9043 | /* end confdefs.h. */ |
8776 | #include <stdio.h> | 9044 | #include <stdlib.h> |
8777 | int | 9045 | int |
8778 | main () | 9046 | main () |
8779 | { | 9047 | { |
@@ -8925,6 +9193,7 @@ else | |||
8925 | 9193 | ||
8926 | #include <libgen.h> | 9194 | #include <libgen.h> |
8927 | #include <string.h> | 9195 | #include <string.h> |
9196 | #include <stdlib.h> | ||
8928 | 9197 | ||
8929 | int main(int argc, char **argv) { | 9198 | int main(int argc, char **argv) { |
8930 | char *s, buf[32]; | 9199 | char *s, buf[32]; |
@@ -10308,6 +10577,8 @@ else | |||
10308 | 10577 | ||
10309 | #include <sys/types.h> | 10578 | #include <sys/types.h> |
10310 | #include <dirent.h> | 10579 | #include <dirent.h> |
10580 | #include <stdlib.h> | ||
10581 | |||
10311 | int | 10582 | int |
10312 | main () | 10583 | main () |
10313 | { | 10584 | { |
@@ -10692,7 +10963,10 @@ fi | |||
10692 | $as_echo_n "checking if libedit version is compatible... " >&6; } | 10963 | $as_echo_n "checking if libedit version is compatible... " >&6; } |
10693 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 10964 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
10694 | /* end confdefs.h. */ | 10965 | /* end confdefs.h. */ |
10695 | #include <histedit.h> | 10966 | |
10967 | #include <histedit.h> | ||
10968 | #include <stdlib.h> | ||
10969 | |||
10696 | int | 10970 | int |
10697 | main () | 10971 | main () |
10698 | { | 10972 | { |
@@ -10936,12 +11210,23 @@ $as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; } | |||
10936 | #include <stdlib.h> | 11210 | #include <stdlib.h> |
10937 | #include <stdio.h> | 11211 | #include <stdio.h> |
10938 | int main(int argc, char **argv) { | 11212 | int main(int argc, char **argv) { |
11213 | (void)argv; | ||
10939 | /* Some math to catch -ftrapv problems in the toolchain */ | 11214 | /* Some math to catch -ftrapv problems in the toolchain */ |
10940 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 11215 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
10941 | float l = i * 2.1; | 11216 | float l = i * 2.1; |
10942 | double m = l / 0.5; | 11217 | double m = l / 0.5; |
10943 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | 11218 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; |
10944 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | 11219 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); |
11220 | /* | ||
11221 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
11222 | * not understand comments and we don't use the "fallthrough" attribute | ||
11223 | * that it's looking for. | ||
11224 | */ | ||
11225 | switch(i){ | ||
11226 | case 0: j += i; | ||
11227 | /* FALLTHROUGH */ | ||
11228 | default: j += k; | ||
11229 | } | ||
10945 | exit(0); | 11230 | exit(0); |
10946 | } | 11231 | } |
10947 | 11232 | ||
@@ -10979,6 +11264,7 @@ $as_echo_n "checking if $LD supports link flag -pie... " >&6; } | |||
10979 | #include <stdlib.h> | 11264 | #include <stdlib.h> |
10980 | #include <stdio.h> | 11265 | #include <stdio.h> |
10981 | int main(int argc, char **argv) { | 11266 | int main(int argc, char **argv) { |
11267 | (void)argv; | ||
10982 | /* Some math to catch -ftrapv problems in the toolchain */ | 11268 | /* Some math to catch -ftrapv problems in the toolchain */ |
10983 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | 11269 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; |
10984 | float l = i * 2.1; | 11270 | float l = i * 2.1; |
@@ -11955,7 +12241,10 @@ $as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;} | |||
11955 | else | 12241 | else |
11956 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 12242 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
11957 | /* end confdefs.h. */ | 12243 | /* end confdefs.h. */ |
12244 | |||
11958 | #include <stdio.h> | 12245 | #include <stdio.h> |
12246 | #include <stdlib.h> | ||
12247 | |||
11959 | int | 12248 | int |
11960 | main () | 12249 | main () |
11961 | { | 12250 | { |
@@ -12163,7 +12452,10 @@ $as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;} | |||
12163 | else | 12452 | else |
12164 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 12453 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12165 | /* end confdefs.h. */ | 12454 | /* end confdefs.h. */ |
12166 | #include <stdio.h> | 12455 | |
12456 | #include <stdio.h> | ||
12457 | #include <stdlib.h> | ||
12458 | |||
12167 | int | 12459 | int |
12168 | main () | 12460 | main () |
12169 | { | 12461 | { |
@@ -12209,6 +12501,8 @@ else | |||
12209 | 12501 | ||
12210 | #include <sys/types.h> | 12502 | #include <sys/types.h> |
12211 | #include <stdio.h> | 12503 | #include <stdio.h> |
12504 | #include <stdlib.h> | ||
12505 | #include <string.h> | ||
12212 | 12506 | ||
12213 | int | 12507 | int |
12214 | main () | 12508 | main () |
@@ -12389,6 +12683,7 @@ else | |||
12389 | /* end confdefs.h. */ | 12683 | /* end confdefs.h. */ |
12390 | 12684 | ||
12391 | #include <stdlib.h> | 12685 | #include <stdlib.h> |
12686 | #include <unistd.h> | ||
12392 | 12687 | ||
12393 | int | 12688 | int |
12394 | main () | 12689 | main () |
@@ -12438,6 +12733,8 @@ else | |||
12438 | /* end confdefs.h. */ | 12733 | /* end confdefs.h. */ |
12439 | 12734 | ||
12440 | #include <stdio.h> | 12735 | #include <stdio.h> |
12736 | #include <stdlib.h> | ||
12737 | #include <unistd.h> | ||
12441 | #include <sys/fcntl.h> | 12738 | #include <sys/fcntl.h> |
12442 | #include <sys/types.h> | 12739 | #include <sys/types.h> |
12443 | #include <sys/wait.h> | 12740 | #include <sys/wait.h> |
@@ -12507,6 +12804,7 @@ else | |||
12507 | /* end confdefs.h. */ | 12804 | /* end confdefs.h. */ |
12508 | 12805 | ||
12509 | #include <stdio.h> | 12806 | #include <stdio.h> |
12807 | #include <stdlib.h> | ||
12510 | #include <sys/socket.h> | 12808 | #include <sys/socket.h> |
12511 | #include <netdb.h> | 12809 | #include <netdb.h> |
12512 | #include <errno.h> | 12810 | #include <errno.h> |
@@ -12598,6 +12896,7 @@ else | |||
12598 | /* end confdefs.h. */ | 12896 | /* end confdefs.h. */ |
12599 | 12897 | ||
12600 | #include <stdio.h> | 12898 | #include <stdio.h> |
12899 | #include <stdlib.h> | ||
12601 | #include <sys/socket.h> | 12900 | #include <sys/socket.h> |
12602 | #include <netdb.h> | 12901 | #include <netdb.h> |
12603 | #include <errno.h> | 12902 | #include <errno.h> |
@@ -12687,7 +12986,10 @@ if test "x$check_for_conflicting_getspnam" = "x1"; then | |||
12687 | $as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; } | 12986 | $as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; } |
12688 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 12987 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
12689 | /* end confdefs.h. */ | 12988 | /* end confdefs.h. */ |
12690 | #include <shadow.h> | 12989 | |
12990 | #include <shadow.h> | ||
12991 | #include <stdlib.h> | ||
12992 | |||
12691 | int | 12993 | int |
12692 | main () | 12994 | main () |
12693 | { | 12995 | { |
@@ -12731,6 +13033,7 @@ else | |||
12731 | #include <signal.h> | 13033 | #include <signal.h> |
12732 | #include <stdlib.h> | 13034 | #include <stdlib.h> |
12733 | #include <string.h> | 13035 | #include <string.h> |
13036 | #include <unistd.h> | ||
12734 | #include <vis.h> | 13037 | #include <vis.h> |
12735 | static void sighandler(int sig) { _exit(1); } | 13038 | static void sighandler(int sig) { _exit(1); } |
12736 | 13039 | ||
@@ -12782,6 +13085,7 @@ else | |||
12782 | #include <sys/time.h> | 13085 | #include <sys/time.h> |
12783 | #include <stdlib.h> | 13086 | #include <stdlib.h> |
12784 | #include <signal.h> | 13087 | #include <signal.h> |
13088 | #include <unistd.h> | ||
12785 | static void sighandler(int sig) { } | 13089 | static void sighandler(int sig) { } |
12786 | 13090 | ||
12787 | int | 13091 | int |
@@ -13064,6 +13368,7 @@ else | |||
13064 | /* end confdefs.h. */ | 13368 | /* end confdefs.h. */ |
13065 | 13369 | ||
13066 | #include <stdio.h> | 13370 | #include <stdio.h> |
13371 | #include <stdlib.h> | ||
13067 | #include <string.h> | 13372 | #include <string.h> |
13068 | #include <openssl/opensslv.h> | 13373 | #include <openssl/opensslv.h> |
13069 | #include <openssl/crypto.h> | 13374 | #include <openssl/crypto.h> |
@@ -13147,6 +13452,7 @@ else | |||
13147 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13452 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13148 | /* end confdefs.h. */ | 13453 | /* end confdefs.h. */ |
13149 | 13454 | ||
13455 | #include <stdlib.h> | ||
13150 | #include <string.h> | 13456 | #include <string.h> |
13151 | #include <openssl/opensslv.h> | 13457 | #include <openssl/opensslv.h> |
13152 | #include <openssl/crypto.h> | 13458 | #include <openssl/crypto.h> |
@@ -13387,6 +13693,7 @@ $as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; } | |||
13387 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13693 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13388 | /* end confdefs.h. */ | 13694 | /* end confdefs.h. */ |
13389 | 13695 | ||
13696 | #include <stdlib.h> | ||
13390 | #include <string.h> | 13697 | #include <string.h> |
13391 | #include <openssl/evp.h> | 13698 | #include <openssl/evp.h> |
13392 | 13699 | ||
@@ -13424,6 +13731,7 @@ $as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; } | |||
13424 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13731 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13425 | /* end confdefs.h. */ | 13732 | /* end confdefs.h. */ |
13426 | 13733 | ||
13734 | #include <stdlib.h> | ||
13427 | #include <string.h> | 13735 | #include <string.h> |
13428 | #include <openssl/evp.h> | 13736 | #include <openssl/evp.h> |
13429 | 13737 | ||
@@ -13463,6 +13771,7 @@ $as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; } | |||
13463 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13771 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13464 | /* end confdefs.h. */ | 13772 | /* end confdefs.h. */ |
13465 | 13773 | ||
13774 | #include <stdlib.h> | ||
13466 | #include <string.h> | 13775 | #include <string.h> |
13467 | #include <openssl/evp.h> | 13776 | #include <openssl/evp.h> |
13468 | 13777 | ||
@@ -13508,6 +13817,7 @@ $as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; } | |||
13508 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13817 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13509 | /* end confdefs.h. */ | 13818 | /* end confdefs.h. */ |
13510 | 13819 | ||
13820 | #include <stdlib.h> | ||
13511 | #include <string.h> | 13821 | #include <string.h> |
13512 | #include <openssl/evp.h> | 13822 | #include <openssl/evp.h> |
13513 | 13823 | ||
@@ -13769,6 +14079,7 @@ else | |||
13769 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 14079 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
13770 | /* end confdefs.h. */ | 14080 | /* end confdefs.h. */ |
13771 | 14081 | ||
14082 | #include <stdlib.h> | ||
13772 | #include <openssl/ec.h> | 14083 | #include <openssl/ec.h> |
13773 | #include <openssl/ecdh.h> | 14084 | #include <openssl/ecdh.h> |
13774 | #include <openssl/ecdsa.h> | 14085 | #include <openssl/ecdsa.h> |
@@ -14144,6 +14455,27 @@ else | |||
14144 | as_fn_error $? "no usable libfido2 found" "$LINENO" 5 | 14455 | as_fn_error $? "no usable libfido2 found" "$LINENO" 5 |
14145 | fi | 14456 | fi |
14146 | 14457 | ||
14458 | saved_LIBS="$LIBS" | ||
14459 | LIBS="$LIBS $LIBFIDO2" | ||
14460 | for ac_func in \ | ||
14461 | fido_cred_prot \ | ||
14462 | fido_cred_set_prot \ | ||
14463 | fido_dev_get_touch_begin \ | ||
14464 | fido_dev_get_touch_status \ | ||
14465 | fido_dev_supports_cred_prot \ | ||
14466 | |||
14467 | do : | ||
14468 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
14469 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | ||
14470 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : | ||
14471 | cat >>confdefs.h <<_ACEOF | ||
14472 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | ||
14473 | _ACEOF | ||
14474 | |||
14475 | fi | ||
14476 | done | ||
14477 | |||
14478 | LIBS="$saved_LIBS" | ||
14147 | ac_fn_c_check_header_mongrel "$LINENO" "fido.h" "ac_cv_header_fido_h" "$ac_includes_default" | 14479 | ac_fn_c_check_header_mongrel "$LINENO" "fido.h" "ac_cv_header_fido_h" "$ac_includes_default" |
14148 | if test "x$ac_cv_header_fido_h" = xyes; then : | 14480 | if test "x$ac_cv_header_fido_h" = xyes; then : |
14149 | 14481 | ||
@@ -14261,6 +14593,7 @@ else | |||
14261 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 14593 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
14262 | /* end confdefs.h. */ | 14594 | /* end confdefs.h. */ |
14263 | 14595 | ||
14596 | #include <stdlib.h> | ||
14264 | #include <string.h> | 14597 | #include <string.h> |
14265 | #include <openssl/rand.h> | 14598 | #include <openssl/rand.h> |
14266 | 14599 | ||
@@ -15145,6 +15478,7 @@ else | |||
15145 | /* end confdefs.h. */ | 15478 | /* end confdefs.h. */ |
15146 | 15479 | ||
15147 | #include <stdio.h> | 15480 | #include <stdio.h> |
15481 | #include <stdlib.h> | ||
15148 | /* Why is this so damn hard? */ | 15482 | /* Why is this so damn hard? */ |
15149 | #ifdef __GNUC__ | 15483 | #ifdef __GNUC__ |
15150 | # undef __GNUC__ | 15484 | # undef __GNUC__ |
@@ -16500,6 +16834,7 @@ else | |||
16500 | /* end confdefs.h. */ | 16834 | /* end confdefs.h. */ |
16501 | 16835 | ||
16502 | #include <stdio.h> | 16836 | #include <stdio.h> |
16837 | #include <stdlib.h> | ||
16503 | #include <string.h> | 16838 | #include <string.h> |
16504 | #ifdef HAVE_SNPRINTF | 16839 | #ifdef HAVE_SNPRINTF |
16505 | main() | 16840 | main() |
@@ -17199,6 +17534,45 @@ $as_echo "no" >&6; } | |||
17199 | fi | 17534 | fi |
17200 | 17535 | ||
17201 | 17536 | ||
17537 | # look for field 'ut_ss' in header 'utmpx.h' | ||
17538 | ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'` | ||
17539 | ossh_varname="ossh_cv_$ossh_safe""_has_"ut_ss | ||
17540 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_ss field in utmpx.h" >&5 | ||
17541 | $as_echo_n "checking for ut_ss field in utmpx.h... " >&6; } | ||
17542 | if eval \${$ossh_varname+:} false; then : | ||
17543 | $as_echo_n "(cached) " >&6 | ||
17544 | else | ||
17545 | |||
17546 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
17547 | /* end confdefs.h. */ | ||
17548 | #include <utmpx.h> | ||
17549 | |||
17550 | _ACEOF | ||
17551 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
17552 | $EGREP "ut_ss" >/dev/null 2>&1; then : | ||
17553 | eval "$ossh_varname=yes" | ||
17554 | else | ||
17555 | eval "$ossh_varname=no" | ||
17556 | fi | ||
17557 | rm -f conftest* | ||
17558 | |||
17559 | fi | ||
17560 | |||
17561 | ossh_result=`eval 'echo $'"$ossh_varname"` | ||
17562 | if test -n "`echo $ossh_varname`"; then | ||
17563 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5 | ||
17564 | $as_echo "$ossh_result" >&6; } | ||
17565 | if test "x$ossh_result" = "xyes"; then | ||
17566 | |||
17567 | $as_echo "#define HAVE_SS_IN_UTMPX 1" >>confdefs.h | ||
17568 | |||
17569 | fi | ||
17570 | else | ||
17571 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17572 | $as_echo "no" >&6; } | ||
17573 | fi | ||
17574 | |||
17575 | |||
17202 | ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" | 17576 | ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" |
17203 | if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : | 17577 | if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : |
17204 | 17578 | ||
@@ -17387,6 +17761,7 @@ else | |||
17387 | #include <sys/types.h> | 17761 | #include <sys/types.h> |
17388 | #include <sys/socket.h> | 17762 | #include <sys/socket.h> |
17389 | #include <sys/uio.h> | 17763 | #include <sys/uio.h> |
17764 | #include <stdlib.h> | ||
17390 | 17765 | ||
17391 | int | 17766 | int |
17392 | main () | 17767 | main () |
@@ -17524,6 +17899,7 @@ else | |||
17524 | #include <sys/types.h> | 17899 | #include <sys/types.h> |
17525 | #include <sys/socket.h> | 17900 | #include <sys/socket.h> |
17526 | #include <sys/uio.h> | 17901 | #include <sys/uio.h> |
17902 | #include <stdlib.h> | ||
17527 | 17903 | ||
17528 | int | 17904 | int |
17529 | main () | 17905 | main () |
@@ -17566,7 +17942,7 @@ else | |||
17566 | 17942 | ||
17567 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 17943 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17568 | /* end confdefs.h. */ | 17944 | /* end confdefs.h. */ |
17569 | 17945 | #include <stdio.h> | |
17570 | int | 17946 | int |
17571 | main () | 17947 | main () |
17572 | { | 17948 | { |
@@ -17782,7 +18158,7 @@ else | |||
17782 | 18158 | ||
17783 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 18159 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17784 | /* end confdefs.h. */ | 18160 | /* end confdefs.h. */ |
17785 | 18161 | #include <stdio.h> | |
17786 | int | 18162 | int |
17787 | main () | 18163 | main () |
17788 | { | 18164 | { |
@@ -17818,7 +18194,7 @@ else | |||
17818 | 18194 | ||
17819 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 18195 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
17820 | /* end confdefs.h. */ | 18196 | /* end confdefs.h. */ |
17821 | 18197 | #include <stdio.h> | |
17822 | int | 18198 | int |
17823 | main () | 18199 | main () |
17824 | { | 18200 | { |
@@ -18234,8 +18610,6 @@ else | |||
18234 | as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5 | 18610 | as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5 |
18235 | fi | 18611 | fi |
18236 | 18612 | ||
18237 | SSHLIBS="$SSHLIBS $LIBSELINUX" | ||
18238 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" | ||
18239 | for ac_func in getseuserbyname get_default_context_with_level | 18613 | for ac_func in getseuserbyname get_default_context_with_level |
18240 | do : | 18614 | do : |
18241 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 18615 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
@@ -18248,14 +18622,13 @@ _ACEOF | |||
18248 | fi | 18622 | fi |
18249 | done | 18623 | done |
18250 | 18624 | ||
18251 | LIBS="$save_LIBS" | 18625 | LIBS="$save_LIBS $LIBSELINUX" |
18252 | fi | 18626 | fi |
18253 | 18627 | ||
18254 | fi | 18628 | fi |
18255 | 18629 | ||
18256 | 18630 | ||
18257 | 18631 | ||
18258 | |||
18259 | # Check whether user wants Kerberos 5 support | 18632 | # Check whether user wants Kerberos 5 support |
18260 | KRB5_MSG="no" | 18633 | KRB5_MSG="no" |
18261 | 18634 | ||
@@ -19058,6 +19431,7 @@ else | |||
19058 | /* end confdefs.h. */ | 19431 | /* end confdefs.h. */ |
19059 | 19432 | ||
19060 | #include <stdio.h> | 19433 | #include <stdio.h> |
19434 | #include <stdlib.h> | ||
19061 | #include <string.h> | 19435 | #include <string.h> |
19062 | #ifdef HAVE_PATHS_H | 19436 | #ifdef HAVE_PATHS_H |
19063 | #include <paths.h> | 19437 | #include <paths.h> |
@@ -19442,6 +19816,7 @@ else | |||
19442 | 19816 | ||
19443 | /* find out what STDPATH is */ | 19817 | /* find out what STDPATH is */ |
19444 | #include <stdio.h> | 19818 | #include <stdio.h> |
19819 | #include <stdlib.h> | ||
19445 | #ifdef HAVE_PATHS_H | 19820 | #ifdef HAVE_PATHS_H |
19446 | # include <paths.h> | 19821 | # include <paths.h> |
19447 | #endif | 19822 | #endif |
@@ -21426,9 +21801,6 @@ echo " Libraries: ${LIBS}" | |||
21426 | if test ! -z "${SSHDLIBS}"; then | 21801 | if test ! -z "${SSHDLIBS}"; then |
21427 | echo " +for sshd: ${SSHDLIBS}" | 21802 | echo " +for sshd: ${SSHDLIBS}" |
21428 | fi | 21803 | fi |
21429 | if test ! -z "${SSHLIBS}"; then | ||
21430 | echo " +for ssh: ${SSHLIBS}" | ||
21431 | fi | ||
21432 | 21804 | ||
21433 | echo "" | 21805 | echo "" |
21434 | 21806 | ||
diff --git a/configure.ac b/configure.ac index 7e0584d2c..5944299fa 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -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 | AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) | 16 | AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) |
17 | AC_REVISION($Revision: 1.583 $) | 17 | AC_CONFIG_MACRO_DIR([m4]) |
18 | AC_CONFIG_SRCDIR([ssh.c]) | 18 | AC_CONFIG_SRCDIR([ssh.c]) |
19 | AC_LANG([C]) | 19 | AC_LANG([C]) |
20 | 20 | ||
@@ -34,8 +34,6 @@ AC_CHECK_TOOLS([AR], [ar]) | |||
34 | AC_PATH_PROG([CAT], [cat]) | 34 | AC_PATH_PROG([CAT], [cat]) |
35 | AC_PATH_PROG([KILL], [kill]) | 35 | AC_PATH_PROG([KILL], [kill]) |
36 | AC_PATH_PROG([SED], [sed]) | 36 | AC_PATH_PROG([SED], [sed]) |
37 | AC_PATH_PROG([ENT], [ent]) | ||
38 | AC_SUBST([ENT]) | ||
39 | AC_PATH_PROG([TEST_MINUS_S_SH], [bash]) | 37 | AC_PATH_PROG([TEST_MINUS_S_SH], [bash]) |
40 | AC_PATH_PROG([TEST_MINUS_S_SH], [ksh]) | 38 | AC_PATH_PROG([TEST_MINUS_S_SH], [ksh]) |
41 | AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) | 39 | AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) |
@@ -164,6 +162,7 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | |||
164 | OSSH_CHECK_CFLAG_COMPILE([-Wformat-security]) | 162 | OSSH_CHECK_CFLAG_COMPILE([-Wformat-security]) |
165 | OSSH_CHECK_CFLAG_COMPILE([-Wsizeof-pointer-memaccess]) | 163 | OSSH_CHECK_CFLAG_COMPILE([-Wsizeof-pointer-memaccess]) |
166 | OSSH_CHECK_CFLAG_COMPILE([-Wpointer-sign], [-Wno-pointer-sign]) | 164 | OSSH_CHECK_CFLAG_COMPILE([-Wpointer-sign], [-Wno-pointer-sign]) |
165 | OSSH_CHECK_CFLAG_COMPILE([-Wunused-parameter], [-Wno-unused-parameter]) | ||
167 | OSSH_CHECK_CFLAG_COMPILE([-Wunused-result], [-Wno-unused-result]) | 166 | OSSH_CHECK_CFLAG_COMPILE([-Wunused-result], [-Wno-unused-result]) |
168 | OSSH_CHECK_CFLAG_COMPILE([-Wimplicit-fallthrough]) | 167 | OSSH_CHECK_CFLAG_COMPILE([-Wimplicit-fallthrough]) |
169 | OSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) | 168 | OSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) |
@@ -522,6 +521,8 @@ SPP_MSG="no" | |||
522 | # the --with-solaris-privs option and --with-sandbox=solaris). | 521 | # the --with-solaris-privs option and --with-sandbox=solaris). |
523 | SOLARIS_PRIVS="no" | 522 | SOLARIS_PRIVS="no" |
524 | 523 | ||
524 | AC_CHECK_SIZEOF([size_t]) | ||
525 | |||
525 | # Check for some target-specific stuff | 526 | # Check for some target-specific stuff |
526 | case "$host" in | 527 | case "$host" in |
527 | *-*-aix*) | 528 | *-*-aix*) |
@@ -652,7 +653,9 @@ case "$host" in | |||
652 | *-*-darwin*) | 653 | *-*-darwin*) |
653 | use_pie=auto | 654 | use_pie=auto |
654 | AC_MSG_CHECKING([if we have working getaddrinfo]) | 655 | AC_MSG_CHECKING([if we have working getaddrinfo]) |
655 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <mach-o/dyld.h> | 656 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
657 | #include <mach-o/dyld.h> | ||
658 | #include <stdlib.h> | ||
656 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | 659 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) |
657 | exit(0); | 660 | exit(0); |
658 | else | 661 | else |
@@ -888,6 +891,10 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
888 | case "$host" in | 891 | case "$host" in |
889 | x86_64-*) | 892 | x86_64-*) |
890 | seccomp_audit_arch=AUDIT_ARCH_X86_64 | 893 | seccomp_audit_arch=AUDIT_ARCH_X86_64 |
894 | # X32: AMD64 instructions in 32bit address space. | ||
895 | if test "x$ac_cv_sizeof_size_t" = "x4" ; then | ||
896 | seccomp_audit_arch=AUDIT_ARCH_I386 | ||
897 | fi | ||
891 | ;; | 898 | ;; |
892 | i*86-*) | 899 | i*86-*) |
893 | seccomp_audit_arch=AUDIT_ARCH_I386 | 900 | seccomp_audit_arch=AUDIT_ARCH_I386 |
@@ -936,6 +943,9 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
936 | ;; | 943 | ;; |
937 | esac | 944 | esac |
938 | ;; | 945 | ;; |
946 | riscv64-*) | ||
947 | seccomp_audit_arch=AUDIT_ARCH_RISCV64 | ||
948 | ;; | ||
939 | esac | 949 | esac |
940 | if test "x$seccomp_audit_arch" != "x" ; then | 950 | if test "x$seccomp_audit_arch" != "x" ; then |
941 | AC_MSG_RESULT(["$seccomp_audit_arch"]) | 951 | AC_MSG_RESULT(["$seccomp_audit_arch"]) |
@@ -1257,7 +1267,7 @@ EOD | |||
1257 | esac | 1267 | esac |
1258 | 1268 | ||
1259 | AC_MSG_CHECKING([compiler and flags for sanity]) | 1269 | AC_MSG_CHECKING([compiler and flags for sanity]) |
1260 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], [[ exit(0); ]])], | 1270 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdlib.h> ]], [[ exit(0); ]])], |
1261 | [ AC_MSG_RESULT([yes]) ], | 1271 | [ AC_MSG_RESULT([yes]) ], |
1262 | [ | 1272 | [ |
1263 | AC_MSG_RESULT([no]) | 1273 | AC_MSG_RESULT([no]) |
@@ -1281,6 +1291,7 @@ AC_CHECK_FUNCS([dirname], [AC_CHECK_HEADERS([libgen.h])] , [ | |||
1281 | [AC_LANG_SOURCE([[ | 1291 | [AC_LANG_SOURCE([[ |
1282 | #include <libgen.h> | 1292 | #include <libgen.h> |
1283 | #include <string.h> | 1293 | #include <string.h> |
1294 | #include <stdlib.h> | ||
1284 | 1295 | ||
1285 | int main(int argc, char **argv) { | 1296 | int main(int argc, char **argv) { |
1286 | char *s, buf[32]; | 1297 | char *s, buf[32]; |
@@ -1532,7 +1543,9 @@ AC_MSG_CHECKING([whether struct dirent allocates space for d_name]) | |||
1532 | AC_RUN_IFELSE( | 1543 | AC_RUN_IFELSE( |
1533 | [AC_LANG_PROGRAM([[ | 1544 | [AC_LANG_PROGRAM([[ |
1534 | #include <sys/types.h> | 1545 | #include <sys/types.h> |
1535 | #include <dirent.h>]], | 1546 | #include <dirent.h> |
1547 | #include <stdlib.h> | ||
1548 | ]], | ||
1536 | [[ | 1549 | [[ |
1537 | struct dirent d; | 1550 | struct dirent d; |
1538 | exit(sizeof(d.d_name)<=sizeof(char)); | 1551 | exit(sizeof(d.d_name)<=sizeof(char)); |
@@ -1702,7 +1715,10 @@ AC_ARG_WITH([libedit], | |||
1702 | ) | 1715 | ) |
1703 | AC_MSG_CHECKING([if libedit version is compatible]) | 1716 | AC_MSG_CHECKING([if libedit version is compatible]) |
1704 | AC_COMPILE_IFELSE( | 1717 | AC_COMPILE_IFELSE( |
1705 | [AC_LANG_PROGRAM([[ #include <histedit.h> ]], | 1718 | [AC_LANG_PROGRAM([[ |
1719 | #include <histedit.h> | ||
1720 | #include <stdlib.h> | ||
1721 | ]], | ||
1706 | [[ | 1722 | [[ |
1707 | int i = H_SETSIZE; | 1723 | int i = H_SETSIZE; |
1708 | el_init("", NULL, NULL, NULL); | 1724 | el_init("", NULL, NULL, NULL); |
@@ -2192,7 +2208,11 @@ AC_CHECK_FUNCS([setresgid], [ | |||
2192 | 2208 | ||
2193 | AC_MSG_CHECKING([for working fflush(NULL)]) | 2209 | AC_MSG_CHECKING([for working fflush(NULL)]) |
2194 | AC_RUN_IFELSE( | 2210 | AC_RUN_IFELSE( |
2195 | [AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(NULL); exit(0);]])], | 2211 | [AC_LANG_PROGRAM([[ |
2212 | #include <stdio.h> | ||
2213 | #include <stdlib.h> | ||
2214 | ]], | ||
2215 | [[fflush(NULL); exit(0);]])], | ||
2196 | AC_MSG_RESULT([yes]), | 2216 | AC_MSG_RESULT([yes]), |
2197 | [AC_MSG_RESULT([no]) | 2217 | [AC_MSG_RESULT([no]) |
2198 | AC_DEFINE([FFLUSH_NULL_BUG], [1], | 2218 | AC_DEFINE([FFLUSH_NULL_BUG], [1], |
@@ -2228,7 +2248,10 @@ AC_CHECK_FUNC([getpagesize], | |||
2228 | if test "x$ac_cv_func_snprintf" = "xyes" ; then | 2248 | if test "x$ac_cv_func_snprintf" = "xyes" ; then |
2229 | AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) | 2249 | AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) |
2230 | AC_RUN_IFELSE( | 2250 | AC_RUN_IFELSE( |
2231 | [AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 2251 | [AC_LANG_PROGRAM([[ |
2252 | #include <stdio.h> | ||
2253 | #include <stdlib.h> | ||
2254 | ]], | ||
2232 | [[ | 2255 | [[ |
2233 | char b[5]; | 2256 | char b[5]; |
2234 | snprintf(b,5,"123456789"); | 2257 | snprintf(b,5,"123456789"); |
@@ -2251,6 +2274,8 @@ if test "x$ac_cv_func_snprintf" = "xyes" ; then | |||
2251 | [AC_LANG_PROGRAM([[ | 2274 | [AC_LANG_PROGRAM([[ |
2252 | #include <sys/types.h> | 2275 | #include <sys/types.h> |
2253 | #include <stdio.h> | 2276 | #include <stdio.h> |
2277 | #include <stdlib.h> | ||
2278 | #include <string.h> | ||
2254 | ]], | 2279 | ]], |
2255 | [[ | 2280 | [[ |
2256 | size_t a = 1, b = 2; | 2281 | size_t a = 1, b = 2; |
@@ -2343,6 +2368,7 @@ AC_MSG_CHECKING([for (overly) strict mkstemp]) | |||
2343 | AC_RUN_IFELSE( | 2368 | AC_RUN_IFELSE( |
2344 | [AC_LANG_PROGRAM([[ | 2369 | [AC_LANG_PROGRAM([[ |
2345 | #include <stdlib.h> | 2370 | #include <stdlib.h> |
2371 | #include <unistd.h> | ||
2346 | ]], [[ | 2372 | ]], [[ |
2347 | char template[]="conftest.mkstemp-test"; | 2373 | char template[]="conftest.mkstemp-test"; |
2348 | if (mkstemp(template) == -1) | 2374 | if (mkstemp(template) == -1) |
@@ -2370,6 +2396,8 @@ if test ! -z "$check_for_openpty_ctty_bug"; then | |||
2370 | AC_RUN_IFELSE( | 2396 | AC_RUN_IFELSE( |
2371 | [AC_LANG_PROGRAM([[ | 2397 | [AC_LANG_PROGRAM([[ |
2372 | #include <stdio.h> | 2398 | #include <stdio.h> |
2399 | #include <stdlib.h> | ||
2400 | #include <unistd.h> | ||
2373 | #include <sys/fcntl.h> | 2401 | #include <sys/fcntl.h> |
2374 | #include <sys/types.h> | 2402 | #include <sys/types.h> |
2375 | #include <sys/wait.h> | 2403 | #include <sys/wait.h> |
@@ -2416,6 +2444,7 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
2416 | AC_RUN_IFELSE( | 2444 | AC_RUN_IFELSE( |
2417 | [AC_LANG_PROGRAM([[ | 2445 | [AC_LANG_PROGRAM([[ |
2418 | #include <stdio.h> | 2446 | #include <stdio.h> |
2447 | #include <stdlib.h> | ||
2419 | #include <sys/socket.h> | 2448 | #include <sys/socket.h> |
2420 | #include <netdb.h> | 2449 | #include <netdb.h> |
2421 | #include <errno.h> | 2450 | #include <errno.h> |
@@ -2484,6 +2513,7 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
2484 | AC_RUN_IFELSE( | 2513 | AC_RUN_IFELSE( |
2485 | [AC_LANG_PROGRAM([[ | 2514 | [AC_LANG_PROGRAM([[ |
2486 | #include <stdio.h> | 2515 | #include <stdio.h> |
2516 | #include <stdlib.h> | ||
2487 | #include <sys/socket.h> | 2517 | #include <sys/socket.h> |
2488 | #include <netdb.h> | 2518 | #include <netdb.h> |
2489 | #include <errno.h> | 2519 | #include <errno.h> |
@@ -2546,7 +2576,10 @@ fi | |||
2546 | 2576 | ||
2547 | if test "x$check_for_conflicting_getspnam" = "x1"; then | 2577 | if test "x$check_for_conflicting_getspnam" = "x1"; then |
2548 | AC_MSG_CHECKING([for conflicting getspnam in shadow.h]) | 2578 | AC_MSG_CHECKING([for conflicting getspnam in shadow.h]) |
2549 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <shadow.h> ]], | 2579 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
2580 | #include <shadow.h> | ||
2581 | #include <stdlib.h> | ||
2582 | ]], | ||
2550 | [[ exit(0); ]])], | 2583 | [[ exit(0); ]])], |
2551 | [ | 2584 | [ |
2552 | AC_MSG_RESULT([no]) | 2585 | AC_MSG_RESULT([no]) |
@@ -2576,6 +2609,7 @@ if test "x$ac_cv_func_strnvis" = "xyes"; then | |||
2576 | #include <signal.h> | 2609 | #include <signal.h> |
2577 | #include <stdlib.h> | 2610 | #include <stdlib.h> |
2578 | #include <string.h> | 2611 | #include <string.h> |
2612 | #include <unistd.h> | ||
2579 | #include <vis.h> | 2613 | #include <vis.h> |
2580 | static void sighandler(int sig) { _exit(1); } | 2614 | static void sighandler(int sig) { _exit(1); } |
2581 | ]], [[ | 2615 | ]], [[ |
@@ -2604,6 +2638,7 @@ AC_RUN_IFELSE( | |||
2604 | #include <sys/time.h> | 2638 | #include <sys/time.h> |
2605 | #include <stdlib.h> | 2639 | #include <stdlib.h> |
2606 | #include <signal.h> | 2640 | #include <signal.h> |
2641 | #include <unistd.h> | ||
2607 | static void sighandler(int sig) { } | 2642 | static void sighandler(int sig) { } |
2608 | ]], [[ | 2643 | ]], [[ |
2609 | int r; | 2644 | int r; |
@@ -2760,6 +2795,7 @@ if test "x$openssl" = "xyes" ; then | |||
2760 | AC_RUN_IFELSE( | 2795 | AC_RUN_IFELSE( |
2761 | [AC_LANG_PROGRAM([[ | 2796 | [AC_LANG_PROGRAM([[ |
2762 | #include <stdio.h> | 2797 | #include <stdio.h> |
2798 | #include <stdlib.h> | ||
2763 | #include <string.h> | 2799 | #include <string.h> |
2764 | #include <openssl/opensslv.h> | 2800 | #include <openssl/opensslv.h> |
2765 | #include <openssl/crypto.h> | 2801 | #include <openssl/crypto.h> |
@@ -2821,6 +2857,7 @@ if test "x$openssl" = "xyes" ; then | |||
2821 | AC_MSG_CHECKING([whether OpenSSL's headers match the library]) | 2857 | AC_MSG_CHECKING([whether OpenSSL's headers match the library]) |
2822 | AC_RUN_IFELSE( | 2858 | AC_RUN_IFELSE( |
2823 | [AC_LANG_PROGRAM([[ | 2859 | [AC_LANG_PROGRAM([[ |
2860 | #include <stdlib.h> | ||
2824 | #include <string.h> | 2861 | #include <string.h> |
2825 | #include <openssl/opensslv.h> | 2862 | #include <openssl/opensslv.h> |
2826 | #include <openssl/crypto.h> | 2863 | #include <openssl/crypto.h> |
@@ -2960,6 +2997,7 @@ if test "x$openssl" = "xyes" ; then | |||
2960 | AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) | 2997 | AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) |
2961 | AC_LINK_IFELSE( | 2998 | AC_LINK_IFELSE( |
2962 | [AC_LANG_PROGRAM([[ | 2999 | [AC_LANG_PROGRAM([[ |
3000 | #include <stdlib.h> | ||
2963 | #include <string.h> | 3001 | #include <string.h> |
2964 | #include <openssl/evp.h> | 3002 | #include <openssl/evp.h> |
2965 | ]], [[ | 3003 | ]], [[ |
@@ -2979,6 +3017,7 @@ if test "x$openssl" = "xyes" ; then | |||
2979 | AC_MSG_CHECKING([whether OpenSSL has AES CTR via EVP]) | 3017 | AC_MSG_CHECKING([whether OpenSSL has AES CTR via EVP]) |
2980 | AC_LINK_IFELSE( | 3018 | AC_LINK_IFELSE( |
2981 | [AC_LANG_PROGRAM([[ | 3019 | [AC_LANG_PROGRAM([[ |
3020 | #include <stdlib.h> | ||
2982 | #include <string.h> | 3021 | #include <string.h> |
2983 | #include <openssl/evp.h> | 3022 | #include <openssl/evp.h> |
2984 | ]], [[ | 3023 | ]], [[ |
@@ -3000,6 +3039,7 @@ if test "x$openssl" = "xyes" ; then | |||
3000 | AC_MSG_CHECKING([whether OpenSSL has AES GCM via EVP]) | 3039 | AC_MSG_CHECKING([whether OpenSSL has AES GCM via EVP]) |
3001 | AC_LINK_IFELSE( | 3040 | AC_LINK_IFELSE( |
3002 | [AC_LANG_PROGRAM([[ | 3041 | [AC_LANG_PROGRAM([[ |
3042 | #include <stdlib.h> | ||
3003 | #include <string.h> | 3043 | #include <string.h> |
3004 | #include <openssl/evp.h> | 3044 | #include <openssl/evp.h> |
3005 | ]], [[ | 3045 | ]], [[ |
@@ -3027,6 +3067,7 @@ if test "x$openssl" = "xyes" ; then | |||
3027 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) | 3067 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) |
3028 | AC_LINK_IFELSE( | 3068 | AC_LINK_IFELSE( |
3029 | [AC_LANG_PROGRAM([[ | 3069 | [AC_LANG_PROGRAM([[ |
3070 | #include <stdlib.h> | ||
3030 | #include <string.h> | 3071 | #include <string.h> |
3031 | #include <openssl/evp.h> | 3072 | #include <openssl/evp.h> |
3032 | ]], [[ | 3073 | ]], [[ |
@@ -3113,6 +3154,7 @@ if test "x$openssl" = "xyes" ; then | |||
3113 | AC_MSG_CHECKING([if OpenSSL's NID_secp521r1 is functional]) | 3154 | AC_MSG_CHECKING([if OpenSSL's NID_secp521r1 is functional]) |
3114 | AC_RUN_IFELSE( | 3155 | AC_RUN_IFELSE( |
3115 | [AC_LANG_PROGRAM([[ | 3156 | [AC_LANG_PROGRAM([[ |
3157 | #include <stdlib.h> | ||
3116 | #include <openssl/ec.h> | 3158 | #include <openssl/ec.h> |
3117 | #include <openssl/ecdh.h> | 3159 | #include <openssl/ecdh.h> |
3118 | #include <openssl/ecdsa.h> | 3160 | #include <openssl/ecdsa.h> |
@@ -3253,6 +3295,16 @@ if test "x$enable_sk" = "xyes" -a "x$enable_sk_internal" = "xyes" ; then | |||
3253 | ], [ AC_MSG_ERROR([no usable libfido2 found]) ], | 3295 | ], [ AC_MSG_ERROR([no usable libfido2 found]) ], |
3254 | [ $OTHERLIBS ] | 3296 | [ $OTHERLIBS ] |
3255 | ) | 3297 | ) |
3298 | saved_LIBS="$LIBS" | ||
3299 | LIBS="$LIBS $LIBFIDO2" | ||
3300 | AC_CHECK_FUNCS([ \ | ||
3301 | fido_cred_prot \ | ||
3302 | fido_cred_set_prot \ | ||
3303 | fido_dev_get_touch_begin \ | ||
3304 | fido_dev_get_touch_status \ | ||
3305 | fido_dev_supports_cred_prot \ | ||
3306 | ]) | ||
3307 | LIBS="$saved_LIBS" | ||
3256 | AC_CHECK_HEADER([fido.h], [], | 3308 | AC_CHECK_HEADER([fido.h], [], |
3257 | AC_MSG_ERROR([missing fido.h from libfido2])) | 3309 | AC_MSG_ERROR([missing fido.h from libfido2])) |
3258 | AC_CHECK_HEADER([fido/credman.h], [], | 3310 | AC_CHECK_HEADER([fido/credman.h], [], |
@@ -3285,6 +3337,7 @@ if test "x$openssl" = "xyes" ; then | |||
3285 | AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) | 3337 | AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) |
3286 | AC_RUN_IFELSE( | 3338 | AC_RUN_IFELSE( |
3287 | [AC_LANG_PROGRAM([[ | 3339 | [AC_LANG_PROGRAM([[ |
3340 | #include <stdlib.h> | ||
3288 | #include <string.h> | 3341 | #include <string.h> |
3289 | #include <openssl/rand.h> | 3342 | #include <openssl/rand.h> |
3290 | ]], [[ | 3343 | ]], [[ |
@@ -3716,6 +3769,7 @@ if test -z "$have_llong_max" && test -z "$have_long_long_max"; then | |||
3716 | AC_RUN_IFELSE( | 3769 | AC_RUN_IFELSE( |
3717 | [AC_LANG_PROGRAM([[ | 3770 | [AC_LANG_PROGRAM([[ |
3718 | #include <stdio.h> | 3771 | #include <stdio.h> |
3772 | #include <stdlib.h> | ||
3719 | /* Why is this so damn hard? */ | 3773 | /* Why is this so damn hard? */ |
3720 | #ifdef __GNUC__ | 3774 | #ifdef __GNUC__ |
3721 | # undef __GNUC__ | 3775 | # undef __GNUC__ |
@@ -4231,6 +4285,7 @@ dnl test snprintf (broken on SCO w/gcc) | |||
4231 | AC_RUN_IFELSE( | 4285 | AC_RUN_IFELSE( |
4232 | [AC_LANG_SOURCE([[ | 4286 | [AC_LANG_SOURCE([[ |
4233 | #include <stdio.h> | 4287 | #include <stdio.h> |
4288 | #include <stdlib.h> | ||
4234 | #include <string.h> | 4289 | #include <string.h> |
4235 | #ifdef HAVE_SNPRINTF | 4290 | #ifdef HAVE_SNPRINTF |
4236 | main() | 4291 | main() |
@@ -4275,6 +4330,7 @@ OSSH_CHECK_HEADER_FOR_FIELD([ut_exit], [utmp.h], [HAVE_EXIT_IN_UTMP]) | |||
4275 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP]) | 4330 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP]) |
4276 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX]) | 4331 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX]) |
4277 | OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) | 4332 | OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) |
4333 | OSSH_CHECK_HEADER_FOR_FIELD([ut_ss], [utmpx.h], [HAVE_SS_IN_UTMPX]) | ||
4278 | 4334 | ||
4279 | AC_CHECK_MEMBERS([struct stat.st_blksize]) | 4335 | AC_CHECK_MEMBERS([struct stat.st_blksize]) |
4280 | AC_CHECK_MEMBERS([struct stat.st_mtim]) | 4336 | AC_CHECK_MEMBERS([struct stat.st_mtim]) |
@@ -4333,6 +4389,7 @@ AC_CACHE_CHECK([for msg_accrights field in struct msghdr], | |||
4333 | #include <sys/types.h> | 4389 | #include <sys/types.h> |
4334 | #include <sys/socket.h> | 4390 | #include <sys/socket.h> |
4335 | #include <sys/uio.h> | 4391 | #include <sys/uio.h> |
4392 | #include <stdlib.h> | ||
4336 | ]], [[ | 4393 | ]], [[ |
4337 | #ifdef msg_accrights | 4394 | #ifdef msg_accrights |
4338 | #error "msg_accrights is a macro" | 4395 | #error "msg_accrights is a macro" |
@@ -4394,6 +4451,7 @@ AC_CACHE_CHECK([for msg_control field in struct msghdr], | |||
4394 | #include <sys/types.h> | 4451 | #include <sys/types.h> |
4395 | #include <sys/socket.h> | 4452 | #include <sys/socket.h> |
4396 | #include <sys/uio.h> | 4453 | #include <sys/uio.h> |
4454 | #include <stdlib.h> | ||
4397 | ]], [[ | 4455 | ]], [[ |
4398 | #ifdef msg_control | 4456 | #ifdef msg_control |
4399 | #error "msg_control is a macro" | 4457 | #error "msg_control is a macro" |
@@ -4414,7 +4472,7 @@ if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then | |||
4414 | fi | 4472 | fi |
4415 | 4473 | ||
4416 | AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ | 4474 | AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ |
4417 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 4475 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], |
4418 | [[ extern char *__progname; printf("%s", __progname); ]])], | 4476 | [[ extern char *__progname; printf("%s", __progname); ]])], |
4419 | [ ac_cv_libc_defines___progname="yes" ], | 4477 | [ ac_cv_libc_defines___progname="yes" ], |
4420 | [ ac_cv_libc_defines___progname="no" | 4478 | [ ac_cv_libc_defines___progname="no" |
@@ -4486,7 +4544,7 @@ if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then | |||
4486 | fi | 4544 | fi |
4487 | 4545 | ||
4488 | AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ | 4546 | AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ |
4489 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 4547 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], |
4490 | [[ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);]])], | 4548 | [[ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);]])], |
4491 | [ ac_cv_libc_defines_sys_errlist="yes" ], | 4549 | [ ac_cv_libc_defines_sys_errlist="yes" ], |
4492 | [ ac_cv_libc_defines_sys_errlist="no" | 4550 | [ ac_cv_libc_defines_sys_errlist="no" |
@@ -4499,7 +4557,7 @@ fi | |||
4499 | 4557 | ||
4500 | 4558 | ||
4501 | AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ | 4559 | AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ |
4502 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 4560 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], |
4503 | [[ extern int sys_nerr; printf("%i", sys_nerr);]])], | 4561 | [[ extern int sys_nerr; printf("%i", sys_nerr);]])], |
4504 | [ ac_cv_libc_defines_sys_nerr="yes" ], | 4562 | [ ac_cv_libc_defines_sys_nerr="yes" ], |
4505 | [ ac_cv_libc_defines_sys_nerr="no" | 4563 | [ ac_cv_libc_defines_sys_nerr="no" |
@@ -4593,13 +4651,10 @@ AC_ARG_WITH([selinux], | |||
4593 | LIBS="$LIBS -lselinux" | 4651 | LIBS="$LIBS -lselinux" |
4594 | ], | 4652 | ], |
4595 | AC_MSG_ERROR([SELinux support requires libselinux library])) | 4653 | AC_MSG_ERROR([SELinux support requires libselinux library])) |
4596 | SSHLIBS="$SSHLIBS $LIBSELINUX" | ||
4597 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" | ||
4598 | AC_CHECK_FUNCS([getseuserbyname get_default_context_with_level]) | 4654 | AC_CHECK_FUNCS([getseuserbyname get_default_context_with_level]) |
4599 | LIBS="$save_LIBS" | 4655 | LIBS="$save_LIBS $LIBSELINUX" |
4600 | fi ] | 4656 | fi ] |
4601 | ) | 4657 | ) |
4602 | AC_SUBST([SSHLIBS]) | ||
4603 | AC_SUBST([SSHDLIBS]) | 4658 | AC_SUBST([SSHDLIBS]) |
4604 | 4659 | ||
4605 | # Check whether user wants Kerberos 5 support | 4660 | # Check whether user wants Kerberos 5 support |
@@ -4834,6 +4889,7 @@ AC_ARG_WITH([maildir], | |||
4834 | AC_RUN_IFELSE( | 4889 | AC_RUN_IFELSE( |
4835 | [AC_LANG_PROGRAM([[ | 4890 | [AC_LANG_PROGRAM([[ |
4836 | #include <stdio.h> | 4891 | #include <stdio.h> |
4892 | #include <stdlib.h> | ||
4837 | #include <string.h> | 4893 | #include <string.h> |
4838 | #ifdef HAVE_PATHS_H | 4894 | #ifdef HAVE_PATHS_H |
4839 | #include <paths.h> | 4895 | #include <paths.h> |
@@ -5078,6 +5134,7 @@ otherwise scp will not work.]) | |||
5078 | [AC_LANG_PROGRAM([[ | 5134 | [AC_LANG_PROGRAM([[ |
5079 | /* find out what STDPATH is */ | 5135 | /* find out what STDPATH is */ |
5080 | #include <stdio.h> | 5136 | #include <stdio.h> |
5137 | #include <stdlib.h> | ||
5081 | #ifdef HAVE_PATHS_H | 5138 | #ifdef HAVE_PATHS_H |
5082 | # include <paths.h> | 5139 | # include <paths.h> |
5083 | #endif | 5140 | #endif |
@@ -5585,9 +5642,6 @@ echo " Libraries: ${LIBS}" | |||
5585 | if test ! -z "${SSHDLIBS}"; then | 5642 | if test ! -z "${SSHDLIBS}"; then |
5586 | echo " +for sshd: ${SSHDLIBS}" | 5643 | echo " +for sshd: ${SSHDLIBS}" |
5587 | fi | 5644 | fi |
5588 | if test ! -z "${SSHLIBS}"; then | ||
5589 | echo " +for ssh: ${SSHLIBS}" | ||
5590 | fi | ||
5591 | 5645 | ||
5592 | echo "" | 5646 | echo "" |
5593 | 5647 | ||
diff --git a/contrib/gnome-ssh-askpass2.c b/contrib/gnome-ssh-askpass2.c index 88cdfaeff..bf8c92c8f 100644 --- a/contrib/gnome-ssh-askpass2.c +++ b/contrib/gnome-ssh-askpass2.c | |||
@@ -56,9 +56,11 @@ | |||
56 | #include <stdio.h> | 56 | #include <stdio.h> |
57 | #include <string.h> | 57 | #include <string.h> |
58 | #include <unistd.h> | 58 | #include <unistd.h> |
59 | |||
59 | #include <X11/Xlib.h> | 60 | #include <X11/Xlib.h> |
60 | #include <gtk/gtk.h> | 61 | #include <gtk/gtk.h> |
61 | #include <gdk/gdkx.h> | 62 | #include <gdk/gdkx.h> |
63 | #include <gdk/gdkkeysyms.h> | ||
62 | 64 | ||
63 | static void | 65 | static void |
64 | report_failed_grab (GtkWidget *parent_window, const char *what) | 66 | report_failed_grab (GtkWidget *parent_window, const char *what) |
@@ -85,6 +87,67 @@ ok_dialog(GtkWidget *entry, gpointer dialog) | |||
85 | gtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); | 87 | gtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); |
86 | } | 88 | } |
87 | 89 | ||
90 | static gboolean | ||
91 | check_none(GtkWidget *widget, GdkEventKey *event, gpointer dialog) | ||
92 | { | ||
93 | switch (event->keyval) { | ||
94 | case GDK_KEY_Escape: | ||
95 | /* esc -> close dialog */ | ||
96 | gtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_CLOSE); | ||
97 | return TRUE; | ||
98 | case GDK_KEY_Tab: | ||
99 | /* tab -> focus close button */ | ||
100 | gtk_widget_grab_focus(gtk_dialog_get_widget_for_response( | ||
101 | dialog, GTK_RESPONSE_CLOSE)); | ||
102 | return TRUE; | ||
103 | default: | ||
104 | /* eat all other key events */ | ||
105 | return TRUE; | ||
106 | } | ||
107 | } | ||
108 | |||
109 | static int | ||
110 | parse_env_hex_color(const char *env, GdkColor *c) | ||
111 | { | ||
112 | const char *s; | ||
113 | unsigned long ul; | ||
114 | char *ep; | ||
115 | size_t n; | ||
116 | |||
117 | if ((s = getenv(env)) == NULL) | ||
118 | return 0; | ||
119 | |||
120 | memset(c, 0, sizeof(*c)); | ||
121 | |||
122 | /* Permit hex rgb or rrggbb optionally prefixed by '#' or '0x' */ | ||
123 | if (*s == '#') | ||
124 | s++; | ||
125 | else if (strncmp(s, "0x", 2) == 0) | ||
126 | s += 2; | ||
127 | n = strlen(s); | ||
128 | if (n != 3 && n != 6) | ||
129 | goto bad; | ||
130 | ul = strtoul(s, &ep, 16); | ||
131 | if (*ep != '\0' || ul > 0xffffff) { | ||
132 | bad: | ||
133 | fprintf(stderr, "Invalid $%s - invalid hex color code\n", env); | ||
134 | return 0; | ||
135 | } | ||
136 | /* Valid hex sequence; expand into a GdkColor */ | ||
137 | if (n == 3) { | ||
138 | /* 4-bit RGB */ | ||
139 | c->red = ((ul >> 8) & 0xf) << 12; | ||
140 | c->green = ((ul >> 4) & 0xf) << 12; | ||
141 | c->blue = (ul & 0xf) << 12; | ||
142 | } else { | ||
143 | /* 8-bit RGB */ | ||
144 | c->red = ((ul >> 16) & 0xff) << 8; | ||
145 | c->green = ((ul >> 8) & 0xff) << 8; | ||
146 | c->blue = (ul & 0xff) << 8; | ||
147 | } | ||
148 | return 1; | ||
149 | } | ||
150 | |||
88 | static int | 151 | static int |
89 | passphrase_dialog(char *message, int prompt_type) | 152 | passphrase_dialog(char *message, int prompt_type) |
90 | { | 153 | { |
@@ -94,11 +157,16 @@ passphrase_dialog(char *message, int prompt_type) | |||
94 | int buttons, default_response; | 157 | int buttons, default_response; |
95 | GtkWidget *parent_window, *dialog, *entry; | 158 | GtkWidget *parent_window, *dialog, *entry; |
96 | GdkGrabStatus status; | 159 | GdkGrabStatus status; |
160 | GdkColor fg, bg; | ||
161 | int fg_set = 0, bg_set = 0; | ||
97 | 162 | ||
98 | grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL); | 163 | grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL); |
99 | grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL); | 164 | grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL); |
100 | grab_tries = 0; | 165 | grab_tries = 0; |
101 | 166 | ||
167 | fg_set = parse_env_hex_color("GNOME_SSH_ASKPASS_FG_COLOR", &fg); | ||
168 | bg_set = parse_env_hex_color("GNOME_SSH_ASKPASS_BG_COLOR", &bg); | ||
169 | |||
102 | /* Create an invisible parent window so that GtkDialog doesn't | 170 | /* Create an invisible parent window so that GtkDialog doesn't |
103 | * complain. */ | 171 | * complain. */ |
104 | parent_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 172 | parent_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
@@ -127,17 +195,38 @@ passphrase_dialog(char *message, int prompt_type) | |||
127 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), default_response); | 195 | gtk_dialog_set_default_response(GTK_DIALOG(dialog), default_response); |
128 | gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); | 196 | gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); |
129 | 197 | ||
130 | if (prompt_type == PROMPT_ENTRY) { | 198 | if (fg_set) |
199 | gtk_widget_modify_fg(dialog, GTK_STATE_NORMAL, &fg); | ||
200 | if (bg_set) | ||
201 | gtk_widget_modify_bg(dialog, GTK_STATE_NORMAL, &bg); | ||
202 | |||
203 | if (prompt_type == PROMPT_ENTRY || prompt_type == PROMPT_NONE) { | ||
131 | entry = gtk_entry_new(); | 204 | entry = gtk_entry_new(); |
205 | if (fg_set) | ||
206 | gtk_widget_modify_fg(entry, GTK_STATE_NORMAL, &fg); | ||
207 | if (bg_set) | ||
208 | gtk_widget_modify_bg(entry, GTK_STATE_NORMAL, &bg); | ||
132 | gtk_box_pack_start( | 209 | gtk_box_pack_start( |
133 | GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), | 210 | GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), |
134 | entry, FALSE, FALSE, 0); | 211 | entry, FALSE, FALSE, 0); |
135 | gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | 212 | gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
136 | gtk_widget_grab_focus(entry); | 213 | gtk_widget_grab_focus(entry); |
137 | gtk_widget_show(entry); | 214 | if (prompt_type == PROMPT_ENTRY) { |
138 | /* Make <enter> close dialog */ | 215 | gtk_widget_show(entry); |
139 | g_signal_connect(G_OBJECT(entry), "activate", | 216 | /* Make <enter> close dialog */ |
140 | G_CALLBACK(ok_dialog), dialog); | 217 | g_signal_connect(G_OBJECT(entry), "activate", |
218 | G_CALLBACK(ok_dialog), dialog); | ||
219 | } else { | ||
220 | /* | ||
221 | * Ensure the 'close' button is not focused by default | ||
222 | * but is still reachable via tab. This is a bit of a | ||
223 | * hack - it uses a hidden entry that responds to a | ||
224 | * couple of keypress events (escape and tab only). | ||
225 | */ | ||
226 | gtk_widget_realize(entry); | ||
227 | g_signal_connect(G_OBJECT(entry), "key_press_event", | ||
228 | G_CALLBACK(check_none), dialog); | ||
229 | } | ||
141 | } | 230 | } |
142 | 231 | ||
143 | /* Grab focus */ | 232 | /* Grab focus */ |
diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index dcd57aa19..df99f7d73 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec | |||
@@ -1,4 +1,4 @@ | |||
1 | %global ver 8.3p1 | 1 | %global ver 8.4p1 |
2 | %global 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 |
@@ -363,8 +363,10 @@ fi | |||
363 | %attr(0755,root,root) %dir %{_libexecdir}/openssh | 363 | %attr(0755,root,root) %dir %{_libexecdir}/openssh |
364 | %attr(4711,root,root) %{_libexecdir}/openssh/ssh-keysign | 364 | %attr(4711,root,root) %{_libexecdir}/openssh/ssh-keysign |
365 | %attr(0755,root,root) %{_libexecdir}/openssh/ssh-pkcs11-helper | 365 | %attr(0755,root,root) %{_libexecdir}/openssh/ssh-pkcs11-helper |
366 | %attr(0755,root,root) %{_libexecdir}/openssh/ssh-sk-helper | ||
366 | %attr(0644,root,root) %{_mandir}/man8/ssh-keysign.8* | 367 | %attr(0644,root,root) %{_mandir}/man8/ssh-keysign.8* |
367 | %attr(0644,root,root) %{_mandir}/man8/ssh-pkcs11-helper.8* | 368 | %attr(0644,root,root) %{_mandir}/man8/ssh-pkcs11-helper.8* |
369 | %attr(0644,root,root) %{_mandir}/man8/ssh-sk-helper.8* | ||
368 | %endif | 370 | %endif |
369 | %if %{scard} | 371 | %if %{scard} |
370 | %attr(0755,root,root) %dir %{_datadir}/openssh | 372 | %attr(0755,root,root) %dir %{_datadir}/openssh |
@@ -422,6 +424,9 @@ fi | |||
422 | %endif | 424 | %endif |
423 | 425 | ||
424 | %changelog | 426 | %changelog |
427 | * Mon Jul 20 2020 Damien Miller <djm@mindrto.org> | ||
428 | - Add ssh-sk-helper and corresponding manual page. | ||
429 | |||
425 | * Sat Feb 10 2018 Darren Tucker <dtucker@dtucker.net> | 430 | * Sat Feb 10 2018 Darren Tucker <dtucker@dtucker.net> |
426 | - Update openssl-devel dependency to match current requirements. | 431 | - Update openssl-devel dependency to match current requirements. |
427 | - Handle Fedora >=6 openssl 1.0 compat libs. | 432 | - Handle Fedora >=6 openssl 1.0 compat libs. |
diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id index b83b83619..392f64f94 100644 --- a/contrib/ssh-copy-id +++ b/contrib/ssh-copy-id | |||
@@ -1,6 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | # Copyright (c) 1999-2016 Philip Hands <phil@hands.com> | 3 | # Copyright (c) 1999-2020 Philip Hands <phil@hands.com> |
4 | # 2017 Sebastien Boyron <seb@boyron.eu> | ||
4 | # 2013 Martin Kletzander <mkletzan@redhat.com> | 5 | # 2013 Martin Kletzander <mkletzan@redhat.com> |
5 | # 2010 Adeodato =?iso-8859-1?Q?Sim=F3?= <asp16@alu.ua.es> | 6 | # 2010 Adeodato =?iso-8859-1?Q?Sim=F3?= <asp16@alu.ua.es> |
6 | # 2010 Eric Moret <eric.moret@gmail.com> | 7 | # 2010 Eric Moret <eric.moret@gmail.com> |
@@ -33,13 +34,15 @@ | |||
33 | # Shell script to install your public key(s) on a remote machine | 34 | # Shell script to install your public key(s) on a remote machine |
34 | # See the ssh-copy-id(1) man page for details | 35 | # See the ssh-copy-id(1) man page for details |
35 | 36 | ||
37 | # shellcheck shell=dash | ||
38 | |||
36 | # check that we have something mildly sane as our shell, or try to find something better | 39 | # check that we have something mildly sane as our shell, or try to find something better |
37 | if false ^ printf "%s: WARNING: ancient shell, hunting for a more modern one... " "$0" | 40 | if false ^ printf "%s: WARNING: ancient shell, hunting for a more modern one... " "$0" |
38 | then | 41 | then |
39 | SANE_SH=${SANE_SH:-/usr/bin/ksh} | 42 | SANE_SH=${SANE_SH:-/usr/bin/ksh} |
40 | if printf 'true ^ false\n' | "$SANE_SH" | 43 | if printf 'true ^ false\n' | "$SANE_SH" |
41 | then | 44 | then |
42 | printf "'%s' seems viable.\n" "$SANE_SH" | 45 | printf "'%s' seems viable.\\n" "$SANE_SH" |
43 | exec "$SANE_SH" "$0" "$@" | 46 | exec "$SANE_SH" "$0" "$@" |
44 | else | 47 | else |
45 | cat <<-EOF | 48 | cat <<-EOF |
@@ -51,16 +54,16 @@ then | |||
51 | a bug describing your setup, and the shell you used to make it work. | 54 | a bug describing your setup, and the shell you used to make it work. |
52 | 55 | ||
53 | EOF | 56 | EOF |
54 | printf "%s: ERROR: Less dimwitted shell required.\n" "$0" | 57 | printf '%s: ERROR: Less dimwitted shell required.\n' "$0" |
55 | exit 1 | 58 | exit 1 |
56 | fi | 59 | fi |
57 | fi | 60 | fi |
58 | 61 | ||
59 | most_recent_id="$(cd "$HOME" ; ls -t .ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)" | 62 | # shellcheck disable=SC2010 |
60 | DEFAULT_PUB_ID_FILE="${most_recent_id:+$HOME/}$most_recent_id" | 63 | DEFAULT_PUB_ID_FILE=$(ls -t "${HOME}"/.ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1) |
61 | 64 | ||
62 | usage () { | 65 | usage () { |
63 | printf 'Usage: %s [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname\n' "$0" >&2 | 66 | printf 'Usage: %s [-h|-?|-f|-n] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [[-o <ssh -o options>] ...] [user@]hostname\n' "$0" >&2 |
64 | printf '\t-f: force mode -- copy keys without trying to check if they are already installed\n' >&2 | 67 | printf '\t-f: force mode -- copy keys without trying to check if they are already installed\n' >&2 |
65 | printf '\t-n: dry run -- no keys are actually copied\n' >&2 | 68 | printf '\t-n: dry run -- no keys are actually copied\n' >&2 |
66 | printf '\t-h|-?: print this help\n' >&2 | 69 | printf '\t-h|-?: print this help\n' >&2 |
@@ -69,18 +72,18 @@ usage () { | |||
69 | 72 | ||
70 | # escape any single quotes in an argument | 73 | # escape any single quotes in an argument |
71 | quote() { | 74 | quote() { |
72 | printf "%s\n" "$1" | sed -e "s/'/'\\\\''/g" | 75 | printf '%s\n' "$1" | sed -e "s/'/'\\\\''/g" |
73 | } | 76 | } |
74 | 77 | ||
75 | use_id_file() { | 78 | use_id_file() { |
76 | local L_ID_FILE="$1" | 79 | local L_ID_FILE="$1" |
77 | 80 | ||
78 | if [ -z "$L_ID_FILE" ] ; then | 81 | if [ -z "$L_ID_FILE" ] ; then |
79 | printf "%s: ERROR: no ID file found\n" "$0" | 82 | printf '%s: ERROR: no ID file found\n' "$0" |
80 | exit 1 | 83 | exit 1 |
81 | fi | 84 | fi |
82 | 85 | ||
83 | if expr "$L_ID_FILE" : ".*\.pub$" >/dev/null ; then | 86 | if expr "$L_ID_FILE" : '.*\.pub$' >/dev/null ; then |
84 | PUB_ID_FILE="$L_ID_FILE" | 87 | PUB_ID_FILE="$L_ID_FILE" |
85 | else | 88 | else |
86 | PUB_ID_FILE="$L_ID_FILE.pub" | 89 | PUB_ID_FILE="$L_ID_FILE.pub" |
@@ -93,7 +96,7 @@ use_id_file() { | |||
93 | ErrMSG=$( { : < "$f" ; } 2>&1 ) || { | 96 | ErrMSG=$( { : < "$f" ; } 2>&1 ) || { |
94 | local L_PRIVMSG="" | 97 | local L_PRIVMSG="" |
95 | [ "$f" = "$PRIV_ID_FILE" ] && L_PRIVMSG=" (to install the contents of '$PUB_ID_FILE' anyway, look at the -f option)" | 98 | [ "$f" = "$PRIV_ID_FILE" ] && L_PRIVMSG=" (to install the contents of '$PUB_ID_FILE' anyway, look at the -f option)" |
96 | printf "\n%s: ERROR: failed to open ID file '%s': %s\n" "$0" "$f" "$(printf "%s\n%s\n" "$ErrMSG" "$L_PRIVMSG" | sed -e 's/.*: *//')" | 99 | printf "\\n%s: ERROR: failed to open ID file '%s': %s\\n" "$0" "$f" "$(printf '%s\n%s\n' "$ErrMSG" "$L_PRIVMSG" | sed -e 's/.*: *//')" |
97 | exit 1 | 100 | exit 1 |
98 | } | 101 | } |
99 | done | 102 | done |
@@ -105,80 +108,37 @@ if [ -n "$SSH_AUTH_SOCK" ] && ssh-add -L >/dev/null 2>&1 ; then | |||
105 | GET_ID="ssh-add -L" | 108 | GET_ID="ssh-add -L" |
106 | fi | 109 | fi |
107 | 110 | ||
108 | while test "$#" -gt 0 | 111 | while getopts "i:o:p:F:fnh?" OPT |
109 | do | 112 | do |
110 | [ "${SEEN_OPT_I}" ] && expr "$1" : "[-]i" >/dev/null && { | ||
111 | printf "\n%s: ERROR: -i option must not be specified more than once\n\n" "$0" | ||
112 | usage | ||
113 | } | ||
114 | |||
115 | OPT= OPTARG= | ||
116 | # implement something like getopt to avoid Solaris pain | ||
117 | case "$1" in | ||
118 | -i?*|-o?*|-p?*) | ||
119 | OPT="$(printf -- "$1"|cut -c1-2)" | ||
120 | OPTARG="$(printf -- "$1"|cut -c3-)" | ||
121 | shift | ||
122 | ;; | ||
123 | -o|-p) | ||
124 | OPT="$1" | ||
125 | OPTARG="$2" | ||
126 | shift 2 | ||
127 | ;; | ||
128 | -i) | ||
129 | OPT="$1" | ||
130 | test "$#" -le 2 || expr "$2" : "[-]" >/dev/null || { | ||
131 | OPTARG="$2" | ||
132 | shift | ||
133 | } | ||
134 | shift | ||
135 | ;; | ||
136 | -f|-n|-h|-\?) | ||
137 | OPT="$1" | ||
138 | OPTARG= | ||
139 | shift | ||
140 | ;; | ||
141 | --) | ||
142 | shift | ||
143 | while test "$#" -gt 0 | ||
144 | do | ||
145 | SAVEARGS="${SAVEARGS:+$SAVEARGS }'$(quote "$1")'" | ||
146 | shift | ||
147 | done | ||
148 | break | ||
149 | ;; | ||
150 | -*) | ||
151 | printf "\n%s: ERROR: invalid option (%s)\n\n" "$0" "$1" | ||
152 | usage | ||
153 | ;; | ||
154 | *) | ||
155 | SAVEARGS="${SAVEARGS:+$SAVEARGS }'$(quote "$1")'" | ||
156 | shift | ||
157 | continue | ||
158 | ;; | ||
159 | esac | ||
160 | 113 | ||
161 | case "$OPT" in | 114 | case "$OPT" in |
162 | -i) | 115 | i) |
116 | [ "${SEEN_OPT_I}" ] && { | ||
117 | printf '\n%s: ERROR: -i option must not be specified more than once\n\n' "$0" | ||
118 | usage | ||
119 | } | ||
163 | SEEN_OPT_I="yes" | 120 | SEEN_OPT_I="yes" |
164 | use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" | 121 | use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" |
165 | ;; | 122 | ;; |
166 | -o|-p) | 123 | o|p|F) |
167 | SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }$OPT '$(quote "$OPTARG")'" | 124 | SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }-$OPT '$(quote "${OPTARG}")'" |
168 | ;; | 125 | ;; |
169 | -f) | 126 | f) |
170 | FORCED=1 | 127 | FORCED=1 |
171 | ;; | 128 | ;; |
172 | -n) | 129 | n) |
173 | DRY_RUN=1 | 130 | DRY_RUN=1 |
174 | ;; | 131 | ;; |
175 | -h|-\?) | 132 | h|\?) |
176 | usage | 133 | usage |
177 | ;; | 134 | ;; |
178 | esac | 135 | esac |
179 | done | 136 | done |
137 | #shift all args to keep only USER_HOST | ||
138 | shift $((OPTIND-1)) | ||
139 | |||
140 | |||
180 | 141 | ||
181 | eval set -- "$SAVEARGS" | ||
182 | 142 | ||
183 | if [ $# = 0 ] ; then | 143 | if [ $# = 0 ] ; then |
184 | usage | 144 | usage |
@@ -189,16 +149,18 @@ if [ $# != 1 ] ; then | |||
189 | fi | 149 | fi |
190 | 150 | ||
191 | # drop trailing colon | 151 | # drop trailing colon |
192 | USER_HOST=$(printf "%s\n" "$1" | sed 's/:$//') | 152 | USER_HOST="$*" |
193 | # tack the hostname onto SSH_OPTS | 153 | # tack the hostname onto SSH_OPTS |
194 | SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'" | 154 | SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'" |
195 | # and populate "$@" for later use (only way to get proper quoting of options) | 155 | # and populate "$@" for later use (only way to get proper quoting of options) |
196 | eval set -- "$SSH_OPTS" | 156 | eval set -- "$SSH_OPTS" |
197 | 157 | ||
158 | # shellcheck disable=SC2086 | ||
198 | if [ -z "$(eval $GET_ID)" ] && [ -r "${PUB_ID_FILE:=$DEFAULT_PUB_ID_FILE}" ] ; then | 159 | if [ -z "$(eval $GET_ID)" ] && [ -r "${PUB_ID_FILE:=$DEFAULT_PUB_ID_FILE}" ] ; then |
199 | use_id_file "$PUB_ID_FILE" | 160 | use_id_file "$PUB_ID_FILE" |
200 | fi | 161 | fi |
201 | 162 | ||
163 | # shellcheck disable=SC2086 | ||
202 | if [ -z "$(eval $GET_ID)" ] ; then | 164 | if [ -z "$(eval $GET_ID)" ] ; then |
203 | printf '%s: ERROR: No identities found\n' "$0" >&2 | 165 | printf '%s: ERROR: No identities found\n' "$0" >&2 |
204 | exit 1 | 166 | exit 1 |
@@ -209,6 +171,7 @@ fi | |||
209 | populate_new_ids() { | 171 | populate_new_ids() { |
210 | local L_SUCCESS="$1" | 172 | local L_SUCCESS="$1" |
211 | 173 | ||
174 | # shellcheck disable=SC2086 | ||
212 | if [ "$FORCED" ] ; then | 175 | if [ "$FORCED" ] ; then |
213 | NEW_IDS=$(eval $GET_ID) | 176 | NEW_IDS=$(eval $GET_ID) |
214 | return | 177 | return |
@@ -218,17 +181,20 @@ populate_new_ids() { | |||
218 | eval set -- "$SSH_OPTS" | 181 | eval set -- "$SSH_OPTS" |
219 | 182 | ||
220 | umask 0177 | 183 | umask 0177 |
221 | local L_TMP_ID_FILE=$(mktemp ~/.ssh/ssh-copy-id_id.XXXXXXXXXX) | 184 | local L_TMP_ID_FILE |
185 | L_TMP_ID_FILE=$(mktemp ~/.ssh/ssh-copy-id_id.XXXXXXXXXX) | ||
222 | if test $? -ne 0 || test "x$L_TMP_ID_FILE" = "x" ; then | 186 | if test $? -ne 0 || test "x$L_TMP_ID_FILE" = "x" ; then |
223 | printf '%s: ERROR: mktemp failed\n' "$0" >&2 | 187 | printf '%s: ERROR: mktemp failed\n' "$0" >&2 |
224 | exit 1 | 188 | exit 1 |
225 | fi | 189 | fi |
226 | local L_CLEANUP="rm -f \"$L_TMP_ID_FILE\" \"${L_TMP_ID_FILE}.stderr\"" | 190 | local L_CLEANUP="rm -f \"$L_TMP_ID_FILE\" \"${L_TMP_ID_FILE}.stderr\"" |
191 | # shellcheck disable=SC2064 | ||
227 | trap "$L_CLEANUP" EXIT TERM INT QUIT | 192 | trap "$L_CLEANUP" EXIT TERM INT QUIT |
228 | printf '%s: INFO: attempting to log in with the new key(s), to filter out any that are already installed\n' "$0" >&2 | 193 | printf '%s: INFO: attempting to log in with the new key(s), to filter out any that are already installed\n' "$0" >&2 |
194 | # shellcheck disable=SC2086 | ||
229 | NEW_IDS=$( | 195 | NEW_IDS=$( |
230 | eval $GET_ID | { | 196 | eval $GET_ID | { |
231 | while read ID || [ "$ID" ] ; do | 197 | while read -r ID || [ "$ID" ] ; do |
232 | printf '%s\n' "$ID" > "$L_TMP_ID_FILE" | 198 | printf '%s\n' "$ID" > "$L_TMP_ID_FILE" |
233 | 199 | ||
234 | # the next line assumes $PRIV_ID_FILE only set if using a single id file - this | 200 | # the next line assumes $PRIV_ID_FILE only set if using a single id file - this |
@@ -261,21 +227,52 @@ populate_new_ids() { | |||
261 | fi | 227 | fi |
262 | if [ -z "$NEW_IDS" ] ; then | 228 | if [ -z "$NEW_IDS" ] ; then |
263 | printf '\n%s: WARNING: All keys were skipped because they already exist on the remote system.\n' "$0" >&2 | 229 | printf '\n%s: WARNING: All keys were skipped because they already exist on the remote system.\n' "$0" >&2 |
264 | printf '\t\t(if you think this is a mistake, you may want to use -f option)\n\n' "$0" >&2 | 230 | printf '\t\t(if you think this is a mistake, you may want to use -f option)\n\n' >&2 |
265 | exit 0 | 231 | exit 0 |
266 | fi | 232 | fi |
267 | printf '%s: INFO: %d key(s) remain to be installed -- if you are prompted now it is to install the new keys\n' "$0" "$(printf '%s\n' "$NEW_IDS" | wc -l)" >&2 | 233 | printf '%s: INFO: %d key(s) remain to be installed -- if you are prompted now it is to install the new keys\n' "$0" "$(printf '%s\n' "$NEW_IDS" | wc -l)" >&2 |
268 | } | 234 | } |
269 | 235 | ||
236 | # installkey_sh [target_path] | ||
237 | # produce a one-liner to add the keys to remote authorized_keys file | ||
238 | # optionally takes an alternative path for authorized_keys | ||
239 | installkeys_sh() { | ||
240 | local AUTH_KEY_FILE=${1:-.ssh/authorized_keys} | ||
241 | |||
242 | # In setting INSTALLKEYS_SH: | ||
243 | # the tr puts it all on one line (to placate tcsh) | ||
244 | # (hence the excessive use of semi-colons (;) ) | ||
245 | # then in the command: | ||
246 | # cd to be at $HOME, just in case; | ||
247 | # the -z `tail ...` checks for a trailing newline. The echo adds one if was missing | ||
248 | # the cat adds the keys we're getting via STDIN | ||
249 | # and if available restorecon is used to restore the SELinux context | ||
250 | INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF) | ||
251 | cd; | ||
252 | umask 077; | ||
253 | mkdir -p $(dirname "${AUTH_KEY_FILE}") && | ||
254 | { [ -z \`tail -1c ${AUTH_KEY_FILE} 2>/dev/null\` ] || echo >> ${AUTH_KEY_FILE}; } && | ||
255 | cat >> ${AUTH_KEY_FILE} || | ||
256 | exit 1; | ||
257 | if type restorecon >/dev/null 2>&1; then | ||
258 | restorecon -F .ssh ${AUTH_KEY_FILE}; | ||
259 | fi | ||
260 | EOF | ||
261 | |||
262 | # to defend against quirky remote shells: use 'exec sh -c' to get POSIX; | ||
263 | printf "exec sh -c '%s'" "${INSTALLKEYS_SH}" | ||
264 | } | ||
265 | |||
270 | REMOTE_VERSION=$(ssh -v -o PreferredAuthentications=',' -o ControlPath=none "$@" 2>&1 | | 266 | REMOTE_VERSION=$(ssh -v -o PreferredAuthentications=',' -o ControlPath=none "$@" 2>&1 | |
271 | sed -ne 's/.*remote software version //p') | 267 | sed -ne 's/.*remote software version //p') |
272 | 268 | ||
269 | # shellcheck disable=SC2029 | ||
273 | case "$REMOTE_VERSION" in | 270 | case "$REMOTE_VERSION" in |
274 | NetScreen*) | 271 | NetScreen*) |
275 | populate_new_ids 1 | 272 | populate_new_ids 1 |
276 | for KEY in $(printf "%s" "$NEW_IDS" | cut -d' ' -f2) ; do | 273 | for KEY in $(printf "%s" "$NEW_IDS" | cut -d' ' -f2) ; do |
277 | KEY_NO=$(($KEY_NO + 1)) | 274 | KEY_NO=$((KEY_NO + 1)) |
278 | printf "%s\n" "$KEY" | grep ssh-dss >/dev/null || { | 275 | printf '%s\n' "$KEY" | grep ssh-dss >/dev/null || { |
279 | printf '%s: WARNING: Non-dsa key (#%d) skipped (NetScreen only supports DSA keys)\n' "$0" "$KEY_NO" >&2 | 276 | printf '%s: WARNING: Non-dsa key (#%d) skipped (NetScreen only supports DSA keys)\n' "$0" "$KEY_NO" >&2 |
280 | continue | 277 | continue |
281 | } | 278 | } |
@@ -283,20 +280,25 @@ case "$REMOTE_VERSION" in | |||
283 | if [ $? = 255 ] ; then | 280 | if [ $? = 255 ] ; then |
284 | printf '%s: ERROR: installation of key #%d failed (please report a bug describing what caused this, so that we can make this message useful)\n' "$0" "$KEY_NO" >&2 | 281 | printf '%s: ERROR: installation of key #%d failed (please report a bug describing what caused this, so that we can make this message useful)\n' "$0" "$KEY_NO" >&2 |
285 | else | 282 | else |
286 | ADDED=$(($ADDED + 1)) | 283 | ADDED=$((ADDED + 1)) |
287 | fi | 284 | fi |
288 | done | 285 | done |
289 | if [ -z "$ADDED" ] ; then | 286 | if [ -z "$ADDED" ] ; then |
290 | exit 1 | 287 | exit 1 |
291 | fi | 288 | fi |
292 | ;; | 289 | ;; |
290 | dropbear*) | ||
291 | populate_new_ids 0 | ||
292 | [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ | ||
293 | ssh "$@" "$(installkeys_sh /etc/dropbear/authorized_keys)" \ | ||
294 | || exit 1 | ||
295 | ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) | ||
296 | ;; | ||
293 | *) | 297 | *) |
294 | # Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect | 298 | # Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect |
295 | populate_new_ids 0 | 299 | populate_new_ids 0 |
296 | # in ssh below - to defend against quirky remote shells: use 'exec sh -c' to get POSIX; | ||
297 | # 'cd' to be at $HOME; add a newline if it's missing; and all on one line, because tcsh. | ||
298 | [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ | 300 | [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ |
299 | ssh "$@" "exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && { [ -z "'`tail -1c .ssh/authorized_keys 2>/dev/null`'" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi'" \ | 301 | ssh "$@" "$(installkeys_sh)" \ |
300 | || exit 1 | 302 | || exit 1 |
301 | ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) | 303 | ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) |
302 | ;; | 304 | ;; |
diff --git a/contrib/ssh-copy-id.1 b/contrib/ssh-copy-id.1 index ae75c79a5..b75a88365 100644 --- a/contrib/ssh-copy-id.1 +++ b/contrib/ssh-copy-id.1 | |||
@@ -1,5 +1,5 @@ | |||
1 | .ig \" -*- nroff -*- | 1 | .ig \" -*- nroff -*- |
2 | Copyright (c) 1999-2013 hands.com Ltd. <http://hands.com/> | 2 | Copyright (c) 1999-2016 hands.com Ltd. <http://hands.com/> |
3 | 3 | ||
4 | Redistribution and use in source and binary forms, with or without | 4 | Redistribution and use in source and binary forms, with or without |
5 | modification, are permitted provided that the following conditions | 5 | modification, are permitted provided that the following conditions |
diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index a2789052d..e6459e82d 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation | 14 | Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation |
15 | Name: openssh | 15 | Name: openssh |
16 | Version: 8.3p1 | 16 | Version: 8.4p1 |
17 | URL: https://www.openssh.com/ | 17 | URL: https://www.openssh.com/ |
18 | Release: 1 | 18 | Release: 1 |
19 | Source0: openssh-%{version}.tar.gz | 19 | Source0: openssh-%{version}.tar.gz |
@@ -75,6 +75,8 @@ patented algorithms to separate libraries (OpenSSL). | |||
75 | This package contains an X Window System passphrase dialog for OpenSSH. | 75 | This package contains an X Window System passphrase dialog for OpenSSH. |
76 | 76 | ||
77 | %changelog | 77 | %changelog |
78 | * Mon Jul 20 2020 Damien Miller <djm@mindrto.org> | ||
79 | - Add ssh-sk-helper and corresponding manual page. | ||
78 | * Wed Oct 26 2005 Iain Morgan <imorgan@nas.nasa.gov> | 80 | * Wed Oct 26 2005 Iain Morgan <imorgan@nas.nasa.gov> |
79 | - Removed accidental inclusion of --without-zlib-version-check | 81 | - Removed accidental inclusion of --without-zlib-version-check |
80 | * Tue Oct 25 2005 Iain Morgan <imorgan@nas.nasa.gov> | 82 | * Tue Oct 25 2005 Iain Morgan <imorgan@nas.nasa.gov> |
@@ -211,6 +213,7 @@ rm -rf $RPM_BUILD_ROOT | |||
211 | %attr(0755,root,root) %{_libdir}/ssh/sftp-server | 213 | %attr(0755,root,root) %{_libdir}/ssh/sftp-server |
212 | %attr(4711,root,root) %{_libdir}/ssh/ssh-keysign | 214 | %attr(4711,root,root) %{_libdir}/ssh/ssh-keysign |
213 | %attr(0755,root,root) %{_libdir}/ssh/ssh-pkcs11-helper | 215 | %attr(0755,root,root) %{_libdir}/ssh/ssh-pkcs11-helper |
216 | %attr(0755,root,root) %{_libdir}/ssh/ssh-sk-helper | ||
214 | %attr(0644,root,root) %doc %{_mandir}/man1/scp.1* | 217 | %attr(0644,root,root) %doc %{_mandir}/man1/scp.1* |
215 | %attr(0644,root,root) %doc %{_mandir}/man1/sftp.1* | 218 | %attr(0644,root,root) %doc %{_mandir}/man1/sftp.1* |
216 | %attr(0644,root,root) %doc %{_mandir}/man1/ssh.1* | 219 | %attr(0644,root,root) %doc %{_mandir}/man1/ssh.1* |
@@ -224,6 +227,7 @@ rm -rf $RPM_BUILD_ROOT | |||
224 | %attr(0644,root,root) %doc %{_mandir}/man8/sftp-server.8* | 227 | %attr(0644,root,root) %doc %{_mandir}/man8/sftp-server.8* |
225 | %attr(0644,root,root) %doc %{_mandir}/man8/ssh-keysign.8* | 228 | %attr(0644,root,root) %doc %{_mandir}/man8/ssh-keysign.8* |
226 | %attr(0644,root,root) %doc %{_mandir}/man8/ssh-pkcs11-helper.8* | 229 | %attr(0644,root,root) %doc %{_mandir}/man8/ssh-pkcs11-helper.8* |
230 | %attr(0644,root,root) %doc %{_mandir}/man8/ssh-sk-helper.8* | ||
227 | %attr(0644,root,root) %doc %{_mandir}/man8/sshd.8* | 231 | %attr(0644,root,root) %doc %{_mandir}/man8/sshd.8* |
228 | %attr(0644,root,root) /var/adm/fillup-templates/sysconfig.ssh | 232 | %attr(0644,root,root) /var/adm/fillup-templates/sysconfig.ssh |
229 | 233 | ||
diff --git a/debian/.git-dpm b/debian/.git-dpm index 0e68bd57c..3942a1891 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 |
2 | 877a000e9474ed5e32029f434dbec4de2fb1696f | 2 | 3728919292c05983372954d27426f7d966813139 |
3 | 877a000e9474ed5e32029f434dbec4de2fb1696f | 3 | 3728919292c05983372954d27426f7d966813139 |
4 | 202f5a676221c244cd450086c334c2b59f339e86 | 4 | 2b2c99658e3e8ed452e28f88f9cdbcdfb2a461cb |
5 | 202f5a676221c244cd450086c334c2b59f339e86 | 5 | 2b2c99658e3e8ed452e28f88f9cdbcdfb2a461cb |
6 | openssh_8.3p1.orig.tar.gz | 6 | openssh_8.4p1.orig.tar.gz |
7 | 04c7adb9986f16746588db8988b910530c589819 | 7 | 69305059e10a60693ebe6f17731f962c9577535c |
8 | 1706358 | 8 | 1742201 |
9 | debianTag="debian/%e%%%V" | 9 | debianTag="debian/%e%%%V" |
10 | patchedTag="patched/%e%%%V" | 10 | patchedTag="patched/%e%%%V" |
11 | upstreamTag="upstream/%U" | 11 | upstreamTag="upstream/%U" |
12 | signature:e3fdeb7b96543bcc2854614c6163cfe860ba5ec8:683:openssh_8.3p1.orig.tar.gz.asc | 12 | signature:323573568682eac265e1f69206bc98149a8e423e:683:openssh_8.4p1.orig.tar.gz.asc |
diff --git a/debian/NEWS b/debian/NEWS index 3bfafbda7..2d38891ea 100644 --- a/debian/NEWS +++ b/debian/NEWS | |||
@@ -1,3 +1,19 @@ | |||
1 | openssh (1:8.4p1-1) unstable; urgency=medium | ||
2 | |||
3 | OpenSSH 8.4 includes a number of changes that may affect existing | ||
4 | configurations: | ||
5 | |||
6 | * ssh-keygen(1): the format of the attestation information optionally | ||
7 | recorded when a FIDO key is generated has changed. It now includes the | ||
8 | authenticator data needed to validate attestation signatures. | ||
9 | |||
10 | * The API between OpenSSH and the FIDO token middleware has changed and | ||
11 | the SSH_SK_VERSION_MAJOR version has been incremented as a result. | ||
12 | Third-party middleware libraries must support the current API version | ||
13 | (7) to work with OpenSSH 8.4. | ||
14 | |||
15 | -- Colin Watson <cjwatson@debian.org> Sun, 18 Oct 2020 12:07:48 +0100 | ||
16 | |||
1 | openssh (1:8.3p1-1) unstable; urgency=medium | 17 | openssh (1:8.3p1-1) unstable; urgency=medium |
2 | 18 | ||
3 | OpenSSH 8.3 includes a number of changes that may affect existing | 19 | OpenSSH 8.3 includes a number of changes that may affect existing |
diff --git a/debian/changelog b/debian/changelog index 95c88c634..03d7a0af4 100644 --- a/debian/changelog +++ b/debian/changelog | |||
@@ -1,3 +1,133 @@ | |||
1 | openssh (1:8.4p1-1) UNRELEASED; urgency=medium | ||
2 | |||
3 | * New upstream release (https://www.openssh.com/txt/release-8.4): | ||
4 | - [SECURITY] ssh-agent(1): restrict ssh-agent from signing web | ||
5 | challenges for FIDO/U2F keys. | ||
6 | - [SECURITY] ssh-keygen(1): Enable FIDO 2.1 credProtect extension when | ||
7 | generating a FIDO resident key. | ||
8 | - ssh-keygen(1): the format of the attestation information optionally | ||
9 | recorded when a FIDO key is generated has changed. It now includes the | ||
10 | authenticator data needed to validate attestation signatures. | ||
11 | - The API between OpenSSH and the FIDO token middleware has changed and | ||
12 | the SSH_SK_VERSION_MAJOR version has been incremented as a result. | ||
13 | Third-party middleware libraries must support the current API version | ||
14 | (7) to work with OpenSSH 8.4. | ||
15 | - ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for | ||
16 | each use. These keys may be generated using ssh-keygen using a new | ||
17 | "verify-required" option. When a PIN-required key is used, the user | ||
18 | will be prompted for a PIN to complete the signature operation. | ||
19 | - sshd(8): authorized_keys now supports a new "verify-required" option | ||
20 | to require FIDO signatures assert that the token verified that the | ||
21 | user was present before making the signature. The FIDO protocol | ||
22 | supports multiple methods for user-verification, but currently OpenSSH | ||
23 | only supports PIN verification. | ||
24 | - sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn | ||
25 | signatures. Webauthn is a standard for using FIDO keys in web | ||
26 | browsers. These signatures are a slightly different format to plain | ||
27 | FIDO signatures and thus require explicit support. | ||
28 | - ssh(1): allow some keywords to expand shell-style ${ENV} environment | ||
29 | variables. The supported keywords are CertificateFile, ControlPath, | ||
30 | IdentityAgent and IdentityFile, plus LocalForward and RemoteForward | ||
31 | when used for Unix domain socket paths. | ||
32 | - ssh(1), ssh-agent(1): allow some additional control over the use of | ||
33 | ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable, | ||
34 | including forcibly enabling and disabling its use (closes: #368657). | ||
35 | - ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time | ||
36 | limit for keys in addition to its current flag options. Time-limited | ||
37 | keys will automatically be removed from ssh-agent after their expiry | ||
38 | time has passed. | ||
39 | - scp(1), sftp(1): allow the -A flag to explicitly enable agent | ||
40 | forwarding in scp and sftp. The default remains to not forward an | ||
41 | agent, even when ssh_config enables it. | ||
42 | - ssh(1): add a '%k' TOKEN that expands to the effective HostKey of the | ||
43 | destination. This allows, e.g., keeping host keys in individual files | ||
44 | using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" (closes: #481250). | ||
45 | - ssh(1): add %-TOKEN, environment variable and tilde expansion to the | ||
46 | UserKnownHostsFile directive, allowing the path to be completed by the | ||
47 | configuration. | ||
48 | - ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted from | ||
49 | stdin. | ||
50 | - sshd(8): improve logging for MaxStartups connection throttling. sshd | ||
51 | will now log when it starts and stops throttling and periodically | ||
52 | while in this state. | ||
53 | - ssh(1), ssh-keygen(1): better support for multiple attached FIDO | ||
54 | tokens. In cases where OpenSSH cannot unambiguously determine which | ||
55 | token to direct a request to, the user is now required to select a | ||
56 | token by touching it. In cases of operations that require a PIN to be | ||
57 | verified, this avoids sending the wrong PIN to the wrong token and | ||
58 | incrementing the token's PIN failure counter (tokens effectively erase | ||
59 | their keys after too many PIN failures). | ||
60 | - sshd(8): fix Include before Match in sshd_config (LP: #1885990). | ||
61 | - ssh(1): close stdin/out/error when forking after authentication | ||
62 | completes ("ssh -f ..."). | ||
63 | - ssh(1), sshd(8): limit the amount of channel input data buffered, | ||
64 | avoiding peers that advertise large windows but are slow to read from | ||
65 | causing high memory consumption. | ||
66 | - ssh-agent(1): handle multiple requests sent in a single write() to the | ||
67 | agent. | ||
68 | - sshd(8): allow sshd_config longer than 256k. | ||
69 | - sshd(8): avoid spurious "Unable to load host key" message when sshd | ||
70 | load a private key but no public counterpart. | ||
71 | - ssh(1): prefer the default hostkey algorithm list whenever we have a | ||
72 | hostkey that matches its best-preference algorithm. | ||
73 | - sshd(1): when ordering the hostkey algorithms to request from a | ||
74 | server, prefer certificate types if the known_hosts files contain a | ||
75 | key marked as a @cert-authority. | ||
76 | - ssh(1): perform host key fingerprint comparisons for the "Are you sure | ||
77 | you want to continue connecting (yes/no/[fingerprint])?" prompt with | ||
78 | case sensitivity. | ||
79 | - sshd(8): ensure that address/masklen mismatches in sshd_config yield | ||
80 | fatal errors at daemon start time rather than later when they are | ||
81 | evaluated. | ||
82 | - ssh-keygen(1): ensure that certificate extensions are lexically | ||
83 | sorted. Previously if the user specified a custom extension then the | ||
84 | everything would be in order except the custom ones. | ||
85 | - ssh(1): also compare username when checking for JumpHost loops. | ||
86 | - ssh-keygen(1): preserve group/world read permission on known_hosts | ||
87 | files across runs of "ssh-keygen -Rf /path". The old behaviour was to | ||
88 | remove all rights for group/other. | ||
89 | - ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen manual | ||
90 | page and usage(). | ||
91 | - sshd(8): explicitly construct path to ~/.ssh/rc rather than relying on | ||
92 | it being relative to the current directory, so that it can still be | ||
93 | found if the shell startup changes its directory. | ||
94 | - sshd(8): when redirecting sshd's log output to a file, undo this | ||
95 | redirection after the session child process is forked(). Fixes missing | ||
96 | log messages when using this feature under some circumstances. | ||
97 | - sshd(8): start ClientAliveInterval bookkeeping before first pass | ||
98 | through select() loop; fixed theoretical case where busy sshd may | ||
99 | ignore timeouts from client. | ||
100 | - ssh(1): only reset the ServerAliveInterval check when we receive | ||
101 | traffic from the server and ignore traffic from a port forwarding | ||
102 | client, preventing a client from keeping a connection alive when it | ||
103 | should be terminated. | ||
104 | - ssh-keygen(1): avoid spurious error message when ssh-keygen creates | ||
105 | files outside ~/.ssh. | ||
106 | - sftp-client(1): fix off-by-one error that caused sftp downloads to | ||
107 | make one more concurrent request that desired. This prevented using | ||
108 | sftp(1) in unpipelined request/response mode, which is useful when | ||
109 | debugging. | ||
110 | - ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect() | ||
111 | helpers. | ||
112 | - ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to | ||
113 | write to it so we don't leave an empty .ssh directory when it's not | ||
114 | needed. | ||
115 | - ssh(1), sshd(8): fix multiplier when parsing time specifications when | ||
116 | handling seconds after other units. | ||
117 | - sshd(8): always send any PAM account messages. If the PAM account | ||
118 | stack returns any messages, always send them to the user and not just | ||
119 | if the check succeeds. | ||
120 | - gnome-ssh-askpass3: ensure the "close" button is not focused by | ||
121 | default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter | ||
122 | accidentally dismissing FIDO touch notifications. | ||
123 | - gnome-ssh-askpass3: allow some control over textarea colour via | ||
124 | $GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR | ||
125 | environment variables. | ||
126 | - Detect the Frankenstein monster of Linux/X32 and allow the sandbox to | ||
127 | function there. | ||
128 | |||
129 | -- Colin Watson <cjwatson@debian.org> Sun, 18 Oct 2020 12:07:48 +0100 | ||
130 | |||
1 | openssh (1:8.3p1-1) unstable; urgency=medium | 131 | openssh (1:8.3p1-1) unstable; urgency=medium |
2 | 132 | ||
3 | * New upstream release (https://www.openssh.com/txt/release-8.3): | 133 | * New upstream release (https://www.openssh.com/txt/release-8.3): |
diff --git a/debian/control b/debian/control index 98ee0189a..14506c5c1 100644 --- a/debian/control +++ b/debian/control | |||
@@ -11,7 +11,7 @@ Build-Depends: autotools-dev, | |||
11 | dpkg-dev (>= 1.16.1~), | 11 | dpkg-dev (>= 1.16.1~), |
12 | libaudit-dev [linux-any], | 12 | libaudit-dev [linux-any], |
13 | libedit-dev, | 13 | libedit-dev, |
14 | libfido2-dev [linux-any], | 14 | libfido2-dev (>= 1.5.0) [linux-any], |
15 | libgtk-3-dev <!pkg.openssh.nognome>, | 15 | libgtk-3-dev <!pkg.openssh.nognome>, |
16 | libkrb5-dev | heimdal-dev, | 16 | libkrb5-dev | heimdal-dev, |
17 | libpam0g-dev | libpam-dev, | 17 | libpam0g-dev | libpam-dev, |
diff --git a/debian/patches/authorized-keys-man-symlink.patch b/debian/patches/authorized-keys-man-symlink.patch index 68f5029d5..2680fc739 100644 --- a/debian/patches/authorized-keys-man-symlink.patch +++ b/debian/patches/authorized-keys-man-symlink.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From eb51213d1bdc8d80cd7d0578737d8a7bfde992d2 Mon Sep 17 00:00:00 2001 | 1 | From 27ced5f6a3c5dec6e0a78ae138d3db56d49953bd Mon Sep 17 00:00:00 2001 |
2 | From: Tomas Pospisek <tpo_deb@sourcepole.ch> | 2 | From: Tomas Pospisek <tpo_deb@sourcepole.ch> |
3 | Date: Sun, 9 Feb 2014 16:10:07 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:07 +0000 |
4 | Subject: Install authorized_keys(5) as a symlink to sshd(8) | 4 | Subject: 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 | ||
15 | diff --git a/Makefile.in b/Makefile.in | 15 | diff --git a/Makefile.in b/Makefile.in |
16 | index bf1e1de47..3aa808a38 100644 | 16 | index 56759c388..73e56aaac 100644 |
17 | --- a/Makefile.in | 17 | --- a/Makefile.in |
18 | +++ b/Makefile.in | 18 | +++ b/Makefile.in |
19 | @@ -406,6 +406,7 @@ install-files: | 19 | @@ -408,6 +408,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/avoid-extra-ports.patch b/debian/patches/avoid-extra-ports.patch deleted file mode 100644 index d8df325ac..000000000 --- a/debian/patches/avoid-extra-ports.patch +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | From 877a000e9474ed5e32029f434dbec4de2fb1696f Mon Sep 17 00:00:00 2001 | ||
2 | From: "djm@openbsd.org" <djm@openbsd.org> | ||
3 | Date: Wed, 27 May 2020 21:59:11 +0000 | ||
4 | Subject: upstream: Do not call process_queued_listen_addrs() for every | ||
5 | |||
6 | included file from sshd_config; patch from Jakub Jelen | ||
7 | |||
8 | OpenBSD-Commit-ID: 0ff603d6f06a7fab4881f12503b53024799d0a49 | ||
9 | |||
10 | Origin: upstream, https://anongit.mindrot.org/openssh.git/commit/?id=0a9a611619b0a1fecd0195ec86a9885f5d681c84 | ||
11 | Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=3169 | ||
12 | Bug-Debian: https://bugs.debian.org/962035 | ||
13 | Bug-Ubuntu: https://bugs.launchpad.net/bugs/1876320 | ||
14 | Last-Update: 2020-06-07 | ||
15 | |||
16 | Patch-Name: avoid-extra-ports.patch | ||
17 | --- | ||
18 | servconf.c | 10 +++++----- | ||
19 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
20 | |||
21 | diff --git a/servconf.c b/servconf.c | ||
22 | index c290e9786..5f3336365 100644 | ||
23 | --- a/servconf.c | ||
24 | +++ b/servconf.c | ||
25 | @@ -1,5 +1,5 @@ | ||
26 | |||
27 | -/* $OpenBSD: servconf.c,v 1.363 2020/04/17 03:30:05 djm Exp $ */ | ||
28 | +/* $OpenBSD: servconf.c,v 1.364 2020/05/27 21:59:11 djm Exp $ */ | ||
29 | /* | ||
30 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
31 | * All rights reserved | ||
32 | @@ -75,8 +75,8 @@ static void add_listen_addr(ServerOptions *, const char *, | ||
33 | const char *, int); | ||
34 | static void add_one_listen_addr(ServerOptions *, const char *, | ||
35 | const char *, int); | ||
36 | -void parse_server_config_depth(ServerOptions *options, const char *filename, | ||
37 | - struct sshbuf *conf, struct include_list *includes, | ||
38 | +static void parse_server_config_depth(ServerOptions *options, | ||
39 | + const char *filename, struct sshbuf *conf, struct include_list *includes, | ||
40 | struct connection_info *connectinfo, int flags, int *activep, int depth); | ||
41 | |||
42 | /* Use of privilege separation or not */ | ||
43 | @@ -2623,7 +2623,7 @@ copy_set_server_options(ServerOptions *dst, ServerOptions *src, int preauth) | ||
44 | #undef M_CP_STRARRAYOPT | ||
45 | |||
46 | #define SERVCONF_MAX_DEPTH 16 | ||
47 | -void | ||
48 | +static void | ||
49 | parse_server_config_depth(ServerOptions *options, const char *filename, | ||
50 | struct sshbuf *conf, struct include_list *includes, | ||
51 | struct connection_info *connectinfo, int flags, int *activep, int depth) | ||
52 | @@ -2649,7 +2649,6 @@ parse_server_config_depth(ServerOptions *options, const char *filename, | ||
53 | if (bad_options > 0) | ||
54 | fatal("%s: terminating, %d bad configuration options", | ||
55 | filename, bad_options); | ||
56 | - process_queued_listen_addrs(options); | ||
57 | } | ||
58 | |||
59 | void | ||
60 | @@ -2660,6 +2659,7 @@ parse_server_config(ServerOptions *options, const char *filename, | ||
61 | int active = connectinfo ? 0 : 1; | ||
62 | parse_server_config_depth(options, filename, conf, includes, | ||
63 | connectinfo, 0, &active, 0); | ||
64 | + process_queued_listen_addrs(options); | ||
65 | } | ||
66 | |||
67 | static const char * | ||
diff --git a/debian/patches/conch-old-privkey-format.patch b/debian/patches/conch-old-privkey-format.patch index dfd1058b8..c7063cece 100644 --- a/debian/patches/conch-old-privkey-format.patch +++ b/debian/patches/conch-old-privkey-format.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f2697f0c5ff23bc13dce1c90fb4c1c934c02070b Mon Sep 17 00:00:00 2001 | 1 | From a73fcc8bab768900ca16d3121303941511b28d45 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Thu, 30 Aug 2018 00:58:56 +0100 | 3 | Date: Thu, 30 Aug 2018 00:58:56 +0100 |
4 | Subject: Work around conch interoperability failure | 4 | Subject: 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 | ||
20 | diff --git a/regress/Makefile b/regress/Makefile | 20 | diff --git a/regress/Makefile b/regress/Makefile |
21 | index 62794d25f..53a50ffca 100644 | 21 | index 8b4ed9de3..f50d189bb 100644 |
22 | --- a/regress/Makefile | 22 | --- a/regress/Makefile |
23 | +++ b/regress/Makefile | 23 | +++ b/regress/Makefile |
24 | @@ -121,7 +121,7 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \ | 24 | @@ -122,7 +122,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 \ |
diff --git a/debian/patches/debian-banner.patch b/debian/patches/debian-banner.patch index 47a2fe372..82cc37c1b 100644 --- a/debian/patches/debian-banner.patch +++ b/debian/patches/debian-banner.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 90c1c8771b61dd3ee0eacb4e1cfac404dc42f4b0 Mon Sep 17 00:00:00 2001 | 1 | From 6353ee79cc71ef33a0a34d2d769a5fe327f6260d Mon Sep 17 00:00:00 2001 |
2 | From: Kees Cook <kees@debian.org> | 2 | From: Kees Cook <kees@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:06 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:06 +0000 |
4 | Subject: Add DebianBanner server configuration option | 4 | Subject: Add DebianBanner server configuration option |
@@ -22,7 +22,7 @@ Patch-Name: debian-banner.patch | |||
22 | 7 files changed, 22 insertions(+), 5 deletions(-) | 22 | 7 files changed, 22 insertions(+), 5 deletions(-) |
23 | 23 | ||
24 | diff --git a/kex.c b/kex.c | 24 | diff --git a/kex.c b/kex.c |
25 | index 0e64bf760..aa5acaac3 100644 | 25 | index ce7bb5b3b..763c45536 100644 |
26 | --- a/kex.c | 26 | --- a/kex.c |
27 | +++ b/kex.c | 27 | +++ b/kex.c |
28 | @@ -1225,7 +1225,7 @@ send_error(struct ssh *ssh, char *msg) | 28 | @@ -1225,7 +1225,7 @@ send_error(struct ssh *ssh, char *msg) |
@@ -58,10 +58,10 @@ 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]); |
60 | diff --git a/servconf.c b/servconf.c | 60 | diff --git a/servconf.c b/servconf.c |
61 | index ff5b9436c..cf4e52f3b 100644 | 61 | index 21abe41ac..f9eb778d6 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 | @@ -195,6 +195,7 @@ initialize_server_options(ServerOptions *options) |
65 | options->fingerprint_hash = -1; | 65 | options->fingerprint_hash = -1; |
66 | options->disable_forwarding = -1; | 66 | options->disable_forwarding = -1; |
67 | options->expose_userauth_info = -1; | 67 | options->expose_userauth_info = -1; |
@@ -69,7 +69,7 @@ index ff5b9436c..cf4e52f3b 100644 | |||
69 | } | 69 | } |
70 | 70 | ||
71 | /* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ | 71 | /* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */ |
72 | @@ -468,6 +469,8 @@ fill_default_server_options(ServerOptions *options) | 72 | @@ -469,6 +470,8 @@ fill_default_server_options(ServerOptions *options) |
73 | options->expose_userauth_info = 0; | 73 | options->expose_userauth_info = 0; |
74 | if (options->sk_provider == NULL) | 74 | if (options->sk_provider == NULL) |
75 | options->sk_provider = xstrdup("internal"); | 75 | options->sk_provider = xstrdup("internal"); |
@@ -78,7 +78,7 @@ index ff5b9436c..cf4e52f3b 100644 | |||
78 | 78 | ||
79 | assemble_algorithms(options); | 79 | assemble_algorithms(options); |
80 | 80 | ||
81 | @@ -556,6 +559,7 @@ typedef enum { | 81 | @@ -548,6 +551,7 @@ typedef enum { |
82 | sStreamLocalBindMask, sStreamLocalBindUnlink, | 82 | sStreamLocalBindMask, sStreamLocalBindUnlink, |
83 | sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, | 83 | sAllowStreamLocalForwarding, sFingerprintHash, sDisableForwarding, |
84 | sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, | 84 | sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider, |
@@ -86,7 +86,7 @@ index ff5b9436c..cf4e52f3b 100644 | |||
86 | sDeprecated, sIgnore, sUnsupported | 86 | sDeprecated, sIgnore, sUnsupported |
87 | } ServerOpCodes; | 87 | } ServerOpCodes; |
88 | 88 | ||
89 | @@ -719,6 +723,7 @@ static struct { | 89 | @@ -712,6 +716,7 @@ static struct { |
90 | { "rdomain", sRDomain, SSHCFG_ALL }, | 90 | { "rdomain", sRDomain, SSHCFG_ALL }, |
91 | { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, | 91 | { "casignaturealgorithms", sCASignatureAlgorithms, SSHCFG_ALL }, |
92 | { "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL }, | 92 | { "securitykeyprovider", sSecurityKeyProvider, SSHCFG_GLOBAL }, |
@@ -94,7 +94,7 @@ index ff5b9436c..cf4e52f3b 100644 | |||
94 | { NULL, sBadOption, 0 } | 94 | { NULL, sBadOption, 0 } |
95 | }; | 95 | }; |
96 | 96 | ||
97 | @@ -2393,6 +2398,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, | 97 | @@ -2402,6 +2407,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 ff5b9436c..cf4e52f3b 100644 | |||
106 | case sIgnore: | 106 | case sIgnore: |
107 | case sUnsupported: | 107 | case sUnsupported: |
108 | diff --git a/servconf.h b/servconf.h | 108 | diff --git a/servconf.h b/servconf.h |
109 | index 253cad97e..5a2b60512 100644 | 109 | index f10908e5b..4afdf24d0 100644 |
110 | --- a/servconf.h | 110 | --- a/servconf.h |
111 | +++ b/servconf.h | 111 | +++ b/servconf.h |
112 | @@ -226,6 +226,8 @@ typedef struct { | 112 | @@ -227,6 +227,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,10 +119,10 @@ index 253cad97e..5a2b60512 100644 | |||
119 | 119 | ||
120 | /* Information about the incoming connection as used by Match */ | 120 | /* Information about the incoming connection as used by Match */ |
121 | diff --git a/sshconnect.c b/sshconnect.c | 121 | diff --git a/sshconnect.c b/sshconnect.c |
122 | index f20d3e792..1e5b8ea5a 100644 | 122 | index 3ae20b74e..bab3916d8 100644 |
123 | --- a/sshconnect.c | 123 | --- a/sshconnect.c |
124 | +++ b/sshconnect.c | 124 | +++ b/sshconnect.c |
125 | @@ -1293,7 +1293,7 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost, | 125 | @@ -1296,7 +1296,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. */ |
@@ -132,10 +132,10 @@ index f20d3e792..1e5b8ea5a 100644 | |||
132 | 132 | ||
133 | /* Put the connection into non-blocking mode. */ | 133 | /* Put the connection into non-blocking mode. */ |
134 | diff --git a/sshd.c b/sshd.c | 134 | diff --git a/sshd.c b/sshd.c |
135 | index e8b332ca4..baee13506 100644 | 135 | index 38d281ab4..50f2726bf 100644 |
136 | --- a/sshd.c | 136 | --- a/sshd.c |
137 | +++ b/sshd.c | 137 | +++ b/sshd.c |
138 | @@ -2181,7 +2181,7 @@ main(int ac, char **av) | 138 | @@ -2232,7 +2232,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 | ||
@@ -145,7 +145,7 @@ index e8b332ca4..baee13506 100644 | |||
145 | sshpkt_fatal(ssh, r, "banner exchange"); | 145 | sshpkt_fatal(ssh, r, "banner exchange"); |
146 | 146 | ||
147 | diff --git a/sshd_config.5 b/sshd_config.5 | 147 | diff --git a/sshd_config.5 b/sshd_config.5 |
148 | index 9f093be1f..753ceda10 100644 | 148 | index 6457620bb..33dc0c675 100644 |
149 | --- a/sshd_config.5 | 149 | --- a/sshd_config.5 |
150 | +++ b/sshd_config.5 | 150 | +++ b/sshd_config.5 |
151 | @@ -540,6 +540,11 @@ or | 151 | @@ -540,6 +540,11 @@ or |
diff --git a/debian/patches/debian-config.patch b/debian/patches/debian-config.patch index d01331cc3..aa370e52f 100644 --- a/debian/patches/debian-config.patch +++ b/debian/patches/debian-config.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 08ca1225e6979fc6b5b6e7f85ce5cb0ac5cc7405 Mon Sep 17 00:00:00 2001 | 1 | From a0c9f82b05d33f3e2cf8e5442cee47c09d1a1dd8 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:18 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:18 +0000 |
4 | Subject: Various Debian-specific configuration changes | 4 | Subject: Various Debian-specific configuration changes |
@@ -30,7 +30,7 @@ Document all of this. | |||
30 | 30 | ||
31 | Author: Russ Allbery <rra@debian.org> | 31 | Author: Russ Allbery <rra@debian.org> |
32 | Forwarded: not-needed | 32 | Forwarded: not-needed |
33 | Last-Update: 2020-02-21 | 33 | Last-Update: 2020-10-18 |
34 | 34 | ||
35 | Patch-Name: debian-config.patch | 35 | Patch-Name: debian-config.patch |
36 | --- | 36 | --- |
@@ -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 | ||
45 | diff --git a/readconf.c b/readconf.c | 45 | diff --git a/readconf.c b/readconf.c |
46 | index 5bf0afbb4..87b0dc62a 100644 | 46 | index f4f273c96..e676b6be6 100644 |
47 | --- a/readconf.c | 47 | --- a/readconf.c |
48 | +++ b/readconf.c | 48 | +++ b/readconf.c |
49 | @@ -2111,7 +2111,7 @@ fill_default_options(Options * options) | 49 | @@ -2153,7 +2153,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,7 +56,7 @@ index 5bf0afbb4..87b0dc62a 100644 | |||
56 | options->forward_x11_timeout = 1200; | 56 | options->forward_x11_timeout = 1200; |
57 | /* | 57 | /* |
58 | diff --git a/ssh.1 b/ssh.1 | 58 | diff --git a/ssh.1 b/ssh.1 |
59 | index 5a31b5dde..035823da3 100644 | 59 | index 76ddd89b5..ad48fc8c8 100644 |
60 | --- a/ssh.1 | 60 | --- a/ssh.1 |
61 | +++ b/ssh.1 | 61 | +++ b/ssh.1 |
62 | @@ -812,6 +812,16 @@ directive in | 62 | @@ -812,6 +812,16 @@ directive in |
@@ -98,7 +98,7 @@ index 5a31b5dde..035823da3 100644 | |||
98 | Send log information using the | 98 | Send log information using the |
99 | .Xr syslog 3 | 99 | .Xr syslog 3 |
100 | diff --git a/ssh_config b/ssh_config | 100 | diff --git a/ssh_config b/ssh_config |
101 | index 1ff999b68..8a55237b9 100644 | 101 | index 52aae8692..09a17cf18 100644 |
102 | --- a/ssh_config | 102 | --- a/ssh_config |
103 | +++ b/ssh_config | 103 | +++ b/ssh_config |
104 | @@ -17,9 +17,12 @@ | 104 | @@ -17,9 +17,12 @@ |
@@ -115,15 +115,15 @@ index 1ff999b68..8a55237b9 100644 | |||
115 | # PasswordAuthentication yes | 115 | # PasswordAuthentication yes |
116 | # HostbasedAuthentication no | 116 | # HostbasedAuthentication no |
117 | # GSSAPIAuthentication no | 117 | # GSSAPIAuthentication no |
118 | @@ -45,3 +48,6 @@ | 118 | @@ -46,3 +49,6 @@ |
119 | # VisualHostKey no | ||
120 | # ProxyCommand ssh -q -W %h:%p gateway.example.com | 119 | # ProxyCommand ssh -q -W %h:%p gateway.example.com |
121 | # RekeyLimit 1G 1h | 120 | # RekeyLimit 1G 1h |
121 | # UserKnownHostsFile ~/.ssh/known_hosts.d/%k | ||
122 | + SendEnv LANG LC_* | 122 | + SendEnv LANG LC_* |
123 | + HashKnownHosts yes | 123 | + HashKnownHosts yes |
124 | + GSSAPIAuthentication yes | 124 | + GSSAPIAuthentication yes |
125 | diff --git a/ssh_config.5 b/ssh_config.5 | 125 | diff --git a/ssh_config.5 b/ssh_config.5 |
126 | index dd8241df1..aac3fabb7 100644 | 126 | index 96ca7a5df..6d6c59521 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 |
@@ -156,7 +156,7 @@ index dd8241df1..aac3fabb7 100644 | |||
156 | The file contains keyword-argument pairs, one per line. | 156 | The file contains keyword-argument pairs, one per line. |
157 | Lines starting with | 157 | Lines starting with |
158 | .Ql # | 158 | .Ql # |
159 | @@ -729,11 +752,12 @@ elapsed. | 159 | @@ -742,11 +765,12 @@ elapsed. |
160 | .It Cm ForwardX11Trusted | 160 | .It Cm ForwardX11Trusted |
161 | If this option is set to | 161 | If this option is set to |
162 | .Cm yes , | 162 | .Cm yes , |
@@ -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 |
231 | diff --git a/sshd_config.5 b/sshd_config.5 | 231 | diff --git a/sshd_config.5 b/sshd_config.5 |
232 | index c27f99937..b38025dbf 100644 | 232 | index 32ae46476..472001dd1 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 3b9e8df3c..23ecc0d3d 100644 --- a/debian/patches/dnssec-sshfp.patch +++ b/debian/patches/dnssec-sshfp.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ca39bb2ab1f56d8ecdeadc32d6bda1a8e73301ac Mon Sep 17 00:00:00 2001 | 1 | From 78a7702d88713e854550a05fa9b8670f219d9bf9 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:01 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:01 +0000 |
4 | Subject: Force use of DNSSEC even if "options edns0" isn't in resolv.conf | 4 | Subject: 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 f58bbaeee..3e96f3b8e 100644 --- a/debian/patches/doc-hash-tab-completion.patch +++ b/debian/patches/doc-hash-tab-completion.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 0402bdf307736b3afae8c80c84f04b0295990c45 Mon Sep 17 00:00:00 2001 | 1 | From 5fca8a730171f96a72007118c0d35cf4a09359f8 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:11 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:11 +0000 |
4 | Subject: Document that HashKnownHosts may break tab-completion | 4 | Subject: Document that HashKnownHosts may break tab-completion |
@@ -13,10 +13,10 @@ Patch-Name: doc-hash-tab-completion.patch | |||
13 | 1 file changed, 3 insertions(+) | 13 | 1 file changed, 3 insertions(+) |
14 | 14 | ||
15 | diff --git a/ssh_config.5 b/ssh_config.5 | 15 | diff --git a/ssh_config.5 b/ssh_config.5 |
16 | index d814147d4..dd8241df1 100644 | 16 | index 190e1d927..96ca7a5df 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 | @@ -861,6 +861,9 @@ Note that existing names and addresses in known hosts files |
20 | will not be converted automatically, | 20 | will not be converted automatically, |
21 | but may be manually hashed using | 21 | but may be manually hashed using |
22 | .Xr ssh-keygen 1 . | 22 | .Xr ssh-keygen 1 . |
diff --git a/debian/patches/gnome-ssh-askpass2-icon.patch b/debian/patches/gnome-ssh-askpass2-icon.patch index 7436be62d..d7d0bed64 100644 --- a/debian/patches/gnome-ssh-askpass2-icon.patch +++ b/debian/patches/gnome-ssh-askpass2-icon.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9b1d6a32944943b6b18861b97868c463bf5a6e8c Mon Sep 17 00:00:00 2001 | 1 | From c26f6f9c7051b9ab2ac13d1d227e6d39527839cc Mon Sep 17 00:00:00 2001 |
2 | From: Vincent Untz <vuntz@ubuntu.com> | 2 | From: Vincent Untz <vuntz@ubuntu.com> |
3 | Date: Sun, 9 Feb 2014 16:10:16 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:16 +0000 |
4 | Subject: Give the ssh-askpass-gnome window a default icon | 4 | Subject: Give the ssh-askpass-gnome window a default icon |
@@ -12,10 +12,10 @@ Patch-Name: gnome-ssh-askpass2-icon.patch | |||
12 | 1 file changed, 2 insertions(+) | 12 | 1 file changed, 2 insertions(+) |
13 | 13 | ||
14 | diff --git a/contrib/gnome-ssh-askpass2.c b/contrib/gnome-ssh-askpass2.c | 14 | diff --git a/contrib/gnome-ssh-askpass2.c b/contrib/gnome-ssh-askpass2.c |
15 | index bc83a2d67..88cdfaeff 100644 | 15 | index f7912727c..bf8c92c8f 100644 |
16 | --- a/contrib/gnome-ssh-askpass2.c | 16 | --- a/contrib/gnome-ssh-askpass2.c |
17 | +++ b/contrib/gnome-ssh-askpass2.c | 17 | +++ b/contrib/gnome-ssh-askpass2.c |
18 | @@ -233,6 +233,8 @@ main(int argc, char **argv) | 18 | @@ -322,6 +322,8 @@ main(int argc, char **argv) |
19 | 19 | ||
20 | gtk_init(&argc, &argv); | 20 | gtk_init(&argc, &argv); |
21 | 21 | ||
diff --git a/debian/patches/gssapi.patch b/debian/patches/gssapi.patch index 685923e47..d779eacb6 100644 --- a/debian/patches/gssapi.patch +++ b/debian/patches/gssapi.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 79f9d21b406c172878896ef41cdc2502fc2f84a7 Mon Sep 17 00:00:00 2001 | 1 | From d1b7918f9bce6e997c7952ac795e18d09192b2a6 Mon Sep 17 00:00:00 2001 |
2 | From: Simon Wilkinson <simon@sxw.org.uk> | 2 | From: Simon Wilkinson <simon@sxw.org.uk> |
3 | Date: Sun, 9 Feb 2014 16:09:48 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:48 +0000 |
4 | Subject: GSSAPI key exchange support | 4 | Subject: GSSAPI key exchange support |
@@ -68,10 +68,10 @@ Patch-Name: gssapi.patch | |||
68 | create mode 100644 kexgsss.c | 68 | create mode 100644 kexgsss.c |
69 | 69 | ||
70 | diff --git a/Makefile.in b/Makefile.in | 70 | diff --git a/Makefile.in b/Makefile.in |
71 | index c9e4294d3..bf1e1de47 100644 | 71 | index acfb919da..56759c388 100644 |
72 | --- a/Makefile.in | 72 | --- a/Makefile.in |
73 | +++ b/Makefile.in | 73 | +++ b/Makefile.in |
74 | @@ -109,6 +109,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ | 74 | @@ -107,6 +107,7 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \ |
75 | kex.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ | 75 | kex.o kexdh.o kexgex.o kexecdh.o kexc25519.o \ |
76 | kexgexc.o kexgexs.o \ | 76 | kexgexc.o kexgexs.o \ |
77 | sntrup4591761.o kexsntrup4591761x25519.o kexgen.o \ | 77 | sntrup4591761.o kexsntrup4591761x25519.o kexgen.o \ |
@@ -79,7 +79,7 @@ index c9e4294d3..bf1e1de47 100644 | |||
79 | sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \ | 79 | sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \ |
80 | sshbuf-io.o | 80 | sshbuf-io.o |
81 | 81 | ||
82 | @@ -125,7 +126,7 @@ SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o \ | 82 | @@ -123,7 +124,7 @@ SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o \ |
83 | auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ | 83 | auth-bsdauth.o auth2-hostbased.o auth2-kbdint.o \ |
84 | auth2-none.o auth2-passwd.o auth2-pubkey.o \ | 84 | auth2-none.o auth2-passwd.o auth2-pubkey.o \ |
85 | monitor.o monitor_wrap.o auth-krb5.o \ | 85 | monitor.o monitor_wrap.o auth-krb5.o \ |
@@ -130,7 +130,7 @@ index 28fb43d2a..5b73d24c0 100644 | |||
130 | 130 | ||
131 | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) | 131 | [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/openssh.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh) |
132 | diff --git a/auth.c b/auth.c | 132 | diff --git a/auth.c b/auth.c |
133 | index 086b8ebb1..687c57b42 100644 | 133 | index 9a5498b66..3d31ec860 100644 |
134 | --- a/auth.c | 134 | --- a/auth.c |
135 | +++ b/auth.c | 135 | +++ b/auth.c |
136 | @@ -400,7 +400,8 @@ auth_root_allowed(struct ssh *ssh, const char *method) | 136 | @@ -400,7 +400,8 @@ auth_root_allowed(struct ssh *ssh, const char *method) |
@@ -339,7 +339,7 @@ index 9351e0428..d6446c0cf 100644 | |||
339 | "gssapi-with-mic", | 339 | "gssapi-with-mic", |
340 | userauth_gssapi, | 340 | userauth_gssapi, |
341 | diff --git a/auth2.c b/auth2.c | 341 | diff --git a/auth2.c b/auth2.c |
342 | index 91aaf34a6..a4a5e0069 100644 | 342 | index 242a7adbe..9fa1404b3 100644 |
343 | --- a/auth2.c | 343 | --- a/auth2.c |
344 | +++ b/auth2.c | 344 | +++ b/auth2.c |
345 | @@ -73,6 +73,7 @@ extern Authmethod method_passwd; | 345 | @@ -73,6 +73,7 @@ extern Authmethod method_passwd; |
@@ -477,7 +477,7 @@ index 26d62855a..0cadc9f18 100644 | |||
477 | int get_peer_port(int); | 477 | int get_peer_port(int); |
478 | char *get_local_ipaddr(int); | 478 | char *get_local_ipaddr(int); |
479 | diff --git a/clientloop.c b/clientloop.c | 479 | diff --git a/clientloop.c b/clientloop.c |
480 | index da396c72a..42ace7789 100644 | 480 | index 60b46d161..2cebea29f 100644 |
481 | --- a/clientloop.c | 481 | --- a/clientloop.c |
482 | +++ b/clientloop.c | 482 | +++ b/clientloop.c |
483 | @@ -112,6 +112,10 @@ | 483 | @@ -112,6 +112,10 @@ |
@@ -491,7 +491,7 @@ index da396c72a..42ace7789 100644 | |||
491 | /* import options */ | 491 | /* import options */ |
492 | extern Options options; | 492 | extern Options options; |
493 | 493 | ||
494 | @@ -1361,9 +1365,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, | 494 | @@ -1368,9 +1372,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, |
495 | break; | 495 | break; |
496 | 496 | ||
497 | /* Do channel operations unless rekeying in progress. */ | 497 | /* Do channel operations unless rekeying in progress. */ |
@@ -512,10 +512,10 @@ index da396c72a..42ace7789 100644 | |||
512 | client_process_net_input(ssh, readset); | 512 | client_process_net_input(ssh, readset); |
513 | 513 | ||
514 | diff --git a/configure.ac b/configure.ac | 514 | diff --git a/configure.ac b/configure.ac |
515 | index 460383757..d98e6f74a 100644 | 515 | index 7005a503e..c8a96deb4 100644 |
516 | --- a/configure.ac | 516 | --- a/configure.ac |
517 | +++ b/configure.ac | 517 | +++ b/configure.ac |
518 | @@ -676,6 +676,30 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | 518 | @@ -679,6 +679,30 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) |
519 | [Use tunnel device compatibility to OpenBSD]) | 519 | [Use tunnel device compatibility to OpenBSD]) |
520 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], | 520 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], |
521 | [Prepend the address family to IP tunnel traffic]) | 521 | [Prepend the address family to IP tunnel traffic]) |
@@ -1330,7 +1330,7 @@ index b5d4bb2d1..55f4d4bda 100644 | |||
1330 | 1330 | ||
1331 | /* Privileged */ | 1331 | /* Privileged */ |
1332 | diff --git a/kex.c b/kex.c | 1332 | diff --git a/kex.c b/kex.c |
1333 | index 09c7258e0..144dee512 100644 | 1333 | index aecb9394d..751cfc710 100644 |
1334 | --- a/kex.c | 1334 | --- a/kex.c |
1335 | +++ b/kex.c | 1335 | +++ b/kex.c |
1336 | @@ -57,11 +57,16 @@ | 1336 | @@ -57,11 +57,16 @@ |
@@ -1523,10 +1523,10 @@ index a5ae6ac05..fe7141414 100644 | |||
1523 | __attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE))) | 1523 | __attribute__((__bounded__(__minbytes__, 1, CURVE25519_SIZE))) |
1524 | __attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE))); | 1524 | __attribute__((__bounded__(__minbytes__, 2, CURVE25519_SIZE))); |
1525 | diff --git a/kexdh.c b/kexdh.c | 1525 | diff --git a/kexdh.c b/kexdh.c |
1526 | index 67133e339..edaa46762 100644 | 1526 | index 6e0159f9f..d024a8b9a 100644 |
1527 | --- a/kexdh.c | 1527 | --- a/kexdh.c |
1528 | +++ b/kexdh.c | 1528 | +++ b/kexdh.c |
1529 | @@ -48,13 +48,23 @@ kex_dh_keygen(struct kex *kex) | 1529 | @@ -49,13 +49,23 @@ kex_dh_keygen(struct kex *kex) |
1530 | { | 1530 | { |
1531 | switch (kex->kex_type) { | 1531 | switch (kex->kex_type) { |
1532 | case KEX_DH_GRP1_SHA1: | 1532 | case KEX_DH_GRP1_SHA1: |
@@ -2656,7 +2656,7 @@ index 000000000..60bc02deb | |||
2656 | +} | 2656 | +} |
2657 | +#endif /* defined(GSSAPI) && defined(WITH_OPENSSL) */ | 2657 | +#endif /* defined(GSSAPI) && defined(WITH_OPENSSL) */ |
2658 | diff --git a/monitor.c b/monitor.c | 2658 | diff --git a/monitor.c b/monitor.c |
2659 | index b6e855d5d..5347e900d 100644 | 2659 | index 4cf79dfc9..11868952b 100644 |
2660 | --- a/monitor.c | 2660 | --- a/monitor.c |
2661 | +++ b/monitor.c | 2661 | +++ b/monitor.c |
2662 | @@ -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 *); |
@@ -2709,7 +2709,7 @@ index b6e855d5d..5347e900d 100644 | |||
2709 | 2709 | ||
2710 | if (auth_opts->permit_pty_flag) { | 2710 | if (auth_opts->permit_pty_flag) { |
2711 | monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); | 2711 | monitor_permit(mon_dispatch, MONITOR_REQ_PTY, 1); |
2712 | @@ -1712,6 +1729,17 @@ monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor) | 2712 | @@ -1725,6 +1742,17 @@ monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor) |
2713 | # ifdef OPENSSL_HAS_ECC | 2713 | # ifdef OPENSSL_HAS_ECC |
2714 | kex->kex[KEX_ECDH_SHA2] = kex_gen_server; | 2714 | kex->kex[KEX_ECDH_SHA2] = kex_gen_server; |
2715 | # endif | 2715 | # endif |
@@ -2727,7 +2727,7 @@ index b6e855d5d..5347e900d 100644 | |||
2727 | #endif /* WITH_OPENSSL */ | 2727 | #endif /* WITH_OPENSSL */ |
2728 | kex->kex[KEX_C25519_SHA256] = kex_gen_server; | 2728 | kex->kex[KEX_C25519_SHA256] = kex_gen_server; |
2729 | kex->kex[KEX_KEM_SNTRUP4591761X25519_SHA512] = kex_gen_server; | 2729 | kex->kex[KEX_KEM_SNTRUP4591761X25519_SHA512] = kex_gen_server; |
2730 | @@ -1805,8 +1833,8 @@ mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m) | 2730 | @@ -1818,8 +1846,8 @@ mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m) |
2731 | u_char *p; | 2731 | u_char *p; |
2732 | int r; | 2732 | int r; |
2733 | 2733 | ||
@@ -2738,7 +2738,7 @@ index b6e855d5d..5347e900d 100644 | |||
2738 | 2738 | ||
2739 | if ((r = sshbuf_get_string(m, &p, &len)) != 0) | 2739 | if ((r = sshbuf_get_string(m, &p, &len)) != 0) |
2740 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 2740 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
2741 | @@ -1838,8 +1866,8 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) | 2741 | @@ -1851,8 +1879,8 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) |
2742 | OM_uint32 flags = 0; /* GSI needs this */ | 2742 | OM_uint32 flags = 0; /* GSI needs this */ |
2743 | int r; | 2743 | int r; |
2744 | 2744 | ||
@@ -2749,7 +2749,7 @@ index b6e855d5d..5347e900d 100644 | |||
2749 | 2749 | ||
2750 | if ((r = ssh_gssapi_get_buffer_desc(m, &in)) != 0) | 2750 | if ((r = ssh_gssapi_get_buffer_desc(m, &in)) != 0) |
2751 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 2751 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
2752 | @@ -1859,6 +1887,7 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) | 2752 | @@ -1872,6 +1900,7 @@ mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m) |
2753 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSSTEP, 0); | 2753 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSSTEP, 0); |
2754 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSUSEROK, 1); | 2754 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSUSEROK, 1); |
2755 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSCHECKMIC, 1); | 2755 | monitor_permit(mon_dispatch, MONITOR_REQ_GSSCHECKMIC, 1); |
@@ -2757,7 +2757,7 @@ index b6e855d5d..5347e900d 100644 | |||
2757 | } | 2757 | } |
2758 | return (0); | 2758 | return (0); |
2759 | } | 2759 | } |
2760 | @@ -1870,8 +1899,8 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) | 2760 | @@ -1883,8 +1912,8 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) |
2761 | OM_uint32 ret; | 2761 | OM_uint32 ret; |
2762 | int r; | 2762 | int r; |
2763 | 2763 | ||
@@ -2768,7 +2768,7 @@ index b6e855d5d..5347e900d 100644 | |||
2768 | 2768 | ||
2769 | if ((r = ssh_gssapi_get_buffer_desc(m, &gssbuf)) != 0 || | 2769 | if ((r = ssh_gssapi_get_buffer_desc(m, &gssbuf)) != 0 || |
2770 | (r = ssh_gssapi_get_buffer_desc(m, &mic)) != 0) | 2770 | (r = ssh_gssapi_get_buffer_desc(m, &mic)) != 0) |
2771 | @@ -1897,13 +1926,17 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) | 2771 | @@ -1910,13 +1939,17 @@ mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m) |
2772 | int | 2772 | int |
2773 | 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) |
2774 | { | 2774 | { |
@@ -2790,7 +2790,7 @@ index b6e855d5d..5347e900d 100644 | |||
2790 | 2790 | ||
2791 | sshbuf_reset(m); | 2791 | sshbuf_reset(m); |
2792 | if ((r = sshbuf_put_u32(m, authenticated)) != 0) | 2792 | if ((r = sshbuf_put_u32(m, authenticated)) != 0) |
2793 | @@ -1912,7 +1945,11 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) | 2793 | @@ -1925,7 +1958,11 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) |
2794 | debug3("%s: sending result %d", __func__, authenticated); | 2794 | debug3("%s: sending result %d", __func__, authenticated); |
2795 | mm_request_send(sock, MONITOR_ANS_GSSUSEROK, m); | 2795 | mm_request_send(sock, MONITOR_ANS_GSSUSEROK, m); |
2796 | 2796 | ||
@@ -2803,7 +2803,7 @@ index b6e855d5d..5347e900d 100644 | |||
2803 | 2803 | ||
2804 | if ((displayname = ssh_gssapi_displayname()) != NULL) | 2804 | if ((displayname = ssh_gssapi_displayname()) != NULL) |
2805 | auth2_record_info(authctxt, "%s", displayname); | 2805 | auth2_record_info(authctxt, "%s", displayname); |
2806 | @@ -1920,5 +1957,85 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) | 2806 | @@ -1933,5 +1970,85 @@ mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m) |
2807 | /* Monitor loop will terminate if authenticated */ | 2807 | /* Monitor loop will terminate if authenticated */ |
2808 | return (authenticated); | 2808 | return (authenticated); |
2809 | } | 2809 | } |
@@ -2903,7 +2903,7 @@ index 683e5e071..2b1a2d590 100644 | |||
2903 | 2903 | ||
2904 | struct ssh; | 2904 | struct ssh; |
2905 | diff --git a/monitor_wrap.c b/monitor_wrap.c | 2905 | diff --git a/monitor_wrap.c b/monitor_wrap.c |
2906 | index 001a8fa1c..6edb509a3 100644 | 2906 | index 5e38d83eb..0e78cd006 100644 |
2907 | --- a/monitor_wrap.c | 2907 | --- a/monitor_wrap.c |
2908 | +++ b/monitor_wrap.c | 2908 | +++ b/monitor_wrap.c |
2909 | @@ -993,13 +993,15 @@ mm_ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic) | 2909 | @@ -993,13 +993,15 @@ mm_ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic) |
@@ -2982,10 +2982,10 @@ index 001a8fa1c..6edb509a3 100644 | |||
2982 | + | 2982 | + |
2983 | #endif /* GSSAPI */ | 2983 | #endif /* GSSAPI */ |
2984 | diff --git a/monitor_wrap.h b/monitor_wrap.h | 2984 | diff --git a/monitor_wrap.h b/monitor_wrap.h |
2985 | index 23ab096aa..485590c18 100644 | 2985 | index 0db38c206..75aef1c74 100644 |
2986 | --- a/monitor_wrap.h | 2986 | --- a/monitor_wrap.h |
2987 | +++ b/monitor_wrap.h | 2987 | +++ b/monitor_wrap.h |
2988 | @@ -64,8 +64,10 @@ int mm_sshkey_verify(const struct sshkey *, const u_char *, size_t, | 2988 | @@ -65,8 +65,10 @@ int mm_sshkey_verify(const struct sshkey *, const u_char *, size_t, |
2989 | OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID); | 2989 | OM_uint32 mm_ssh_gssapi_server_ctx(Gssctxt **, gss_OID); |
2990 | OM_uint32 mm_ssh_gssapi_accept_ctx(Gssctxt *, | 2990 | OM_uint32 mm_ssh_gssapi_accept_ctx(Gssctxt *, |
2991 | gss_buffer_desc *, gss_buffer_desc *, OM_uint32 *); | 2991 | gss_buffer_desc *, gss_buffer_desc *, OM_uint32 *); |
@@ -2998,7 +2998,7 @@ index 23ab096aa..485590c18 100644 | |||
2998 | 2998 | ||
2999 | #ifdef USE_PAM | 2999 | #ifdef USE_PAM |
3000 | diff --git a/readconf.c b/readconf.c | 3000 | diff --git a/readconf.c b/readconf.c |
3001 | index 2afcbaeca..fb585e248 100644 | 3001 | index 554efd7c9..57dae55d1 100644 |
3002 | --- a/readconf.c | 3002 | --- a/readconf.c |
3003 | +++ b/readconf.c | 3003 | +++ b/readconf.c |
3004 | @@ -67,6 +67,7 @@ | 3004 | @@ -67,6 +67,7 @@ |
@@ -3041,7 +3041,7 @@ index 2afcbaeca..fb585e248 100644 | |||
3041 | #endif | 3041 | #endif |
3042 | #ifdef ENABLE_PKCS11 | 3042 | #ifdef ENABLE_PKCS11 |
3043 | { "pkcs11provider", oPKCS11Provider }, | 3043 | { "pkcs11provider", oPKCS11Provider }, |
3044 | @@ -1053,10 +1068,42 @@ parse_time: | 3044 | @@ -1068,10 +1083,42 @@ parse_time: |
3045 | intptr = &options->gss_authentication; | 3045 | intptr = &options->gss_authentication; |
3046 | goto parse_flag; | 3046 | goto parse_flag; |
3047 | 3047 | ||
@@ -3084,7 +3084,7 @@ index 2afcbaeca..fb585e248 100644 | |||
3084 | case oBatchMode: | 3084 | case oBatchMode: |
3085 | intptr = &options->batch_mode; | 3085 | intptr = &options->batch_mode; |
3086 | goto parse_flag; | 3086 | goto parse_flag; |
3087 | @@ -1935,7 +1982,13 @@ initialize_options(Options * options) | 3087 | @@ -1976,7 +2023,13 @@ initialize_options(Options * options) |
3088 | options->pubkey_authentication = -1; | 3088 | options->pubkey_authentication = -1; |
3089 | options->challenge_response_authentication = -1; | 3089 | options->challenge_response_authentication = -1; |
3090 | options->gss_authentication = -1; | 3090 | options->gss_authentication = -1; |
@@ -3098,7 +3098,7 @@ index 2afcbaeca..fb585e248 100644 | |||
3098 | options->password_authentication = -1; | 3098 | options->password_authentication = -1; |
3099 | options->kbd_interactive_authentication = -1; | 3099 | options->kbd_interactive_authentication = -1; |
3100 | options->kbd_interactive_devices = NULL; | 3100 | options->kbd_interactive_devices = NULL; |
3101 | @@ -2083,8 +2136,18 @@ fill_default_options(Options * options) | 3101 | @@ -2125,8 +2178,18 @@ fill_default_options(Options * options) |
3102 | options->challenge_response_authentication = 1; | 3102 | options->challenge_response_authentication = 1; |
3103 | if (options->gss_authentication == -1) | 3103 | if (options->gss_authentication == -1) |
3104 | options->gss_authentication = 0; | 3104 | options->gss_authentication = 0; |
@@ -3117,7 +3117,7 @@ index 2afcbaeca..fb585e248 100644 | |||
3117 | if (options->password_authentication == -1) | 3117 | if (options->password_authentication == -1) |
3118 | options->password_authentication = 1; | 3118 | options->password_authentication = 1; |
3119 | if (options->kbd_interactive_authentication == -1) | 3119 | if (options->kbd_interactive_authentication == -1) |
3120 | @@ -2726,7 +2789,14 @@ dump_client_config(Options *o, const char *host) | 3120 | @@ -2776,7 +2839,14 @@ dump_client_config(Options *o, const char *host) |
3121 | dump_cfg_fmtint(oGatewayPorts, o->fwd_opts.gateway_ports); | 3121 | dump_cfg_fmtint(oGatewayPorts, o->fwd_opts.gateway_ports); |
3122 | #ifdef GSSAPI | 3122 | #ifdef GSSAPI |
3123 | dump_cfg_fmtint(oGssAuthentication, o->gss_authentication); | 3123 | dump_cfg_fmtint(oGssAuthentication, o->gss_authentication); |
@@ -3133,7 +3133,7 @@ index 2afcbaeca..fb585e248 100644 | |||
3133 | dump_cfg_fmtint(oHashKnownHosts, o->hash_known_hosts); | 3133 | dump_cfg_fmtint(oHashKnownHosts, o->hash_known_hosts); |
3134 | dump_cfg_fmtint(oHostbasedAuthentication, o->hostbased_authentication); | 3134 | dump_cfg_fmtint(oHostbasedAuthentication, o->hostbased_authentication); |
3135 | diff --git a/readconf.h b/readconf.h | 3135 | diff --git a/readconf.h b/readconf.h |
3136 | index e143a1082..c405b837f 100644 | 3136 | index d6a15550d..3803eeddf 100644 |
3137 | --- a/readconf.h | 3137 | --- a/readconf.h |
3138 | +++ b/readconf.h | 3138 | +++ b/readconf.h |
3139 | @@ -41,7 +41,13 @@ typedef struct { | 3139 | @@ -41,7 +41,13 @@ typedef struct { |
@@ -3151,10 +3151,10 @@ index e143a1082..c405b837f 100644 | |||
3151 | * authentication. */ | 3151 | * authentication. */ |
3152 | int kbd_interactive_authentication; /* Try keyboard-interactive auth. */ | 3152 | int kbd_interactive_authentication; /* Try keyboard-interactive auth. */ |
3153 | diff --git a/servconf.c b/servconf.c | 3153 | diff --git a/servconf.c b/servconf.c |
3154 | index ba0a92c7b..f38ba9e44 100644 | 3154 | index f08e37477..ded8f4a87 100644 |
3155 | --- a/servconf.c | 3155 | --- a/servconf.c |
3156 | +++ b/servconf.c | 3156 | +++ b/servconf.c |
3157 | @@ -69,6 +69,7 @@ | 3157 | @@ -70,6 +70,7 @@ |
3158 | #include "auth.h" | 3158 | #include "auth.h" |
3159 | #include "myproposal.h" | 3159 | #include "myproposal.h" |
3160 | #include "digest.h" | 3160 | #include "digest.h" |
@@ -3162,7 +3162,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3162 | 3162 | ||
3163 | static void add_listen_addr(ServerOptions *, const char *, | 3163 | static void add_listen_addr(ServerOptions *, const char *, |
3164 | const char *, int); | 3164 | const char *, int); |
3165 | @@ -133,8 +134,11 @@ initialize_server_options(ServerOptions *options) | 3165 | @@ -134,8 +135,11 @@ initialize_server_options(ServerOptions *options) |
3166 | options->kerberos_ticket_cleanup = -1; | 3166 | options->kerberos_ticket_cleanup = -1; |
3167 | options->kerberos_get_afs_token = -1; | 3167 | options->kerberos_get_afs_token = -1; |
3168 | options->gss_authentication=-1; | 3168 | options->gss_authentication=-1; |
@@ -3174,7 +3174,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3174 | options->password_authentication = -1; | 3174 | options->password_authentication = -1; |
3175 | options->kbd_interactive_authentication = -1; | 3175 | options->kbd_interactive_authentication = -1; |
3176 | options->challenge_response_authentication = -1; | 3176 | options->challenge_response_authentication = -1; |
3177 | @@ -375,10 +379,18 @@ fill_default_server_options(ServerOptions *options) | 3177 | @@ -376,10 +380,18 @@ fill_default_server_options(ServerOptions *options) |
3178 | options->kerberos_get_afs_token = 0; | 3178 | options->kerberos_get_afs_token = 0; |
3179 | if (options->gss_authentication == -1) | 3179 | if (options->gss_authentication == -1) |
3180 | options->gss_authentication = 0; | 3180 | options->gss_authentication = 0; |
@@ -3193,7 +3193,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3193 | if (options->password_authentication == -1) | 3193 | if (options->password_authentication == -1) |
3194 | options->password_authentication = 1; | 3194 | options->password_authentication = 1; |
3195 | if (options->kbd_interactive_authentication == -1) | 3195 | if (options->kbd_interactive_authentication == -1) |
3196 | @@ -531,6 +543,7 @@ typedef enum { | 3196 | @@ -523,6 +535,7 @@ typedef enum { |
3197 | sHostKeyAlgorithms, | 3197 | sHostKeyAlgorithms, |
3198 | sClientAliveInterval, sClientAliveCountMax, sAuthorizedKeysFile, | 3198 | sClientAliveInterval, sClientAliveCountMax, sAuthorizedKeysFile, |
3199 | sGssAuthentication, sGssCleanupCreds, sGssStrictAcceptor, | 3199 | sGssAuthentication, sGssCleanupCreds, sGssStrictAcceptor, |
@@ -3201,7 +3201,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3201 | sAcceptEnv, sSetEnv, sPermitTunnel, | 3201 | sAcceptEnv, sSetEnv, sPermitTunnel, |
3202 | sMatch, sPermitOpen, sPermitListen, sForceCommand, sChrootDirectory, | 3202 | sMatch, sPermitOpen, sPermitListen, sForceCommand, sChrootDirectory, |
3203 | sUsePrivilegeSeparation, sAllowAgentForwarding, | 3203 | sUsePrivilegeSeparation, sAllowAgentForwarding, |
3204 | @@ -607,12 +620,22 @@ static struct { | 3204 | @@ -600,12 +613,22 @@ static struct { |
3205 | #ifdef GSSAPI | 3205 | #ifdef GSSAPI |
3206 | { "gssapiauthentication", sGssAuthentication, SSHCFG_ALL }, | 3206 | { "gssapiauthentication", sGssAuthentication, SSHCFG_ALL }, |
3207 | { "gssapicleanupcredentials", sGssCleanupCreds, SSHCFG_GLOBAL }, | 3207 | { "gssapicleanupcredentials", sGssCleanupCreds, SSHCFG_GLOBAL }, |
@@ -3224,7 +3224,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3224 | { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL }, | 3224 | { "passwordauthentication", sPasswordAuthentication, SSHCFG_ALL }, |
3225 | { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, | 3225 | { "kbdinteractiveauthentication", sKbdInteractiveAuthentication, SSHCFG_ALL }, |
3226 | { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL }, | 3226 | { "challengeresponseauthentication", sChallengeResponseAuthentication, SSHCFG_GLOBAL }, |
3227 | @@ -1555,6 +1578,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, | 3227 | @@ -1557,6 +1580,10 @@ process_server_config_line_depth(ServerOptions *options, char *line, |
3228 | intptr = &options->gss_authentication; | 3228 | intptr = &options->gss_authentication; |
3229 | goto parse_flag; | 3229 | goto parse_flag; |
3230 | 3230 | ||
@@ -3235,7 +3235,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3235 | case sGssCleanupCreds: | 3235 | case sGssCleanupCreds: |
3236 | intptr = &options->gss_cleanup_creds; | 3236 | intptr = &options->gss_cleanup_creds; |
3237 | goto parse_flag; | 3237 | goto parse_flag; |
3238 | @@ -1563,6 +1590,22 @@ process_server_config_line_depth(ServerOptions *options, char *line, | 3238 | @@ -1565,6 +1592,22 @@ process_server_config_line_depth(ServerOptions *options, char *line, |
3239 | intptr = &options->gss_strict_acceptor; | 3239 | intptr = &options->gss_strict_acceptor; |
3240 | goto parse_flag; | 3240 | goto parse_flag; |
3241 | 3241 | ||
@@ -3258,7 +3258,7 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3258 | case sPasswordAuthentication: | 3258 | case sPasswordAuthentication: |
3259 | intptr = &options->password_authentication; | 3259 | intptr = &options->password_authentication; |
3260 | goto parse_flag; | 3260 | goto parse_flag; |
3261 | @@ -2791,6 +2834,10 @@ dump_config(ServerOptions *o) | 3261 | @@ -2808,6 +2851,10 @@ dump_config(ServerOptions *o) |
3262 | #ifdef GSSAPI | 3262 | #ifdef GSSAPI |
3263 | dump_cfg_fmtint(sGssAuthentication, o->gss_authentication); | 3263 | dump_cfg_fmtint(sGssAuthentication, o->gss_authentication); |
3264 | dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds); | 3264 | dump_cfg_fmtint(sGssCleanupCreds, o->gss_cleanup_creds); |
@@ -3270,10 +3270,10 @@ index ba0a92c7b..f38ba9e44 100644 | |||
3270 | dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication); | 3270 | dump_cfg_fmtint(sPasswordAuthentication, o->password_authentication); |
3271 | dump_cfg_fmtint(sKbdInteractiveAuthentication, | 3271 | dump_cfg_fmtint(sKbdInteractiveAuthentication, |
3272 | diff --git a/servconf.h b/servconf.h | 3272 | diff --git a/servconf.h b/servconf.h |
3273 | index a420f398d..253cad97e 100644 | 3273 | index 1df8f3db8..f10908e5b 100644 |
3274 | --- a/servconf.h | 3274 | --- a/servconf.h |
3275 | +++ b/servconf.h | 3275 | +++ b/servconf.h |
3276 | @@ -137,8 +137,11 @@ typedef struct { | 3276 | @@ -138,8 +138,11 @@ typedef struct { |
3277 | 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 |
3278 | * authenticated with Kerberos. */ | 3278 | * authenticated with Kerberos. */ |
3279 | int gss_authentication; /* If true, permit GSSAPI authentication */ | 3279 | int gss_authentication; /* If true, permit GSSAPI authentication */ |
@@ -3286,10 +3286,10 @@ index a420f398d..253cad97e 100644 | |||
3286 | * authentication. */ | 3286 | * authentication. */ |
3287 | int kbd_interactive_authentication; /* If true, permit */ | 3287 | int kbd_interactive_authentication; /* If true, permit */ |
3288 | diff --git a/session.c b/session.c | 3288 | diff --git a/session.c b/session.c |
3289 | index 18cdfa8cf..f9c2c866e 100644 | 3289 | index 27ca8a104..857f17b3c 100644 |
3290 | --- a/session.c | 3290 | --- a/session.c |
3291 | +++ b/session.c | 3291 | +++ b/session.c |
3292 | @@ -2678,13 +2678,19 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt) | 3292 | @@ -2685,13 +2685,19 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt) |
3293 | 3293 | ||
3294 | #ifdef KRB5 | 3294 | #ifdef KRB5 |
3295 | if (options.kerberos_ticket_cleanup && | 3295 | if (options.kerberos_ticket_cleanup && |
@@ -3436,7 +3436,7 @@ index 36180d07a..50d80bbca 100644 | |||
3436 | 3436 | ||
3437 | #endif /* _SSH_GSS_H */ | 3437 | #endif /* _SSH_GSS_H */ |
3438 | diff --git a/ssh.1 b/ssh.1 | 3438 | diff --git a/ssh.1 b/ssh.1 |
3439 | index dce5f404b..7a3ba31ab 100644 | 3439 | index 555317887..be8e964f0 100644 |
3440 | --- a/ssh.1 | 3440 | --- a/ssh.1 |
3441 | +++ b/ssh.1 | 3441 | +++ b/ssh.1 |
3442 | @@ -506,7 +506,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 |
@@ -3463,10 +3463,10 @@ index dce5f404b..7a3ba31ab 100644 | |||
3463 | (key types), | 3463 | (key types), |
3464 | .Ar key-cert | 3464 | .Ar key-cert |
3465 | diff --git a/ssh.c b/ssh.c | 3465 | diff --git a/ssh.c b/ssh.c |
3466 | index 98b6ce788..4a81ef810 100644 | 3466 | index f34ca0d71..bb98a7e2d 100644 |
3467 | --- a/ssh.c | 3467 | --- a/ssh.c |
3468 | +++ b/ssh.c | 3468 | +++ b/ssh.c |
3469 | @@ -773,6 +773,8 @@ main(int ac, char **av) | 3469 | @@ -801,6 +801,8 @@ main(int ac, char **av) |
3470 | else if (strcmp(optarg, "kex") == 0 || | 3470 | else if (strcmp(optarg, "kex") == 0 || |
3471 | strcasecmp(optarg, "KexAlgorithms") == 0) | 3471 | strcasecmp(optarg, "KexAlgorithms") == 0) |
3472 | cp = kex_alg_list('\n'); | 3472 | cp = kex_alg_list('\n'); |
@@ -3475,7 +3475,7 @@ index 98b6ce788..4a81ef810 100644 | |||
3475 | else if (strcmp(optarg, "key") == 0) | 3475 | else if (strcmp(optarg, "key") == 0) |
3476 | cp = sshkey_alg_list(0, 0, 0, '\n'); | 3476 | cp = sshkey_alg_list(0, 0, 0, '\n'); |
3477 | else if (strcmp(optarg, "key-cert") == 0) | 3477 | else if (strcmp(optarg, "key-cert") == 0) |
3478 | @@ -798,8 +800,8 @@ main(int ac, char **av) | 3478 | @@ -826,8 +828,8 @@ main(int ac, char **av) |
3479 | } else if (strcmp(optarg, "help") == 0) { | 3479 | } else if (strcmp(optarg, "help") == 0) { |
3480 | cp = xstrdup( | 3480 | cp = xstrdup( |
3481 | "cipher\ncipher-auth\ncompression\nkex\n" | 3481 | "cipher\ncipher-auth\ncompression\nkex\n" |
@@ -3487,7 +3487,7 @@ index 98b6ce788..4a81ef810 100644 | |||
3487 | if (cp == NULL) | 3487 | if (cp == NULL) |
3488 | fatal("Unsupported query \"%s\"", optarg); | 3488 | fatal("Unsupported query \"%s\"", optarg); |
3489 | diff --git a/ssh_config b/ssh_config | 3489 | diff --git a/ssh_config b/ssh_config |
3490 | index 5e8ef548b..1ff999b68 100644 | 3490 | index 842ea866c..52aae8692 100644 |
3491 | --- a/ssh_config | 3491 | --- a/ssh_config |
3492 | +++ b/ssh_config | 3492 | +++ b/ssh_config |
3493 | @@ -24,6 +24,8 @@ | 3493 | @@ -24,6 +24,8 @@ |
@@ -3500,10 +3500,10 @@ index 5e8ef548b..1ff999b68 100644 | |||
3500 | # CheckHostIP yes | 3500 | # CheckHostIP yes |
3501 | # AddressFamily any | 3501 | # AddressFamily any |
3502 | diff --git a/ssh_config.5 b/ssh_config.5 | 3502 | diff --git a/ssh_config.5 b/ssh_config.5 |
3503 | index dc010ccbd..e2a2359f9 100644 | 3503 | index 6be1f1aa2..bd86d000c 100644 |
3504 | --- a/ssh_config.5 | 3504 | --- a/ssh_config.5 |
3505 | +++ b/ssh_config.5 | 3505 | +++ b/ssh_config.5 |
3506 | @@ -766,10 +766,67 @@ The default is | 3506 | @@ -779,10 +779,67 @@ The default is |
3507 | Specifies whether user authentication based on GSSAPI is allowed. | 3507 | Specifies whether user authentication based on GSSAPI is allowed. |
3508 | The default is | 3508 | The default is |
3509 | .Cm no . | 3509 | .Cm no . |
@@ -3572,7 +3572,7 @@ index dc010ccbd..e2a2359f9 100644 | |||
3572 | Indicates that | 3572 | Indicates that |
3573 | .Xr ssh 1 | 3573 | .Xr ssh 1 |
3574 | diff --git a/sshconnect2.c b/sshconnect2.c | 3574 | diff --git a/sshconnect2.c b/sshconnect2.c |
3575 | index 1a6545edf..79a22e600 100644 | 3575 | index f64aae66a..c47fc31a6 100644 |
3576 | --- a/sshconnect2.c | 3576 | --- a/sshconnect2.c |
3577 | +++ b/sshconnect2.c | 3577 | +++ b/sshconnect2.c |
3578 | @@ -80,8 +80,6 @@ | 3578 | @@ -80,8 +80,6 @@ |
@@ -3584,7 +3584,7 @@ index 1a6545edf..79a22e600 100644 | |||
3584 | extern Options options; | 3584 | extern Options options; |
3585 | 3585 | ||
3586 | /* | 3586 | /* |
3587 | @@ -163,6 +161,11 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) | 3587 | @@ -210,6 +208,11 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) |
3588 | char *s, *all_key; | 3588 | char *s, *all_key; |
3589 | int r, use_known_hosts_order = 0; | 3589 | int r, use_known_hosts_order = 0; |
3590 | 3590 | ||
@@ -3596,7 +3596,7 @@ index 1a6545edf..79a22e600 100644 | |||
3596 | xxx_host = host; | 3596 | xxx_host = host; |
3597 | xxx_hostaddr = hostaddr; | 3597 | xxx_hostaddr = hostaddr; |
3598 | 3598 | ||
3599 | @@ -206,6 +209,41 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) | 3599 | @@ -253,6 +256,41 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) |
3600 | compat_pkalg_proposal(options.hostkeyalgorithms); | 3600 | compat_pkalg_proposal(options.hostkeyalgorithms); |
3601 | } | 3601 | } |
3602 | 3602 | ||
@@ -3638,7 +3638,7 @@ index 1a6545edf..79a22e600 100644 | |||
3638 | if (options.rekey_limit || options.rekey_interval) | 3638 | if (options.rekey_limit || options.rekey_interval) |
3639 | ssh_packet_set_rekey_limits(ssh, options.rekey_limit, | 3639 | ssh_packet_set_rekey_limits(ssh, options.rekey_limit, |
3640 | options.rekey_interval); | 3640 | options.rekey_interval); |
3641 | @@ -224,16 +262,46 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) | 3641 | @@ -271,16 +309,46 @@ ssh_kex2(struct ssh *ssh, char *host, struct sockaddr *hostaddr, u_short port) |
3642 | # ifdef OPENSSL_HAS_ECC | 3642 | # ifdef OPENSSL_HAS_ECC |
3643 | ssh->kex->kex[KEX_ECDH_SHA2] = kex_gen_client; | 3643 | ssh->kex->kex[KEX_ECDH_SHA2] = kex_gen_client; |
3644 | # endif | 3644 | # endif |
@@ -3686,7 +3686,7 @@ index 1a6545edf..79a22e600 100644 | |||
3686 | if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0) | 3686 | if ((r = kex_prop2buf(ssh->kex->my, myproposal)) != 0) |
3687 | fatal("kex_prop2buf: %s", ssh_err(r)); | 3687 | fatal("kex_prop2buf: %s", ssh_err(r)); |
3688 | 3688 | ||
3689 | @@ -330,6 +398,7 @@ static int input_gssapi_response(int type, u_int32_t, struct ssh *); | 3689 | @@ -377,6 +445,7 @@ static int input_gssapi_response(int type, u_int32_t, struct ssh *); |
3690 | 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 *); |
3691 | static int input_gssapi_error(int, u_int32_t, struct ssh *); | 3691 | static int input_gssapi_error(int, u_int32_t, struct ssh *); |
3692 | static int input_gssapi_errtok(int, u_int32_t, struct ssh *); | 3692 | static int input_gssapi_errtok(int, u_int32_t, struct ssh *); |
@@ -3694,7 +3694,7 @@ index 1a6545edf..79a22e600 100644 | |||
3694 | #endif | 3694 | #endif |
3695 | 3695 | ||
3696 | void userauth(struct ssh *, char *); | 3696 | void userauth(struct ssh *, char *); |
3697 | @@ -346,6 +415,11 @@ static char *authmethods_get(void); | 3697 | @@ -393,6 +462,11 @@ static char *authmethods_get(void); |
3698 | 3698 | ||
3699 | Authmethod authmethods[] = { | 3699 | Authmethod authmethods[] = { |
3700 | #ifdef GSSAPI | 3700 | #ifdef GSSAPI |
@@ -3706,7 +3706,7 @@ index 1a6545edf..79a22e600 100644 | |||
3706 | {"gssapi-with-mic", | 3706 | {"gssapi-with-mic", |
3707 | userauth_gssapi, | 3707 | userauth_gssapi, |
3708 | userauth_gssapi_cleanup, | 3708 | userauth_gssapi_cleanup, |
3709 | @@ -716,12 +790,31 @@ userauth_gssapi(struct ssh *ssh) | 3709 | @@ -763,12 +837,31 @@ userauth_gssapi(struct ssh *ssh) |
3710 | OM_uint32 min; | 3710 | OM_uint32 min; |
3711 | int r, ok = 0; | 3711 | int r, ok = 0; |
3712 | gss_OID mech = NULL; | 3712 | gss_OID mech = NULL; |
@@ -3739,7 +3739,7 @@ index 1a6545edf..79a22e600 100644 | |||
3739 | 3739 | ||
3740 | /* 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 */ |
3741 | while (authctxt->mech_tried < authctxt->gss_supported_mechs->count && | 3741 | while (authctxt->mech_tried < authctxt->gss_supported_mechs->count && |
3742 | @@ -730,13 +823,15 @@ userauth_gssapi(struct ssh *ssh) | 3742 | @@ -777,13 +870,15 @@ userauth_gssapi(struct ssh *ssh) |
3743 | elements[authctxt->mech_tried]; | 3743 | elements[authctxt->mech_tried]; |
3744 | /* My DER encoding requires length<128 */ | 3744 | /* My DER encoding requires length<128 */ |
3745 | if (mech->length < 128 && ssh_gssapi_check_mechanism(&gssctxt, | 3745 | if (mech->length < 128 && ssh_gssapi_check_mechanism(&gssctxt, |
@@ -3756,7 +3756,7 @@ index 1a6545edf..79a22e600 100644 | |||
3756 | if (!ok || mech == NULL) | 3756 | if (!ok || mech == NULL) |
3757 | return 0; | 3757 | return 0; |
3758 | 3758 | ||
3759 | @@ -976,6 +1071,55 @@ input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh) | 3759 | @@ -1023,6 +1118,55 @@ input_gssapi_error(int type, u_int32_t plen, struct ssh *ssh) |
3760 | free(lang); | 3760 | free(lang); |
3761 | return r; | 3761 | return r; |
3762 | } | 3762 | } |
@@ -3813,7 +3813,7 @@ index 1a6545edf..79a22e600 100644 | |||
3813 | 3813 | ||
3814 | static int | 3814 | static int |
3815 | diff --git a/sshd.c b/sshd.c | 3815 | diff --git a/sshd.c b/sshd.c |
3816 | index 6f8f11a3b..02fca5c28 100644 | 3816 | index 8aa7f3df6..8c5d5822e 100644 |
3817 | --- a/sshd.c | 3817 | --- a/sshd.c |
3818 | +++ b/sshd.c | 3818 | +++ b/sshd.c |
3819 | @@ -816,8 +816,8 @@ notify_hostkeys(struct ssh *ssh) | 3819 | @@ -816,8 +816,8 @@ notify_hostkeys(struct ssh *ssh) |
@@ -3827,7 +3827,7 @@ index 6f8f11a3b..02fca5c28 100644 | |||
3827 | sshpkt_fatal(ssh, r, "%s: send", __func__); | 3827 | sshpkt_fatal(ssh, r, "%s: send", __func__); |
3828 | sshbuf_free(buf); | 3828 | sshbuf_free(buf); |
3829 | } | 3829 | } |
3830 | @@ -1851,7 +1851,8 @@ main(int ac, char **av) | 3830 | @@ -1901,7 +1901,8 @@ main(int ac, char **av) |
3831 | free(fp); | 3831 | free(fp); |
3832 | } | 3832 | } |
3833 | accumulate_host_timing_secret(cfg, NULL); | 3833 | accumulate_host_timing_secret(cfg, NULL); |
@@ -3837,7 +3837,7 @@ index 6f8f11a3b..02fca5c28 100644 | |||
3837 | logit("sshd: no hostkeys available -- exiting."); | 3837 | logit("sshd: no hostkeys available -- exiting."); |
3838 | exit(1); | 3838 | exit(1); |
3839 | } | 3839 | } |
3840 | @@ -2342,6 +2343,48 @@ do_ssh2_kex(struct ssh *ssh) | 3840 | @@ -2393,6 +2394,48 @@ do_ssh2_kex(struct ssh *ssh) |
3841 | myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = compat_pkalg_proposal( | 3841 | myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = compat_pkalg_proposal( |
3842 | list_hostkey_types()); | 3842 | list_hostkey_types()); |
3843 | 3843 | ||
@@ -3886,7 +3886,7 @@ index 6f8f11a3b..02fca5c28 100644 | |||
3886 | /* start key exchange */ | 3886 | /* start key exchange */ |
3887 | if ((r = kex_setup(ssh, myproposal)) != 0) | 3887 | if ((r = kex_setup(ssh, myproposal)) != 0) |
3888 | fatal("kex_setup: %s", ssh_err(r)); | 3888 | fatal("kex_setup: %s", ssh_err(r)); |
3889 | @@ -2357,7 +2400,18 @@ do_ssh2_kex(struct ssh *ssh) | 3889 | @@ -2408,7 +2451,18 @@ do_ssh2_kex(struct ssh *ssh) |
3890 | # ifdef OPENSSL_HAS_ECC | 3890 | # ifdef OPENSSL_HAS_ECC |
3891 | kex->kex[KEX_ECDH_SHA2] = kex_gen_server; | 3891 | kex->kex[KEX_ECDH_SHA2] = kex_gen_server; |
3892 | # endif | 3892 | # endif |
@@ -3920,7 +3920,7 @@ index 19b7c91a1..2c48105f8 100644 | |||
3920 | # Set this to 'yes' to enable PAM authentication, account processing, | 3920 | # Set this to 'yes' to enable PAM authentication, account processing, |
3921 | # and session processing. If this is enabled, PAM authentication will | 3921 | # and session processing. If this is enabled, PAM authentication will |
3922 | diff --git a/sshd_config.5 b/sshd_config.5 | 3922 | diff --git a/sshd_config.5 b/sshd_config.5 |
3923 | index b294efc2d..360e5fb1a 100644 | 3923 | index 6fa421cae..eabbe9e73 100644 |
3924 | --- a/sshd_config.5 | 3924 | --- a/sshd_config.5 |
3925 | +++ b/sshd_config.5 | 3925 | +++ b/sshd_config.5 |
3926 | @@ -644,6 +644,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 |
@@ -3968,10 +3968,10 @@ index b294efc2d..360e5fb1a 100644 | |||
3968 | Specifies the key types that will be accepted for hostbased authentication | 3968 | Specifies the key types that will be accepted for hostbased authentication |
3969 | as a list of comma-separated patterns. | 3969 | as a list of comma-separated patterns. |
3970 | diff --git a/sshkey.c b/sshkey.c | 3970 | diff --git a/sshkey.c b/sshkey.c |
3971 | index 1571e3d93..1ac32a0ec 100644 | 3971 | index ac451f1a8..b88282e19 100644 |
3972 | --- a/sshkey.c | 3972 | --- a/sshkey.c |
3973 | +++ b/sshkey.c | 3973 | +++ b/sshkey.c |
3974 | @@ -154,6 +154,7 @@ static const struct keytype keytypes[] = { | 3974 | @@ -156,6 +156,7 @@ static const struct keytype keytypes[] = { |
3975 | KEY_ECDSA_SK_CERT, NID_X9_62_prime256v1, 1, 0 }, | 3975 | KEY_ECDSA_SK_CERT, NID_X9_62_prime256v1, 1, 0 }, |
3976 | # endif /* OPENSSL_HAS_ECC */ | 3976 | # endif /* OPENSSL_HAS_ECC */ |
3977 | #endif /* WITH_OPENSSL */ | 3977 | #endif /* WITH_OPENSSL */ |
@@ -3979,7 +3979,7 @@ index 1571e3d93..1ac32a0ec 100644 | |||
3979 | { NULL, NULL, NULL, -1, -1, 0, 0 } | 3979 | { NULL, NULL, NULL, -1, -1, 0, 0 } |
3980 | }; | 3980 | }; |
3981 | 3981 | ||
3982 | @@ -255,7 +256,7 @@ sshkey_alg_list(int certs_only, int plain_only, int include_sigonly, char sep) | 3982 | @@ -257,7 +258,7 @@ sshkey_alg_list(int certs_only, int plain_only, int include_sigonly, char sep) |
3983 | const struct keytype *kt; | 3983 | const struct keytype *kt; |
3984 | 3984 | ||
3985 | for (kt = keytypes; kt->type != -1; kt++) { | 3985 | for (kt = keytypes; kt->type != -1; kt++) { |
@@ -3989,7 +3989,7 @@ index 1571e3d93..1ac32a0ec 100644 | |||
3989 | if (!include_sigonly && kt->sigonly) | 3989 | if (!include_sigonly && kt->sigonly) |
3990 | continue; | 3990 | continue; |
3991 | diff --git a/sshkey.h b/sshkey.h | 3991 | diff --git a/sshkey.h b/sshkey.h |
3992 | index 9c1d4f637..f586e8967 100644 | 3992 | index 2d8b62497..dc1c10597 100644 |
3993 | --- a/sshkey.h | 3993 | --- a/sshkey.h |
3994 | +++ b/sshkey.h | 3994 | +++ b/sshkey.h |
3995 | @@ -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 4a26d9d31..c9bc83267 100644 --- a/debian/patches/keepalive-extensions.patch +++ b/debian/patches/keepalive-extensions.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 24c9c811bfd227e467ab1ce00503f08dcc22c0f4 Mon Sep 17 00:00:00 2001 | 1 | From 164d1c9f11309d38273ac64e30eda2baa3733f78 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Kettlewell <rjk@greenend.org.uk> | 2 | From: Richard Kettlewell <rjk@greenend.org.uk> |
3 | Date: Sun, 9 Feb 2014 16:09:52 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:52 +0000 |
4 | Subject: Various keepalive extensions | 4 | Subject: 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 | ||
28 | diff --git a/readconf.c b/readconf.c | 28 | diff --git a/readconf.c b/readconf.c |
29 | index 2ccc48572..431243193 100644 | 29 | index b069333fa..3d0a812b3 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 2ccc48572..431243193 100644 | |||
46 | 46 | ||
47 | { NULL, oBadOption } | 47 | { NULL, oBadOption } |
48 | }; | 48 | }; |
49 | @@ -1519,6 +1522,8 @@ parse_keytypes: | 49 | @@ -1534,6 +1537,8 @@ parse_keytypes: |
50 | goto parse_flag; | 50 | goto parse_flag; |
51 | 51 | ||
52 | case oServerAliveInterval: | 52 | case oServerAliveInterval: |
@@ -55,7 +55,7 @@ index 2ccc48572..431243193 100644 | |||
55 | intptr = &options->server_alive_interval; | 55 | intptr = &options->server_alive_interval; |
56 | goto parse_time; | 56 | goto parse_time; |
57 | 57 | ||
58 | @@ -2222,8 +2227,13 @@ fill_default_options(Options * options) | 58 | @@ -2266,8 +2271,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,10 +72,10 @@ index 2ccc48572..431243193 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) |
74 | diff --git a/ssh_config.5 b/ssh_config.5 | 74 | diff --git a/ssh_config.5 b/ssh_config.5 |
75 | index e2a2359f9..85ab7447f 100644 | 75 | index bd86d000c..3ceb800ba 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 | @@ -275,9 +275,13 @@ If set to |
79 | .Cm yes , | 79 | .Cm yes , |
80 | user interaction such as password prompts and host key confirmation requests | 80 | user interaction such as password prompts and host key confirmation requests |
81 | will be disabled. | 81 | will be disabled. |
@@ -90,7 +90,7 @@ index e2a2359f9..85ab7447f 100644 | |||
90 | The argument must be | 90 | The argument must be |
91 | .Cm yes | 91 | .Cm yes |
92 | or | 92 | or |
93 | @@ -1604,7 +1608,14 @@ from the server, | 93 | @@ -1624,7 +1628,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 e2a2359f9..85ab7447f 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 | @@ -1684,6 +1695,12 @@ Specifies whether the system should send TCP keepalive messages to the | 109 | @@ -1704,6 +1715,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 e2a2359f9..85ab7447f 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. |
122 | diff --git a/sshd_config.5 b/sshd_config.5 | 122 | diff --git a/sshd_config.5 b/sshd_config.5 |
123 | index 360e5fb1a..9f093be1f 100644 | 123 | index eabbe9e73..6457620bb 100644 |
124 | --- a/sshd_config.5 | 124 | --- a/sshd_config.5 |
125 | +++ b/sshd_config.5 | 125 | +++ b/sshd_config.5 |
126 | @@ -1680,6 +1680,9 @@ This avoids infinitely hanging sessions. | 126 | @@ -1691,6 +1691,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 50b51619c..cb227f839 100644 --- a/debian/patches/mention-ssh-keygen-on-keychange.patch +++ b/debian/patches/mention-ssh-keygen-on-keychange.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8ec2f85d03524a6b4954f0a29496b5a301f92080 Mon Sep 17 00:00:00 2001 | 1 | From c8da63c601b5d44fd233548385809c9c3a2fa0b8 Mon Sep 17 00:00:00 2001 |
2 | From: Scott Moser <smoser@ubuntu.com> | 2 | From: Scott Moser <smoser@ubuntu.com> |
3 | Date: Sun, 9 Feb 2014 16:10:03 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:03 +0000 |
4 | Subject: Mention ssh-keygen in ssh fingerprint changed warning | 4 | Subject: Mention ssh-keygen in ssh fingerprint changed warning |
@@ -14,10 +14,10 @@ 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 | ||
16 | diff --git a/sshconnect.c b/sshconnect.c | 16 | diff --git a/sshconnect.c b/sshconnect.c |
17 | index bfbf80e92..f20d3e792 100644 | 17 | index 5f8c81b84..3ae20b74e 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 | @@ -994,9 +994,13 @@ check_host_key(char *hostname, struct sockaddr *hostaddr, u_short port, |
21 | error("%s. This could either mean that", key_msg); | 21 | error("%s. This could either mean that", key_msg); |
22 | error("DNS SPOOFING is happening or the IP address for the host"); | 22 | error("DNS SPOOFING is happening or the IP address for the host"); |
23 | error("and its host key have changed at the same time."); | 23 | error("and its host key have changed at the same time."); |
@@ -32,7 +32,7 @@ index bfbf80e92..f20d3e792 100644 | |||
32 | } | 32 | } |
33 | /* The host key has changed. */ | 33 | /* The host key has changed. */ |
34 | warn_changed_key(host_key); | 34 | warn_changed_key(host_key); |
35 | @@ -1002,6 +1006,9 @@ check_host_key(char *hostname, struct sockaddr *hostaddr, u_short port, | 35 | @@ -1005,6 +1009,9 @@ check_host_key(char *hostname, struct sockaddr *hostaddr, u_short port, |
36 | error("Offending %s key in %s:%lu", | 36 | error("Offending %s key in %s:%lu", |
37 | sshkey_type(host_found->key), | 37 | sshkey_type(host_found->key), |
38 | host_found->file, host_found->line); | 38 | host_found->file, host_found->line); |
diff --git a/debian/patches/no-openssl-version-status.patch b/debian/patches/no-openssl-version-status.patch index b91cbd4ea..e383375c6 100644 --- a/debian/patches/no-openssl-version-status.patch +++ b/debian/patches/no-openssl-version-status.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From a5d0b90bbd2c5a6bdec17b1abc5dca8166ae73f7 Mon Sep 17 00:00:00 2001 | 1 | From cf3ffd6a25d425bed33dd698f92e64953d9769eb Mon Sep 17 00:00:00 2001 |
2 | From: Kurt Roeckx <kurt@roeckx.be> | 2 | From: Kurt Roeckx <kurt@roeckx.be> |
3 | Date: Sun, 9 Feb 2014 16:10:14 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:14 +0000 |
4 | Subject: Don't check the status field of the OpenSSL version | 4 | Subject: 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 342487057..64405d578 100644 --- a/debian/patches/openbsd-docs.patch +++ b/debian/patches/openbsd-docs.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 34bf12a8e8fcc7720168dac307ef9388af93b947 Mon Sep 17 00:00:00 2001 | 1 | From 6bcbfca92b58917dba48b696dd63529fa5dcbb82 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:09 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:09 +0000 |
4 | Subject: Adjust various OpenBSD-specific references in manual pages | 4 | Subject: 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 , |
46 | diff --git a/ssh-keygen.1 b/ssh-keygen.1 | 46 | diff --git a/ssh-keygen.1 b/ssh-keygen.1 |
47 | index 059c1b034..45866f931 100644 | 47 | index 3ae596caa..836174fb6 100644 |
48 | --- a/ssh-keygen.1 | 48 | --- a/ssh-keygen.1 |
49 | +++ b/ssh-keygen.1 | 49 | +++ b/ssh-keygen.1 |
50 | @@ -197,9 +197,7 @@ key in | 50 | @@ -202,9 +202,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 059c1b034..45866f931 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 | @@ -262,9 +260,7 @@ If | 61 | @@ -269,9 +267,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 059c1b034..45866f931 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 | @@ -787,7 +783,7 @@ option. | 72 | @@ -804,7 +800,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 059c1b034..45866f931 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 | @@ -1158,7 +1154,7 @@ on all machines | 81 | @@ -1185,7 +1181,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,7 +88,7 @@ index 059c1b034..45866f931 100644 | |||
88 | The file format is described in | 88 | The file format is described in |
89 | .Xr moduli 5 . | 89 | .Xr moduli 5 . |
90 | diff --git a/ssh.1 b/ssh.1 | 90 | diff --git a/ssh.1 b/ssh.1 |
91 | index a80be8efe..566fdba6b 100644 | 91 | index 5d613076c..1880c032d 100644 |
92 | --- a/ssh.1 | 92 | --- a/ssh.1 |
93 | +++ b/ssh.1 | 93 | +++ b/ssh.1 |
94 | @@ -890,6 +890,10 @@ implements public key authentication protocol automatically, | 94 | @@ -890,6 +890,10 @@ implements public key authentication protocol automatically, |
@@ -103,7 +103,7 @@ index a80be8efe..566fdba6b 100644 | |||
103 | .Pp | 103 | .Pp |
104 | The file | 104 | The file |
105 | diff --git a/sshd.8 b/sshd.8 | 105 | diff --git a/sshd.8 b/sshd.8 |
106 | index 730520231..5ce0ea4fa 100644 | 106 | index 97d547ffa..7895a6a94 100644 |
107 | --- a/sshd.8 | 107 | --- a/sshd.8 |
108 | +++ b/sshd.8 | 108 | +++ b/sshd.8 |
109 | @@ -65,7 +65,7 @@ over an insecure network. | 109 | @@ -65,7 +65,7 @@ over an insecure network. |
@@ -115,7 +115,7 @@ index 730520231..5ce0ea4fa 100644 | |||
115 | It forks a new | 115 | It forks a new |
116 | daemon for each incoming connection. | 116 | daemon for each incoming connection. |
117 | The forked daemons handle | 117 | The forked daemons handle |
118 | @@ -904,7 +904,7 @@ This file is for host-based authentication (see | 118 | @@ -911,7 +911,7 @@ This file is for host-based authentication (see |
119 | .Xr ssh 1 ) . | 119 | .Xr ssh 1 ) . |
120 | It should only be writable by root. | 120 | It should only be writable by root. |
121 | .Pp | 121 | .Pp |
@@ -124,7 +124,7 @@ index 730520231..5ce0ea4fa 100644 | |||
124 | Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange" | 124 | Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange" |
125 | key exchange method. | 125 | key exchange method. |
126 | The file format is described in | 126 | The file format is described in |
127 | @@ -1002,7 +1002,6 @@ The content of this file is not sensitive; it can be world-readable. | 127 | @@ -1009,7 +1009,6 @@ The content of this file is not sensitive; it can be world-readable. |
128 | .Xr ssh-keyscan 1 , | 128 | .Xr ssh-keyscan 1 , |
129 | .Xr chroot 2 , | 129 | .Xr chroot 2 , |
130 | .Xr hosts_access 5 , | 130 | .Xr hosts_access 5 , |
@@ -133,7 +133,7 @@ index 730520231..5ce0ea4fa 100644 | |||
133 | .Xr sshd_config 5 , | 133 | .Xr sshd_config 5 , |
134 | .Xr inetd 8 , | 134 | .Xr inetd 8 , |
135 | diff --git a/sshd_config.5 b/sshd_config.5 | 135 | diff --git a/sshd_config.5 b/sshd_config.5 |
136 | index 753ceda10..c27f99937 100644 | 136 | index 33dc0c675..32ae46476 100644 |
137 | --- a/sshd_config.5 | 137 | --- a/sshd_config.5 |
138 | +++ b/sshd_config.5 | 138 | +++ b/sshd_config.5 |
139 | @@ -385,8 +385,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 |
diff --git a/debian/patches/package-versioning.patch b/debian/patches/package-versioning.patch index a560ae940..daa1473db 100644 --- a/debian/patches/package-versioning.patch +++ b/debian/patches/package-versioning.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From d66c30698f807ab95aee7ea4a882c192884df047 Mon Sep 17 00:00:00 2001 | 1 | From 707144d399b9fc959a4f6be3fd8e239c208c88ff Mon Sep 17 00:00:00 2001 |
2 | From: Matthew Vernon <matthew@debian.org> | 2 | From: Matthew Vernon <matthew@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:05 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:05 +0000 |
4 | Subject: Include the Debian version in our identification | 4 | Subject: Include the Debian version in our identification |
@@ -18,7 +18,7 @@ Patch-Name: package-versioning.patch | |||
18 | 2 files changed, 7 insertions(+), 2 deletions(-) | 18 | 2 files changed, 7 insertions(+), 2 deletions(-) |
19 | 19 | ||
20 | diff --git a/kex.c b/kex.c | 20 | diff --git a/kex.c b/kex.c |
21 | index 144dee512..0e64bf760 100644 | 21 | index 751cfc710..ce7bb5b3b 100644 |
22 | --- a/kex.c | 22 | --- a/kex.c |
23 | +++ b/kex.c | 23 | +++ b/kex.c |
24 | @@ -1243,7 +1243,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, | 24 | @@ -1243,7 +1243,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms, |
@@ -31,11 +31,11 @@ index 144dee512..0e64bf760 100644 | |||
31 | version_addendum == NULL ? "" : version_addendum)) != 0) { | 31 | version_addendum == NULL ? "" : version_addendum)) != 0) { |
32 | oerrno = errno; | 32 | oerrno = errno; |
33 | diff --git a/version.h b/version.h | 33 | diff --git a/version.h b/version.h |
34 | index a2eca3ec8..158eaee70 100644 | 34 | index c2f9c55bb..480cd59e1 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.3" | 38 | #define SSH_VERSION "OpenSSH_8.4" |
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 e32c31717..a1f52056f 100644 --- a/debian/patches/restore-authorized_keys2.patch +++ b/debian/patches/restore-authorized_keys2.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From a31d1fdf19480d9a184a27a4d221655f408f74d7 Mon Sep 17 00:00:00 2001 | 1 | From 8dc9bb0d9cf53a35d6003623f1e7c91326d79875 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 5 Mar 2017 02:02:11 +0000 | 3 | Date: Sun, 5 Mar 2017 02:02:11 +0000 |
4 | Subject: Restore reading authorized_keys2 by default | 4 | Subject: Restore reading authorized_keys2 by default |
diff --git a/debian/patches/restore-tcp-wrappers.patch b/debian/patches/restore-tcp-wrappers.patch index e544e3874..7388fadff 100644 --- a/debian/patches/restore-tcp-wrappers.patch +++ b/debian/patches/restore-tcp-wrappers.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7e3de67f8447064d6963e8299653d8e01baaef1e Mon Sep 17 00:00:00 2001 | 1 | From 6806b85f30244d186206004386a9faddc16b8738 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Tue, 7 Oct 2014 13:22:41 +0100 | 3 | Date: Tue, 7 Oct 2014 13:22:41 +0100 |
4 | Subject: Restore TCP wrappers support | 4 | Subject: 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 | ||
30 | diff --git a/configure.ac b/configure.ac | 30 | diff --git a/configure.ac b/configure.ac |
31 | index d98e6f74a..812b7218f 100644 | 31 | index c8a96deb4..bb435ec1f 100644 |
32 | --- a/configure.ac | 32 | --- a/configure.ac |
33 | +++ b/configure.ac | 33 | +++ b/configure.ac |
34 | @@ -1558,6 +1558,62 @@ else | 34 | @@ -1571,6 +1571,62 @@ else |
35 | AC_MSG_RESULT([no]) | 35 | AC_MSG_RESULT([no]) |
36 | fi | 36 | fi |
37 | 37 | ||
@@ -94,7 +94,7 @@ index d98e6f74a..812b7218f 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 | @@ -5479,6 +5535,7 @@ echo " PAM support: $PAM_MSG" | 97 | @@ -5536,6 +5592,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" |
@@ -103,10 +103,10 @@ index d98e6f74a..812b7218f 100644 | |||
103 | echo " libedit support: $LIBEDIT_MSG" | 103 | echo " libedit support: $LIBEDIT_MSG" |
104 | echo " libldns support: $LDNS_MSG" | 104 | echo " libldns support: $LDNS_MSG" |
105 | diff --git a/sshd.8 b/sshd.8 | 105 | diff --git a/sshd.8 b/sshd.8 |
106 | index c5f8987d2..730520231 100644 | 106 | index b2fad56d3..97d547ffa 100644 |
107 | --- a/sshd.8 | 107 | --- a/sshd.8 |
108 | +++ b/sshd.8 | 108 | +++ b/sshd.8 |
109 | @@ -893,6 +893,12 @@ the user's home directory becomes accessible. | 109 | @@ -900,6 +900,12 @@ the user's home directory becomes accessible. |
110 | This file should be writable only by the user, and need not be | 110 | This file should be writable only by the user, and need not be |
111 | readable by anyone else. | 111 | readable by anyone else. |
112 | .Pp | 112 | .Pp |
@@ -119,7 +119,7 @@ index c5f8987d2..730520231 100644 | |||
119 | .It Pa /etc/hosts.equiv | 119 | .It Pa /etc/hosts.equiv |
120 | This file is for host-based authentication (see | 120 | This file is for host-based authentication (see |
121 | .Xr ssh 1 ) . | 121 | .Xr ssh 1 ) . |
122 | @@ -995,6 +1001,7 @@ The content of this file is not sensitive; it can be world-readable. | 122 | @@ -1002,6 +1008,7 @@ The content of this file is not sensitive; it can be world-readable. |
123 | .Xr ssh-keygen 1 , | 123 | .Xr ssh-keygen 1 , |
124 | .Xr ssh-keyscan 1 , | 124 | .Xr ssh-keyscan 1 , |
125 | .Xr chroot 2 , | 125 | .Xr chroot 2 , |
@@ -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 , |
130 | diff --git a/sshd.c b/sshd.c | 130 | diff --git a/sshd.c b/sshd.c |
131 | index 02fca5c28..e96d90809 100644 | 131 | index 8c5d5822e..a50ec3584 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 02fca5c28..e96d90809 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 | @@ -2132,6 +2139,24 @@ main(int ac, char **av) | 148 | @@ -2183,6 +2190,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 0ec75419a..b84cef134 100644 --- a/debian/patches/revert-ipqos-defaults.patch +++ b/debian/patches/revert-ipqos-defaults.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 39b8d128ef980a410bb1ea0ee80e95ac9fff59c3 Mon Sep 17 00:00:00 2001 | 1 | From 3728919292c05983372954d27426f7d966813139 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Mon, 8 Apr 2019 10:46:29 +0100 | 3 | Date: Mon, 8 Apr 2019 10:46:29 +0100 |
4 | Subject: Revert "upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP | 4 | Subject: 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 | ||
26 | diff --git a/readconf.c b/readconf.c | 26 | diff --git a/readconf.c b/readconf.c |
27 | index 87b0dc62a..9a646dcaa 100644 | 27 | index e676b6be6..c60df5602 100644 |
28 | --- a/readconf.c | 28 | --- a/readconf.c |
29 | +++ b/readconf.c | 29 | +++ b/readconf.c |
30 | @@ -2254,9 +2254,9 @@ fill_default_options(Options * options) | 30 | @@ -2298,9 +2298,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,10 +40,10 @@ index 87b0dc62a..9a646dcaa 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) |
42 | diff --git a/servconf.c b/servconf.c | 42 | diff --git a/servconf.c b/servconf.c |
43 | index cf4e52f3b..c290e9786 100644 | 43 | index f9eb778d6..98afcfcec 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 | @@ -453,9 +453,9 @@ fill_default_server_options(ServerOptions *options) |
47 | if (options->permit_tun == -1) | 47 | if (options->permit_tun == -1) |
48 | options->permit_tun = SSH_TUNMODE_NO; | 48 | options->permit_tun = SSH_TUNMODE_NO; |
49 | if (options->ip_qos_interactive == -1) | 49 | if (options->ip_qos_interactive == -1) |
@@ -56,10 +56,10 @@ index cf4e52f3b..c290e9786 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) |
58 | diff --git a/ssh_config.5 b/ssh_config.5 | 58 | diff --git a/ssh_config.5 b/ssh_config.5 |
59 | index aac3fabb7..2574b1004 100644 | 59 | index 6d6c59521..080d289a7 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 | @@ -1156,11 +1156,9 @@ If one argument is specified, it is used as the packet class unconditionally. |
63 | If two values are specified, the first is automatically selected for | 63 | If two values are specified, the first is automatically selected for |
64 | interactive sessions and the second for non-interactive sessions. | 64 | interactive sessions and the second for non-interactive sessions. |
65 | The default is | 65 | The default is |
@@ -74,7 +74,7 @@ index aac3fabb7..2574b1004 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. |
76 | diff --git a/sshd_config.5 b/sshd_config.5 | 76 | diff --git a/sshd_config.5 b/sshd_config.5 |
77 | index b38025dbf..88db4db07 100644 | 77 | index 472001dd1..a555e7ec3 100644 |
78 | --- a/sshd_config.5 | 78 | --- a/sshd_config.5 |
79 | +++ b/sshd_config.5 | 79 | +++ b/sshd_config.5 |
80 | @@ -925,11 +925,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. |
diff --git a/debian/patches/scp-quoting.patch b/debian/patches/scp-quoting.patch index 0166c914a..604e831b3 100644 --- a/debian/patches/scp-quoting.patch +++ b/debian/patches/scp-quoting.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 2520672d1ccfd88744c93bac102f461f9b1e0cf3 Mon Sep 17 00:00:00 2001 | 1 | From 94f06f8888f2e11267120eeebdb931d95bbfb7fd Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?Nicolas=20Valc=C3=A1rcel?= <nvalcarcel@ubuntu.com> | 2 | From: =?UTF-8?q?Nicolas=20Valc=C3=A1rcel?= <nvalcarcel@ubuntu.com> |
3 | Date: Sun, 9 Feb 2014 16:09:59 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:59 +0000 |
4 | Subject: Adjust scp quoting in verbose mode | 4 | Subject: 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 | ||
19 | diff --git a/scp.c b/scp.c | 19 | diff --git a/scp.c b/scp.c |
20 | index b4492a062..66b4af8e8 100644 | 20 | index 6ae17061d..2d1b8e9b9 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 b0088c104..3161999a9 100644 --- a/debian/patches/selinux-role.patch +++ b/debian/patches/selinux-role.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8641a3f57e67e087b4500beb9916e06c4d0ba94c Mon Sep 17 00:00:00 2001 | 1 | From c574865182e2c5dfa183b577f49ac602d16df5c0 Mon Sep 17 00:00:00 2001 |
2 | From: Manoj Srivastava <srivasta@debian.org> | 2 | From: Manoj Srivastava <srivasta@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:09:49 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:49 +0000 |
4 | Subject: Handle SELinux authorisation roles | 4 | Subject: Handle SELinux authorisation roles |
@@ -9,7 +9,7 @@ SELinux maintainer, so we'll keep it until we have something better. | |||
9 | 9 | ||
10 | Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1641 | 10 | Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1641 |
11 | Bug-Debian: http://bugs.debian.org/394795 | 11 | Bug-Debian: http://bugs.debian.org/394795 |
12 | Last-Update: 2020-02-21 | 12 | Last-Update: 2020-10-18 |
13 | 13 | ||
14 | Patch-Name: selinux-role.patch | 14 | Patch-Name: selinux-role.patch |
15 | --- | 15 | --- |
@@ -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 */ |
45 | diff --git a/auth2.c b/auth2.c | 45 | diff --git a/auth2.c b/auth2.c |
46 | index a4a5e0069..05d6c2447 100644 | 46 | index 9fa1404b3..d8363bdba 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 a4a5e0069..05d6c2447 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, |
83 | diff --git a/monitor.c b/monitor.c | 83 | diff --git a/monitor.c b/monitor.c |
84 | index 5347e900d..8002aca86 100644 | 84 | index 11868952b..98362948f 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 5347e900d..8002aca86 100644 | |||
154 | return (0); | 154 | return (0); |
155 | } | 155 | } |
156 | 156 | ||
157 | @@ -1553,7 +1582,7 @@ mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m) | 157 | @@ -1566,7 +1595,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; |
@@ -177,7 +177,7 @@ index 2b1a2d590..4d87284aa 100644 | |||
177 | 177 | ||
178 | struct ssh; | 178 | struct ssh; |
179 | diff --git a/monitor_wrap.c b/monitor_wrap.c | 179 | diff --git a/monitor_wrap.c b/monitor_wrap.c |
180 | index 6edb509a3..b49c268d3 100644 | 180 | index 0e78cd006..d41d3949d 100644 |
181 | --- a/monitor_wrap.c | 181 | --- a/monitor_wrap.c |
182 | +++ b/monitor_wrap.c | 182 | +++ b/monitor_wrap.c |
183 | @@ -364,10 +364,10 @@ mm_auth2_read_banner(void) | 183 | @@ -364,10 +364,10 @@ mm_auth2_read_banner(void) |
@@ -231,13 +231,13 @@ index 6edb509a3..b49c268d3 100644 | |||
231 | int | 231 | int |
232 | mm_auth_password(struct ssh *ssh, char *password) | 232 | mm_auth_password(struct ssh *ssh, char *password) |
233 | diff --git a/monitor_wrap.h b/monitor_wrap.h | 233 | diff --git a/monitor_wrap.h b/monitor_wrap.h |
234 | index 485590c18..370b08e17 100644 | 234 | index 75aef1c74..c39e5dd8b 100644 |
235 | --- a/monitor_wrap.h | 235 | --- a/monitor_wrap.h |
236 | +++ b/monitor_wrap.h | 236 | +++ b/monitor_wrap.h |
237 | @@ -47,7 +47,8 @@ DH *mm_choose_dh(int, int, int); | 237 | @@ -48,7 +48,8 @@ DH *mm_choose_dh(int, int, int); |
238 | #endif | ||
239 | int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *, | 238 | int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *, |
240 | const u_char *, size_t, const char *, const char *, u_int compat); | 239 | const u_char *, size_t, const char *, const char *, |
240 | const char *, u_int compat); | ||
241 | -void mm_inform_authserv(char *, char *); | 241 | -void mm_inform_authserv(char *, char *); |
242 | +void mm_inform_authserv(char *, char *, char *); | 242 | +void mm_inform_authserv(char *, char *, char *); |
243 | +void mm_inform_authrole(char *); | 243 | +void mm_inform_authrole(char *); |
@@ -363,10 +363,10 @@ 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); |
365 | diff --git a/session.c b/session.c | 365 | diff --git a/session.c b/session.c |
366 | index f9c2c866e..837a8bacf 100644 | 366 | index 857f17b3c..b1796a803 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 | @@ -1364,7 +1364,7 @@ safely_chroot(const char *path, uid_t uid) |
370 | 370 | ||
371 | /* Set login name, uid, gid, and groups. */ | 371 | /* Set login name, uid, gid, and groups. */ |
372 | void | 372 | void |
@@ -375,7 +375,7 @@ index f9c2c866e..837a8bacf 100644 | |||
375 | { | 375 | { |
376 | char uidstr[32], *chroot_path, *tmp; | 376 | char uidstr[32], *chroot_path, *tmp; |
377 | 377 | ||
378 | @@ -1388,7 +1388,7 @@ do_setusercontext(struct passwd *pw) | 378 | @@ -1392,7 +1392,7 @@ do_setusercontext(struct passwd *pw) |
379 | endgrent(); | 379 | endgrent(); |
380 | #endif | 380 | #endif |
381 | 381 | ||
@@ -384,7 +384,7 @@ index f9c2c866e..837a8bacf 100644 | |||
384 | 384 | ||
385 | if (!in_chroot && options.chroot_directory != NULL && | 385 | if (!in_chroot && options.chroot_directory != NULL && |
386 | strcasecmp(options.chroot_directory, "none") != 0) { | 386 | strcasecmp(options.chroot_directory, "none") != 0) { |
387 | @@ -1529,7 +1529,7 @@ do_child(struct ssh *ssh, Session *s, const char *command) | 387 | @@ -1536,7 +1536,7 @@ do_child(struct ssh *ssh, Session *s, const char *command) |
388 | 388 | ||
389 | /* Force a password change */ | 389 | /* Force a password change */ |
390 | if (s->authctxt->force_pwchange) { | 390 | if (s->authctxt->force_pwchange) { |
@@ -393,7 +393,7 @@ index f9c2c866e..837a8bacf 100644 | |||
393 | child_close_fds(ssh); | 393 | child_close_fds(ssh); |
394 | do_pwchange(s); | 394 | do_pwchange(s); |
395 | exit(1); | 395 | exit(1); |
396 | @@ -1547,7 +1547,7 @@ do_child(struct ssh *ssh, Session *s, const char *command) | 396 | @@ -1554,7 +1554,7 @@ do_child(struct ssh *ssh, Session *s, const char *command) |
397 | /* When PAM is enabled we rely on it to do the nologin check */ | 397 | /* When PAM is enabled we rely on it to do the nologin check */ |
398 | if (!options.use_pam) | 398 | if (!options.use_pam) |
399 | do_nologin(pw); | 399 | do_nologin(pw); |
@@ -402,7 +402,7 @@ index f9c2c866e..837a8bacf 100644 | |||
402 | /* | 402 | /* |
403 | * PAM session modules in do_setusercontext may have | 403 | * PAM session modules in do_setusercontext may have |
404 | * generated messages, so if this in an interactive | 404 | * generated messages, so if this in an interactive |
405 | @@ -1946,7 +1946,7 @@ session_pty_req(struct ssh *ssh, Session *s) | 405 | @@ -1953,7 +1953,7 @@ session_pty_req(struct ssh *ssh, Session *s) |
406 | sshpkt_fatal(ssh, r, "%s: parse packet", __func__); | 406 | sshpkt_fatal(ssh, r, "%s: parse packet", __func__); |
407 | 407 | ||
408 | if (!use_privsep) | 408 | if (!use_privsep) |
@@ -425,7 +425,7 @@ 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 | ||
427 | diff --git a/sshd.c b/sshd.c | 427 | diff --git a/sshd.c b/sshd.c |
428 | index e96d90809..e8b332ca4 100644 | 428 | index a50ec3584..38d281ab4 100644 |
429 | --- a/sshd.c | 429 | --- a/sshd.c |
430 | +++ b/sshd.c | 430 | +++ b/sshd.c |
431 | @@ -594,7 +594,7 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt) | 431 | @@ -594,7 +594,7 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt) |
diff --git a/debian/patches/series b/debian/patches/series index 9abd84350..8c1046a74 100644 --- a/debian/patches/series +++ b/debian/patches/series | |||
@@ -23,4 +23,3 @@ debian-config.patch | |||
23 | restore-authorized_keys2.patch | 23 | restore-authorized_keys2.patch |
24 | conch-old-privkey-format.patch | 24 | conch-old-privkey-format.patch |
25 | revert-ipqos-defaults.patch | 25 | revert-ipqos-defaults.patch |
26 | avoid-extra-ports.patch | ||
diff --git a/debian/patches/shell-path.patch b/debian/patches/shell-path.patch index 4752e2a71..503b08dda 100644 --- a/debian/patches/shell-path.patch +++ b/debian/patches/shell-path.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b78e6371a98460f5d12683406674e117d64b35f2 Mon Sep 17 00:00:00 2001 | 1 | From a7d2f23b7b86f97749856482233cdc9dd970d1d3 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:00 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:00 +0000 |
4 | Subject: Look for $SHELL on the path for ProxyCommand/LocalCommand | 4 | Subject: Look for $SHELL on the path for ProxyCommand/LocalCommand |
@@ -16,10 +16,10 @@ Patch-Name: shell-path.patch | |||
16 | 1 file changed, 2 insertions(+), 2 deletions(-) | 16 | 1 file changed, 2 insertions(+), 2 deletions(-) |
17 | 17 | ||
18 | diff --git a/sshconnect.c b/sshconnect.c | 18 | diff --git a/sshconnect.c b/sshconnect.c |
19 | index af08be415..bfbf80e92 100644 | 19 | index 9ec0618a9..5f8c81b84 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 | @@ -263,7 +263,7 @@ ssh_proxy_connect(struct ssh *ssh, const char *host, const char *host_arg, |
23 | /* Execute the proxy command. Note that we gave up any | 23 | /* Execute the proxy command. Note that we gave up any |
24 | extra privileges above. */ | 24 | extra privileges above. */ |
25 | ssh_signal(SIGPIPE, SIG_DFL); | 25 | ssh_signal(SIGPIPE, SIG_DFL); |
@@ -28,7 +28,7 @@ index af08be415..bfbf80e92 100644 | |||
28 | perror(argv[0]); | 28 | perror(argv[0]); |
29 | exit(1); | 29 | exit(1); |
30 | } | 30 | } |
31 | @@ -1389,7 +1389,7 @@ ssh_local_cmd(const char *args) | 31 | @@ -1392,7 +1392,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 ed23334d9..5d7a6c0fb 100644 --- a/debian/patches/ssh-agent-setgid.patch +++ b/debian/patches/ssh-agent-setgid.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 303cbd5533df863d518bc61d837ce56a93166b11 Mon Sep 17 00:00:00 2001 | 1 | From 7a305ed4a0cba43d0d1bc6ebf5737521a0854a9d Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:13 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:13 +0000 |
4 | Subject: Document consequences of ssh-agent being setgid in ssh-agent(1) | 4 | Subject: Document consequences of ssh-agent being setgid in ssh-agent(1) |
@@ -13,10 +13,10 @@ Patch-Name: ssh-agent-setgid.patch | |||
13 | 1 file changed, 15 insertions(+) | 13 | 1 file changed, 15 insertions(+) |
14 | 14 | ||
15 | diff --git a/ssh-agent.1 b/ssh-agent.1 | 15 | diff --git a/ssh-agent.1 b/ssh-agent.1 |
16 | index fff0db6bc..99e4f6d2e 100644 | 16 | index 2cf46160b..272da79b3 100644 |
17 | --- a/ssh-agent.1 | 17 | --- a/ssh-agent.1 |
18 | +++ b/ssh-agent.1 | 18 | +++ b/ssh-agent.1 |
19 | @@ -201,6 +201,21 @@ socket and stores its pathname in this variable. | 19 | @@ -206,6 +206,21 @@ socket and stores its pathname in this variable. |
20 | It is accessible only to the current user, | 20 | It is accessible only to the current user, |
21 | but is easily abused by root or another instance of the same user. | 21 | but is easily abused by root or another instance of the same user. |
22 | .El | 22 | .El |
diff --git a/debian/patches/ssh-argv0.patch b/debian/patches/ssh-argv0.patch index 52e5bf70b..12f8c1b90 100644 --- a/debian/patches/ssh-argv0.patch +++ b/debian/patches/ssh-argv0.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 81723f749647928d918de21057d9dbfbebaa8e53 Mon Sep 17 00:00:00 2001 | 1 | From 0e71b467fd84b0972c6aa2762d93af1c3defc0dc Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:10:10 +0000 | 3 | Date: Sun, 9 Feb 2014 16:10:10 +0000 |
4 | Subject: ssh(1): Refer to ssh-argv0(1) | 4 | Subject: 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 | ||
20 | diff --git a/ssh.1 b/ssh.1 | 20 | diff --git a/ssh.1 b/ssh.1 |
21 | index 566fdba6b..5a31b5dde 100644 | 21 | index 1880c032d..76ddd89b5 100644 |
22 | --- a/ssh.1 | 22 | --- a/ssh.1 |
23 | +++ b/ssh.1 | 23 | +++ b/ssh.1 |
24 | @@ -1613,6 +1613,7 @@ if an error occurred. | 24 | @@ -1632,6 +1632,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 cc2656bda..f4bedfd7b 100644 --- a/debian/patches/ssh-vulnkey-compat.patch +++ b/debian/patches/ssh-vulnkey-compat.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6ed578a01fd61f9c930ef46cfefc467203ddd6c0 Mon Sep 17 00:00:00 2001 | 1 | From 61b4d4c07d19cd0816ab5d48da81a75f7adbdf24 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@ubuntu.com> | 2 | From: Colin Watson <cjwatson@ubuntu.com> |
3 | Date: Sun, 9 Feb 2014 16:09:50 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:50 +0000 |
4 | Subject: Accept obsolete ssh-vulnkey configuration options | 4 | Subject: 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 | ||
19 | diff --git a/readconf.c b/readconf.c | 19 | diff --git a/readconf.c b/readconf.c |
20 | index fb585e248..2ccc48572 100644 | 20 | index 57dae55d1..b069333fa 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,10 +29,10 @@ index fb585e248..2ccc48572 100644 | |||
29 | { "useroaming", oDeprecated }, | 29 | { "useroaming", oDeprecated }, |
30 | { "usersh", oDeprecated }, | 30 | { "usersh", oDeprecated }, |
31 | diff --git a/servconf.c b/servconf.c | 31 | diff --git a/servconf.c b/servconf.c |
32 | index f38ba9e44..ff5b9436c 100644 | 32 | index ded8f4a87..21abe41ac 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 | @@ -649,6 +649,7 @@ static struct { |
36 | { "x11uselocalhost", sX11UseLocalhost, SSHCFG_ALL }, | 36 | { "x11uselocalhost", sX11UseLocalhost, SSHCFG_ALL }, |
37 | { "xauthlocation", sXAuthLocation, SSHCFG_GLOBAL }, | 37 | { "xauthlocation", sXAuthLocation, SSHCFG_GLOBAL }, |
38 | { "strictmodes", sStrictModes, SSHCFG_GLOBAL }, | 38 | { "strictmodes", sStrictModes, SSHCFG_GLOBAL }, |
diff --git a/debian/patches/syslog-level-silent.patch b/debian/patches/syslog-level-silent.patch index 273f8069f..d6215dea6 100644 --- a/debian/patches/syslog-level-silent.patch +++ b/debian/patches/syslog-level-silent.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f2c3eb379d31f24de20dc9a2e0089ed84f52055b Mon Sep 17 00:00:00 2001 | 1 | From 33a5f7aadea15899586710c615408045eaaecebd Mon Sep 17 00:00:00 2001 |
2 | From: Natalie Amery <nmamery@chiark.greenend.org.uk> | 2 | From: Natalie Amery <nmamery@chiark.greenend.org.uk> |
3 | Date: Sun, 9 Feb 2014 16:09:54 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:54 +0000 |
4 | Subject: "LogLevel SILENT" compatibility | 4 | Subject: "LogLevel SILENT" compatibility |
@@ -21,7 +21,7 @@ Patch-Name: syslog-level-silent.patch | |||
21 | 2 files changed, 2 insertions(+), 1 deletion(-) | 21 | 2 files changed, 2 insertions(+), 1 deletion(-) |
22 | 22 | ||
23 | diff --git a/log.c b/log.c | 23 | diff --git a/log.c b/log.c |
24 | index d9c2d136c..1749af6d1 100644 | 24 | index 6b1a7a314..5ebae1480 100644 |
25 | --- a/log.c | 25 | --- a/log.c |
26 | +++ b/log.c | 26 | +++ b/log.c |
27 | @@ -93,6 +93,7 @@ static struct { | 27 | @@ -93,6 +93,7 @@ static struct { |
@@ -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 }, |
35 | diff --git a/ssh.c b/ssh.c | 35 | diff --git a/ssh.c b/ssh.c |
36 | index 4a81ef810..7879d4f4d 100644 | 36 | index bb98a7e2d..aa15b8a1f 100644 |
37 | --- a/ssh.c | 37 | --- a/ssh.c |
38 | +++ b/ssh.c | 38 | +++ b/ssh.c |
39 | @@ -1339,7 +1339,7 @@ main(int ac, char **av) | 39 | @@ -1373,7 +1373,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 a85ed6732..37e98c1dc 100644 --- a/debian/patches/systemd-readiness.patch +++ b/debian/patches/systemd-readiness.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From fe8c9983321154a61f4f06be602f925f1fd24ee7 Mon Sep 17 00:00:00 2001 | 1 | From e8453621b2a26f8d6afec405ff60201749b01e5e Mon Sep 17 00:00:00 2001 |
2 | From: Michael Biebl <biebl@debian.org> | 2 | From: Michael Biebl <biebl@debian.org> |
3 | Date: Mon, 21 Dec 2015 16:08:47 +0000 | 3 | Date: Mon, 21 Dec 2015 16:08:47 +0000 |
4 | Subject: Add systemd readiness notification support | 4 | Subject: 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 | ||
16 | diff --git a/configure.ac b/configure.ac | 16 | diff --git a/configure.ac b/configure.ac |
17 | index 812b7218f..7e0584d2c 100644 | 17 | index bb435ec1f..5944299fa 100644 |
18 | --- a/configure.ac | 18 | --- a/configure.ac |
19 | +++ b/configure.ac | 19 | +++ b/configure.ac |
20 | @@ -4730,6 +4730,29 @@ AC_ARG_WITH([kerberos5], | 20 | @@ -4785,6 +4785,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 812b7218f..7e0584d2c 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 | @@ -5542,6 +5565,7 @@ echo " libldns support: $LDNS_MSG" | 50 | @@ -5599,6 +5622,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 812b7218f..7e0584d2c 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" |
58 | diff --git a/sshd.c b/sshd.c | 58 | diff --git a/sshd.c b/sshd.c |
59 | index baee13506..d2d1877d4 100644 | 59 | index 50f2726bf..fb9b7b7fb 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 baee13506..d2d1877d4 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 | @@ -2026,6 +2030,11 @@ main(int ac, char **av) | 73 | @@ -2076,6 +2080,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 19c1809d9..8f5a8a383 100644 --- a/debian/patches/user-group-modes.patch +++ b/debian/patches/user-group-modes.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From cb72edd9757c469f3b5dc9cde374715ae8b54509 Mon Sep 17 00:00:00 2001 | 1 | From d08cd2b0cfbedf3ccd2ec3adaef850b8d9a87e85 Mon Sep 17 00:00:00 2001 |
2 | From: Colin Watson <cjwatson@debian.org> | 2 | From: Colin Watson <cjwatson@debian.org> |
3 | Date: Sun, 9 Feb 2014 16:09:58 +0000 | 3 | Date: Sun, 9 Feb 2014 16:09:58 +0000 |
4 | Subject: Allow harmless group-writability | 4 | Subject: Allow harmless group-writability |
@@ -51,7 +51,7 @@ index e81321b49..3bcc73766 100644 | |||
51 | pw->pw_name, buf); | 51 | pw->pw_name, buf); |
52 | auth_debug_add("Bad file modes for %.200s", buf); | 52 | auth_debug_add("Bad file modes for %.200s", buf); |
53 | diff --git a/auth.c b/auth.c | 53 | diff --git a/auth.c b/auth.c |
54 | index 687c57b42..aed3c13ac 100644 | 54 | index 3d31ec860..4152d9c44 100644 |
55 | --- a/auth.c | 55 | --- a/auth.c |
56 | +++ b/auth.c | 56 | +++ b/auth.c |
57 | @@ -474,8 +474,7 @@ check_key_in_hostfiles(struct passwd *pw, struct sshkey *key, const char *host, | 57 | @@ -474,8 +474,7 @@ check_key_in_hostfiles(struct passwd *pw, struct sshkey *key, const char *host, |
@@ -65,10 +65,10 @@ 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); |
67 | diff --git a/misc.c b/misc.c | 67 | diff --git a/misc.c b/misc.c |
68 | index 554ceb0b1..75fe4dfea 100644 | 68 | index 4623b5755..c75a795c2 100644 |
69 | --- a/misc.c | 69 | --- a/misc.c |
70 | +++ b/misc.c | 70 | +++ b/misc.c |
71 | @@ -61,8 +61,9 @@ | 71 | @@ -55,8 +55,9 @@ |
72 | #include <netdb.h> | 72 | #include <netdb.h> |
73 | #ifdef HAVE_PATHS_H | 73 | #ifdef HAVE_PATHS_H |
74 | # include <paths.h> | 74 | # include <paths.h> |
@@ -79,8 +79,8 @@ index 554ceb0b1..75fe4dfea 100644 | |||
79 | #ifdef SSH_TUN_OPENBSD | 79 | #ifdef SSH_TUN_OPENBSD |
80 | #include <net/if.h> | 80 | #include <net/if.h> |
81 | #endif | 81 | #endif |
82 | @@ -1124,6 +1125,55 @@ percent_expand(const char *string, ...) | 82 | @@ -1271,6 +1272,55 @@ percent_dollar_expand(const char *string, ...) |
83 | #undef EXPAND_MAX_KEYS | 83 | return ret; |
84 | } | 84 | } |
85 | 85 | ||
86 | +int | 86 | +int |
@@ -135,7 +135,7 @@ index 554ceb0b1..75fe4dfea 100644 | |||
135 | int | 135 | int |
136 | tun_open(int tun, int mode, char **ifname) | 136 | tun_open(int tun, int mode, char **ifname) |
137 | { | 137 | { |
138 | @@ -1909,8 +1959,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir, | 138 | @@ -2056,8 +2106,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir, |
139 | snprintf(err, errlen, "%s is not a regular file", buf); | 139 | snprintf(err, errlen, "%s is not a regular file", buf); |
140 | return -1; | 140 | return -1; |
141 | } | 141 | } |
@@ -145,7 +145,7 @@ index 554ceb0b1..75fe4dfea 100644 | |||
145 | snprintf(err, errlen, "bad ownership or modes for file %s", | 145 | snprintf(err, errlen, "bad ownership or modes for file %s", |
146 | buf); | 146 | buf); |
147 | return -1; | 147 | return -1; |
148 | @@ -1925,8 +1974,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir, | 148 | @@ -2072,8 +2121,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir, |
149 | strlcpy(buf, cp, sizeof(buf)); | 149 | strlcpy(buf, cp, sizeof(buf)); |
150 | 150 | ||
151 | if (stat(buf, &st) == -1 || | 151 | if (stat(buf, &st) == -1 || |
@@ -156,10 +156,10 @@ index 554ceb0b1..75fe4dfea 100644 | |||
156 | "bad ownership or modes for directory %s", buf); | 156 | "bad ownership or modes for directory %s", buf); |
157 | return -1; | 157 | return -1; |
158 | diff --git a/misc.h b/misc.h | 158 | diff --git a/misc.h b/misc.h |
159 | index 4a05db2da..5db594b91 100644 | 159 | index ab94a79c0..b34c798e7 100644 |
160 | --- a/misc.h | 160 | --- a/misc.h |
161 | +++ b/misc.h | 161 | +++ b/misc.h |
162 | @@ -188,6 +188,8 @@ struct notifier_ctx *notify_start(int, const char *, ...) | 162 | @@ -192,6 +192,8 @@ struct notifier_ctx *notify_start(int, const char *, ...) |
163 | __attribute__((format(printf, 2, 3))); | 163 | __attribute__((format(printf, 2, 3))); |
164 | void notify_complete(struct notifier_ctx *); | 164 | void notify_complete(struct notifier_ctx *); |
165 | 165 | ||
@@ -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)) |
171 | diff --git a/readconf.c b/readconf.c | 171 | diff --git a/readconf.c b/readconf.c |
172 | index 431243193..5bf0afbb4 100644 | 172 | index 3d0a812b3..f4f273c96 100644 |
173 | --- a/readconf.c | 173 | --- a/readconf.c |
174 | +++ b/readconf.c | 174 | +++ b/readconf.c |
175 | @@ -1926,8 +1926,7 @@ read_config_file_depth(const char *filename, struct passwd *pw, | 175 | @@ -1967,8 +1967,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 431243193..5bf0afbb4 100644 | |||
183 | } | 183 | } |
184 | 184 | ||
185 | diff --git a/ssh.1 b/ssh.1 | 185 | diff --git a/ssh.1 b/ssh.1 |
186 | index 7a3ba31ab..a80be8efe 100644 | 186 | index be8e964f0..5d613076c 100644 |
187 | --- a/ssh.1 | 187 | --- a/ssh.1 |
188 | +++ b/ssh.1 | 188 | +++ b/ssh.1 |
189 | @@ -1509,6 +1509,8 @@ The file format and configuration options are described in | 189 | @@ -1528,6 +1528,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 7a3ba31ab..a80be8efe 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 |
198 | diff --git a/ssh_config.5 b/ssh_config.5 | 198 | diff --git a/ssh_config.5 b/ssh_config.5 |
199 | index 85ab7447f..d814147d4 100644 | 199 | index 3ceb800ba..190e1d927 100644 |
200 | --- a/ssh_config.5 | 200 | --- a/ssh_config.5 |
201 | +++ b/ssh_config.5 | 201 | +++ b/ssh_config.5 |
202 | @@ -1957,6 +1957,8 @@ The format of this file is described above. | 202 | @@ -2010,6 +2010,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. |
@@ -829,10 +829,6 @@ struct winsize { | |||
829 | # define getgroups(a,b) ((a)==0 && (b)==NULL ? NGROUPS_MAX : getgroups((a),(b))) | 829 | # define getgroups(a,b) ((a)==0 && (b)==NULL ? NGROUPS_MAX : getgroups((a),(b))) |
830 | #endif | 830 | #endif |
831 | 831 | ||
832 | #if defined(HAVE_MMAP) && defined(BROKEN_MMAP) | ||
833 | # undef HAVE_MMAP | ||
834 | #endif | ||
835 | |||
836 | #ifndef IOV_MAX | 832 | #ifndef IOV_MAX |
837 | # if defined(_XOPEN_IOV_MAX) | 833 | # if defined(_XOPEN_IOV_MAX) |
838 | # define IOV_MAX _XOPEN_IOV_MAX | 834 | # define IOV_MAX _XOPEN_IOV_MAX |
diff --git a/hostfile.c b/hostfile.c index a4a355972..936d8c9be 100644 --- a/hostfile.c +++ b/hostfile.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: hostfile.c,v 1.79 2020/03/06 18:25:12 markus Exp $ */ | 1 | /* $OpenBSD: hostfile.c,v 1.82 2020/06/26 05:42:16 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 |
@@ -57,6 +57,7 @@ | |||
57 | #include "hostfile.h" | 57 | #include "hostfile.h" |
58 | #include "log.h" | 58 | #include "log.h" |
59 | #include "misc.h" | 59 | #include "misc.h" |
60 | #include "pathnames.h" | ||
60 | #include "ssherr.h" | 61 | #include "ssherr.h" |
61 | #include "digest.h" | 62 | #include "digest.h" |
62 | #include "hmac.h" | 63 | #include "hmac.h" |
@@ -406,6 +407,18 @@ lookup_key_in_hostkeys_by_type(struct hostkeys *hostkeys, int keytype, | |||
406 | found) == HOST_FOUND); | 407 | found) == HOST_FOUND); |
407 | } | 408 | } |
408 | 409 | ||
410 | int | ||
411 | lookup_marker_in_hostkeys(struct hostkeys *hostkeys, int want_marker) | ||
412 | { | ||
413 | u_int i; | ||
414 | |||
415 | for (i = 0; i < hostkeys->num_entries; i++) { | ||
416 | if (hostkeys->entries[i].marker == (HostkeyMarker)want_marker) | ||
417 | return 1; | ||
418 | } | ||
419 | return 0; | ||
420 | } | ||
421 | |||
409 | static int | 422 | static int |
410 | write_host_entry(FILE *f, const char *host, const char *ip, | 423 | write_host_entry(FILE *f, const char *host, const char *ip, |
411 | const struct sshkey *key, int store_hash) | 424 | const struct sshkey *key, int store_hash) |
@@ -438,6 +451,44 @@ write_host_entry(FILE *f, const char *host, const char *ip, | |||
438 | } | 451 | } |
439 | 452 | ||
440 | /* | 453 | /* |
454 | * Create user ~/.ssh directory if it doesn't exist and we want to write to it. | ||
455 | * If notify is set, a message will be emitted if the directory is created. | ||
456 | */ | ||
457 | void | ||
458 | hostfile_create_user_ssh_dir(const char *filename, int notify) | ||
459 | { | ||
460 | char *dotsshdir = NULL, *p; | ||
461 | size_t len; | ||
462 | struct stat st; | ||
463 | |||
464 | if ((p = strrchr(filename, '/')) == NULL) | ||
465 | return; | ||
466 | len = p - filename; | ||
467 | dotsshdir = tilde_expand_filename("~/" _PATH_SSH_USER_DIR, getuid()); | ||
468 | if (strlen(dotsshdir) > len || strncmp(filename, dotsshdir, len) != 0) | ||
469 | goto out; /* not ~/.ssh prefixed */ | ||
470 | if (stat(dotsshdir, &st) == 0) | ||
471 | goto out; /* dir already exists */ | ||
472 | else if (errno != ENOENT) | ||
473 | error("Could not stat %s: %s", dotsshdir, strerror(errno)); | ||
474 | else { | ||
475 | #ifdef WITH_SELINUX | ||
476 | ssh_selinux_setfscreatecon(dotsshdir); | ||
477 | #endif | ||
478 | if (mkdir(dotsshdir, 0700) == -1) | ||
479 | error("Could not create directory '%.200s' (%s).", | ||
480 | dotsshdir, strerror(errno)); | ||
481 | else if (notify) | ||
482 | logit("Created directory '%s'.", dotsshdir); | ||
483 | #ifdef WITH_SELINUX | ||
484 | ssh_selinux_setfscreatecon(NULL); | ||
485 | #endif | ||
486 | } | ||
487 | out: | ||
488 | free(dotsshdir); | ||
489 | } | ||
490 | |||
491 | /* | ||
441 | * Appends an entry to the host file. Returns false if the entry could not | 492 | * Appends an entry to the host file. Returns false if the entry could not |
442 | * be appended. | 493 | * be appended. |
443 | */ | 494 | */ |
@@ -450,6 +501,7 @@ add_host_to_hostfile(const char *filename, const char *host, | |||
450 | 501 | ||
451 | if (key == NULL) | 502 | if (key == NULL) |
452 | return 1; /* XXX ? */ | 503 | return 1; /* XXX ? */ |
504 | hostfile_create_user_ssh_dir(filename, 0); | ||
453 | f = fopen(filename, "a"); | 505 | f = fopen(filename, "a"); |
454 | if (!f) | 506 | if (!f) |
455 | return 0; | 507 | return 0; |
diff --git a/hostfile.h b/hostfile.h index bd2104373..de8b677e3 100644 --- a/hostfile.h +++ b/hostfile.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: hostfile.h,v 1.24 2015/02/16 22:08:57 djm Exp $ */ | 1 | /* $OpenBSD: hostfile.h,v 1.26 2020/06/26 05:02:03 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -39,6 +39,7 @@ HostStatus check_key_in_hostkeys(struct hostkeys *, struct sshkey *, | |||
39 | const struct hostkey_entry **); | 39 | const struct hostkey_entry **); |
40 | int lookup_key_in_hostkeys_by_type(struct hostkeys *, int, | 40 | int lookup_key_in_hostkeys_by_type(struct hostkeys *, int, |
41 | const struct hostkey_entry **); | 41 | const struct hostkey_entry **); |
42 | int lookup_marker_in_hostkeys(struct hostkeys *, int); | ||
42 | 43 | ||
43 | int hostfile_read_key(char **, u_int *, struct sshkey *); | 44 | int hostfile_read_key(char **, u_int *, struct sshkey *); |
44 | int add_host_to_hostfile(const char *, const char *, | 45 | int add_host_to_hostfile(const char *, const char *, |
@@ -105,4 +106,6 @@ typedef int hostkeys_foreach_fn(struct hostkey_foreach_line *l, void *ctx); | |||
105 | int hostkeys_foreach(const char *path, hostkeys_foreach_fn *callback, void *ctx, | 106 | int hostkeys_foreach(const char *path, hostkeys_foreach_fn *callback, void *ctx, |
106 | const char *host, const char *ip, u_int options); | 107 | const char *host, const char *ip, u_int options); |
107 | 108 | ||
109 | void hostfile_create_user_ssh_dir(const char *, int); | ||
110 | |||
108 | #endif | 111 | #endif |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kex.c,v 1.158 2020/03/13 04:01:56 djm Exp $ */ | 1 | /* $OpenBSD: kex.c,v 1.159 2020/07/05 23:59:45 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 | * |
@@ -281,7 +281,7 @@ kex_assemble_names(char **listp, const char *def, const char *all) | |||
281 | list = tmp; | 281 | list = tmp; |
282 | } else if (*list == '-') { | 282 | } else if (*list == '-') { |
283 | /* Remove names from default list */ | 283 | /* Remove names from default list */ |
284 | if ((*listp = match_filter_blacklist(def, list + 1)) == NULL) { | 284 | if ((*listp = match_filter_denylist(def, list + 1)) == NULL) { |
285 | r = SSH_ERR_ALLOC_FAIL; | 285 | r = SSH_ERR_ALLOC_FAIL; |
286 | goto fail; | 286 | goto fail; |
287 | } | 287 | } |
@@ -318,7 +318,7 @@ kex_assemble_names(char **listp, const char *def, const char *all) | |||
318 | goto fail; | 318 | goto fail; |
319 | } | 319 | } |
320 | free(matching); | 320 | free(matching); |
321 | if ((matching = match_filter_whitelist(all, cp)) == NULL) { | 321 | if ((matching = match_filter_allowlist(all, cp)) == NULL) { |
322 | r = SSH_ERR_ALLOC_FAIL; | 322 | r = SSH_ERR_ALLOC_FAIL; |
323 | goto fail; | 323 | goto fail; |
324 | } | 324 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexdh.c,v 1.32 2019/01/21 10:40:11 djm Exp $ */ | 1 | /* $OpenBSD: kexdh.c,v 1.33 2020/05/08 05:13:14 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2019 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -42,6 +42,7 @@ | |||
42 | #include "digest.h" | 42 | #include "digest.h" |
43 | #include "ssherr.h" | 43 | #include "ssherr.h" |
44 | #include "dh.h" | 44 | #include "dh.h" |
45 | #include "log.h" | ||
45 | 46 | ||
46 | int | 47 | int |
47 | kex_dh_keygen(struct kex *kex) | 48 | kex_dh_keygen(struct kex *kex) |
@@ -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.50 2020/04/03 05:48:57 djm Exp $ */ | 17 | /* $OpenBSD: krl.c,v 1.51 2020/08/27 01:06:18 djm Exp $ */ |
18 | 18 | ||
19 | #include "includes.h" | 19 | #include "includes.h" |
20 | 20 | ||
@@ -812,9 +812,10 @@ ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf, | |||
812 | if ((r = sshbuf_put_u8(buf, KRL_SECTION_SIGNATURE)) != 0 || | 812 | if ((r = sshbuf_put_u8(buf, KRL_SECTION_SIGNATURE)) != 0 || |
813 | (r = sshkey_puts(sign_keys[i], buf)) != 0) | 813 | (r = sshkey_puts(sign_keys[i], buf)) != 0) |
814 | goto out; | 814 | goto out; |
815 | 815 | /* XXX support sk-* keys */ | |
816 | if ((r = sshkey_sign(sign_keys[i], &sblob, &slen, | 816 | if ((r = sshkey_sign(sign_keys[i], &sblob, &slen, |
817 | sshbuf_ptr(buf), sshbuf_len(buf), NULL, NULL, 0)) != 0) | 817 | sshbuf_ptr(buf), sshbuf_len(buf), NULL, NULL, |
818 | NULL, 0)) != 0) | ||
818 | goto out; | 819 | goto out; |
819 | KRL_DBG(("%s: signature sig len %zu", __func__, slen)); | 820 | KRL_DBG(("%s: signature sig len %zu", __func__, slen)); |
820 | if ((r = sshbuf_put_string(buf, sblob, slen)) != 0) | 821 | if ((r = sshbuf_put_string(buf, sblob, slen)) != 0) |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: log.c,v 1.51 2018/07/27 12:03:17 markus Exp $ */ | 1 | /* $OpenBSD: log.c,v 1.52 2020/07/03 06:46:41 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 |
@@ -371,6 +371,14 @@ log_redirect_stderr_to(const char *logfile) | |||
371 | { | 371 | { |
372 | int fd; | 372 | int fd; |
373 | 373 | ||
374 | if (logfile == NULL) { | ||
375 | if (log_stderr_fd != STDERR_FILENO) { | ||
376 | close(log_stderr_fd); | ||
377 | log_stderr_fd = STDERR_FILENO; | ||
378 | } | ||
379 | return; | ||
380 | } | ||
381 | |||
374 | if ((fd = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0600)) == -1) { | 382 | if ((fd = open(logfile, O_WRONLY|O_CREAT|O_APPEND, 0600)) == -1) { |
375 | fprintf(stderr, "Couldn't open logfile %s: %s\n", logfile, | 383 | fprintf(stderr, "Couldn't open logfile %s: %s\n", logfile, |
376 | strerror(errno)); | 384 | strerror(errno)); |
diff --git a/loginrec.c b/loginrec.c index e5289deb8..ea058fd6f 100644 --- a/loginrec.c +++ b/loginrec.c | |||
@@ -778,6 +778,9 @@ construct_utmpx(struct logininfo *li, struct utmpx *utx) | |||
778 | strncpy(utx->ut_host, li->hostname, | 778 | strncpy(utx->ut_host, li->hostname, |
779 | MIN_SIZEOF(utx->ut_host, li->hostname)); | 779 | MIN_SIZEOF(utx->ut_host, li->hostname)); |
780 | # endif | 780 | # endif |
781 | # ifdef HAVE_SS_IN_UTMPX | ||
782 | utx->ut_ss = li->hostaddr.sa_storage; | ||
783 | # endif | ||
781 | # ifdef HAVE_ADDR_IN_UTMPX | 784 | # ifdef HAVE_ADDR_IN_UTMPX |
782 | /* this is just a 32-bit IP address */ | 785 | /* this is just a 32-bit IP address */ |
783 | if (li->hostaddr.sa.sa_family == AF_INET) | 786 | if (li->hostaddr.sa.sa_family == AF_INET) |
diff --git a/m4/openssh.m4 b/m4/openssh.m4 new file mode 100644 index 000000000..6a49f10fa --- /dev/null +++ b/m4/openssh.m4 | |||
@@ -0,0 +1,199 @@ | |||
1 | dnl OpenSSH-specific autoconf macros | ||
2 | dnl | ||
3 | |||
4 | dnl OSSH_CHECK_CFLAG_COMPILE(check_flag[, define_flag]) | ||
5 | dnl Check that $CC accepts a flag 'check_flag'. If it is supported append | ||
6 | dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append | ||
7 | dnl 'check_flag'. | ||
8 | AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{ | ||
9 | AC_MSG_CHECKING([if $CC supports compile flag $1]) | ||
10 | saved_CFLAGS="$CFLAGS" | ||
11 | CFLAGS="$CFLAGS $WERROR $1" | ||
12 | _define_flag="$2" | ||
13 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
14 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ | ||
15 | #include <stdlib.h> | ||
16 | #include <stdio.h> | ||
17 | int main(int argc, char **argv) { | ||
18 | (void)argv; | ||
19 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
20 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
21 | float l = i * 2.1; | ||
22 | double m = l / 0.5; | ||
23 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
24 | printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o); | ||
25 | /* | ||
26 | * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does | ||
27 | * not understand comments and we don't use the "fallthrough" attribute | ||
28 | * that it's looking for. | ||
29 | */ | ||
30 | switch(i){ | ||
31 | case 0: j += i; | ||
32 | /* FALLTHROUGH */ | ||
33 | default: j += k; | ||
34 | } | ||
35 | exit(0); | ||
36 | } | ||
37 | ]])], | ||
38 | [ | ||
39 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
40 | then | ||
41 | AC_MSG_RESULT([no]) | ||
42 | CFLAGS="$saved_CFLAGS" | ||
43 | else | ||
44 | AC_MSG_RESULT([yes]) | ||
45 | CFLAGS="$saved_CFLAGS $_define_flag" | ||
46 | fi], | ||
47 | [ AC_MSG_RESULT([no]) | ||
48 | CFLAGS="$saved_CFLAGS" ] | ||
49 | ) | ||
50 | }]) | ||
51 | |||
52 | dnl OSSH_CHECK_CFLAG_LINK(check_flag[, define_flag]) | ||
53 | dnl Check that $CC accepts a flag 'check_flag'. If it is supported append | ||
54 | dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append | ||
55 | dnl 'check_flag'. | ||
56 | AC_DEFUN([OSSH_CHECK_CFLAG_LINK], [{ | ||
57 | AC_MSG_CHECKING([if $CC supports compile flag $1 and linking succeeds]) | ||
58 | saved_CFLAGS="$CFLAGS" | ||
59 | CFLAGS="$CFLAGS $WERROR $1" | ||
60 | _define_flag="$2" | ||
61 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
62 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | ||
63 | #include <stdlib.h> | ||
64 | #include <stdio.h> | ||
65 | int main(int argc, char **argv) { | ||
66 | (void)argv; | ||
67 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
68 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
69 | float l = i * 2.1; | ||
70 | double m = l / 0.5; | ||
71 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
72 | long long int p = n * o; | ||
73 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
74 | exit(0); | ||
75 | } | ||
76 | ]])], | ||
77 | [ | ||
78 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
79 | then | ||
80 | AC_MSG_RESULT([no]) | ||
81 | CFLAGS="$saved_CFLAGS" | ||
82 | else | ||
83 | AC_MSG_RESULT([yes]) | ||
84 | CFLAGS="$saved_CFLAGS $_define_flag" | ||
85 | fi], | ||
86 | [ AC_MSG_RESULT([no]) | ||
87 | CFLAGS="$saved_CFLAGS" ] | ||
88 | ) | ||
89 | }]) | ||
90 | |||
91 | dnl OSSH_CHECK_LDFLAG_LINK(check_flag[, define_flag]) | ||
92 | dnl Check that $LD accepts a flag 'check_flag'. If it is supported append | ||
93 | dnl 'define_flag' to $LDFLAGS. If 'define_flag' is not specified, then append | ||
94 | dnl 'check_flag'. | ||
95 | AC_DEFUN([OSSH_CHECK_LDFLAG_LINK], [{ | ||
96 | AC_MSG_CHECKING([if $LD supports link flag $1]) | ||
97 | saved_LDFLAGS="$LDFLAGS" | ||
98 | LDFLAGS="$LDFLAGS $WERROR $1" | ||
99 | _define_flag="$2" | ||
100 | test "x$_define_flag" = "x" && _define_flag="$1" | ||
101 | AC_LINK_IFELSE([AC_LANG_SOURCE([[ | ||
102 | #include <stdlib.h> | ||
103 | #include <stdio.h> | ||
104 | int main(int argc, char **argv) { | ||
105 | (void)argv; | ||
106 | /* Some math to catch -ftrapv problems in the toolchain */ | ||
107 | int i = 123 * argc, j = 456 + argc, k = 789 - argc; | ||
108 | float l = i * 2.1; | ||
109 | double m = l / 0.5; | ||
110 | long long int n = argc * 12345LL, o = 12345LL * (long long int)argc; | ||
111 | long long p = n * o; | ||
112 | printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p); | ||
113 | exit(0); | ||
114 | } | ||
115 | ]])], | ||
116 | [ | ||
117 | if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null | ||
118 | then | ||
119 | AC_MSG_RESULT([no]) | ||
120 | LDFLAGS="$saved_LDFLAGS" | ||
121 | else | ||
122 | AC_MSG_RESULT([yes]) | ||
123 | LDFLAGS="$saved_LDFLAGS $_define_flag" | ||
124 | fi ], | ||
125 | [ AC_MSG_RESULT([no]) | ||
126 | LDFLAGS="$saved_LDFLAGS" ] | ||
127 | ) | ||
128 | }]) | ||
129 | |||
130 | dnl OSSH_CHECK_HEADER_FOR_FIELD(field, header, symbol) | ||
131 | dnl Does AC_EGREP_HEADER on 'header' for the string 'field' | ||
132 | dnl If found, set 'symbol' to be defined. Cache the result. | ||
133 | dnl TODO: This is not foolproof, better to compile and read from there | ||
134 | AC_DEFUN([OSSH_CHECK_HEADER_FOR_FIELD], [ | ||
135 | # look for field '$1' in header '$2' | ||
136 | dnl This strips characters illegal to m4 from the header filename | ||
137 | ossh_safe=`echo "$2" | sed 'y%./+-%__p_%'` | ||
138 | dnl | ||
139 | ossh_varname="ossh_cv_$ossh_safe""_has_"$1 | ||
140 | AC_MSG_CHECKING(for $1 field in $2) | ||
141 | AC_CACHE_VAL($ossh_varname, [ | ||
142 | AC_EGREP_HEADER($1, $2, [ dnl | ||
143 | eval "$ossh_varname=yes" dnl | ||
144 | ], [ dnl | ||
145 | eval "$ossh_varname=no" dnl | ||
146 | ]) dnl | ||
147 | ]) | ||
148 | ossh_result=`eval 'echo $'"$ossh_varname"` | ||
149 | if test -n "`echo $ossh_varname`"; then | ||
150 | AC_MSG_RESULT($ossh_result) | ||
151 | if test "x$ossh_result" = "xyes"; then | ||
152 | AC_DEFINE($3, 1, [Define if you have $1 in $2]) | ||
153 | fi | ||
154 | else | ||
155 | AC_MSG_RESULT(no) | ||
156 | fi | ||
157 | ]) | ||
158 | |||
159 | dnl Check for socklen_t: historically on BSD it is an int, and in | ||
160 | dnl POSIX 1g it is a type of its own, but some platforms use different | ||
161 | dnl types for the argument to getsockopt, getpeername, etc. So we | ||
162 | dnl have to test to find something that will work. | ||
163 | AC_DEFUN([TYPE_SOCKLEN_T], | ||
164 | [ | ||
165 | AC_CHECK_TYPE([socklen_t], ,[ | ||
166 | AC_MSG_CHECKING([for socklen_t equivalent]) | ||
167 | AC_CACHE_VAL([curl_cv_socklen_t_equiv], | ||
168 | [ | ||
169 | # Systems have either "struct sockaddr *" or | ||
170 | # "void *" as the second argument to getpeername | ||
171 | curl_cv_socklen_t_equiv= | ||
172 | for arg2 in "struct sockaddr" void; do | ||
173 | for t in int size_t unsigned long "unsigned long"; do | ||
174 | AC_TRY_COMPILE([ | ||
175 | #include <sys/types.h> | ||
176 | #include <sys/socket.h> | ||
177 | |||
178 | int getpeername (int, $arg2 *, $t *); | ||
179 | ],[ | ||
180 | $t len; | ||
181 | getpeername(0,0,&len); | ||
182 | ],[ | ||
183 | curl_cv_socklen_t_equiv="$t" | ||
184 | break | ||
185 | ]) | ||
186 | done | ||
187 | done | ||
188 | |||
189 | if test "x$curl_cv_socklen_t_equiv" = x; then | ||
190 | AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) | ||
191 | fi | ||
192 | ]) | ||
193 | AC_MSG_RESULT($curl_cv_socklen_t_equiv) | ||
194 | AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, | ||
195 | [type to use in place of socklen_t if not defined])], | ||
196 | [#include <sys/types.h> | ||
197 | #include <sys/socket.h>]) | ||
198 | ]) | ||
199 | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: match.c,v 1.41 2019/11/13 04:47:52 deraadt Exp $ */ | 1 | /* $OpenBSD: match.c,v 1.42 2020/07/05 23:59:45 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 |
@@ -309,13 +309,13 @@ match_list(const char *client, const char *server, u_int *next) | |||
309 | 309 | ||
310 | /* | 310 | /* |
311 | * Filter proposal using pattern-list filter. | 311 | * Filter proposal using pattern-list filter. |
312 | * "blacklist" determines sense of filter: | 312 | * "denylist" determines sense of filter: |
313 | * non-zero indicates that items matching filter should be excluded. | 313 | * non-zero indicates that items matching filter should be excluded. |
314 | * zero indicates that only items matching filter should be included. | 314 | * zero indicates that only items matching filter should be included. |
315 | * returns NULL on allocation error, otherwise caller must free result. | 315 | * returns NULL on allocation error, otherwise caller must free result. |
316 | */ | 316 | */ |
317 | static char * | 317 | static char * |
318 | filter_list(const char *proposal, const char *filter, int blacklist) | 318 | filter_list(const char *proposal, const char *filter, int denylist) |
319 | { | 319 | { |
320 | size_t len = strlen(proposal) + 1; | 320 | size_t len = strlen(proposal) + 1; |
321 | char *fix_prop = malloc(len); | 321 | char *fix_prop = malloc(len); |
@@ -333,7 +333,7 @@ filter_list(const char *proposal, const char *filter, int blacklist) | |||
333 | *fix_prop = '\0'; | 333 | *fix_prop = '\0'; |
334 | while ((cp = strsep(&tmp, ",")) != NULL) { | 334 | while ((cp = strsep(&tmp, ",")) != NULL) { |
335 | r = match_pattern_list(cp, filter, 0); | 335 | r = match_pattern_list(cp, filter, 0); |
336 | if ((blacklist && r != 1) || (!blacklist && r == 1)) { | 336 | if ((denylist && r != 1) || (!denylist && r == 1)) { |
337 | if (*fix_prop != '\0') | 337 | if (*fix_prop != '\0') |
338 | strlcat(fix_prop, ",", len); | 338 | strlcat(fix_prop, ",", len); |
339 | strlcat(fix_prop, cp, len); | 339 | strlcat(fix_prop, cp, len); |
@@ -348,7 +348,7 @@ filter_list(const char *proposal, const char *filter, int blacklist) | |||
348 | * the 'filter' pattern list. Caller must free returned string. | 348 | * the 'filter' pattern list. Caller must free returned string. |
349 | */ | 349 | */ |
350 | char * | 350 | char * |
351 | match_filter_blacklist(const char *proposal, const char *filter) | 351 | match_filter_denylist(const char *proposal, const char *filter) |
352 | { | 352 | { |
353 | return filter_list(proposal, filter, 1); | 353 | return filter_list(proposal, filter, 1); |
354 | } | 354 | } |
@@ -358,7 +358,7 @@ match_filter_blacklist(const char *proposal, const char *filter) | |||
358 | * the 'filter' pattern list. Caller must free returned string. | 358 | * the 'filter' pattern list. Caller must free returned string. |
359 | */ | 359 | */ |
360 | char * | 360 | char * |
361 | match_filter_whitelist(const char *proposal, const char *filter) | 361 | match_filter_allowlist(const char *proposal, const char *filter) |
362 | { | 362 | { |
363 | return filter_list(proposal, filter, 0); | 363 | return filter_list(proposal, filter, 0); |
364 | } | 364 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: match.h,v 1.19 2019/03/06 22:14:23 dtucker Exp $ */ | 1 | /* $OpenBSD: match.h,v 1.20 2020/07/05 23:59:45 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -21,8 +21,8 @@ int match_hostname(const char *, const char *); | |||
21 | int match_host_and_ip(const char *, const char *, const char *); | 21 | int match_host_and_ip(const char *, const char *, const char *); |
22 | int match_user(const char *, const char *, const char *, const char *); | 22 | int match_user(const char *, const char *, const char *, const char *); |
23 | char *match_list(const char *, const char *, u_int *); | 23 | char *match_list(const char *, const char *, u_int *); |
24 | char *match_filter_blacklist(const char *, const char *); | 24 | char *match_filter_denylist(const char *, const char *); |
25 | char *match_filter_whitelist(const char *, const char *); | 25 | char *match_filter_allowlist(const char *, const char *); |
26 | 26 | ||
27 | /* addrmatch.c */ | 27 | /* addrmatch.c */ |
28 | int addr_match_list(const char *, const char *); | 28 | int addr_match_list(const char *, const char *); |
@@ -1,29 +1,23 @@ | |||
1 | /* $OpenBSD: misc.c,v 1.147 2020/04/25 06:59:36 dtucker Exp $ */ | 1 | /* $OpenBSD: misc.c,v 1.153 2020/06/26 05:16:38 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) 2005,2006 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2005-2020 Damien Miller. All rights reserved. |
5 | * Copyright (c) 2004 Henning Brauer <henning@openbsd.org> | ||
5 | * | 6 | * |
6 | * Redistribution and use in source and binary forms, with or without | 7 | * Permission to use, copy, modify, and distribute this software for any |
7 | * modification, are permitted provided that the following conditions | 8 | * purpose with or without fee is hereby granted, provided that the above |
8 | * are met: | 9 | * copyright notice and this permission notice appear in all copies. |
9 | * 1. Redistributions of source code must retain the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer. | ||
11 | * 2. Redistributions in binary form must reproduce the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer in the | ||
13 | * documentation and/or other materials provided with the distribution. | ||
14 | * | 10 | * |
15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | 11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | 12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | 13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
18 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | 14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | 15 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 16 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 17 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | */ | 18 | */ |
26 | 19 | ||
20 | |||
27 | #include "includes.h" | 21 | #include "includes.h" |
28 | 22 | ||
29 | #include <sys/types.h> | 23 | #include <sys/types.h> |
@@ -260,7 +254,7 @@ waitfd(int fd, int *timeoutp, short events) | |||
260 | errno = oerrno; | 254 | errno = oerrno; |
261 | if (r > 0) | 255 | if (r > 0) |
262 | return 0; | 256 | return 0; |
263 | else if (r == -1 && errno != EAGAIN) | 257 | else if (r == -1 && errno != EAGAIN && errno != EINTR) |
264 | return -1; | 258 | return -1; |
265 | else if (r == 0) | 259 | else if (r == 0) |
266 | break; | 260 | break; |
@@ -299,12 +293,17 @@ timeout_connect(int sockfd, const struct sockaddr *serv_addr, | |||
299 | return connect(sockfd, serv_addr, addrlen); | 293 | return connect(sockfd, serv_addr, addrlen); |
300 | 294 | ||
301 | set_nonblock(sockfd); | 295 | set_nonblock(sockfd); |
302 | if (connect(sockfd, serv_addr, addrlen) == 0) { | 296 | for (;;) { |
303 | /* Succeeded already? */ | 297 | if (connect(sockfd, serv_addr, addrlen) == 0) { |
304 | unset_nonblock(sockfd); | 298 | /* Succeeded already? */ |
305 | return 0; | 299 | unset_nonblock(sockfd); |
306 | } else if (errno != EINPROGRESS) | 300 | return 0; |
307 | return -1; | 301 | } else if (errno == EINTR) |
302 | continue; | ||
303 | else if (errno != EINPROGRESS) | ||
304 | return -1; | ||
305 | break; | ||
306 | } | ||
308 | 307 | ||
309 | if (waitfd(sockfd, timeoutp, POLLIN | POLLOUT) == -1) | 308 | if (waitfd(sockfd, timeoutp, POLLIN | POLLOUT) == -1) |
310 | return -1; | 309 | return -1; |
@@ -494,7 +493,7 @@ a2tun(const char *s, int *remote) | |||
494 | long | 493 | long |
495 | convtime(const char *s) | 494 | convtime(const char *s) |
496 | { | 495 | { |
497 | long total, secs, multiplier = 1; | 496 | long total, secs, multiplier; |
498 | const char *p; | 497 | const char *p; |
499 | char *endp; | 498 | char *endp; |
500 | 499 | ||
@@ -512,6 +511,7 @@ convtime(const char *s) | |||
512 | secs < 0) | 511 | secs < 0) |
513 | return -1; | 512 | return -1; |
514 | 513 | ||
514 | multiplier = 1; | ||
515 | switch (*endp++) { | 515 | switch (*endp++) { |
516 | case '\0': | 516 | case '\0': |
517 | endp--; | 517 | endp--; |
@@ -552,6 +552,43 @@ convtime(const char *s) | |||
552 | return total; | 552 | return total; |
553 | } | 553 | } |
554 | 554 | ||
555 | #define TF_BUFS 8 | ||
556 | #define TF_LEN 9 | ||
557 | |||
558 | const char * | ||
559 | fmt_timeframe(time_t t) | ||
560 | { | ||
561 | char *buf; | ||
562 | static char tfbuf[TF_BUFS][TF_LEN]; /* ring buffer */ | ||
563 | static int idx = 0; | ||
564 | unsigned int sec, min, hrs, day; | ||
565 | unsigned long long week; | ||
566 | |||
567 | buf = tfbuf[idx++]; | ||
568 | if (idx == TF_BUFS) | ||
569 | idx = 0; | ||
570 | |||
571 | week = t; | ||
572 | |||
573 | sec = week % 60; | ||
574 | week /= 60; | ||
575 | min = week % 60; | ||
576 | week /= 60; | ||
577 | hrs = week % 24; | ||
578 | week /= 24; | ||
579 | day = week % 7; | ||
580 | week /= 7; | ||
581 | |||
582 | if (week > 0) | ||
583 | snprintf(buf, TF_LEN, "%02lluw%01ud%02uh", week, day, hrs); | ||
584 | else if (day > 0) | ||
585 | snprintf(buf, TF_LEN, "%01ud%02uh%02um", day, hrs, min); | ||
586 | else | ||
587 | snprintf(buf, TF_LEN, "%02u:%02u:%02u", hrs, min, sec); | ||
588 | |||
589 | return (buf); | ||
590 | } | ||
591 | |||
555 | /* | 592 | /* |
556 | * Returns a standardized host+port identifier string. | 593 | * Returns a standardized host+port identifier string. |
557 | * Caller must free returned string. | 594 | * Caller must free returned string. |
@@ -1053,45 +1090,90 @@ tilde_expand_filename(const char *filename, uid_t uid) | |||
1053 | } | 1090 | } |
1054 | 1091 | ||
1055 | /* | 1092 | /* |
1056 | * Expand a string with a set of %[char] escapes. A number of escapes may be | 1093 | * Expand a string with a set of %[char] escapes and/or ${ENVIRONMENT} |
1057 | * specified as (char *escape_chars, char *replacement) pairs. The list must | 1094 | * substitutions. A number of escapes may be specified as |
1058 | * be terminated by a NULL escape_char. Returns replaced string in memory | 1095 | * (char *escape_chars, char *replacement) pairs. The list must be terminated |
1059 | * allocated by xmalloc. | 1096 | * by a NULL escape_char. Returns replaced string in memory allocated by |
1097 | * xmalloc which the caller must free. | ||
1060 | */ | 1098 | */ |
1061 | char * | 1099 | static char * |
1062 | percent_expand(const char *string, ...) | 1100 | vdollar_percent_expand(int *parseerror, int dollar, int percent, |
1101 | const char *string, va_list ap) | ||
1063 | { | 1102 | { |
1064 | #define EXPAND_MAX_KEYS 16 | 1103 | #define EXPAND_MAX_KEYS 16 |
1065 | u_int num_keys, i; | 1104 | u_int num_keys = 0, i; |
1066 | struct { | 1105 | struct { |
1067 | const char *key; | 1106 | const char *key; |
1068 | const char *repl; | 1107 | const char *repl; |
1069 | } keys[EXPAND_MAX_KEYS]; | 1108 | } keys[EXPAND_MAX_KEYS]; |
1070 | struct sshbuf *buf; | 1109 | struct sshbuf *buf; |
1071 | va_list ap; | 1110 | int r, missingvar = 0; |
1072 | int r; | 1111 | char *ret = NULL, *var, *varend, *val; |
1073 | char *ret; | 1112 | size_t len; |
1074 | 1113 | ||
1075 | if ((buf = sshbuf_new()) == NULL) | 1114 | if ((buf = sshbuf_new()) == NULL) |
1076 | fatal("%s: sshbuf_new failed", __func__); | 1115 | fatal("%s: sshbuf_new failed", __func__); |
1077 | 1116 | if (parseerror == NULL) | |
1078 | /* Gather keys */ | 1117 | fatal("%s: null parseerror arg", __func__); |
1079 | va_start(ap, string); | 1118 | *parseerror = 1; |
1080 | for (num_keys = 0; num_keys < EXPAND_MAX_KEYS; num_keys++) { | 1119 | |
1081 | keys[num_keys].key = va_arg(ap, char *); | 1120 | /* Gather keys if we're doing percent expansion. */ |
1082 | if (keys[num_keys].key == NULL) | 1121 | if (percent) { |
1083 | break; | 1122 | for (num_keys = 0; num_keys < EXPAND_MAX_KEYS; num_keys++) { |
1084 | keys[num_keys].repl = va_arg(ap, char *); | 1123 | keys[num_keys].key = va_arg(ap, char *); |
1085 | if (keys[num_keys].repl == NULL) | 1124 | if (keys[num_keys].key == NULL) |
1086 | fatal("%s: NULL replacement", __func__); | 1125 | break; |
1126 | keys[num_keys].repl = va_arg(ap, char *); | ||
1127 | if (keys[num_keys].repl == NULL) | ||
1128 | fatal("%s: NULL replacement for token %s", __func__, keys[num_keys].key); | ||
1129 | } | ||
1130 | if (num_keys == EXPAND_MAX_KEYS && va_arg(ap, char *) != NULL) | ||
1131 | fatal("%s: too many keys", __func__); | ||
1132 | if (num_keys == 0) | ||
1133 | fatal("%s: percent expansion without token list", | ||
1134 | __func__); | ||
1087 | } | 1135 | } |
1088 | if (num_keys == EXPAND_MAX_KEYS && va_arg(ap, char *) != NULL) | ||
1089 | fatal("%s: too many keys", __func__); | ||
1090 | va_end(ap); | ||
1091 | 1136 | ||
1092 | /* Expand string */ | 1137 | /* Expand string */ |
1093 | for (i = 0; *string != '\0'; string++) { | 1138 | for (i = 0; *string != '\0'; string++) { |
1094 | if (*string != '%') { | 1139 | /* Optionally process ${ENVIRONMENT} expansions. */ |
1140 | if (dollar && string[0] == '$' && string[1] == '{') { | ||
1141 | string += 2; /* skip over '${' */ | ||
1142 | if ((varend = strchr(string, '}')) == NULL) { | ||
1143 | error("%s: environment variable '%s' missing " | ||
1144 | "closing '}'", __func__, string); | ||
1145 | goto out; | ||
1146 | } | ||
1147 | len = varend - string; | ||
1148 | if (len == 0) { | ||
1149 | error("%s: zero-length environment variable", | ||
1150 | __func__); | ||
1151 | goto out; | ||
1152 | } | ||
1153 | var = xmalloc(len + 1); | ||
1154 | (void)strlcpy(var, string, len + 1); | ||
1155 | if ((val = getenv(var)) == NULL) { | ||
1156 | error("%s: env var ${%s} has no value", | ||
1157 | __func__, var); | ||
1158 | missingvar = 1; | ||
1159 | } else { | ||
1160 | debug3("%s: expand ${%s} -> '%s'", __func__, | ||
1161 | var, val); | ||
1162 | if ((r = sshbuf_put(buf, val, strlen(val))) !=0) | ||
1163 | fatal("%s: sshbuf_put: %s", __func__, | ||
1164 | ssh_err(r)); | ||
1165 | } | ||
1166 | free(var); | ||
1167 | string += len; | ||
1168 | continue; | ||
1169 | } | ||
1170 | |||
1171 | /* | ||
1172 | * Process percent expansions if we have a list of TOKENs. | ||
1173 | * If we're not doing percent expansion everything just gets | ||
1174 | * appended here. | ||
1175 | */ | ||
1176 | if (*string != '%' || !percent) { | ||
1095 | append: | 1177 | append: |
1096 | if ((r = sshbuf_put_u8(buf, *string)) != 0) { | 1178 | if ((r = sshbuf_put_u8(buf, *string)) != 0) { |
1097 | fatal("%s: sshbuf_put_u8: %s", | 1179 | fatal("%s: sshbuf_put_u8: %s", |
@@ -1103,8 +1185,10 @@ percent_expand(const char *string, ...) | |||
1103 | /* %% case */ | 1185 | /* %% case */ |
1104 | if (*string == '%') | 1186 | if (*string == '%') |
1105 | goto append; | 1187 | goto append; |
1106 | if (*string == '\0') | 1188 | if (*string == '\0') { |
1107 | fatal("%s: invalid format", __func__); | 1189 | error("%s: invalid format", __func__); |
1190 | goto out; | ||
1191 | } | ||
1108 | for (i = 0; i < num_keys; i++) { | 1192 | for (i = 0; i < num_keys; i++) { |
1109 | if (strchr(keys[i].key, *string) != NULL) { | 1193 | if (strchr(keys[i].key, *string) != NULL) { |
1110 | if ((r = sshbuf_put(buf, keys[i].repl, | 1194 | if ((r = sshbuf_put(buf, keys[i].repl, |
@@ -1115,16 +1199,79 @@ percent_expand(const char *string, ...) | |||
1115 | break; | 1199 | break; |
1116 | } | 1200 | } |
1117 | } | 1201 | } |
1118 | if (i >= num_keys) | 1202 | if (i >= num_keys) { |
1119 | fatal("%s: unknown key %%%c", __func__, *string); | 1203 | error("%s: unknown key %%%c", __func__, *string); |
1204 | goto out; | ||
1205 | } | ||
1120 | } | 1206 | } |
1121 | if ((ret = sshbuf_dup_string(buf)) == NULL) | 1207 | if (!missingvar && (ret = sshbuf_dup_string(buf)) == NULL) |
1122 | fatal("%s: sshbuf_dup_string failed", __func__); | 1208 | fatal("%s: sshbuf_dup_string failed", __func__); |
1209 | *parseerror = 0; | ||
1210 | out: | ||
1123 | sshbuf_free(buf); | 1211 | sshbuf_free(buf); |
1124 | return ret; | 1212 | return *parseerror ? NULL : ret; |
1125 | #undef EXPAND_MAX_KEYS | 1213 | #undef EXPAND_MAX_KEYS |
1126 | } | 1214 | } |
1127 | 1215 | ||
1216 | /* | ||
1217 | * Expand only environment variables. | ||
1218 | * Note that although this function is variadic like the other similar | ||
1219 | * functions, any such arguments will be unused. | ||
1220 | */ | ||
1221 | |||
1222 | char * | ||
1223 | dollar_expand(int *parseerr, const char *string, ...) | ||
1224 | { | ||
1225 | char *ret; | ||
1226 | int err; | ||
1227 | va_list ap; | ||
1228 | |||
1229 | va_start(ap, string); | ||
1230 | ret = vdollar_percent_expand(&err, 1, 0, string, ap); | ||
1231 | va_end(ap); | ||
1232 | if (parseerr != NULL) | ||
1233 | *parseerr = err; | ||
1234 | return ret; | ||
1235 | } | ||
1236 | |||
1237 | /* | ||
1238 | * Returns expanded string or NULL if a specified environment variable is | ||
1239 | * not defined, or calls fatal if the string is invalid. | ||
1240 | */ | ||
1241 | char * | ||
1242 | percent_expand(const char *string, ...) | ||
1243 | { | ||
1244 | char *ret; | ||
1245 | int err; | ||
1246 | va_list ap; | ||
1247 | |||
1248 | va_start(ap, string); | ||
1249 | ret = vdollar_percent_expand(&err, 0, 1, string, ap); | ||
1250 | va_end(ap); | ||
1251 | if (err) | ||
1252 | fatal("%s failed", __func__); | ||
1253 | return ret; | ||
1254 | } | ||
1255 | |||
1256 | /* | ||
1257 | * Returns expanded string or NULL if a specified environment variable is | ||
1258 | * not defined, or calls fatal if the string is invalid. | ||
1259 | */ | ||
1260 | char * | ||
1261 | percent_dollar_expand(const char *string, ...) | ||
1262 | { | ||
1263 | char *ret; | ||
1264 | int err; | ||
1265 | va_list ap; | ||
1266 | |||
1267 | va_start(ap, string); | ||
1268 | ret = vdollar_percent_expand(&err, 1, 1, string, ap); | ||
1269 | va_end(ap); | ||
1270 | if (err) | ||
1271 | fatal("%s failed", __func__); | ||
1272 | return ret; | ||
1273 | } | ||
1274 | |||
1128 | int | 1275 | int |
1129 | secure_permissions(struct stat *st, uid_t uid) | 1276 | secure_permissions(struct stat *st, uid_t uid) |
1130 | { | 1277 | { |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: misc.h,v 1.84 2020/01/24 23:54:40 djm Exp $ */ | 1 | /* $OpenBSD: misc.h,v 1.87 2020/05/29 11:17:56 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -66,8 +66,12 @@ int parse_user_host_path(const char *, char **, char **, char **); | |||
66 | int parse_user_host_port(const char *, char **, char **, int *); | 66 | int parse_user_host_port(const char *, char **, char **, int *); |
67 | int parse_uri(const char *, const char *, char **, char **, int *, char **); | 67 | int parse_uri(const char *, const char *, char **, char **, int *, char **); |
68 | long convtime(const char *); | 68 | long convtime(const char *); |
69 | const char *fmt_timeframe(time_t t); | ||
69 | char *tilde_expand_filename(const char *, uid_t); | 70 | char *tilde_expand_filename(const char *, uid_t); |
71 | |||
72 | char *dollar_expand(int *, const char *string, ...); | ||
70 | char *percent_expand(const char *, ...) __attribute__((__sentinel__)); | 73 | char *percent_expand(const char *, ...) __attribute__((__sentinel__)); |
74 | char *percent_dollar_expand(const char *, ...) __attribute__((__sentinel__)); | ||
71 | char *tohex(const void *, size_t); | 75 | char *tohex(const void *, size_t); |
72 | void xextendf(char **s, const char *sep, const char *fmt, ...) | 76 | void xextendf(char **s, const char *sep, const char *fmt, ...) |
73 | __attribute__((__format__ (printf, 3, 4))) __attribute__((__nonnull__ (3))); | 77 | __attribute__((__format__ (printf, 3, 4))) __attribute__((__nonnull__ (3))); |
@@ -1,415 +1,454 @@ | |||
1 | # $OpenBSD: moduli,v 1.26 2020/02/20 05:41:50 dtucker Exp $ | 1 | # $OpenBSD: moduli,v 1.27 2020/06/03 08:23:16 dtucker Exp $ |
2 | # Time Type Tests Tries Size Generator Modulus | 2 | # Time Type Tests Tries Size Generator Modulus |
3 | 20191022074127 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C0FFE0C2D7 | 3 | 20200227022907 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A5D2A1AB |
4 | 20191022074138 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C0FFEE1D33 | 4 | 20200227023015 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A5E70AEB |
5 | 20191022074152 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1000302CF | 5 | 20200227023031 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A5FCC5F3 |
6 | 20191022074200 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10009CAA3 | 6 | 20200227023127 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A6503737 |
7 | 20191022074209 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1000E102F | 7 | 20200227023144 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A66A2FBB |
8 | 20191022074218 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10017AEC3 | 8 | 20200227023150 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A66D7443 |
9 | 20191022074224 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1001AC4BF | 9 | 20200227023222 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A69A79BF |
10 | 20191022074243 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10036E7A7 | 10 | 20200227023252 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A6CDB577 |
11 | 20191022074322 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100727D9F | 11 | 20200227023257 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A6CE48A7 |
12 | 20191022074342 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10091E09B | 12 | 20200227023317 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A6E457D3 |
13 | 20191022074428 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100DB96B3 | 13 | 20200227023359 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A70D7E23 |
14 | 20191022074435 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100E315C3 | 14 | 20200227023546 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A76B9A27 |
15 | 20191022074440 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100E4BB67 | 15 | 20200227023624 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A7957D9B |
16 | 20191022074450 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C100EFF477 | 16 | 20200227023645 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A7A54E7B |
17 | 20191022074526 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10125A5DB | 17 | 20200227023732 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A7AA8E03 |
18 | 20191022074629 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1019192BB | 18 | 20200227024118 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A83E307B |
19 | 20191022074654 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C101BD818B | 19 | 20200227024150 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A8735923 |
20 | 20191022074721 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C101E63DAF | 20 | 20200227024216 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A890B0C3 |
21 | 20191022074911 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102A7DFE7 | 21 | 20200227024317 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A8ECA377 |
22 | 20191022074915 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102A7EDF7 | 22 | 20200227024323 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A8F09443 |
23 | 20191022074926 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102B62DA3 | 23 | 20200227024339 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A9083FE3 |
24 | 20191022075007 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C102F7B693 | 24 | 20200227024354 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A91CBC2B |
25 | 20191022075045 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1033B1D1F | 25 | 20200227024401 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A92295AF |
26 | 20191022075211 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C103CDEA43 | 26 | 20200227024451 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A96B524F |
27 | 20191022075252 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10417630B | 27 | 20200227024519 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A9893C5F |
28 | 20191022075337 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10462BA5F | 28 | 20200227024616 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43A9DF0DE3 |
29 | 20191022075408 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C104906FA3 | 29 | 20200227024648 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AA1356E7 |
30 | 20191022075418 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1049C8563 | 30 | 20200227024719 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AA391F8F |
31 | 20191022075526 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10516447B | 31 | 20200227024740 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AA5A232B |
32 | 20191022075538 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105263DC3 | 32 | 20200227024759 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AA76C92F |
33 | 20191022075545 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1052B9CB3 | 33 | 20200227024841 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AAB2E483 |
34 | 20191022075648 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105985083 | 34 | 20200227024942 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AB0D731B |
35 | 20191022075711 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105B6F457 | 35 | 20200227024953 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AB1A9FE7 |
36 | 20191022075721 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C105C3BB0B | 36 | 20200227025000 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AB22AF6F |
37 | 20191022075832 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1064323B3 | 37 | 20200227025133 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43ABA90D27 |
38 | 20191022075846 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106578B1F | 38 | 20200227025147 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43ABBC77EB |
39 | 20191022075941 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106B58ADF | 39 | 20200227025251 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AC1EA27F |
40 | 20191022075955 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C106CA5743 | 40 | 20200227025455 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43ACE67607 |
41 | 20191022080041 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10715FF37 | 41 | 20200227025504 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43ACEC2507 |
42 | 20191022080105 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1073A7C3B | 42 | 20200227025617 2 6 100 2047 5 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AD55383F |
43 | 20191022080147 2 6 100 2047 5 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C10782FEF7 | 43 | 20200227025658 2 6 100 2047 2 E5137884F699D3C3A5C899C39CE0DF08A0DECD4DCC6DAD746BDB407C8320AC77CA92EFCDE8EE708B23789C26A9DF03A9C1383CB3B0F8CE764F223899197124958E6C82CFE52CDA5F9DFDF1B89AF0F006F175049BA9055D8A9B3A6603018F2B00AD4524A7F699A5210047C116087FB2C186194F4DC78C95568B9A95CD29B4BD6BC8D71FF5D520E238693B41481C66EEB53CE30995CEF4835138A6A998EF39C879B3E3939FBC6CA7D1BCFCE7BDE8A9AA5CB7E00B7CD7FA83B754275B231FD808BB11A52E493BBC7CF063C19220D47448FDD6F72A7CC5799B3FFEC10D75C6240B378CAB489C2D3AB7E66D6921F0A4441A1CC0F7269EAAF775E8B2F24A43AD9D09CB |
44 | 20191022080206 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1079A53A3 | 44 | 20200227025748 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD988C6223F |
45 | 20191022080212 2 6 100 2047 2 E854C2A5759DFE93314B4F76AA4E7A249192AD0B0C70B1E62F3E0B4A37D181C7D1A233312886ED675788CBBC2B384D16C0CA8E5DED996C54F68568F21D6A2333E189848A5271AC0CA6F3DAAAE469F98E1B5223CB4253653FA82242C4D29AD65E878EA91522C51CF98774952FDD9453406B4AB50A7CDFA97BB4650F601DEC496C5839F98CD774BC0F9B57581633771865F175F3D72EFAB15D377CAB2EFBD812D6F13FAD3181323BDBD95BF44703FF38225883FDF4A536DA17F8C3441459AF90528DDA015E85A978C0ABB4708407B9394C8DFB4B654348131E7EA91FCF853C44D055ADEEAE40486AF9E1724D55CA27F97F7563A82EA86B661ED02383C1079CA49B | 45 | 20200227025916 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD989456A23 |
46 | 20191022080437 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6254F1CC3 | 46 | 20200227025954 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98982F93B |
47 | 20191022080445 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6255528FF | 47 | 20200227030134 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98A1A5BD7 |
48 | 20191022080450 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625566D5F | 48 | 20200227030145 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98A276D4F |
49 | 20191022080507 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6256E3B7F | 49 | 20200227030156 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98A35BBCB |
50 | 20191022080516 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62573826F | 50 | 20200227030205 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98A3A766F |
51 | 20191022080529 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6258313D7 | 51 | 20200227030254 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98A8957DB |
52 | 20191022080539 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6258FAE9F | 52 | 20200227030322 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98AA57A4B |
53 | 20191022080552 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625A1898B | 53 | 20200227030336 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98AB5D4FB |
54 | 20191022080620 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625CCD3BB | 54 | 20200227030430 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98B0921AF |
55 | 20191022080644 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625F373DF | 55 | 20200227030443 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98B1ADA93 |
56 | 20191022080653 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC625FE7A37 | 56 | 20200227030556 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98B8D5E93 |
57 | 20191022080713 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62618F277 | 57 | 20200227030619 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98BA3DE33 |
58 | 20191022080742 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6264B5263 | 58 | 20200227030707 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98BF5B1FB |
59 | 20191022080848 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626BEAA8B | 59 | 20200227030728 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98C0DCC3B |
60 | 20191022080900 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626CD618F | 60 | 20200227030738 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98C19C5C3 |
61 | 20191022080911 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC626D33B5B | 61 | 20200227030750 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98C2994E7 |
62 | 20191022080939 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62703D917 | 62 | 20200227030837 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98C6D2993 |
63 | 20191022081024 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6273B779B | 63 | 20200227030928 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98CB6E833 |
64 | 20191022081034 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC627427EAB | 64 | 20200227031020 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98CFA7F73 |
65 | 20191022081413 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62802E907 | 65 | 20200227031051 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98D315F23 |
66 | 20191022081751 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628B7905F | 66 | 20200227031130 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98D61499F |
67 | 20191022081834 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628DBDDF3 | 67 | 20200227031151 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98D7FD90F |
68 | 20191022081843 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628DD29D3 | 68 | 20200227031214 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98D94476B |
69 | 20191022081901 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC628E650F7 | 69 | 20200227031250 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98DD00E53 |
70 | 20191022081950 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6290B1487 | 70 | 20200227031339 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98E1E199F |
71 | 20191022082140 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62959CDF7 | 71 | 20200227031416 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98E4B1F93 |
72 | 20191022082225 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC6297568D7 | 72 | 20200227031635 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98F2240D3 |
73 | 20191022082400 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC629B7AC1B | 73 | 20200227031653 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98F3EADE3 |
74 | 20191022082607 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A2EF923 | 74 | 20200227031817 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98FB2594B |
75 | 20191022082624 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A3A2537 | 75 | 20200227031826 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98FB9CA6F |
76 | 20191022082651 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A50145F | 76 | 20200227031845 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD98FD75E3F |
77 | 20191022082739 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62A77164B | 77 | 20200227031937 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD99022227B |
78 | 20191022082909 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62AD303A7 | 78 | 20200227031944 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD990262A33 |
79 | 20191022082923 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62AD5CF33 | 79 | 20200227031950 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD9902A81E3 |
80 | 20191022083101 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B343BEF | 80 | 20200227031955 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD9902AEB73 |
81 | 20191022083132 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B47F117 | 81 | 20200227032012 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD990348E1B |
82 | 20191022083152 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B53A7EB | 82 | 20200227032023 2 6 100 2047 5 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD9903B6057 |
83 | 20191022083332 2 6 100 2047 5 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62B9ED527 | 83 | 20200227032120 2 6 100 2047 2 C3A05E8BC687376881415BEB6C1506DA767E191DB4C5F4C587A839B341C2271B95F1B52E48C5CFF818CECB2E9BFBD3DB4B282B0D334A4992CF173E7A66B94D8B55F15CB610D5287917131C7CF4D966572EA2E0F1D6A89DFB54FB8B73B9B504D095446B8BA1C2EF49C8BC60D0074E3A25D1EC67FF95FD26D0A60CE0D692E32CB7326A8E5F698179DDE616D758DCB3F9F100623B23A3CF1699914515F5F97476AD124229CE5745A94417339C5D15F406A7D1A6D7BAB235E50D4A998DBD52B72347DB4870BD4D7CD1D5BE6E1D8E54381298791146FFACA089A066C9304067CA0CB8CF493C89EFAEA9836553F05187BA74DE1D7862392B43A94D439B3FD9908EA19B |
84 | 20191022083541 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62BFDF373 | 84 | 20200227032956 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA31DFAF3F |
85 | 20191022083653 2 6 100 2047 2 C66D2C1883042B443CFE0A10A9DE4F2120CB375E93A50CEF11ADD1B8F8ED9923BBE9E231DDC9F241621E6FC0DC320B783086E419F0D746394CECDE3E7AE09E87956DB1ED4E517A9661F6361EA745ECB5841BB8B7A12AA7ECE0CB262D6462AE527E1D4562DB853E712CAAC8971C17A3D4D3A98187A3E78A0FFBF46C94A4EAA09CD4E81973862E8DE4EC5A64ED78C4524300ED4727A365FFE41F5EF11325038F788DE6ECC6B93D77B6435F333AED77FFC5EE20D166E9766BCEFF7A0399601CAD4E1D746C59A5C0775375F76F2CC92F7222854A179902F3F324AC56996CC6AAA3612051EB7AF7EFB3F199FFD5A0661B6B8ECFB8E71C256DF5275B932FC62C3DC8A3 | 85 | 20200227033345 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3252345F |
86 | 20191022092407 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50A338107 | 86 | 20200227033438 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA32676B4F |
87 | 20191022094427 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50B5A745B | 87 | 20200227033631 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA32A2AF93 |
88 | 20191022095026 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50BB26CFB | 88 | 20200227033648 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA32A57513 |
89 | 20191022095757 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50C22C577 | 89 | 20200227033939 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA32FDB38B |
90 | 20191022100015 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50C3FB8DF | 90 | 20200227034338 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA337FBEBB |
91 | 20191022101519 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50D2350DB | 91 | 20200227034832 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA341DDB0F |
92 | 20191022102519 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50DB8BE5F | 92 | 20200227035633 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3531B9A3 |
93 | 20191022103601 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50E50FDAB | 93 | 20200227035941 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA359F1EBB |
94 | 20191022105902 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA50FDC58C3 | 94 | 20200227040026 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA35B2A26F |
95 | 20191022110723 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA510777B23 | 95 | 20200227040140 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA35D7858B |
96 | 20191022111301 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA510E968FF | 96 | 20200227040536 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA36567783 |
97 | 20191022111931 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51168241F | 97 | 20200227041037 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA36F6CA8F |
98 | 20191022112616 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA511E89D1F | 98 | 20200227041504 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3785E44F |
99 | 20191022115052 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA513DB748F | 99 | 20200227041915 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3808D25F |
100 | 20191022121302 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA515D683FB | 100 | 20200227042019 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3824C37F |
101 | 20191022121526 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160BAA4B | 101 | 20200227042213 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA385DC613 |
102 | 20191022121542 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160BED3B | 102 | 20200227042334 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA38849CEB |
103 | 20191022121601 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5160E3E63 | 103 | 20200227043140 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA39923EB3 |
104 | 20191022121811 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5164A2E73 | 104 | 20200227043516 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3A0635DB |
105 | 20191022122332 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517055113 | 105 | 20200227044359 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3B392D4F |
106 | 20191022122412 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517133383 | 106 | 20200227045601 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3CCCDC47 |
107 | 20191022122637 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517638283 | 107 | 20200227045738 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3CFCA5F3 |
108 | 20191022122836 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5179FD6A7 | 108 | 20200227045900 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3D24B39F |
109 | 20191022123100 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA517EAE913 | 109 | 20200227050201 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3D83C633 |
110 | 20191022123327 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5182B9D27 | 110 | 20200227050551 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3DFE5163 |
111 | 20191022123424 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA518407A6B | 111 | 20200227051236 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3ED9C2F7 |
112 | 20191022123511 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA5184FB45B | 112 | 20200227051737 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3F7F3323 |
113 | 20191022123600 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51863E15F | 113 | 20200227051844 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3FA0D7E7 |
114 | 20191022123622 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA518664AB7 | 114 | 20200227052045 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3FDE75DB |
115 | 20191022124625 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA519AC1C6B | 115 | 20200227052157 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA3FFFCD0B |
116 | 20191022124824 2 6 100 3071 5 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA519E8D89F | 116 | 20200227052559 2 6 100 3071 5 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA407E7607 |
117 | 20191022125143 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51A5644B3 | 117 | 20200227052656 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA40963EDB |
118 | 20191022125456 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51AC223CB | 118 | 20200227053254 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA415E3B2B |
119 | 20191022130231 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51BC05D9B | 119 | 20200227053802 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA4208CBCB |
120 | 20191022130435 2 6 100 3071 2 D00135D249B408C9C43A9853424ACA3EDF29C91A8760DB5CE2C29A213031753FCBF3A8892770E231C072CA20C6EE29FAD67E50456D8E08CEADB2741F25A802DB85BD3A1F2DDEA57736D8E19AFDE970D9C2345E6A0B734D296DA2773A565F509DF0C637A2611C59D93E22F88D1600FD6798D6251F8F6F6AD12654A7DF7DBD559F4BCF140BBCA454F23F75DDF40531DE17AE102D98E69CF4A027E5614C2ADB4E724F41EF72C6C54F5132379E53787F916D1164FF74EE411A513515F4BE5DC64712B0E786A690520BA4ACC7B4F95CDCF1D39F5D41D8725FA194AD1CDA0604F67FA4C30B342FF8334DF973090113EF54EC82BB7184356A5D076CCEE598FEEE728A9C6DAE101CF412CCCF320F430CF1754E10D24F876B11DF347DF662E58EAF1642D7D4ABDE5F097EF9C8EF567D33D11AA7F7C8DCC6E2BAA2702CF21832F33215A8B4D8CF5026FB71C4892B7D57F692EAB9463FE4BA79DCE00442BBD41F0E539BFDF58151B295B4B52C43EE071E0DB45EFBCF7C2402C2719283B2188A7BA51BFF7E23 | 120 | 20200227054020 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA424BC4CB |
121 | 20191022130821 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDF6A052B | 121 | 20200227054242 2 6 100 3071 2 DCBD1F34999D3EC980A7AEBD1943B18AFB4904E85DB641E8660A4AE3671C152EBB36BED44E5DA6D647F6232C29EE3FF3C20DFDB18D72B705E57F9B23636AF36E395D68651A0D223C816BF904E29134F49667D205B5EB03F613C24B65E386CB8EEE384AF41BDCF4373C885780C3AC2131584DF97F62A50C7E9169A52DC71B8D9F80FBFBEEC935C01D0375AD8BCA0E5C84A041D0BF80230D3AC15E09C2629326E59F70FAD8606BDFB3901284844D4C00155C48301F4E91384454852D47D2D0D992123E42130E6F1F45E429A4C52AFF03522B5C68307B4B1082E7868D8241D143A156C2E40F45A5E34C3D2397A91FF195C49DBABB490900238B6F5801B876EE1EC64D8E20F95C1F409F82D70C7C24DB5EEBACD6D56F0486E49DB009B859F2E757679D5499295783E1080C1369B373C481EA3295C9B8D46F8D10F29C50774959490DBD068D1A81BC118606BF8E58050B7F0D88929678D6A47FDAFE506D91FE5F61D4B2EC286CCF1AD616A875819C1BEE6536D24DAEB7DBAC87C2A7A771EA42946B7B |
122 | 20191022131106 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDFBF6B4B | 122 | 20200227054918 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46617A143 |
123 | 20191022131309 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EDFFDD323 | 123 | 20200227055927 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46766DBEB |
124 | 20191022131339 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE008716B | 124 | 20200227060242 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E467D1E903 |
125 | 20191022131426 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE01A5ECF | 125 | 20200227060411 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E467F9B8CF |
126 | 20191022131921 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE0BF992B | 126 | 20200227060700 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E468561F7B |
127 | 20191022132230 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE127F08F | 127 | 20200227060843 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46889B29F |
128 | 20191022132941 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE226E25B | 128 | 20200227061342 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E469324A4F |
129 | 20191022133745 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE33AB123 | 129 | 20200227061525 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46967398B |
130 | 20191022134534 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE44106F3 | 130 | 20200227061630 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E469871133 |
131 | 20191022134625 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE455482B | 131 | 20200227061736 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E469A5C023 |
132 | 20191022134720 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE46CCF9B | 132 | 20200227061919 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E469DFD25B |
133 | 20191022134822 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE489D84B | 133 | 20200227062156 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46A4225DB |
134 | 20191022135012 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE4C1DAE3 | 134 | 20200227062610 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46AE7835F |
135 | 20191022135216 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE5043D3B | 135 | 20200227062733 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46B158F5B |
136 | 20191022135757 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE57878BB | 136 | 20200227063025 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46B8351EB |
137 | 20191022140734 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE6BA655B | 137 | 20200227063206 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46BBA58CB |
138 | 20191022142332 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE8EAF59B | 138 | 20200227063226 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46BBEE61B |
139 | 20191022142420 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE8FD9DD7 | 139 | 20200227063414 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46BFF08A3 |
140 | 20191022142754 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE9733DBB | 140 | 20200227063436 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46C048EDB |
141 | 20191022142817 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE975F4B3 | 141 | 20200227063458 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46C0B9BA3 |
142 | 20191022142942 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EE9A37157 | 142 | 20200227064340 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46D585367 |
143 | 20191022144132 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB21454F | 143 | 20200227064522 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46D8D449B |
144 | 20191022144147 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB22B7DB | 144 | 20200227064747 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46DD850B3 |
145 | 20191022144244 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB38090B | 145 | 20200227064951 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46E17A897 |
146 | 20191022144542 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEB95B34B | 146 | 20200227065115 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46E41058F |
147 | 20191022145051 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEC40A7FF | 147 | 20200227070122 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46F9C7E5F |
148 | 20191022145134 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEC502BF3 | 148 | 20200227070147 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46FA4963F |
149 | 20191022145406 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EECA2580B | 149 | 20200227070247 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E46FC0F617 |
150 | 20191022145505 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EECBDBF73 | 150 | 20200227070844 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E470861EE3 |
151 | 20191022150136 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EED9F7463 | 151 | 20200227071233 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E471071DF3 |
152 | 20191022150745 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEE758BDB | 152 | 20200227072256 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E4726F3A13 |
153 | 20191022151026 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEECBE16B | 153 | 20200227072700 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E472F54A5B |
154 | 20191022151204 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEEFDA69B | 154 | 20200227073459 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E47401DC37 |
155 | 20191022151244 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF0D0497 | 155 | 20200227073831 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E474725CAF |
156 | 20191022151301 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF0FF43B | 156 | 20200227074056 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E474BE84D7 |
157 | 20191022151431 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF3CEEB3 | 157 | 20200227074215 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E474E1A47F |
158 | 20191022151535 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EEF5CB1A3 | 158 | 20200227074642 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E47575BDFB |
159 | 20191022152032 2 6 100 3071 5 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF00699A7 | 159 | 20200227074700 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E47579CADB |
160 | 20191022152057 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF00EFCAB | 160 | 20200227075116 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E4760314A7 |
161 | 20191022152637 2 6 100 3071 2 DF2C9C2AE196431BA2F72808B4B3BEE51B068BC569BB83E2E500DF23BB7A3034053999EC562CC1DD8064F2F026E557D069B42670BD4AEFB0ABD18C6BEF70FA0CDC33A59CA1B4E92576A87A81140834C7F8F6BB3BD3C0B1ABBC39E3F85348B097157EAB5115CDCE8A1274D3E95A1A77A0FF34C11ECBCC54C0B95F2A37FFDD00ECD37C74137358475F72FD37B6580DB272E469D382B7A22FBE9859E8C5CC42CCFE2E2E0EF51F90697E0CE7459FE037B8870CBE7C636160F98E6B3FD98EBADC5749E1DFFE5118C757886D668C4355018A78E76593A4268D5783507A31A12625DDE4DB30DF12233756F3690681E3E91BDB2BB4D36A6B1E77F23C7EC39B57582203E4FC4AFC2AAB33D10BC4A1EE6687A6524B9A0BA6ED3347764E880FBB6B645EF091E42567813FA31A97B39F185BFB303CEC2EAE412913351C926B3F14A5EAE1CEA771F333374DA7CF83D16C3048367B05432BEDC88DF66F92D8942ACED0E83E804B8CFE8A75BD9AB504D09B286EC7FB175A2A6DA848CD7AB3503877077EF0D0F343 | 161 | 20200227075407 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E4765B8EFB |
162 | 20191022162825 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813960B5FB | 162 | 20200227075829 2 6 100 3071 5 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E476EF083F |
163 | 20191022170230 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813B823183 | 163 | 20200227075857 2 6 100 3071 2 EAF378AA0E2C586E9556B81261F829EE5A8F5F5E6E7A2FC92544555E006535C9EDABC5553D5FE43E8DC0886AC3788355B7B7B8FB8EE5220404D022955DBB3C1CFEB9E3163F80DE6DBECA51E2F2AB680799E4227F29894FA0343483021CF475957D82EBAB1F9E270F681A28DF7E37DDA5398B1DE5E0613048B7C52C349BEF4F11A7455D2322589F593160B2AEF33286DE2C267E6C17FC027253BE1CB1254231F8AB2B1232D37E8E4374D00BAF10FB961F88CD80406AC44EBCC29DEB857BE1F400EB532FC49B575379E56593CE3B609D6A19FAF9751A9BB30CFF6C0B2892612BC313F5966741E913B97BF060B8320734BC5030A9A33110E15967D826BAAC7CB3A2E3A0B818FEF3410BF0D5230D1BC7EC86798DBCA14544AC5D956CB0B08888EACCD57D1E50C48D6511E9FF562F177E03ED08219169FDD999FA75595D67081EEC8192AF3855CADEA45B0122F042D03E0599834190F5C5A5E0B2C414A65AB21B91D32DBFDF02C247D6F085C6AC55114A62D1EC6BA06964FE5283226B37E476FA748B |
164 | 20191022173749 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D813DBE76FF | 164 | 20200227082813 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB741DABA73 |
165 | 20191022182715 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8140DADF3B | 165 | 20200227085254 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7435962FF |
166 | 20191022183421 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814147138B | 166 | 20200227085753 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB743A213E7 |
167 | 20191022184621 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142020493 | 167 | 20200227090042 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB743C75A03 |
168 | 20191022185705 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142A5D767 | 168 | 20200227090234 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB743DE5FFB |
169 | 20191022190031 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8142D4B05F | 169 | 20200227090848 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7443ADF5B |
170 | 20191022190457 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81431290D7 | 170 | 20200227093007 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7458D5F63 |
171 | 20191022190552 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814318C56F | 171 | 20200227094856 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB746B8906F |
172 | 20191022191638 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8143BDC2DB | 172 | 20200227101124 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7480F5003 |
173 | 20191022191758 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8143CAE497 | 173 | 20200227101730 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7486988BB |
174 | 20191022192300 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8144142F3F | 174 | 20200227103113 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74937A0CB |
175 | 20191022195622 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814632A81B | 175 | 20200227104420 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74A04F623 |
176 | 20191022195854 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8146547CD3 | 176 | 20200227104854 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74A45CB4F |
177 | 20191022200200 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81467EFE3F | 177 | 20200227110836 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74B74FEEB |
178 | 20191022205134 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81499F9BF3 | 178 | 20200227111613 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74BE3FB7F |
179 | 20191022211317 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814AF7C2DF | 179 | 20200227112749 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74C93FE2F |
180 | 20191022212155 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814B7B777F | 180 | 20200227114309 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74D83C6DF |
181 | 20191022213552 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814C560507 | 181 | 20200227115500 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74E39954B |
182 | 20191022215648 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814DA0CEEB | 182 | 20200227115811 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74E610523 |
183 | 20191022215902 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814DBD146B | 183 | 20200227115926 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74E6BF7B3 |
184 | 20191022221214 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814E8802CF | 184 | 20200227121313 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74F3A3303 |
185 | 20191022222728 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D814F6F35AB | 185 | 20200227121624 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74F621F43 |
186 | 20191022224558 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8150919C63 | 186 | 20200227121855 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB74F826A0B |
187 | 20191022224953 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8150C9F1CF | 187 | 20200227123033 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7502D388B |
188 | 20191022225735 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81513C4A13 | 188 | 20200227130625 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7525AE2F3 |
189 | 20191022234711 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81544BEA1B | 189 | 20200227135640 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB755543337 |
190 | 20191023000745 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81558FF6DB | 190 | 20200227140747 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB755FCE54B |
191 | 20191023002021 2 6 100 4095 2 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D81564FD2C3 | 191 | 20200227141645 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB756869BEF |
192 | 20191023002706 2 6 100 4095 5 CC199B2E429DD1809E193696BF0F2AB45FFC1E077B916F4E9E453876787A644C71CB859FC28B47CEA27D037E3B1F36EE8F5ACFB5D7315177F67A65CBCCB359E658120697DAFB3695C560A2693A7F1D7B22A1F8DF14987A2615D3E2E2C99232DDCF03F12248975CF039EE2DB522CEBC0391B6AA2CC7E45866DDC19D62E6A835C8347F6A447E6A6266DDFAD3197405E66C932E4A1213186F67F843E1962FD311F97062775E1FE9D0DE2525187275D01694AD66E670A40BA284BEE0FB7C64D1A79C2A18786E819FCF996631115EC212F37584F7203E6F0EE60C3963BF148A288D68B2800AF662CBBCDF8235A8DC206968ED54E3EB7C4D233C98804AE2A70DC47E995535F98C0DEBDBFDAFA8E532C6EB998925A0EEA652957973DC7643B1B5C66FF2D22C3205E96D67D1A67D2EBB9AAEC446A29EB0687550F78C18A398422EC07954B9A730FEDBAA0AD5ED90BB892C80A77AE5D27DA0DA0D3EC3075C10C86948F0B3D3DC2393673B226A3F6364DFF3D027B38BA51481461C1BF5F3C3FFBBEEADC882B5D0F4C5F59D977AB6E00A25066D8BF473481A1EA441A896D46C829DB1A489CB09FD9E1B1D09B4F1B854041583FAD18D6D303487DE1DC89D87F599920FA8EEDD4A3B64A520C3EC3AB670E93C89D0D43BC858FD991A78DDEBA72A5998DAD5AAE0123FF9E0F2E344C42E5581FFAAC36E54644B1AC1C021A7D6E9096D8156B28D27 | 192 | 20200227142156 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB756C91ECF |
193 | 20191023011355 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1460883F | 193 | 20200227143711 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75795756F |
194 | 20191023012442 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1509A3E3 | 194 | 20200227144742 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75832B00F |
195 | 20191023014214 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1620E157 | 195 | 20200227150218 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7590B9D1B |
196 | 20191023015245 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC16C48533 | 196 | 20200227150317 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75911AF63 |
197 | 20191023020841 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC17C54673 | 197 | 20200227153455 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75AFB3177 |
198 | 20191023021754 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1857058B | 198 | 20200227154347 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75B7E69BB |
199 | 20191023021829 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1857094B | 199 | 20200227154742 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75BB2636F |
200 | 20191023022432 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC18B12DFF | 200 | 20200227155533 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75C283F5F |
201 | 20191023030433 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1B390A47 | 201 | 20200227155629 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75C2FB09B |
202 | 20191023031027 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1B90EEA7 | 202 | 20200227161922 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75D8A8C4B |
203 | 20191023031756 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1C00CBAB | 203 | 20200227163034 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75E3342C7 |
204 | 20191023032601 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1C810F3B | 204 | 20200227163725 2 6 100 4095 5 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75E9424E7 |
205 | 20191023041220 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC1F6D731B | 205 | 20200227165111 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB75F623DC3 |
206 | 20191023044241 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2154D00B | 206 | 20200227170513 2 6 100 4095 2 DDFF38E32E0309D5459129AFA6C2F640C7125B85084C79BDD7042DA6E39D4A0DA4A671588016428ECAEC0F6BCC1A95E4B2BE518B7766CD0AC4674949D48B088492394DD9283C09D71CB4F4306E4CD27390575EBF2934E1C97AF880146F0D090DAB3AE1B679CF30AA52D307A8C64382C93F11AF73CAC171741A1C898CD79A680697D1A17A3D63F8C92A9C088E9E490D753D3A4811A8CAABEC2D80C62D66F56660995BC6D82BCCE18C4C6287B848F239C40467BB7EB3B7EB5489A7417D9DE8825FA86D16602AEF9BD3A523DB96B071C2BED3239B5C69AD772A39B18543F517F8BF49E6B5AE875A37E117010E8CA59947571DDC329FFD137998EC151B367525D0647001C4DADB2B95FBA9657A5619A0445E627EC6F71B4A3239E01ED76D85CBCAFFE92283E9408F770D9B8267DF5031C74C9F16CF43EB10881369DA46E692ACB2F94E9136FDA7FF58F54FFAD5749F79E5521D4358A0984AEC1B49C678FA6D6379905ABE4D245EBE854A09282945B4B62EDBDDF30954FBB9E40D751BBCD82ABE4BDC98274CB158F977802ED5E7F267A3F1EE0E6259215AD75798A6088D9AD6ACF4DF5DAA8474D1C8166AE244176D5AA2A7B2697C7C059DF78B07ACC2D47083F5058885E29FD9352243A5643C8237FBEF77F77AEEE32EC6455B4DB32A30ED02409FCBEF0C1C988876B0CBC85C89FA062824E1D35512E8C7731843CA7F6EB7602FCE73 |
207 | 20191023050540 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC22C34F7F | 207 | 20200227171514 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921518EE99203 |
208 | 20191023053137 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC24636123 | 208 | 20200227180811 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151924BA233 |
209 | 20191023054409 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC25224B73 | 209 | 20200227184341 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519490B137 |
210 | 20191023055524 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC25D1FFDB | 210 | 20200227184640 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215194B6E91B |
211 | 20191023060757 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2694C58B | 211 | 20200227185707 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215195546D0B |
212 | 20191023061045 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC26B834E3 | 212 | 20200227192438 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215196FF1A63 |
213 | 20191023061921 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2738F1C3 | 213 | 20200227192937 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215197470C5F |
214 | 20191023063046 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC27F1807B | 214 | 20200227193545 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215197A3CACB |
215 | 20191023070045 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC29CDC52B | 215 | 20200227193904 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB9215197CFA597 |
216 | 20191023071942 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2AFB0F2B | 216 | 20200227201541 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519A1D5807 |
217 | 20191023074553 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2C984AAB | 217 | 20200227201830 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519A3EDD33 |
218 | 20191023074939 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2CCC9613 | 218 | 20200227202555 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519AAFD1D3 |
219 | 20191023075554 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2D28BCCF | 219 | 20200227202936 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519AE21FCB |
220 | 20191023075639 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2D2BA71B | 220 | 20200227203051 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519AEDB593 |
221 | 20191023080618 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2DBACC87 | 221 | 20200227203917 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519B6FE6A3 |
222 | 20191023083736 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC2FAEE4A3 | 222 | 20200227205155 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519C3628EB |
223 | 20191023084930 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC30617C97 | 223 | 20200227210720 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519D1EC08B |
224 | 20191023085843 2 6 100 4095 2 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC30EE1283 | 224 | 20200227211425 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519D892927 |
225 | 20191023090057 2 6 100 4095 5 E742CC22AC8196AB705E8DB89387F5DBFB15A97C6B3E188CBD4C792BC874928A0148F33791BBFB4E82989EC1F4C5C4FBF002A329190728BFC02AAFD8218102045AF53F8650CAD3E6B98544A1567576B26AD72F6CEBC0F7CF15EB5A62D4678A0E4A0AE868F759BAA31EB27083AAE879248068FAD7FEDD7673689E4C22010278DF2EB37E9FAF353C5A66F0B5916A9812AC91B581B0428D5C9A8D4CEAEAE5B9D11BA3692EBDC9D86C56B0F44CC0771ED405915ED4253A19F58913CB84758666F7D533E2C52E07B06788EE3AA292C9EF6A6183411892166710781DD188F88BBEECE87F6F1CFBADC954D7061B9F0F5F2C6A7754498D868AE526C8F440D1BFAF8F70059A96760EECB594F9518DDCAC1478FAF387D0703A4A57D1A66701076FA15F4E7E9BC6B0407DA00FA1112B6BE13867669FB21F8D8241C11252ECC5F15816FBC447BC0DE3089629EC03B4F14B6D8C12EA1884379BED5C4B39BA1E3D07BC6C4B5295D4629B5E2503C4775B944D5F2617C4D95527E79EC7EA2CF7E116A1FF95EEFF00A79ABAC3D35524D7C64B8D4199381BFC9DEB3BFE19E0AEEE9B2B864FA74F8C478EE5B6693DD7B6F1E87066EEE9CC0E51F9999E0EC914D96BF86958F0ABFDB6EEA5BD347F6A91C6F4FCC4785E924C76979D0309DABA023B44E4AEA5439696F501D58ACE247D49865FAB169422CAA151DB57A5C4EFF392E56467702ECC31091E2F | 225 | 20200227211637 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519DA3F85B |
226 | 20191023150040 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44442FE9DE33 | 226 | 20200227212024 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519DD7AC4F |
227 | 20191023185353 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444434DA83FB | 227 | 20200227212617 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519E2E0AD3 |
228 | 20191023202543 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444436C35ABB | 228 | 20200227213638 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519ECA5D23 |
229 | 20191023212301 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444437F75207 | 229 | 20200227213802 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519ED8B3EB |
230 | 20191024004920 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443C4BC217 | 230 | 20200227215450 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB921519FDD53D3 |
231 | 20191024005456 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443C62147B | 231 | 20200227221218 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A0ECC74F |
232 | 20191024013830 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443D4436C7 | 232 | 20200227221341 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A0FA2D4B |
233 | 20191024020328 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443DC27DCB | 233 | 20200227222437 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A19ED9DB |
234 | 20191024022030 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44443E12DF8B | 234 | 20200227223018 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A1F0CA5F |
235 | 20191024041749 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444401CCD8B | 235 | 20200227223552 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A2441737 |
236 | 20191024071132 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444442526417 | 236 | 20200227224041 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A2876443 |
237 | 20191024071851 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444426F0F73 | 237 | 20200227225049 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A31D69A7 |
238 | 20191024093118 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444445307603 | 238 | 20200227225259 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A337A56F |
239 | 20191024095518 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444445A39BD3 | 239 | 20200227225746 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A37D3827 |
240 | 20191024150723 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444BF198DF | 240 | 20200227230135 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A3AF483F |
241 | 20191024180500 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444F817E93 | 241 | 20200227230918 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A41FC5AB |
242 | 20191024182834 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44444FF6FAA7 | 242 | 20200227232340 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A4FCC2DF |
243 | 20191024190019 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444450947417 | 243 | 20200227232424 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A4FEF907 |
244 | 20191024190629 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444450ACC83B | 244 | 20200228001546 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A82A356F |
245 | 20191024234818 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44445664815B | 245 | 20200228002300 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151A8959297 |
246 | 20191025002527 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444571ED7D7 | 246 | 20200228010138 2 6 100 4095 2 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151AAEFD82B |
247 | 20191025090114 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446188A3EB | 247 | 20200228010636 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151AB3B04D7 |
248 | 20191025105729 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444463CF6B53 | 248 | 20200228012037 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151AC0DBACF |
249 | 20191025125212 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446611F15B | 249 | 20200228022145 2 6 100 4095 5 C7D5773A9200CD53CB4C9244931BB61A711BA1EA3735C53C933074E733E2DAFBBC1F737A508EA82790EF95F7989A889A8FFBC707E9A88090ED5FBA0F485638CBAC547DE653E9D80D09E8795B68C70570547E49D611E08F9D47AEFC22AE8D81D8863CAC593896D4B126CA806247C2954360BDAB96247050BE8C3D7E39C3C2D5B0C74811B0AC00CB338A3F48F7A799F86C563DE5EDAF8BE8A6220106899315714214FBDC466B240833E37029585311F49D8837BCC48A07CA56B505A9D42F14363C3950AB9F768307C2B627FA8DE1263663C251706BFA2F23C5B85CEBC3AFA399FC791D20F1B94C5DFD3E78665FE6846C8E213136E8CA5A24930DAE9EFEBD54616BB3EA08E5FB9346098F42F1593A5D5F1E3B73FE184F5CD674BE7F0C46171E0F83268B3C231C9B552449FA882EAA67EFA52399A3867DFD17248CF52450523777260F4FFE155AE5838A4F883EA27DE00AECE89B984F185A795C34DD71F4F424F919D7F32D48F2FBC9FBE41E631E6443397AA5E75B6AAC98619A9241A8D162DCBFD8EB1056E8ED62A655A2D50FAA162EF86DA4DEA51ECB168193F1C34C558335D27EC393C6AA1B789A23BBC08781011B2FCB2A02A7C33632BB33D1D5FB72E5C9FE9BEDEA1FC4079638D7FD6FFD965CF01ADB026D4638CE0A0D20E47BA0D9AD72ED5136A562AE955374E2A80809076AD250D7E8F59854A820BA342FB92151AE028CF7 |
250 | 20191025133454 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E444466DDD74B | 250 | 20200228024919 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3C1F349A3 |
251 | 20191025164443 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446A87280B | 251 | 20200228034540 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3C283A14B |
252 | 20191025173652 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446B808D0F | 252 | 20200228094553 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3C9D8E343 |
253 | 20191025182518 2 6 100 6143 5 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446C72A18F | 253 | 20200228122045 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3CD2640CB |
254 | 20191025210336 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446F8C312B | 254 | 20200304105045 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D032E31F |
255 | 20191025210946 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44446FA296A3 | 255 | 20200304111455 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D0B6997B |
256 | 20191025213641 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E4444701DD76B | 256 | 20200304114010 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D140C2DF |
257 | 20191025214012 2 6 100 6143 2 F67B301557C55AD46F6DAA869BA8D47C6F0427967EA2FAA689023BE705A7BE78E0F15EF3CE6E1987046EB157869E4C7E9B8956C77298C890B27625010664B31A3C2D4108DF8C107452C5325FCF42D35352C5266216132537F79E9616490BB1DAA074F6FE115C99BF54BA7F1376DE63D03548B97DA359494AE445FF444A315672671FF890B4042CA45A76D1DCEA9F1B7805A6A041A0C7B034818030D63D48873A210A7F7BBDA29E2E659CC81FFDFA2C5DB73579A55DC72C97D81490D81E432222566C75B7951EFDFB69FE1411F6A5D3184D9506847EA5C4FDA3EB48A02ED763C1943A0CA01BC097DA347A1E7C0B2D2856E101EEC5718B7374148D9C31AEA79593C404A0D6F623A38C893B7D2A838DBF65DFCD08C4EE41F168928339CC53DD56D80606F865EB4A188F69AA6B4B7E8D66F87B76F75C420DD5CF015A46F6EDED8F173FCBF541AFC74615A2D088C366966F504B185AE363A5A61E327CDE1C95DEA36A4B371D92D757555FFDC51438254C94B4F0BC14D7F5C7B4214F704BDC4900E398A8EAC4A5AD3EDA128CEE6F7F480E79F4090AC08195B58EF86DAFA09B498BD8BCEE3D4E24A947DA115B1971725EE052502826583E92B86333D938A30D95C4C2DFBB29EB9092C282C86D2FA3D738BAE93B1A2A3A9A86E4693C5887577E5B6770928111BB4E4F58F9CA1845FEC6F92337C38483E6DBEA1C05986D7350D1C4CB9C5C5C4FF9B261C8F8B4A543071118A58B5AC46EBE92808B17C740B7EEF556F5258F576E50A3F2890BFBE4F29DE83A1984453D3E1CCCDB9E5C90846FC222682F51E1F3C12F51127A9B42F9F7B90C5DECC63F2C53DA5162B14BFB3ECC1D872D035EE58A3927766CCF3BF9A87B03B1E2FB87FE265B77B41FBD397B12BEAA86424D14440B5896E47A6867D054BDAC00C2DB7AB2BF882F07C7B6AC98CC9937E5ADA6AC48C65D5929E614CD71E72EA57EF5DC6B5BF464629A6A3DB4739AA760C059846C971E6C1AD7260622B450EBF395D2E4D0A554DCF3683A3AD6870838CE795435971B6D9380091F17470348F56E4E8E8EB660E60CB4F20BF89DB8B71E44447026470B | 257 | 20200304121904 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D2192573 |
258 | 20191026005042 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E05623363 | 258 | 20200304123148 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D25B4313 |
259 | 20191026075212 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E0E59DF2F | 259 | 20200304123330 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D25B8FE7 |
260 | 20191026134748 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E15C2570B | 260 | 20200304132134 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D363A65B |
261 | 20191026141044 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1634BA8F | 261 | 20200304153236 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D651690B |
262 | 20191026152621 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E17BF036F | 262 | 20200304170756 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D8694EF3 |
263 | 20191026153744 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E17F17297 | 263 | 20200304175528 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D96C51EF |
264 | 20191026161846 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E18BFBD0B | 264 | 20200304175824 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3D972E9E7 |
265 | 20191026183157 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1B69DDFB | 265 | 20200304192109 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3DB488D03 |
266 | 20191026183823 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1B80AE83 | 266 | 20200305083948 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E1E947A7 |
267 | 20191026184938 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1BAFB703 | 267 | 20200305094127 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E337E7CF |
268 | 20191026215453 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E1F57BDAB | 268 | 20200305112549 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E5787ED7 |
269 | 20191027005434 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E23020867 | 269 | 20200305114326 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E5CC07BB |
270 | 20191027042709 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E27606193 | 270 | 20200305125429 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E74D719B |
271 | 20191027062047 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E29A86A4F | 271 | 20200305133907 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E837E803 |
272 | 20191027071632 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2AC3EFB3 | 272 | 20200305143048 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E9457303 |
273 | 20191027092825 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2D67AD13 | 273 | 20200305145210 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3E9AE72AF |
274 | 20191027104355 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2EE2E4EF | 274 | 20200305151101 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3EA0B73AB |
275 | 20191027105052 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2EFD8C0F | 275 | 20200305173752 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3ED2976C3 |
276 | 20191027112952 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E2FC1013F | 276 | 20200305182017 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3EE08294F |
277 | 20191027134854 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E327D6FDB | 277 | 20200305183227 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3EE448B23 |
278 | 20191027141251 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E32EE5767 | 278 | 20200305205936 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3F16DF2CB |
279 | 20191027160720 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E352B49DB | 279 | 20200305230320 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3F412E2BB |
280 | 20191027164412 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E35E01D13 | 280 | 20200306003322 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3F5F45EB3 |
281 | 20191027165524 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E36100063 | 281 | 20200306005357 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3F65E4A6F |
282 | 20191027184917 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E382743F7 | 282 | 20200306052421 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3FC141813 |
283 | 20191027205847 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3A93CA6B | 283 | 20200306071740 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B3FE6DC957 |
284 | 20191027210626 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3AAFB96F | 284 | 20200306093244 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B4014328CB |
285 | 20191027211813 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3AE1DE63 | 285 | 20200306114315 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B403F2AAAF |
286 | 20191027213244 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3B21B0FF | 286 | 20200306115622 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B404300D27 |
287 | 20191027213714 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3B2E39F7 | 287 | 20200306115809 2 6 100 6143 5 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B40430C46F |
288 | 20191027221420 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3BD9058F | 288 | 20200306123631 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B404FB7883 |
289 | 20191028002356 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3E45B4B3 | 289 | 20200306155841 2 6 100 6143 2 F7E8D9659B6A380E77600433F564EB23739AF15BF41262D170EC8A14567AE58A0465E39314F019B721FE6F113293EF987DCB177ADD8B7C2E547D393B4873E903C4616BA56468A20ABBA70DCDE1E0B5AA01164D612A1996ECA5BF3E7EFF9D94D54066B56057AE148281B5CC663E6D2979FC8B0C1EE9885F58E944E3A28906BBF202A7DB476CA39AD7FF03D3471379305B798A43EE4DBADB53E5994519C2A799D6C52F1FEDD29C8316DA7190A1277702C04BF5DE331D013DD89C24BE50DEDFA9C5E017E873271FB2E270BD563B6F88391EF560307AE8AFEF8290E60FB57ADF3DE8B9062EA0DAC5CC7EE8900EB2F98023B8655CC5646BDF37C43B64EBEC8918E2BABDA6360C74CBBD6E6986B1E506544F7EEBBB275AF18E5A03E704EE4C5459248A23571F724E1DB11F801F2110A813E14DD524358B4F8B0029164C1640D58D6EDC820CA8A8D79C76106BC3CE8345423E640F2E945C24DF557E1203988C085CB62982AC65F567127289B1CD56961305143E5386BCC75454B3C4BB0870E522E38F8C008418897E25F47ED03CF7B10E40EB7CB0153CF6D22CFCD80734FF85266E63FFD3F09B64195C075B50D65F1E0CC73CE5369A6B0E7D4A05F5F4408EBADDB2C21F76A8FF8E800A828AB23089414A6F5DB04F38FD22EA3A4F77F31C35C55D22B38B76DF5C05E6886B8D88C7A014B2A23D4663978363A75C17B97F51BE8C6A55AA6432BE8FBD80220A99DBD897AC1A545690308C5FBED26D5A074CA38D03C5CE904C86DE6BC2B64B4B7E21EB0244FF37EEBB5873296B440B5059816A0E2BA9A7663B84C3ACB607909F4108249F9949FCBFF8FB242012ECFD26C931FB9BE3C93A524C623E41EBF29976B8594688A73CDC36F53B3FC3AB8EA1DEC8A8226DB05D2D90FA523EC62FF03BA659F5D1EB6D6250ECD3E70E06D3E3BD4CCDB78D31BE96F9B8AC679C7341F9E40A3B38727FEC13077393D30C5BE613262C1CCE0C85517CA32D56B4B41CB122DDB39DDFCE5292B2B887554D24616CD1E225D2A79BB6E6FCEB83E231A7DDF680E6A1E3C3E201AB45DA7261D3359434778459F643FA67B4091B35AB |
290 | 20191028005652 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3ED864BB | 290 | 20200306171429 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526BA783157 |
291 | 20191028014800 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E3FC45A63 | 291 | 20200306192708 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526BD730693 |
292 | 20191028021443 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E40396033 | 292 | 20200306193640 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526BDA39813 |
293 | 20191028041626 2 6 100 6143 2 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E42827263 | 293 | 20200306200518 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526BE4254B7 |
294 | 20191028054443 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E44349037 | 294 | 20200306224443 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526C1D59903 |
295 | 20191028102149 2 6 100 6143 5 CA8BE2F0F45FB0E6A14758704CB3E994D1CC39121A04E6441CD99BB5147478C39229902EF283CD0F2D7E51EA756E65DF0A2457307EADDDC7715A527708C8EE041DE44AFE8BBFED0C5C7130EF8B89E817469B9768C6C9016C6AF5CD9E6F8563A1837747B61D25872F44D8482C5986C5322ADC7CC68FC4EF025E2CEBB933E78CCBD70E4D223DA4F5F6683F2B7802088333A51F0CEDBA0D15D3B31637778A0F86BE61FDD1392F4CEA58DECFA99D5087F31B753180FBE456959CF7615FCE40B34D0C188B1011C15882B3F62AA4BA89B240B03F285AB0E8AF85C1AA68A127C567E9784B04CB2553AE64CD42BD90F234A86A6D75A2E4EE81343128C786F878C21F60BFDEC0620311448953945CA88637C98E475CF3195404FE19208D6629CCBD307B1B79222A9BCAD27953104E4AF38259A6C2136F82A3A29D339AADECCC09C02ABC0D42A3203CFE7894A1D3CDB5E9D5A7612845279E73D7CC6C7D4D54C2C0AE19C3D1E20354765954DCE9CF70F3CA106B3DEBA6BC882C2575297AA4B98C8E42D8FBD80DDE92F4BF375DD9238AE28337624BCFC76ACE419713B1F7F3CA35D4F9A5565FBC921890A7D652C91AE7E8DA2AD289CB6616BB0F7D3DB181DAA2833F329B38C8E85BA87E19C734C0B77855D89913FF6C527F758FFF3CF33BE405C5C64B1E57E0F4F7EF042B06D871F1AFA181E51ED505622E6FD466705756DE48C81BE86748E337F6A2032C35A88A364A258F39830998AACFF3FA1ADF5960D62FC3D8AFFEE1D7D812F0049EC558DCA9644ED0A7A8BFAB58C2238346F357F6D8649105FBD1C62EB6D3E59E6B3086AEE1BD4C950535303FCE17EB74B764F6D77DDCEF05BF931228DE728001136B56960482A757E3CE14B920BAC72B5C5280EE99BFD689A2439778482A2333979F82987B8C1CA01D894C22CB4321D80A09C164D24DDEA39021F2A6E465138862ECECC2451B83A9478C5728D5FBBDCE0233792B5A27BC7E3E723D12AF6D4A5F6561179D0B6EDD3225F3A80CA5B265672647AA0E4EFBC9DB202632E18B23D57B86AD545668A9B09791FEAF168EC99BAD63ACF8D29CFB4C3E48BF4367 | 295 | 20200307001909 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526C3EFBF1B |
296 | 20191028204729 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C56962C57 | 296 | 20200307015658 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526C6174D0F |
297 | 20191029074748 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C5E6F0DD7 | 297 | 20200307031316 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526C7C7F63B |
298 | 20191029104921 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C601D891B | 298 | 20200307045138 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526C9FD8D93 |
299 | 20191029115340 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C607A9FFB | 299 | 20200307095446 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D0AC7613 |
300 | 20191029123325 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C60BE442B | 300 | 20200307141219 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D6467463 |
301 | 20191029222629 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C677977AB | 301 | 20200307141549 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D65211FF |
302 | 20191030071819 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C6D9F6A8F | 302 | 20200307150658 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D7636293 |
303 | 20191030072920 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C6DB5BB43 | 303 | 20200307152317 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D7B5C68B |
304 | 20191030132209 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C71C9F707 | 304 | 20200307160123 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D8814873 |
305 | 20191031002135 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C794F4DFF | 305 | 20200307163910 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526D9511B93 |
306 | 20191031064758 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C7DA1F51F | 306 | 20200307211457 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526DF2AC807 |
307 | 20191031135153 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8253C3EB | 307 | 20200307221749 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526E0727157 |
308 | 20191031201815 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C869AF937 | 308 | 20200308011553 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526E440D17F |
309 | 20191101055219 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8B9A2CE7 | 309 | 20200308035011 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526E79AC177 |
310 | 20191101065855 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8BFA04D3 | 310 | 20200308050733 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526E93970AF |
311 | 20191101102927 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C8D496B7F | 311 | 20200308080136 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526ECED5C7B |
312 | 20191101162017 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C90C40057 | 312 | 20200308102232 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526EFDD20EB |
313 | 20191102073643 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077C993C9B5F | 313 | 20200308103627 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F01E61C3 |
314 | 20191103030038 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CA2EF80F3 | 314 | 20200308124828 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F2DFA4EF |
315 | 20191103040704 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CA394AF43 | 315 | 20200308152719 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F6336937 |
316 | 20191103144920 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CAA0B72CF | 316 | 20200308160131 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F6E350AB |
317 | 20191104025539 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB128D89F | 317 | 20200308164518 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F7C6DB3F |
318 | 20191104104258 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB5D65BBB | 318 | 20200308175233 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526F910C19B |
319 | 20191104110623 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB609F2DB | 319 | 20200308195051 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526FB70712F |
320 | 20191104113147 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB6451277 | 320 | 20200308200253 2 6 100 6143 5 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526FBA523E7 |
321 | 20191104123416 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CB6E19D8B | 321 | 20200308202652 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526FC156CA3 |
322 | 20191104181953 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBA5B05EB | 322 | 20200308203457 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526FC390FEB |
323 | 20191104182450 2 6 100 7679 2 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBA5E4023 | 323 | 20200308204237 2 6 100 6143 2 F3D69BF99011E14ADF3A48E2FE265E067E9E02590D657BD9B87EF896253C2D3E138DD0B1290D92C9E3897C64E6B5D68CC524F18F073D39A1DC53562764B08A71A10564F53CE21A7428EE3E9801773D4E427909A240AE149342F596C2EF87414DBC486DF52C9F4015FD6B6192B77E91590E85BEDD079D9A5C273ED2544352BF913F1824D15B7CE331B5895E7DABB1E932FE9416CCC087E911E0952AE243F1F2FD43C9FF8B294330ED47B38A400A89144A87E461EC6B561654D6D3B5036A412358D781C6AE935901E71C7051FCA3F4BB0049272AC9F1B43847ED0CCA1F8A4670D2378F1AE1338B00D107ED004FB86168512172360F2D40B8F6BFB9E3721A74F637C916AA434DA842009BF9ABE9CE7942A0394042E338C8E61A032440292472D2B3AF3CC5396C84F14DAC115400D3D2FE72E29DD6FC98968523167E853550F8AF4684E70FF48431950DA69958CB9D3D0A03821249739EB909A2E78EB80F651C0553598DD4345ED9F21436D7A49DFA774F15817980CFD72EEE4620BA713D6BF81A953BABE83F5E292A099F07749ECFF6E2258D48F239DD1D0951DE9C3AE22B00098A510FF5230C8CFFFC8B9BE76F1904A05649FD0766D94038ED4AB901433FEEA667D196B7E0242620C6895725DA782234CDA8D1BD49FA586BEB793D2CBB6D3DC8B8FC18992393CA84923FD17774C82EE67D46050910A8D3B823EB253B9A73DBF388DC91DA2A6F14E92D7DF58E2F7AE3D6DAEF74ACEF7B39F068D4E895E6D0020E84AC0095C0991D11F09E02DC024C22A41809898662B58DE47649736CA74F4AA0A2F2B8E09C3B154D1904B82337881030DD9699BD397BE9CD4DC152BD097F3078B69F47465C4B787232227E4F7966E021FBB3F974182022BC35C415BE677C96B08E1A7DD1C3810EF28AD6975730167365DD8335993F96529F36DE245736358E9F9360EB53494247E382496380A006F077F6A1B42F72ED63B7B22CA0D10A410194A2D714C974142E86DF6639BC37714564983322EF900F0E0CA785907DECF7C9557056E09DC242E10D69C3EB604BF96DC2BBE1F69203EF664EA68CD23526FC547E5B |
324 | 20191104230444 2 6 100 7679 5 F606CDE6712F7C0B69FF0872BAB21EBEAEA36BE53D9E03097D8FCE89594F90ECE8E7F1D6CF9D78821617B32D0D7EE46D8BE6EAB108638001AF1F99329DE3588362EA7677FF962ABC2E4B8CFEAB07C8C88774BE6DD9DD6178CFF6A93A51287903937C9E62F060DA0615DCCB8AFE87A19B185B5B85CC3D6821FAEB3D760AF97903A46B12294F2CDEACF50EC055D68FF2DF84EC8355C0D27565AA1CA5F8517E9ACCAFE804EEF55C63B1EAE4484F821A0B92B9E68EB8A894BBB168286BAD5CE14CC2554424585B15DD70D6CE9F63DAED7F902A818B0B1BC303BF059DF20A5D382610F06676243CA0D30C544F5DE34DC983EB51219B268BC0502423BFA9C03338790B480C61230CE1558D500061057F75DCA5E8509DA30A3BBD93CA0E3D88C8CE0B78FDD9E2BFF8F3CDBF7822859E95F9B0FB1F9AC9A89BD44BDFF8012595DF79639BB49A82410F9EC687B50C5456BEA8B477F7BE5027EBD2F3FE3CEA491DF200B7667EBFF889580E47E89DCC13B841BF958FE7575D8DA4BE8D4BF9EE9908A3C8A3F110E477BA188FE1AFDF611D2E0C8D733DABEE52AECC818530C6C92EE28E0CEEEAF2A984C89F7574B5BDE62FB29C4A232642B21BF5ACAF8D6385CFF2CD4B97C48CF5080229EA4EFCAA046787630A134726A7F89BC0AF4DBD09B9BDAC79CDFD8307D39188A59F9C7BB89B45DBFCF6B3AF44A7F3F2A770DB517F7999E4EBFE0FF6F63C91BA8444B666F2300101F91ADA39012DAA4E1E96C87F1F55CC4D663FC455F57E226C8A1A53720BE73B71ABC6DE64ED339A67F883648CC507DE479CE1ACED66FFFE06829861F40E681B333A1FC00EBFB64512ADB25593BFEF23494D70A70478454DEB92ECC86485288F3FF5DE146AA289C864AA55643F278A3E20DF06CC818AA4EBEE29347131087436C57F82693375B776C1EF5D30E637684DBD17EFE4BBBBF7C14DA4FE4BFC86150553D52792D08C2A5EE35916CCBB3C0718BDD3F631B2458DB029FE32644C190492F7167E9B776793FCA8FDAF35084087FADEBA654ECDC24EECADE28B0420A1152CEEAF14628EF69D516E6074D022AE1E3B9B5260C61978E03CFFD8B61087EDBD2A09C35AD250E3265D72D8B12B4F33F490B417118CDC531349C1EA65CE5FC69B712D4228BC39141C7D4871135157CFDA899ECA2AF93FD11DAC3C5F7E77A9FA6B51092FA5F19A2A087EF03F6D2BE7F669F8E1BE72884AA6581CD90CE74141C5B827B3EB04D1F157549B9807F1214A95D5F07FBD3E47A8413EE740071F456B3780CE2E4F48CC2E499A9B4CCBB4B3D363D1FD73AC4A32F83E673AA460A9CF140994664AF6029B0113F522D45CDBFB23EFA647077CBD2DEB3F | 324 | 20200309092747 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB469CBC603 |
325 | 20191105091836 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E0D0129FB | 325 | 20200309132310 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB46CBEF1B7 |
326 | 20191105100933 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E0D92A647 | 326 | 20200309170440 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB46F794A2F |
327 | 20191105234826 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E171AE8D3 | 327 | 20200309175340 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB47010DC3B |
328 | 20191106052238 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1AEC5E43 | 328 | 20200309202152 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB471DCF32F |
329 | 20191106071634 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1C312BF3 | 329 | 20200309224536 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB473A874CB |
330 | 20191106092936 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1DAE275B | 330 | 20200310025444 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB476C22A9B |
331 | 20191106120421 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1F6DBD13 | 331 | 20200310062019 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB479486FC7 |
332 | 20191106122445 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E1FA1E1AB | 332 | 20200310082852 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB47AD3C293 |
333 | 20191107014126 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E28AC4177 | 333 | 20200310111216 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB47CD0BD7B |
334 | 20191107144145 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E31696647 | 334 | 20200310180600 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB481D17503 |
335 | 20191107152955 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E31EAE00F | 335 | 20200311015151 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB486E03C8B |
336 | 20191107170414 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E32F54973 | 336 | 20200311023932 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB487717827 |
337 | 20191107235721 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E37818C57 | 337 | 20200311110336 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB48D9BBC13 |
338 | 20191108191832 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4357C06B | 338 | 20200311182436 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB492FC11BB |
339 | 20191108224321 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E458BA9C7 | 339 | 20200312191341 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4A4A6DB8F |
340 | 20191109135352 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4D13F4BF | 340 | 20200312210435 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4A5F07D3F |
341 | 20191109143346 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E4D7EBEC3 | 341 | 20200313061025 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4AA98C3EB |
342 | 20191110001842 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E542DA06B | 342 | 20200313104943 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4ABB58143 |
343 | 20191110175307 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E6046F9BF | 343 | 20200313131537 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4ACFC1F93 |
344 | 20191110192342 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E61370307 | 344 | 20200313162830 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4AEB1D103 |
345 | 20191110200757 2 6 100 7679 2 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E61A90673 | 345 | 20200313193630 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4B0562167 |
346 | 20191111005215 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E64BD2F0F | 346 | 20200313204400 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4B0E7687F |
347 | 20191111221634 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E728AB85F | 347 | 20200313205856 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4B100B58B |
348 | 20191112130746 2 6 100 7679 5 E67A1BA3549A22E8E5008979650D6C7742558513C6C407C4B9CC87E394E8BF9E5DE7248841813BC72DE6BB56EA086A49C69031D2521204BC8EAA0D85B4F2016A4423BF24CCC2A94B7385325A11ADD338ABEDF6B7C444870597F9B05411942D235EBA9CA762F7F2912C1540063C167FE87E0B38B1A4EEC9FA5096102F114577F8D335448B6D6DB022890A33E378EC2D70BE921782CFA0477575E3D867696F5367011BE83025E30AC6173A33A425A9830BC9BD2BC66F561A8906137F68F4F215EA7D228145E4BD5314FDC950CC9CA61523723A9079E728368A6A96193AE3488D48ED7AD61D5B3EA5E4EB6F599963B6B556C0A1D5F174EF0A99F422E665703A6A4FFC588C73DA3D07C287CD9AC5F1065FFB3FE20CCFDEDDC9BA9A39431A2FFA1F94E8B7A3EBD6FBF64BDF9A9C20577AEA1436F08DEBFBD4FB34769DAB061F7B5661E0CB2E5159FF553D7A1E25C4550725EDE6661B633D564BE574FE007177D8C2A54541780D171EB4D2C30768099B2B8F4E81DC8E9A1DCE9BCEE9E23FE7A6854C9DDA08844559A6622257C856BDD221A29A298F840EABECB4D38013FF3403C634C26FA057BB9201D96E0A7D0C07492D7455A213C44978144BAA88804F5DACD544F8F3213F31B552C7BFB9561E63E8E9CDAA1DC427DCB7358C6ADC03B433413C605C34355DFCB2A32788D1D52041957C4C9B5BA9443DC8B6D1E4F0980C4E81607EAADB26D4352BD5823872AA7496A85242A6FD50FEE7DDA4F920ED3A42FAA475936999A5CE55B96F45637AE551335237E71C9C4D8884ACCFF1A48D02999BAF6D38B42BCA344087BF1A43479C10D76E86071D2DF1D68C2E785B5C1B327EC5B112989AA5F605CC3435AC904760EF369D29BFF2C2B754ACFA892A0647588AC306B5CF44A37EDF22E063B42726EF05EF1B2DF80BE136844F0C7CDFD57FF68E66CEFF27D92C0434F292242B086E2CED408973644E9CDFF0C22462400236FD87E03AE69DBBAD4AE3E2213A8888325A16CC3A83A092D1DFB22CFD7AA5C071016862FEAE4735221C4F5F062B6D82DAA38611B0EB0E2C220F2817C50D4B886C0B408D0A1CB00A0E9F4F3CAA9A1414DFB422DFF4309CE6EA70E0AECDD2AA7ABEF84FC207C8DAAC4B5C95DBD46B954FDBE7F0B270FFBD704E7B542BFB87B231F0805AE6D5253C462C0A43B8E7AF7030BA31768E68744E51EBAE8271242834A9CF88506421B918510AD3710395D58A032D176C45FC935DA0510E88F807B7D7E2129980275B0786859E10E849B5C1DC2EFE247398362F2E868162E7BDF241B3749ACDB2BCB2705026F0A40F6E2A91348DFF8CE4FE28FDAA47AC4A5E45C42FC9A4676A0D8E7C1545A7 | 348 | 20200314035540 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4B4AAAE3F |
349 | 20191112235240 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C09B051E7 | 349 | 20200314061326 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4B5BFDBA7 |
350 | 20191113080333 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C0DFA4497 | 350 | 20200315011135 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4BD31F073 |
351 | 20191113172045 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C12AC18C7 | 351 | 20200315110837 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4C26F444F |
352 | 20191113200551 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C144987EF | 352 | 20200315161923 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4C4B91073 |
353 | 20191113222215 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C15AC15DF | 353 | 20200316051743 2 6 100 7679 2 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4CAECF90B |
354 | 20191114105339 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1D643593 | 354 | 20200316125128 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4CE2FC1E7 |
355 | 20191114122810 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1E6B7F8F | 355 | 20200316153032 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4CF8D33EF |
356 | 20191114130017 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1EBA7C07 | 356 | 20200316171946 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4D07EA9FF |
357 | 20191114145117 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C1FE5ED4B | 357 | 20200316174220 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4D0A81D8F |
358 | 20191114151102 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2010EB4F | 358 | 20200316202625 2 6 100 7679 5 F9B9E3DF0669078220C98F6E1775CAE12B5D95EF20D9491DDDFC0DFBA8EE09FD43F58BA934B719A06ECFF9646CA90998726E6FBDC6DB663F3BE44CF10A44B9D2DD7B01682B867206E6A67FE77170050860206AE5980778EA44104698A52D4D57D2AE0B98826DD3E98CB26E3CF0F044546CA7A97505E68983B439E27EE64AAB26D9FAB324CBADE29FBF733AF761D5CBA8E15D906F992080A1A725D65DD85CCDF0B00CCD5D44952C7D46CC514F6D34DD225F26B5CCFB2EB26077A854C19585DD40F4373FE41626532D4753C3617395FDF26FAAE36A6BD0D9009A7F9086AE9B150BD4712B4672ABACF3EC652B972885D8C6C858C93FA42B72E48EFB055E25828CF6FBF609BA25A589B79E0B64DB63F971C6C06103696A359338034A1FB53E0B601FCBDB8CB6BE8DA048C4D9CEA7EA4A458FA64A87B788543854D94977330FEBC9BB09855083ED12C13858DED10C17C19412C7AF9412F4FE952322D80FC9B26842B1FE1859E670FB047390669D81225409853A3E3CCEE979D1120F4F3D833C49A7F8EA673FA68ACB33FFFC3B56A3F277D237F566F5A342C79B3E40EBEBD6E570B1AED4845B353995C7B758CFD4875A799F652122648618AC29D583E04D772FB6739F69D5E4DBFF2BD7B3468729E1ED90C9C523C36912B2EBC69199A5E7D0982867536275332B62C1AD6F07F1825BE66CDC5C99427268B6D1E754A90AF36F49C136E40455866B92FBEF1A298C3A3EFDB6F0F459F5E885D2C0B74C4C7347430AAD7EF86BFA21F8D38CAC911171802D645A73B5249334E26B804F47A012DE0FE1CF4745F33A4A5882DCA984E253E6B16B9A8A15541F65270BFB61A64EFE9BDBBFE4205B1F4FFF5FD75EF15D17F3CBB89651E88866A2AD67D0BD7B21B4495406B0F7A083AB155D37497CC81E4F360F39DF5A26C40662176ACB041805614DD761C619282E2719C29693050058E6FA82FF4237E86A408ADB3DDC5ADC0D770B3E5D1861B669FCEB53D432A5928AB547040CF2044B3164573AE36C52DE160C2F34B0FC18B1C5E53DE1ACF886086064AAE3566D2AC9E00EFED873A201F0D14FC0DFDCF40ED380E12F9CD3D65F944D888D1FFB0F0ADF56CDCBC3036FBA03AB05944D37F24917DF3E18B9EE06B1AFDB385FBBC9425D414849B0FE0BF8D101669341EA388B899ECA0BC7FF46200CC64E0A8480C9B55E71D2A3AAB11FB5D9E2278016E8BCE6901A87B8D993F8AEE78698D6FD13D2E26873F3DA86F0983AB151E921C0A0308ECA824E32FBBF2E8F1BC4E0BEC0013BA6B89BB61F495FAAB142B782BC59FB4B15EBD4DF155A56B07F7E64C4732DB1BF21E03DD68DACABB778E97C74380E7BB4D21FB857 |
359 | 20191114175356 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C21C7632B | 359 | 20200317144528 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6917B8A583 |
360 | 20191115033149 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C27E226FB | 360 | 20200317172320 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69194AFCCB |
361 | 20191115034007 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C27EDDB17 | 361 | 20200317211821 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D691BAE756B |
362 | 20191115161656 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2FC179BB | 362 | 20200318020947 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D691E88D40B |
363 | 20191115163508 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C2FE8BBD3 | 363 | 20200318132137 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69243D6E83 |
364 | 20191116013312 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C35152223 | 364 | 20200318164449 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D692641EA1F |
365 | 20191116104137 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3AB548F3 | 365 | 20200318165632 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D692656A5EB |
366 | 20191116131152 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3C3644FF | 366 | 20200318233140 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D692A61B1F7 |
367 | 20191116180544 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C3F1E201B | 367 | 20200319003005 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D692AEDB987 |
368 | 20191116195637 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C402E471F | 368 | 20200319094041 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69307F8B33 |
369 | 20191117014351 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C42FE585F | 369 | 20200319150358 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6933B4B75F |
370 | 20191117195700 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C4DBF75DF | 370 | 20200319173225 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69352DD107 |
371 | 20191117204232 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C4E2912E7 | 371 | 20200319174751 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69354C2B7F |
372 | 20191118131732 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C54343CD3 | 372 | 20200320033350 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6938CB4C9F |
373 | 20191118210639 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C57F77453 | 373 | 20200320090847 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D693C17966F |
374 | 20191119125926 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6021DE6B | 374 | 20200321110636 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D694B3E8EEF |
375 | 20191119132613 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6059AE27 | 375 | 20200321132757 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D694C8DCF73 |
376 | 20191119133140 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C605D833F | 376 | 20200322034802 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69549685F7 |
377 | 20191119133605 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C605F151B | 377 | 20200322064543 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6956401F07 |
378 | 20191119174042 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6292A3C3 | 378 | 20200322080953 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69570A66EB |
379 | 20191120093944 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C690A0B53 | 379 | 20200322105224 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69588D739F |
380 | 20191120141650 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6B4934D3 | 380 | 20200322200820 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D695D952E9B |
381 | 20191120221735 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C6F3A553F | 381 | 20200322211734 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D695E28F8A3 |
382 | 20191121110820 2 6 100 8191 5 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C75814AB7 | 382 | 20200323000631 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D695F9BBADF |
383 | 20191121112452 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C759A62B3 | 383 | 20200323010937 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69601E6443 |
384 | 20191122050747 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C7E3D2D43 | 384 | 20200323081041 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D696401E163 |
385 | 20191122111758 2 6 100 8191 2 D57E3B56BFA7F8444B8BF4E425C7CDA8AD8013E4403F9987C70B1B973D9478B38CD2759C98B9E195EE06098BAF739F101F8290E0FCD9DB25C5F5502A90F748ADB2AD6F0A40A38FD44F2EB548395B070B31A81216B1A2B7A5EAE6186C57C6BC574D2428BD62871A3AD9B54E6ACF35DA9F56F2291472A90BC400196FA4B033AB8D3A17C3023E5425052B5222A2755B6F7D4CEA80EC6F2BD26B72A76E37C880651AB32EE51B86B90D23B02290996988BF8767292883CCBE693A8FA065D1CE6F8496F8D3DB5661006B0180F9C020278CF96F36D0ED9242A5139FAE3E7008CCDC9F962338A7B8D41873970B4BAA183B633FAA6E5229230100F9BBD0927B4423F9840DC0544D83798B16C114C6929AF89C0797724635194B25BF53107CB65713FB08214AFBDC05AF993C3F9CFE929A92A52D3C97816C667EB79F8F26F619CFD41C1D792C9BFB825E473E510D4633063312625BD91F22E590CFF97CB5DB0AED2784CB15683C5BE6CD73201F42CD7FA28019BB60CFD088B5B2AC3CCE1A96E01167E0C5042AB744C50230CB8935BDCA020BE2A20E00CD04F8BEF55B64B1E8064C149697C1D313872E29E29931ECCF7130EDC842F44A72B2847BD5C2E438E462E28B47E11235E892690391296FABAF2FC029FD508F71719553335248746C578AF4CAE7AF768D51A5AC6E3D996A3DE66A801FAB6B8E80C66138BAB8167518FB1C50A7BEE0D5001E6F01BBCCAB83B0C43FE8103B4FFEC26CA4C820D4AA68FCDE6EECB04E31D87F3D9CC0C195B74E06F1D01CBD7E0F59CAE1FE3AB92E3AF215A752CFFD564D5BDD7853C85E129CCC25B1052A6A669BCF0AF862CB9E44B360E2BB6623DEA2160A76B9679BBA4B62C698DF07D7E042F4DE85A470832B1D7811B4B0EBDE0A8BBEF1F3F57A7CE6E8A8C4E44CF6511602824ABAA41D7F74CC2037C8477549D00A6A69D3F6A93EE6A9B2565FCAA26FFCD7A0097F6F18DE8D80533F8EAE28589EF4381B3AF7E95F183D2FA4B15AEA21BD1965479B0A604508E14DB4CC0D9288F5062D3DA5C33B0295F6A9D9F1AD935AA51C0F7811D19FFACF5514E9BF5D5A545FA318CC5F6BA875BEEDB9E4953BB2285D391E12AC37DD0BC41871CC9D74D546EABC0B20243685633BDA2020419C3DBF7E945D4359DCF4531C7E74C1B0058C6248E4FA9FC87E098A393DB2691EAF0AF4CEA5F6B5AE6175A3EC913A6B2E92BAB9CC9050F765EAD13669CD564345AD9E1BDE7994C792BD01DF349D1D3C72E3FD3EE91CA3372093B6870526BDE5AAEF2B4E0CE260D37CC479EC8162650FE9FA8677DFCCBDB74EE3872F248780F4197D2E56681B04327447DB13AF873CD3988C2B700E1BEB238B644DD53D814537324B83F47E32D891DB4931B4829B53B3195DDBF79780679FAEB0286B451A7DCECC22E949E9A38464F41F17E6AB426337F7ECDA9C8060C9F3 | 385 | 20200323141348 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6967527EB7 |
386 | 20191122234859 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAF157FE93 | 386 | 20200323182024 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69698E2947 |
387 | 20191123201736 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAFCEA8A33 | 387 | 20200323183420 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D6969A6188B |
388 | 20191124005345 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DAFF68AA23 | 388 | 20200323200741 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D696A775C93 |
389 | 20191124051934 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB01DD44F3 | 389 | 20200324000150 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D696C9A9E77 |
390 | 20191124175034 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB08BB417B | 390 | 20200324021150 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D696DC85C1B |
391 | 20191124192622 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB0982C193 | 391 | 20200324041431 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D696EE23C2F |
392 | 20191124193739 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB099260CF | 392 | 20200324100523 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69721212EF |
393 | 20191126025656 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB17A0CF23 | 393 | 20200324110629 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D69729D197B |
394 | 20191126161223 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1EB9E26B | 394 | 20200325070252 2 6 100 7679 5 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D697D6E57F7 |
395 | 20191126172830 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1F5ED407 | 395 | 20200325073428 2 6 100 7679 2 D6B6711FEDD0DAB74BE347B82AE33FB203A966E712D108C27D2983732928351D8E0B14DB0377CA10A9D079F1D76AB94AB983A67C01CADC4EEDC12F452A214B690C3823B59D05B8967A9C5FB80A78CA705620E04FD35D7BC8636A0456F5015C75B2ED2AEE4A50ED3224FB8BDEECE5C21DFC8703240AC287E4E218710091A76D19EA96FE36FB67547F45040AB5DF812D5A4391E41147087072901BE7E6618F41C2D5868424B7EC12E122A036FB5E504651DF79A120CF6698D983FD59F0203E225DE8508D72DCAA6D93492FC574B73B589189D127CF23EDFD7B319C2222239641590C6F66D25C3AD092527FBDE254131F5C13A70BC2C382671E4B940C755B617854CD3A50941DC652A8F20647C638E5F0977EA881D4770CC8381AE551A745363183752830BF4650C3741FFA8F0ED13CE0190963AFA40B61B2B9CCBD07C49A22CD6C229D43AB2E02CE5A8D2CCE45C22E237F8679D10D2543BDA0407FE3011B211B331426ACCE3B4D7DC8626B4C7D713479170BA6DC9A34F404D1C6A3EA7C04634CE61A032FC967D212B99E521CA58B7EA0E560095F1E39603C1FED48F8ED21E4D7B2D3D6F9CB34387BAD472097FC3C24203991ADE41EFDADE145D9B36E87DF128176951D3AFA12C586585C230F4DE23973B14B0291FB99A2527B87A705228DC2F0C27E6C6D01FA36E231A076C5D256B2D730424EDA55916FA3DE5E6AC1EAA5EF7FFFCF57C5577195EBBD5C3AA0448BE83BFC6853AAF9B48FA1289B276C931D4E472FF04428D02EADF12733C1E446B2DD0F1B30D1BEB4E5F36F6FF6438E7B5C51093BAED1AD02AF353DE0F447C38C1F7D10D3C6CD56DBB8EF4374E5B296BCFC2B926AC19542649DA903992F0DB5F1F41A839179F753921C9814C07924097BD850BE07A0A6ED5EECA31D391154055012C48C8000CA03790889670C2E4BE1BCE6C854C4FAB1004CC127103E59C4BF55C7A290BD44BF9EE06C18557C07D2A36D8FCDE4E1F17AD73FA570112DB3F881AD1C23D573F3F23CC5245B4D1C289F517720F444A3282BDD4D5E49B98926C13B0C45CA13BE11E55A5B6F104435196EF8E25A3A955C5C15A0A350A276912C143F57C819F45557A04C5A576E2266E0898E8D64BA3B7E539B642C7C13E624BC8AA299F8FC1D72C7E9DD4C5CE50DFFB762A80A3D7EF8BBEE12CDDCA3F9900A948986F64A719D5444E5D595B86F2524B0292282F6EFC2D3DB2E275FDC4D11654C878D1D74CA972B7CF6C57B2A542BE5A8F2576105C95C1376F5EBCA7A7068A60E90AA8C4B19219EC3A518E8CD809F06096ABFF526F31E86DD4127FD4CFBDAF1229CB590CF9D76ECAFB2E6B3CD43995F6EF11D697DAF0383 |
396 | 20191126180617 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB1FAB6403 | 396 | 20200325172855 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF90ED930B3 |
397 | 20191127080548 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB2553EA77 | 397 | 20200325202118 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF91061F97B |
398 | 20191127104644 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB2687A623 | 398 | 20200326023237 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF9139C9FC7 |
399 | 20191128121203 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB33239063 | 399 | 20200326024940 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF913B79CEB |
400 | 20191128204858 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB378CE753 | 400 | 20200328134127 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF92E9C709F |
401 | 20191128233841 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB38F8E4F7 | 401 | 20200328212714 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF932A9BEAF |
402 | 20191129040635 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3A6C67AB | 402 | 20200329023213 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF935A4196F |
403 | 20191129112243 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3C63FFFB | 403 | 20200329154240 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF93D2BEF37 |
404 | 20191129184106 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB3F9FFF83 | 404 | 20200329201144 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF93F51B18F |
405 | 20191129203059 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4088D083 | 405 | 20200330113432 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF944EA6E43 |
406 | 20191129215650 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4136E127 | 406 | 20200331175854 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF94C88CF9F |
407 | 20191130171835 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4AD7F26B | 407 | 20200401041044 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF94F14974F |
408 | 20191130173733 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB4AF317A3 | 408 | 20200401113456 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF950E7AC23 |
409 | 20191201235534 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB56C3B47B | 409 | 20200402184624 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF958E471B3 |
410 | 20191202030655 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB58188EDB | 410 | 20200402210643 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF9598F1B73 |
411 | 20191202063054 2 6 100 8191 2 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB59B534A3 | 411 | 20200403191828 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF95C0DDE53 |
412 | 20191203125547 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB685D06E7 | 412 | 20200403200234 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF95C32F9F7 |
413 | 20191203140741 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB68EF9D27 | 413 | 20200404072948 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF95EFCC91F |
414 | 20191203185147 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB6B3D290F | 414 | 20200404154328 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF9626ACABB |
415 | 20191203211916 2 6 100 8191 5 F4ED1ADCB74B5BB2954322A6646A37DE50F1FEB9359C83B8837A73263FE7BE52044678EE53D4CDB16268F07754FC0C29BAB897CC643E127AF81546E061B8A0E9B357E710DFAF666BD09AE898B40EBCA5A9E77A530CC677B5D019AD2D0292733F496B0624F430F99AE1BB8AF400D2A72CEE17CBAD9C3E517D80039E6A7F6588319FF3BE22BA517530486A4F10BAB6281FE724B0B0FB785D9733B7095245355226D4B653D3E4F7AAF16E63E523A1A6F092919882203281A2A348BE3F5B601C7BC1C35057B021E8916C71FCCFF9A694D4952D89BF0502FA7A1F044B9062514B636A10510DCB953F46596D592887FB782FD24C44A2C4CF4137986A219DDD909BB34A05719DDA26B402302BC6127B46DDD2F93B6E1155BC4F994F7FFE58E5FF3A6688FD14AB60A9DC804A88871236097275E7D47F71F8C9CDBA687BA04E9E67147E80C56FC04184D4F8BC3F1B8CDB659D99D6B8DA26B954C0315BE6552F27DBF56480A3DDCD88B9C5AE487A903F3EACCD53CE09C7D96DB5E77B57123B81E684D7E3AF19AAF7FD810DA177481EE4FE6323B4FBFBBFD694AC14BFBFFDE6416ABB497C00FA56C29D440AC8E7B464600BA71E814BD25F25BC79628F61B01E5CDB5313B31CAA4EAC88C5D9BAA91FCB3CA0C2F7AE477C17B63033329967E6C92DE4AA47C5A1D376FF71D8B88DEADAD8E7D6549DB04F92EADF16047909D5A11E4AE819194D4B11B242990AD47A1CD55CDCEA6D58496899713D410899A744B81E3890C745DDC916ED878BCA835A278E4C95198B06203DFC9F01124F2C77A392868360410D7AC4D5A21A615480DF3CB2BDB11F3E1D2A0E81C59912563C52CAF4CB71039B3A949EE582A3F5909A7853B15B523BBB798C70B8D9159A52EBF8A433A8C8CB2CA635CEA770AEC861D8BEB687335AA775ED7CDCDA49A0A8B1EF6900204225C00E830026A37805E57D5629BB4B646A1CF435AC83A10E98CEC0F756B7C4F487FD714AAD76F662155E3D755FAF903B26581A7696420C4A77A07F10957D89551892813A0D20FEDFFE90829581D1F1C39863207AC1F1E01691BFFACFF3273679CA8241D77F74CC193170BA2CC33A9E9571FFF86412F892396EE936F5EB58A0649934B98479C3306988264D5CA4AF726B3BFBB24FF552A8C1AFEE336B83BC3070357721B3453A13E37341D01FDD779DC807BBA07F26D3372C58BF5828F1A48F3E4D7CF83E629256CBD4ED91BA03EB00D666C3957196F5034D3A91F19FB3E06DA1293B4635A88D5CD49AE5DFA8377C717865B72F66407A83EAA4F6A7077CAC4C220FEBB74B2160A98051655D67403C15E54C0227C63F95F806A0BF2C57D7522272A572F1FD5761432DB53A9CB91EFE65A3E33E090C913EB1BCF45CB9518D818DF39EE8FA1BE8B7338902714CD2EF0B918066ED0573CB6E347908A097F48266D921A6DB6C6CE027 | 415 | 20200404173401 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF963319AF3 |
416 | 20200404190652 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF963D80CBF | ||
417 | 20200407114745 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF96F20367B | ||
418 | 20200408113553 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF973EEF8A3 | ||
419 | 20200409193550 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF97A04D14B | ||
420 | 20200410193553 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF97C78121F | ||
421 | 20200411093549 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF97F2C0DC7 | ||
422 | 20200412155343 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF982A4594B | ||
423 | 20200413220042 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF9880132D3 | ||
424 | 20200414091654 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF98A23F9AB | ||
425 | 20200415173037 2 6 100 8191 2 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF98D4F179B | ||
426 | 20200415204739 2 6 100 8191 5 C9BECFEF229169BA6895957B61D338147FD9E67666267E2963D7A5587F57261CE8805A323015A9DA97865C6720A855FB346A80C284F9E8B8661DE02027ED9D77E29C25FD08E9BA260CF0D99BF2B69B0F054D642F8E29756D282B4523CF8CC058AA3A274F5D0766A30E269DC7AF3902DC139AC98994961A9186B5538B0F741A774918140CFC62D6BED7CB6E9333682F17683EF6EB53C2912F125105BDFAADB8046BD4FDFA60C4CE0CD0800D4247FFF67A72917E18D86BDFD6A4FBF3301E3290F5F5FF138F8EB4AD0C85AD4DEE6D590B44352B8B42C3A207C677CFCA215DE5391C9BFE5667698AB65D6955CA1FE8CE57D8EFC83FF5547E095FCC476FF3BAF6DD5B6D87F1C836CB712B54B115C0D7640F8F72CBDCE86DBCE6D2C04B7306B16E010A6CBE0BA95ABF269071BB1F5F433BC74D0C19889480A6B5C1683904837C36C7BCF69BE7CB96E0CAA07396224D694FB02F922B33D14C384923F946D104475F49D18A77AE5FA44ADA7C6E16D3B3085821C0B6814DCB565FDC44ED1942C9E25224ED96240D1FEF3817B6161BAD9F16B8C80953882C2FB2722515B10ABEBE969D2318AE9EB81CE91352329591D2874E6121205E072A3D5749190FA847D79B72BD3452DE0B5169601DDB6264AE70A1DC46B3637567787A11AA180B20623440C455722F8131FF09B47DC47814A4925B615A635D6DA05106825E764746CE76EDEE66F8782B9F688AA003B003857B5A659EAAE999171A9353DE0633614093E0A81E1346ABCDCB3CE1A40E8E086A2A2FB9B87394E0F6A0319F42C7B5B8BB9CFB0EF9FDFF6034A397E32E76B6F8C01F3DD2BE81FC938AFE7A1E1D763B4715B2D7CFB4DA9C0B4D013DE532F7D35E177542616DCC3F06736A25F60D0D486D5E4A3797C643977321C9908881170A23D22ADC8768E983DDB79594311DAF4D2CC28AC73E579F36297B0B007B86CB20F185C3A97E772B8FEF731D59A57C9A30D80C5E8B5F62715EA82BE29C5ADBB7A50B2A3E1FE26A7E77A9B53AB69E4A3D4552494F4F0A39459FE8AD9AA7AFEF7CB2560F759E735DED296AE22EDFDF5336671030749F5CE10E6C212BFDC97DA25C5BC80CD62BD490752CD84FA6B8A35BFC752A1CF07C9247C47A0D50D1AC3A713DDF9214E35FF74BF84799732CA0F7032F2ABA00E896CB731A26D09A44E870E9E46D452428F03F6C54CAD2A90A7D95F06F042A929DB5D1D3BEE989F292C1409E780F30B5C00D5965E35EC5957BCF172C26A93E337B1702FAD07940E5EDF2155F1F1CB33E363935829A64665AB6B6D7B6147673E02CF53BA128114C1396785C550D9FC3E38A2E15964CF7BE477766A7AA3310BC6729910C049FAF4FD5895AB3199830EAF34A67FD727FCE77F0FD546A70AE65011839B3A617EC1A2BB2F341A75EC989227E3DEB3DC4DC9911B0BC1F43425401B9D3355CF98DF24F47 | ||
427 | 20200416120747 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317AE516267 | ||
428 | 20200416164443 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317B052A5C3 | ||
429 | 20200416182037 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317B0FD1FE3 | ||
430 | 20200416203456 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317B1F40773 | ||
431 | 20200419115426 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317C703EE2B | ||
432 | 20200420182727 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317CFC2F4E7 | ||
433 | 20200421163640 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317D5F6A563 | ||
434 | 20200421165237 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317D6070547 | ||
435 | 20200421230237 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317D880CCA3 | ||
436 | 20200422193836 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317DE385AC7 | ||
437 | 20200423050749 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317E3208663 | ||
438 | 20200424124535 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317EE2914A3 | ||
439 | 20200425200633 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317FD928D1B | ||
440 | 20200425223722 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729317FEB7212B | ||
441 | 20200426095445 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B72931804287AC7 | ||
442 | 20200426121541 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B7293180542CD23 | ||
443 | 20200426142125 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318063CF9E3 | ||
444 | 20200426144436 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B7293180663AFAF | ||
445 | 20200426154241 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B72931806D328F3 | ||
446 | 20200426180855 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B72931808041373 | ||
447 | 20200426210432 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318097002B3 | ||
448 | 20200427001200 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B7293180AEDF073 | ||
449 | 20200427034737 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B7293180CA6F67F | ||
450 | 20200427122056 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318110CCF9F | ||
451 | 20200427185846 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318146CBE53 | ||
452 | 20200428235601 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318232A7227 | ||
453 | 20200429061301 2 6 100 8191 2 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B729318265D253B | ||
454 | 20200429125635 2 6 100 8191 5 FDD2FF1B0B2402FB6FD5FBC2AF7553A3418C2535DFBF5CDB078CEA3D7C44A4863229766D19871460787A24C249D14845D5332DC7B153C10DF45AEBDC462929E786B8384FF62EC1CB99A79928B0EDB9845107488A06141112F534054013B3AA4DC1B2FE160ABA2E8670A0FB7B835D57BF99D5E7474161517D4149677B3BA24D68831195F8EF4145CB44B0FBDB37BF1B36A0B6F517F145FCC7C169C41A0E3A8A313E455A377E5D82B82608EEB14A5E7C5F4E9AA8E5315D1C600077B5F2F50022E2AEEE142E09DD25363862BAE1AF0D37B00C0D824B25C2B579524577AABB5C82452BE70C9AE8D65E935E087A70892E00544BAD691FE677C577917CC495D470E5301A9F75F019268DD8A9ED8F89EE35F6DABECE4507627691A666E86B98578FD03A7AC198728F7BA4348ECF3A61BAA4AD99DA46F97EA9773F1B9ACAA71EE30435E7A82F081C9D0B16495E96645626637CB97BDB4E7932763F826029B6FFE6C0537315BF01C1671029397DA737A5CD1F13F3ECB769D8265BE0148B22DD5FECCA1E7763E837C3FAEC235F1CC2910F51BD05A647C39623EEC1514FA6C64C84804E23D63D0BED6A88A1C6D382EBCF04FD8574C92D662BAFB239EE7984E6D252AD85D3B0D94D040B6FCB4B5120A2E43AF54C11C59B3D4BB777B3E49714FBBF0169ABBDC0CF285F6C37E668966CB8BBA5083A5EBCD706CBED60455ED554794B03D5136AC555A272FD180D2B99B60AEC25096F33C70CF7B6E4ED89D781954B7D52DFB8A0CCD2A237D8693EF8B3236540678ACEEDAC2A621B88B1A478BAB068ADB7CC8A037F8723B89E0FDFFAAD73F5D77007FCF04DB358393A7DC6DF42DCB4EBB853B77D27FFD7A616B9354ED0707431776FE294BAE152689DEE19B18902356B801EC7A760C2075998D6C6AF8CA1D59CB1D294CBA7490D5F54E0997202F4F4298AD554E28FF788093407E005600A35BA4B172B1D141D956965ED477C2EE1F808B45DE3517D66E969F17D8F5C0F4CA8F64F3912E9E8E8E11D3939EEC5CD6E6FB8D1090E65531BD570108A73A0268D370C51D41FF38B96475BE85EFF412B573F998D03C4741F3095ABEB13AC750147D76DF8375DFE62DC289496C8B8C9D692D5034AD7D514EBC3CD05B0ED0B7261823CEF3DFEA3D4324F1E1F5AD0172220225EECF3FC23786D75F1143117275CCDC3F5182C6CD7D194F9F943E0E0D4C64353442E9C0D06584A7D641DA03641E474E48CA631BEDB233526F7B889425561B48D5645BBB2E53CFC32A40771B6A12D0A2A6E0034666F2DBE47E30CE1FD5949963D2A779B02B886E186E20A31ECC948E4BF19E3D206760613F9577D9BC1FC02D68D2AB09C1EA756175FDD76A372E87FF4A9E79AAEE681D79697ED27803F8E6A9E41B92A0F6F239CA72F88F8414F758E98A48A1C0BC30FCF49EC2615F831C0E99E1B72931829B70597 | ||
@@ -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 | ||
74 | OpenBSD 6.7 September 26, 2012 OpenBSD 6.7 | 74 | OpenBSD 6.8 September 26, 2012 OpenBSD 6.8 |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.c,v 1.210 2020/03/13 03:17:07 djm Exp $ */ | 1 | /* $OpenBSD: monitor.c,v 1.214 2020/08/27 01:07:09 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> |
@@ -698,7 +698,7 @@ mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m) | |||
698 | 698 | ||
699 | if ((key = get_hostkey_by_index(keyid)) != NULL) { | 699 | if ((key = get_hostkey_by_index(keyid)) != NULL) { |
700 | if ((r = sshkey_sign(key, &signature, &siglen, p, datlen, alg, | 700 | if ((r = sshkey_sign(key, &signature, &siglen, p, datlen, alg, |
701 | options.sk_provider, compat)) != 0) | 701 | options.sk_provider, NULL, compat)) != 0) |
702 | fatal("%s: sshkey_sign failed: %s", | 702 | fatal("%s: sshkey_sign failed: %s", |
703 | __func__, ssh_err(r)); | 703 | __func__, ssh_err(r)); |
704 | } else if ((key = get_hostkey_public_by_index(keyid, ssh)) != NULL && | 704 | } else if ((key = get_hostkey_public_by_index(keyid, ssh)) != NULL && |
@@ -1433,7 +1433,8 @@ mm_answer_keyverify(struct ssh *ssh, int sock, struct sshbuf *m) | |||
1433 | const u_char *signature, *data, *blob; | 1433 | const u_char *signature, *data, *blob; |
1434 | char *sigalg = NULL, *fp = NULL; | 1434 | char *sigalg = NULL, *fp = NULL; |
1435 | size_t signaturelen, datalen, bloblen; | 1435 | size_t signaturelen, datalen, bloblen; |
1436 | int r, ret, req_presence = 0, valid_data = 0, encoded_ret; | 1436 | int r, ret, req_presence = 0, req_verify = 0, valid_data = 0; |
1437 | int encoded_ret; | ||
1437 | struct sshkey_sig_details *sig_details = NULL; | 1438 | struct sshkey_sig_details *sig_details = NULL; |
1438 | 1439 | ||
1439 | if ((r = sshbuf_get_string_direct(m, &blob, &bloblen)) != 0 || | 1440 | if ((r = sshbuf_get_string_direct(m, &blob, &bloblen)) != 0 || |
@@ -1498,6 +1499,18 @@ mm_answer_keyverify(struct ssh *ssh, int sock, struct sshbuf *m) | |||
1498 | ssh_remote_port(ssh)); | 1499 | ssh_remote_port(ssh)); |
1499 | ret = SSH_ERR_SIGNATURE_INVALID; | 1500 | ret = SSH_ERR_SIGNATURE_INVALID; |
1500 | } | 1501 | } |
1502 | req_verify = (options.pubkey_auth_options & | ||
1503 | PUBKEYAUTH_VERIFY_REQUIRED) || key_opts->require_verify; | ||
1504 | if (req_verify && | ||
1505 | (sig_details->sk_flags & SSH_SK_USER_VERIFICATION_REQD) == 0) { | ||
1506 | error("public key %s %s signature for %s%s from %.128s " | ||
1507 | "port %d rejected: user verification requirement " | ||
1508 | "not met ", sshkey_type(key), fp, | ||
1509 | authctxt->valid ? "" : "invalid user ", | ||
1510 | authctxt->user, ssh_remote_ipaddr(ssh), | ||
1511 | ssh_remote_port(ssh)); | ||
1512 | ret = SSH_ERR_SIGNATURE_INVALID; | ||
1513 | } | ||
1501 | } | 1514 | } |
1502 | auth2_record_key(authctxt, ret == 0, key); | 1515 | auth2_record_key(authctxt, ret == 0, key); |
1503 | 1516 | ||
@@ -1614,7 +1627,7 @@ mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m) | |||
1614 | if (fd0 != 0) | 1627 | if (fd0 != 0) |
1615 | error("%s: fd0 %d != 0", __func__, fd0); | 1628 | error("%s: fd0 %d != 0", __func__, fd0); |
1616 | 1629 | ||
1617 | /* slave is not needed */ | 1630 | /* slave side of pty is not needed */ |
1618 | close(s->ttyfd); | 1631 | close(s->ttyfd); |
1619 | s->ttyfd = s->ptyfd; | 1632 | s->ttyfd = s->ptyfd; |
1620 | /* no need to dup() because nobody closes ptyfd */ | 1633 | /* no need to dup() because nobody closes ptyfd */ |
diff --git a/monitor_wrap.c b/monitor_wrap.c index b49c268d3..d41d3949d 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor_wrap.c,v 1.117 2019/12/15 18:57:30 djm Exp $ */ | 1 | /* $OpenBSD: monitor_wrap.c,v 1.118 2020/08/27 01:06:18 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> |
@@ -216,7 +216,7 @@ mm_choose_dh(int min, int nbits, int max) | |||
216 | int | 216 | int |
217 | mm_sshkey_sign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp, | 217 | mm_sshkey_sign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp, |
218 | const u_char *data, size_t datalen, const char *hostkey_alg, | 218 | const u_char *data, size_t datalen, const char *hostkey_alg, |
219 | const char *sk_provider, u_int compat) | 219 | const char *sk_provider, const char *sk_pin, u_int compat) |
220 | { | 220 | { |
221 | struct kex *kex = *pmonitor->m_pkex; | 221 | struct kex *kex = *pmonitor->m_pkex; |
222 | struct sshbuf *m; | 222 | struct sshbuf *m; |
diff --git a/monitor_wrap.h b/monitor_wrap.h index 370b08e17..c39e5dd8b 100644 --- a/monitor_wrap.h +++ b/monitor_wrap.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor_wrap.h,v 1.44 2019/11/25 00:51:37 djm Exp $ */ | 1 | /* $OpenBSD: monitor_wrap.h,v 1.45 2020/08/27 01:06:18 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 4 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
@@ -46,7 +46,8 @@ int mm_is_monitor(void); | |||
46 | DH *mm_choose_dh(int, int, int); | 46 | DH *mm_choose_dh(int, int, int); |
47 | #endif | 47 | #endif |
48 | int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *, | 48 | int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *, |
49 | const u_char *, size_t, const char *, const char *, u_int compat); | 49 | const u_char *, size_t, const char *, const char *, |
50 | const char *, u_int compat); | ||
50 | void mm_inform_authserv(char *, char *, char *); | 51 | void mm_inform_authserv(char *, char *, char *); |
51 | void mm_inform_authrole(char *); | 52 | void mm_inform_authrole(char *); |
52 | struct passwd *mm_getpwnamallow(struct ssh *, const char *); | 53 | struct passwd *mm_getpwnamallow(struct ssh *, const char *); |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: msg.c,v 1.18 2020/01/22 04:49:16 djm Exp $ */ | 1 | /* $OpenBSD: msg.c,v 1.19 2020/06/24 15:08:53 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2002 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2002 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -77,7 +77,7 @@ ssh_msg_recv(int fd, struct sshbuf *m) | |||
77 | return (-1); | 77 | return (-1); |
78 | } | 78 | } |
79 | msg_len = get_u32(buf); | 79 | msg_len = get_u32(buf); |
80 | if (msg_len > 256 * 1024) { | 80 | if (msg_len > sshbuf_max_size(m)) { |
81 | error("%s: read: bad msg_len %u", __func__, msg_len); | 81 | error("%s: read: bad msg_len %u", __func__, msg_len); |
82 | return (-1); | 82 | return (-1); |
83 | } | 83 | } |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: mux.c,v 1.82 2020/04/30 17:12:20 markus Exp $ */ | 1 | /* $OpenBSD: mux.c,v 1.83 2020/07/05 23:59:45 djm 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 | * |
@@ -187,7 +187,7 @@ static const struct { | |||
187 | { 0, NULL } | 187 | { 0, NULL } |
188 | }; | 188 | }; |
189 | 189 | ||
190 | /* Cleanup callback fired on closure of mux slave _session_ channel */ | 190 | /* Cleanup callback fired on closure of mux client _session_ channel */ |
191 | /* ARGSUSED */ | 191 | /* ARGSUSED */ |
192 | static void | 192 | static void |
193 | mux_master_session_cleanup_cb(struct ssh *ssh, int cid, void *unused) | 193 | mux_master_session_cleanup_cb(struct ssh *ssh, int cid, void *unused) |
@@ -209,7 +209,7 @@ mux_master_session_cleanup_cb(struct ssh *ssh, int cid, void *unused) | |||
209 | channel_cancel_cleanup(ssh, c->self); | 209 | channel_cancel_cleanup(ssh, c->self); |
210 | } | 210 | } |
211 | 211 | ||
212 | /* Cleanup callback fired on closure of mux slave _control_ channel */ | 212 | /* Cleanup callback fired on closure of mux client _control_ channel */ |
213 | /* ARGSUSED */ | 213 | /* ARGSUSED */ |
214 | static void | 214 | static void |
215 | mux_master_control_cleanup_cb(struct ssh *ssh, int cid, void *unused) | 215 | mux_master_control_cleanup_cb(struct ssh *ssh, int cid, void *unused) |
@@ -287,7 +287,7 @@ mux_master_process_hello(struct ssh *ssh, u_int rid, | |||
287 | "(expected %u)", __func__, ver, SSHMUX_VER); | 287 | "(expected %u)", __func__, ver, SSHMUX_VER); |
288 | return -1; | 288 | return -1; |
289 | } | 289 | } |
290 | debug2("%s: channel %d slave version %u", __func__, c->self, ver); | 290 | debug2("%s: channel %d client version %u", __func__, c->self, ver); |
291 | 291 | ||
292 | /* No extensions are presently defined */ | 292 | /* No extensions are presently defined */ |
293 | while (sshbuf_len(m) > 0) { | 293 | while (sshbuf_len(m) > 0) { |
@@ -401,7 +401,7 @@ mux_master_process_new_session(struct ssh *ssh, u_int rid, | |||
401 | /* Gather fds from client */ | 401 | /* Gather fds from client */ |
402 | for(i = 0; i < 3; i++) { | 402 | for(i = 0; i < 3; i++) { |
403 | if ((new_fd[i] = mm_receive_fd(c->sock)) == -1) { | 403 | if ((new_fd[i] = mm_receive_fd(c->sock)) == -1) { |
404 | error("%s: failed to receive fd %d from slave", | 404 | error("%s: failed to receive fd %d from client", |
405 | __func__, i); | 405 | __func__, i); |
406 | for (j = 0; j < i; j++) | 406 | for (j = 0; j < i; j++) |
407 | close(new_fd[j]); | 407 | close(new_fd[j]); |
@@ -994,7 +994,7 @@ mux_master_process_stdio_fwd(struct ssh *ssh, u_int rid, | |||
994 | /* Gather fds from client */ | 994 | /* Gather fds from client */ |
995 | for(i = 0; i < 2; i++) { | 995 | for(i = 0; i < 2; i++) { |
996 | if ((new_fd[i] = mm_receive_fd(c->sock)) == -1) { | 996 | if ((new_fd[i] = mm_receive_fd(c->sock)) == -1) { |
997 | error("%s: failed to receive fd %d from slave", | 997 | error("%s: failed to receive fd %d from client", |
998 | __func__, i); | 998 | __func__, i); |
999 | for (j = 0; j < i; j++) | 999 | for (j = 0; j < i; j++) |
1000 | close(new_fd[j]); | 1000 | close(new_fd[j]); |
@@ -1154,7 +1154,7 @@ mux_master_process_proxy(struct ssh *ssh, u_int rid, | |||
1154 | return 0; | 1154 | return 0; |
1155 | } | 1155 | } |
1156 | 1156 | ||
1157 | /* Channel callbacks fired on read/write from mux slave fd */ | 1157 | /* Channel callbacks fired on read/write from mux client fd */ |
1158 | static int | 1158 | static int |
1159 | mux_master_read_cb(struct ssh *ssh, Channel *c) | 1159 | mux_master_read_cb(struct ssh *ssh, Channel *c) |
1160 | { | 1160 | { |
diff --git a/openbsd-compat/bcrypt_pbkdf.c b/openbsd-compat/bcrypt_pbkdf.c index 785234563..62728d38f 100644 --- a/openbsd-compat/bcrypt_pbkdf.c +++ b/openbsd-compat/bcrypt_pbkdf.c | |||
@@ -15,6 +15,8 @@ | |||
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 | ||
18 | /* OPENBSD ORIGINAL: lib/libutil/bcrypt_pbkdf.c */ | ||
19 | |||
18 | #include "includes.h" | 20 | #include "includes.h" |
19 | 21 | ||
20 | #ifndef HAVE_BCRYPT_PBKDF | 22 | #ifndef HAVE_BCRYPT_PBKDF |
@@ -91,7 +93,7 @@ bcrypt_hash(u_int8_t *sha2pass, u_int8_t *sha2salt, u_int8_t *out) | |||
91 | cdata[i] = Blowfish_stream2word(ciphertext, sizeof(ciphertext), | 93 | cdata[i] = Blowfish_stream2word(ciphertext, sizeof(ciphertext), |
92 | &j); | 94 | &j); |
93 | for (i = 0; i < 64; i++) | 95 | for (i = 0; i < 64; i++) |
94 | blf_enc(&state, cdata, sizeof(cdata) / sizeof(uint64_t)); | 96 | blf_enc(&state, cdata, sizeof(cdata) / (sizeof(uint64_t))); |
95 | 97 | ||
96 | /* copy out */ | 98 | /* copy out */ |
97 | for (i = 0; i < BCRYPT_WORDS; i++) { | 99 | for (i = 0; i < BCRYPT_WORDS; i++) { |
diff --git a/openbsd-compat/memmem.c b/openbsd-compat/memmem.c index 3e5e6b5e6..ac1243eb0 100644 --- a/openbsd-compat/memmem.c +++ b/openbsd-compat/memmem.c | |||
@@ -1,30 +1,26 @@ | |||
1 | /* $OpenBSD: memmem.c,v 1.4 2015/08/31 02:53:57 guenther Exp $ */ | 1 | /* $OpenBSD: memmem.c,v 1.5 2020/04/16 12:39:28 claudio Exp $ */ |
2 | /*- | 2 | |
3 | * Copyright (c) 2005 Pascal Gloor <pascal.gloor@spale.com> | 3 | /* |
4 | * Copyright (c) 2005-2020 Rich Felker, et al. | ||
4 | * | 5 | * |
5 | * Redistribution and use in source and binary forms, with or without | 6 | * Permission is hereby granted, free of charge, to any person obtaining |
6 | * modification, are permitted provided that the following conditions | 7 | * a copy of this software and associated documentation files (the |
7 | * are met: | 8 | * "Software"), to deal in the Software without restriction, including |
8 | * 1. Redistributions of source code must retain the above copyright | 9 | * without limitation the rights to use, copy, modify, merge, publish, |
9 | * notice, this list of conditions and the following disclaimer. | 10 | * distribute, sublicense, and/or sell copies of the Software, and to |
10 | * 2. Redistributions in binary form must reproduce the above copyright | 11 | * permit persons to whom the Software is furnished to do so, subject to |
11 | * notice, this list of conditions and the following disclaimer in the | 12 | * the following conditions: |
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * 3. The name of the author may not be used to endorse or promote | ||
14 | * products derived from this software without specific prior written | ||
15 | * permission. | ||
16 | * | 13 | * |
17 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | 14 | * The above copyright notice and this permission notice shall be |
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 15 | * included in all copies or substantial portions of the Software. |
19 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 16 | * |
20 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
21 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 18 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
22 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
23 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 20 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
24 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 21 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
25 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 22 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
26 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 23 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
27 | * SUCH DAMAGE. | ||
28 | */ | 24 | */ |
29 | 25 | ||
30 | #include "includes.h" | 26 | #include "includes.h" |
@@ -32,38 +28,164 @@ | |||
32 | #ifndef HAVE_MEMMEM | 28 | #ifndef HAVE_MEMMEM |
33 | 29 | ||
34 | #include <string.h> | 30 | #include <string.h> |
31 | #ifdef HAVE_STDINT_H | ||
32 | #include <stdint.h> | ||
33 | #endif | ||
34 | |||
35 | static char * | ||
36 | twobyte_memmem(const unsigned char *h, size_t k, const unsigned char *n) | ||
37 | { | ||
38 | uint16_t nw = n[0]<<8 | n[1], hw = h[0]<<8 | h[1]; | ||
39 | for (h+=2, k-=2; k; k--, hw = hw<<8 | *h++) | ||
40 | if (hw == nw) return (char *)h-2; | ||
41 | return hw == nw ? (char *)h-2 : 0; | ||
42 | } | ||
43 | |||
44 | static char * | ||
45 | threebyte_memmem(const unsigned char *h, size_t k, const unsigned char *n) | ||
46 | { | ||
47 | uint32_t nw = n[0]<<24 | n[1]<<16 | n[2]<<8; | ||
48 | uint32_t hw = h[0]<<24 | h[1]<<16 | h[2]<<8; | ||
49 | for (h+=3, k-=3; k; k--, hw = (hw|*h++)<<8) | ||
50 | if (hw == nw) return (char *)h-3; | ||
51 | return hw == nw ? (char *)h-3 : 0; | ||
52 | } | ||
53 | |||
54 | static char * | ||
55 | fourbyte_memmem(const unsigned char *h, size_t k, const unsigned char *n) | ||
56 | { | ||
57 | uint32_t nw = n[0]<<24 | n[1]<<16 | n[2]<<8 | n[3]; | ||
58 | uint32_t hw = h[0]<<24 | h[1]<<16 | h[2]<<8 | h[3]; | ||
59 | for (h+=4, k-=4; k; k--, hw = hw<<8 | *h++) | ||
60 | if (hw == nw) return (char *)h-4; | ||
61 | return hw == nw ? (char *)h-4 : 0; | ||
62 | } | ||
63 | |||
64 | #define MAX(a,b) ((a)>(b)?(a):(b)) | ||
65 | #define MIN(a,b) ((a)<(b)?(a):(b)) | ||
66 | |||
67 | #define BITOP(a,b,op) \ | ||
68 | ((a)[(size_t)(b)/(8*sizeof *(a))] op (size_t)1<<((size_t)(b)%(8*sizeof *(a)))) | ||
35 | 69 | ||
36 | /* | 70 | /* |
37 | * Find the first occurrence of the byte string s in byte string l. | 71 | * Maxime Crochemore and Dominique Perrin, Two-way string-matching, |
72 | * Journal of the ACM, 38(3):651-675, July 1991. | ||
38 | */ | 73 | */ |
39 | 74 | static char * | |
40 | void * | 75 | twoway_memmem(const unsigned char *h, const unsigned char *z, |
41 | memmem(const void *l, size_t l_len, const void *s, size_t s_len) | 76 | const unsigned char *n, size_t l) |
42 | { | 77 | { |
43 | const char *cur, *last; | 78 | size_t i, ip, jp, k, p, ms, p0, mem, mem0; |
44 | const char *cl = l; | 79 | size_t byteset[32 / sizeof(size_t)] = { 0 }; |
45 | const char *cs = s; | 80 | size_t shift[256]; |
81 | |||
82 | /* Computing length of needle and fill shift table */ | ||
83 | for (i=0; i<l; i++) | ||
84 | BITOP(byteset, n[i], |=), shift[n[i]] = i+1; | ||
85 | |||
86 | /* Compute maximal suffix */ | ||
87 | ip = -1; jp = 0; k = p = 1; | ||
88 | while (jp+k<l) { | ||
89 | if (n[ip+k] == n[jp+k]) { | ||
90 | if (k == p) { | ||
91 | jp += p; | ||
92 | k = 1; | ||
93 | } else k++; | ||
94 | } else if (n[ip+k] > n[jp+k]) { | ||
95 | jp += k; | ||
96 | k = 1; | ||
97 | p = jp - ip; | ||
98 | } else { | ||
99 | ip = jp++; | ||
100 | k = p = 1; | ||
101 | } | ||
102 | } | ||
103 | ms = ip; | ||
104 | p0 = p; | ||
105 | |||
106 | /* And with the opposite comparison */ | ||
107 | ip = -1; jp = 0; k = p = 1; | ||
108 | while (jp+k<l) { | ||
109 | if (n[ip+k] == n[jp+k]) { | ||
110 | if (k == p) { | ||
111 | jp += p; | ||
112 | k = 1; | ||
113 | } else k++; | ||
114 | } else if (n[ip+k] < n[jp+k]) { | ||
115 | jp += k; | ||
116 | k = 1; | ||
117 | p = jp - ip; | ||
118 | } else { | ||
119 | ip = jp++; | ||
120 | k = p = 1; | ||
121 | } | ||
122 | } | ||
123 | if (ip+1 > ms+1) ms = ip; | ||
124 | else p = p0; | ||
46 | 125 | ||
47 | /* a zero length needle should just return the haystack */ | 126 | /* Periodic needle? */ |
48 | if (s_len == 0) | 127 | if (memcmp(n, n+p, ms+1)) { |
49 | return (void *)cl; | 128 | mem0 = 0; |
129 | p = MAX(ms, l-ms-1) + 1; | ||
130 | } else mem0 = l-p; | ||
131 | mem = 0; | ||
50 | 132 | ||
51 | /* "s" must be smaller or equal to "l" */ | 133 | /* Search loop */ |
52 | if (l_len < s_len) | 134 | for (;;) { |
53 | return NULL; | 135 | /* If remainder of haystack is shorter than needle, done */ |
136 | if (z-h < l) return 0; | ||
137 | |||
138 | /* Check last byte first; advance by shift on mismatch */ | ||
139 | if (BITOP(byteset, h[l-1], &)) { | ||
140 | k = l-shift[h[l-1]]; | ||
141 | if (k) { | ||
142 | if (k < mem) k = mem; | ||
143 | h += k; | ||
144 | mem = 0; | ||
145 | continue; | ||
146 | } | ||
147 | } else { | ||
148 | h += l; | ||
149 | mem = 0; | ||
150 | continue; | ||
151 | } | ||
152 | |||
153 | /* Compare right half */ | ||
154 | for (k=MAX(ms+1,mem); k<l && n[k] == h[k]; k++); | ||
155 | if (k < l) { | ||
156 | h += k-ms; | ||
157 | mem = 0; | ||
158 | continue; | ||
159 | } | ||
160 | /* Compare left half */ | ||
161 | for (k=ms+1; k>mem && n[k-1] == h[k-1]; k--); | ||
162 | if (k <= mem) return (char *)h; | ||
163 | h += p; | ||
164 | mem = mem0; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | void * | ||
169 | memmem(const void *h0, size_t k, const void *n0, size_t l) | ||
170 | { | ||
171 | const unsigned char *h = h0, *n = n0; | ||
54 | 172 | ||
55 | /* special case where s_len == 1 */ | 173 | /* Return immediately on empty needle */ |
56 | if (s_len == 1) | 174 | if (!l) return (void *)h; |
57 | return memchr(l, *cs, l_len); | ||
58 | 175 | ||
59 | /* the last position where its possible to find "s" in "l" */ | 176 | /* Return immediately when needle is longer than haystack */ |
60 | last = cl + l_len - s_len; | 177 | if (k<l) return 0; |
61 | 178 | ||
62 | for (cur = cl; cur <= last; cur++) | 179 | /* Use faster algorithms for short needles */ |
63 | if (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0) | 180 | h = memchr(h0, *n, k); |
64 | return (void *)cur; | 181 | if (!h || l==1) return (void *)h; |
182 | k -= h - (const unsigned char *)h0; | ||
183 | if (k<l) return 0; | ||
184 | if (l==2) return twobyte_memmem(h, k, n); | ||
185 | if (l==3) return threebyte_memmem(h, k, n); | ||
186 | if (l==4) return fourbyte_memmem(h, k, n); | ||
65 | 187 | ||
66 | return NULL; | 188 | return twoway_memmem(h, h+k, n, l); |
67 | } | 189 | } |
68 | DEF_WEAK(memmem); | 190 | DEF_WEAK(memmem); |
69 | #endif /* HAVE_MEMMEM */ | 191 | #endif /* HAVE_MEMMEM */ |
diff --git a/openbsd-compat/port-net.c b/openbsd-compat/port-net.c index 617bffceb..d7d8c6fa1 100644 --- a/openbsd-compat/port-net.c +++ b/openbsd-compat/port-net.c | |||
@@ -209,8 +209,11 @@ sys_tun_open(int tun, int mode, char **ifname) | |||
209 | { | 209 | { |
210 | struct ifreq ifr; | 210 | struct ifreq ifr; |
211 | char name[100]; | 211 | char name[100]; |
212 | int fd = -1, sock, flag; | 212 | int fd = -1, sock; |
213 | const char *tunbase = "tun"; | 213 | const char *tunbase = "tun"; |
214 | #if defined(TUNSIFHEAD) && !defined(SSH_TUN_PREPEND_AF) | ||
215 | int flag; | ||
216 | #endif | ||
214 | 217 | ||
215 | if (ifname != NULL) | 218 | if (ifname != NULL) |
216 | *ifname = NULL; | 219 | *ifname = NULL; |
@@ -247,8 +250,8 @@ sys_tun_open(int tun, int mode, char **ifname) | |||
247 | } | 250 | } |
248 | 251 | ||
249 | /* Turn on tunnel headers */ | 252 | /* Turn on tunnel headers */ |
250 | flag = 1; | ||
251 | #if defined(TUNSIFHEAD) && !defined(SSH_TUN_PREPEND_AF) | 253 | #if defined(TUNSIFHEAD) && !defined(SSH_TUN_PREPEND_AF) |
254 | flag = 1; | ||
252 | if (mode != SSH_TUNMODE_ETHERNET && | 255 | if (mode != SSH_TUNMODE_ETHERNET && |
253 | ioctl(fd, TUNSIFHEAD, &flag) == -1) { | 256 | ioctl(fd, TUNSIFHEAD, &flag) == -1) { |
254 | debug("%s: ioctl(%d, TUNSIFHEAD, 1): %s", __func__, fd, | 257 | debug("%s: ioctl(%d, TUNSIFHEAD, 1): %s", __func__, fd, |
diff --git a/openbsd-compat/sys-queue.h b/openbsd-compat/sys-queue.h index 5108f394c..816c15cd4 100644 --- a/openbsd-compat/sys-queue.h +++ b/openbsd-compat/sys-queue.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: queue.h,v 1.36 2012/04/11 13:29:14 naddy Exp $ */ | 1 | /* $OpenBSD: queue.h,v 1.45 2018/07/12 14:22:54 sashan Exp $ */ |
2 | /* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */ | 2 | /* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */ |
3 | 3 | ||
4 | /* | 4 | /* |
@@ -41,94 +41,97 @@ | |||
41 | * Require for OS/X and other platforms that have old/broken/incomplete | 41 | * Require for OS/X and other platforms that have old/broken/incomplete |
42 | * <sys/queue.h>. | 42 | * <sys/queue.h>. |
43 | */ | 43 | */ |
44 | #undef SLIST_HEAD | 44 | #undef CIRCLEQ_EMPTY |
45 | #undef SLIST_HEAD_INITIALIZER | 45 | #undef CIRCLEQ_END |
46 | #undef SLIST_ENTRY | 46 | #undef CIRCLEQ_ENTRY |
47 | #undef SLIST_FOREACH_PREVPTR | 47 | #undef CIRCLEQ_FIRST |
48 | #undef SLIST_FOREACH_SAFE | 48 | #undef CIRCLEQ_FOREACH |
49 | #undef SLIST_FIRST | 49 | #undef CIRCLEQ_FOREACH_REVERSE |
50 | #undef SLIST_END | 50 | #undef CIRCLEQ_HEAD |
51 | #undef SLIST_EMPTY | 51 | #undef CIRCLEQ_HEAD_INITIALIZER |
52 | #undef SLIST_NEXT | 52 | #undef CIRCLEQ_INIT |
53 | #undef SLIST_FOREACH | 53 | #undef CIRCLEQ_INSERT_AFTER |
54 | #undef SLIST_INIT | 54 | #undef CIRCLEQ_INSERT_BEFORE |
55 | #undef SLIST_INSERT_AFTER | 55 | #undef CIRCLEQ_INSERT_HEAD |
56 | #undef SLIST_INSERT_HEAD | 56 | #undef CIRCLEQ_INSERT_TAIL |
57 | #undef SLIST_REMOVE_HEAD | 57 | #undef CIRCLEQ_LAST |
58 | #undef SLIST_REMOVE_AFTER | 58 | #undef CIRCLEQ_NEXT |
59 | #undef SLIST_REMOVE | 59 | #undef CIRCLEQ_PREV |
60 | #undef SLIST_REMOVE_NEXT | 60 | #undef CIRCLEQ_REMOVE |
61 | #undef LIST_HEAD | 61 | #undef CIRCLEQ_REPLACE |
62 | #undef LIST_HEAD_INITIALIZER | 62 | #undef LIST_EMPTY |
63 | #undef LIST_END | ||
63 | #undef LIST_ENTRY | 64 | #undef LIST_ENTRY |
64 | #undef LIST_FIRST | 65 | #undef LIST_FIRST |
65 | #undef LIST_END | ||
66 | #undef LIST_EMPTY | ||
67 | #undef LIST_NEXT | ||
68 | #undef LIST_FOREACH | 66 | #undef LIST_FOREACH |
69 | #undef LIST_FOREACH_SAFE | 67 | #undef LIST_FOREACH_SAFE |
68 | #undef LIST_HEAD | ||
69 | #undef LIST_HEAD_INITIALIZER | ||
70 | #undef LIST_INIT | 70 | #undef LIST_INIT |
71 | #undef LIST_INSERT_AFTER | 71 | #undef LIST_INSERT_AFTER |
72 | #undef LIST_INSERT_BEFORE | 72 | #undef LIST_INSERT_BEFORE |
73 | #undef LIST_INSERT_HEAD | 73 | #undef LIST_INSERT_HEAD |
74 | #undef LIST_NEXT | ||
74 | #undef LIST_REMOVE | 75 | #undef LIST_REMOVE |
75 | #undef LIST_REPLACE | 76 | #undef LIST_REPLACE |
76 | #undef SIMPLEQ_HEAD | 77 | #undef SIMPLEQ_CONCAT |
77 | #undef SIMPLEQ_HEAD_INITIALIZER | 78 | #undef SIMPLEQ_EMPTY |
79 | #undef SIMPLEQ_END | ||
78 | #undef SIMPLEQ_ENTRY | 80 | #undef SIMPLEQ_ENTRY |
79 | #undef SIMPLEQ_FIRST | 81 | #undef SIMPLEQ_FIRST |
80 | #undef SIMPLEQ_END | ||
81 | #undef SIMPLEQ_EMPTY | ||
82 | #undef SIMPLEQ_NEXT | ||
83 | #undef SIMPLEQ_FOREACH | 82 | #undef SIMPLEQ_FOREACH |
84 | #undef SIMPLEQ_FOREACH_SAFE | 83 | #undef SIMPLEQ_FOREACH_SAFE |
84 | #undef SIMPLEQ_HEAD | ||
85 | #undef SIMPLEQ_HEAD_INITIALIZER | ||
85 | #undef SIMPLEQ_INIT | 86 | #undef SIMPLEQ_INIT |
87 | #undef SIMPLEQ_INSERT_AFTER | ||
86 | #undef SIMPLEQ_INSERT_HEAD | 88 | #undef SIMPLEQ_INSERT_HEAD |
87 | #undef SIMPLEQ_INSERT_TAIL | 89 | #undef SIMPLEQ_INSERT_TAIL |
88 | #undef SIMPLEQ_INSERT_AFTER | 90 | #undef SIMPLEQ_NEXT |
91 | #undef SIMPLEQ_REMOVE_AFTER | ||
89 | #undef SIMPLEQ_REMOVE_HEAD | 92 | #undef SIMPLEQ_REMOVE_HEAD |
90 | #undef TAILQ_HEAD | 93 | #undef SLIST_EMPTY |
91 | #undef TAILQ_HEAD_INITIALIZER | 94 | #undef SLIST_END |
95 | #undef SLIST_ENTRY | ||
96 | #undef SLIST_FIRST | ||
97 | #undef SLIST_FOREACH | ||
98 | #undef SLIST_FOREACH_PREVPTR | ||
99 | #undef SLIST_FOREACH_SAFE | ||
100 | #undef SLIST_HEAD | ||
101 | #undef SLIST_HEAD_INITIALIZER | ||
102 | #undef SLIST_INIT | ||
103 | #undef SLIST_INSERT_AFTER | ||
104 | #undef SLIST_INSERT_HEAD | ||
105 | #undef SLIST_NEXT | ||
106 | #undef SLIST_REMOVE | ||
107 | #undef SLIST_REMOVE_AFTER | ||
108 | #undef SLIST_REMOVE_HEAD | ||
109 | #undef SLIST_REMOVE_NEXT | ||
110 | #undef TAILQ_CONCAT | ||
111 | #undef TAILQ_EMPTY | ||
112 | #undef TAILQ_END | ||
92 | #undef TAILQ_ENTRY | 113 | #undef TAILQ_ENTRY |
93 | #undef TAILQ_FIRST | 114 | #undef TAILQ_FIRST |
94 | #undef TAILQ_END | ||
95 | #undef TAILQ_NEXT | ||
96 | #undef TAILQ_LAST | ||
97 | #undef TAILQ_PREV | ||
98 | #undef TAILQ_EMPTY | ||
99 | #undef TAILQ_FOREACH | 115 | #undef TAILQ_FOREACH |
100 | #undef TAILQ_FOREACH_REVERSE | 116 | #undef TAILQ_FOREACH_REVERSE |
101 | #undef TAILQ_FOREACH_SAFE | ||
102 | #undef TAILQ_FOREACH_REVERSE_SAFE | 117 | #undef TAILQ_FOREACH_REVERSE_SAFE |
118 | #undef TAILQ_FOREACH_SAFE | ||
119 | #undef TAILQ_HEAD | ||
120 | #undef TAILQ_HEAD_INITIALIZER | ||
103 | #undef TAILQ_INIT | 121 | #undef TAILQ_INIT |
104 | #undef TAILQ_INSERT_HEAD | ||
105 | #undef TAILQ_INSERT_TAIL | ||
106 | #undef TAILQ_INSERT_AFTER | 122 | #undef TAILQ_INSERT_AFTER |
107 | #undef TAILQ_INSERT_BEFORE | 123 | #undef TAILQ_INSERT_BEFORE |
124 | #undef TAILQ_INSERT_HEAD | ||
125 | #undef TAILQ_INSERT_TAIL | ||
126 | #undef TAILQ_LAST | ||
127 | #undef TAILQ_NEXT | ||
128 | #undef TAILQ_PREV | ||
108 | #undef TAILQ_REMOVE | 129 | #undef TAILQ_REMOVE |
109 | #undef TAILQ_REPLACE | 130 | #undef TAILQ_REPLACE |
110 | #undef CIRCLEQ_HEAD | ||
111 | #undef CIRCLEQ_HEAD_INITIALIZER | ||
112 | #undef CIRCLEQ_ENTRY | ||
113 | #undef CIRCLEQ_FIRST | ||
114 | #undef CIRCLEQ_LAST | ||
115 | #undef CIRCLEQ_END | ||
116 | #undef CIRCLEQ_NEXT | ||
117 | #undef CIRCLEQ_PREV | ||
118 | #undef CIRCLEQ_EMPTY | ||
119 | #undef CIRCLEQ_FOREACH | ||
120 | #undef CIRCLEQ_FOREACH_REVERSE | ||
121 | #undef CIRCLEQ_INIT | ||
122 | #undef CIRCLEQ_INSERT_AFTER | ||
123 | #undef CIRCLEQ_INSERT_BEFORE | ||
124 | #undef CIRCLEQ_INSERT_HEAD | ||
125 | #undef CIRCLEQ_INSERT_TAIL | ||
126 | #undef CIRCLEQ_REMOVE | ||
127 | #undef CIRCLEQ_REPLACE | ||
128 | 131 | ||
129 | /* | 132 | /* |
130 | * This file defines five types of data structures: singly-linked lists, | 133 | * This file defines five types of data structures: singly-linked lists, |
131 | * lists, simple queues, tail queues, and circular queues. | 134 | * lists, simple queues, tail queues and XOR simple queues. |
132 | * | 135 | * |
133 | * | 136 | * |
134 | * A singly-linked list is headed by a single forward pointer. The elements | 137 | * A singly-linked list is headed by a single forward pointer. The elements |
@@ -148,7 +151,7 @@ | |||
148 | * or after an existing element or at the head of the list. A list | 151 | * or after an existing element or at the head of the list. A list |
149 | * may only be traversed in the forward direction. | 152 | * may only be traversed in the forward direction. |
150 | * | 153 | * |
151 | * A simple queue is headed by a pair of pointers, one the head of the | 154 | * A simple queue is headed by a pair of pointers, one to the head of the |
152 | * list and the other to the tail of the list. The elements are singly | 155 | * list and the other to the tail of the list. The elements are singly |
153 | * linked to save space, so elements can only be removed from the | 156 | * linked to save space, so elements can only be removed from the |
154 | * head of the list. New elements can be added to the list before or after | 157 | * head of the list. New elements can be added to the list before or after |
@@ -162,19 +165,17 @@ | |||
162 | * after an existing element, at the head of the list, or at the end of | 165 | * after an existing element, at the head of the list, or at the end of |
163 | * the list. A tail queue may be traversed in either direction. | 166 | * the list. A tail queue may be traversed in either direction. |
164 | * | 167 | * |
165 | * A circle queue is headed by a pair of pointers, one to the head of the | 168 | * An XOR simple queue is used in the same way as a regular simple queue. |
166 | * list and the other to the tail of the list. The elements are doubly | 169 | * The difference is that the head structure also includes a "cookie" that |
167 | * linked so that an arbitrary element can be removed without a need to | 170 | * is XOR'd with the queue pointer (first, last or next) to generate the |
168 | * traverse the list. New elements can be added to the list before or after | 171 | * real pointer value. |
169 | * an existing element, at the head of the list, or at the end of the list. | ||
170 | * A circle queue may be traversed in either direction, but has a more | ||
171 | * complex end of list detection. | ||
172 | * | 172 | * |
173 | * For details on the use of these macros, see the queue(3) manual page. | 173 | * For details on the use of these macros, see the queue(3) manual page. |
174 | */ | 174 | */ |
175 | 175 | ||
176 | #if defined(QUEUE_MACRO_DEBUG) || (defined(_KERNEL) && defined(DIAGNOSTIC)) | 176 | #if defined(QUEUE_MACRO_DEBUG) || (defined(_KERNEL) && defined(DIAGNOSTIC)) |
177 | #define _Q_INVALIDATE(a) (a) = ((void *)-1) | 177 | #define _Q_INVALID ((void *)-1) |
178 | #define _Q_INVALIDATE(a) (a) = _Q_INVALID | ||
178 | #else | 179 | #else |
179 | #define _Q_INVALIDATE(a) | 180 | #define _Q_INVALIDATE(a) |
180 | #endif | 181 | #endif |
@@ -186,15 +187,15 @@ | |||
186 | struct name { \ | 187 | struct name { \ |
187 | struct type *slh_first; /* first element */ \ | 188 | struct type *slh_first; /* first element */ \ |
188 | } | 189 | } |
189 | 190 | ||
190 | #define SLIST_HEAD_INITIALIZER(head) \ | 191 | #define SLIST_HEAD_INITIALIZER(head) \ |
191 | { NULL } | 192 | { NULL } |
192 | 193 | ||
193 | #define SLIST_ENTRY(type) \ | 194 | #define SLIST_ENTRY(type) \ |
194 | struct { \ | 195 | struct { \ |
195 | struct type *sle_next; /* next element */ \ | 196 | struct type *sle_next; /* next element */ \ |
196 | } | 197 | } |
197 | 198 | ||
198 | /* | 199 | /* |
199 | * Singly-linked List access methods. | 200 | * Singly-linked List access methods. |
200 | */ | 201 | */ |
@@ -248,8 +249,8 @@ struct { \ | |||
248 | curelm = curelm->field.sle_next; \ | 249 | curelm = curelm->field.sle_next; \ |
249 | curelm->field.sle_next = \ | 250 | curelm->field.sle_next = \ |
250 | curelm->field.sle_next->field.sle_next; \ | 251 | curelm->field.sle_next->field.sle_next; \ |
251 | _Q_INVALIDATE((elm)->field.sle_next); \ | ||
252 | } \ | 252 | } \ |
253 | _Q_INVALIDATE((elm)->field.sle_next); \ | ||
253 | } while (0) | 254 | } while (0) |
254 | 255 | ||
255 | /* | 256 | /* |
@@ -270,7 +271,7 @@ struct { \ | |||
270 | } | 271 | } |
271 | 272 | ||
272 | /* | 273 | /* |
273 | * List access methods | 274 | * List access methods. |
274 | */ | 275 | */ |
275 | #define LIST_FIRST(head) ((head)->lh_first) | 276 | #define LIST_FIRST(head) ((head)->lh_first) |
276 | #define LIST_END(head) NULL | 277 | #define LIST_END(head) NULL |
@@ -407,6 +408,94 @@ struct { \ | |||
407 | (head)->sqh_last = &(elm)->field.sqe_next; \ | 408 | (head)->sqh_last = &(elm)->field.sqe_next; \ |
408 | } while (0) | 409 | } while (0) |
409 | 410 | ||
411 | #define SIMPLEQ_CONCAT(head1, head2) do { \ | ||
412 | if (!SIMPLEQ_EMPTY((head2))) { \ | ||
413 | *(head1)->sqh_last = (head2)->sqh_first; \ | ||
414 | (head1)->sqh_last = (head2)->sqh_last; \ | ||
415 | SIMPLEQ_INIT((head2)); \ | ||
416 | } \ | ||
417 | } while (0) | ||
418 | |||
419 | /* | ||
420 | * XOR Simple queue definitions. | ||
421 | */ | ||
422 | #define XSIMPLEQ_HEAD(name, type) \ | ||
423 | struct name { \ | ||
424 | struct type *sqx_first; /* first element */ \ | ||
425 | struct type **sqx_last; /* addr of last next element */ \ | ||
426 | unsigned long sqx_cookie; \ | ||
427 | } | ||
428 | |||
429 | #define XSIMPLEQ_ENTRY(type) \ | ||
430 | struct { \ | ||
431 | struct type *sqx_next; /* next element */ \ | ||
432 | } | ||
433 | |||
434 | /* | ||
435 | * XOR Simple queue access methods. | ||
436 | */ | ||
437 | #define XSIMPLEQ_XOR(head, ptr) ((__typeof(ptr))((head)->sqx_cookie ^ \ | ||
438 | (unsigned long)(ptr))) | ||
439 | #define XSIMPLEQ_FIRST(head) XSIMPLEQ_XOR(head, ((head)->sqx_first)) | ||
440 | #define XSIMPLEQ_END(head) NULL | ||
441 | #define XSIMPLEQ_EMPTY(head) (XSIMPLEQ_FIRST(head) == XSIMPLEQ_END(head)) | ||
442 | #define XSIMPLEQ_NEXT(head, elm, field) XSIMPLEQ_XOR(head, ((elm)->field.sqx_next)) | ||
443 | |||
444 | |||
445 | #define XSIMPLEQ_FOREACH(var, head, field) \ | ||
446 | for ((var) = XSIMPLEQ_FIRST(head); \ | ||
447 | (var) != XSIMPLEQ_END(head); \ | ||
448 | (var) = XSIMPLEQ_NEXT(head, var, field)) | ||
449 | |||
450 | #define XSIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \ | ||
451 | for ((var) = XSIMPLEQ_FIRST(head); \ | ||
452 | (var) && ((tvar) = XSIMPLEQ_NEXT(head, var, field), 1); \ | ||
453 | (var) = (tvar)) | ||
454 | |||
455 | /* | ||
456 | * XOR Simple queue functions. | ||
457 | */ | ||
458 | #define XSIMPLEQ_INIT(head) do { \ | ||
459 | arc4random_buf(&(head)->sqx_cookie, sizeof((head)->sqx_cookie)); \ | ||
460 | (head)->sqx_first = XSIMPLEQ_XOR(head, NULL); \ | ||
461 | (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ | ||
462 | } while (0) | ||
463 | |||
464 | #define XSIMPLEQ_INSERT_HEAD(head, elm, field) do { \ | ||
465 | if (((elm)->field.sqx_next = (head)->sqx_first) == \ | ||
466 | XSIMPLEQ_XOR(head, NULL)) \ | ||
467 | (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ | ||
468 | (head)->sqx_first = XSIMPLEQ_XOR(head, (elm)); \ | ||
469 | } while (0) | ||
470 | |||
471 | #define XSIMPLEQ_INSERT_TAIL(head, elm, field) do { \ | ||
472 | (elm)->field.sqx_next = XSIMPLEQ_XOR(head, NULL); \ | ||
473 | *(XSIMPLEQ_XOR(head, (head)->sqx_last)) = XSIMPLEQ_XOR(head, (elm)); \ | ||
474 | (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ | ||
475 | } while (0) | ||
476 | |||
477 | #define XSIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ | ||
478 | if (((elm)->field.sqx_next = (listelm)->field.sqx_next) == \ | ||
479 | XSIMPLEQ_XOR(head, NULL)) \ | ||
480 | (head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ | ||
481 | (listelm)->field.sqx_next = XSIMPLEQ_XOR(head, (elm)); \ | ||
482 | } while (0) | ||
483 | |||
484 | #define XSIMPLEQ_REMOVE_HEAD(head, field) do { \ | ||
485 | if (((head)->sqx_first = XSIMPLEQ_XOR(head, \ | ||
486 | (head)->sqx_first)->field.sqx_next) == XSIMPLEQ_XOR(head, NULL)) \ | ||
487 | (head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \ | ||
488 | } while (0) | ||
489 | |||
490 | #define XSIMPLEQ_REMOVE_AFTER(head, elm, field) do { \ | ||
491 | if (((elm)->field.sqx_next = XSIMPLEQ_XOR(head, \ | ||
492 | (elm)->field.sqx_next)->field.sqx_next) \ | ||
493 | == XSIMPLEQ_XOR(head, NULL)) \ | ||
494 | (head)->sqx_last = \ | ||
495 | XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \ | ||
496 | } while (0) | ||
497 | |||
498 | |||
410 | /* | 499 | /* |
411 | * Tail queue definitions. | 500 | * Tail queue definitions. |
412 | */ | 501 | */ |
@@ -425,8 +514,8 @@ struct { \ | |||
425 | struct type **tqe_prev; /* address of previous next element */ \ | 514 | struct type **tqe_prev; /* address of previous next element */ \ |
426 | } | 515 | } |
427 | 516 | ||
428 | /* | 517 | /* |
429 | * tail queue access methods | 518 | * Tail queue access methods. |
430 | */ | 519 | */ |
431 | #define TAILQ_FIRST(head) ((head)->tqh_first) | 520 | #define TAILQ_FIRST(head) ((head)->tqh_first) |
432 | #define TAILQ_END(head) NULL | 521 | #define TAILQ_END(head) NULL |
@@ -527,133 +616,13 @@ struct { \ | |||
527 | _Q_INVALIDATE((elm)->field.tqe_next); \ | 616 | _Q_INVALIDATE((elm)->field.tqe_next); \ |
528 | } while (0) | 617 | } while (0) |
529 | 618 | ||
530 | /* | 619 | #define TAILQ_CONCAT(head1, head2, field) do { \ |
531 | * Circular queue definitions. | 620 | if (!TAILQ_EMPTY(head2)) { \ |
532 | */ | 621 | *(head1)->tqh_last = (head2)->tqh_first; \ |
533 | #define CIRCLEQ_HEAD(name, type) \ | 622 | (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \ |
534 | struct name { \ | 623 | (head1)->tqh_last = (head2)->tqh_last; \ |
535 | struct type *cqh_first; /* first element */ \ | 624 | TAILQ_INIT((head2)); \ |
536 | struct type *cqh_last; /* last element */ \ | 625 | } \ |
537 | } | ||
538 | |||
539 | #define CIRCLEQ_HEAD_INITIALIZER(head) \ | ||
540 | { CIRCLEQ_END(&head), CIRCLEQ_END(&head) } | ||
541 | |||
542 | #define CIRCLEQ_ENTRY(type) \ | ||
543 | struct { \ | ||
544 | struct type *cqe_next; /* next element */ \ | ||
545 | struct type *cqe_prev; /* previous element */ \ | ||
546 | } | ||
547 | |||
548 | /* | ||
549 | * Circular queue access methods | ||
550 | */ | ||
551 | #define CIRCLEQ_FIRST(head) ((head)->cqh_first) | ||
552 | #define CIRCLEQ_LAST(head) ((head)->cqh_last) | ||
553 | #define CIRCLEQ_END(head) ((void *)(head)) | ||
554 | #define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) | ||
555 | #define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) | ||
556 | #define CIRCLEQ_EMPTY(head) \ | ||
557 | (CIRCLEQ_FIRST(head) == CIRCLEQ_END(head)) | ||
558 | |||
559 | #define CIRCLEQ_FOREACH(var, head, field) \ | ||
560 | for((var) = CIRCLEQ_FIRST(head); \ | ||
561 | (var) != CIRCLEQ_END(head); \ | ||
562 | (var) = CIRCLEQ_NEXT(var, field)) | ||
563 | |||
564 | #define CIRCLEQ_FOREACH_SAFE(var, head, field, tvar) \ | ||
565 | for ((var) = CIRCLEQ_FIRST(head); \ | ||
566 | (var) != CIRCLEQ_END(head) && \ | ||
567 | ((tvar) = CIRCLEQ_NEXT(var, field), 1); \ | ||
568 | (var) = (tvar)) | ||
569 | |||
570 | #define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ | ||
571 | for((var) = CIRCLEQ_LAST(head); \ | ||
572 | (var) != CIRCLEQ_END(head); \ | ||
573 | (var) = CIRCLEQ_PREV(var, field)) | ||
574 | |||
575 | #define CIRCLEQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ | ||
576 | for ((var) = CIRCLEQ_LAST(head, headname); \ | ||
577 | (var) != CIRCLEQ_END(head) && \ | ||
578 | ((tvar) = CIRCLEQ_PREV(var, headname, field), 1); \ | ||
579 | (var) = (tvar)) | ||
580 | |||
581 | /* | ||
582 | * Circular queue functions. | ||
583 | */ | ||
584 | #define CIRCLEQ_INIT(head) do { \ | ||
585 | (head)->cqh_first = CIRCLEQ_END(head); \ | ||
586 | (head)->cqh_last = CIRCLEQ_END(head); \ | ||
587 | } while (0) | ||
588 | |||
589 | #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ | ||
590 | (elm)->field.cqe_next = (listelm)->field.cqe_next; \ | ||
591 | (elm)->field.cqe_prev = (listelm); \ | ||
592 | if ((listelm)->field.cqe_next == CIRCLEQ_END(head)) \ | ||
593 | (head)->cqh_last = (elm); \ | ||
594 | else \ | ||
595 | (listelm)->field.cqe_next->field.cqe_prev = (elm); \ | ||
596 | (listelm)->field.cqe_next = (elm); \ | ||
597 | } while (0) | ||
598 | |||
599 | #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ | ||
600 | (elm)->field.cqe_next = (listelm); \ | ||
601 | (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ | ||
602 | if ((listelm)->field.cqe_prev == CIRCLEQ_END(head)) \ | ||
603 | (head)->cqh_first = (elm); \ | ||
604 | else \ | ||
605 | (listelm)->field.cqe_prev->field.cqe_next = (elm); \ | ||
606 | (listelm)->field.cqe_prev = (elm); \ | ||
607 | } while (0) | ||
608 | |||
609 | #define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ | ||
610 | (elm)->field.cqe_next = (head)->cqh_first; \ | ||
611 | (elm)->field.cqe_prev = CIRCLEQ_END(head); \ | ||
612 | if ((head)->cqh_last == CIRCLEQ_END(head)) \ | ||
613 | (head)->cqh_last = (elm); \ | ||
614 | else \ | ||
615 | (head)->cqh_first->field.cqe_prev = (elm); \ | ||
616 | (head)->cqh_first = (elm); \ | ||
617 | } while (0) | ||
618 | |||
619 | #define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ | ||
620 | (elm)->field.cqe_next = CIRCLEQ_END(head); \ | ||
621 | (elm)->field.cqe_prev = (head)->cqh_last; \ | ||
622 | if ((head)->cqh_first == CIRCLEQ_END(head)) \ | ||
623 | (head)->cqh_first = (elm); \ | ||
624 | else \ | ||
625 | (head)->cqh_last->field.cqe_next = (elm); \ | ||
626 | (head)->cqh_last = (elm); \ | ||
627 | } while (0) | ||
628 | |||
629 | #define CIRCLEQ_REMOVE(head, elm, field) do { \ | ||
630 | if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \ | ||
631 | (head)->cqh_last = (elm)->field.cqe_prev; \ | ||
632 | else \ | ||
633 | (elm)->field.cqe_next->field.cqe_prev = \ | ||
634 | (elm)->field.cqe_prev; \ | ||
635 | if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \ | ||
636 | (head)->cqh_first = (elm)->field.cqe_next; \ | ||
637 | else \ | ||
638 | (elm)->field.cqe_prev->field.cqe_next = \ | ||
639 | (elm)->field.cqe_next; \ | ||
640 | _Q_INVALIDATE((elm)->field.cqe_prev); \ | ||
641 | _Q_INVALIDATE((elm)->field.cqe_next); \ | ||
642 | } while (0) | ||
643 | |||
644 | #define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \ | ||
645 | if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \ | ||
646 | CIRCLEQ_END(head)) \ | ||
647 | (head).cqh_last = (elm2); \ | ||
648 | else \ | ||
649 | (elm2)->field.cqe_next->field.cqe_prev = (elm2); \ | ||
650 | if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \ | ||
651 | CIRCLEQ_END(head)) \ | ||
652 | (head).cqh_first = (elm2); \ | ||
653 | else \ | ||
654 | (elm2)->field.cqe_prev->field.cqe_next = (elm2); \ | ||
655 | _Q_INVALIDATE((elm)->field.cqe_prev); \ | ||
656 | _Q_INVALIDATE((elm)->field.cqe_next); \ | ||
657 | } while (0) | 626 | } while (0) |
658 | 627 | ||
659 | #endif /* !_FAKE_QUEUE_H_ */ | 628 | #endif /* !_SYS_QUEUE_H_ */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: packet.c,v 1.291 2020/03/06 18:20:44 markus Exp $ */ | 1 | /* $OpenBSD: packet.c,v 1.296 2020/07/05 23:59:45 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 |
@@ -282,7 +282,8 @@ ssh_packet_set_input_hook(struct ssh *ssh, ssh_packet_hook_fn *hook, void *ctx) | |||
282 | int | 282 | int |
283 | ssh_packet_is_rekeying(struct ssh *ssh) | 283 | ssh_packet_is_rekeying(struct ssh *ssh) |
284 | { | 284 | { |
285 | return ssh->state->rekeying || ssh->kex->done == 0; | 285 | return ssh->state->rekeying || |
286 | (ssh->kex != NULL && ssh->kex->done == 0); | ||
286 | } | 287 | } |
287 | 288 | ||
288 | /* | 289 | /* |
@@ -345,6 +346,8 @@ ssh_packet_set_mux(struct ssh *ssh) | |||
345 | { | 346 | { |
346 | ssh->state->mux = 1; | 347 | ssh->state->mux = 1; |
347 | ssh->state->rekeying = 0; | 348 | ssh->state->rekeying = 0; |
349 | kex_free(ssh->kex); | ||
350 | ssh->kex = NULL; | ||
348 | } | 351 | } |
349 | 352 | ||
350 | int | 353 | int |
@@ -651,6 +654,8 @@ ssh_packet_close_internal(struct ssh *ssh, int do_close) | |||
651 | ssh->remote_ipaddr = NULL; | 654 | ssh->remote_ipaddr = NULL; |
652 | free(ssh->state); | 655 | free(ssh->state); |
653 | ssh->state = NULL; | 656 | ssh->state = NULL; |
657 | kex_free(ssh->kex); | ||
658 | ssh->kex = NULL; | ||
654 | } | 659 | } |
655 | } | 660 | } |
656 | 661 | ||
@@ -2445,7 +2450,7 @@ ssh_packet_set_state(struct ssh *ssh, struct sshbuf *m) | |||
2445 | (r = sshbuf_get_u64(m, &state->p_read.bytes)) != 0) | 2450 | (r = sshbuf_get_u64(m, &state->p_read.bytes)) != 0) |
2446 | return r; | 2451 | return r; |
2447 | /* | 2452 | /* |
2448 | * We set the time here so that in post-auth privsep slave we | 2453 | * We set the time here so that in post-auth privsep child we |
2449 | * count from the completion of the authentication. | 2454 | * count from the completion of the authentication. |
2450 | */ | 2455 | */ |
2451 | state->rekey_time = monotime(); | 2456 | state->rekey_time = monotime(); |
diff --git a/readconf.c b/readconf.c index 9a646dcaa..c60df5602 100644 --- a/readconf.c +++ b/readconf.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: readconf.c,v 1.329 2020/04/24 03:33:21 dtucker Exp $ */ | 1 | /* $OpenBSD: readconf.c,v 1.335 2020/08/27 02:11:09 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 |
@@ -683,7 +683,7 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, | |||
683 | if (r == (negate ? 1 : 0)) | 683 | if (r == (negate ? 1 : 0)) |
684 | this_result = result = 0; | 684 | this_result = result = 0; |
685 | } else if (strcasecmp(attrib, "exec") == 0) { | 685 | } else if (strcasecmp(attrib, "exec") == 0) { |
686 | char *conn_hash_hex; | 686 | char *conn_hash_hex, *keyalias; |
687 | 687 | ||
688 | if (gethostname(thishost, sizeof(thishost)) == -1) | 688 | if (gethostname(thishost, sizeof(thishost)) == -1) |
689 | fatal("gethostname: %s", strerror(errno)); | 689 | fatal("gethostname: %s", strerror(errno)); |
@@ -694,12 +694,15 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, | |||
694 | (unsigned long long)pw->pw_uid); | 694 | (unsigned long long)pw->pw_uid); |
695 | conn_hash_hex = ssh_connection_hash(thishost, host, | 695 | conn_hash_hex = ssh_connection_hash(thishost, host, |
696 | portstr, ruser); | 696 | portstr, ruser); |
697 | keyalias = options->host_key_alias ? | ||
698 | options->host_key_alias : host; | ||
697 | 699 | ||
698 | cmd = percent_expand(arg, | 700 | cmd = percent_expand(arg, |
699 | "C", conn_hash_hex, | 701 | "C", conn_hash_hex, |
700 | "L", shorthost, | 702 | "L", shorthost, |
701 | "d", pw->pw_dir, | 703 | "d", pw->pw_dir, |
702 | "h", host, | 704 | "h", host, |
705 | "k", keyalias, | ||
703 | "l", thishost, | 706 | "l", thishost, |
704 | "n", original_host, | 707 | "n", original_host, |
705 | "p", portstr, | 708 | "p", portstr, |
@@ -754,7 +757,7 @@ match_cfg_line(Options *options, char **condition, struct passwd *pw, | |||
754 | static void | 757 | static void |
755 | rm_env(Options *options, const char *arg, const char *filename, int linenum) | 758 | rm_env(Options *options, const char *arg, const char *filename, int linenum) |
756 | { | 759 | { |
757 | int i, j; | 760 | int i, j, onum_send_env = options->num_send_env; |
758 | char *cp; | 761 | char *cp; |
759 | 762 | ||
760 | /* Remove an environment variable */ | 763 | /* Remove an environment variable */ |
@@ -777,6 +780,11 @@ rm_env(Options *options, const char *arg, const char *filename, int linenum) | |||
777 | options->num_send_env--; | 780 | options->num_send_env--; |
778 | /* NB. don't increment i */ | 781 | /* NB. don't increment i */ |
779 | } | 782 | } |
783 | if (onum_send_env != options->num_send_env) { | ||
784 | options->send_env = xrecallocarray(options->send_env, | ||
785 | onum_send_env, options->num_send_env, | ||
786 | sizeof(*options->send_env)); | ||
787 | } | ||
780 | } | 788 | } |
781 | 789 | ||
782 | /* | 790 | /* |
@@ -888,6 +896,21 @@ static const struct multistate multistate_compression[] = { | |||
888 | { NULL, -1 } | 896 | { NULL, -1 } |
889 | }; | 897 | }; |
890 | 898 | ||
899 | static int | ||
900 | parse_multistate_value(const char *arg, const char *filename, int linenum, | ||
901 | const struct multistate *multistate_ptr) | ||
902 | { | ||
903 | int i; | ||
904 | |||
905 | if (!arg || *arg == '\0') | ||
906 | fatal("%s line %d: missing argument.", filename, linenum); | ||
907 | for (i = 0; multistate_ptr[i].key != NULL; i++) { | ||
908 | if (strcasecmp(arg, multistate_ptr[i].key) == 0) | ||
909 | return multistate_ptr[i].value; | ||
910 | } | ||
911 | return -1; | ||
912 | } | ||
913 | |||
891 | /* | 914 | /* |
892 | * Processes a single option line as used in the configuration files. This | 915 | * Processes a single option line as used in the configuration files. This |
893 | * only sets those values that have not already been set. | 916 | * only sets those values that have not already been set. |
@@ -1011,19 +1034,11 @@ parse_time: | |||
1011 | multistate_ptr = multistate_flag; | 1034 | multistate_ptr = multistate_flag; |
1012 | parse_multistate: | 1035 | parse_multistate: |
1013 | arg = strdelim(&s); | 1036 | arg = strdelim(&s); |
1014 | if (!arg || *arg == '\0') | 1037 | if ((value = parse_multistate_value(arg, filename, linenum, |
1015 | fatal("%s line %d: missing argument.", | 1038 | multistate_ptr)) == -1) { |
1016 | filename, linenum); | ||
1017 | value = -1; | ||
1018 | for (i = 0; multistate_ptr[i].key != NULL; i++) { | ||
1019 | if (strcasecmp(arg, multistate_ptr[i].key) == 0) { | ||
1020 | value = multistate_ptr[i].value; | ||
1021 | break; | ||
1022 | } | ||
1023 | } | ||
1024 | if (value == -1) | ||
1025 | fatal("%s line %d: unsupported option \"%s\".", | 1039 | fatal("%s line %d: unsupported option \"%s\".", |
1026 | filename, linenum, arg); | 1040 | filename, linenum, arg); |
1041 | } | ||
1027 | if (*activep && *intptr == -1) | 1042 | if (*activep && *intptr == -1) |
1028 | *intptr = value; | 1043 | *intptr = value; |
1029 | break; | 1044 | break; |
@@ -1845,9 +1860,30 @@ parse_keytypes: | |||
1845 | goto parse_keytypes; | 1860 | goto parse_keytypes; |
1846 | 1861 | ||
1847 | case oAddKeysToAgent: | 1862 | case oAddKeysToAgent: |
1848 | intptr = &options->add_keys_to_agent; | 1863 | arg = strdelim(&s); |
1849 | multistate_ptr = multistate_yesnoaskconfirm; | 1864 | arg2 = strdelim(&s); |
1850 | goto parse_multistate; | 1865 | value = parse_multistate_value(arg, filename, linenum, |
1866 | multistate_yesnoaskconfirm); | ||
1867 | value2 = 0; /* unlimited lifespan by default */ | ||
1868 | if (value == 3 && arg2 != NULL) { | ||
1869 | /* allow "AddKeysToAgent confirm 5m" */ | ||
1870 | if ((value2 = convtime(arg2)) == -1 || value2 > INT_MAX) | ||
1871 | fatal("%s line %d: invalid time value.", | ||
1872 | filename, linenum); | ||
1873 | } else if (value == -1 && arg2 == NULL) { | ||
1874 | if ((value2 = convtime(arg)) == -1 || value2 > INT_MAX) | ||
1875 | fatal("%s line %d: unsupported option", | ||
1876 | filename, linenum); | ||
1877 | value = 1; /* yes */ | ||
1878 | } else if (value == -1 || arg2 != NULL) { | ||
1879 | fatal("%s line %d: unsupported option", | ||
1880 | filename, linenum); | ||
1881 | } | ||
1882 | if (*activep && options->add_keys_to_agent == -1) { | ||
1883 | options->add_keys_to_agent = value; | ||
1884 | options->add_keys_to_agent_lifespan = value2; | ||
1885 | } | ||
1886 | break; | ||
1851 | 1887 | ||
1852 | case oIdentityAgent: | 1888 | case oIdentityAgent: |
1853 | charptr = &options->identity_agent; | 1889 | charptr = &options->identity_agent; |
@@ -1857,7 +1893,12 @@ parse_keytypes: | |||
1857 | filename, linenum); | 1893 | filename, linenum); |
1858 | parse_agent_path: | 1894 | parse_agent_path: |
1859 | /* Extra validation if the string represents an env var. */ | 1895 | /* Extra validation if the string represents an env var. */ |
1860 | if (arg[0] == '$' && !valid_env_name(arg + 1)) { | 1896 | if ((arg2 = dollar_expand(&r, arg)) == NULL || r) |
1897 | fatal("%.200s line %d: Invalid environment expansion " | ||
1898 | "%s.", filename, linenum, arg); | ||
1899 | free(arg2); | ||
1900 | /* check for legacy environment format */ | ||
1901 | if (arg[0] == '$' && arg[1] != '{' && !valid_env_name(arg + 1)) { | ||
1861 | fatal("%.200s line %d: Invalid environment name %s.", | 1902 | fatal("%.200s line %d: Invalid environment name %s.", |
1862 | filename, linenum, arg); | 1903 | filename, linenum, arg); |
1863 | } | 1904 | } |
@@ -2061,6 +2102,7 @@ initialize_options(Options * options) | |||
2061 | options->permit_local_command = -1; | 2102 | options->permit_local_command = -1; |
2062 | options->remote_command = NULL; | 2103 | options->remote_command = NULL; |
2063 | options->add_keys_to_agent = -1; | 2104 | options->add_keys_to_agent = -1; |
2105 | options->add_keys_to_agent_lifespan = -1; | ||
2064 | options->identity_agent = NULL; | 2106 | options->identity_agent = NULL; |
2065 | options->visual_host_key = -1; | 2107 | options->visual_host_key = -1; |
2066 | options->ip_qos_interactive = -1; | 2108 | options->ip_qos_interactive = -1; |
@@ -2178,8 +2220,10 @@ fill_default_options(Options * options) | |||
2178 | if (options->number_of_password_prompts == -1) | 2220 | if (options->number_of_password_prompts == -1) |
2179 | options->number_of_password_prompts = 3; | 2221 | options->number_of_password_prompts = 3; |
2180 | /* options->hostkeyalgorithms, default set in myproposals.h */ | 2222 | /* options->hostkeyalgorithms, default set in myproposals.h */ |
2181 | if (options->add_keys_to_agent == -1) | 2223 | if (options->add_keys_to_agent == -1) { |
2182 | options->add_keys_to_agent = 0; | 2224 | options->add_keys_to_agent = 0; |
2225 | options->add_keys_to_agent_lifespan = 0; | ||
2226 | } | ||
2183 | if (options->num_identity_files == 0) { | 2227 | if (options->num_identity_files == 0) { |
2184 | add_identity_file(options, "~/", _PATH_SSH_CLIENT_ID_RSA, 0); | 2228 | add_identity_file(options, "~/", _PATH_SSH_CLIENT_ID_RSA, 0); |
2185 | add_identity_file(options, "~/", _PATH_SSH_CLIENT_ID_DSA, 0); | 2229 | add_identity_file(options, "~/", _PATH_SSH_CLIENT_ID_DSA, 0); |
@@ -2284,11 +2328,11 @@ fill_default_options(Options * options) | |||
2284 | all_key = sshkey_alg_list(0, 0, 1, ','); | 2328 | all_key = sshkey_alg_list(0, 0, 1, ','); |
2285 | all_sig = sshkey_alg_list(0, 1, 1, ','); | 2329 | all_sig = sshkey_alg_list(0, 1, 1, ','); |
2286 | /* remove unsupported algos from default lists */ | 2330 | /* remove unsupported algos from default lists */ |
2287 | def_cipher = match_filter_whitelist(KEX_CLIENT_ENCRYPT, all_cipher); | 2331 | def_cipher = match_filter_allowlist(KEX_CLIENT_ENCRYPT, all_cipher); |
2288 | def_mac = match_filter_whitelist(KEX_CLIENT_MAC, all_mac); | 2332 | def_mac = match_filter_allowlist(KEX_CLIENT_MAC, all_mac); |
2289 | def_kex = match_filter_whitelist(KEX_CLIENT_KEX, all_kex); | 2333 | def_kex = match_filter_allowlist(KEX_CLIENT_KEX, all_kex); |
2290 | def_key = match_filter_whitelist(KEX_DEFAULT_PK_ALG, all_key); | 2334 | def_key = match_filter_allowlist(KEX_DEFAULT_PK_ALG, all_key); |
2291 | def_sig = match_filter_whitelist(SSH_ALLOWED_CA_SIGALGS, all_sig); | 2335 | def_sig = match_filter_allowlist(SSH_ALLOWED_CA_SIGALGS, all_sig); |
2292 | #define ASSEMBLE(what, defaults, all) \ | 2336 | #define ASSEMBLE(what, defaults, all) \ |
2293 | do { \ | 2337 | do { \ |
2294 | if ((r = kex_assemble_names(&options->what, \ | 2338 | if ((r = kex_assemble_names(&options->what, \ |
@@ -2423,12 +2467,19 @@ parse_forward(struct Forward *fwd, const char *fwdspec, int dynamicfwd, int remo | |||
2423 | { | 2467 | { |
2424 | struct fwdarg fwdargs[4]; | 2468 | struct fwdarg fwdargs[4]; |
2425 | char *p, *cp; | 2469 | char *p, *cp; |
2426 | int i; | 2470 | int i, err; |
2427 | 2471 | ||
2428 | memset(fwd, 0, sizeof(*fwd)); | 2472 | memset(fwd, 0, sizeof(*fwd)); |
2429 | memset(fwdargs, 0, sizeof(fwdargs)); | 2473 | memset(fwdargs, 0, sizeof(fwdargs)); |
2430 | 2474 | ||
2431 | cp = p = xstrdup(fwdspec); | 2475 | /* |
2476 | * We expand environment variables before checking if we think they're | ||
2477 | * paths so that if ${VAR} expands to a fully qualified path it is | ||
2478 | * treated as a path. | ||
2479 | */ | ||
2480 | cp = p = dollar_expand(&err, fwdspec); | ||
2481 | if (p == NULL || err) | ||
2482 | return 0; | ||
2432 | 2483 | ||
2433 | /* skip leading spaces */ | 2484 | /* skip leading spaces */ |
2434 | while (isspace((u_char)*cp)) | 2485 | while (isspace((u_char)*cp)) |
@@ -2781,7 +2832,6 @@ dump_client_config(Options *o, const char *host) | |||
2781 | dump_cfg_int(oPort, o->port); | 2832 | dump_cfg_int(oPort, o->port); |
2782 | 2833 | ||
2783 | /* Flag options */ | 2834 | /* Flag options */ |
2784 | dump_cfg_fmtint(oAddKeysToAgent, o->add_keys_to_agent); | ||
2785 | dump_cfg_fmtint(oAddressFamily, o->address_family); | 2835 | dump_cfg_fmtint(oAddressFamily, o->address_family); |
2786 | dump_cfg_fmtint(oBatchMode, o->batch_mode); | 2836 | dump_cfg_fmtint(oBatchMode, o->batch_mode); |
2787 | dump_cfg_fmtint(oCanonicalizeFallbackLocal, o->canonicalize_fallback_local); | 2837 | dump_cfg_fmtint(oCanonicalizeFallbackLocal, o->canonicalize_fallback_local); |
@@ -2876,6 +2926,15 @@ dump_client_config(Options *o, const char *host) | |||
2876 | 2926 | ||
2877 | /* Special cases */ | 2927 | /* Special cases */ |
2878 | 2928 | ||
2929 | /* AddKeysToAgent */ | ||
2930 | if (o->add_keys_to_agent_lifespan <= 0) | ||
2931 | dump_cfg_fmtint(oAddKeysToAgent, o->add_keys_to_agent); | ||
2932 | else { | ||
2933 | printf("addkeystoagent%s %d\n", | ||
2934 | o->add_keys_to_agent == 3 ? " confirm" : "", | ||
2935 | o->add_keys_to_agent_lifespan); | ||
2936 | } | ||
2937 | |||
2879 | /* oForwardAgent */ | 2938 | /* oForwardAgent */ |
2880 | if (o->forward_agent_sock_path == NULL) | 2939 | if (o->forward_agent_sock_path == NULL) |
2881 | dump_cfg_fmtint(oForwardAgent, o->forward_agent); | 2940 | dump_cfg_fmtint(oForwardAgent, o->forward_agent); |
diff --git a/readconf.h b/readconf.h index c405b837f..3803eeddf 100644 --- a/readconf.h +++ b/readconf.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: readconf.h,v 1.133 2020/04/03 02:27:12 dtucker Exp $ */ | 1 | /* $OpenBSD: readconf.h,v 1.134 2020/08/11 09:49:57 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -103,6 +103,7 @@ typedef struct { | |||
103 | struct sshkey *certificates[SSH_MAX_CERTIFICATE_FILES]; | 103 | struct sshkey *certificates[SSH_MAX_CERTIFICATE_FILES]; |
104 | 104 | ||
105 | int add_keys_to_agent; | 105 | int add_keys_to_agent; |
106 | int add_keys_to_agent_lifespan; | ||
106 | char *identity_agent; /* Optional path to ssh-agent socket */ | 107 | char *identity_agent; /* Optional path to ssh-agent socket */ |
107 | 108 | ||
108 | /* Local TCP/IP forward requests. */ | 109 | /* Local TCP/IP forward requests. */ |
diff --git a/readpass.c b/readpass.c index 974d67f0b..122d2a87c 100644 --- a/readpass.c +++ b/readpass.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: readpass.c,v 1.61 2020/01/23 07:10:22 dtucker Exp $ */ | 1 | /* $OpenBSD: readpass.c,v 1.63 2020/08/11 09:45:54 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -123,11 +123,26 @@ char * | |||
123 | read_passphrase(const char *prompt, int flags) | 123 | read_passphrase(const char *prompt, int flags) |
124 | { | 124 | { |
125 | char cr = '\r', *askpass = NULL, *ret, buf[1024]; | 125 | char cr = '\r', *askpass = NULL, *ret, buf[1024]; |
126 | int rppflags, use_askpass = 0, ttyfd; | 126 | int rppflags, ttyfd, use_askpass = 0, allow_askpass = 0; |
127 | const char *askpass_hint = NULL; | 127 | const char *askpass_hint = NULL; |
128 | const char *s; | ||
129 | |||
130 | if ((s = getenv("DISPLAY")) != NULL) | ||
131 | allow_askpass = *s != '\0'; | ||
132 | if ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) != NULL) { | ||
133 | if (strcasecmp(s, "force") == 0) { | ||
134 | use_askpass = 1; | ||
135 | allow_askpass = 1; | ||
136 | } else if (strcasecmp(s, "prefer") == 0) | ||
137 | use_askpass = allow_askpass; | ||
138 | else if (strcasecmp(s, "never") == 0) | ||
139 | allow_askpass = 0; | ||
140 | } | ||
128 | 141 | ||
129 | rppflags = (flags & RP_ECHO) ? RPP_ECHO_ON : RPP_ECHO_OFF; | 142 | rppflags = (flags & RP_ECHO) ? RPP_ECHO_ON : RPP_ECHO_OFF; |
130 | if (flags & RP_USE_ASKPASS) | 143 | if (use_askpass) |
144 | debug("%s: requested to askpass", __func__); | ||
145 | else if (flags & RP_USE_ASKPASS) | ||
131 | use_askpass = 1; | 146 | use_askpass = 1; |
132 | else if (flags & RP_ALLOW_STDIN) { | 147 | else if (flags & RP_ALLOW_STDIN) { |
133 | if (!isatty(STDIN_FILENO)) { | 148 | if (!isatty(STDIN_FILENO)) { |
@@ -153,10 +168,10 @@ read_passphrase(const char *prompt, int flags) | |||
153 | } | 168 | } |
154 | } | 169 | } |
155 | 170 | ||
156 | if ((flags & RP_USE_ASKPASS) && getenv("DISPLAY") == NULL) | 171 | if ((flags & RP_USE_ASKPASS) && !allow_askpass) |
157 | return (flags & RP_ALLOW_EOF) ? NULL : xstrdup(""); | 172 | return (flags & RP_ALLOW_EOF) ? NULL : xstrdup(""); |
158 | 173 | ||
159 | if (use_askpass && getenv("DISPLAY")) { | 174 | if (use_askpass && allow_askpass) { |
160 | if (getenv(SSH_ASKPASS_ENV)) | 175 | if (getenv(SSH_ASKPASS_ENV)) |
161 | askpass = getenv(SSH_ASKPASS_ENV); | 176 | askpass = getenv(SSH_ASKPASS_ENV); |
162 | else | 177 | else |
@@ -220,8 +235,8 @@ notify_start(int force_askpass, const char *fmt, ...) | |||
220 | int devnull; | 235 | int devnull; |
221 | pid_t pid; | 236 | pid_t pid; |
222 | void (*osigchld)(int); | 237 | void (*osigchld)(int); |
223 | const char *askpass; | 238 | const char *askpass, *s; |
224 | struct notifier_ctx *ret; | 239 | struct notifier_ctx *ret = NULL; |
225 | 240 | ||
226 | va_start(args, fmt); | 241 | va_start(args, fmt); |
227 | xvasprintf(&prompt, fmt, args); | 242 | xvasprintf(&prompt, fmt, args); |
@@ -233,15 +248,19 @@ notify_start(int force_askpass, const char *fmt, ...) | |||
233 | (void)write(STDERR_FILENO, "\r", 1); | 248 | (void)write(STDERR_FILENO, "\r", 1); |
234 | (void)write(STDERR_FILENO, prompt, strlen(prompt)); | 249 | (void)write(STDERR_FILENO, prompt, strlen(prompt)); |
235 | (void)write(STDERR_FILENO, "\r\n", 2); | 250 | (void)write(STDERR_FILENO, "\r\n", 2); |
236 | free(prompt); | 251 | goto out; |
237 | return NULL; | ||
238 | } | 252 | } |
239 | if ((askpass = getenv("SSH_ASKPASS")) == NULL) | 253 | if ((askpass = getenv("SSH_ASKPASS")) == NULL) |
240 | askpass = _PATH_SSH_ASKPASS_DEFAULT; | 254 | askpass = _PATH_SSH_ASKPASS_DEFAULT; |
241 | if (getenv("DISPLAY") == NULL || *askpass == '\0') { | 255 | if (*askpass == '\0') { |
242 | debug3("%s: cannot notify", __func__); | 256 | debug3("%s: cannot notify: no askpass", __func__); |
243 | free(prompt); | 257 | goto out; |
244 | return NULL; | 258 | } |
259 | if (getenv("DISPLAY") == NULL && | ||
260 | ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) == NULL || | ||
261 | strcmp(s, "force") != 0)) { | ||
262 | debug3("%s: cannot notify: no display", __func__); | ||
263 | goto out; | ||
245 | } | 264 | } |
246 | osigchld = ssh_signal(SIGCHLD, SIG_DFL); | 265 | osigchld = ssh_signal(SIGCHLD, SIG_DFL); |
247 | if ((pid = fork()) == -1) { | 266 | if ((pid = fork()) == -1) { |
@@ -269,6 +288,7 @@ notify_start(int force_askpass, const char *fmt, ...) | |||
269 | } | 288 | } |
270 | ret->pid = pid; | 289 | ret->pid = pid; |
271 | ret->osigchld = osigchld; | 290 | ret->osigchld = osigchld; |
291 | out: | ||
272 | free(prompt); | 292 | free(prompt); |
273 | return ret; | 293 | return ret; |
274 | } | 294 | } |
diff --git a/regress/Makefile b/regress/Makefile index 53a50ffca..f50d189bb 100644 --- a/regress/Makefile +++ b/regress/Makefile | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: Makefile,v 1.108 2020/04/20 04:44:47 djm Exp $ | 1 | # $OpenBSD: Makefile,v 1.109 2020/06/19 05:07:09 dtucker Exp $ |
2 | 2 | ||
3 | tests: prep file-tests t-exec unit | 3 | tests: prep file-tests t-exec unit |
4 | 4 | ||
@@ -41,6 +41,7 @@ LTESTS= connect \ | |||
41 | agent-getpeereid \ | 41 | agent-getpeereid \ |
42 | agent-timeout \ | 42 | agent-timeout \ |
43 | agent-ptrace \ | 43 | agent-ptrace \ |
44 | agent-subprocess \ | ||
44 | keyscan \ | 45 | keyscan \ |
45 | keygen-change \ | 46 | keygen-change \ |
46 | keygen-convert \ | 47 | keygen-convert \ |
@@ -250,6 +251,8 @@ unit: | |||
250 | $$V ${.OBJDIR}/unittests/sshbuf/test_sshbuf ; \ | 251 | $$V ${.OBJDIR}/unittests/sshbuf/test_sshbuf ; \ |
251 | $$V ${.OBJDIR}/unittests/sshkey/test_sshkey \ | 252 | $$V ${.OBJDIR}/unittests/sshkey/test_sshkey \ |
252 | -d ${.CURDIR}/unittests/sshkey/testdata ; \ | 253 | -d ${.CURDIR}/unittests/sshkey/testdata ; \ |
254 | $$V ${.OBJDIR}/unittests/sshsig/test_sshsig \ | ||
255 | -d ${.CURDIR}/unittests/sshsig/testdata ; \ | ||
253 | $$V ${.OBJDIR}/unittests/bitmap/test_bitmap ; \ | 256 | $$V ${.OBJDIR}/unittests/bitmap/test_bitmap ; \ |
254 | $$V ${.OBJDIR}/unittests/conversion/test_conversion ; \ | 257 | $$V ${.OBJDIR}/unittests/conversion/test_conversion ; \ |
255 | $$V ${.OBJDIR}/unittests/kex/test_kex ; \ | 258 | $$V ${.OBJDIR}/unittests/kex/test_kex ; \ |
diff --git a/regress/addrmatch.sh b/regress/addrmatch.sh index e7d29c3f3..26e0c9910 100644 --- a/regress/addrmatch.sh +++ b/regress/addrmatch.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: addrmatch.sh,v 1.5 2020/03/13 03:18:45 djm Exp $ | 1 | # $OpenBSD: addrmatch.sh,v 1.6 2020/08/28 03:17:13 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="address match" | 4 | tid="address match" |
@@ -52,5 +52,17 @@ run_trial user ::5 somehost ::1 1234 match3 "IP6 localaddress" | |||
52 | run_trial user ::5 somehost ::2 5678 match4 "IP6 localport" | 52 | run_trial user ::5 somehost ::2 5678 match4 "IP6 localport" |
53 | fi | 53 | fi |
54 | 54 | ||
55 | # | ||
56 | # Check that we catch invalid address/mask in Match Address/Localaddress | ||
57 | # | ||
58 | for i in 10.0.1.0/8 10.0.0.1/24 2000:aa:bb:01::/56; do | ||
59 | for a in address localaddress; do | ||
60 | verbose "test invalid Match $a $i" | ||
61 | echo "Match $a $i" > $OBJ/sshd_proxy | ||
62 | ${SUDO} ${SSHD} -f $OBJ/sshd_proxy -t >/dev/null 2>&1 && \ | ||
63 | fail "accepted invalid match $a $i" | ||
64 | done | ||
65 | done | ||
66 | |||
55 | cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy | 67 | cp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy |
56 | rm $OBJ/sshd_proxy_bak | 68 | rm $OBJ/sshd_proxy_bak |
diff --git a/regress/agent-subprocess.sh b/regress/agent-subprocess.sh new file mode 100644 index 000000000..2f36d70cc --- /dev/null +++ b/regress/agent-subprocess.sh | |||
@@ -0,0 +1,22 @@ | |||
1 | # $OpenBSD: agent-subprocess.sh,v 1.1 2020/06/19 05:07:09 dtucker Exp $ | ||
2 | # Placed in the Public Domain. | ||
3 | |||
4 | tid="agent subprocess" | ||
5 | |||
6 | trace "ensure agent exits when run as subprocess" | ||
7 | ${SSHAGENT} sh -c "echo \$SSH_AGENT_PID >$OBJ/pidfile; sleep 1" | ||
8 | |||
9 | pid=`cat $OBJ/pidfile` | ||
10 | |||
11 | # Currently ssh-agent polls every 10s so we need to wait at least that long. | ||
12 | n=12 | ||
13 | while kill -0 $pid >/dev/null 2>&1 && test "$n" -gt "0"; do | ||
14 | n=$(($n - 1)) | ||
15 | sleep 1 | ||
16 | done | ||
17 | |||
18 | if test "$n" -eq "0"; then | ||
19 | fail "agent still running" | ||
20 | fi | ||
21 | |||
22 | rm -f $OBJ/pidfile | ||
diff --git a/regress/agent.sh b/regress/agent.sh index 39403653c..a3ad1385f 100644 --- a/regress/agent.sh +++ b/regress/agent.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: agent.sh,v 1.17 2019/12/21 02:33:07 djm Exp $ | 1 | # $OpenBSD: agent.sh,v 1.19 2020/07/15 04:55:47 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="simple agent test" | 4 | tid="simple agent test" |
@@ -45,17 +45,20 @@ for t in ${SSH_KEYTYPES}; do | |||
45 | # add to authorized keys | 45 | # add to authorized keys |
46 | cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER | 46 | cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER |
47 | # add private key to agent | 47 | # add private key to agent |
48 | ${SSHADD} $OBJ/$t-agent #> /dev/null 2>&1 | 48 | ${SSHADD} $OBJ/$t-agent > /dev/null 2>&1 |
49 | if [ $? -ne 0 ]; then | 49 | if [ $? -ne 0 ]; then |
50 | fail "ssh-add failed exit code $?" | 50 | fail "ssh-add failed exit code $?" |
51 | fi | 51 | fi |
52 | # add private key to second agent | 52 | # add private key to second agent |
53 | SSH_AUTH_SOCK=$FW_SSH_AUTH_SOCK ${SSHADD} $OBJ/$t-agent #> /dev/null 2>&1 | 53 | SSH_AUTH_SOCK=$FW_SSH_AUTH_SOCK ${SSHADD} $OBJ/$t-agent > /dev/null 2>&1 |
54 | if [ $? -ne 0 ]; then | 54 | if [ $? -ne 0 ]; then |
55 | fail "ssh-add failed exit code $?" | 55 | fail "ssh-add failed exit code $?" |
56 | fi | 56 | fi |
57 | # Remove private key to ensure that we aren't accidentally using it. | 57 | # Move private key to ensure that we aren't accidentally using it. |
58 | rm -f $OBJ/$t-agent | 58 | # Keep the corresponding public keys/certs around for later use. |
59 | mv -f $OBJ/$t-agent $OBJ/$t-agent-private | ||
60 | cp -f $OBJ/$t-agent.pub $OBJ/$t-agent-private.pub | ||
61 | cp -f $OBJ/$t-agent-cert.pub $OBJ/$t-agent-private-cert.pub | ||
59 | done | 62 | done |
60 | 63 | ||
61 | # Remove explicit identity directives from ssh_proxy | 64 | # Remove explicit identity directives from ssh_proxy |
@@ -152,12 +155,72 @@ for t in ${SSH_KEYTYPES}; do | |||
152 | fi | 155 | fi |
153 | done | 156 | done |
154 | 157 | ||
158 | ## Deletion tests. | ||
159 | |||
155 | trace "delete all agent keys" | 160 | trace "delete all agent keys" |
156 | ${SSHADD} -D > /dev/null 2>&1 | 161 | ${SSHADD} -D > /dev/null 2>&1 |
157 | r=$? | 162 | r=$? |
158 | if [ $r -ne 0 ]; then | 163 | if [ $r -ne 0 ]; then |
159 | fail "ssh-add -D failed: exit code $r" | 164 | fail "ssh-add -D failed: exit code $r" |
160 | fi | 165 | fi |
166 | # make sure they're gone | ||
167 | ${SSHADD} -l > /dev/null 2>&1 | ||
168 | r=$? | ||
169 | if [ $r -ne 1 ]; then | ||
170 | fail "ssh-add -l returned unexpected exit code: $r" | ||
171 | fi | ||
172 | trace "readd keys" | ||
173 | # re-add keys/certs to agent | ||
174 | for t in ${SSH_KEYTYPES}; do | ||
175 | ${SSHADD} $OBJ/$t-agent-private >/dev/null 2>&1 || \ | ||
176 | fail "ssh-add failed exit code $?" | ||
177 | done | ||
178 | # make sure they are there | ||
179 | ${SSHADD} -l > /dev/null 2>&1 | ||
180 | r=$? | ||
181 | if [ $r -ne 0 ]; then | ||
182 | fail "ssh-add -l failed: exit code $r" | ||
183 | fi | ||
184 | |||
185 | check_key_absent() { | ||
186 | ${SSHADD} -L | grep "^$1 " >/dev/null | ||
187 | if [ $? -eq 0 ]; then | ||
188 | fail "$1 key unexpectedly present" | ||
189 | fi | ||
190 | } | ||
191 | check_key_present() { | ||
192 | ${SSHADD} -L | grep "^$1 " >/dev/null | ||
193 | if [ $? -ne 0 ]; then | ||
194 | fail "$1 key missing from agent" | ||
195 | fi | ||
196 | } | ||
197 | |||
198 | # delete the ed25519 key | ||
199 | trace "delete single key by file" | ||
200 | ${SSHADD} -qdk $OBJ/ssh-ed25519-agent || fail "ssh-add -d ed25519 failed" | ||
201 | check_key_absent ssh-ed25519 | ||
202 | check_key_present ssh-ed25519-cert-v01@openssh.com | ||
203 | # Put key/cert back. | ||
204 | ${SSHADD} $OBJ/ssh-ed25519-agent-private >/dev/null 2>&1 || \ | ||
205 | fail "ssh-add failed exit code $?" | ||
206 | check_key_present ssh-ed25519 | ||
207 | # Delete both key and certificate. | ||
208 | trace "delete key/cert by file" | ||
209 | ${SSHADD} -qd $OBJ/ssh-ed25519-agent || fail "ssh-add -d ed25519 failed" | ||
210 | check_key_absent ssh-ed25519 | ||
211 | check_key_absent ssh-ed25519-cert-v01@openssh.com | ||
212 | # Put key/cert back. | ||
213 | ${SSHADD} $OBJ/ssh-ed25519-agent-private >/dev/null 2>&1 || \ | ||
214 | fail "ssh-add failed exit code $?" | ||
215 | check_key_present ssh-ed25519 | ||
216 | # Delete certificate via stdin | ||
217 | ${SSHADD} -qd - < $OBJ/ssh-ed25519-agent-cert.pub || fail "ssh-add -d - failed" | ||
218 | check_key_present ssh-ed25519 | ||
219 | check_key_absent ssh-ed25519-cert-v01@openssh.com | ||
220 | # Delete key via stdin | ||
221 | ${SSHADD} -qd - < $OBJ/ssh-ed25519-agent.pub || fail "ssh-add -d - failed" | ||
222 | check_key_absent ssh-ed25519 | ||
223 | check_key_absent ssh-ed25519-cert-v01@openssh.com | ||
161 | 224 | ||
162 | trace "kill agent" | 225 | trace "kill agent" |
163 | ${SSHAGENT} -k > /dev/null | 226 | ${SSHAGENT} -k > /dev/null |
diff --git a/regress/misc/sk-dummy/sk-dummy.c b/regress/misc/sk-dummy/sk-dummy.c index f3acb2fb7..bf1feec15 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 != 0x00050000 | 50 | #if SSH_SK_VERSION_MAJOR != 0x00070000 |
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 | ||
diff --git a/regress/multiplex.sh b/regress/multiplex.sh index 817ddbfa8..4744fa3d9 100644 --- a/regress/multiplex.sh +++ b/regress/multiplex.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: multiplex.sh,v 1.32 2020/01/25 02:57:53 dtucker Exp $ | 1 | # $OpenBSD: multiplex.sh,v 1.33 2020/06/24 15:16:23 markus Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | make_tmpdir | 4 | make_tmpdir |
@@ -97,22 +97,24 @@ kill $netcat_pid 2>/dev/null | |||
97 | rm -f ${COPY} $OBJ/unix-[123].fwd | 97 | rm -f ${COPY} $OBJ/unix-[123].fwd |
98 | 98 | ||
99 | for s in 0 1 4 5 44; do | 99 | for s in 0 1 4 5 44; do |
100 | trace "exit status $s over multiplexed connection" | 100 | for mode in "" "-Oproxy"; do |
101 | verbose "test $tid: status $s" | 101 | trace "exit status $s over multiplexed connection ($mode)" |
102 | ${SSH} -F $OBJ/ssh_config -S $CTL otherhost exit $s | 102 | verbose "test $tid: status $s ($mode)" |
103 | ${SSH} -F $OBJ/ssh_config -S $CTL $mode otherhost exit $s | ||
103 | r=$? | 104 | r=$? |
104 | if [ $r -ne $s ]; then | 105 | if [ $r -ne $s ]; then |
105 | fail "exit code mismatch: $r != $s" | 106 | fail "exit code mismatch: $r != $s" |
106 | fi | 107 | fi |
107 | 108 | ||
108 | # same with early close of stdout/err | 109 | # same with early close of stdout/err |
109 | trace "exit status $s with early close over multiplexed connection" | 110 | trace "exit status $s with early close over multiplexed connection ($mode)" |
110 | ${SSH} -F $OBJ/ssh_config -S $CTL -n otherhost \ | 111 | ${SSH} -F $OBJ/ssh_config -S $CTL -n $mode otherhost \ |
111 | exec sh -c \'"sleep 2; exec > /dev/null 2>&1; sleep 3; exit $s"\' | 112 | exec sh -c \'"sleep 2; exec > /dev/null 2>&1; sleep 3; exit $s"\' |
112 | r=$? | 113 | r=$? |
113 | if [ $r -ne $s ]; then | 114 | if [ $r -ne $s ]; then |
114 | fail "exit code (with sleep) mismatch: $r != $s" | 115 | fail "exit code (with sleep) mismatch: $r != $s" |
115 | fi | 116 | fi |
117 | done | ||
116 | done | 118 | done |
117 | 119 | ||
118 | verbose "test $tid: cmd check" | 120 | verbose "test $tid: cmd check" |
diff --git a/regress/netcat.c b/regress/netcat.c index fe94dd908..d583176f1 100644 --- a/regress/netcat.c +++ b/regress/netcat.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: netcat.c,v 1.126 2014/10/30 16:08:31 tedu Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.131 2015/09/03 23:06:28 sobrado Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
4 | * | 4 | * |
@@ -44,14 +44,15 @@ | |||
44 | #include <netinet/ip.h> | 44 | #include <netinet/ip.h> |
45 | 45 | ||
46 | #include <errno.h> | 46 | #include <errno.h> |
47 | #include <fcntl.h> | ||
48 | #include <limits.h> | ||
47 | #include <netdb.h> | 49 | #include <netdb.h> |
50 | #include <signal.h> | ||
48 | #include <stdarg.h> | 51 | #include <stdarg.h> |
49 | #include <stdio.h> | 52 | #include <stdio.h> |
50 | #include <stdlib.h> | 53 | #include <stdlib.h> |
51 | #include <string.h> | 54 | #include <string.h> |
52 | #include <unistd.h> | 55 | #include <unistd.h> |
53 | #include <fcntl.h> | ||
54 | #include <limits.h> | ||
55 | #include "atomicio.h" | 56 | #include "atomicio.h" |
56 | 57 | ||
57 | #ifdef HAVE_POLL_H | 58 | #ifdef HAVE_POLL_H |
@@ -133,7 +134,7 @@ int udptest(int); | |||
133 | int unix_bind(char *); | 134 | int unix_bind(char *); |
134 | int unix_connect(char *); | 135 | int unix_connect(char *); |
135 | int unix_listen(char *); | 136 | int unix_listen(char *); |
136 | void set_common_sockopts(int); | 137 | void set_common_sockopts(int, int); |
137 | int map_tos(char *, int *); | 138 | int map_tos(char *, int *); |
138 | void report_connect(const struct sockaddr *, socklen_t); | 139 | void report_connect(const struct sockaddr *, socklen_t); |
139 | void usage(int); | 140 | void usage(int); |
@@ -162,6 +163,8 @@ main(int argc, char *argv[]) | |||
162 | uport = NULL; | 163 | uport = NULL; |
163 | sv = NULL; | 164 | sv = NULL; |
164 | 165 | ||
166 | signal(SIGPIPE, SIG_IGN); | ||
167 | |||
165 | while ((ch = getopt(argc, argv, | 168 | while ((ch = getopt(argc, argv, |
166 | "46DdFhI:i:klNnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) { | 169 | "46DdFhI:i:klNnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) { |
167 | switch (ch) { | 170 | switch (ch) { |
@@ -648,7 +651,7 @@ remote_connect(const char *host, const char *port, struct addrinfo hints) | |||
648 | freeaddrinfo(ares); | 651 | freeaddrinfo(ares); |
649 | } | 652 | } |
650 | 653 | ||
651 | set_common_sockopts(s); | 654 | set_common_sockopts(s, res0->ai_family); |
652 | 655 | ||
653 | if (timeout_connect(s, res0->ai_addr, res0->ai_addrlen) == 0) | 656 | if (timeout_connect(s, res0->ai_addr, res0->ai_addrlen) == 0) |
654 | break; | 657 | break; |
@@ -748,7 +751,7 @@ local_listen(char *host, char *port, struct addrinfo hints) | |||
748 | if (ret == -1) | 751 | if (ret == -1) |
749 | err(1, "setsockopt SO_REUSEADDR"); | 752 | err(1, "setsockopt SO_REUSEADDR"); |
750 | #endif | 753 | #endif |
751 | set_common_sockopts(s); | 754 | set_common_sockopts(s, res0->ai_family); |
752 | 755 | ||
753 | if (bind(s, (struct sockaddr *)res0->ai_addr, | 756 | if (bind(s, (struct sockaddr *)res0->ai_addr, |
754 | res0->ai_addrlen) == 0) | 757 | res0->ai_addrlen) == 0) |
@@ -1034,17 +1037,17 @@ fdpass(int nfd) | |||
1034 | 1037 | ||
1035 | bzero(&pfd, sizeof(pfd)); | 1038 | bzero(&pfd, sizeof(pfd)); |
1036 | pfd.fd = STDOUT_FILENO; | 1039 | pfd.fd = STDOUT_FILENO; |
1040 | pfd.events = POLLOUT; | ||
1037 | for (;;) { | 1041 | for (;;) { |
1038 | r = sendmsg(STDOUT_FILENO, &msg, 0); | 1042 | r = sendmsg(STDOUT_FILENO, &msg, 0); |
1039 | if (r == -1) { | 1043 | if (r == -1) { |
1040 | if (errno == EAGAIN || errno == EINTR) { | 1044 | if (errno == EAGAIN || errno == EINTR) { |
1041 | pfd.events = POLLOUT; | ||
1042 | if (poll(&pfd, 1, -1) == -1) | 1045 | if (poll(&pfd, 1, -1) == -1) |
1043 | err(1, "poll"); | 1046 | err(1, "poll"); |
1044 | continue; | 1047 | continue; |
1045 | } | 1048 | } |
1046 | err(1, "sendmsg"); | 1049 | err(1, "sendmsg"); |
1047 | } else if (r == -1) | 1050 | } else if (r != 1) |
1048 | errx(1, "sendmsg: unexpected return value %zd", r); | 1051 | errx(1, "sendmsg: unexpected return value %zd", r); |
1049 | else | 1052 | else |
1050 | break; | 1053 | break; |
@@ -1168,7 +1171,7 @@ udptest(int s) | |||
1168 | } | 1171 | } |
1169 | 1172 | ||
1170 | void | 1173 | void |
1171 | set_common_sockopts(int s) | 1174 | set_common_sockopts(int s, int af) |
1172 | { | 1175 | { |
1173 | int x = 1; | 1176 | int x = 1; |
1174 | 1177 | ||
@@ -1184,10 +1187,19 @@ set_common_sockopts(int s) | |||
1184 | &x, sizeof(x)) == -1) | 1187 | &x, sizeof(x)) == -1) |
1185 | err(1, "setsockopt"); | 1188 | err(1, "setsockopt"); |
1186 | } | 1189 | } |
1187 | #ifdef IP_TOS | 1190 | #if defined(IP_TOS) && defined(IPV6_TCLASS) |
1188 | if (Tflag != -1) { | 1191 | if (Tflag != -1) { |
1189 | if (setsockopt(s, IPPROTO_IP, IP_TOS, | 1192 | int proto, option; |
1190 | &Tflag, sizeof(Tflag)) == -1) | 1193 | |
1194 | if (af == AF_INET6) { | ||
1195 | proto = IPPROTO_IPV6; | ||
1196 | option = IPV6_TCLASS; | ||
1197 | } else { | ||
1198 | proto = IPPROTO_IP; | ||
1199 | option = IP_TOS; | ||
1200 | } | ||
1201 | |||
1202 | if (setsockopt(s, proto, option, &Tflag, sizeof(Tflag)) == -1) | ||
1191 | err(1, "set IP ToS"); | 1203 | err(1, "set IP ToS"); |
1192 | } | 1204 | } |
1193 | #endif | 1205 | #endif |
@@ -1321,7 +1333,7 @@ usage(int ret) | |||
1321 | { | 1333 | { |
1322 | fprintf(stderr, | 1334 | fprintf(stderr, |
1323 | "usage: nc [-46DdFhklNnrStUuvz] [-I length] [-i interval] [-O length]\n" | 1335 | "usage: nc [-46DdFhklNnrStUuvz] [-I length] [-i interval] [-O length]\n" |
1324 | "\t [-P proxy_username] [-p source_port] [-s source] [-T ToS]\n" | 1336 | "\t [-P proxy_username] [-p source_port] [-s source] [-T toskeyword]\n" |
1325 | "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n" | 1337 | "\t [-V rtable] [-w timeout] [-X proxy_protocol]\n" |
1326 | "\t [-x proxy_address[:port]] [destination] [port]\n"); | 1338 | "\t [-x proxy_address[:port]] [destination] [port]\n"); |
1327 | if (ret) | 1339 | if (ret) |
diff --git a/regress/percent.sh b/regress/percent.sh index 2e891f693..28781117e 100644 --- a/regress/percent.sh +++ b/regress/percent.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: percent.sh,v 1.6 2020/04/10 00:54:03 dtucker Exp $ | 1 | # $OpenBSD: percent.sh,v 1.9 2020/07/17 07:10:24 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="percent expansions" | 4 | tid="percent expansions" |
@@ -25,12 +25,21 @@ trial() | |||
25 | 25 | ||
26 | trace "test $opt=$arg $expect" | 26 | trace "test $opt=$arg $expect" |
27 | rm -f $OBJ/actual | 27 | rm -f $OBJ/actual |
28 | got="" | ||
28 | case "$opt" in | 29 | case "$opt" in |
29 | localcommand) | 30 | localcommand) |
30 | ${SSH} -F $OBJ/ssh_proxy -o $opt="echo '$arg' >$OBJ/actual" \ | 31 | ${SSH} -F $OBJ/ssh_proxy -o $opt="echo '$arg' >$OBJ/actual" \ |
31 | somehost true | 32 | somehost true |
32 | got=`cat $OBJ/actual` | 33 | got=`cat $OBJ/actual` |
33 | ;; | 34 | ;; |
35 | userknownhostsfile) | ||
36 | # Move the userknownhosts file to what the expansion says, | ||
37 | # make sure ssh works then put it back. | ||
38 | mv "$OBJ/known_hosts" "$OBJ/$expect" | ||
39 | ${SSH} -F $OBJ/ssh_proxy -o $opt="$OBJ/$arg" somehost true && \ | ||
40 | got="$expect" | ||
41 | mv "$OBJ/$expect" "$OBJ/known_hosts" | ||
42 | ;; | ||
34 | matchexec) | 43 | matchexec) |
35 | (cat $OBJ/ssh_proxy && \ | 44 | (cat $OBJ/ssh_proxy && \ |
36 | echo "Match Exec \"echo '$arg' >$OBJ/actual\"") \ | 45 | echo "Match Exec \"echo '$arg' >$OBJ/actual\"") \ |
@@ -55,13 +64,18 @@ trial() | |||
55 | } | 64 | } |
56 | 65 | ||
57 | for i in matchexec localcommand remotecommand controlpath identityagent \ | 66 | for i in matchexec localcommand remotecommand controlpath identityagent \ |
58 | forwardagent localforward remoteforward; do | 67 | forwardagent localforward remoteforward userknownhostsfile; do |
59 | verbose $tid $i | 68 | verbose $tid $i percent |
60 | if [ "$i" = "localcommand" ]; then | 69 | case "$i" in |
61 | REMUSER=$USER | 70 | localcommand|userknownhostsfile) |
71 | # Any test that's going to actually make a connection needs | ||
72 | # to use the real username. | ||
73 | REMUSER=$USER ;; | ||
74 | *) | ||
75 | REMUSER=remuser ;; | ||
76 | esac | ||
77 | if [ "$i" = "$localcommand" ]; then | ||
62 | trial $i '%T' NONE | 78 | trial $i '%T' NONE |
63 | else | ||
64 | REMUSER=remuser | ||
65 | fi | 79 | fi |
66 | # Matches implementation in readconf.c:ssh_connection_hash() | 80 | # Matches implementation in readconf.c:ssh_connection_hash() |
67 | HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" | | 81 | HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" | |
@@ -70,19 +84,36 @@ for i in matchexec localcommand remotecommand controlpath identityagent \ | |||
70 | trial $i '%C' $HASH | 84 | trial $i '%C' $HASH |
71 | trial $i '%i' $USERID | 85 | trial $i '%i' $USERID |
72 | trial $i '%h' 127.0.0.1 | 86 | trial $i '%h' 127.0.0.1 |
73 | trial $i '%d' $HOME | ||
74 | trial $i '%L' $HOST | 87 | trial $i '%L' $HOST |
75 | trial $i '%l' $HOSTNAME | 88 | trial $i '%l' $HOSTNAME |
76 | trial $i '%n' somehost | 89 | trial $i '%n' somehost |
90 | trial $i '%k' localhost-with-alias | ||
77 | trial $i '%p' $PORT | 91 | trial $i '%p' $PORT |
78 | trial $i '%r' $REMUSER | 92 | trial $i '%r' $REMUSER |
79 | trial $i '%u' $USER | 93 | trial $i '%u' $USER |
80 | trial $i '%%/%C/%i/%h/%d/%L/%l/%n/%p/%r/%u' \ | 94 | # We can't specify a full path outside the regress dir, so skip tests |
81 | "%/$HASH/$USERID/127.0.0.1/$HOME/$HOST/$HOSTNAME/somehost/$PORT/$REMUSER/$USER" | 95 | # containing %d for UserKnownHostsFile |
96 | if [ "$i" != "userknownhostsfile" ]; then | ||
97 | trial $i '%d' $HOME | ||
98 | trial $i '%%/%C/%i/%h/%d/%L/%l/%n/%p/%r/%u' \ | ||
99 | "%/$HASH/$USERID/127.0.0.1/$HOME/$HOST/$HOSTNAME/somehost/$PORT/$REMUSER/$USER" | ||
100 | fi | ||
82 | done | 101 | done |
83 | 102 | ||
103 | # Subset of above since we don't expand shell-style variables on anything that | ||
104 | # runs a command because the shell will expand those. | ||
105 | for i in controlpath identityagent forwardagent localforward remoteforward \ | ||
106 | userknownhostsfile; do | ||
107 | verbose $tid $i dollar | ||
108 | FOO=bar | ||
109 | export FOO | ||
110 | trial $i '${FOO}' $FOO | ||
111 | done | ||
112 | |||
113 | |||
84 | # A subset of options support tilde expansion | 114 | # A subset of options support tilde expansion |
85 | for i in controlpath identityagent forwardagent; do | 115 | for i in controlpath identityagent forwardagent; do |
116 | verbose $tid $i tilde | ||
86 | trial $i '~' $HOME/ | 117 | trial $i '~' $HOME/ |
87 | trial $i '~/.ssh' $HOME/.ssh | 118 | trial $i '~/.ssh' $HOME/.ssh |
88 | done | 119 | done |
diff --git a/regress/servcfginclude.sh b/regress/servcfginclude.sh index b25c8faa8..b6a9a248f 100644 --- a/regress/servcfginclude.sh +++ b/regress/servcfginclude.sh | |||
@@ -146,9 +146,43 @@ Include | |||
146 | _EOF | 146 | _EOF |
147 | 147 | ||
148 | trace "disallow invalid with no argument" | 148 | trace "disallow invalid with no argument" |
149 | ${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i.x \ | 149 | ${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i.x -T \ |
150 | -C "host=x,user=test,addr=127.0.0.1" 2>/dev/null && \ | 150 | -C "host=x,user=test,addr=127.0.0.1" 2>/dev/null && \ |
151 | fail "sshd allowed Include with no argument" | 151 | fail "sshd allowed Include with no argument" |
152 | 152 | ||
153 | # Ensure the Include before any Match block works as expected (bug #3122) | ||
154 | cat > $OBJ/sshd_config.i << _EOF | ||
155 | Banner /xx | ||
156 | HostKey $OBJ/host.ssh-ed25519 | ||
157 | Include $OBJ/sshd_config.i.2 | ||
158 | Match host a | ||
159 | Banner /aaaa | ||
160 | _EOF | ||
161 | cat > $OBJ/sshd_config.i.2 << _EOF | ||
162 | Match host a | ||
163 | Banner /aa | ||
164 | _EOF | ||
165 | |||
166 | trace "Include before match blocks" | ||
167 | trial a /aa "included file before match blocks is properly evaluated" | ||
168 | |||
169 | # Port in included file is correctly interpretted (bug #3169) | ||
170 | cat > $OBJ/sshd_config.i << _EOF | ||
171 | Include $OBJ/sshd_config.i.2 | ||
172 | Port 7722 | ||
173 | _EOF | ||
174 | cat > $OBJ/sshd_config.i.2 << _EOF | ||
175 | HostKey $OBJ/host.ssh-ed25519 | ||
176 | _EOF | ||
177 | |||
178 | trace "Port after included files" | ||
179 | ${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i -T \ | ||
180 | -C "host=x,user=test,addr=127.0.0.1" > $OBJ/sshd_config.out || \ | ||
181 | fail "failed to parse Port after included files" | ||
182 | _port=`grep -i '^port ' $OBJ/sshd_config.out | awk '{print $2}'` | ||
183 | if test "x7722" != "x$_port" ; then | ||
184 | fail "The Port in included file was intertepretted wrongly. Expected 7722, got $_port" | ||
185 | fi | ||
186 | |||
153 | # cleanup | 187 | # cleanup |
154 | rm -f $OBJ/sshd_config.i $OBJ/sshd_config.i.* $OBJ/sshd_config.out | 188 | rm -f $OBJ/sshd_config.i $OBJ/sshd_config.i.* $OBJ/sshd_config.out |
diff --git a/regress/unittests/Makefile b/regress/unittests/Makefile index 4e56e1104..4d26b7477 100644 --- a/regress/unittests/Makefile +++ b/regress/unittests/Makefile | |||
@@ -1,7 +1,7 @@ | |||
1 | # $OpenBSD: Makefile,v 1.11 2019/04/28 22:53:26 dtucker Exp $ | 1 | # $OpenBSD: Makefile,v 1.12 2020/06/19 04:34:21 djm Exp $ |
2 | 2 | ||
3 | REGRESS_FAIL_EARLY?= yes | 3 | REGRESS_FAIL_EARLY?= yes |
4 | SUBDIR= test_helper sshbuf sshkey bitmap kex hostkeys utf8 match conversion | 4 | SUBDIR= test_helper sshbuf sshkey bitmap kex hostkeys utf8 match conversion |
5 | SUBDIR+=authopt misc | 5 | SUBDIR+=authopt misc sshsig |
6 | 6 | ||
7 | .include <bsd.subdir.mk> | 7 | .include <bsd.subdir.mk> |
diff --git a/regress/unittests/match/tests.c b/regress/unittests/match/tests.c index 3d9af55f2..4fefaf4f3 100644 --- a/regress/unittests/match/tests.c +++ b/regress/unittests/match/tests.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tests.c,v 1.5 2018/07/04 13:51:45 djm Exp $ */ | 1 | /* $OpenBSD: tests.c,v 1.7 2020/07/15 06:43:16 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for matching functions | 3 | * Regress test for matching functions |
4 | * | 4 | * |
@@ -105,7 +105,7 @@ tests(void) | |||
105 | 105 | ||
106 | #define CHECK_FILTER(string,filter,expected) \ | 106 | #define CHECK_FILTER(string,filter,expected) \ |
107 | do { \ | 107 | do { \ |
108 | char *result = match_filter_blacklist((string), (filter)); \ | 108 | char *result = match_filter_denylist((string), (filter)); \ |
109 | ASSERT_STRING_EQ(result, expected); \ | 109 | ASSERT_STRING_EQ(result, expected); \ |
110 | free(result); \ | 110 | free(result); \ |
111 | } while (0) | 111 | } while (0) |
diff --git a/regress/unittests/misc/tests.c b/regress/unittests/misc/tests.c index ed775ebbd..0bd0c84f9 100644 --- a/regress/unittests/misc/tests.c +++ b/regress/unittests/misc/tests.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tests.c,v 1.1 2019/04/28 22:53:26 dtucker Exp $ */ | 1 | /* $OpenBSD: tests.c,v 1.3 2020/05/29 04:32:26 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for misc helper functions. | 3 | * Regress test for misc helper functions. |
4 | * | 4 | * |
@@ -14,13 +14,14 @@ | |||
14 | 14 | ||
15 | #include "test_helper.h" | 15 | #include "test_helper.h" |
16 | 16 | ||
17 | #include "log.h" | ||
17 | #include "misc.h" | 18 | #include "misc.h" |
18 | 19 | ||
19 | void | 20 | void |
20 | tests(void) | 21 | tests(void) |
21 | { | 22 | { |
22 | int port; | 23 | int port, parseerr; |
23 | char *user, *host, *path; | 24 | char *user, *host, *path, *ret; |
24 | 25 | ||
25 | TEST_START("misc_parse_user_host_path"); | 26 | TEST_START("misc_parse_user_host_path"); |
26 | ASSERT_INT_EQ(parse_user_host_path("someuser@some.host:some/path", | 27 | ASSERT_INT_EQ(parse_user_host_path("someuser@some.host:some/path", |
@@ -76,4 +77,85 @@ tests(void) | |||
76 | ASSERT_STRING_EQ(path, "some/path"); | 77 | ASSERT_STRING_EQ(path, "some/path"); |
77 | free(user); free(host); free(path); | 78 | free(user); free(host); free(path); |
78 | TEST_DONE(); | 79 | TEST_DONE(); |
80 | |||
81 | TEST_START("misc_convtime"); | ||
82 | ASSERT_LONG_EQ(convtime("1"), 1); | ||
83 | ASSERT_LONG_EQ(convtime("2s"), 2); | ||
84 | ASSERT_LONG_EQ(convtime("3m"), 180); | ||
85 | ASSERT_LONG_EQ(convtime("1m30"), 90); | ||
86 | ASSERT_LONG_EQ(convtime("1m30s"), 90); | ||
87 | ASSERT_LONG_EQ(convtime("1h1s"), 3601); | ||
88 | ASSERT_LONG_EQ(convtime("1h30m"), 90 * 60); | ||
89 | ASSERT_LONG_EQ(convtime("1d"), 24 * 60 * 60); | ||
90 | ASSERT_LONG_EQ(convtime("1w"), 7 * 24 * 60 * 60); | ||
91 | ASSERT_LONG_EQ(convtime("1w2d3h4m5"), 788645); | ||
92 | ASSERT_LONG_EQ(convtime("1w2d3h4m5s"), 788645); | ||
93 | /* any negative number or error returns -1 */ | ||
94 | ASSERT_LONG_EQ(convtime("-1"), -1); | ||
95 | ASSERT_LONG_EQ(convtime(""), -1); | ||
96 | ASSERT_LONG_EQ(convtime("trout"), -1); | ||
97 | ASSERT_LONG_EQ(convtime("-77"), -1); | ||
98 | TEST_DONE(); | ||
99 | |||
100 | TEST_START("dollar_expand"); | ||
101 | if (setenv("FOO", "bar", 1) != 0) | ||
102 | abort(); | ||
103 | if (setenv("BAR", "baz", 1) != 0) | ||
104 | abort(); | ||
105 | if (unsetenv("BAZ") != 0) | ||
106 | abort(); | ||
107 | #define ASSERT_DOLLAR_EQ(x, y) do { \ | ||
108 | char *str = dollar_expand(NULL, (x)); \ | ||
109 | ASSERT_STRING_EQ(str, (y)); \ | ||
110 | free(str); \ | ||
111 | } while(0) | ||
112 | ASSERT_DOLLAR_EQ("${FOO}", "bar"); | ||
113 | ASSERT_DOLLAR_EQ(" ${FOO}", " bar"); | ||
114 | ASSERT_DOLLAR_EQ("${FOO} ", "bar "); | ||
115 | ASSERT_DOLLAR_EQ(" ${FOO} ", " bar "); | ||
116 | ASSERT_DOLLAR_EQ("${FOO}${BAR}", "barbaz"); | ||
117 | ASSERT_DOLLAR_EQ(" ${FOO} ${BAR}", " bar baz"); | ||
118 | ASSERT_DOLLAR_EQ("${FOO}${BAR} ", "barbaz "); | ||
119 | ASSERT_DOLLAR_EQ(" ${FOO} ${BAR} ", " bar baz "); | ||
120 | ASSERT_DOLLAR_EQ("$", "$"); | ||
121 | ASSERT_DOLLAR_EQ(" $", " $"); | ||
122 | ASSERT_DOLLAR_EQ("$ ", "$ "); | ||
123 | |||
124 | /* suppress error messages for error handing tests */ | ||
125 | log_init("test_misc", SYSLOG_LEVEL_QUIET, SYSLOG_FACILITY_AUTH, 1); | ||
126 | /* error checking, non existent variable */ | ||
127 | ret = dollar_expand(&parseerr, "a${BAZ}"); | ||
128 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 0); | ||
129 | ret = dollar_expand(&parseerr, "${BAZ}b"); | ||
130 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 0); | ||
131 | ret = dollar_expand(&parseerr, "a${BAZ}b"); | ||
132 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 0); | ||
133 | /* invalid format */ | ||
134 | ret = dollar_expand(&parseerr, "${"); | ||
135 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 1); | ||
136 | ret = dollar_expand(&parseerr, "${F"); | ||
137 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 1); | ||
138 | ret = dollar_expand(&parseerr, "${FO"); | ||
139 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 1); | ||
140 | /* empty variable name */ | ||
141 | ret = dollar_expand(&parseerr, "${}"); | ||
142 | ASSERT_PTR_EQ(ret, NULL); ASSERT_INT_EQ(parseerr, 1); | ||
143 | /* restore loglevel to default */ | ||
144 | log_init("test_misc", SYSLOG_LEVEL_INFO, SYSLOG_FACILITY_AUTH, 1); | ||
145 | TEST_DONE(); | ||
146 | |||
147 | TEST_START("percent_expand"); | ||
148 | ASSERT_STRING_EQ(percent_expand("%%", "%h", "foo", NULL), "%"); | ||
149 | ASSERT_STRING_EQ(percent_expand("%h", "h", "foo", NULL), "foo"); | ||
150 | ASSERT_STRING_EQ(percent_expand("%h ", "h", "foo", NULL), "foo "); | ||
151 | ASSERT_STRING_EQ(percent_expand(" %h", "h", "foo", NULL), " foo"); | ||
152 | ASSERT_STRING_EQ(percent_expand(" %h ", "h", "foo", NULL), " foo "); | ||
153 | ASSERT_STRING_EQ(percent_expand(" %a%b ", "a", "foo", "b", "bar", NULL), | ||
154 | " foobar "); | ||
155 | TEST_DONE(); | ||
156 | |||
157 | TEST_START("percent_dollar_expand"); | ||
158 | ASSERT_STRING_EQ(percent_dollar_expand("%h${FOO}", "h", "foo", NULL), | ||
159 | "foobar"); | ||
160 | TEST_DONE(); | ||
79 | } | 161 | } |
diff --git a/regress/unittests/sshkey/mktestdata.sh b/regress/unittests/sshkey/mktestdata.sh index 8efe6dd03..fcd78e990 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.10 2020/05/01 04:03:14 djm Exp $ | 2 | # $OpenBSD: mktestdata.sh,v 1.11 2020/06/19 03:48:49 djm Exp $ |
3 | 3 | ||
4 | PW=mekmitasdigoat | 4 | PW=mekmitasdigoat |
5 | 5 | ||
@@ -70,6 +70,15 @@ set -ex | |||
70 | 70 | ||
71 | cd testdata | 71 | cd testdata |
72 | 72 | ||
73 | if [ -f ../../../misc/sk-dummy/sk-dummy.so ] ; then | ||
74 | SK_DUMMY=../../../misc/sk-dummy/sk-dummy.so | ||
75 | elif [ -f ../../../misc/sk-dummy/obj/sk-dummy.so ] ; then | ||
76 | SK_DUMMY=../../../misc/sk-dummy/obj/sk-dummy.so | ||
77 | else | ||
78 | echo "Can't find sk-dummy.so" 1>&2 | ||
79 | exit 1 | ||
80 | fi | ||
81 | |||
73 | rm -f rsa_1 dsa_1 ecdsa_1 ed25519_1 | 82 | rm -f rsa_1 dsa_1 ecdsa_1 ed25519_1 |
74 | rm -f rsa_2 dsa_2 ecdsa_2 ed25519_2 | 83 | rm -f rsa_2 dsa_2 ecdsa_2 ed25519_2 |
75 | rm -f rsa_n dsa_n ecdsa_n # new-format keys | 84 | rm -f rsa_n dsa_n ecdsa_n # new-format keys |
@@ -81,11 +90,20 @@ ssh-keygen -t rsa -b 1024 -C "RSA test key #1" -N "" -f rsa_1 -m PEM | |||
81 | ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 -m PEM | 90 | ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 -m PEM |
82 | ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 -m PEM | 91 | ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 -m PEM |
83 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 | 92 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 |
93 | ssh-keygen -w "$SK_DUMMY" -t ecdsa-sk -C "ECDSA-SK test key #1" \ | ||
94 | -N "" -f ecdsa_sk1 | ||
95 | ssh-keygen -w "$SK_DUMMY" -t ed25519-sk -C "ED25519-SK test key #1" \ | ||
96 | -N "" -f ed25519_sk1 | ||
97 | |||
84 | 98 | ||
85 | ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 -m PEM | 99 | ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 -m PEM |
86 | ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 -m PEM | 100 | ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 -m PEM |
87 | ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 -m PEM | 101 | ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 -m PEM |
88 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_2 | 102 | ssh-keygen -t ed25519 -C "ED25519 test key #2" -N "" -f ed25519_2 |
103 | ssh-keygen -w "$SK_DUMMY" -t ecdsa-sk -C "ECDSA-SK test key #2" \ | ||
104 | -N "" -f ecdsa_sk2 | ||
105 | ssh-keygen -w "$SK_DUMMY" -t ed25519-sk -C "ED25519-SK test key #2" \ | ||
106 | -N "" -f ed25519_sk2 | ||
89 | 107 | ||
90 | cp rsa_1 rsa_n | 108 | cp rsa_1 rsa_n |
91 | cp dsa_1 dsa_n | 109 | cp dsa_1 dsa_n |
@@ -99,6 +117,8 @@ cp rsa_1 rsa_1_pw | |||
99 | cp dsa_1 dsa_1_pw | 117 | cp dsa_1 dsa_1_pw |
100 | cp ecdsa_1 ecdsa_1_pw | 118 | cp ecdsa_1 ecdsa_1_pw |
101 | cp ed25519_1 ed25519_1_pw | 119 | cp ed25519_1 ed25519_1_pw |
120 | cp ecdsa_sk1 ecdsa_sk1_pw | ||
121 | cp ed25519_sk1 ed25519_sk1_pw | ||
102 | cp rsa_1 rsa_n_pw | 122 | cp rsa_1 rsa_n_pw |
103 | cp dsa_1 dsa_n_pw | 123 | cp dsa_1 dsa_n_pw |
104 | cp ecdsa_1 ecdsa_n_pw | 124 | cp ecdsa_1 ecdsa_n_pw |
@@ -107,6 +127,8 @@ ssh-keygen -pf rsa_1_pw -m PEM -N "$PW" | |||
107 | ssh-keygen -pf dsa_1_pw -m PEM -N "$PW" | 127 | ssh-keygen -pf dsa_1_pw -m PEM -N "$PW" |
108 | ssh-keygen -pf ecdsa_1_pw -m PEM -N "$PW" | 128 | ssh-keygen -pf ecdsa_1_pw -m PEM -N "$PW" |
109 | ssh-keygen -pf ed25519_1_pw -N "$PW" | 129 | ssh-keygen -pf ed25519_1_pw -N "$PW" |
130 | ssh-keygen -pf ecdsa_sk1_pw -m PEM -N "$PW" | ||
131 | ssh-keygen -pf ed25519_sk1_pw -N "$PW" | ||
110 | ssh-keygen -pf rsa_n_pw -N "$PW" | 132 | ssh-keygen -pf rsa_n_pw -N "$PW" |
111 | ssh-keygen -pf dsa_n_pw -N "$PW" | 133 | ssh-keygen -pf dsa_n_pw -N "$PW" |
112 | ssh-keygen -pf ecdsa_n_pw -N "$PW" | 134 | ssh-keygen -pf ecdsa_n_pw -N "$PW" |
@@ -117,7 +139,7 @@ dsa_params dsa_1 dsa_1.param | |||
117 | dsa_params dsa_1 dsa_1.param | 139 | dsa_params dsa_1 dsa_1.param |
118 | ecdsa_params ecdsa_1 ecdsa_1.param | 140 | ecdsa_params ecdsa_1 ecdsa_1.param |
119 | ecdsa_params ecdsa_2 ecdsa_2.param | 141 | ecdsa_params ecdsa_2 ecdsa_2.param |
120 | # XXX ed25519 params | 142 | # XXX ed25519, *sk params |
121 | 143 | ||
122 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | 144 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ |
123 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | 145 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ |
@@ -131,6 +153,13 @@ ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | |||
131 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | 153 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ |
132 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | 154 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ |
133 | -V 19990101:20110101 -z 4 ed25519_1.pub | 155 | -V 19990101:20110101 -z 4 ed25519_1.pub |
156 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | ||
157 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | ||
158 | -V 19990101:20110101 -z 4 ecdsa_sk1.pub | ||
159 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | ||
160 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | ||
161 | -V 19990101:20110101 -z 4 ed25519_sk1.pub | ||
162 | |||
134 | 163 | ||
135 | # Make a few RSA variant signature too. | 164 | # Make a few RSA variant signature too. |
136 | cp rsa_1 rsa_1_sha1 | 165 | cp rsa_1 rsa_1_sha1 |
@@ -152,30 +181,42 @@ ssh-keygen -s ecdsa_1 -I julius -n host1,host2 -h \ | |||
152 | -V 19990101:20110101 -z 7 ecdsa_1.pub | 181 | -V 19990101:20110101 -z 7 ecdsa_1.pub |
153 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ | 182 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ |
154 | -V 19990101:20110101 -z 8 ed25519_1.pub | 183 | -V 19990101:20110101 -z 8 ed25519_1.pub |
184 | ssh-keygen -s ecdsa_1 -I julius -n host1,host2 -h \ | ||
185 | -V 19990101:20110101 -z 7 ecdsa_sk1.pub | ||
186 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ | ||
187 | -V 19990101:20110101 -z 8 ed25519_sk1.pub | ||
155 | 188 | ||
156 | ssh-keygen -lf rsa_1 | awk '{print $2}' > rsa_1.fp | 189 | ssh-keygen -lf rsa_1 | awk '{print $2}' > rsa_1.fp |
157 | ssh-keygen -lf dsa_1 | awk '{print $2}' > dsa_1.fp | 190 | ssh-keygen -lf dsa_1 | awk '{print $2}' > dsa_1.fp |
158 | ssh-keygen -lf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp | 191 | ssh-keygen -lf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp |
159 | ssh-keygen -lf ed25519_1 | awk '{print $2}' > ed25519_1.fp | 192 | ssh-keygen -lf ed25519_1 | awk '{print $2}' > ed25519_1.fp |
193 | ssh-keygen -lf ecdsa_sk1 | awk '{print $2}' > ecdsa_sk1.fp | ||
194 | ssh-keygen -lf ed25519_sk1 | awk '{print $2}' > ed25519_sk1.fp | ||
160 | ssh-keygen -lf rsa_2 | awk '{print $2}' > rsa_2.fp | 195 | ssh-keygen -lf rsa_2 | awk '{print $2}' > rsa_2.fp |
161 | ssh-keygen -lf dsa_2 | awk '{print $2}' > dsa_2.fp | 196 | ssh-keygen -lf dsa_2 | awk '{print $2}' > dsa_2.fp |
162 | ssh-keygen -lf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp | 197 | ssh-keygen -lf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp |
163 | ssh-keygen -lf ed25519_2 | awk '{print $2}' > ed25519_2.fp | 198 | ssh-keygen -lf ed25519_2 | awk '{print $2}' > ed25519_2.fp |
199 | ssh-keygen -lf ecdsa_sk2 | awk '{print $2}' > ecdsa_sk2.fp | ||
200 | ssh-keygen -lf ed25519_sk2 | awk '{print $2}' > ed25519_sk2.fp | ||
164 | 201 | ||
202 | ssh-keygen -lf rsa_1-cert.pub | awk '{print $2}' > rsa_1-cert.fp | ||
165 | ssh-keygen -lf dsa_1-cert.pub | awk '{print $2}' > dsa_1-cert.fp | 203 | ssh-keygen -lf dsa_1-cert.pub | awk '{print $2}' > dsa_1-cert.fp |
166 | ssh-keygen -lf ecdsa_1-cert.pub | awk '{print $2}' > ecdsa_1-cert.fp | 204 | ssh-keygen -lf ecdsa_1-cert.pub | awk '{print $2}' > ecdsa_1-cert.fp |
167 | ssh-keygen -lf ed25519_1-cert.pub | awk '{print $2}' > ed25519_1-cert.fp | 205 | ssh-keygen -lf ed25519_1-cert.pub | awk '{print $2}' > ed25519_1-cert.fp |
168 | ssh-keygen -lf rsa_1-cert.pub | awk '{print $2}' > rsa_1-cert.fp | 206 | ssh-keygen -lf ecdsa_sk1-cert.pub | awk '{print $2}' > ecdsa_sk1-cert.fp |
207 | ssh-keygen -lf ed25519_sk1-cert.pub | awk '{print $2}' > ed25519_sk1-cert.fp | ||
169 | 208 | ||
170 | ssh-keygen -Bf rsa_1 | awk '{print $2}' > rsa_1.fp.bb | 209 | ssh-keygen -Bf rsa_1 | awk '{print $2}' > rsa_1.fp.bb |
171 | ssh-keygen -Bf dsa_1 | awk '{print $2}' > dsa_1.fp.bb | 210 | ssh-keygen -Bf dsa_1 | awk '{print $2}' > dsa_1.fp.bb |
172 | ssh-keygen -Bf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp.bb | 211 | ssh-keygen -Bf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp.bb |
173 | ssh-keygen -Bf ed25519_1 | awk '{print $2}' > ed25519_1.fp.bb | 212 | ssh-keygen -Bf ed25519_1 | awk '{print $2}' > ed25519_1.fp.bb |
213 | ssh-keygen -Bf ecdsa_sk1 | awk '{print $2}' > ecdsa_sk1.fp.bb | ||
214 | ssh-keygen -Bf ed25519_sk1 | awk '{print $2}' > ed25519_sk1.fp.bb | ||
174 | ssh-keygen -Bf rsa_2 | awk '{print $2}' > rsa_2.fp.bb | 215 | ssh-keygen -Bf rsa_2 | awk '{print $2}' > rsa_2.fp.bb |
175 | ssh-keygen -Bf dsa_2 | awk '{print $2}' > dsa_2.fp.bb | 216 | ssh-keygen -Bf dsa_2 | awk '{print $2}' > dsa_2.fp.bb |
176 | ssh-keygen -Bf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp.bb | 217 | ssh-keygen -Bf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp.bb |
177 | ssh-keygen -Bf ed25519_2 | awk '{print $2}' > ed25519_2.fp.bb | 218 | ssh-keygen -Bf ed25519_2 | awk '{print $2}' > ed25519_2.fp.bb |
178 | 219 | ssh-keygen -Bf ecdsa_sk2 | awk '{print $2}' > ecdsa_sk2.fp.bb | |
179 | # XXX Extend ssh-keygen to do detached signatures (better to test/fuzz against) | 220 | ssh-keygen -Bf ed25519_sk2 | awk '{print $2}' > ed25519_sk2.fp.bb |
180 | 221 | ||
181 | echo "$PW" > pw | 222 | echo "$PW" > pw |
diff --git a/regress/unittests/sshkey/test_file.c b/regress/unittests/sshkey/test_file.c index 55627bc12..7d767336e 100644 --- a/regress/unittests/sshkey/test_file.c +++ b/regress/unittests/sshkey/test_file.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: test_file.c,v 1.8 2018/09/13 09:03:20 djm Exp $ */ | 1 | /* $OpenBSD: test_file.c,v 1.9 2020/06/19 03:48:49 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for sshkey.h key management API | 3 | * Regress test for sshkey.h key management API |
4 | * | 4 | * |
@@ -422,6 +422,137 @@ sshkey_file_tests(void) | |||
422 | 422 | ||
423 | sshkey_free(k1); | 423 | sshkey_free(k1); |
424 | 424 | ||
425 | #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) | ||
426 | TEST_START("parse ECDSA-SK from private"); | ||
427 | buf = load_file("ecdsa_sk1"); | ||
428 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | ||
429 | sshbuf_free(buf); | ||
430 | ASSERT_PTR_NE(k1, NULL); | ||
431 | ASSERT_INT_EQ(k1->type, KEY_ECDSA_SK); | ||
432 | TEST_DONE(); | ||
433 | |||
434 | TEST_START("parse ECDSA-SK from private w/ passphrase"); | ||
435 | buf = load_file("ecdsa_sk1_pw"); | ||
436 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, | ||
437 | (const char *)sshbuf_ptr(pw), &k2, NULL), 0); | ||
438 | sshbuf_free(buf); | ||
439 | ASSERT_PTR_NE(k2, NULL); | ||
440 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
441 | sshkey_free(k2); | ||
442 | TEST_DONE(); | ||
443 | |||
444 | TEST_START("load ECDSA-SK from public"); | ||
445 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("ecdsa_sk1.pub"), &k2, | ||
446 | NULL), 0); | ||
447 | ASSERT_PTR_NE(k2, NULL); | ||
448 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
449 | sshkey_free(k2); | ||
450 | TEST_DONE(); | ||
451 | |||
452 | TEST_START("load ECDSA-SK cert"); | ||
453 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("ecdsa_sk1"), &k2), 0); | ||
454 | ASSERT_PTR_NE(k2, NULL); | ||
455 | ASSERT_INT_EQ(k2->type, KEY_ECDSA_SK_CERT); | ||
456 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 0); | ||
457 | ASSERT_INT_EQ(sshkey_equal_public(k1, k2), 1); | ||
458 | TEST_DONE(); | ||
459 | |||
460 | TEST_START("ECDSA-SK key hex fingerprint"); | ||
461 | buf = load_text_file("ecdsa_sk1.fp"); | ||
462 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
463 | ASSERT_PTR_NE(cp, NULL); | ||
464 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
465 | sshbuf_free(buf); | ||
466 | free(cp); | ||
467 | TEST_DONE(); | ||
468 | |||
469 | TEST_START("ECDSA-SK cert hex fingerprint"); | ||
470 | buf = load_text_file("ecdsa_sk1-cert.fp"); | ||
471 | cp = sshkey_fingerprint(k2, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
472 | ASSERT_PTR_NE(cp, NULL); | ||
473 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
474 | sshbuf_free(buf); | ||
475 | free(cp); | ||
476 | sshkey_free(k2); | ||
477 | TEST_DONE(); | ||
478 | |||
479 | TEST_START("ECDSA-SK key bubblebabble fingerprint"); | ||
480 | buf = load_text_file("ecdsa_sk1.fp.bb"); | ||
481 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA1, SSH_FP_BUBBLEBABBLE); | ||
482 | ASSERT_PTR_NE(cp, NULL); | ||
483 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
484 | sshbuf_free(buf); | ||
485 | free(cp); | ||
486 | TEST_DONE(); | ||
487 | |||
488 | sshkey_free(k1); | ||
489 | #endif | ||
490 | |||
491 | TEST_START("parse Ed25519-SK from private"); | ||
492 | buf = load_file("ed25519_sk1"); | ||
493 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | ||
494 | sshbuf_free(buf); | ||
495 | ASSERT_PTR_NE(k1, NULL); | ||
496 | ASSERT_INT_EQ(k1->type, KEY_ED25519_SK); | ||
497 | /* XXX check key contents */ | ||
498 | TEST_DONE(); | ||
499 | |||
500 | TEST_START("parse Ed25519-SK from private w/ passphrase"); | ||
501 | buf = load_file("ed25519_sk1_pw"); | ||
502 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, | ||
503 | (const char *)sshbuf_ptr(pw), &k2, NULL), 0); | ||
504 | sshbuf_free(buf); | ||
505 | ASSERT_PTR_NE(k2, NULL); | ||
506 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
507 | sshkey_free(k2); | ||
508 | TEST_DONE(); | ||
509 | |||
510 | TEST_START("load Ed25519-SK from public"); | ||
511 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("ed25519_sk1.pub"), | ||
512 | &k2, NULL), 0); | ||
513 | ASSERT_PTR_NE(k2, NULL); | ||
514 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
515 | sshkey_free(k2); | ||
516 | TEST_DONE(); | ||
517 | |||
518 | TEST_START("load Ed25519-SK cert"); | ||
519 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("ed25519_sk1"), &k2), 0); | ||
520 | ASSERT_PTR_NE(k2, NULL); | ||
521 | ASSERT_INT_EQ(k2->type, KEY_ED25519_SK_CERT); | ||
522 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 0); | ||
523 | ASSERT_INT_EQ(sshkey_equal_public(k1, k2), 1); | ||
524 | TEST_DONE(); | ||
525 | |||
526 | TEST_START("Ed25519-SK key hex fingerprint"); | ||
527 | buf = load_text_file("ed25519_sk1.fp"); | ||
528 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
529 | ASSERT_PTR_NE(cp, NULL); | ||
530 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
531 | sshbuf_free(buf); | ||
532 | free(cp); | ||
533 | TEST_DONE(); | ||
534 | |||
535 | TEST_START("Ed25519-SK cert hex fingerprint"); | ||
536 | buf = load_text_file("ed25519_sk1-cert.fp"); | ||
537 | cp = sshkey_fingerprint(k2, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
538 | ASSERT_PTR_NE(cp, NULL); | ||
539 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
540 | sshbuf_free(buf); | ||
541 | free(cp); | ||
542 | sshkey_free(k2); | ||
543 | TEST_DONE(); | ||
544 | |||
545 | TEST_START("Ed25519-SK key bubblebabble fingerprint"); | ||
546 | buf = load_text_file("ed25519_sk1.fp.bb"); | ||
547 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA1, SSH_FP_BUBBLEBABBLE); | ||
548 | ASSERT_PTR_NE(cp, NULL); | ||
549 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
550 | sshbuf_free(buf); | ||
551 | free(cp); | ||
552 | TEST_DONE(); | ||
553 | |||
554 | sshkey_free(k1); | ||
555 | |||
425 | sshbuf_free(pw); | 556 | sshbuf_free(pw); |
426 | 557 | ||
427 | } | 558 | } |
diff --git a/regress/unittests/sshkey/test_fuzz.c b/regress/unittests/sshkey/test_fuzz.c index 359811893..f111446a9 100644 --- a/regress/unittests/sshkey/test_fuzz.c +++ b/regress/unittests/sshkey/test_fuzz.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: test_fuzz.c,v 1.11 2019/11/25 10:32:35 djm Exp $ */ | 1 | /* $OpenBSD: test_fuzz.c,v 1.12 2020/08/27 03:55:22 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Fuzz tests for key parsing | 3 | * Fuzz tests for key parsing |
4 | * | 4 | * |
@@ -88,7 +88,7 @@ sig_fuzz(struct sshkey *k, const char *sig_alg) | |||
88 | fuzzers |= FUZZ_2_BIT_FLIP; | 88 | fuzzers |= FUZZ_2_BIT_FLIP; |
89 | 89 | ||
90 | ASSERT_INT_EQ(sshkey_sign(k, &sig, &l, c, sizeof(c), | 90 | ASSERT_INT_EQ(sshkey_sign(k, &sig, &l, c, sizeof(c), |
91 | sig_alg, NULL, 0), 0); | 91 | sig_alg, NULL, NULL, 0), 0); |
92 | ASSERT_SIZE_T_GT(l, 0); | 92 | ASSERT_SIZE_T_GT(l, 0); |
93 | fuzz = fuzz_begin(fuzzers, sig, l); | 93 | fuzz = fuzz_begin(fuzzers, sig, l); |
94 | ASSERT_INT_EQ(sshkey_verify(k, sig, l, c, sizeof(c), NULL, 0, NULL), 0); | 94 | ASSERT_INT_EQ(sshkey_verify(k, sig, l, c, sizeof(c), NULL, 0, NULL), 0); |
diff --git a/regress/unittests/sshkey/test_sshkey.c b/regress/unittests/sshkey/test_sshkey.c index 025bb9815..7dc20cc85 100644 --- a/regress/unittests/sshkey/test_sshkey.c +++ b/regress/unittests/sshkey/test_sshkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: test_sshkey.c,v 1.20 2019/11/25 10:32:35 djm Exp $ */ | 1 | /* $OpenBSD: test_sshkey.c,v 1.21 2020/08/27 03:55:22 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for sshkey.h key management API | 3 | * Regress test for sshkey.h key management API |
4 | * | 4 | * |
@@ -101,7 +101,7 @@ build_cert(struct sshbuf *b, struct sshkey *k, const char *type, | |||
101 | ASSERT_INT_EQ(sshbuf_put_string(b, NULL, 0), 0); /* reserved */ | 101 | ASSERT_INT_EQ(sshbuf_put_string(b, NULL, 0), 0); /* reserved */ |
102 | ASSERT_INT_EQ(sshbuf_put_stringb(b, ca_buf), 0); /* signature key */ | 102 | ASSERT_INT_EQ(sshbuf_put_stringb(b, ca_buf), 0); /* signature key */ |
103 | ASSERT_INT_EQ(sshkey_sign(sign_key, &sigblob, &siglen, | 103 | ASSERT_INT_EQ(sshkey_sign(sign_key, &sigblob, &siglen, |
104 | sshbuf_ptr(b), sshbuf_len(b), sig_alg, NULL, 0), 0); | 104 | sshbuf_ptr(b), sshbuf_len(b), sig_alg, NULL, NULL, 0), 0); |
105 | ASSERT_INT_EQ(sshbuf_put_string(b, sigblob, siglen), 0); /* signature */ | 105 | ASSERT_INT_EQ(sshbuf_put_string(b, sigblob, siglen), 0); /* signature */ |
106 | 106 | ||
107 | free(sigblob); | 107 | free(sigblob); |
@@ -120,7 +120,8 @@ signature_test(struct sshkey *k, struct sshkey *bad, const char *sig_alg, | |||
120 | size_t len; | 120 | size_t len; |
121 | u_char *sig; | 121 | u_char *sig; |
122 | 122 | ||
123 | ASSERT_INT_EQ(sshkey_sign(k, &sig, &len, d, l, sig_alg, NULL, 0), 0); | 123 | ASSERT_INT_EQ(sshkey_sign(k, &sig, &len, d, l, sig_alg, |
124 | NULL, NULL, 0), 0); | ||
124 | ASSERT_SIZE_T_GT(len, 8); | 125 | ASSERT_SIZE_T_GT(len, 8); |
125 | ASSERT_PTR_NE(sig, NULL); | 126 | ASSERT_PTR_NE(sig, NULL); |
126 | ASSERT_INT_EQ(sshkey_verify(k, sig, len, d, l, NULL, 0, NULL), 0); | 127 | ASSERT_INT_EQ(sshkey_verify(k, sig, len, d, l, NULL, 0, NULL), 0); |
@@ -437,7 +438,7 @@ sshkey_tests(void) | |||
437 | put_opt(k1->cert->extensions, "permit-X11-forwarding", NULL); | 438 | put_opt(k1->cert->extensions, "permit-X11-forwarding", NULL); |
438 | put_opt(k1->cert->extensions, "permit-agent-forwarding", NULL); | 439 | put_opt(k1->cert->extensions, "permit-agent-forwarding", NULL); |
439 | ASSERT_INT_EQ(sshkey_from_private(k2, &k1->cert->signature_key), 0); | 440 | ASSERT_INT_EQ(sshkey_from_private(k2, &k1->cert->signature_key), 0); |
440 | ASSERT_INT_EQ(sshkey_certify(k1, k2, NULL, NULL), 0); | 441 | ASSERT_INT_EQ(sshkey_certify(k1, k2, NULL, NULL, NULL), 0); |
441 | b = sshbuf_new(); | 442 | b = sshbuf_new(); |
442 | ASSERT_PTR_NE(b, NULL); | 443 | ASSERT_PTR_NE(b, NULL); |
443 | ASSERT_INT_EQ(sshkey_putb(k1, b), 0); | 444 | ASSERT_INT_EQ(sshkey_putb(k1, b), 0); |
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1 b/regress/unittests/sshkey/testdata/ecdsa_sk1 new file mode 100644 index 000000000..b51fb73d6 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1 | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAfwAAACJzay1lY2 | ||
3 | RzYS1zaGEyLW5pc3RwMjU2QG9wZW5zc2guY29tAAAACG5pc3RwMjU2AAAAQQRnVT5Cji1D | ||
4 | Ge2+q2X0vATh6LYnODV+DJrshJorr5GnipW29RfuaDXs0WB6XBej9dOLazVRDjQrtV19Qg | ||
5 | O6cfkFAAAABHNzaDoAAAGQuPdnP7j3Zz8AAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBv | ||
6 | cGVuc3NoLmNvbQAAAAhuaXN0cDI1NgAAAEEEZ1U+Qo4tQxntvqtl9LwE4ei2Jzg1fgya7I | ||
7 | SaK6+Rp4qVtvUX7mg17NFgelwXo/XTi2s1UQ40K7VdfUIDunH5BQAAAARzc2g6AQAAAOMt | ||
8 | LS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUhjQ0FRRUVJRURmVFB4YzA0alN5Zk | ||
9 | Z5NlhoV1pTVlpzcnU5ZFlaSVpTOWhjeVFhcDlVT29Bb0dDQ3FHU000OQpBd0VIb1VRRFFn | ||
10 | QUVaMVUrUW80dFF4bnR2cXRsOUx3RTRlaTJKemcxZmd5YTdJU2FLNitScDRxVnR2VVg3bW | ||
11 | cxCjdORmdlbHdYby9YVGkyczFVUTQwSzdWZGZVSUR1bkg1QlE9PQotLS0tLUVORCBFQyBQ | ||
12 | UklWQVRFIEtFWS0tLS0tCgAAAAAAAAAURUNEU0EtU0sgdGVzdCBrZXkgIzEBAgMEBQ== | ||
13 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp new file mode 100644 index 000000000..d1921451d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub new file mode 100644 index 000000000..9586c61a7 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAK3NrLWVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgE012YoSBE9hEC2FRzblcSx784JNo2A4g611A7I75YMMAAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOgAAAAAAAAAHAAAAAgAAAAZqdWxpdXMAAAASAAAABWhvc3QxAAAABWhvc3QyAAAAADaLg2AAAAAATR3h4AAAAAAAAAAAAAAAAAAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAEEEAlTtPiWUHubBeCys4Xp0QF91dYARpkyqtCnzg10HRS+ZDgkMrSUvPPG+Ge8iqtnB951MBxDq9FqDFIkhQBYXDAAAAGQAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAEkAAAAhALY+eXRJjVGnMk38Sm5S+H5CloNq757ypsoxt+WYoadtAAAAIA42/mAhUfLij1GY7wl+OFrI+icB/t4tGiEUZmhx6Foo ECDSA-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.fp b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp new file mode 100644 index 000000000..d1921451d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb new file mode 100644 index 000000000..cb9f4dd0d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb | |||
@@ -0,0 +1 @@ | |||
xovem-sacac-dageg-vovoc-symyz-bozal-cibiv-cyvat-vylyn-romib-hoxax | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.pub b/regress/unittests/sshkey/testdata/ecdsa_sk1.pub new file mode 100644 index 000000000..c3b21e02b --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOg== ECDSA-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1_pw b/regress/unittests/sshkey/testdata/ecdsa_sk1_pw new file mode 100644 index 000000000..4fa23a738 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1_pw | |||
@@ -0,0 +1,14 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABB6vcJVx2 | ||
3 | cPc7yYRROup8VnAAAAEAAAAAEAAAB/AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3Bl | ||
4 | bnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmi | ||
5 | uvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOgAAAZBrvCxe | ||
6 | xFz0bvzXwaPhrUHBeNCoZy/wNKDx0kxlxUPuA+lgOvy5l3lT3yxxd0qj5PQB+NTcuz8AAE | ||
7 | 1f7aSWQNZSifox3COsBGoHV9C8i+glcxiBKheAZD+EBnRGjG8kbcaLhuYDW/I39qNe8lHW | ||
8 | YSDjmvsT55Hy0IAtVRAXizDoXKNdFPTZisC67WyOSJ3ED7Fy4bfT4ApbvhoFTwjikZBEhy | ||
9 | LOad1sbJa4eT19TsskYfQdnJf8sjAmCMOZY4ZV0FiNW5XZOp8nIal1oyULPfzTAm6oaeFN | ||
10 | 0ImCSU3U8h4wUQ8q/3XvBWtTKycZaoou0AwPoP0QN95Ywte7FHezNPb/n8KD7k0S6h9XAX | ||
11 | UcBeCe5NHyov/0ZzA2p737hzm3w+MXGOboTQMu8WFXeGh4m7QH2o8ZJdgBhM5JF17uii+Q | ||
12 | ppGoPWHf33MXwB3wxWmKZ0ua0f9AVLkQ2DfFszUoBJE/kcHRd4kj4Q4FWXeMBN0GoH8gdE | ||
13 | gRWIlxn2/FAOce/BFPzzdP87H0jwz7SdcuVO1L | ||
14 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2 b/regress/unittests/sshkey/testdata/ecdsa_sk2 new file mode 100644 index 000000000..19db5a3f5 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2 | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAfwAAACJzay1lY2 | ||
3 | RzYS1zaGEyLW5pc3RwMjU2QG9wZW5zc2guY29tAAAACG5pc3RwMjU2AAAAQQSTl+SR6rTg | ||
4 | lOZmcQkCtJ3Pd+lWinezo/gHk4oZdZcTQsmEYs766BlWGuB2Bz3qQRLa6cXsP+4K9kAjAJ | ||
5 | 7zdoFUAAAABHNzaDoAAAGQ1qllJtapZSYAAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBv | ||
6 | cGVuc3NoLmNvbQAAAAhuaXN0cDI1NgAAAEEEk5fkkeq04JTmZnEJArSdz3fpVop3s6P4B5 | ||
7 | OKGXWXE0LJhGLO+ugZVhrgdgc96kES2unF7D/uCvZAIwCe83aBVAAAAARzc2g6AQAAAOMt | ||
8 | LS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUhjQ0FRRUVJSkxwVkxnSTVvdkRlOW | ||
9 | VMWmZodCs5WWlMaitnam0rTXhHTXg5NndiRWw0Wm9Bb0dDQ3FHU000OQpBd0VIb1VRRFFn | ||
10 | QUVrNWZra2VxMDRKVG1abkVKQXJTZHozZnBWb3AzczZQNEI1T0tHWFdYRTBMSmhHTE8rdW | ||
11 | daClZocmdkZ2M5NmtFUzJ1bkY3RC91Q3ZaQUl3Q2U4M2FCVkE9PQotLS0tLUVORCBFQyBQ | ||
12 | UklWQVRFIEtFWS0tLS0tCgAAAAAAAAAURUNEU0EtU0sgdGVzdCBrZXkgIzIBAgMEBQ== | ||
13 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.fp b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp new file mode 100644 index 000000000..1bc99ea0d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:pz8VkgtRY3r50F4zSuzRlmq9c6vPTpJXLKKOgkyUcKE | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb new file mode 100644 index 000000000..bfee7658a --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb | |||
@@ -0,0 +1 @@ | |||
xobel-gavur-gorym-pedop-rarob-bunek-gucer-lofeg-syhaf-fylur-zoxix | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.pub b/regress/unittests/sshkey/testdata/ecdsa_sk2.pub new file mode 100644 index 000000000..2629d9509 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJOX5JHqtOCU5mZxCQK0nc936VaKd7Oj+AeTihl1lxNCyYRizvroGVYa4HYHPepBEtrpxew/7gr2QCMAnvN2gVQAAAAEc3NoOg== ECDSA-SK test key #2 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1 b/regress/unittests/sshkey/testdata/ed25519_sk1 new file mode 100644 index 000000000..4196d9c6a --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1 | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 | ||
3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAhaP5OS1PPOt7uumAvXlDtte9EHbqIT1EZEJ2y | ||
4 | 2v3XMwAAAARzc2g6AAAAuBocY6UaHGOlAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 | ||
5 | 9tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoBAAAAQJYq | ||
6 | lGHhFoA25/q8X/rdTqDAb7dhqs4ehhd/w8x99CwiIWj+TktTzzre7rpgL15Q7bXvRB26iE | ||
7 | 9RGRCdstr91zMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzEBAgM= | ||
8 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp new file mode 100644 index 000000000..a6bb1a99c --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub new file mode 100644 index 000000000..3c72c268d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519-cert-v01@openssh.com AAAAI3NrLXNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJr7CuMntQKvHoUshx374fJLFEkyxKsEOBA1H6hk5scoAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAAAAAAAACAAAAAIAAAAGanVsaXVzAAAAEgAAAAVob3N0MQAAAAVob3N0MgAAAAA2i4NgAAAAAE0d4eAAAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIOo/0xneV3iM2qWEo5RUwvUYa2bjff292T5vvuXRomGQAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECgsRGLDh1SI3m66MRp9D2iLP4wabQ0OrDgGidk7LsVn2XZHV5jBZN1RtNfe6PBMeVzfRtGUzOg18sO7H7uU+EC ED25519-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.fp b/regress/unittests/sshkey/testdata/ed25519_sk1.fp new file mode 100644 index 000000000..a6bb1a99c --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb b/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb new file mode 100644 index 000000000..1bfe20a48 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb | |||
@@ -0,0 +1 @@ | |||
xucac-vusip-tydoz-dudad-nerif-raran-tezun-cogyd-pamoh-bahef-ruxix | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.pub b/regress/unittests/sshkey/testdata/ed25519_sk1.pub new file mode 100644 index 000000000..60fe00c39 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDo= ED25519-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1_pw b/regress/unittests/sshkey/testdata/ed25519_sk1_pw new file mode 100644 index 000000000..1c29ff07f --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1_pw | |||
@@ -0,0 +1,9 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDr5R9Yf/ | ||
3 | ucEh0Ns6c34tcIAAAAEAAAAAEAAABKAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29t | ||
4 | AAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAADA2T6owx | ||
5 | OSgKz4DvLnS3UJ/renbuew5mbkIWB1/y8xd3y5Usm08iUCAlKxep9dVRQvmyoTrc/7rHOM | ||
6 | DkokNw+WgKambnlYT/9QfqViZ9iCBtbdmhLM6ksUCgQefvquRyXoJxlWstjXUll6Ru+ZbT | ||
7 | H//Ss8C1bYtAiXR68OQ+rhDrvQxA9P8J1sGIlkuV3h8YXddSpyBW2Sn0LTHHBXYZo86cXZ | ||
8 | G4Lnc8aGYm65eqdHgkfRmht3eS8DTdzEBfBNH5Ml | ||
9 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2 b/regress/unittests/sshkey/testdata/ed25519_sk2 new file mode 100644 index 000000000..b9b748966 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2 | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 | ||
3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAV8fu1Sc31QLK2R/zGPdN3ve5xuFvDc7mEAWxb | ||
4 | aI+YcwAAAARzc2g6AAAAuJCMX5uQjF+bAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 | ||
5 | 9tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDoBAAAAQObE | ||
6 | PajcKI1W30EKOhBb6u+Fgx464kf7EjnqDSg4l7gAFfH7tUnN9UCytkf8xj3Td73ucbhbw3 | ||
7 | O5hAFsW2iPmHMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzIBAgM= | ||
8 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.fp b/regress/unittests/sshkey/testdata/ed25519_sk2.fp new file mode 100644 index 000000000..1c4369a00 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:b9BVPS5vuU4yu/FgweojLLg6zbfmBBoWLUgibdxxsoo | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb b/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb new file mode 100644 index 000000000..f5fd9efd8 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb | |||
@@ -0,0 +1 @@ | |||
xemac-tizim-dihep-supar-zupib-cukak-pasis-febeg-dyguv-hutec-dyxox | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.pub b/regress/unittests/sshkey/testdata/ed25519_sk2.pub new file mode 100644 index 000000000..c7ed9f524 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDo= ED25519-SK test key #2 | |||
diff --git a/regress/unittests/sshsig/Makefile b/regress/unittests/sshsig/Makefile new file mode 100644 index 000000000..4b607df45 --- /dev/null +++ b/regress/unittests/sshsig/Makefile | |||
@@ -0,0 +1,25 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2020/06/19 04:32:09 djm Exp $ | ||
2 | |||
3 | PROG=test_sshsig | ||
4 | SRCS=tests.c | ||
5 | |||
6 | # From usr.bin/ssh | ||
7 | SRCS+=sshbuf-getput-basic.c sshbuf-getput-crypto.c sshbuf-misc.c sshbuf.c | ||
8 | SRCS+=sshbuf-io.c atomicio.c sshkey.c authfile.c cipher.c log.c ssh-rsa.c | ||
9 | SRCS+=ssh-dss.c ssh-ecdsa.c ssh-ed25519.c mac.c umac.c umac128.c hmac.c misc.c | ||
10 | SRCS+=ssherr.c uidswap.c cleanup.c xmalloc.c match.c krl.c fatal.c | ||
11 | SRCS+=addrmatch.c bitmap.c sshsig.c | ||
12 | SRCS+=ed25519.c hash.c ge25519.c fe25519.c sc25519.c verify.c | ||
13 | SRCS+=cipher-chachapoly.c chacha.c poly1305.c ssh-ecdsa-sk.c ssh-sk.c | ||
14 | SRCS+=ssh-ed25519-sk.c sk-usbhid.c | ||
15 | |||
16 | SRCS+=digest-openssl.c | ||
17 | #SRCS+=digest-libc.c | ||
18 | SRCS+=utf8.c | ||
19 | |||
20 | REGRESS_TARGETS=run-regress-${PROG} | ||
21 | |||
22 | run-regress-${PROG}: ${PROG} | ||
23 | env ${TEST_ENV} ./${PROG} ${UNITTEST_ARGS} -d ${.CURDIR}/testdata | ||
24 | |||
25 | .include <bsd.regress.mk> | ||
diff --git a/regress/unittests/sshsig/mktestdata.sh b/regress/unittests/sshsig/mktestdata.sh new file mode 100755 index 000000000..d2300f9c6 --- /dev/null +++ b/regress/unittests/sshsig/mktestdata.sh | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | # $OpenBSD: mktestdata.sh,v 1.1 2020/06/19 04:32:09 djm Exp $ | ||
3 | |||
4 | NAMESPACE=unittest | ||
5 | |||
6 | set -ex | ||
7 | |||
8 | cd testdata | ||
9 | |||
10 | if [ -f ../../../misc/sk-dummy/sk-dummy.so ] ; then | ||
11 | SK_DUMMY=../../../misc/sk-dummy/sk-dummy.so | ||
12 | elif [ -f ../../../misc/sk-dummy/obj/sk-dummy.so ] ; then | ||
13 | SK_DUMMY=../../../misc/sk-dummy/obj/sk-dummy.so | ||
14 | else | ||
15 | echo "Can't find sk-dummy.so" 1>&2 | ||
16 | exit 1 | ||
17 | fi | ||
18 | |||
19 | rm -f signed-data namespace | ||
20 | rm -f rsa dsa ecdsa ed25519 ecdsa_sk ed25519_sk | ||
21 | rm -f rsa.sig dsa.sig ecdsa.sig ed25519.sig ecdsa_sk.sig ed25519_sk.sig | ||
22 | |||
23 | printf "This is a test, this is only a test" > signed-data | ||
24 | printf "$NAMESPACE" > namespace | ||
25 | |||
26 | ssh-keygen -t rsa -C "RSA test" -N "" -f rsa -m PEM | ||
27 | ssh-keygen -t dsa -C "DSA test" -N "" -f dsa -m PEM | ||
28 | ssh-keygen -t ecdsa -C "ECDSA test" -N "" -f ecdsa -m PEM | ||
29 | ssh-keygen -t ed25519 -C "ED25519 test key" -N "" -f ed25519 | ||
30 | ssh-keygen -w "$SK_DUMMY" -t ecdsa-sk -C "ECDSA-SK test key" \ | ||
31 | -N "" -f ecdsa_sk | ||
32 | ssh-keygen -w "$SK_DUMMY" -t ed25519-sk -C "ED25519-SK test key" \ | ||
33 | -N "" -f ed25519_sk | ||
34 | |||
35 | ssh-keygen -Y sign -f rsa -n $NAMESPACE - < signed-data > rsa.sig | ||
36 | ssh-keygen -Y sign -f dsa -n $NAMESPACE - < signed-data > dsa.sig | ||
37 | ssh-keygen -Y sign -f ecdsa -n $NAMESPACE - < signed-data > ecdsa.sig | ||
38 | ssh-keygen -Y sign -f ed25519 -n $NAMESPACE - < signed-data > ed25519.sig | ||
39 | ssh-keygen -w "$SK_DUMMY" \ | ||
40 | -Y sign -f ecdsa_sk -n $NAMESPACE - < signed-data > ecdsa_sk.sig | ||
41 | ssh-keygen -w "$SK_DUMMY" \ | ||
42 | -Y sign -f ed25519_sk -n $NAMESPACE - < signed-data > ed25519_sk.sig | ||
diff --git a/regress/unittests/sshsig/testdata/dsa b/regress/unittests/sshsig/testdata/dsa new file mode 100644 index 000000000..7c0063efc --- /dev/null +++ b/regress/unittests/sshsig/testdata/dsa | |||
@@ -0,0 +1,12 @@ | |||
1 | -----BEGIN DSA PRIVATE KEY----- | ||
2 | MIIBuwIBAAKBgQCXpndQdz2mQVnk+lYOF3nxDT+h6SiJmUvBFhnFWBv8tG4pTOkb | ||
3 | EwGufLEzGpzjTj+3bjVau7LFt37AFrqs4Num272BWNsYNIjOlGPgq7Xjv32FN00x | ||
4 | JYh1DoRs1cGGnvohlsWEamGGhTHD1a9ipctPEBV+NrxtZMrl+pO/ZZg8vQIVAKJB | ||
5 | P3iNYSpSuW74+q4WxLCuK8O3AoGAQldE+BIuxlvoG1IFiWesx0CU+H2KO0SEZc9A | ||
6 | SX/qjOabh0Fb78ofTlEf9gWHFfat8SvSJQIOPMVlb76Lio8AAMT8Eaa/qQKKYmQL | ||
7 | dNq4MLhhjxx5KLGt6J2JyFPExCv+qnHYHD59ngtLwKyqGjpSC8LPLktdXn8W/Aad | ||
8 | Ly1K7+MCgYBsMHBczhSeUh8w7i20CVg4OlNTmfJRVU2tO6OpMxZ/quitRm3hLKSN | ||
9 | u4xRkvHJwi4LhQtv1SXvLI5gs5P3gCG8tsIAiyCqLinHha63iBdJpqhnV/x/j7dB | ||
10 | yJr3xJbnmLdWLkkCtNk1Ir1/CuEz+ufAyLGdKWksEAu1UUlb501BkwIVAILIa3Rg | ||
11 | 0h7J9lQpHJphvF3K0M1T | ||
12 | -----END DSA PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/dsa.pub b/regress/unittests/sshsig/testdata/dsa.pub new file mode 100644 index 000000000..e77aa7ef4 --- /dev/null +++ b/regress/unittests/sshsig/testdata/dsa.pub | |||
@@ -0,0 +1 @@ | |||
ssh-dss AAAAB3NzaC1kc3MAAACBAJemd1B3PaZBWeT6Vg4XefENP6HpKImZS8EWGcVYG/y0bilM6RsTAa58sTManONOP7duNVq7ssW3fsAWuqzg26bbvYFY2xg0iM6UY+CrteO/fYU3TTEliHUOhGzVwYae+iGWxYRqYYaFMcPVr2Kly08QFX42vG1kyuX6k79lmDy9AAAAFQCiQT94jWEqUrlu+PquFsSwrivDtwAAAIBCV0T4Ei7GW+gbUgWJZ6zHQJT4fYo7RIRlz0BJf+qM5puHQVvvyh9OUR/2BYcV9q3xK9IlAg48xWVvvouKjwAAxPwRpr+pAopiZAt02rgwuGGPHHkosa3onYnIU8TEK/6qcdgcPn2eC0vArKoaOlILws8uS11efxb8Bp0vLUrv4wAAAIBsMHBczhSeUh8w7i20CVg4OlNTmfJRVU2tO6OpMxZ/quitRm3hLKSNu4xRkvHJwi4LhQtv1SXvLI5gs5P3gCG8tsIAiyCqLinHha63iBdJpqhnV/x/j7dByJr3xJbnmLdWLkkCtNk1Ir1/CuEz+ufAyLGdKWksEAu1UUlb501Bkw== DSA test | |||
diff --git a/regress/unittests/sshsig/testdata/dsa.sig b/regress/unittests/sshsig/testdata/dsa.sig new file mode 100644 index 000000000..0b14ad6b8 --- /dev/null +++ b/regress/unittests/sshsig/testdata/dsa.sig | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAbEAAAAHc3NoLWRzcwAAAIEAl6Z3UHc9pkFZ5PpWDhd58Q0/oekoiZ | ||
3 | lLwRYZxVgb/LRuKUzpGxMBrnyxMxqc404/t241Wruyxbd+wBa6rODbptu9gVjbGDSIzpRj | ||
4 | 4Ku14799hTdNMSWIdQ6EbNXBhp76IZbFhGphhoUxw9WvYqXLTxAVfja8bWTK5fqTv2WYPL | ||
5 | 0AAAAVAKJBP3iNYSpSuW74+q4WxLCuK8O3AAAAgEJXRPgSLsZb6BtSBYlnrMdAlPh9ijtE | ||
6 | hGXPQEl/6ozmm4dBW+/KH05RH/YFhxX2rfEr0iUCDjzFZW++i4qPAADE/BGmv6kCimJkC3 | ||
7 | TauDC4YY8ceSixreidichTxMQr/qpx2Bw+fZ4LS8Csqho6UgvCzy5LXV5/FvwGnS8tSu/j | ||
8 | AAAAgGwwcFzOFJ5SHzDuLbQJWDg6U1OZ8lFVTa07o6kzFn+q6K1GbeEspI27jFGS8cnCLg | ||
9 | uFC2/VJe8sjmCzk/eAIby2wgCLIKouKceFrreIF0mmqGdX/H+Pt0HImvfElueYt1YuSQK0 | ||
10 | 2TUivX8K4TP658DIsZ0paSwQC7VRSVvnTUGTAAAACHVuaXR0ZXN0AAAAAAAAAAZzaGE1MT | ||
11 | IAAAA3AAAAB3NzaC1kc3MAAAAodi5lr0pqBpO76OY4N1CtfR85BCgZ95qfVjP/e9lToj0q | ||
12 | lwjSJJXUjw== | ||
13 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/ecdsa b/regress/unittests/sshsig/testdata/ecdsa new file mode 100644 index 000000000..55fb440e0 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa | |||
@@ -0,0 +1,5 @@ | |||
1 | -----BEGIN EC PRIVATE KEY----- | ||
2 | MHcCAQEEIFg0ZCSEB5LNeLsXYL25g3kqEWsqh52DR+yNOjyQJqyZoAoGCCqGSM49 | ||
3 | AwEHoUQDQgAE3sud88FV0N8FPspZSV7LWqj6uPPLRZiSsenNuEYAteWPyDgrZsWb | ||
4 | LzXBuUJucepaCNuW/QWgHBRbrjWj3ERm3A== | ||
5 | -----END EC PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/ecdsa.pub b/regress/unittests/sshsig/testdata/ecdsa.pub new file mode 100644 index 000000000..14ec6cf12 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa.pub | |||
@@ -0,0 +1 @@ | |||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBN7LnfPBVdDfBT7KWUley1qo+rjzy0WYkrHpzbhGALXlj8g4K2bFmy81wblCbnHqWgjblv0FoBwUW641o9xEZtw= ECDSA test | |||
diff --git a/regress/unittests/sshsig/testdata/ecdsa.sig b/regress/unittests/sshsig/testdata/ecdsa.sig new file mode 100644 index 000000000..79781570c --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa.sig | |||
@@ -0,0 +1,7 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAE | ||
3 | EE3sud88FV0N8FPspZSV7LWqj6uPPLRZiSsenNuEYAteWPyDgrZsWbLzXBuUJucepaCNuW | ||
4 | /QWgHBRbrjWj3ERm3AAAAAh1bml0dGVzdAAAAAAAAAAGc2hhNTEyAAAAZQAAABNlY2RzYS | ||
5 | 1zaGEyLW5pc3RwMjU2AAAASgAAACEAycVNsTlE+XEZYyYiDxWZlliruf/pPMhEEMR/XLdQ | ||
6 | a4MAAAAhALQt+5gES7L3uKGptHB6UZQMuZ2WyI0C6FJs4v6AtMIU | ||
7 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/ecdsa_sk b/regress/unittests/sshsig/testdata/ecdsa_sk new file mode 100644 index 000000000..62ae44cb0 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa_sk | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAfwAAACJzay1lY2 | ||
3 | RzYS1zaGEyLW5pc3RwMjU2QG9wZW5zc2guY29tAAAACG5pc3RwMjU2AAAAQQSg1WuY0XE+ | ||
4 | VexOsrJsFYuxyVoe6eQ/oXmyz2pEHKZw9moyWehv+Fs7oZWFp3JVmOtybKQ6dvfUZYauQE | ||
5 | /Ov4PAAAAABHNzaDoAAAGI6iV41+oleNcAAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBv | ||
6 | cGVuc3NoLmNvbQAAAAhuaXN0cDI1NgAAAEEEoNVrmNFxPlXsTrKybBWLsclaHunkP6F5ss | ||
7 | 9qRBymcPZqMlnob/hbO6GVhadyVZjrcmykOnb31GWGrkBPzr+DwAAAAARzc2g6AQAAAOMt | ||
8 | LS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUhjQ0FRRUVJQm9oeW54M2tpTFVEeS | ||
9 | t5UjU3WXBXSU5KektnU1p6WnV2VTljYXFla3JGcW9Bb0dDQ3FHU000OQpBd0VIb1VRRFFn | ||
10 | QUVvTlZybU5GeFBsWHNUckt5YkJXTHNjbGFIdW5rUDZGNXNzOXFSQnltY1BacU1sbm9iL2 | ||
11 | hiCk82R1ZoYWR5VlpqcmNteWtPbmIzMUdXR3JrQlB6citEd0E9PQotLS0tLUVORCBFQyBQ | ||
12 | UklWQVRFIEtFWS0tLS0tCgAAAAAAAAARRUNEU0EtU0sgdGVzdCBrZXk= | ||
13 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/ecdsa_sk.pub b/regress/unittests/sshsig/testdata/ecdsa_sk.pub new file mode 100644 index 000000000..385ebf15b --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa_sk.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBKDVa5jRcT5V7E6ysmwVi7HJWh7p5D+hebLPakQcpnD2ajJZ6G/4WzuhlYWnclWY63JspDp299Rlhq5AT86/g8AAAAAEc3NoOg== ECDSA-SK test key | |||
diff --git a/regress/unittests/sshsig/testdata/ecdsa_sk.sig b/regress/unittests/sshsig/testdata/ecdsa_sk.sig new file mode 100644 index 000000000..86de36063 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa_sk.sig | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAH8AAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBvcGVuc3NoLmNvbQ | ||
3 | AAAAhuaXN0cDI1NgAAAEEEoNVrmNFxPlXsTrKybBWLsclaHunkP6F5ss9qRBymcPZqMlno | ||
4 | b/hbO6GVhadyVZjrcmykOnb31GWGrkBPzr+DwAAAAARzc2g6AAAACHVuaXR0ZXN0AAAAAA | ||
5 | AAAAZzaGE1MTIAAAB3AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20A | ||
6 | AABIAAAAIHohGwyy8iKT3zwd1TYA9V/Ioo7h/3zCJUtyq/Qigt/HAAAAIGzidTwq7D/kFa | ||
7 | 7Xjcp/KkdbIs4MfQpfAW/0OciajlpzARI0Vng= | ||
8 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.pub b/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.pub new file mode 100644 index 000000000..1597302ce --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBBRGwDjs4HhJFcn4tJ5Gr72KcmRmCS1OirETxaXvnsNApgoOLF1a/7rxldfSMHm73eT1nhHe97W8qicPPEAKDJQAAAALbWluZHJvdC5vcmc= | |||
diff --git a/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.sig b/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.sig new file mode 100644 index 000000000..4bdd8edc6 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.sig | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAIYAAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBvcGVuc3NoLmNvbQ | ||
3 | AAAAhuaXN0cDI1NgAAAEEEFEbAOOzgeEkVyfi0nkavvYpyZGYJLU6KsRPFpe+ew0CmCg4s | ||
4 | XVr/uvGV19Iwebvd5PWeEd73tbyqJw88QAoMlAAAAAttaW5kcm90Lm9yZwAAAAh1bml0dG | ||
5 | VzdAAAAAAAAAAGc2hhNTEyAAABhwAAACt3ZWJhdXRobi1zay1lY2RzYS1zaGEyLW5pc3Rw | ||
6 | MjU2QG9wZW5zc2guY29tAAAASQAAACBj2oMT9tb5wRXe6mdmf4/lgAO8wrgr95ouozwNg4 | ||
7 | itnQAAACEAtU9g5wz3HchUiLfLD6plr9T4TiJ32lVCrATSjpiy0SMBAAADHwAAABdodHRw | ||
8 | czovL3d3dy5taW5kcm90Lm9yZwAAAON7InR5cGUiOiJ3ZWJhdXRobi5nZXQiLCJjaGFsbG | ||
9 | VuZ2UiOiJVMU5JVTBsSEFBQUFDSFZ1YVhSMFpYTjBBQUFBQUFBQUFBWnphR0UxTVRJQUFB | ||
10 | QkFMTHU4WmdjU3h0Nk1zRlV6dWlaZ0c2R3dNZEo5ZDd4ZUU3WW9SSXcwZzlpSEpfd3NGRD | ||
11 | cxbzRXbHllenZGV0VqYnFRMHFDN0Z3R3Bqa2pVUVAtTmQ2dyIsIm9yaWdpbiI6Imh0dHBz | ||
12 | Oi8vd3d3Lm1pbmRyb3Qub3JnIiwiY3Jvc3NPcmlnaW4iOmZhbHNlfQAAAAA= | ||
13 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/ed25519 b/regress/unittests/sshsig/testdata/ed25519 new file mode 100644 index 000000000..b44a63d3e --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519 | |||
@@ -0,0 +1,7 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW | ||
3 | QyNTUxOQAAACCJYs0iDdw0Fe/FTzY1b78I4H/j+R6mz2AmLtwTjHYwBAAAAJjpGas/6Rmr | ||
4 | PwAAAAtzc2gtZWQyNTUxOQAAACCJYs0iDdw0Fe/FTzY1b78I4H/j+R6mz2AmLtwTjHYwBA | ||
5 | AAAEDpSKRA1QKW6kYiQftGRWh+H0fNekzYLG6c3bzseoCpEolizSIN3DQV78VPNjVvvwjg | ||
6 | f+P5HqbPYCYu3BOMdjAEAAAAEEVEMjU1MTkgdGVzdCBrZXkBAgMEBQ== | ||
7 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/ed25519.pub b/regress/unittests/sshsig/testdata/ed25519.pub new file mode 100644 index 000000000..b078e4516 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519.pub | |||
@@ -0,0 +1 @@ | |||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlizSIN3DQV78VPNjVvvwjgf+P5HqbPYCYu3BOMdjAE ED25519 test key | |||
diff --git a/regress/unittests/sshsig/testdata/ed25519.sig b/regress/unittests/sshsig/testdata/ed25519.sig new file mode 100644 index 000000000..8e8ff2a8a --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519.sig | |||
@@ -0,0 +1,6 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgiWLNIg3cNBXvxU82NW+/COB/4/ | ||
3 | keps9gJi7cE4x2MAQAAAAIdW5pdHRlc3QAAAAAAAAABnNoYTUxMgAAAFMAAAALc3NoLWVk | ||
4 | MjU1MTkAAABAihQsbUzuNEFflk5Tw1+H9aLS7tZQk0RG8KW1DtOmDYYnWe3D3UKiG3fcJa | ||
5 | DNg4vBWp1j1gLRiBMOF+gwYNegDg== | ||
6 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/ed25519_sk b/regress/unittests/sshsig/testdata/ed25519_sk new file mode 100644 index 000000000..3a434ecb9 --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519_sk | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 | ||
3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACCbGg2F0GK7nOm4pQmAyCuGEjnhvs5q0TtjPbdN | ||
4 | //+yxwAAAARzc2g6AAAAuBw56jAcOeowAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 | ||
5 | 9tAAAAIJsaDYXQYruc6bilCYDIK4YSOeG+zmrRO2M9t03//7LHAAAABHNzaDoBAAAAQFXc | ||
6 | 6dCwWewIk1EBofAouGZApW8+s0XekXenxtb78+x0mxoNhdBiu5zpuKUJgMgrhhI54b7Oat | ||
7 | E7Yz23Tf//sscAAAAAAAAAE0VEMjU1MTktU0sgdGVzdCBrZXkBAgMEBQY= | ||
8 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/ed25519_sk.pub b/regress/unittests/sshsig/testdata/ed25519_sk.pub new file mode 100644 index 000000000..71051ec3b --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519_sk.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJsaDYXQYruc6bilCYDIK4YSOeG+zmrRO2M9t03//7LHAAAABHNzaDo= ED25519-SK test key | |||
diff --git a/regress/unittests/sshsig/testdata/ed25519_sk.sig b/regress/unittests/sshsig/testdata/ed25519_sk.sig new file mode 100644 index 000000000..49b6818da --- /dev/null +++ b/regress/unittests/sshsig/testdata/ed25519_sk.sig | |||
@@ -0,0 +1,7 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgmxoNhd | ||
3 | Biu5zpuKUJgMgrhhI54b7OatE7Yz23Tf//sscAAAAEc3NoOgAAAAh1bml0dGVzdAAAAAAA | ||
4 | AAAGc2hhNTEyAAAAZwAAABpzay1zc2gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAAEAi+7eTjW | ||
5 | /+LQ2M+sCD+KFtH1n7VFFJon/SZFsxODyV8cWTlFKj617Ys1Ur5TV6uaEXQhck8rBA2oQI | ||
6 | HTPANLIPARI0Vng= | ||
7 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/namespace b/regress/unittests/sshsig/testdata/namespace new file mode 100644 index 000000000..1570cd548 --- /dev/null +++ b/regress/unittests/sshsig/testdata/namespace | |||
@@ -0,0 +1 @@ | |||
unittest \ No newline at end of file | |||
diff --git a/regress/unittests/sshsig/testdata/rsa b/regress/unittests/sshsig/testdata/rsa new file mode 100644 index 000000000..228fad797 --- /dev/null +++ b/regress/unittests/sshsig/testdata/rsa | |||
@@ -0,0 +1,39 @@ | |||
1 | -----BEGIN RSA PRIVATE KEY----- | ||
2 | MIIG4wIBAAKCAYEA386lmjRHtJpyj87BrS+ssMmtvc/1SPN0gXTPs9jZ1hYAq98P | ||
3 | ca3/RYVM4HaSu6COztQJ2ZnZD3Te/XeBnIU2mfuvQEl+DiwisGeNglVyRCi7787f | ||
4 | PFFfcxzZfDa7EB2qY8S3oaSGZK8QqzuGwmGAImjlQXz6J+HCd/eD/58GoCSSirIE | ||
5 | CFWCAt+uNrOC/EmgAzsbfcfaIbbVzA40tlgU3hO2J42kddz8CisDTtDKQABFcOaQ | ||
6 | ZycSfn7HDP+WgXLXXBUI9wVM1Tif1f+9MX08xIsvCvGzo7yLgbbTFLSGr5SkA+tO | ||
7 | rYuoA7V8fge0id/3pnVtG1Ui3I7vejeAwf0HZqtFeBEnOwkIJFmZeMtFeOVf+4ki | ||
8 | 4h1rDqAvSscNvMtLp6OXpbAATATAuEWEkIQBl1rngnEe0iC9iU9itKMW6qJ4FtIb | ||
9 | 4ACH1EoU1x8vqrFecg2hvqfk5CZBJIbV28JFuGjac3OxBZ17Fqb8ljomUir1GrET | ||
10 | 2z66NMgb5TjDD7BVAgMBAAECggGACfjDGCPMLhfTkuS7bGP7ZcUWoKZrX1y5jCsQ | ||
11 | NgsraYaBcSb3ITGHdimCS139G68DreN0rOVV7oJejRyOAdNNo367SDn+C9ObmBCF | ||
12 | FZGJDdBiz0SAXceiYRaf+hDWNNmdheR16hXShxnlvDtivbZqZx4VWN2gp7Y/W+kD | ||
13 | UJhdSzVV8igMVfK5YDdnI7jL1UHSh1JS3z/QUEA9NmJLpvQ1uc9XBlwhP78g27Me | ||
14 | 6pwS5tccQPOE65OqF0i+xa19nzbmnC940Y34yZeI/UE+PYaO2+asapvOfu/sboBH | ||
15 | Yb5BuWXVEkSeRWI23SpuZbmfNTtVgiRoRqOvqM4G88LkhYjZ6xpDggxQwJiShiiD | ||
16 | oWCucs0v3pX8H8/LbGs8l50SGI5nzUqAdZ7/QQucU/GuDiQtampntkLEDgf9KIw/ | ||
17 | SDrtCw1E9fnCWj4Z71IYfepY9bVY6QUEcfTdnDcYSY1Z5tVpzeMHVLeo0lbNVZv9 | ||
18 | 2qmPnjjP/IvWbjjwu/PHpUWkUs0BAoHBAPx4YwPXWYgWnesMKXkjAHyO5KA4EyBr | ||
19 | +rcEmOZkZDibC8PKYzIK2ztptuthahVovW20R/QJhJkO5teGZMeGPFq+floCeC5P | ||
20 | la9CEYGYcTrzgSe1QM9IGMr1vGI1KIWck7VkJ0bkKoY40uIJSVZxnyG9pEpcwYSp | ||
21 | tnOqA/f5YZUFctWvXUz46OfiLKstXLrcrGIU7YRmLv2rW9twnpJYTzE98g3KpVJ2 | ||
22 | TI1pyvrDTdGeAQUTGCAjpviY6XR5d020vQKBwQDi76wsGLQ3XLI+OAE95Ljo0Mcl | ||
23 | +KdJPVVQPq/VcjKgZQndFloflMRrmgNHme9gmsHOrf8DLZvEDbtT+gbmWslMFZQ9 | ||
24 | om1kR404gfuGmfIYdBdOwWjuBLsZs3pfqDB4Xa3NkxljwOMYTp035n0r2UMFaSy3 | ||
25 | gvpW7fsdPOGAJsqNhSw/JNHcokHeBm7VbV0aD7tSyIghmARb5c98fmrSPbiEo8mP | ||
26 | ITIZlgbfZCq2KuXY4q16R3QvlpuSwitVobLR/3kCgcEAueH5JM7dQHFGe9RMhL/c | ||
27 | j9i1Q7GFg4183lsoKBkqIPMmylSsjB+qIihHYS4r6O9g6PCfOXH4iqiKFY0BjlWr | ||
28 | AjTW2naO/aniz1KZiQ0v8PNv2Eh/Gx4+AtDCjpwM5bLOnfLLaEp9dK1JttqXgGnP | ||
29 | fAwgdg+s+3votWgr29tkmU+VqPagfxeUg4Xm1XFkoL/wu5Yk+iIx3trXms1kMuOK | ||
30 | CvtMyBK3fetTmZqWs+Iv3XGz1oSkcqVNPiN3XyY/TJsRAoG/Q17jvjOXTNg4EkCO | ||
31 | HdHJE1Tnyl4HS7bpnOj/Sl6cqQFV7Ey2dKm1pjwSvS714bgP0UvWaRshIxLwif2w | ||
32 | DrLlD7FYUPPnhd24Dw6HnW4WcSwFv1uryv2cjgS6T6ueuB0Xe/AvmW2p/Y1ZHz9N | ||
33 | 6baWLwUKQXCg4S3FXui0CVd6yoi+mgBUTSveYguG29WbziDde7YMs+xtXtravhrJ | ||
34 | m6C3Jql5LQSt2uqvH6KdC3ewxLKGzcZot7f+d5MtSj6216ECgcEA9PGmWeUkhVuW | ||
35 | Xz2c9iBeHwCtmDso7gVwxNnHqdqirB4f1nDCGbrJS7hz5Ss7/wfzekP2W5if2P6U | ||
36 | JPUdfykAQgALNn1twAtj1a+UAp31ZWu8JK/Qzt4hLJPBxzMo7MenJq189JmYmDnm | ||
37 | 6D5d9vDLCW15gCZua89GZa8K8V50lYyeHBOHAyzNTfNlnMBkHyP645+nqpuEWzIT | ||
38 | 3mCe2OAbl60o8VvvVUlAQyQ/ObLq37HHEoDu0U/YAnP157cxpa84 | ||
39 | -----END RSA PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshsig/testdata/rsa.pub b/regress/unittests/sshsig/testdata/rsa.pub new file mode 100644 index 000000000..30142ac0a --- /dev/null +++ b/regress/unittests/sshsig/testdata/rsa.pub | |||
@@ -0,0 +1 @@ | |||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfzqWaNEe0mnKPzsGtL6ywya29z/VI83SBdM+z2NnWFgCr3w9xrf9FhUzgdpK7oI7O1AnZmdkPdN79d4GchTaZ+69ASX4OLCKwZ42CVXJEKLvvzt88UV9zHNl8NrsQHapjxLehpIZkrxCrO4bCYYAiaOVBfPon4cJ394P/nwagJJKKsgQIVYIC3642s4L8SaADOxt9x9ohttXMDjS2WBTeE7YnjaR13PwKKwNO0MpAAEVw5pBnJxJ+fscM/5aBctdcFQj3BUzVOJ/V/70xfTzEiy8K8bOjvIuBttMUtIavlKQD606ti6gDtXx+B7SJ3/emdW0bVSLcju96N4DB/Qdmq0V4ESc7CQgkWZl4y0V45V/7iSLiHWsOoC9Kxw28y0uno5elsABMBMC4RYSQhAGXWueCcR7SIL2JT2K0oxbqongW0hvgAIfUShTXHy+qsV5yDaG+p+TkJkEkhtXbwkW4aNpzc7EFnXsWpvyWOiZSKvUasRPbPro0yBvlOMMPsFU= RSA test | |||
diff --git a/regress/unittests/sshsig/testdata/rsa.sig b/regress/unittests/sshsig/testdata/rsa.sig new file mode 100644 index 000000000..15a032e01 --- /dev/null +++ b/regress/unittests/sshsig/testdata/rsa.sig | |||
@@ -0,0 +1,19 @@ | |||
1 | -----BEGIN SSH SIGNATURE----- | ||
2 | U1NIU0lHAAAAAQAAAZcAAAAHc3NoLXJzYQAAAAMBAAEAAAGBAN/OpZo0R7Saco/Owa0vrL | ||
3 | DJrb3P9UjzdIF0z7PY2dYWAKvfD3Gt/0WFTOB2krugjs7UCdmZ2Q903v13gZyFNpn7r0BJ | ||
4 | fg4sIrBnjYJVckQou+/O3zxRX3Mc2Xw2uxAdqmPEt6GkhmSvEKs7hsJhgCJo5UF8+ifhwn | ||
5 | f3g/+fBqAkkoqyBAhVggLfrjazgvxJoAM7G33H2iG21cwONLZYFN4TtieNpHXc/AorA07Q | ||
6 | ykAARXDmkGcnEn5+xwz/loFy11wVCPcFTNU4n9X/vTF9PMSLLwrxs6O8i4G20xS0hq+UpA | ||
7 | PrTq2LqAO1fH4HtInf96Z1bRtVItyO73o3gMH9B2arRXgRJzsJCCRZmXjLRXjlX/uJIuId | ||
8 | aw6gL0rHDbzLS6ejl6WwAEwEwLhFhJCEAZda54JxHtIgvYlPYrSjFuqieBbSG+AAh9RKFN | ||
9 | cfL6qxXnINob6n5OQmQSSG1dvCRbho2nNzsQWdexam/JY6JlIq9RqxE9s+ujTIG+U4ww+w | ||
10 | VQAAAAh1bml0dGVzdAAAAAAAAAAGc2hhNTEyAAABlAAAAAxyc2Etc2hhMi01MTIAAAGACi | ||
11 | nEpBrQxZi0yOrrT6h98JFfZh0XXioih4fzmvtoV0yOReWClS+otGgXoJyZHcbaKNOjDwSM | ||
12 | rIkUoX6OUJmtHYP0HRELnKw35m33LdBPXpFGS4tRS7NeSpvc04KtjT6jYXY9FjWy5hcn17 | ||
13 | Sxc/3DnJqLgJBur8acY7FeIzpWmKixPd/dGkEjdWoD9gO6szLczGuQgrOdYmSRL4yKadTJ | ||
14 | lVjz5OSeKSYYGQy33US2XQassRRNYf4e9byTA3DKvHa/OcTt7lFerea0kZdDpAboqffz7T | ||
15 | Yaw/hFskAYLIEdTW3aoXBGHSOvu8AkDOtb7qwuxGSQ27pjkDLDNsp1ceCFaCaQ6X83RZuK | ||
16 | ACv9JUBI5KaSf81e0bs0KezJKkhB9czeZ6dk96qISbgayEBnvhYgXvUDKtHn7HzNlCJKfK | ||
17 | 5ABhNxfGG2CD+NKqcrndwFgS1sQO3hbA84zPQb26ShBovT8ytHBmW1F8ZK4O9Bz61Q6EZK | ||
18 | vs/u6xP6LUean/so5daa | ||
19 | -----END SSH SIGNATURE----- | ||
diff --git a/regress/unittests/sshsig/testdata/signed-data b/regress/unittests/sshsig/testdata/signed-data new file mode 100644 index 000000000..7df4bedd1 --- /dev/null +++ b/regress/unittests/sshsig/testdata/signed-data | |||
@@ -0,0 +1 @@ | |||
This is a test, this is only a test \ No newline at end of file | |||
diff --git a/regress/unittests/sshsig/tests.c b/regress/unittests/sshsig/tests.c new file mode 100644 index 000000000..bf59d58d1 --- /dev/null +++ b/regress/unittests/sshsig/tests.c | |||
@@ -0,0 +1,139 @@ | |||
1 | /* $OpenBSD: tests.c,v 1.2 2020/06/22 06:00:06 djm Exp $ */ | ||
2 | /* | ||
3 | * Regress test for sshbuf.h buffer API | ||
4 | * | ||
5 | * Placed in the public domain | ||
6 | */ | ||
7 | |||
8 | #include "includes.h" | ||
9 | |||
10 | #include <sys/types.h> | ||
11 | #include <sys/param.h> | ||
12 | #include <sys/stat.h> | ||
13 | #include <fcntl.h> | ||
14 | #include <stdio.h> | ||
15 | #ifdef HAVE_STDINT_H | ||
16 | #include <stdint.h> | ||
17 | #endif | ||
18 | #include <stdlib.h> | ||
19 | #include <string.h> | ||
20 | #include <unistd.h> | ||
21 | |||
22 | #include <openssl/evp.h> | ||
23 | #include <openssl/crypto.h> | ||
24 | |||
25 | #include "ssherr.h" | ||
26 | #include "authfile.h" | ||
27 | #include "sshkey.h" | ||
28 | #include "sshbuf.h" | ||
29 | #include "sshsig.h" | ||
30 | #include "log.h" | ||
31 | |||
32 | #include "../test_helper/test_helper.h" | ||
33 | |||
34 | static struct sshbuf * | ||
35 | load_file(const char *name) | ||
36 | { | ||
37 | struct sshbuf *ret = NULL; | ||
38 | |||
39 | ASSERT_INT_EQ(sshbuf_load_file(test_data_file(name), &ret), 0); | ||
40 | ASSERT_PTR_NE(ret, NULL); | ||
41 | return ret; | ||
42 | } | ||
43 | |||
44 | static struct sshkey * | ||
45 | load_key(const char *name) | ||
46 | { | ||
47 | struct sshkey *ret = NULL; | ||
48 | ASSERT_INT_EQ(sshkey_load_public(test_data_file(name), &ret, NULL), 0); | ||
49 | ASSERT_PTR_NE(ret, NULL); | ||
50 | return ret; | ||
51 | } | ||
52 | |||
53 | static void | ||
54 | check_sig(const char *keyname, const char *signame, const struct sshbuf *msg, | ||
55 | const char *namespace) | ||
56 | { | ||
57 | struct sshkey *k, *sign_key; | ||
58 | struct sshbuf *sig, *rawsig; | ||
59 | struct sshkey_sig_details *sig_details; | ||
60 | |||
61 | k = load_key(keyname); | ||
62 | sig = load_file(signame); | ||
63 | sign_key = NULL; | ||
64 | sig_details = NULL; | ||
65 | rawsig = NULL; | ||
66 | ASSERT_INT_EQ(sshsig_dearmor(sig, &rawsig), 0); | ||
67 | ASSERT_INT_EQ(sshsig_verifyb(rawsig, msg, namespace, | ||
68 | &sign_key, &sig_details), 0); | ||
69 | ASSERT_INT_EQ(sshkey_equal(k, sign_key), 1); | ||
70 | sshkey_free(k); | ||
71 | sshkey_free(sign_key); | ||
72 | sshkey_sig_details_free(sig_details); | ||
73 | sshbuf_free(sig); | ||
74 | sshbuf_free(rawsig); | ||
75 | } | ||
76 | |||
77 | void | ||
78 | tests(void) | ||
79 | { | ||
80 | struct sshbuf *msg; | ||
81 | char *namespace; | ||
82 | |||
83 | #if 0 | ||
84 | log_init("test_sshsig", SYSLOG_LEVEL_DEBUG3, SYSLOG_FACILITY_AUTH, 1); | ||
85 | #endif | ||
86 | |||
87 | #ifdef WITH_OPENSSL | ||
88 | OpenSSL_add_all_algorithms(); | ||
89 | ERR_load_CRYPTO_strings(); | ||
90 | #endif | ||
91 | |||
92 | TEST_START("load data"); | ||
93 | msg = load_file("namespace"); | ||
94 | namespace = sshbuf_dup_string(msg); | ||
95 | ASSERT_PTR_NE(namespace, NULL); | ||
96 | sshbuf_free(msg); | ||
97 | msg = load_file("signed-data"); | ||
98 | TEST_DONE(); | ||
99 | |||
100 | #ifdef WITH_OPENSSL | ||
101 | TEST_START("check RSA signature"); | ||
102 | check_sig("rsa.pub", "rsa.sig", msg, namespace); | ||
103 | TEST_DONE(); | ||
104 | |||
105 | TEST_START("check DSA signature"); | ||
106 | check_sig("dsa.pub", "dsa.sig", msg, namespace); | ||
107 | TEST_DONE(); | ||
108 | |||
109 | #ifdef OPENSSL_HAS_ECC | ||
110 | TEST_START("check ECDSA signature"); | ||
111 | check_sig("ecdsa.pub", "ecdsa.sig", msg, namespace); | ||
112 | TEST_DONE(); | ||
113 | #endif | ||
114 | #endif | ||
115 | |||
116 | TEST_START("check ED25519 signature"); | ||
117 | check_sig("ed25519.pub", "ed25519.sig", msg, namespace); | ||
118 | TEST_DONE(); | ||
119 | |||
120 | #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) | ||
121 | TEST_START("check ECDSA-SK signature"); | ||
122 | check_sig("ecdsa_sk.pub", "ecdsa_sk.sig", msg, namespace); | ||
123 | TEST_DONE(); | ||
124 | #endif | ||
125 | |||
126 | TEST_START("check ED25519-SK signature"); | ||
127 | check_sig("ed25519_sk.pub", "ed25519_sk.sig", msg, namespace); | ||
128 | TEST_DONE(); | ||
129 | |||
130 | #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) | ||
131 | TEST_START("check ECDSA-SK webauthn signature"); | ||
132 | check_sig("ecdsa_sk_webauthn.pub", "ecdsa_sk_webauthn.sig", | ||
133 | msg, namespace); | ||
134 | TEST_DONE(); | ||
135 | #endif | ||
136 | |||
137 | sshbuf_free(msg); | ||
138 | free(namespace); | ||
139 | } | ||
diff --git a/regress/unittests/sshsig/webauthn.html b/regress/unittests/sshsig/webauthn.html new file mode 100644 index 000000000..953041e61 --- /dev/null +++ b/regress/unittests/sshsig/webauthn.html | |||
@@ -0,0 +1,692 @@ | |||
1 | <html> | ||
2 | <head> | ||
3 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | ||
4 | <title>webauthn test</title> | ||
5 | </head> | ||
6 | <body onload="init()"> | ||
7 | <h1>webauthn test</h1> | ||
8 | <p> | ||
9 | This is a demo/test page for generating FIDO keys and signatures in SSH | ||
10 | formats. The page initially displays a form to generate a FIDO key and | ||
11 | convert it to a SSH public key. | ||
12 | </p> | ||
13 | <p> | ||
14 | Once a key has been generated, an additional form will be displayed to | ||
15 | allow signing of data using the just-generated key. The data may be signed | ||
16 | as either a raw SSH signature or wrapped in a sshsig message (the latter is | ||
17 | easier to test using command-line tools. | ||
18 | </p> | ||
19 | <p> | ||
20 | Lots of debugging is printed along the way. | ||
21 | </p> | ||
22 | <h2>Enroll</h2> | ||
23 | <span id="error" style="color: #800; font-weight: bold; font-size: 150%;"></span> | ||
24 | <form id="enrollform"> | ||
25 | <table> | ||
26 | <tr> | ||
27 | <td><b>Username:</b></td> | ||
28 | <td><input id="username" type="text" size="20" name="user" value="test" /></td> | ||
29 | </tr> | ||
30 | <tr><td></td><td><input id="assertsubmit" type="submit" value="submit" /></td></tr> | ||
31 | </table> | ||
32 | </form> | ||
33 | <span id="enrollresult" style="visibility: hidden;"> | ||
34 | <h2>clientData</h2> | ||
35 | <pre id="enrollresultjson" style="color: #008; font-family: monospace;"></pre> | ||
36 | <h2>attestationObject raw</h2> | ||
37 | <pre id="enrollresultraw" style="color: #008; font-family: monospace;"></pre> | ||
38 | <h2>attestationObject</h2> | ||
39 | <pre id="enrollresultattestobj" style="color: #008; font-family: monospace;"></pre> | ||
40 | <h2>authData raw</h2> | ||
41 | <pre id="enrollresultauthdataraw" style="color: #008; font-family: monospace;"></pre> | ||
42 | <h2>authData</h2> | ||
43 | <pre id="enrollresultauthdata" style="color: #008; font-family: monospace;"></pre> | ||
44 | <h2>SSH pubkey blob</h2> | ||
45 | <pre id="enrollresultpkblob" style="color: #008; font-family: monospace;"></pre> | ||
46 | <h2>SSH pubkey string</h2> | ||
47 | <pre id="enrollresultpk" style="color: #008; font-family: monospace;"></pre> | ||
48 | </span> | ||
49 | <span id="assertsection" style="visibility: hidden;"> | ||
50 | <h2>Assert</h2> | ||
51 | <form id="assertform"> | ||
52 | <span id="asserterror" style="color: #800; font-weight: bold;"></span> | ||
53 | <table> | ||
54 | <tr> | ||
55 | <td><b>Data to sign:</b></td> | ||
56 | <td><input id="message" type="text" size="20" name="message" value="test" /></td> | ||
57 | </tr> | ||
58 | <tr> | ||
59 | <td><input id="message_sshsig" type="checkbox" checked /> use sshsig format</td> | ||
60 | </tr> | ||
61 | <tr> | ||
62 | <td><b>Signature namespace:</b></td> | ||
63 | <td><input id="message_namespace" type="text" size="20" name="namespace" value="test" /></td> | ||
64 | </tr> | ||
65 | <tr><td></td><td><input type="submit" value="submit" /></td></tr> | ||
66 | </table> | ||
67 | </form> | ||
68 | </span> | ||
69 | <span id="assertresult" style="visibility: hidden;"> | ||
70 | <h2>clientData</h2> | ||
71 | <pre id="assertresultjson" style="color: #008; font-family: monospace;"></pre> | ||
72 | <h2>signature raw</h2> | ||
73 | <pre id="assertresultsigraw" style="color: #008; font-family: monospace;"></pre> | ||
74 | <h2>authenticatorData raw</h2> | ||
75 | <pre id="assertresultauthdataraw" style="color: #008; font-family: monospace;"></pre> | ||
76 | <h2>authenticatorData</h2> | ||
77 | <pre id="assertresultauthdata" style="color: #008; font-family: monospace;"></pre> | ||
78 | <h2>signature in SSH format</h2> | ||
79 | <pre id="assertresultsshsigraw" style="color: #008; font-family: monospace;"></pre> | ||
80 | <h2>signature in SSH format (base64 encoded)</h2> | ||
81 | <pre id="assertresultsshsigb64" style="color: #008; font-family: monospace;"></pre> | ||
82 | </span> | ||
83 | </body> | ||
84 | <script> | ||
85 | // ------------------------------------------------------------------ | ||
86 | // a crappy CBOR decoder - 20200401 djm@openbsd.org | ||
87 | |||
88 | var CBORDecode = function(buffer) { | ||
89 | this.buf = buffer | ||
90 | this.v = new DataView(buffer) | ||
91 | this.offset = 0 | ||
92 | } | ||
93 | |||
94 | CBORDecode.prototype.empty = function() { | ||
95 | return this.offset >= this.buf.byteLength | ||
96 | } | ||
97 | |||
98 | CBORDecode.prototype.getU8 = function() { | ||
99 | let r = this.v.getUint8(this.offset) | ||
100 | this.offset += 1 | ||
101 | return r | ||
102 | } | ||
103 | |||
104 | CBORDecode.prototype.getU16 = function() { | ||
105 | let r = this.v.getUint16(this.offset) | ||
106 | this.offset += 2 | ||
107 | return r | ||
108 | } | ||
109 | |||
110 | CBORDecode.prototype.getU32 = function() { | ||
111 | let r = this.v.getUint32(this.offset) | ||
112 | this.offset += 4 | ||
113 | return r | ||
114 | } | ||
115 | |||
116 | CBORDecode.prototype.getU64 = function() { | ||
117 | let r = this.v.getUint64(this.offset) | ||
118 | this.offset += 8 | ||
119 | return r | ||
120 | } | ||
121 | |||
122 | CBORDecode.prototype.getCBORTypeLen = function() { | ||
123 | let tl, t, l | ||
124 | tl = this.getU8() | ||
125 | t = (tl & 0xe0) >> 5 | ||
126 | l = tl & 0x1f | ||
127 | return [t, this.decodeInteger(l)] | ||
128 | } | ||
129 | |||
130 | CBORDecode.prototype.decodeInteger = function(len) { | ||
131 | switch (len) { | ||
132 | case 0x18: return this.getU8() | ||
133 | case 0x19: return this.getU16() | ||
134 | case 0x20: return this.getU32() | ||
135 | case 0x21: return this.getU64() | ||
136 | default: | ||
137 | if (len <= 23) { | ||
138 | return len | ||
139 | } | ||
140 | throw new Error("Unsupported int type 0x" + len.toString(16)) | ||
141 | } | ||
142 | } | ||
143 | |||
144 | CBORDecode.prototype.decodeNegint = function(len) { | ||
145 | let r = -(this.decodeInteger(len) + 1) | ||
146 | return r | ||
147 | } | ||
148 | |||
149 | CBORDecode.prototype.decodeByteString = function(len) { | ||
150 | let r = this.buf.slice(this.offset, this.offset + len) | ||
151 | this.offset += len | ||
152 | return r | ||
153 | } | ||
154 | |||
155 | CBORDecode.prototype.decodeTextString = function(len) { | ||
156 | let u8dec = new TextDecoder('utf-8') | ||
157 | r = u8dec.decode(this.decodeByteString(len)) | ||
158 | return r | ||
159 | } | ||
160 | |||
161 | CBORDecode.prototype.decodeArray = function(len, level) { | ||
162 | let r = [] | ||
163 | for (let i = 0; i < len; i++) { | ||
164 | let v = this.decodeInternal(level) | ||
165 | r.push(v) | ||
166 | // console.log("decodeArray level " + level.toString() + " index " + i.toString() + " value " + JSON.stringify(v)) | ||
167 | } | ||
168 | return r | ||
169 | } | ||
170 | |||
171 | CBORDecode.prototype.decodeMap = function(len, level) { | ||
172 | let r = {} | ||
173 | for (let i = 0; i < len; i++) { | ||
174 | let k = this.decodeInternal(level) | ||
175 | let v = this.decodeInternal(level) | ||
176 | r[k] = v | ||
177 | // console.log("decodeMap level " + level.toString() + " key " + k.toString() + " value " + JSON.stringify(v)) | ||
178 | // XXX check string keys, duplicates | ||
179 | } | ||
180 | return r | ||
181 | } | ||
182 | |||
183 | CBORDecode.prototype.decodePrimitive = function(t) { | ||
184 | switch (t) { | ||
185 | case 20: return false | ||
186 | case 21: return true | ||
187 | case 22: return null | ||
188 | case 23: return undefined | ||
189 | default: | ||
190 | throw new Error("Unsupported primitive 0x" + t.toString(2)) | ||
191 | } | ||
192 | } | ||
193 | |||
194 | CBORDecode.prototype.decodeInternal = function(level) { | ||
195 | if (level > 256) { | ||
196 | throw new Error("CBOR nesting too deep") | ||
197 | } | ||
198 | let t, l, r | ||
199 | [t, l] = this.getCBORTypeLen() | ||
200 | // console.log("decode level " + level.toString() + " type " + t.toString() + " len " + l.toString()) | ||
201 | switch (t) { | ||
202 | case 0: | ||
203 | r = this.decodeInteger(l) | ||
204 | break | ||
205 | case 1: | ||
206 | r = this.decodeNegint(l) | ||
207 | break | ||
208 | case 2: | ||
209 | r = this.decodeByteString(l) | ||
210 | break | ||
211 | case 3: | ||
212 | r = this.decodeTextString(l) | ||
213 | break | ||
214 | case 4: | ||
215 | r = this.decodeArray(l, level + 1) | ||
216 | break | ||
217 | case 5: | ||
218 | r = this.decodeMap(l, level + 1) | ||
219 | break | ||
220 | case 6: | ||
221 | console.log("XXX ignored semantic tag " + this.decodeInteger(l).toString()) | ||
222 | break; | ||
223 | case 7: | ||
224 | r = this.decodePrimitive(l) | ||
225 | break | ||
226 | default: | ||
227 | throw new Error("Unsupported type 0x" + t.toString(2) + " len " + l.toString()) | ||
228 | } | ||
229 | // console.log("decode level " + level.toString() + " value " + JSON.stringify(r)) | ||
230 | return r | ||
231 | } | ||
232 | |||
233 | CBORDecode.prototype.decode = function() { | ||
234 | return this.decodeInternal(0) | ||
235 | } | ||
236 | |||
237 | // ------------------------------------------------------------------ | ||
238 | // a crappy SSH message packer - 20200401 djm@openbsd.org | ||
239 | |||
240 | var SSHMSG = function() { | ||
241 | this.r = [] | ||
242 | } | ||
243 | |||
244 | SSHMSG.prototype.serialise = function() { | ||
245 | let len = 0 | ||
246 | for (buf of this.r) { | ||
247 | len += buf.length | ||
248 | } | ||
249 | let r = new ArrayBuffer(len) | ||
250 | let v = new Uint8Array(r) | ||
251 | let offset = 0 | ||
252 | for (buf of this.r) { | ||
253 | v.set(buf, offset) | ||
254 | offset += buf.length | ||
255 | } | ||
256 | if (offset != r.byteLength) { | ||
257 | throw new Error("djm can't count") | ||
258 | } | ||
259 | return r | ||
260 | } | ||
261 | |||
262 | SSHMSG.prototype.serialiseBase64 = function(v) { | ||
263 | let b = this.serialise() | ||
264 | return btoa(String.fromCharCode(...new Uint8Array(b))); | ||
265 | } | ||
266 | |||
267 | SSHMSG.prototype.putU8 = function(v) { | ||
268 | this.r.push(new Uint8Array([v])) | ||
269 | } | ||
270 | |||
271 | SSHMSG.prototype.putU32 = function(v) { | ||
272 | this.r.push(new Uint8Array([ | ||
273 | (v >> 24) & 0xff, | ||
274 | (v >> 16) & 0xff, | ||
275 | (v >> 8) & 0xff, | ||
276 | (v & 0xff) | ||
277 | ])) | ||
278 | } | ||
279 | |||
280 | SSHMSG.prototype.put = function(v) { | ||
281 | this.r.push(new Uint8Array(v)) | ||
282 | } | ||
283 | |||
284 | SSHMSG.prototype.putString = function(v) { | ||
285 | let enc = new TextEncoder(); | ||
286 | let venc = enc.encode(v) | ||
287 | this.putU32(venc.length) | ||
288 | this.put(venc) | ||
289 | } | ||
290 | |||
291 | SSHMSG.prototype.putSSHMSG = function(v) { | ||
292 | let msg = v.serialise() | ||
293 | this.putU32(msg.byteLength) | ||
294 | this.put(msg) | ||
295 | } | ||
296 | |||
297 | SSHMSG.prototype.putBytes = function(v) { | ||
298 | this.putU32(v.byteLength) | ||
299 | this.put(v) | ||
300 | } | ||
301 | |||
302 | SSHMSG.prototype.putECPoint = function(x, y) { | ||
303 | let x8 = new Uint8Array(x) | ||
304 | let y8 = new Uint8Array(y) | ||
305 | this.putU32(1 + x8.length + y8.length) | ||
306 | this.putU8(0x04) // Uncompressed point format. | ||
307 | this.put(x8) | ||
308 | this.put(y8) | ||
309 | } | ||
310 | |||
311 | // ------------------------------------------------------------------ | ||
312 | // webauthn to SSH glue - djm@openbsd.org 20200408 | ||
313 | |||
314 | function error(msg, ...args) { | ||
315 | document.getElementById("error").innerText = msg | ||
316 | console.log(msg) | ||
317 | for (const arg of args) { | ||
318 | console.dir(arg) | ||
319 | } | ||
320 | } | ||
321 | function hexdump(buf) { | ||
322 | const hex = Array.from(new Uint8Array(buf)).map( | ||
323 | b => b.toString(16).padStart(2, "0")) | ||
324 | const fmt = new Array() | ||
325 | for (let i = 0; i < hex.length; i++) { | ||
326 | if ((i % 16) == 0) { | ||
327 | // Prepend length every 16 bytes. | ||
328 | fmt.push(i.toString(16).padStart(4, "0")) | ||
329 | fmt.push(" ") | ||
330 | } | ||
331 | fmt.push(hex[i]) | ||
332 | fmt.push(" ") | ||
333 | if ((i % 16) == 15) { | ||
334 | fmt.push("\n") | ||
335 | } | ||
336 | } | ||
337 | return fmt.join("") | ||
338 | } | ||
339 | function enrollform_submit(event) { | ||
340 | event.preventDefault(); | ||
341 | console.log("submitted") | ||
342 | username = event.target.elements.username.value | ||
343 | if (username === "") { | ||
344 | error("no username specified") | ||
345 | return false | ||
346 | } | ||
347 | enrollStart(username) | ||
348 | } | ||
349 | function enrollStart(username) { | ||
350 | let challenge = new Uint8Array(32) | ||
351 | window.crypto.getRandomValues(challenge) | ||
352 | let userid = new Uint8Array(8) | ||
353 | window.crypto.getRandomValues(userid) | ||
354 | |||
355 | console.log("challenge:" + btoa(challenge)) | ||
356 | console.log("userid:" + btoa(userid)) | ||
357 | |||
358 | let pkopts = { | ||
359 | challenge: challenge, | ||
360 | rp: { | ||
361 | name: "mindrot.org", | ||
362 | id: "mindrot.org", | ||
363 | }, | ||
364 | user: { | ||
365 | id: userid, | ||
366 | name: username, | ||
367 | displayName: username, | ||
368 | }, | ||
369 | authenticatorSelection: { | ||
370 | authenticatorAttachment: "cross-platform", | ||
371 | userVerification: "discouraged", | ||
372 | }, | ||
373 | pubKeyCredParams: [{alg: -7, type: "public-key"}], // ES256 | ||
374 | timeout: 30 * 1000, | ||
375 | }; | ||
376 | console.dir(pkopts) | ||
377 | window.enrollOpts = pkopts | ||
378 | let credpromise = navigator.credentials.create({ publicKey: pkopts }); | ||
379 | credpromise.then(enrollSuccess, enrollFailure) | ||
380 | } | ||
381 | function enrollFailure(result) { | ||
382 | error("Enroll failed", result) | ||
383 | } | ||
384 | function enrollSuccess(result) { | ||
385 | console.log("Enroll succeeded") | ||
386 | console.dir(result) | ||
387 | window.enrollResult = result | ||
388 | document.getElementById("enrollresult").style.visibility = "visible" | ||
389 | |||
390 | // Show the clientData | ||
391 | let u8dec = new TextDecoder('utf-8') | ||
392 | clientData = u8dec.decode(result.response.clientDataJSON) | ||
393 | document.getElementById("enrollresultjson").innerText = clientData | ||
394 | |||
395 | // Decode and show the attestationObject | ||
396 | document.getElementById("enrollresultraw").innerText = hexdump(result.response.attestationObject) | ||
397 | let aod = new CBORDecode(result.response.attestationObject) | ||
398 | let attestationObject = aod.decode() | ||
399 | console.log("attestationObject") | ||
400 | console.dir(attestationObject) | ||
401 | document.getElementById("enrollresultattestobj").innerText = JSON.stringify(attestationObject) | ||
402 | |||
403 | // Decode and show the authData | ||
404 | document.getElementById("enrollresultauthdataraw").innerText = hexdump(attestationObject.authData) | ||
405 | let authData = decodeAuthenticatorData(attestationObject.authData, true) | ||
406 | console.log("authData") | ||
407 | console.dir(authData) | ||
408 | window.enrollAuthData = authData | ||
409 | document.getElementById("enrollresultauthdata").innerText = JSON.stringify(authData) | ||
410 | |||
411 | // Reformat the pubkey as a SSH key for easy verification | ||
412 | window.rawKey = reformatPubkey(authData.attestedCredentialData.credentialPublicKey, window.enrollOpts.rp.id) | ||
413 | console.log("SSH pubkey blob") | ||
414 | console.dir(window.rawKey) | ||
415 | document.getElementById("enrollresultpkblob").innerText = hexdump(window.rawKey) | ||
416 | let pk64 = btoa(String.fromCharCode(...new Uint8Array(window.rawKey))); | ||
417 | let pk = "sk-ecdsa-sha2-nistp256@openssh.com " + pk64 | ||
418 | document.getElementById("enrollresultpk").innerText = pk | ||
419 | |||
420 | // Success: show the assertion form. | ||
421 | document.getElementById("assertsection").style.visibility = "visible" | ||
422 | } | ||
423 | |||
424 | function decodeAuthenticatorData(authData, expectCred) { | ||
425 | let r = new Object() | ||
426 | let v = new DataView(authData) | ||
427 | |||
428 | r.rpIdHash = authData.slice(0, 32) | ||
429 | r.flags = v.getUint8(32) | ||
430 | r.signCount = v.getUint32(33) | ||
431 | |||
432 | // Decode attestedCredentialData if present. | ||
433 | let offset = 37 | ||
434 | let acd = new Object() | ||
435 | if (expectCred) { | ||
436 | acd.aaguid = authData.slice(offset, offset+16) | ||
437 | offset += 16 | ||
438 | let credentialIdLength = v.getUint16(offset) | ||
439 | offset += 2 | ||
440 | acd.credentialIdLength = credentialIdLength | ||
441 | acd.credentialId = authData.slice(offset, offset+credentialIdLength) | ||
442 | offset += credentialIdLength | ||
443 | r.attestedCredentialData = acd | ||
444 | } | ||
445 | console.log("XXXXX " + offset.toString()) | ||
446 | let pubkeyrest = authData.slice(offset, authData.byteLength) | ||
447 | let pkdecode = new CBORDecode(pubkeyrest) | ||
448 | if (expectCred) { | ||
449 | // XXX unsafe: doesn't mandate COSE canonical format. | ||
450 | acd.credentialPublicKey = pkdecode.decode() | ||
451 | } | ||
452 | if (!pkdecode.empty()) { | ||
453 | // Decode extensions if present. | ||
454 | r.extensions = pkdecode.decode() | ||
455 | } | ||
456 | return r | ||
457 | } | ||
458 | |||
459 | function reformatPubkey(pk, rpid) { | ||
460 | // pk is in COSE format. We only care about a tiny subset. | ||
461 | if (pk[1] != 2) { | ||
462 | console.dir(pk) | ||
463 | throw new Error("pubkey is not EC") | ||
464 | } | ||
465 | if (pk[-1] != 1) { | ||
466 | throw new Error("pubkey is not in P256") | ||
467 | } | ||
468 | if (pk[3] != -7) { | ||
469 | throw new Error("pubkey is not ES256") | ||
470 | } | ||
471 | if (pk[-2].byteLength != 32 || pk[-3].byteLength != 32) { | ||
472 | throw new Error("pubkey EC coords have bad length") | ||
473 | } | ||
474 | let msg = new SSHMSG() | ||
475 | msg.putString("sk-ecdsa-sha2-nistp256@openssh.com") // Key type | ||
476 | msg.putString("nistp256") // Key curve | ||
477 | msg.putECPoint(pk[-2], pk[-3]) // EC key | ||
478 | msg.putString(rpid) // RP ID | ||
479 | return msg.serialise() | ||
480 | } | ||
481 | |||
482 | async function assertform_submit(event) { | ||
483 | event.preventDefault(); | ||
484 | console.log("submitted") | ||
485 | message = event.target.elements.message.value | ||
486 | if (message === "") { | ||
487 | error("no message specified") | ||
488 | return false | ||
489 | } | ||
490 | let enc = new TextEncoder() | ||
491 | let encmsg = enc.encode(message) | ||
492 | window.assertSignRaw = !event.target.elements.message_sshsig.checked | ||
493 | console.log("using sshsig ", !window.assertSignRaw) | ||
494 | if (window.assertSignRaw) { | ||
495 | assertStart(encmsg) | ||
496 | return | ||
497 | } | ||
498 | // Format a sshsig-style message. | ||
499 | window.sigHashAlg = "sha512" | ||
500 | let msghash = await crypto.subtle.digest("SHA-512", encmsg); | ||
501 | console.log("raw message hash") | ||
502 | console.dir(msghash) | ||
503 | window.sigNamespace = event.target.elements.message_namespace.value | ||
504 | let sigbuf = new SSHMSG() | ||
505 | sigbuf.put(enc.encode("SSHSIG")) | ||
506 | sigbuf.putString(window.sigNamespace) | ||
507 | sigbuf.putU32(0) // Reserved string | ||
508 | sigbuf.putString(window.sigHashAlg) | ||
509 | sigbuf.putBytes(msghash) | ||
510 | let msg = sigbuf.serialise() | ||
511 | console.log("sigbuf") | ||
512 | console.dir(msg) | ||
513 | assertStart(msg) | ||
514 | } | ||
515 | |||
516 | function assertStart(message) { | ||
517 | let assertReqOpts = { | ||
518 | challenge: message, | ||
519 | rpId: "mindrot.org", | ||
520 | allowCredentials: [{ | ||
521 | type: 'public-key', | ||
522 | id: window.enrollResult.rawId, | ||
523 | }], | ||
524 | userVerification: "discouraged", | ||
525 | timeout: (30 * 1000), | ||
526 | } | ||
527 | console.log("assertReqOpts") | ||
528 | console.dir(assertReqOpts) | ||
529 | window.assertReqOpts = assertReqOpts | ||
530 | let assertpromise = navigator.credentials.get({ | ||
531 | publicKey: assertReqOpts | ||
532 | }); | ||
533 | assertpromise.then(assertSuccess, assertFailure) | ||
534 | } | ||
535 | function assertFailure(result) { | ||
536 | error("Assertion failed", result) | ||
537 | } | ||
538 | function linewrap(s) { | ||
539 | const linelen = 70 | ||
540 | let ret = "" | ||
541 | for (let i = 0; i < s.length; i += linelen) { | ||
542 | end = i + linelen | ||
543 | if (end > s.length) { | ||
544 | end = s.length | ||
545 | } | ||
546 | if (i > 0) { | ||
547 | ret += "\n" | ||
548 | } | ||
549 | ret += s.slice(i, end) | ||
550 | } | ||
551 | return ret + "\n" | ||
552 | } | ||
553 | function assertSuccess(result) { | ||
554 | console.log("Assertion succeeded") | ||
555 | console.dir(result) | ||
556 | window.assertResult = result | ||
557 | document.getElementById("assertresult").style.visibility = "visible" | ||
558 | |||
559 | // show the clientData. | ||
560 | let u8dec = new TextDecoder('utf-8') | ||
561 | clientData = u8dec.decode(result.response.clientDataJSON) | ||
562 | document.getElementById("assertresultjson").innerText = clientData | ||
563 | |||
564 | // show the signature. | ||
565 | document.getElementById("assertresultsigraw").innerText = hexdump(result.response.signature) | ||
566 | |||
567 | // decode and show the authData. | ||
568 | document.getElementById("assertresultauthdataraw").innerText = hexdump(result.response.authenticatorData) | ||
569 | authData = decodeAuthenticatorData(result.response.authenticatorData, false) | ||
570 | document.getElementById("assertresultauthdata").innerText = JSON.stringify(authData) | ||
571 | |||
572 | // Parse and reformat the signature to an SSH style signature. | ||
573 | let sshsig = reformatSignature(result.response.signature, clientData, authData) | ||
574 | document.getElementById("assertresultsshsigraw").innerText = hexdump(sshsig) | ||
575 | let sig64 = btoa(String.fromCharCode(...new Uint8Array(sshsig))); | ||
576 | if (window.assertSignRaw) { | ||
577 | document.getElementById("assertresultsshsigb64").innerText = sig64 | ||
578 | } else { | ||
579 | document.getElementById("assertresultsshsigb64").innerText = | ||
580 | "-----BEGIN SSH SIGNATURE-----\n" + linewrap(sig64) + | ||
581 | "-----END SSH SIGNATURE-----\n"; | ||
582 | } | ||
583 | } | ||
584 | |||
585 | function reformatSignature(sig, clientData, authData) { | ||
586 | if (sig.byteLength < 2) { | ||
587 | throw new Error("signature is too short") | ||
588 | } | ||
589 | let offset = 0 | ||
590 | let v = new DataView(sig) | ||
591 | // Expect an ASN.1 SEQUENCE that exactly spans the signature. | ||
592 | if (v.getUint8(offset) != 0x30) { | ||
593 | throw new Error("signature not an ASN.1 sequence") | ||
594 | } | ||
595 | offset++ | ||
596 | let seqlen = v.getUint8(offset) | ||
597 | offset++ | ||
598 | if ((seqlen & 0x80) != 0 || seqlen != sig.byteLength - offset) { | ||
599 | throw new Error("signature has unexpected length " + seqlen.toString() + " vs expected " + (sig.byteLength - offset).toString()) | ||
600 | } | ||
601 | |||
602 | // Parse 'r' INTEGER value. | ||
603 | if (v.getUint8(offset) != 0x02) { | ||
604 | throw new Error("signature r not an ASN.1 integer") | ||
605 | } | ||
606 | offset++ | ||
607 | let rlen = v.getUint8(offset) | ||
608 | offset++ | ||
609 | if ((rlen & 0x80) != 0 || rlen > sig.byteLength - offset) { | ||
610 | throw new Error("signature r has unexpected length " + rlen.toString() + " vs buffer " + (sig.byteLength - offset).toString()) | ||
611 | } | ||
612 | let r = sig.slice(offset, offset + rlen) | ||
613 | offset += rlen | ||
614 | console.log("sig_r") | ||
615 | console.dir(r) | ||
616 | |||
617 | // Parse 's' INTEGER value. | ||
618 | if (v.getUint8(offset) != 0x02) { | ||
619 | throw new Error("signature r not an ASN.1 integer") | ||
620 | } | ||
621 | offset++ | ||
622 | let slen = v.getUint8(offset) | ||
623 | offset++ | ||
624 | if ((slen & 0x80) != 0 || slen > sig.byteLength - offset) { | ||
625 | throw new Error("signature s has unexpected length " + slen.toString() + " vs buffer " + (sig.byteLength - offset).toString()) | ||
626 | } | ||
627 | let s = sig.slice(offset, offset + slen) | ||
628 | console.log("sig_s") | ||
629 | console.dir(s) | ||
630 | offset += slen | ||
631 | |||
632 | if (offset != sig.byteLength) { | ||
633 | throw new Error("unexpected final offset during signature parsing " + offset.toString() + " expected " + sig.byteLength.toString()) | ||
634 | } | ||
635 | |||
636 | // Reformat as an SSH signature. | ||
637 | let clientDataParsed = JSON.parse(clientData) | ||
638 | let innersig = new SSHMSG() | ||
639 | innersig.putBytes(r) | ||
640 | innersig.putBytes(s) | ||
641 | |||
642 | let rawsshsig = new SSHMSG() | ||
643 | rawsshsig.putString("webauthn-sk-ecdsa-sha2-nistp256@openssh.com") | ||
644 | rawsshsig.putSSHMSG(innersig) | ||
645 | rawsshsig.putU8(authData.flags) | ||
646 | rawsshsig.putU32(authData.signCount) | ||
647 | rawsshsig.putString(clientDataParsed.origin) | ||
648 | rawsshsig.putString(clientData) | ||
649 | if (authData.extensions == undefined) { | ||
650 | rawsshsig.putU32(0) | ||
651 | } else { | ||
652 | rawsshsig.putBytes(authData.extensions) | ||
653 | } | ||
654 | |||
655 | if (window.assertSignRaw) { | ||
656 | return rawsshsig.serialise() | ||
657 | } | ||
658 | // Format as SSHSIG. | ||
659 | let enc = new TextEncoder() | ||
660 | let sshsig = new SSHMSG() | ||
661 | sshsig.put(enc.encode("SSHSIG")) | ||
662 | sshsig.putU32(0x01) // Signature version. | ||
663 | sshsig.putBytes(window.rawKey) | ||
664 | sshsig.putString(window.sigNamespace) | ||
665 | sshsig.putU32(0) // Reserved string | ||
666 | sshsig.putString(window.sigHashAlg) | ||
667 | sshsig.putBytes(rawsshsig.serialise()) | ||
668 | return sshsig.serialise() | ||
669 | } | ||
670 | |||
671 | function toggleNamespaceVisibility() { | ||
672 | const assertsigtype = document.getElementById('message_sshsig'); | ||
673 | const assertsignamespace = document.getElementById('message_namespace'); | ||
674 | assertsignamespace.disabled = !assertsigtype.checked; | ||
675 | } | ||
676 | |||
677 | function init() { | ||
678 | if (document.location.protocol != "https:") { | ||
679 | error("This page must be loaded via https") | ||
680 | const assertsubmit = document.getElementById('assertsubmit') | ||
681 | assertsubmit.disabled = true | ||
682 | } | ||
683 | const enrollform = document.getElementById('enrollform'); | ||
684 | enrollform.addEventListener('submit', enrollform_submit); | ||
685 | const assertform = document.getElementById('assertform'); | ||
686 | assertform.addEventListener('submit', assertform_submit); | ||
687 | const assertsigtype = document.getElementById('message_sshsig'); | ||
688 | assertsigtype.onclick = toggleNamespaceVisibility; | ||
689 | } | ||
690 | </script> | ||
691 | |||
692 | </html> | ||
@@ -4,7 +4,7 @@ NAME | |||
4 | scp M-bM-^@M-^S OpenSSH secure file copy | 4 | scp M-bM-^@M-^S OpenSSH secure file copy |
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] | 7 | scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] |
8 | [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] | 8 | [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] |
9 | source ... target | 9 | source ... target |
10 | 10 | ||
@@ -35,6 +35,9 @@ DESCRIPTION | |||
35 | 35 | ||
36 | -6 Forces scp to use IPv6 addresses only. | 36 | -6 Forces scp to use IPv6 addresses only. |
37 | 37 | ||
38 | -A Allows forwarding of ssh-agent(1) to the remote system. The | ||
39 | default is not to forward an authentication agent. | ||
40 | |||
38 | -B Selects batch mode (prevents asking for passwords or | 41 | -B Selects batch mode (prevents asking for passwords or |
39 | passphrases). | 42 | passphrases). |
40 | 43 | ||
@@ -180,4 +183,4 @@ AUTHORS | |||
180 | Timo Rinne <tri@iki.fi> | 183 | Timo Rinne <tri@iki.fi> |
181 | Tatu Ylonen <ylo@cs.hut.fi> | 184 | Tatu Ylonen <ylo@cs.hut.fi> |
182 | 185 | ||
183 | OpenBSD 6.7 April 30, 2020 OpenBSD 6.7 | 186 | OpenBSD 6.8 August 3, 2020 OpenBSD 6.8 |
@@ -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.89 2020/04/30 18:28:37 jmc Exp $ | 11 | .\" $OpenBSD: scp.1,v 1.90 2020/08/03 02:43:41 djm Exp $ |
12 | .\" | 12 | .\" |
13 | .Dd $Mdocdate: April 30 2020 $ | 13 | .Dd $Mdocdate: August 3 2020 $ |
14 | .Dt SCP 1 | 14 | .Dt SCP 1 |
15 | .Os | 15 | .Os |
16 | .Sh NAME | 16 | .Sh NAME |
@@ -18,7 +18,7 @@ | |||
18 | .Nd OpenSSH secure file copy | 18 | .Nd OpenSSH secure file copy |
19 | .Sh SYNOPSIS | 19 | .Sh SYNOPSIS |
20 | .Nm scp | 20 | .Nm scp |
21 | .Op Fl 346BCpqrTv | 21 | .Op Fl 346ABCpqrTv |
22 | .Op Fl c Ar cipher | 22 | .Op Fl c Ar cipher |
23 | .Op Fl F Ar ssh_config | 23 | .Op Fl F Ar ssh_config |
24 | .Op Fl i Ar identity_file | 24 | .Op Fl i Ar identity_file |
@@ -86,6 +86,11 @@ to use IPv4 addresses only. | |||
86 | Forces | 86 | Forces |
87 | .Nm | 87 | .Nm |
88 | to use IPv6 addresses only. | 88 | to use IPv6 addresses only. |
89 | .It Fl A | ||
90 | Allows forwarding of | ||
91 | .Xr ssh-agent 1 | ||
92 | to the remote system. | ||
93 | The default is not to forward an authentication agent. | ||
89 | .It Fl B | 94 | .It Fl B |
90 | Selects batch mode (prevents asking for passwords or passphrases). | 95 | Selects batch mode (prevents asking for passwords or passphrases). |
91 | .It Fl C | 96 | .It Fl C |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: scp.c,v 1.210 2020/05/06 20:57:38 djm Exp $ */ | 1 | /* $OpenBSD: scp.c,v 1.212 2020/08/03 02:43:41 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). |
@@ -381,8 +381,11 @@ typedef struct { | |||
381 | BUF *allocbuf(BUF *, int, int); | 381 | BUF *allocbuf(BUF *, int, int); |
382 | void lostconn(int); | 382 | void lostconn(int); |
383 | int okname(char *); | 383 | int okname(char *); |
384 | void run_err(const char *,...); | 384 | void run_err(const char *,...) |
385 | int note_err(const char *,...); | 385 | __attribute__((__format__ (printf, 1, 2))) |
386 | __attribute__((__nonnull__ (1))); | ||
387 | int note_err(const char *,...) | ||
388 | __attribute__((__format__ (printf, 1, 2))); | ||
386 | void verifydir(char *); | 389 | void verifydir(char *); |
387 | 390 | ||
388 | struct passwd *pwd; | 391 | struct passwd *pwd; |
@@ -430,7 +433,6 @@ main(int argc, char **argv) | |||
430 | args.list = remote_remote_args.list = NULL; | 433 | args.list = remote_remote_args.list = NULL; |
431 | addargs(&args, "%s", ssh_program); | 434 | addargs(&args, "%s", ssh_program); |
432 | addargs(&args, "-x"); | 435 | addargs(&args, "-x"); |
433 | addargs(&args, "-oForwardAgent=no"); | ||
434 | addargs(&args, "-oPermitLocalCommand=no"); | 436 | addargs(&args, "-oPermitLocalCommand=no"); |
435 | addargs(&args, "-oClearAllForwardings=yes"); | 437 | addargs(&args, "-oClearAllForwardings=yes"); |
436 | addargs(&args, "-oRemoteCommand=none"); | 438 | addargs(&args, "-oRemoteCommand=none"); |
@@ -438,7 +440,7 @@ main(int argc, char **argv) | |||
438 | 440 | ||
439 | fflag = Tflag = tflag = 0; | 441 | fflag = Tflag = tflag = 0; |
440 | while ((ch = getopt(argc, argv, | 442 | while ((ch = getopt(argc, argv, |
441 | "dfl:prtTvBCc:i:P:q12346S:o:F:J:")) != -1) { | 443 | "12346ABCTdfpqrtvF:J:P:S:c:i:l:o:")) != -1) { |
442 | switch (ch) { | 444 | switch (ch) { |
443 | /* User-visible flags. */ | 445 | /* User-visible flags. */ |
444 | case '1': | 446 | case '1': |
@@ -447,6 +449,7 @@ main(int argc, char **argv) | |||
447 | case '2': | 449 | case '2': |
448 | /* Ignored */ | 450 | /* Ignored */ |
449 | break; | 451 | break; |
452 | case 'A': | ||
450 | case '4': | 453 | case '4': |
451 | case '6': | 454 | case '6': |
452 | case 'C': | 455 | case 'C': |
@@ -528,6 +531,9 @@ main(int argc, char **argv) | |||
528 | argc -= optind; | 531 | argc -= optind; |
529 | argv += optind; | 532 | argv += optind; |
530 | 533 | ||
534 | /* Do this last because we want the user to be able to override it */ | ||
535 | addargs(&args, "-oForwardAgent=no"); | ||
536 | |||
531 | if ((pwd = getpwuid(userid = getuid())) == NULL) | 537 | if ((pwd = getpwuid(userid = getuid())) == NULL) |
532 | fatal("unknown user %u", (u_int) userid); | 538 | fatal("unknown user %u", (u_int) userid); |
533 | 539 | ||
@@ -1528,7 +1534,7 @@ bad: run_err("%s: %s", np, strerror(errno)); | |||
1528 | } | 1534 | } |
1529 | } | 1535 | } |
1530 | if (close(ofd) == -1) | 1536 | if (close(ofd) == -1) |
1531 | note_err(np, "%s: close: %s", np, strerror(errno)); | 1537 | note_err("%s: close: %s", np, strerror(errno)); |
1532 | (void) response(); | 1538 | (void) response(); |
1533 | if (showprogress) | 1539 | if (showprogress) |
1534 | stop_progress_meter(); | 1540 | stop_progress_meter(); |
@@ -1598,7 +1604,7 @@ void | |||
1598 | usage(void) | 1604 | usage(void) |
1599 | { | 1605 | { |
1600 | (void) fprintf(stderr, | 1606 | (void) fprintf(stderr, |
1601 | "usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]\n" | 1607 | "usage: scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]\n" |
1602 | " [-J destination] [-l limit] [-o ssh_option] [-P port]\n" | 1608 | " [-J destination] [-l limit] [-o ssh_option] [-P port]\n" |
1603 | " [-S program] source ... target\n"); | 1609 | " [-S program] source ... target\n"); |
1604 | exit(1); | 1610 | exit(1); |
diff --git a/servconf.c b/servconf.c index 5f3336365..98afcfcec 100644 --- a/servconf.c +++ b/servconf.c | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | /* $OpenBSD: servconf.c,v 1.364 2020/05/27 21:59:11 djm Exp $ */ | 2 | /* $OpenBSD: servconf.c,v 1.369 2020/08/28 03:15:52 dtucker 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,6 +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 | #include <sys/stat.h> | ||
18 | #ifdef __OpenBSD__ | 19 | #ifdef __OpenBSD__ |
19 | #include <sys/sysctl.h> | 20 | #include <sys/sysctl.h> |
20 | #endif | 21 | #endif |
@@ -144,7 +145,7 @@ initialize_server_options(ServerOptions *options) | |||
144 | options->challenge_response_authentication = -1; | 145 | options->challenge_response_authentication = -1; |
145 | options->permit_empty_passwd = -1; | 146 | options->permit_empty_passwd = -1; |
146 | options->permit_user_env = -1; | 147 | options->permit_user_env = -1; |
147 | options->permit_user_env_whitelist = NULL; | 148 | options->permit_user_env_allowlist = NULL; |
148 | options->compression = -1; | 149 | options->compression = -1; |
149 | options->rekey_limit = -1; | 150 | options->rekey_limit = -1; |
150 | options->rekey_interval = -1; | 151 | options->rekey_interval = -1; |
@@ -217,11 +218,11 @@ assemble_algorithms(ServerOptions *o) | |||
217 | all_key = sshkey_alg_list(0, 0, 1, ','); | 218 | all_key = sshkey_alg_list(0, 0, 1, ','); |
218 | all_sig = sshkey_alg_list(0, 1, 1, ','); | 219 | all_sig = sshkey_alg_list(0, 1, 1, ','); |
219 | /* remove unsupported algos from default lists */ | 220 | /* remove unsupported algos from default lists */ |
220 | def_cipher = match_filter_whitelist(KEX_SERVER_ENCRYPT, all_cipher); | 221 | def_cipher = match_filter_allowlist(KEX_SERVER_ENCRYPT, all_cipher); |
221 | def_mac = match_filter_whitelist(KEX_SERVER_MAC, all_mac); | 222 | def_mac = match_filter_allowlist(KEX_SERVER_MAC, all_mac); |
222 | def_kex = match_filter_whitelist(KEX_SERVER_KEX, all_kex); | 223 | def_kex = match_filter_allowlist(KEX_SERVER_KEX, all_kex); |
223 | def_key = match_filter_whitelist(KEX_DEFAULT_PK_ALG, all_key); | 224 | def_key = match_filter_allowlist(KEX_DEFAULT_PK_ALG, all_key); |
224 | def_sig = match_filter_whitelist(SSH_ALLOWED_CA_SIGALGS, all_sig); | 225 | def_sig = match_filter_allowlist(SSH_ALLOWED_CA_SIGALGS, all_sig); |
225 | #define ASSEMBLE(what, defaults, all) \ | 226 | #define ASSEMBLE(what, defaults, all) \ |
226 | do { \ | 227 | do { \ |
227 | if ((r = kex_assemble_names(&o->what, defaults, all)) != 0) \ | 228 | if ((r = kex_assemble_names(&o->what, defaults, all)) != 0) \ |
@@ -402,7 +403,7 @@ fill_default_server_options(ServerOptions *options) | |||
402 | options->permit_empty_passwd = 0; | 403 | options->permit_empty_passwd = 0; |
403 | if (options->permit_user_env == -1) { | 404 | if (options->permit_user_env == -1) { |
404 | options->permit_user_env = 0; | 405 | options->permit_user_env = 0; |
405 | options->permit_user_env_whitelist = NULL; | 406 | options->permit_user_env_allowlist = NULL; |
406 | } | 407 | } |
407 | if (options->compression == -1) | 408 | if (options->compression == -1) |
408 | #ifdef WITH_ZLIB | 409 | #ifdef WITH_ZLIB |
@@ -509,15 +510,6 @@ fill_default_server_options(ServerOptions *options) | |||
509 | options->auth_methods[0] = NULL; | 510 | options->auth_methods[0] = NULL; |
510 | options->num_auth_methods = 0; | 511 | options->num_auth_methods = 0; |
511 | } | 512 | } |
512 | |||
513 | #ifndef HAVE_MMAP | ||
514 | if (use_privsep && options->compression == 1) { | ||
515 | error("This platform does not support both privilege " | ||
516 | "separation and compression"); | ||
517 | error("Compression disabled"); | ||
518 | options->compression = 0; | ||
519 | } | ||
520 | #endif | ||
521 | } | 513 | } |
522 | 514 | ||
523 | /* Keyword tokens. */ | 515 | /* Keyword tokens. */ |
@@ -567,6 +559,7 @@ typedef enum { | |||
567 | #define SSHCFG_MATCH 0x02 /* allowed inside a Match section */ | 559 | #define SSHCFG_MATCH 0x02 /* allowed inside a Match section */ |
568 | #define SSHCFG_ALL (SSHCFG_GLOBAL|SSHCFG_MATCH) | 560 | #define SSHCFG_ALL (SSHCFG_GLOBAL|SSHCFG_MATCH) |
569 | #define SSHCFG_NEVERMATCH 0x04 /* Match never matches; internal only */ | 561 | #define SSHCFG_NEVERMATCH 0x04 /* Match never matches; internal only */ |
562 | #define SSHCFG_MATCH_ONLY 0x08 /* Match only in conditional blocks; internal only */ | ||
570 | 563 | ||
571 | /* Textual representation of the tokens. */ | 564 | /* Textual representation of the tokens. */ |
572 | static struct { | 565 | static struct { |
@@ -1146,6 +1139,9 @@ match_cfg_line(char **condition, int line, struct connection_info *ci) | |||
1146 | "%.100s' at line %d", ci->host, arg, line); | 1139 | "%.100s' at line %d", ci->host, arg, line); |
1147 | } else if (strcasecmp(attrib, "address") == 0) { | 1140 | } else if (strcasecmp(attrib, "address") == 0) { |
1148 | if (ci == NULL || (ci->test && ci->address == NULL)) { | 1141 | if (ci == NULL || (ci->test && ci->address == NULL)) { |
1142 | if (addr_match_list(NULL, arg) != 0) | ||
1143 | fatal("Invalid Match address argument " | ||
1144 | "'%s' at line %d", arg, line); | ||
1149 | result = 0; | 1145 | result = 0; |
1150 | continue; | 1146 | continue; |
1151 | } | 1147 | } |
@@ -1165,6 +1161,10 @@ match_cfg_line(char **condition, int line, struct connection_info *ci) | |||
1165 | } | 1161 | } |
1166 | } else if (strcasecmp(attrib, "localaddress") == 0){ | 1162 | } else if (strcasecmp(attrib, "localaddress") == 0){ |
1167 | if (ci == NULL || (ci->test && ci->laddress == NULL)) { | 1163 | if (ci == NULL || (ci->test && ci->laddress == NULL)) { |
1164 | if (addr_match_list(NULL, arg) != 0) | ||
1165 | fatal("Invalid Match localaddress " | ||
1166 | "argument '%s' at line %d", arg, | ||
1167 | line); | ||
1168 | result = 0; | 1168 | result = 0; |
1169 | continue; | 1169 | continue; |
1170 | } | 1170 | } |
@@ -1288,7 +1288,7 @@ static const struct multistate multistate_tcpfwd[] = { | |||
1288 | static int | 1288 | static int |
1289 | process_server_config_line_depth(ServerOptions *options, char *line, | 1289 | process_server_config_line_depth(ServerOptions *options, char *line, |
1290 | const char *filename, int linenum, int *activep, | 1290 | const char *filename, int linenum, int *activep, |
1291 | struct connection_info *connectinfo, int inc_flags, int depth, | 1291 | struct connection_info *connectinfo, int *inc_flags, int depth, |
1292 | struct include_list *includes) | 1292 | struct include_list *includes) |
1293 | { | 1293 | { |
1294 | char ch, *cp, ***chararrayptr, **charptr, *arg, *arg2, *p; | 1294 | char ch, *cp, ***chararrayptr, **charptr, *arg, *arg2, *p; |
@@ -1554,6 +1554,8 @@ process_server_config_line_depth(ServerOptions *options, char *line, | |||
1554 | continue; | 1554 | continue; |
1555 | if (strcasecmp(arg, "touch-required") == 0) | 1555 | if (strcasecmp(arg, "touch-required") == 0) |
1556 | value |= PUBKEYAUTH_TOUCH_REQUIRED; | 1556 | value |= PUBKEYAUTH_TOUCH_REQUIRED; |
1557 | else if (strcasecmp(arg, "verify-required") == 0) | ||
1558 | value |= PUBKEYAUTH_VERIFY_REQUIRED; | ||
1557 | else { | 1559 | else { |
1558 | fatal("%s line %d: unsupported " | 1560 | fatal("%s line %d: unsupported " |
1559 | "PubkeyAuthOptions option %s", | 1561 | "PubkeyAuthOptions option %s", |
@@ -1677,7 +1679,7 @@ process_server_config_line_depth(ServerOptions *options, char *line, | |||
1677 | 1679 | ||
1678 | case sPermitUserEnvironment: | 1680 | case sPermitUserEnvironment: |
1679 | intptr = &options->permit_user_env; | 1681 | intptr = &options->permit_user_env; |
1680 | charptr = &options->permit_user_env_whitelist; | 1682 | charptr = &options->permit_user_env_allowlist; |
1681 | arg = strdelim(&cp); | 1683 | arg = strdelim(&cp); |
1682 | if (!arg || *arg == '\0') | 1684 | if (!arg || *arg == '\0') |
1683 | fatal("%s line %d: missing argument.", | 1685 | fatal("%s line %d: missing argument.", |
@@ -2051,7 +2053,9 @@ process_server_config_line_depth(ServerOptions *options, char *line, | |||
2051 | parse_server_config_depth(options, | 2053 | parse_server_config_depth(options, |
2052 | item->filename, item->contents, | 2054 | item->filename, item->contents, |
2053 | includes, connectinfo, | 2055 | includes, connectinfo, |
2054 | (oactive ? 0 : SSHCFG_NEVERMATCH), | 2056 | (*inc_flags & SSHCFG_MATCH_ONLY |
2057 | ? SSHCFG_MATCH_ONLY : (oactive | ||
2058 | ? 0 : SSHCFG_NEVERMATCH)), | ||
2055 | activep, depth + 1); | 2059 | activep, depth + 1); |
2056 | } | 2060 | } |
2057 | found = 1; | 2061 | found = 1; |
@@ -2099,7 +2103,9 @@ process_server_config_line_depth(ServerOptions *options, char *line, | |||
2099 | parse_server_config_depth(options, | 2103 | parse_server_config_depth(options, |
2100 | item->filename, item->contents, | 2104 | item->filename, item->contents, |
2101 | includes, connectinfo, | 2105 | includes, connectinfo, |
2102 | (oactive ? 0 : SSHCFG_NEVERMATCH), | 2106 | (*inc_flags & SSHCFG_MATCH_ONLY |
2107 | ? SSHCFG_MATCH_ONLY : (oactive | ||
2108 | ? 0 : SSHCFG_NEVERMATCH)), | ||
2103 | activep, depth + 1); | 2109 | activep, depth + 1); |
2104 | *activep = oactive; | 2110 | *activep = oactive; |
2105 | TAILQ_INSERT_TAIL(includes, item, entry); | 2111 | TAILQ_INSERT_TAIL(includes, item, entry); |
@@ -2117,11 +2123,14 @@ process_server_config_line_depth(ServerOptions *options, char *line, | |||
2117 | if (cmdline) | 2123 | if (cmdline) |
2118 | fatal("Match directive not supported as a command-line " | 2124 | fatal("Match directive not supported as a command-line " |
2119 | "option"); | 2125 | "option"); |
2120 | value = match_cfg_line(&cp, linenum, connectinfo); | 2126 | value = match_cfg_line(&cp, linenum, |
2127 | (*inc_flags & SSHCFG_NEVERMATCH ? NULL : connectinfo)); | ||
2121 | if (value < 0) | 2128 | if (value < 0) |
2122 | fatal("%s line %d: Bad Match condition", filename, | 2129 | fatal("%s line %d: Bad Match condition", filename, |
2123 | linenum); | 2130 | linenum); |
2124 | *activep = (inc_flags & SSHCFG_NEVERMATCH) ? 0 : value; | 2131 | *activep = (*inc_flags & SSHCFG_NEVERMATCH) ? 0 : value; |
2132 | /* The MATCH_ONLY is applicable only until the first match block */ | ||
2133 | *inc_flags &= ~SSHCFG_MATCH_ONLY; | ||
2125 | break; | 2134 | break; |
2126 | 2135 | ||
2127 | case sPermitListen: | 2136 | case sPermitListen: |
@@ -2428,8 +2437,10 @@ process_server_config_line(ServerOptions *options, char *line, | |||
2428 | const char *filename, int linenum, int *activep, | 2437 | const char *filename, int linenum, int *activep, |
2429 | struct connection_info *connectinfo, struct include_list *includes) | 2438 | struct connection_info *connectinfo, struct include_list *includes) |
2430 | { | 2439 | { |
2440 | int inc_flags = 0; | ||
2441 | |||
2431 | return process_server_config_line_depth(options, line, filename, | 2442 | return process_server_config_line_depth(options, line, filename, |
2432 | linenum, activep, connectinfo, 0, 0, includes); | 2443 | linenum, activep, connectinfo, &inc_flags, 0, includes); |
2433 | } | 2444 | } |
2434 | 2445 | ||
2435 | 2446 | ||
@@ -2438,6 +2449,7 @@ process_server_config_line(ServerOptions *options, char *line, | |||
2438 | void | 2449 | void |
2439 | load_server_config(const char *filename, struct sshbuf *conf) | 2450 | load_server_config(const char *filename, struct sshbuf *conf) |
2440 | { | 2451 | { |
2452 | struct stat st; | ||
2441 | char *line = NULL, *cp; | 2453 | char *line = NULL, *cp; |
2442 | size_t linesize = 0; | 2454 | size_t linesize = 0; |
2443 | FILE *f; | 2455 | FILE *f; |
@@ -2449,6 +2461,10 @@ load_server_config(const char *filename, struct sshbuf *conf) | |||
2449 | exit(1); | 2461 | exit(1); |
2450 | } | 2462 | } |
2451 | sshbuf_reset(conf); | 2463 | sshbuf_reset(conf); |
2464 | /* grow buffer, so realloc is avoided for large config files */ | ||
2465 | if (fstat(fileno(f), &st) == 0 && st.st_size > 0 && | ||
2466 | (r = sshbuf_allocate(conf, st.st_size)) != 0) | ||
2467 | fatal("%s: allocate failed: %s", __func__, ssh_err(r)); | ||
2452 | while (getline(&line, &linesize, f) != -1) { | 2468 | while (getline(&line, &linesize, f) != -1) { |
2453 | lineno++; | 2469 | lineno++; |
2454 | /* | 2470 | /* |
@@ -2634,14 +2650,15 @@ parse_server_config_depth(ServerOptions *options, const char *filename, | |||
2634 | if (depth < 0 || depth > SERVCONF_MAX_DEPTH) | 2650 | if (depth < 0 || depth > SERVCONF_MAX_DEPTH) |
2635 | fatal("Too many recursive configuration includes"); | 2651 | fatal("Too many recursive configuration includes"); |
2636 | 2652 | ||
2637 | debug2("%s: config %s len %zu", __func__, filename, sshbuf_len(conf)); | 2653 | debug2("%s: config %s len %zu%s", __func__, filename, sshbuf_len(conf), |
2654 | (flags & SSHCFG_NEVERMATCH ? " [checking syntax only]" : "")); | ||
2638 | 2655 | ||
2639 | if ((obuf = cbuf = sshbuf_dup_string(conf)) == NULL) | 2656 | if ((obuf = cbuf = sshbuf_dup_string(conf)) == NULL) |
2640 | fatal("%s: sshbuf_dup_string failed", __func__); | 2657 | fatal("%s: sshbuf_dup_string failed", __func__); |
2641 | linenum = 1; | 2658 | linenum = 1; |
2642 | while ((cp = strsep(&cbuf, "\n")) != NULL) { | 2659 | while ((cp = strsep(&cbuf, "\n")) != NULL) { |
2643 | if (process_server_config_line_depth(options, cp, | 2660 | if (process_server_config_line_depth(options, cp, |
2644 | filename, linenum++, activep, connectinfo, flags, | 2661 | filename, linenum++, activep, connectinfo, &flags, |
2645 | depth, includes) != 0) | 2662 | depth, includes) != 0) |
2646 | bad_options++; | 2663 | bad_options++; |
2647 | } | 2664 | } |
@@ -2658,7 +2675,7 @@ parse_server_config(ServerOptions *options, const char *filename, | |||
2658 | { | 2675 | { |
2659 | int active = connectinfo ? 0 : 1; | 2676 | int active = connectinfo ? 0 : 1; |
2660 | parse_server_config_depth(options, filename, conf, includes, | 2677 | parse_server_config_depth(options, filename, conf, includes, |
2661 | connectinfo, 0, &active, 0); | 2678 | connectinfo, (connectinfo ? SSHCFG_MATCH_ONLY : 0), &active, 0); |
2662 | process_queued_listen_addrs(options); | 2679 | process_queued_listen_addrs(options); |
2663 | } | 2680 | } |
2664 | 2681 | ||
@@ -2965,11 +2982,11 @@ dump_config(ServerOptions *o) | |||
2965 | } | 2982 | } |
2966 | printf("\n"); | 2983 | printf("\n"); |
2967 | 2984 | ||
2968 | if (o->permit_user_env_whitelist == NULL) { | 2985 | if (o->permit_user_env_allowlist == NULL) { |
2969 | dump_cfg_fmtint(sPermitUserEnvironment, o->permit_user_env); | 2986 | dump_cfg_fmtint(sPermitUserEnvironment, o->permit_user_env); |
2970 | } else { | 2987 | } else { |
2971 | printf("permituserenvironment %s\n", | 2988 | printf("permituserenvironment %s\n", |
2972 | o->permit_user_env_whitelist); | 2989 | o->permit_user_env_allowlist); |
2973 | } | 2990 | } |
2974 | 2991 | ||
2975 | printf("pubkeyauthoptions"); | 2992 | printf("pubkeyauthoptions"); |
@@ -2977,5 +2994,7 @@ dump_config(ServerOptions *o) | |||
2977 | printf(" none"); | 2994 | printf(" none"); |
2978 | if (o->pubkey_auth_options & PUBKEYAUTH_TOUCH_REQUIRED) | 2995 | if (o->pubkey_auth_options & PUBKEYAUTH_TOUCH_REQUIRED) |
2979 | printf(" touch-required"); | 2996 | printf(" touch-required"); |
2997 | if (o->pubkey_auth_options & PUBKEYAUTH_VERIFY_REQUIRED) | ||
2998 | printf(" verify-required"); | ||
2980 | printf("\n"); | 2999 | printf("\n"); |
2981 | } | 3000 | } |
diff --git a/servconf.h b/servconf.h index 5a2b60512..4afdf24d0 100644 --- a/servconf.h +++ b/servconf.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: servconf.h,v 1.144 2020/04/17 03:30:05 djm Exp $ */ | 1 | /* $OpenBSD: servconf.h,v 1.146 2020/08/27 01:07:10 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -50,7 +50,8 @@ | |||
50 | #define INTERNAL_SFTP_NAME "internal-sftp" | 50 | #define INTERNAL_SFTP_NAME "internal-sftp" |
51 | 51 | ||
52 | /* PubkeyAuthOptions flags */ | 52 | /* PubkeyAuthOptions flags */ |
53 | #define PUBKEYAUTH_TOUCH_REQUIRED 1 | 53 | #define PUBKEYAUTH_TOUCH_REQUIRED (1) |
54 | #define PUBKEYAUTH_VERIFY_REQUIRED (1<<1) | ||
54 | 55 | ||
55 | struct ssh; | 56 | struct ssh; |
56 | struct fwd_perm_list; | 57 | struct fwd_perm_list; |
@@ -149,7 +150,7 @@ typedef struct { | |||
149 | int permit_empty_passwd; /* If false, do not permit empty | 150 | int permit_empty_passwd; /* If false, do not permit empty |
150 | * passwords. */ | 151 | * passwords. */ |
151 | int permit_user_env; /* If true, read ~/.ssh/environment */ | 152 | int permit_user_env; /* If true, read ~/.ssh/environment */ |
152 | char *permit_user_env_whitelist; /* pattern-list whitelist */ | 153 | char *permit_user_env_allowlist; /* pattern-list of allowed env names */ |
153 | int compression; /* If true, compression is allowed */ | 154 | int compression; /* If true, compression is allowed */ |
154 | int allow_tcp_forwarding; /* One of FORWARD_* */ | 155 | int allow_tcp_forwarding; /* One of FORWARD_* */ |
155 | int allow_streamlocal_forwarding; /* One of FORWARD_* */ | 156 | int allow_streamlocal_forwarding; /* One of FORWARD_* */ |
@@ -255,7 +256,7 @@ TAILQ_HEAD(include_list, include_item); | |||
255 | /* | 256 | /* |
256 | * These are string config options that must be copied between the | 257 | * These are string config options that must be copied between the |
257 | * Match sub-config and the main config, and must be sent from the | 258 | * Match sub-config and the main config, and must be sent from the |
258 | * privsep slave to the privsep master. We use a macro to ensure all | 259 | * privsep child to the privsep master. We use a macro to ensure all |
259 | * the options are copied and the copies are done in the correct order. | 260 | * the options are copied and the copies are done in the correct order. |
260 | * | 261 | * |
261 | * NB. an option must appear in servconf.c:copy_set_server_options() or | 262 | * NB. an option must appear in servconf.c:copy_set_server_options() or |
@@ -274,7 +275,7 @@ TAILQ_HEAD(include_list, include_item); | |||
274 | M_CP_STROPT(pubkey_key_types); \ | 275 | M_CP_STROPT(pubkey_key_types); \ |
275 | M_CP_STROPT(ca_sign_algorithms); \ | 276 | M_CP_STROPT(ca_sign_algorithms); \ |
276 | M_CP_STROPT(routing_domain); \ | 277 | M_CP_STROPT(routing_domain); \ |
277 | M_CP_STROPT(permit_user_env_whitelist); \ | 278 | M_CP_STROPT(permit_user_env_allowlist); \ |
278 | M_CP_STRARRAYOPT(authorized_keys_files, num_authkeys_files); \ | 279 | M_CP_STRARRAYOPT(authorized_keys_files, num_authkeys_files); \ |
279 | M_CP_STRARRAYOPT(allow_users, num_allow_users); \ | 280 | M_CP_STRARRAYOPT(allow_users, num_allow_users); \ |
280 | M_CP_STRARRAYOPT(deny_users, num_deny_users); \ | 281 | M_CP_STRARRAYOPT(deny_users, num_deny_users); \ |
diff --git a/serverloop.c b/serverloop.c index 340b19a5a..48d936d2e 100644 --- a/serverloop.c +++ b/serverloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: serverloop.c,v 1.222 2020/01/30 07:21:38 djm Exp $ */ | 1 | /* $OpenBSD: serverloop.c,v 1.223 2020/07/03 06:29: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 |
@@ -253,6 +253,8 @@ wait_until_can_do_something(struct ssh *ssh, | |||
253 | max_time_ms = keepalive_ms; | 253 | max_time_ms = keepalive_ms; |
254 | client_alive_scheduled = 1; | 254 | client_alive_scheduled = 1; |
255 | } | 255 | } |
256 | if (last_client_time == 0) | ||
257 | last_client_time = monotime(); | ||
256 | } | 258 | } |
257 | 259 | ||
258 | #if 0 | 260 | #if 0 |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: session.c,v 1.319 2020/03/13 03:17:07 djm Exp $ */ | 1 | /* $OpenBSD: session.c,v 1.324 2020/07/07 02:47:21 deraadt 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 |
@@ -843,12 +843,12 @@ check_quietlogin(Session *s, const char *command) | |||
843 | * into the environment. If the file does not exist, this does nothing. | 843 | * into the environment. If the file does not exist, this does nothing. |
844 | * Otherwise, it must consist of empty lines, comments (line starts with '#') | 844 | * Otherwise, it must consist of empty lines, comments (line starts with '#') |
845 | * and assignments of the form name=value. No other forms are allowed. | 845 | * and assignments of the form name=value. No other forms are allowed. |
846 | * If whitelist is not NULL, then it is interpreted as a pattern list and | 846 | * If allowlist is not NULL, then it is interpreted as a pattern list and |
847 | * only variable names that match it will be accepted. | 847 | * only variable names that match it will be accepted. |
848 | */ | 848 | */ |
849 | static void | 849 | static void |
850 | read_environment_file(char ***env, u_int *envsize, | 850 | read_environment_file(char ***env, u_int *envsize, |
851 | const char *filename, const char *whitelist) | 851 | const char *filename, const char *allowlist) |
852 | { | 852 | { |
853 | FILE *f; | 853 | FILE *f; |
854 | char *line = NULL, *cp, *value; | 854 | char *line = NULL, *cp, *value; |
@@ -881,8 +881,8 @@ read_environment_file(char ***env, u_int *envsize, | |||
881 | */ | 881 | */ |
882 | *value = '\0'; | 882 | *value = '\0'; |
883 | value++; | 883 | value++; |
884 | if (whitelist != NULL && | 884 | if (allowlist != NULL && |
885 | match_pattern_list(cp, whitelist, 0) != 1) | 885 | match_pattern_list(cp, allowlist, 0) != 1) |
886 | continue; | 886 | continue; |
887 | child_set_env(env, envsize, cp, value); | 887 | child_set_env(env, envsize, cp, value); |
888 | } | 888 | } |
@@ -924,7 +924,7 @@ read_etc_default_login(char ***env, u_int *envsize, uid_t uid) | |||
924 | * interested in. | 924 | * interested in. |
925 | */ | 925 | */ |
926 | read_environment_file(&tmpenv, &tmpenvsize, "/etc/default/login", | 926 | read_environment_file(&tmpenv, &tmpenvsize, "/etc/default/login", |
927 | options.permit_user_env_whitelist); | 927 | options.permit_user_env_allowlist); |
928 | 928 | ||
929 | if (tmpenv == NULL) | 929 | if (tmpenv == NULL) |
930 | return; | 930 | return; |
@@ -1091,7 +1091,7 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell) | |||
1091 | if ((cp = getenv("AUTHSTATE")) != NULL) | 1091 | if ((cp = getenv("AUTHSTATE")) != NULL) |
1092 | child_set_env(&env, &envsize, "AUTHSTATE", cp); | 1092 | child_set_env(&env, &envsize, "AUTHSTATE", cp); |
1093 | read_environment_file(&env, &envsize, "/etc/environment", | 1093 | read_environment_file(&env, &envsize, "/etc/environment", |
1094 | options.permit_user_env_whitelist); | 1094 | options.permit_user_env_allowlist); |
1095 | } | 1095 | } |
1096 | #endif | 1096 | #endif |
1097 | #ifdef KRB5 | 1097 | #ifdef KRB5 |
@@ -1111,10 +1111,10 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell) | |||
1111 | cp = strchr(ocp, '='); | 1111 | cp = strchr(ocp, '='); |
1112 | if (*cp == '=') { | 1112 | if (*cp == '=') { |
1113 | *cp = '\0'; | 1113 | *cp = '\0'; |
1114 | /* Apply PermitUserEnvironment whitelist */ | 1114 | /* Apply PermitUserEnvironment allowlist */ |
1115 | if (options.permit_user_env_whitelist == NULL || | 1115 | if (options.permit_user_env_allowlist == NULL || |
1116 | match_pattern_list(ocp, | 1116 | match_pattern_list(ocp, |
1117 | options.permit_user_env_whitelist, 0) == 1) | 1117 | options.permit_user_env_allowlist, 0) == 1) |
1118 | child_set_env(&env, &envsize, | 1118 | child_set_env(&env, &envsize, |
1119 | ocp, cp + 1); | 1119 | ocp, cp + 1); |
1120 | } | 1120 | } |
@@ -1127,7 +1127,7 @@ do_setup_env(struct ssh *ssh, Session *s, const char *shell) | |||
1127 | snprintf(buf, sizeof buf, "%.200s/.ssh/environment", | 1127 | snprintf(buf, sizeof buf, "%.200s/.ssh/environment", |
1128 | pw->pw_dir); | 1128 | pw->pw_dir); |
1129 | read_environment_file(&env, &envsize, buf, | 1129 | read_environment_file(&env, &envsize, buf, |
1130 | options.permit_user_env_whitelist); | 1130 | options.permit_user_env_allowlist); |
1131 | } | 1131 | } |
1132 | 1132 | ||
1133 | #ifdef USE_PAM | 1133 | #ifdef USE_PAM |
@@ -1206,19 +1206,21 @@ static void | |||
1206 | do_rc_files(struct ssh *ssh, Session *s, const char *shell) | 1206 | do_rc_files(struct ssh *ssh, Session *s, const char *shell) |
1207 | { | 1207 | { |
1208 | FILE *f = NULL; | 1208 | FILE *f = NULL; |
1209 | char cmd[1024]; | 1209 | char *cmd = NULL, *user_rc = NULL; |
1210 | int do_xauth; | 1210 | int do_xauth; |
1211 | struct stat st; | 1211 | struct stat st; |
1212 | 1212 | ||
1213 | do_xauth = | 1213 | do_xauth = |
1214 | s->display != NULL && s->auth_proto != NULL && s->auth_data != NULL; | 1214 | s->display != NULL && s->auth_proto != NULL && s->auth_data != NULL; |
1215 | xasprintf(&user_rc, "%s/%s", s->pw->pw_dir, _PATH_SSH_USER_RC); | ||
1215 | 1216 | ||
1216 | /* ignore _PATH_SSH_USER_RC for subsystems and admin forced commands */ | 1217 | /* ignore _PATH_SSH_USER_RC for subsystems and admin forced commands */ |
1217 | if (!s->is_subsystem && options.adm_forced_command == NULL && | 1218 | if (!s->is_subsystem && options.adm_forced_command == NULL && |
1218 | auth_opts->permit_user_rc && options.permit_user_rc && | 1219 | auth_opts->permit_user_rc && options.permit_user_rc && |
1219 | stat(_PATH_SSH_USER_RC, &st) >= 0) { | 1220 | stat(user_rc, &st) >= 0) { |
1220 | snprintf(cmd, sizeof cmd, "%s -c '%s %s'", | 1221 | if (xasprintf(&cmd, "%s -c '%s %s'", shell, _PATH_BSHELL, |
1221 | shell, _PATH_BSHELL, _PATH_SSH_USER_RC); | 1222 | user_rc) == -1) |
1223 | fatal("%s: xasprintf: %s", __func__, strerror(errno)); | ||
1222 | if (debug_flag) | 1224 | if (debug_flag) |
1223 | fprintf(stderr, "Running %s\n", cmd); | 1225 | fprintf(stderr, "Running %s\n", cmd); |
1224 | f = popen(cmd, "w"); | 1226 | f = popen(cmd, "w"); |
@@ -1229,7 +1231,7 @@ do_rc_files(struct ssh *ssh, Session *s, const char *shell) | |||
1229 | pclose(f); | 1231 | pclose(f); |
1230 | } else | 1232 | } else |
1231 | fprintf(stderr, "Could not run %s\n", | 1233 | fprintf(stderr, "Could not run %s\n", |
1232 | _PATH_SSH_USER_RC); | 1234 | user_rc); |
1233 | } else if (stat(_PATH_SSH_SYSTEM_RC, &st) >= 0) { | 1235 | } else if (stat(_PATH_SSH_SYSTEM_RC, &st) >= 0) { |
1234 | if (debug_flag) | 1236 | if (debug_flag) |
1235 | fprintf(stderr, "Running %s %s\n", _PATH_BSHELL, | 1237 | fprintf(stderr, "Running %s %s\n", _PATH_BSHELL, |
@@ -1254,8 +1256,8 @@ do_rc_files(struct ssh *ssh, Session *s, const char *shell) | |||
1254 | options.xauth_location, s->auth_display, | 1256 | options.xauth_location, s->auth_display, |
1255 | s->auth_proto, s->auth_data); | 1257 | s->auth_proto, s->auth_data); |
1256 | } | 1258 | } |
1257 | snprintf(cmd, sizeof cmd, "%s -q -", | 1259 | if (xasprintf(&cmd, "%s -q -", options.xauth_location) == -1) |
1258 | options.xauth_location); | 1260 | fatal("%s: xasprintf: %s", __func__, strerror(errno)); |
1259 | f = popen(cmd, "w"); | 1261 | f = popen(cmd, "w"); |
1260 | if (f) { | 1262 | if (f) { |
1261 | fprintf(f, "remove %s\n", | 1263 | fprintf(f, "remove %s\n", |
@@ -1269,6 +1271,8 @@ do_rc_files(struct ssh *ssh, Session *s, const char *shell) | |||
1269 | cmd); | 1271 | cmd); |
1270 | } | 1272 | } |
1271 | } | 1273 | } |
1274 | free(cmd); | ||
1275 | free(user_rc); | ||
1272 | } | 1276 | } |
1273 | 1277 | ||
1274 | static void | 1278 | static void |
@@ -1497,6 +1501,9 @@ child_close_fds(struct ssh *ssh) | |||
1497 | */ | 1501 | */ |
1498 | endpwent(); | 1502 | endpwent(); |
1499 | 1503 | ||
1504 | /* Stop directing logs to a high-numbered fd before we close it */ | ||
1505 | log_redirect_stderr_to(NULL); | ||
1506 | |||
1500 | /* | 1507 | /* |
1501 | * Close any extra open file descriptors so that we don't have them | 1508 | * Close any extra open file descriptors so that we don't have them |
1502 | * hanging around in clients. Note that we want to do this after | 1509 | * hanging around in clients. Note that we want to do this after |
diff --git a/sftp-client.c b/sftp-client.c index 72f7fff7a..b8e131be6 100644 --- a/sftp-client.c +++ b/sftp-client.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp-client.c,v 1.135 2019/10/04 04:31:59 djm Exp $ */ | 1 | /* $OpenBSD: sftp-client.c,v 1.136 2020/05/15 03:57:33 djm 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 | * |
@@ -1415,7 +1415,7 @@ do_download(struct sftp_conn *conn, const char *remote_path, | |||
1415 | (unsigned long long)offset, | 1415 | (unsigned long long)offset, |
1416 | num_req); | 1416 | num_req); |
1417 | max_req = 1; | 1417 | max_req = 1; |
1418 | } else if (max_req <= conn->num_requests) { | 1418 | } else if (max_req < conn->num_requests) { |
1419 | ++max_req; | 1419 | ++max_req; |
1420 | } | 1420 | } |
1421 | } | 1421 | } |
diff --git a/sftp-server.0 b/sftp-server.0 index 4c5fbbb72..36c5f846f 100644 --- a/sftp-server.0 +++ b/sftp-server.0 | |||
@@ -5,8 +5,7 @@ NAME | |||
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level] | 7 | sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level] |
8 | [-P blacklisted_requests] [-p whitelisted_requests] | 8 | [-P denied_requests] [-p allowed_requests] [-u umask] |
9 | [-u umask] | ||
10 | sftp-server -Q protocol_feature | 9 | sftp-server -Q protocol_feature |
11 | 10 | ||
12 | DESCRIPTION | 11 | DESCRIPTION |
@@ -48,17 +47,19 @@ DESCRIPTION | |||
48 | DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher | 47 | DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher |
49 | levels of debugging output. The default is ERROR. | 48 | levels of debugging output. The default is ERROR. |
50 | 49 | ||
51 | -P blacklisted_requests | 50 | -P denied_requests |
52 | Specify a comma-separated list of SFTP protocol requests that are | 51 | Specify a comma-separated list of SFTP protocol requests that are |
53 | banned by the server. sftp-server will reply to any blacklisted | 52 | banned by the server. sftp-server will reply to any denied |
54 | request with a failure. The -Q flag can be used to determine the | 53 | request with a failure. The -Q flag can be used to determine the |
55 | supported request types. If both a blacklist and a whitelist are | 54 | supported request types. If both denied and allowed lists are |
56 | specified, then the blacklist is applied before the whitelist. | 55 | specified, then the denied list is applied before the allowed |
56 | list. | ||
57 | 57 | ||
58 | -p whitelisted_requests | 58 | -p allowed_requests |
59 | Specify a comma-separated list of SFTP protocol requests that are | 59 | Specify a comma-separated list of SFTP protocol requests that are |
60 | permitted by the server. All request types that are not on the | 60 | permitted by the server. All request types that are not on the |
61 | whitelist will be logged and replied to with a failure message. | 61 | allowed list will be logged and replied to with a failure |
62 | message. | ||
62 | 63 | ||
63 | Care must be taken when using this feature to ensure that | 64 | Care must be taken when using this feature to ensure that |
64 | requests made implicitly by SFTP clients are permitted. | 65 | requests made implicitly by SFTP clients are permitted. |
@@ -66,7 +67,8 @@ DESCRIPTION | |||
66 | -Q protocol_feature | 67 | -Q protocol_feature |
67 | Query protocol features supported by sftp-server. At present the | 68 | Query protocol features supported by sftp-server. At present the |
68 | only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used | 69 | only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used |
69 | for black or whitelisting (flags -P and -p respectively). | 70 | to deny or allow specific requests (flags -P and -p |
71 | respectively). | ||
70 | 72 | ||
71 | -R Places this instance of sftp-server into a read-only mode. | 73 | -R Places this instance of sftp-server into a read-only mode. |
72 | Attempts to open files for writing, as well as other operations | 74 | Attempts to open files for writing, as well as other operations |
@@ -93,4 +95,4 @@ HISTORY | |||
93 | AUTHORS | 95 | AUTHORS |
94 | Markus Friedl <markus@openbsd.org> | 96 | Markus Friedl <markus@openbsd.org> |
95 | 97 | ||
96 | OpenBSD 6.7 November 30, 2019 OpenBSD 6.7 | 98 | OpenBSD 6.8 June 22, 2020 OpenBSD 6.8 |
diff --git a/sftp-server.8 b/sftp-server.8 index 4a55dab26..f057da3b8 100644 --- a/sftp-server.8 +++ b/sftp-server.8 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: sftp-server.8,v 1.28 2019/11/30 07:07:59 jmc Exp $ | 1 | .\" $OpenBSD: sftp-server.8,v 1.30 2020/06/22 06:36:40 jmc Exp $ |
2 | .\" | 2 | .\" |
3 | .\" Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | .\" Copyright (c) 2000 Markus Friedl. 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: June 22 2020 $ |
26 | .Dt SFTP-SERVER 8 | 26 | .Dt SFTP-SERVER 8 |
27 | .Os | 27 | .Os |
28 | .Sh NAME | 28 | .Sh NAME |
@@ -35,8 +35,8 @@ | |||
35 | .Op Fl d Ar start_directory | 35 | .Op Fl d Ar start_directory |
36 | .Op Fl f Ar log_facility | 36 | .Op Fl f Ar log_facility |
37 | .Op Fl l Ar log_level | 37 | .Op Fl l Ar log_level |
38 | .Op Fl P Ar blacklisted_requests | 38 | .Op Fl P Ar denied_requests |
39 | .Op Fl p Ar whitelisted_requests | 39 | .Op Fl p Ar allowed_requests |
40 | .Op Fl u Ar umask | 40 | .Op Fl u Ar umask |
41 | .Ek | 41 | .Ek |
42 | .Nm | 42 | .Nm |
@@ -99,20 +99,20 @@ performs on behalf of the client. | |||
99 | DEBUG and DEBUG1 are equivalent. | 99 | DEBUG and DEBUG1 are equivalent. |
100 | DEBUG2 and DEBUG3 each specify higher levels of debugging output. | 100 | DEBUG2 and DEBUG3 each specify higher levels of debugging output. |
101 | The default is ERROR. | 101 | The default is ERROR. |
102 | .It Fl P Ar blacklisted_requests | 102 | .It Fl P Ar denied_requests |
103 | Specify a comma-separated list of SFTP protocol requests that are banned by | 103 | Specify a comma-separated list of SFTP protocol requests that are banned by |
104 | the server. | 104 | the server. |
105 | .Nm | 105 | .Nm |
106 | will reply to any blacklisted request with a failure. | 106 | will reply to any denied request with a failure. |
107 | The | 107 | The |
108 | .Fl Q | 108 | .Fl Q |
109 | flag can be used to determine the supported request types. | 109 | flag can be used to determine the supported request types. |
110 | If both a blacklist and a whitelist are specified, then the blacklist is | 110 | If both denied and allowed lists are specified, then the denied list is |
111 | applied before the whitelist. | 111 | applied before the allowed list. |
112 | .It Fl p Ar whitelisted_requests | 112 | .It Fl p Ar allowed_requests |
113 | Specify a comma-separated list of SFTP protocol requests that are permitted | 113 | Specify a comma-separated list of SFTP protocol requests that are permitted |
114 | by the server. | 114 | by the server. |
115 | All request types that are not on the whitelist will be logged and replied | 115 | All request types that are not on the allowed list will be logged and replied |
116 | to with a failure message. | 116 | to with a failure message. |
117 | .Pp | 117 | .Pp |
118 | Care must be taken when using this feature to ensure that requests made | 118 | Care must be taken when using this feature to ensure that requests made |
@@ -122,7 +122,7 @@ Query protocol features supported by | |||
122 | .Nm . | 122 | .Nm . |
123 | At present the only feature that may be queried is | 123 | At present the only feature that may be queried is |
124 | .Dq requests , | 124 | .Dq requests , |
125 | which may be used for black or whitelisting (flags | 125 | which may be used to deny or allow specific requests (flags |
126 | .Fl P | 126 | .Fl P |
127 | and | 127 | and |
128 | .Fl p | 128 | .Fl p |
diff --git a/sftp-server.c b/sftp-server.c index 359204fa7..55386fa9a 100644 --- a/sftp-server.c +++ b/sftp-server.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp-server.c,v 1.117 2019/07/05 04:55:40 djm Exp $ */ | 1 | /* $OpenBSD: sftp-server.c,v 1.119 2020/07/17 03:51:32 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -74,7 +74,7 @@ static int init_done; | |||
74 | static int readonly; | 74 | static int readonly; |
75 | 75 | ||
76 | /* Requests that are allowed/denied */ | 76 | /* Requests that are allowed/denied */ |
77 | static char *request_whitelist, *request_blacklist; | 77 | static char *request_allowlist, *request_denylist; |
78 | 78 | ||
79 | /* portable attributes, etc. */ | 79 | /* portable attributes, etc. */ |
80 | typedef struct Stat Stat; | 80 | typedef struct Stat Stat; |
@@ -164,20 +164,20 @@ request_permitted(const struct sftp_handler *h) | |||
164 | verbose("Refusing %s request in read-only mode", h->name); | 164 | verbose("Refusing %s request in read-only mode", h->name); |
165 | return 0; | 165 | return 0; |
166 | } | 166 | } |
167 | if (request_blacklist != NULL && | 167 | if (request_denylist != NULL && |
168 | ((result = match_list(h->name, request_blacklist, NULL))) != NULL) { | 168 | ((result = match_list(h->name, request_denylist, NULL))) != NULL) { |
169 | free(result); | 169 | free(result); |
170 | verbose("Refusing blacklisted %s request", h->name); | 170 | verbose("Refusing denylisted %s request", h->name); |
171 | return 0; | 171 | return 0; |
172 | } | 172 | } |
173 | if (request_whitelist != NULL && | 173 | if (request_allowlist != NULL && |
174 | ((result = match_list(h->name, request_whitelist, NULL))) != NULL) { | 174 | ((result = match_list(h->name, request_allowlist, NULL))) != NULL) { |
175 | free(result); | 175 | free(result); |
176 | debug2("Permitting whitelisted %s request", h->name); | 176 | debug2("Permitting allowlisted %s request", h->name); |
177 | return 1; | 177 | return 1; |
178 | } | 178 | } |
179 | if (request_whitelist != NULL) { | 179 | if (request_allowlist != NULL) { |
180 | verbose("Refusing non-whitelisted %s request", h->name); | 180 | verbose("Refusing non-allowlisted %s request", h->name); |
181 | return 0; | 181 | return 0; |
182 | } | 182 | } |
183 | return 1; | 183 | return 1; |
@@ -799,18 +799,19 @@ process_write(u_int32_t id) | |||
799 | if (!(handle_to_flags(handle) & O_APPEND) && | 799 | if (!(handle_to_flags(handle) & O_APPEND) && |
800 | lseek(fd, off, SEEK_SET) == -1) { | 800 | lseek(fd, off, SEEK_SET) == -1) { |
801 | status = errno_to_portable(errno); | 801 | status = errno_to_portable(errno); |
802 | error("process_write: seek failed"); | 802 | error("%s: seek failed", __func__); |
803 | } else { | 803 | } else { |
804 | /* XXX ATOMICIO ? */ | 804 | /* XXX ATOMICIO ? */ |
805 | ret = write(fd, data, len); | 805 | ret = write(fd, data, len); |
806 | if (ret == -1) { | 806 | if (ret == -1) { |
807 | error("process_write: write failed"); | 807 | error("%s: write: %s", __func__, |
808 | strerror(errno)); | ||
808 | status = errno_to_portable(errno); | 809 | status = errno_to_portable(errno); |
809 | } else if ((size_t)ret == len) { | 810 | } else if ((size_t)ret == len) { |
810 | status = SSH2_FX_OK; | 811 | status = SSH2_FX_OK; |
811 | handle_update_write(handle, ret); | 812 | handle_update_write(handle, ret); |
812 | } else { | 813 | } else { |
813 | debug2("nothing at all written"); | 814 | debug2("%s: nothing at all written", __func__); |
814 | status = SSH2_FX_FAILURE; | 815 | status = SSH2_FX_FAILURE; |
815 | } | 816 | } |
816 | } | 817 | } |
@@ -1556,8 +1557,8 @@ sftp_server_usage(void) | |||
1556 | 1557 | ||
1557 | fprintf(stderr, | 1558 | fprintf(stderr, |
1558 | "usage: %s [-ehR] [-d start_directory] [-f log_facility] " | 1559 | "usage: %s [-ehR] [-d start_directory] [-f log_facility] " |
1559 | "[-l log_level]\n\t[-P blacklisted_requests] " | 1560 | "[-l log_level]\n\t[-P denied_requests] " |
1560 | "[-p whitelisted_requests] [-u umask]\n" | 1561 | "[-p allowed_requests] [-u umask]\n" |
1561 | " %s -Q protocol_feature\n", | 1562 | " %s -Q protocol_feature\n", |
1562 | __progname, __progname); | 1563 | __progname, __progname); |
1563 | exit(1); | 1564 | exit(1); |
@@ -1627,14 +1628,14 @@ sftp_server_main(int argc, char **argv, struct passwd *user_pw) | |||
1627 | free(cp); | 1628 | free(cp); |
1628 | break; | 1629 | break; |
1629 | case 'p': | 1630 | case 'p': |
1630 | if (request_whitelist != NULL) | 1631 | if (request_allowlist != NULL) |
1631 | fatal("Permitted requests already set"); | 1632 | fatal("Permitted requests already set"); |
1632 | request_whitelist = xstrdup(optarg); | 1633 | request_allowlist = xstrdup(optarg); |
1633 | break; | 1634 | break; |
1634 | case 'P': | 1635 | case 'P': |
1635 | if (request_blacklist != NULL) | 1636 | if (request_denylist != NULL) |
1636 | fatal("Refused requests already set"); | 1637 | fatal("Refused requests already set"); |
1637 | request_blacklist = xstrdup(optarg); | 1638 | request_denylist = xstrdup(optarg); |
1638 | break; | 1639 | break; |
1639 | case 'u': | 1640 | case 'u': |
1640 | errno = 0; | 1641 | errno = 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 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | sftp [-46aCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher] | 7 | sftp [-46AaCfNpqrv] [-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] |
@@ -38,6 +38,9 @@ DESCRIPTION | |||
38 | 38 | ||
39 | -6 Forces sftp to use IPv6 addresses only. | 39 | -6 Forces sftp to use IPv6 addresses only. |
40 | 40 | ||
41 | -A Allows forwarding of ssh-agent(1) to the remote system. The | ||
42 | default is not to forward an authentication agent. | ||
43 | |||
41 | -a Attempt to continue interrupted transfers rather than overwriting | 44 | -a Attempt to continue interrupted transfers rather than overwriting |
42 | existing partial or complete copies of files. If the partial | 45 | existing partial or complete copies of files. If the partial |
43 | contents differ from those being transferred, then the resultant | 46 | contents differ from those being transferred, then the resultant |
@@ -396,4 +399,4 @@ SEE ALSO | |||
396 | T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh- | 399 | T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh- |
397 | filexfer-00.txt, January 2001, work in progress material. | 400 | filexfer-00.txt, January 2001, work in progress material. |
398 | 401 | ||
399 | OpenBSD 6.7 April 23, 2020 OpenBSD 6.7 | 402 | OpenBSD 6.8 August 3, 2020 OpenBSD 6.8 |
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: sftp.1,v 1.131 2020/04/23 21:28:09 jmc Exp $ | 1 | .\" $OpenBSD: sftp.1,v 1.132 2020/08/03 02:43:41 djm 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: April 23 2020 $ | 25 | .Dd $Mdocdate: August 3 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 46aCfNpqrv | 33 | .Op Fl 46AaCfNpqrv |
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 |
@@ -104,6 +104,11 @@ to use IPv4 addresses only. | |||
104 | Forces | 104 | Forces |
105 | .Nm | 105 | .Nm |
106 | to use IPv6 addresses only. | 106 | to use IPv6 addresses only. |
107 | .It Fl A | ||
108 | Allows forwarding of | ||
109 | .Xr ssh-agent 1 | ||
110 | to the remote system. | ||
111 | The default is not to forward an authentication agent. | ||
107 | .It Fl a | 112 | .It Fl a |
108 | Attempt to continue interrupted transfers rather than overwriting | 113 | Attempt to continue interrupted transfers rather than overwriting |
109 | existing partial or complete copies of files. | 114 | existing partial or complete copies of files. |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sftp.c,v 1.200 2020/04/03 05:53:52 jmc Exp $ */ | 1 | /* $OpenBSD: sftp.c,v 1.201 2020/08/03 02:43:41 djm 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 [-46aCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]\n" | 2366 | "usage: %s [-46AaCfNpqrv] [-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" |
@@ -2401,7 +2401,6 @@ main(int argc, char **argv) | |||
2401 | args.list = NULL; | 2401 | args.list = NULL; |
2402 | addargs(&args, "%s", ssh_program); | 2402 | addargs(&args, "%s", ssh_program); |
2403 | addargs(&args, "-oForwardX11 no"); | 2403 | addargs(&args, "-oForwardX11 no"); |
2404 | addargs(&args, "-oForwardAgent no"); | ||
2405 | addargs(&args, "-oPermitLocalCommand no"); | 2404 | addargs(&args, "-oPermitLocalCommand no"); |
2406 | addargs(&args, "-oClearAllForwardings yes"); | 2405 | addargs(&args, "-oClearAllForwardings yes"); |
2407 | 2406 | ||
@@ -2409,9 +2408,10 @@ main(int argc, char **argv) | |||
2409 | infile = stdin; | 2408 | infile = stdin; |
2410 | 2409 | ||
2411 | while ((ch = getopt(argc, argv, | 2410 | while ((ch = getopt(argc, argv, |
2412 | "1246afhNpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) { | 2411 | "1246AafhNpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) { |
2413 | switch (ch) { | 2412 | switch (ch) { |
2414 | /* Passed through to ssh(1) */ | 2413 | /* Passed through to ssh(1) */ |
2414 | case 'A': | ||
2415 | case '4': | 2415 | case '4': |
2416 | case '6': | 2416 | case '6': |
2417 | case 'C': | 2417 | case 'C': |
@@ -2511,6 +2511,9 @@ main(int argc, char **argv) | |||
2511 | } | 2511 | } |
2512 | } | 2512 | } |
2513 | 2513 | ||
2514 | /* Do this last because we want the user to be able to override it */ | ||
2515 | addargs(&args, "-oForwardAgent no"); | ||
2516 | |||
2514 | if (!isatty(STDERR_FILENO)) | 2517 | if (!isatty(STDERR_FILENO)) |
2515 | showprogress = 0; | 2518 | showprogress = 0; |
2516 | 2519 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sk-api.h,v 1.9 2020/04/28 04:02:29 djm Exp $ */ | 1 | /* $OpenBSD: sk-api.h,v 1.11 2020/09/09 03:08:01 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
4 | * | 4 | * |
@@ -47,6 +47,8 @@ struct sk_enroll_response { | |||
47 | size_t signature_len; | 47 | size_t signature_len; |
48 | uint8_t *attestation_cert; | 48 | uint8_t *attestation_cert; |
49 | size_t attestation_cert_len; | 49 | size_t attestation_cert_len; |
50 | uint8_t *authdata; | ||
51 | size_t authdata_len; | ||
50 | }; | 52 | }; |
51 | 53 | ||
52 | struct sk_sign_response { | 54 | struct sk_sign_response { |
@@ -63,6 +65,7 @@ struct sk_resident_key { | |||
63 | size_t slot; | 65 | size_t slot; |
64 | char *application; | 66 | char *application; |
65 | struct sk_enroll_response key; | 67 | struct sk_enroll_response key; |
68 | uint8_t flags; | ||
66 | }; | 69 | }; |
67 | 70 | ||
68 | struct sk_option { | 71 | struct sk_option { |
@@ -71,7 +74,7 @@ struct sk_option { | |||
71 | uint8_t required; | 74 | uint8_t required; |
72 | }; | 75 | }; |
73 | 76 | ||
74 | #define SSH_SK_VERSION_MAJOR 0x00050000 /* current API version */ | 77 | #define SSH_SK_VERSION_MAJOR 0x00070000 /* current API version */ |
75 | #define SSH_SK_VERSION_MAJOR_MASK 0xffff0000 | 78 | #define SSH_SK_VERSION_MAJOR_MASK 0xffff0000 |
76 | 79 | ||
77 | /* Return the version of the middleware API */ | 80 | /* Return the version of the middleware API */ |
diff --git a/sk-usbhid.c b/sk-usbhid.c index 25250824d..007c59644 100644 --- a/sk-usbhid.c +++ b/sk-usbhid.c | |||
@@ -1,5 +1,7 @@ | |||
1 | /* $OpenBSD: sk-usbhid.c,v 1.26 2020/09/09 03:08:01 djm Exp $ */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2019 Markus Friedl | 3 | * Copyright (c) 2019 Markus Friedl |
4 | * Copyright (c) 2020 Pedro Martelletto | ||
3 | * | 5 | * |
4 | * Permission to use, copy, modify, and distribute this software for any | 6 | * Permission to use, copy, modify, and distribute this software for any |
5 | * purpose with or without fee is hereby granted, provided that the above | 7 | * purpose with or without fee is hereby granted, provided that the above |
@@ -40,9 +42,33 @@ | |||
40 | #include <fido.h> | 42 | #include <fido.h> |
41 | #include <fido/credman.h> | 43 | #include <fido/credman.h> |
42 | 44 | ||
45 | /* backwards compat for libfido2 */ | ||
46 | #ifndef HAVE_FIDO_CRED_PROT | ||
47 | #define fido_cred_prot(x) (0) | ||
48 | #endif | ||
49 | #ifndef HAVE_FIDO_CRED_SET_PROT | ||
50 | #define fido_cred_set_prot(x, y) (FIDO_ERR_UNSUPPORTED_OPTION) | ||
51 | #endif | ||
52 | #ifndef HAVE_FIDO_DEV_SUPPORTS_CRED_PROT | ||
53 | #define fido_dev_supports_cred_prot(x) (0) | ||
54 | #endif | ||
55 | #ifndef HAVE_FIDO_DEV_GET_TOUCH_BEGIN | ||
56 | #define fido_dev_get_touch_begin(x) (FIDO_ERR_UNSUPPORTED_OPTION) | ||
57 | #endif | ||
58 | #ifndef HAVE_FIDO_DEV_GET_TOUCH_STATUS | ||
59 | #define fido_dev_get_touch_status(x, y, z) (FIDO_ERR_UNSUPPORTED_OPTION) | ||
60 | #endif | ||
61 | #ifndef FIDO_CRED_PROT_UV_REQUIRED | ||
62 | #define FIDO_CRED_PROT_UV_REQUIRED 0 | ||
63 | #endif | ||
64 | #ifndef FIDO_CRED_PROT_UV_OPTIONAL_WITH_ID | ||
65 | #define FIDO_CRED_PROT_UV_OPTIONAL_WITH_ID 0 | ||
66 | #endif | ||
67 | |||
43 | #ifndef SK_STANDALONE | 68 | #ifndef SK_STANDALONE |
44 | # include "log.h" | 69 | # include "log.h" |
45 | # include "xmalloc.h" | 70 | # include "xmalloc.h" |
71 | # include "misc.h" | ||
46 | /* | 72 | /* |
47 | * If building as part of OpenSSH, then rename exported functions. | 73 | * If building as part of OpenSSH, then rename exported functions. |
48 | * This must be done before including sk-api.h. | 74 | * This must be done before including sk-api.h. |
@@ -57,7 +83,16 @@ | |||
57 | 83 | ||
58 | /* #define SK_DEBUG 1 */ | 84 | /* #define SK_DEBUG 1 */ |
59 | 85 | ||
60 | #define MAX_FIDO_DEVICES 256 | 86 | #ifdef SK_DEBUG |
87 | #define SSH_FIDO_INIT_ARG FIDO_DEBUG | ||
88 | #else | ||
89 | #define SSH_FIDO_INIT_ARG 0 | ||
90 | #endif | ||
91 | |||
92 | #define MAX_FIDO_DEVICES 8 | ||
93 | #define FIDO_POLL_MS 50 | ||
94 | #define SELECT_MS 15000 | ||
95 | #define POLL_SLEEP_NS 200000000 | ||
61 | 96 | ||
62 | /* Compatibility with OpenSSH 1.0.x */ | 97 | /* Compatibility with OpenSSH 1.0.x */ |
63 | #if (OPENSSL_VERSION_NUMBER < 0x10100000L) | 98 | #if (OPENSSL_VERSION_NUMBER < 0x10100000L) |
@@ -68,6 +103,11 @@ | |||
68 | } while (0) | 103 | } while (0) |
69 | #endif | 104 | #endif |
70 | 105 | ||
106 | struct sk_usbhid { | ||
107 | fido_dev_t *dev; | ||
108 | char *path; | ||
109 | }; | ||
110 | |||
71 | /* Return the version of the middleware API */ | 111 | /* Return the version of the middleware API */ |
72 | uint32_t sk_api_version(void); | 112 | uint32_t sk_api_version(void); |
73 | 113 | ||
@@ -121,53 +161,185 @@ sk_api_version(void) | |||
121 | return SSH_SK_VERSION_MAJOR; | 161 | return SSH_SK_VERSION_MAJOR; |
122 | } | 162 | } |
123 | 163 | ||
124 | /* Select the first identified FIDO device attached to the system */ | 164 | static struct sk_usbhid * |
125 | static char * | 165 | sk_open(const char *path) |
126 | pick_first_device(void) | ||
127 | { | 166 | { |
128 | char *ret = NULL; | 167 | struct sk_usbhid *sk; |
129 | fido_dev_info_t *devlist = NULL; | ||
130 | size_t olen = 0; | ||
131 | int r; | 168 | int r; |
132 | const fido_dev_info_t *di; | ||
133 | 169 | ||
134 | if ((devlist = fido_dev_info_new(1)) == NULL) { | 170 | if (path == NULL) { |
135 | skdebug(__func__, "fido_dev_info_new failed"); | 171 | skdebug(__func__, "path == NULL"); |
136 | goto out; | 172 | return NULL; |
137 | } | 173 | } |
138 | if ((r = fido_dev_info_manifest(devlist, 1, &olen)) != FIDO_OK) { | 174 | if ((sk = calloc(1, sizeof(*sk))) == NULL) { |
139 | skdebug(__func__, "fido_dev_info_manifest failed: %s", | 175 | skdebug(__func__, "calloc sk failed"); |
176 | return NULL; | ||
177 | } | ||
178 | if ((sk->path = strdup(path)) == NULL) { | ||
179 | skdebug(__func__, "strdup path failed"); | ||
180 | free(sk); | ||
181 | return NULL; | ||
182 | } | ||
183 | if ((sk->dev = fido_dev_new()) == NULL) { | ||
184 | skdebug(__func__, "fido_dev_new failed"); | ||
185 | free(sk->path); | ||
186 | free(sk); | ||
187 | return NULL; | ||
188 | } | ||
189 | if ((r = fido_dev_open(sk->dev, sk->path)) != FIDO_OK) { | ||
190 | skdebug(__func__, "fido_dev_open %s failed: %s", sk->path, | ||
140 | fido_strerr(r)); | 191 | fido_strerr(r)); |
141 | goto out; | 192 | fido_dev_free(&sk->dev); |
193 | free(sk->path); | ||
194 | free(sk); | ||
195 | return NULL; | ||
142 | } | 196 | } |
143 | if (olen != 1) { | 197 | return sk; |
144 | skdebug(__func__, "fido_dev_info_manifest bad len %zu", olen); | 198 | } |
145 | goto out; | 199 | |
200 | static void | ||
201 | sk_close(struct sk_usbhid *sk) | ||
202 | { | ||
203 | if (sk == NULL) | ||
204 | return; | ||
205 | fido_dev_cancel(sk->dev); /* cancel any pending operation */ | ||
206 | fido_dev_close(sk->dev); | ||
207 | fido_dev_free(&sk->dev); | ||
208 | free(sk->path); | ||
209 | free(sk); | ||
210 | } | ||
211 | |||
212 | static struct sk_usbhid ** | ||
213 | sk_openv(const fido_dev_info_t *devlist, size_t ndevs, size_t *nopen) | ||
214 | { | ||
215 | const fido_dev_info_t *di; | ||
216 | struct sk_usbhid **skv; | ||
217 | size_t i; | ||
218 | |||
219 | *nopen = 0; | ||
220 | if ((skv = calloc(ndevs, sizeof(*skv))) == NULL) { | ||
221 | skdebug(__func__, "calloc skv failed"); | ||
222 | return NULL; | ||
146 | } | 223 | } |
147 | di = fido_dev_info_ptr(devlist, 0); | 224 | for (i = 0; i < ndevs; i++) { |
148 | if ((ret = strdup(fido_dev_info_path(di))) == NULL) { | 225 | if ((di = fido_dev_info_ptr(devlist, i)) == NULL) |
149 | skdebug(__func__, "fido_dev_info_path failed"); | 226 | skdebug(__func__, "fido_dev_info_ptr failed"); |
150 | goto out; | 227 | else if ((skv[*nopen] = sk_open(fido_dev_info_path(di))) == NULL) |
228 | skdebug(__func__, "sk_open failed"); | ||
229 | else | ||
230 | (*nopen)++; | ||
151 | } | 231 | } |
152 | out: | 232 | if (*nopen == 0) { |
153 | fido_dev_info_free(&devlist, 1); | 233 | for (i = 0; i < ndevs; i++) |
154 | return ret; | 234 | sk_close(skv[i]); |
235 | free(skv); | ||
236 | skv = NULL; | ||
237 | } | ||
238 | |||
239 | return skv; | ||
240 | } | ||
241 | |||
242 | static void | ||
243 | sk_closev(struct sk_usbhid **skv, size_t nsk) | ||
244 | { | ||
245 | size_t i; | ||
246 | |||
247 | for (i = 0; i < nsk; i++) | ||
248 | sk_close(skv[i]); | ||
249 | free(skv); | ||
155 | } | 250 | } |
156 | 251 | ||
157 | /* Check if the specified key handle exists on a given device. */ | ||
158 | static int | 252 | static int |
159 | try_device(fido_dev_t *dev, const uint8_t *message, size_t message_len, | 253 | sk_touch_begin(struct sk_usbhid **skv, size_t nsk) |
160 | const char *application, const uint8_t *key_handle, size_t key_handle_len) | 254 | { |
255 | size_t i, ok = 0; | ||
256 | int r; | ||
257 | |||
258 | for (i = 0; i < nsk; i++) | ||
259 | if ((r = fido_dev_get_touch_begin(skv[i]->dev)) != FIDO_OK) | ||
260 | skdebug(__func__, "fido_dev_get_touch_begin %s failed:" | ||
261 | " %s", skv[i]->path, fido_strerr(r)); | ||
262 | else | ||
263 | ok++; | ||
264 | |||
265 | return ok ? 0 : -1; | ||
266 | } | ||
267 | |||
268 | static int | ||
269 | sk_touch_poll(struct sk_usbhid **skv, size_t nsk, int *touch, size_t *idx) | ||
270 | { | ||
271 | struct timespec ts_pause; | ||
272 | size_t npoll, i; | ||
273 | int r; | ||
274 | |||
275 | ts_pause.tv_sec = 0; | ||
276 | ts_pause.tv_nsec = POLL_SLEEP_NS; | ||
277 | nanosleep(&ts_pause, NULL); | ||
278 | npoll = nsk; | ||
279 | for (i = 0; i < nsk; i++) { | ||
280 | if (skv[i] == NULL) | ||
281 | continue; /* device discarded */ | ||
282 | skdebug(__func__, "polling %s", skv[i]->path); | ||
283 | if ((r = fido_dev_get_touch_status(skv[i]->dev, touch, | ||
284 | FIDO_POLL_MS)) != FIDO_OK) { | ||
285 | skdebug(__func__, "fido_dev_get_touch_status %s: %s", | ||
286 | skv[i]->path, fido_strerr(r)); | ||
287 | sk_close(skv[i]); /* discard device */ | ||
288 | skv[i] = NULL; | ||
289 | if (--npoll == 0) { | ||
290 | skdebug(__func__, "no device left to poll"); | ||
291 | return -1; | ||
292 | } | ||
293 | } else if (*touch) { | ||
294 | *idx = i; | ||
295 | return 0; | ||
296 | } | ||
297 | } | ||
298 | *touch = 0; | ||
299 | return 0; | ||
300 | } | ||
301 | |||
302 | /* Calculate SHA256(m) */ | ||
303 | static int | ||
304 | sha256_mem(const void *m, size_t mlen, u_char *d, size_t dlen) | ||
305 | { | ||
306 | #ifdef WITH_OPENSSL | ||
307 | u_int mdlen; | ||
308 | #endif | ||
309 | |||
310 | if (dlen != 32) | ||
311 | return -1; | ||
312 | #ifdef WITH_OPENSSL | ||
313 | mdlen = dlen; | ||
314 | if (!EVP_Digest(m, mlen, d, &mdlen, EVP_sha256(), NULL)) | ||
315 | return -1; | ||
316 | #else | ||
317 | SHA256Data(m, mlen, d); | ||
318 | #endif | ||
319 | return 0; | ||
320 | } | ||
321 | |||
322 | /* Check if the specified key handle exists on a given sk. */ | ||
323 | static int | ||
324 | sk_try(const struct sk_usbhid *sk, const char *application, | ||
325 | const uint8_t *key_handle, size_t key_handle_len) | ||
161 | { | 326 | { |
162 | fido_assert_t *assert = NULL; | 327 | fido_assert_t *assert = NULL; |
328 | /* generate an invalid signature on FIDO2 tokens */ | ||
329 | const char *data = ""; | ||
330 | uint8_t message[32]; | ||
163 | int r = FIDO_ERR_INTERNAL; | 331 | int r = FIDO_ERR_INTERNAL; |
164 | 332 | ||
333 | if (sha256_mem(data, strlen(data), message, sizeof(message)) != 0) { | ||
334 | skdebug(__func__, "hash message failed"); | ||
335 | goto out; | ||
336 | } | ||
165 | if ((assert = fido_assert_new()) == NULL) { | 337 | if ((assert = fido_assert_new()) == NULL) { |
166 | skdebug(__func__, "fido_assert_new failed"); | 338 | skdebug(__func__, "fido_assert_new failed"); |
167 | goto out; | 339 | goto out; |
168 | } | 340 | } |
169 | if ((r = fido_assert_set_clientdata_hash(assert, message, | 341 | if ((r = fido_assert_set_clientdata_hash(assert, message, |
170 | message_len)) != FIDO_OK) { | 342 | sizeof(message))) != FIDO_OK) { |
171 | skdebug(__func__, "fido_assert_set_clientdata_hash: %s", | 343 | skdebug(__func__, "fido_assert_set_clientdata_hash: %s", |
172 | fido_strerr(r)); | 344 | fido_strerr(r)); |
173 | goto out; | 345 | goto out; |
@@ -185,7 +357,7 @@ try_device(fido_dev_t *dev, const uint8_t *message, size_t message_len, | |||
185 | skdebug(__func__, "fido_assert_up: %s", fido_strerr(r)); | 357 | skdebug(__func__, "fido_assert_up: %s", fido_strerr(r)); |
186 | goto out; | 358 | goto out; |
187 | } | 359 | } |
188 | r = fido_dev_get_assert(dev, assert, NULL); | 360 | r = fido_dev_get_assert(sk->dev, assert, NULL); |
189 | skdebug(__func__, "fido_dev_get_assert: %s", fido_strerr(r)); | 361 | skdebug(__func__, "fido_dev_get_assert: %s", fido_strerr(r)); |
190 | if (r == FIDO_ERR_USER_PRESENCE_REQUIRED) { | 362 | if (r == FIDO_ERR_USER_PRESENCE_REQUIRED) { |
191 | /* U2F tokens may return this */ | 363 | /* U2F tokens may return this */ |
@@ -197,76 +369,122 @@ try_device(fido_dev_t *dev, const uint8_t *message, size_t message_len, | |||
197 | return r != FIDO_OK ? -1 : 0; | 369 | return r != FIDO_OK ? -1 : 0; |
198 | } | 370 | } |
199 | 371 | ||
200 | /* Iterate over configured devices looking for a specific key handle */ | 372 | static struct sk_usbhid * |
201 | static fido_dev_t * | 373 | sk_select_by_cred(const fido_dev_info_t *devlist, size_t ndevs, |
202 | find_device(const char *path, const uint8_t *message, size_t message_len, | ||
203 | const char *application, const uint8_t *key_handle, size_t key_handle_len) | 374 | const char *application, const uint8_t *key_handle, size_t key_handle_len) |
204 | { | 375 | { |
205 | fido_dev_info_t *devlist = NULL; | 376 | struct sk_usbhid **skv, *sk; |
206 | fido_dev_t *dev = NULL; | 377 | size_t skvcnt, i; |
207 | size_t devlist_len = 0, i; | ||
208 | int r; | ||
209 | 378 | ||
210 | if (path != NULL) { | 379 | if ((skv = sk_openv(devlist, ndevs, &skvcnt)) == NULL) { |
211 | if ((dev = fido_dev_new()) == NULL) { | 380 | skdebug(__func__, "sk_openv failed"); |
212 | skdebug(__func__, "fido_dev_new failed"); | 381 | return NULL; |
213 | return NULL; | 382 | } |
214 | } | 383 | if (skvcnt == 1) { |
215 | if ((r = fido_dev_open(dev, path)) != FIDO_OK) { | 384 | sk = skv[0]; |
216 | skdebug(__func__, "fido_dev_open failed"); | 385 | skv[0] = NULL; |
217 | fido_dev_free(&dev); | 386 | goto out; |
218 | return NULL; | 387 | } |
388 | sk = NULL; | ||
389 | for (i = 0; i < skvcnt; i++) { | ||
390 | if (sk_try(skv[i], application, key_handle, | ||
391 | key_handle_len) == 0) { | ||
392 | sk = skv[i]; | ||
393 | skv[i] = NULL; | ||
394 | skdebug(__func__, "found key in %s", sk->path); | ||
395 | break; | ||
219 | } | 396 | } |
220 | return dev; | ||
221 | } | 397 | } |
398 | out: | ||
399 | sk_closev(skv, skvcnt); | ||
400 | return sk; | ||
401 | } | ||
222 | 402 | ||
223 | if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { | 403 | static struct sk_usbhid * |
224 | skdebug(__func__, "fido_dev_info_new failed"); | 404 | sk_select_by_touch(const fido_dev_info_t *devlist, size_t ndevs) |
405 | { | ||
406 | struct sk_usbhid **skv, *sk; | ||
407 | struct timeval tv_start, tv_now, tv_delta; | ||
408 | size_t skvcnt, idx; | ||
409 | int touch, ms_remain; | ||
410 | |||
411 | if ((skv = sk_openv(devlist, ndevs, &skvcnt)) == NULL) { | ||
412 | skdebug(__func__, "sk_openv failed"); | ||
413 | return NULL; | ||
414 | } | ||
415 | sk = NULL; | ||
416 | if (skvcnt < 2) { | ||
417 | if (skvcnt == 1) { | ||
418 | /* single candidate */ | ||
419 | sk = skv[0]; | ||
420 | skv[0] = NULL; | ||
421 | } | ||
225 | goto out; | 422 | goto out; |
226 | } | 423 | } |
227 | if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, | 424 | #ifndef HAVE_FIDO_DEV_GET_TOUCH_STATUS |
228 | &devlist_len)) != FIDO_OK) { | 425 | skdebug(__func__, "libfido2 version does not support a feature needed for multiple tokens. Please upgrade to >=1.5.0"); |
229 | skdebug(__func__, "fido_dev_info_manifest: %s", fido_strerr(r)); | 426 | goto out; |
427 | #endif | ||
428 | |||
429 | if (sk_touch_begin(skv, skvcnt) == -1) { | ||
430 | skdebug(__func__, "sk_touch_begin failed"); | ||
230 | goto out; | 431 | goto out; |
231 | } | 432 | } |
232 | 433 | monotime_tv(&tv_start); | |
233 | skdebug(__func__, "found %zu device(s)", devlist_len); | 434 | do { |
234 | 435 | if (sk_touch_poll(skv, skvcnt, &touch, &idx) == -1) { | |
235 | for (i = 0; i < devlist_len; i++) { | 436 | skdebug(__func__, "sk_touch_poll failed"); |
236 | const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i); | 437 | goto out; |
237 | |||
238 | if (di == NULL) { | ||
239 | skdebug(__func__, "fido_dev_info_ptr %zu failed", i); | ||
240 | continue; | ||
241 | } | ||
242 | if ((path = fido_dev_info_path(di)) == NULL) { | ||
243 | skdebug(__func__, "fido_dev_info_path %zu failed", i); | ||
244 | continue; | ||
245 | } | ||
246 | skdebug(__func__, "trying device %zu: %s", i, path); | ||
247 | if ((dev = fido_dev_new()) == NULL) { | ||
248 | skdebug(__func__, "fido_dev_new failed"); | ||
249 | continue; | ||
250 | } | ||
251 | if ((r = fido_dev_open(dev, path)) != FIDO_OK) { | ||
252 | skdebug(__func__, "fido_dev_open failed"); | ||
253 | fido_dev_free(&dev); | ||
254 | continue; | ||
255 | } | 438 | } |
256 | if (try_device(dev, message, message_len, application, | 439 | if (touch) { |
257 | key_handle, key_handle_len) == 0) { | 440 | sk = skv[idx]; |
258 | skdebug(__func__, "found key"); | 441 | skv[idx] = NULL; |
259 | break; | 442 | goto out; |
260 | } | 443 | } |
261 | fido_dev_close(dev); | 444 | monotime_tv(&tv_now); |
262 | fido_dev_free(&dev); | 445 | timersub(&tv_now, &tv_start, &tv_delta); |
263 | } | 446 | ms_remain = SELECT_MS - tv_delta.tv_sec * 1000 - |
447 | tv_delta.tv_usec / 1000; | ||
448 | } while (ms_remain >= FIDO_POLL_MS); | ||
449 | skdebug(__func__, "timeout"); | ||
450 | out: | ||
451 | sk_closev(skv, skvcnt); | ||
452 | return sk; | ||
453 | } | ||
264 | 454 | ||
265 | out: | 455 | static struct sk_usbhid * |
266 | if (devlist != NULL) | 456 | sk_probe(const char *application, const uint8_t *key_handle, |
267 | fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); | 457 | size_t key_handle_len) |
458 | { | ||
459 | struct sk_usbhid *sk; | ||
460 | fido_dev_info_t *devlist; | ||
461 | size_t ndevs; | ||
462 | int r; | ||
268 | 463 | ||
269 | return dev; | 464 | if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { |
465 | skdebug(__func__, "fido_dev_info_new failed"); | ||
466 | return NULL; | ||
467 | } | ||
468 | if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, | ||
469 | &ndevs)) != FIDO_OK) { | ||
470 | skdebug(__func__, "fido_dev_info_manifest failed: %s", | ||
471 | fido_strerr(r)); | ||
472 | fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); | ||
473 | return NULL; | ||
474 | } | ||
475 | skdebug(__func__, "%zu device(s) detected", ndevs); | ||
476 | if (ndevs == 0) { | ||
477 | sk = NULL; | ||
478 | } else if (application != NULL && key_handle != NULL) { | ||
479 | skdebug(__func__, "selecting sk by cred"); | ||
480 | sk = sk_select_by_cred(devlist, ndevs, application, key_handle, | ||
481 | key_handle_len); | ||
482 | } else { | ||
483 | skdebug(__func__, "selecting sk by touch"); | ||
484 | sk = sk_select_by_touch(devlist, ndevs); | ||
485 | } | ||
486 | fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); | ||
487 | return sk; | ||
270 | } | 488 | } |
271 | 489 | ||
272 | #ifdef WITH_OPENSSL | 490 | #ifdef WITH_OPENSSL |
@@ -449,29 +667,29 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, | |||
449 | struct sk_option **options, struct sk_enroll_response **enroll_response) | 667 | struct sk_option **options, struct sk_enroll_response **enroll_response) |
450 | { | 668 | { |
451 | fido_cred_t *cred = NULL; | 669 | fido_cred_t *cred = NULL; |
452 | fido_dev_t *dev = NULL; | ||
453 | const uint8_t *ptr; | 670 | const uint8_t *ptr; |
454 | uint8_t user_id[32]; | 671 | uint8_t user_id[32]; |
672 | struct sk_usbhid *sk = NULL; | ||
455 | struct sk_enroll_response *response = NULL; | 673 | struct sk_enroll_response *response = NULL; |
456 | size_t len; | 674 | size_t len; |
675 | int credprot; | ||
457 | int cose_alg; | 676 | int cose_alg; |
458 | int ret = SSH_SK_ERR_GENERAL; | 677 | int ret = SSH_SK_ERR_GENERAL; |
459 | int r; | 678 | int r; |
460 | char *device = NULL; | 679 | char *device = NULL; |
461 | 680 | ||
462 | #ifdef SK_DEBUG | 681 | fido_init(SSH_FIDO_INIT_ARG); |
463 | fido_init(FIDO_DEBUG); | 682 | |
464 | #endif | ||
465 | if (enroll_response == NULL) { | 683 | if (enroll_response == NULL) { |
466 | skdebug(__func__, "enroll_response == NULL"); | 684 | skdebug(__func__, "enroll_response == NULL"); |
467 | goto out; | 685 | goto out; |
468 | } | 686 | } |
687 | *enroll_response = NULL; | ||
469 | memset(user_id, 0, sizeof(user_id)); | 688 | memset(user_id, 0, sizeof(user_id)); |
470 | if (check_enroll_options(options, &device, | 689 | if (check_enroll_options(options, &device, user_id, |
471 | user_id, sizeof(user_id)) != 0) | 690 | sizeof(user_id)) != 0) |
472 | goto out; /* error already logged */ | 691 | goto out; /* error already logged */ |
473 | 692 | ||
474 | *enroll_response = NULL; | ||
475 | switch(alg) { | 693 | switch(alg) { |
476 | #ifdef WITH_OPENSSL | 694 | #ifdef WITH_OPENSSL |
477 | case SSH_SK_ECDSA: | 695 | case SSH_SK_ECDSA: |
@@ -485,12 +703,15 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, | |||
485 | skdebug(__func__, "unsupported key type %d", alg); | 703 | skdebug(__func__, "unsupported key type %d", alg); |
486 | goto out; | 704 | goto out; |
487 | } | 705 | } |
488 | if (device == NULL && (device = pick_first_device()) == NULL) { | 706 | if (device != NULL) |
489 | ret = SSH_SK_ERR_DEVICE_NOT_FOUND; | 707 | sk = sk_open(device); |
490 | skdebug(__func__, "pick_first_device failed"); | 708 | else |
709 | sk = sk_probe(NULL, NULL, 0); | ||
710 | if (sk == NULL) { | ||
711 | skdebug(__func__, "failed to find sk"); | ||
491 | goto out; | 712 | goto out; |
492 | } | 713 | } |
493 | skdebug(__func__, "using device %s", device); | 714 | skdebug(__func__, "using device %s", sk->path); |
494 | if ((cred = fido_cred_new()) == NULL) { | 715 | if ((cred = fido_cred_new()) == NULL) { |
495 | skdebug(__func__, "fido_cred_new failed"); | 716 | skdebug(__func__, "fido_cred_new failed"); |
496 | goto out; | 717 | goto out; |
@@ -519,15 +740,34 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, | |||
519 | skdebug(__func__, "fido_cred_set_rp: %s", fido_strerr(r)); | 740 | skdebug(__func__, "fido_cred_set_rp: %s", fido_strerr(r)); |
520 | goto out; | 741 | goto out; |
521 | } | 742 | } |
522 | if ((dev = fido_dev_new()) == NULL) { | 743 | if ((flags & (SSH_SK_RESIDENT_KEY|SSH_SK_USER_VERIFICATION_REQD)) != 0) { |
523 | skdebug(__func__, "fido_dev_new failed"); | 744 | #if !defined(HAVE_FIDO_DEV_SUPPORTS_CRED_PROT) || \ |
524 | goto out; | 745 | !defined(HAVE_FIDO_CRED_SET_PROT) |
525 | } | 746 | skdebug(__func__, "libfido2 version does not support a feature required for this operation. Please upgrade to >=1.5.0"); |
526 | if ((r = fido_dev_open(dev, device)) != FIDO_OK) { | 747 | ret = SSH_SK_ERR_UNSUPPORTED; |
527 | skdebug(__func__, "fido_dev_open: %s", fido_strerr(r)); | ||
528 | goto out; | 748 | goto out; |
749 | credprot = 0; (void)credprot; /* avoid warning */ | ||
750 | #endif | ||
751 | if (!fido_dev_supports_cred_prot(sk->dev)) { | ||
752 | skdebug(__func__, "%s does not support credprot, " | ||
753 | "refusing to create unprotected " | ||
754 | "resident/verify-required key", sk->path); | ||
755 | ret = SSH_SK_ERR_UNSUPPORTED; | ||
756 | goto out; | ||
757 | } | ||
758 | if ((flags & SSH_SK_USER_VERIFICATION_REQD)) | ||
759 | credprot = FIDO_CRED_PROT_UV_REQUIRED; | ||
760 | else | ||
761 | credprot = FIDO_CRED_PROT_UV_OPTIONAL_WITH_ID; | ||
762 | |||
763 | if ((r = fido_cred_set_prot(cred, credprot)) != FIDO_OK) { | ||
764 | skdebug(__func__, "fido_cred_set_prot: %s", | ||
765 | fido_strerr(r)); | ||
766 | ret = fidoerr_to_skerr(r); | ||
767 | goto out; | ||
768 | } | ||
529 | } | 769 | } |
530 | if ((r = fido_dev_make_cred(dev, cred, pin)) != FIDO_OK) { | 770 | if ((r = fido_dev_make_cred(sk->dev, cred, pin)) != FIDO_OK) { |
531 | skdebug(__func__, "fido_dev_make_cred: %s", fido_strerr(r)); | 771 | skdebug(__func__, "fido_dev_make_cred: %s", fido_strerr(r)); |
532 | ret = fidoerr_to_skerr(r); | 772 | ret = fidoerr_to_skerr(r); |
533 | goto out; | 773 | goto out; |
@@ -582,6 +822,16 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, | |||
582 | memcpy(response->attestation_cert, ptr, len); | 822 | memcpy(response->attestation_cert, ptr, len); |
583 | response->attestation_cert_len = len; | 823 | response->attestation_cert_len = len; |
584 | } | 824 | } |
825 | if ((ptr = fido_cred_authdata_ptr(cred)) != NULL) { | ||
826 | len = fido_cred_authdata_len(cred); | ||
827 | debug3("%s: authdata len=%zu", __func__, len); | ||
828 | if ((response->authdata = calloc(1, len)) == NULL) { | ||
829 | skdebug(__func__, "calloc authdata failed"); | ||
830 | goto out; | ||
831 | } | ||
832 | memcpy(response->authdata, ptr, len); | ||
833 | response->authdata_len = len; | ||
834 | } | ||
585 | *enroll_response = response; | 835 | *enroll_response = response; |
586 | response = NULL; | 836 | response = NULL; |
587 | ret = 0; | 837 | ret = 0; |
@@ -592,15 +842,11 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, | |||
592 | free(response->key_handle); | 842 | free(response->key_handle); |
593 | free(response->signature); | 843 | free(response->signature); |
594 | free(response->attestation_cert); | 844 | free(response->attestation_cert); |
845 | free(response->authdata); | ||
595 | free(response); | 846 | free(response); |
596 | } | 847 | } |
597 | if (dev != NULL) { | 848 | sk_close(sk); |
598 | fido_dev_close(dev); | 849 | fido_cred_free(&cred); |
599 | fido_dev_free(&dev); | ||
600 | } | ||
601 | if (cred != NULL) { | ||
602 | fido_cred_free(&cred); | ||
603 | } | ||
604 | return ret; | 850 | return ret; |
605 | } | 851 | } |
606 | 852 | ||
@@ -714,26 +960,6 @@ check_sign_load_resident_options(struct sk_option **options, char **devicep) | |||
714 | return 0; | 960 | return 0; |
715 | } | 961 | } |
716 | 962 | ||
717 | /* Calculate SHA256(m) */ | ||
718 | static int | ||
719 | sha256_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 | |||
737 | int | 963 | int |
738 | sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, | 964 | sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, |
739 | const char *application, | 965 | const char *application, |
@@ -743,15 +969,13 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, | |||
743 | { | 969 | { |
744 | fido_assert_t *assert = NULL; | 970 | fido_assert_t *assert = NULL; |
745 | char *device = NULL; | 971 | char *device = NULL; |
746 | fido_dev_t *dev = NULL; | 972 | struct sk_usbhid *sk = NULL; |
747 | struct sk_sign_response *response = NULL; | 973 | struct sk_sign_response *response = NULL; |
748 | uint8_t message[32]; | 974 | uint8_t message[32]; |
749 | int ret = SSH_SK_ERR_GENERAL; | 975 | int ret = SSH_SK_ERR_GENERAL; |
750 | int r; | 976 | int r; |
751 | 977 | ||
752 | #ifdef SK_DEBUG | 978 | fido_init(SSH_FIDO_INIT_ARG); |
753 | fido_init(FIDO_DEBUG); | ||
754 | #endif | ||
755 | 979 | ||
756 | if (sign_response == NULL) { | 980 | if (sign_response == NULL) { |
757 | skdebug(__func__, "sign_response == NULL"); | 981 | skdebug(__func__, "sign_response == NULL"); |
@@ -765,9 +989,14 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, | |||
765 | skdebug(__func__, "hash message failed"); | 989 | skdebug(__func__, "hash message failed"); |
766 | goto out; | 990 | goto out; |
767 | } | 991 | } |
768 | if ((dev = find_device(device, message, sizeof(message), | 992 | if (device != NULL) |
769 | application, key_handle, key_handle_len)) == NULL) { | 993 | sk = sk_open(device); |
770 | skdebug(__func__, "couldn't find device for key handle"); | 994 | else if (pin != NULL || (flags & SSH_SK_USER_VERIFICATION_REQD)) |
995 | sk = sk_probe(NULL, NULL, 0); | ||
996 | else | ||
997 | sk = sk_probe(application, key_handle, key_handle_len); | ||
998 | if (sk == NULL) { | ||
999 | skdebug(__func__, "failed to find sk"); | ||
771 | goto out; | 1000 | goto out; |
772 | } | 1001 | } |
773 | if ((assert = fido_assert_new()) == NULL) { | 1002 | if ((assert = fido_assert_new()) == NULL) { |
@@ -795,8 +1024,15 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, | |||
795 | skdebug(__func__, "fido_assert_set_up: %s", fido_strerr(r)); | 1024 | skdebug(__func__, "fido_assert_set_up: %s", fido_strerr(r)); |
796 | goto out; | 1025 | goto out; |
797 | } | 1026 | } |
798 | if ((r = fido_dev_get_assert(dev, assert, NULL)) != FIDO_OK) { | 1027 | if (pin == NULL && (flags & SSH_SK_USER_VERIFICATION_REQD) && |
1028 | (r = fido_assert_set_uv(assert, FIDO_OPT_TRUE)) != FIDO_OK) { | ||
1029 | skdebug(__func__, "fido_assert_set_uv: %s", fido_strerr(r)); | ||
1030 | ret = FIDO_ERR_PIN_REQUIRED; | ||
1031 | goto out; | ||
1032 | } | ||
1033 | if ((r = fido_dev_get_assert(sk->dev, assert, pin)) != FIDO_OK) { | ||
799 | skdebug(__func__, "fido_dev_get_assert: %s", fido_strerr(r)); | 1034 | skdebug(__func__, "fido_dev_get_assert: %s", fido_strerr(r)); |
1035 | ret = fidoerr_to_skerr(r); | ||
800 | goto out; | 1036 | goto out; |
801 | } | 1037 | } |
802 | if ((response = calloc(1, sizeof(*response))) == NULL) { | 1038 | if ((response = calloc(1, sizeof(*response))) == NULL) { |
@@ -820,22 +1056,16 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, | |||
820 | free(response->sig_s); | 1056 | free(response->sig_s); |
821 | free(response); | 1057 | free(response); |
822 | } | 1058 | } |
823 | if (dev != NULL) { | 1059 | sk_close(sk); |
824 | fido_dev_close(dev); | 1060 | fido_assert_free(&assert); |
825 | fido_dev_free(&dev); | ||
826 | } | ||
827 | if (assert != NULL) { | ||
828 | fido_assert_free(&assert); | ||
829 | } | ||
830 | return ret; | 1061 | return ret; |
831 | } | 1062 | } |
832 | 1063 | ||
833 | static int | 1064 | static int |
834 | read_rks(const char *devpath, const char *pin, | 1065 | read_rks(struct sk_usbhid *sk, const char *pin, |
835 | struct sk_resident_key ***rksp, size_t *nrksp) | 1066 | struct sk_resident_key ***rksp, size_t *nrksp) |
836 | { | 1067 | { |
837 | int ret = SSH_SK_ERR_GENERAL, r = -1; | 1068 | int ret = SSH_SK_ERR_GENERAL, r = -1; |
838 | fido_dev_t *dev = NULL; | ||
839 | fido_credman_metadata_t *metadata = NULL; | 1069 | fido_credman_metadata_t *metadata = NULL; |
840 | fido_credman_rp_t *rp = NULL; | 1070 | fido_credman_rp_t *rp = NULL; |
841 | fido_credman_rk_t *rk = NULL; | 1071 | fido_credman_rk_t *rk = NULL; |
@@ -843,30 +1073,25 @@ read_rks(const char *devpath, const char *pin, | |||
843 | const fido_cred_t *cred; | 1073 | const fido_cred_t *cred; |
844 | struct sk_resident_key *srk = NULL, **tmp; | 1074 | struct sk_resident_key *srk = NULL, **tmp; |
845 | 1075 | ||
846 | if ((dev = fido_dev_new()) == NULL) { | 1076 | if (pin == NULL) { |
847 | skdebug(__func__, "fido_dev_new failed"); | 1077 | skdebug(__func__, "no PIN specified"); |
848 | return ret; | 1078 | ret = SSH_SK_ERR_PIN_REQUIRED; |
849 | } | 1079 | goto out; |
850 | if ((r = fido_dev_open(dev, devpath)) != FIDO_OK) { | ||
851 | skdebug(__func__, "fido_dev_open %s failed: %s", | ||
852 | devpath, fido_strerr(r)); | ||
853 | fido_dev_free(&dev); | ||
854 | return ret; | ||
855 | } | 1080 | } |
856 | if ((metadata = fido_credman_metadata_new()) == NULL) { | 1081 | if ((metadata = fido_credman_metadata_new()) == NULL) { |
857 | skdebug(__func__, "alloc failed"); | 1082 | skdebug(__func__, "alloc failed"); |
858 | goto out; | 1083 | goto out; |
859 | } | 1084 | } |
860 | 1085 | ||
861 | if ((r = fido_credman_get_dev_metadata(dev, metadata, pin)) != 0) { | 1086 | if ((r = fido_credman_get_dev_metadata(sk->dev, metadata, pin)) != 0) { |
862 | if (r == FIDO_ERR_INVALID_COMMAND) { | 1087 | if (r == FIDO_ERR_INVALID_COMMAND) { |
863 | skdebug(__func__, "device %s does not support " | 1088 | skdebug(__func__, "device %s does not support " |
864 | "resident keys", devpath); | 1089 | "resident keys", sk->path); |
865 | ret = 0; | 1090 | ret = 0; |
866 | goto out; | 1091 | goto out; |
867 | } | 1092 | } |
868 | skdebug(__func__, "get metadata for %s failed: %s", | 1093 | skdebug(__func__, "get metadata for %s failed: %s", |
869 | devpath, fido_strerr(r)); | 1094 | sk->path, fido_strerr(r)); |
870 | ret = fidoerr_to_skerr(r); | 1095 | ret = fidoerr_to_skerr(r); |
871 | goto out; | 1096 | goto out; |
872 | } | 1097 | } |
@@ -877,14 +1102,14 @@ read_rks(const char *devpath, const char *pin, | |||
877 | skdebug(__func__, "alloc rp failed"); | 1102 | skdebug(__func__, "alloc rp failed"); |
878 | goto out; | 1103 | goto out; |
879 | } | 1104 | } |
880 | if ((r = fido_credman_get_dev_rp(dev, rp, pin)) != 0) { | 1105 | if ((r = fido_credman_get_dev_rp(sk->dev, rp, pin)) != 0) { |
881 | skdebug(__func__, "get RPs for %s failed: %s", | 1106 | skdebug(__func__, "get RPs for %s failed: %s", |
882 | devpath, fido_strerr(r)); | 1107 | sk->path, fido_strerr(r)); |
883 | goto out; | 1108 | goto out; |
884 | } | 1109 | } |
885 | nrp = fido_credman_rp_count(rp); | 1110 | nrp = fido_credman_rp_count(rp); |
886 | skdebug(__func__, "Device %s has resident keys for %zu RPs", | 1111 | skdebug(__func__, "Device %s has resident keys for %zu RPs", |
887 | devpath, nrp); | 1112 | sk->path, nrp); |
888 | 1113 | ||
889 | /* Iterate over RP IDs that have resident keys */ | 1114 | /* Iterate over RP IDs that have resident keys */ |
890 | for (i = 0; i < nrp; i++) { | 1115 | for (i = 0; i < nrp; i++) { |
@@ -901,10 +1126,10 @@ read_rks(const char *devpath, const char *pin, | |||
901 | skdebug(__func__, "alloc rk failed"); | 1126 | skdebug(__func__, "alloc rk failed"); |
902 | goto out; | 1127 | goto out; |
903 | } | 1128 | } |
904 | if ((r = fido_credman_get_dev_rk(dev, fido_credman_rp_id(rp, i), | 1129 | if ((r = fido_credman_get_dev_rk(sk->dev, |
905 | rk, pin)) != 0) { | 1130 | fido_credman_rp_id(rp, i), rk, pin)) != 0) { |
906 | skdebug(__func__, "get RKs for %s slot %zu failed: %s", | 1131 | skdebug(__func__, "get RKs for %s slot %zu failed: %s", |
907 | devpath, i, fido_strerr(r)); | 1132 | sk->path, i, fido_strerr(r)); |
908 | goto out; | 1133 | goto out; |
909 | } | 1134 | } |
910 | nrk = fido_credman_rk_count(rk); | 1135 | nrk = fido_credman_rk_count(rk); |
@@ -918,8 +1143,9 @@ read_rks(const char *devpath, const char *pin, | |||
918 | continue; | 1143 | continue; |
919 | } | 1144 | } |
920 | skdebug(__func__, "Device %s RP \"%s\" slot %zu: " | 1145 | skdebug(__func__, "Device %s RP \"%s\" slot %zu: " |
921 | "type %d", devpath, fido_credman_rp_id(rp, i), j, | 1146 | "type %d flags 0x%02x prot 0x%02x", sk->path, |
922 | fido_cred_type(cred)); | 1147 | fido_credman_rp_id(rp, i), j, fido_cred_type(cred), |
1148 | fido_cred_flags(cred), fido_cred_prot(cred)); | ||
923 | 1149 | ||
924 | /* build response entry */ | 1150 | /* build response entry */ |
925 | if ((srk = calloc(1, sizeof(*srk))) == NULL || | 1151 | if ((srk = calloc(1, sizeof(*srk))) == NULL || |
@@ -932,8 +1158,7 @@ read_rks(const char *devpath, const char *pin, | |||
932 | } | 1158 | } |
933 | 1159 | ||
934 | srk->key.key_handle_len = fido_cred_id_len(cred); | 1160 | srk->key.key_handle_len = fido_cred_id_len(cred); |
935 | memcpy(srk->key.key_handle, | 1161 | memcpy(srk->key.key_handle, fido_cred_id_ptr(cred), |
936 | fido_cred_id_ptr(cred), | ||
937 | srk->key.key_handle_len); | 1162 | srk->key.key_handle_len); |
938 | 1163 | ||
939 | switch (fido_cred_type(cred)) { | 1164 | switch (fido_cred_type(cred)) { |
@@ -949,6 +1174,9 @@ read_rks(const char *devpath, const char *pin, | |||
949 | goto out; /* XXX free rk and continue */ | 1174 | goto out; /* XXX free rk and continue */ |
950 | } | 1175 | } |
951 | 1176 | ||
1177 | if (fido_cred_prot(cred) == FIDO_CRED_PROT_UV_REQUIRED) | ||
1178 | srk->flags |= SSH_SK_USER_VERIFICATION_REQD; | ||
1179 | |||
952 | if ((r = pack_public_key(srk->alg, cred, | 1180 | if ((r = pack_public_key(srk->alg, cred, |
953 | &srk->key)) != 0) { | 1181 | &srk->key)) != 0) { |
954 | skdebug(__func__, "pack public key failed"); | 1182 | skdebug(__func__, "pack public key failed"); |
@@ -976,8 +1204,6 @@ read_rks(const char *devpath, const char *pin, | |||
976 | } | 1204 | } |
977 | fido_credman_rp_free(&rp); | 1205 | fido_credman_rp_free(&rp); |
978 | fido_credman_rk_free(&rk); | 1206 | fido_credman_rk_free(&rk); |
979 | fido_dev_close(dev); | ||
980 | fido_dev_free(&dev); | ||
981 | fido_credman_metadata_free(&metadata); | 1207 | fido_credman_metadata_free(&metadata); |
982 | return ret; | 1208 | return ret; |
983 | } | 1209 | } |
@@ -987,50 +1213,31 @@ sk_load_resident_keys(const char *pin, struct sk_option **options, | |||
987 | struct sk_resident_key ***rksp, size_t *nrksp) | 1213 | struct sk_resident_key ***rksp, size_t *nrksp) |
988 | { | 1214 | { |
989 | int ret = SSH_SK_ERR_GENERAL, r = -1; | 1215 | int ret = SSH_SK_ERR_GENERAL, r = -1; |
990 | fido_dev_info_t *devlist = NULL; | 1216 | size_t i, nrks = 0; |
991 | size_t i, ndev = 0, nrks = 0; | ||
992 | const fido_dev_info_t *di; | ||
993 | struct sk_resident_key **rks = NULL; | 1217 | struct sk_resident_key **rks = NULL; |
1218 | struct sk_usbhid *sk = NULL; | ||
994 | char *device = NULL; | 1219 | char *device = NULL; |
1220 | |||
995 | *rksp = NULL; | 1221 | *rksp = NULL; |
996 | *nrksp = 0; | 1222 | *nrksp = 0; |
997 | 1223 | ||
1224 | fido_init(SSH_FIDO_INIT_ARG); | ||
1225 | |||
998 | if (check_sign_load_resident_options(options, &device) != 0) | 1226 | if (check_sign_load_resident_options(options, &device) != 0) |
999 | goto out; /* error already logged */ | 1227 | goto out; /* error already logged */ |
1000 | if (device != NULL) { | 1228 | if (device != NULL) |
1001 | skdebug(__func__, "trying %s", device); | 1229 | sk = sk_open(device); |
1002 | if ((r = read_rks(device, pin, &rks, &nrks)) != 0) { | 1230 | else |
1003 | skdebug(__func__, "read_rks failed for %s", device); | 1231 | sk = sk_probe(NULL, NULL, 0); |
1004 | ret = r; | 1232 | if (sk == NULL) { |
1005 | goto out; | 1233 | skdebug(__func__, "failed to find sk"); |
1006 | } | 1234 | goto out; |
1007 | } else { | 1235 | } |
1008 | /* Try all devices */ | 1236 | skdebug(__func__, "trying %s", sk->path); |
1009 | if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { | 1237 | if ((r = read_rks(sk, pin, &rks, &nrks)) != 0) { |
1010 | skdebug(__func__, "fido_dev_info_new failed"); | 1238 | skdebug(__func__, "read_rks failed for %s", sk->path); |
1011 | goto out; | 1239 | ret = r; |
1012 | } | 1240 | goto out; |
1013 | if ((r = fido_dev_info_manifest(devlist, | ||
1014 | MAX_FIDO_DEVICES, &ndev)) != FIDO_OK) { | ||
1015 | skdebug(__func__, "fido_dev_info_manifest failed: %s", | ||
1016 | fido_strerr(r)); | ||
1017 | goto out; | ||
1018 | } | ||
1019 | for (i = 0; i < ndev; i++) { | ||
1020 | if ((di = fido_dev_info_ptr(devlist, i)) == NULL) { | ||
1021 | skdebug(__func__, "no dev info at %zu", i); | ||
1022 | continue; | ||
1023 | } | ||
1024 | skdebug(__func__, "trying %s", fido_dev_info_path(di)); | ||
1025 | if ((r = read_rks(fido_dev_info_path(di), pin, | ||
1026 | &rks, &nrks)) != 0) { | ||
1027 | skdebug(__func__, "read_rks failed for %s", | ||
1028 | fido_dev_info_path(di)); | ||
1029 | /* remember last error */ | ||
1030 | ret = r; | ||
1031 | continue; | ||
1032 | } | ||
1033 | } | ||
1034 | } | 1241 | } |
1035 | /* success, unless we have no keys but a specific error */ | 1242 | /* success, unless we have no keys but a specific error */ |
1036 | if (nrks > 0 || ret == SSH_SK_ERR_GENERAL) | 1243 | if (nrks > 0 || ret == SSH_SK_ERR_GENERAL) |
@@ -1040,7 +1247,7 @@ sk_load_resident_keys(const char *pin, struct sk_option **options, | |||
1040 | rks = NULL; | 1247 | rks = NULL; |
1041 | nrks = 0; | 1248 | nrks = 0; |
1042 | out: | 1249 | out: |
1043 | free(device); | 1250 | sk_close(sk); |
1044 | for (i = 0; i < nrks; i++) { | 1251 | for (i = 0; i < nrks; i++) { |
1045 | free(rks[i]->application); | 1252 | free(rks[i]->application); |
1046 | freezero(rks[i]->key.public_key, rks[i]->key.public_key_len); | 1253 | freezero(rks[i]->key.public_key, rks[i]->key.public_key_len); |
@@ -1048,7 +1255,6 @@ sk_load_resident_keys(const char *pin, struct sk_option **options, | |||
1048 | freezero(rks[i], sizeof(*rks[i])); | 1255 | freezero(rks[i], sizeof(*rks[i])); |
1049 | } | 1256 | } |
1050 | free(rks); | 1257 | free(rks); |
1051 | fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); | ||
1052 | return ret; | 1258 | return ret; |
1053 | } | 1259 | } |
1054 | 1260 | ||
@@ -43,7 +43,9 @@ DESCRIPTION | |||
43 | removed. Otherwise, the argument list will be interpreted as a | 43 | removed. Otherwise, the argument list will be interpreted as a |
44 | list of paths to public key files to specify keys and | 44 | list of paths to public key files to specify keys and |
45 | certificates to be removed from the agent. If no public key is | 45 | certificates to be removed from the agent. If no public key is |
46 | found at a given path, ssh-add will append .pub and retry. | 46 | found at a given path, ssh-add will append .pub and retry. If |
47 | the argument list consists of M-bM-^@M-^\-M-bM-^@M-^] then ssh-add will read public | ||
48 | keys to be removed from standard input. | ||
47 | 49 | ||
48 | -E fingerprint_hash | 50 | -E fingerprint_hash |
49 | Specifies the hash algorithm used when displaying key | 51 | Specifies the hash algorithm used when displaying key |
@@ -93,16 +95,22 @@ DESCRIPTION | |||
93 | -x Lock the agent with a password. | 95 | -x Lock the agent with a password. |
94 | 96 | ||
95 | ENVIRONMENT | 97 | ENVIRONMENT |
96 | DISPLAY and SSH_ASKPASS | 98 | DISPLAY, SSH_ASKPASS and SSH_ASKPASS_REQUIRE |
97 | If ssh-add needs a passphrase, it will read the passphrase from | 99 | If ssh-add needs a passphrase, it will read the passphrase from |
98 | the current terminal if it was run from a terminal. If ssh-add | 100 | the current terminal if it was run from a terminal. If ssh-add |
99 | does not have a terminal associated with it but DISPLAY and | 101 | does not have a terminal associated with it but DISPLAY and |
100 | SSH_ASKPASS are set, it will execute the program specified by | 102 | SSH_ASKPASS are set, it will execute the program specified by |
101 | SSH_ASKPASS (by default M-bM-^@M-^\ssh-askpassM-bM-^@M-^]) and open an X11 window to | 103 | SSH_ASKPASS (by default M-bM-^@M-^\ssh-askpassM-bM-^@M-^]) and open an X11 window to |
102 | read the passphrase. This is particularly useful when calling | 104 | read the passphrase. This is particularly useful when calling |
103 | ssh-add from a .xsession or related script. (Note that on some | 105 | ssh-add from a .xsession or related script. |
104 | machines it may be necessary to redirect the input from /dev/null | 106 | |
105 | to make this work.) | 107 | SSH_ASKPASS_REQUIRE allows further control over the use of an |
108 | askpass program. If this variable is set to M-bM-^@M-^\neverM-bM-^@M-^] then ssh-add | ||
109 | will never attempt to use one. If it is set to M-bM-^@M-^\preferM-bM-^@M-^], then | ||
110 | ssh-add will prefer to use the askpass program instead of the TTY | ||
111 | when requesting passwords. Finally, if the variable is set to | ||
112 | M-bM-^@M-^\forceM-bM-^@M-^], then the askpass program will be used for all passphrase | ||
113 | input regardless of whether DISPLAY is set. | ||
106 | 114 | ||
107 | SSH_AUTH_SOCK | 115 | SSH_AUTH_SOCK |
108 | Identifies the path of a UNIX-domain socket used to communicate | 116 | Identifies the path of a UNIX-domain socket used to communicate |
@@ -141,4 +149,4 @@ AUTHORS | |||
141 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 149 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
142 | versions 1.5 and 2.0. | 150 | versions 1.5 and 2.0. |
143 | 151 | ||
144 | OpenBSD 6.7 February 7, 2020 OpenBSD 6.7 | 152 | OpenBSD 6.8 July 14, 2020 OpenBSD 6.8 |
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: ssh-add.1,v 1.79 2020/02/07 03:57:31 djm Exp $ | 1 | .\" $OpenBSD: ssh-add.1,v 1.81 2020/07/14 23:57:01 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: July 14 2020 $ |
39 | .Dt SSH-ADD 1 | 39 | .Dt SSH-ADD 1 |
40 | .Os | 40 | .Os |
41 | .Sh NAME | 41 | .Sh NAME |
@@ -113,6 +113,11 @@ If no public key is found at a given path, | |||
113 | will append | 113 | will append |
114 | .Pa .pub | 114 | .Pa .pub |
115 | and retry. | 115 | and retry. |
116 | If the argument list consists of | ||
117 | .Dq - | ||
118 | then | ||
119 | .Nm | ||
120 | will read public keys to be removed from standard input. | ||
116 | .It Fl E Ar fingerprint_hash | 121 | .It Fl E Ar fingerprint_hash |
117 | Specifies the hash algorithm used when displaying key fingerprints. | 122 | Specifies the hash algorithm used when displaying key fingerprints. |
118 | Valid options are: | 123 | Valid options are: |
@@ -169,7 +174,7 @@ Lock the agent with a password. | |||
169 | .El | 174 | .El |
170 | .Sh ENVIRONMENT | 175 | .Sh ENVIRONMENT |
171 | .Bl -tag -width Ds | 176 | .Bl -tag -width Ds |
172 | .It Ev "DISPLAY" and "SSH_ASKPASS" | 177 | .It Ev "DISPLAY", "SSH_ASKPASS" and "SSH_ASKPASS_REQUIRE" |
173 | If | 178 | If |
174 | .Nm | 179 | .Nm |
175 | needs a passphrase, it will read the passphrase from the current | 180 | needs a passphrase, it will read the passphrase from the current |
@@ -190,10 +195,26 @@ This is particularly useful when calling | |||
190 | from a | 195 | from a |
191 | .Pa .xsession | 196 | .Pa .xsession |
192 | or related script. | 197 | or related script. |
193 | (Note that on some machines it | 198 | .Pp |
194 | may be necessary to redirect the input from | 199 | .Ev SSH_ASKPASS_REQUIRE |
195 | .Pa /dev/null | 200 | allows further control over the use of an askpass program. |
196 | to make this work.) | 201 | If this variable is set to |
202 | .Dq never | ||
203 | then | ||
204 | .Nm | ||
205 | will never attempt to use one. | ||
206 | If it is set to | ||
207 | .Dq prefer , | ||
208 | then | ||
209 | .Nm | ||
210 | will prefer to use the askpass program instead of the TTY when requesting | ||
211 | passwords. | ||
212 | Finally, if the variable is set to | ||
213 | .Dq force , | ||
214 | then the askpass program will be used for all passphrase input regardless | ||
215 | of whether | ||
216 | .Ev DISPLAY | ||
217 | is set. | ||
197 | .It Ev SSH_AUTH_SOCK | 218 | .It Ev SSH_AUTH_SOCK |
198 | Identifies the path of a | 219 | Identifies the path of a |
199 | .Ux Ns -domain | 220 | .Ux Ns -domain |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-add.c,v 1.155 2020/03/16 02:17:02 dtucker Exp $ */ | 1 | /* $OpenBSD: ssh-add.c,v 1.157 2020/08/31 04:33:17 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 |
@@ -67,6 +67,7 @@ | |||
67 | #include "ssherr.h" | 67 | #include "ssherr.h" |
68 | #include "digest.h" | 68 | #include "digest.h" |
69 | #include "ssh-sk.h" | 69 | #include "ssh-sk.h" |
70 | #include "sk-api.h" | ||
70 | 71 | ||
71 | /* argv0 */ | 72 | /* argv0 */ |
72 | extern char *__progname; | 73 | extern char *__progname; |
@@ -111,25 +112,69 @@ clear_pass(void) | |||
111 | } | 112 | } |
112 | 113 | ||
113 | static int | 114 | static int |
115 | delete_one(int agent_fd, const struct sshkey *key, const char *comment, | ||
116 | const char *path, int qflag) | ||
117 | { | ||
118 | int r; | ||
119 | |||
120 | if ((r = ssh_remove_identity(agent_fd, key)) != 0) { | ||
121 | fprintf(stderr, "Could not remove identity \"%s\": %s\n", | ||
122 | path, ssh_err(r)); | ||
123 | return r; | ||
124 | } | ||
125 | if (!qflag) { | ||
126 | fprintf(stderr, "Identity removed: %s %s (%s)\n", path, | ||
127 | sshkey_type(key), comment); | ||
128 | } | ||
129 | return 0; | ||
130 | } | ||
131 | |||
132 | static int | ||
133 | delete_stdin(int agent_fd, int qflag) | ||
134 | { | ||
135 | char *line = NULL, *cp; | ||
136 | size_t linesize = 0; | ||
137 | struct sshkey *key = NULL; | ||
138 | int lnum = 0, r, ret = -1; | ||
139 | |||
140 | while (getline(&line, &linesize, stdin) != -1) { | ||
141 | lnum++; | ||
142 | sshkey_free(key); | ||
143 | key = NULL; | ||
144 | line[strcspn(line, "\n")] = '\0'; | ||
145 | cp = line + strspn(line, " \t"); | ||
146 | if (*cp == '#' || *cp == '\0') | ||
147 | continue; | ||
148 | if ((key = sshkey_new(KEY_UNSPEC)) == NULL) | ||
149 | fatal("%s: sshkey_new", __func__); | ||
150 | if ((r = sshkey_read(key, &cp)) != 0) { | ||
151 | error("(stdin):%d: invalid key: %s", lnum, ssh_err(r)); | ||
152 | continue; | ||
153 | } | ||
154 | if (delete_one(agent_fd, key, cp, "(stdin)", qflag) == 0) | ||
155 | ret = 0; | ||
156 | } | ||
157 | sshkey_free(key); | ||
158 | free(line); | ||
159 | return ret; | ||
160 | } | ||
161 | |||
162 | static int | ||
114 | delete_file(int agent_fd, const char *filename, int key_only, int qflag) | 163 | delete_file(int agent_fd, const char *filename, int key_only, int qflag) |
115 | { | 164 | { |
116 | struct sshkey *public, *cert = NULL; | 165 | struct sshkey *public, *cert = NULL; |
117 | char *certpath = NULL, *comment = NULL; | 166 | char *certpath = NULL, *comment = NULL; |
118 | int r, ret = -1; | 167 | int r, ret = -1; |
119 | 168 | ||
169 | if (strcmp(filename, "-") == 0) | ||
170 | return delete_stdin(agent_fd, qflag); | ||
171 | |||
120 | if ((r = sshkey_load_public(filename, &public, &comment)) != 0) { | 172 | if ((r = sshkey_load_public(filename, &public, &comment)) != 0) { |
121 | printf("Bad key file %s: %s\n", filename, ssh_err(r)); | 173 | printf("Bad key file %s: %s\n", filename, ssh_err(r)); |
122 | return -1; | 174 | return -1; |
123 | } | 175 | } |
124 | if ((r = ssh_remove_identity(agent_fd, public)) == 0) { | 176 | if (delete_one(agent_fd, public, comment, filename, qflag) == 0) |
125 | if (!qflag) { | ||
126 | fprintf(stderr, "Identity removed: %s (%s)\n", | ||
127 | filename, comment); | ||
128 | } | ||
129 | ret = 0; | 177 | ret = 0; |
130 | } else | ||
131 | fprintf(stderr, "Could not remove identity \"%s\": %s\n", | ||
132 | filename, ssh_err(r)); | ||
133 | 178 | ||
134 | if (key_only) | 179 | if (key_only) |
135 | goto out; | 180 | goto out; |
@@ -149,15 +194,8 @@ delete_file(int agent_fd, const char *filename, int key_only, int qflag) | |||
149 | fatal("Certificate %s does not match private key %s", | 194 | fatal("Certificate %s does not match private key %s", |
150 | certpath, filename); | 195 | certpath, filename); |
151 | 196 | ||
152 | if ((r = ssh_remove_identity(agent_fd, cert)) == 0) { | 197 | if (delete_one(agent_fd, cert, comment, certpath, qflag) == 0) |
153 | if (!qflag) { | ||
154 | fprintf(stderr, "Identity removed: %s (%s)\n", | ||
155 | certpath, comment); | ||
156 | } | ||
157 | ret = 0; | 198 | ret = 0; |
158 | } else | ||
159 | fprintf(stderr, "Could not remove identity \"%s\": %s\n", | ||
160 | certpath, ssh_err(r)); | ||
161 | 199 | ||
162 | out: | 200 | out: |
163 | sshkey_free(cert); | 201 | sshkey_free(cert); |
@@ -311,12 +349,20 @@ add_file(int agent_fd, const char *filename, int key_only, int qflag, | |||
311 | ssh_free_identitylist(idlist); | 349 | ssh_free_identitylist(idlist); |
312 | } | 350 | } |
313 | 351 | ||
314 | if (!sshkey_is_sk(private)) | 352 | if (sshkey_is_sk(private)) { |
315 | skprovider = NULL; /* Don't send constraint for other keys */ | 353 | if (skprovider == NULL) { |
316 | else if (skprovider == NULL) { | 354 | fprintf(stderr, "Cannot load FIDO key %s " |
317 | fprintf(stderr, "Cannot load authenticator-hosted key %s " | 355 | "without provider\n", filename); |
318 | "without provider\n", filename); | 356 | goto out; |
319 | goto out; | 357 | } |
358 | if ((private->sk_flags & SSH_SK_USER_VERIFICATION_REQD) != 0) { | ||
359 | fprintf(stderr, "FIDO verify-required key %s is not " | ||
360 | "currently supported by ssh-agent\n", filename); | ||
361 | goto out; | ||
362 | } | ||
363 | } else { | ||
364 | /* Don't send provider constraint for other keys */ | ||
365 | skprovider = NULL; | ||
320 | } | 366 | } |
321 | 367 | ||
322 | if ((r = ssh_add_identity_constrained(agent_fd, private, comment, | 368 | if ((r = ssh_add_identity_constrained(agent_fd, private, comment, |
diff --git a/ssh-agent.0 b/ssh-agent.0 index df4f0cc6c..71dddc27c 100644 --- a/ssh-agent.0 +++ b/ssh-agent.0 | |||
@@ -5,7 +5,9 @@ NAME | |||
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] | 7 | ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash] |
8 | [-P provider_whitelist] [-t life] [command [arg ...]] | 8 | [-P allowed_providers] [-t life] |
9 | ssh-agent [-a bind_address] [-E fingerprint_hash] [-P allowed_providers] | ||
10 | [-t life] command [arg ...] | ||
9 | ssh-agent [-c | -s] -k | 11 | ssh-agent [-c | -s] -k |
10 | 12 | ||
11 | DESCRIPTION | 13 | DESCRIPTION |
@@ -37,13 +39,13 @@ DESCRIPTION | |||
37 | -k Kill the current agent (given by the SSH_AGENT_PID environment | 39 | -k Kill the current agent (given by the SSH_AGENT_PID environment |
38 | variable). | 40 | variable). |
39 | 41 | ||
40 | -P provider_whitelist | 42 | -P allowed_providers |
41 | Specify a pattern-list of acceptable paths for PKCS#11 and FIDO | 43 | Specify a pattern-list of acceptable paths for PKCS#11 provider |
42 | authenticator shared libraries that may be used with the -S or -s | 44 | and FIDO authenticator middleware shared libraries that may be |
43 | options to ssh-add(1). Libraries that do not match the whitelist | 45 | used with the -S or -s options to ssh-add(1). Libraries that do |
44 | will be refused. See PATTERNS in ssh_config(5) for a description | 46 | not match the pattern list will be refused. See PATTERNS in |
45 | of pattern-list syntax. The default whitelist is | 47 | ssh_config(5) for a description of pattern-list syntax. The |
46 | M-bM-^@M-^\/usr/lib/*,/usr/local/lib/*M-bM-^@M-^]. | 48 | default list is M-bM-^@M-^\/usr/lib/*,/usr/local/lib/*M-bM-^@M-^]. |
47 | 49 | ||
48 | -s Generate Bourne shell commands on stdout. This is the default if | 50 | -s Generate Bourne shell commands on stdout. This is the default if |
49 | SHELL does not look like it's a csh style of shell. | 51 | SHELL does not look like it's a csh style of shell. |
@@ -114,4 +116,4 @@ AUTHORS | |||
114 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 116 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
115 | versions 1.5 and 2.0. | 117 | versions 1.5 and 2.0. |
116 | 118 | ||
117 | OpenBSD 6.7 December 21, 2019 OpenBSD 6.7 | 119 | OpenBSD 6.8 June 22, 2020 OpenBSD 6.8 |
diff --git a/ssh-agent.1 b/ssh-agent.1 index 99e4f6d2e..272da79b3 100644 --- a/ssh-agent.1 +++ b/ssh-agent.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: ssh-agent.1,v 1.70 2019/12/21 20:22:34 naddy Exp $ | 1 | .\" $OpenBSD: ssh-agent.1,v 1.72 2020/06/22 05:52: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 |
@@ -34,7 +34,7 @@ | |||
34 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 34 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
35 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 35 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
36 | .\" | 36 | .\" |
37 | .Dd $Mdocdate: December 21 2019 $ | 37 | .Dd $Mdocdate: June 22 2020 $ |
38 | .Dt SSH-AGENT 1 | 38 | .Dt SSH-AGENT 1 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -46,9 +46,14 @@ | |||
46 | .Op Fl \&Dd | 46 | .Op Fl \&Dd |
47 | .Op Fl a Ar bind_address | 47 | .Op Fl a Ar bind_address |
48 | .Op Fl E Ar fingerprint_hash | 48 | .Op Fl E Ar fingerprint_hash |
49 | .Op Fl P Ar provider_whitelist | 49 | .Op Fl P Ar allowed_providers |
50 | .Op Fl t Ar life | 50 | .Op Fl t Ar life |
51 | .Op Ar command Op Ar arg ... | 51 | .Nm ssh-agent |
52 | .Op Fl a Ar bind_address | ||
53 | .Op Fl E Ar fingerprint_hash | ||
54 | .Op Fl P Ar allowed_providers | ||
55 | .Op Fl t Ar life | ||
56 | .Ar command Op Ar arg ... | ||
52 | .Nm ssh-agent | 57 | .Nm ssh-agent |
53 | .Op Fl c | s | 58 | .Op Fl c | s |
54 | .Fl k | 59 | .Fl k |
@@ -97,19 +102,19 @@ The default is | |||
97 | Kill the current agent (given by the | 102 | Kill the current agent (given by the |
98 | .Ev SSH_AGENT_PID | 103 | .Ev SSH_AGENT_PID |
99 | environment variable). | 104 | environment variable). |
100 | .It Fl P Ar provider_whitelist | 105 | .It Fl P Ar allowed_providers |
101 | Specify a pattern-list of acceptable paths for PKCS#11 and FIDO authenticator | 106 | Specify a pattern-list of acceptable paths for PKCS#11 provider and FIDO |
102 | shared libraries that may be used with the | 107 | authenticator middleware shared libraries that may be used with the |
103 | .Fl S | 108 | .Fl S |
104 | or | 109 | or |
105 | .Fl s | 110 | .Fl s |
106 | options to | 111 | options to |
107 | .Xr ssh-add 1 . | 112 | .Xr ssh-add 1 . |
108 | Libraries that do not match the whitelist will be refused. | 113 | Libraries that do not match the pattern list will be refused. |
109 | See PATTERNS in | 114 | See PATTERNS in |
110 | .Xr ssh_config 5 | 115 | .Xr ssh_config 5 |
111 | for a description of pattern-list syntax. | 116 | for a description of pattern-list syntax. |
112 | The default whitelist is | 117 | The default list is |
113 | .Dq /usr/lib/*,/usr/local/lib/* . | 118 | .Dq /usr/lib/*,/usr/local/lib/* . |
114 | .It Fl s | 119 | .It Fl s |
115 | Generate Bourne shell commands on | 120 | Generate Bourne shell commands on |
diff --git a/ssh-agent.c b/ssh-agent.c index e081413b8..e1fd1f3f6 100644 --- a/ssh-agent.c +++ b/ssh-agent.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-agent.c,v 1.257 2020/03/06 18:28:27 markus Exp $ */ | 1 | /* $OpenBSD: ssh-agent.c,v 1.264 2020/09/18 08:16:38 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 |
@@ -77,6 +77,7 @@ | |||
77 | 77 | ||
78 | #include "xmalloc.h" | 78 | #include "xmalloc.h" |
79 | #include "ssh.h" | 79 | #include "ssh.h" |
80 | #include "ssh2.h" | ||
80 | #include "sshbuf.h" | 81 | #include "sshbuf.h" |
81 | #include "sshkey.h" | 82 | #include "sshkey.h" |
82 | #include "authfd.h" | 83 | #include "authfd.h" |
@@ -92,8 +93,8 @@ | |||
92 | #include "ssh-pkcs11.h" | 93 | #include "ssh-pkcs11.h" |
93 | #include "sk-api.h" | 94 | #include "sk-api.h" |
94 | 95 | ||
95 | #ifndef DEFAULT_PROVIDER_WHITELIST | 96 | #ifndef DEFAULT_ALLOWED_PROVIDERS |
96 | # define DEFAULT_PROVIDER_WHITELIST "/usr/lib*/*,/usr/local/lib*/*" | 97 | # define DEFAULT_ALLOWED_PROVIDERS "/usr/lib*/*,/usr/local/lib*/*" |
97 | #endif | 98 | #endif |
98 | 99 | ||
99 | /* Maximum accepted message length */ | 100 | /* Maximum accepted message length */ |
@@ -149,8 +150,8 @@ pid_t cleanup_pid = 0; | |||
149 | char socket_name[PATH_MAX]; | 150 | char socket_name[PATH_MAX]; |
150 | char socket_dir[PATH_MAX]; | 151 | char socket_dir[PATH_MAX]; |
151 | 152 | ||
152 | /* PKCS#11/Security key path whitelist */ | 153 | /* Pattern-list of allowed PKCS#11/Security key paths */ |
153 | static char *provider_whitelist; | 154 | static char *allowed_providers; |
154 | 155 | ||
155 | /* locking */ | 156 | /* locking */ |
156 | #define LOCK_SIZE 32 | 157 | #define LOCK_SIZE 32 |
@@ -167,6 +168,9 @@ static long lifetime = 0; | |||
167 | 168 | ||
168 | static int fingerprint_hash = SSH_FP_HASH_DEFAULT; | 169 | static int fingerprint_hash = SSH_FP_HASH_DEFAULT; |
169 | 170 | ||
171 | /* Refuse signing of non-SSH messages for web-origin FIDO keys */ | ||
172 | static int restrict_websafe = 1; | ||
173 | |||
170 | static void | 174 | static void |
171 | close_socket(SocketEntry *e) | 175 | close_socket(SocketEntry *e) |
172 | { | 176 | { |
@@ -282,6 +286,80 @@ agent_decode_alg(struct sshkey *key, u_int flags) | |||
282 | return NULL; | 286 | return NULL; |
283 | } | 287 | } |
284 | 288 | ||
289 | /* | ||
290 | * This function inspects a message to be signed by a FIDO key that has a | ||
291 | * web-like application string (i.e. one that does not begin with "ssh:". | ||
292 | * It checks that the message is one of those expected for SSH operations | ||
293 | * (pubkey userauth, sshsig, CA key signing) to exclude signing challenges | ||
294 | * for the web. | ||
295 | */ | ||
296 | static int | ||
297 | check_websafe_message_contents(struct sshkey *key, | ||
298 | const u_char *msg, size_t len) | ||
299 | { | ||
300 | int matched = 0; | ||
301 | struct sshbuf *b; | ||
302 | u_char m, n; | ||
303 | char *cp1 = NULL, *cp2 = NULL; | ||
304 | int r; | ||
305 | struct sshkey *mkey = NULL; | ||
306 | |||
307 | if ((b = sshbuf_from(msg, len)) == NULL) | ||
308 | fatal("%s: sshbuf_new", __func__); | ||
309 | |||
310 | /* SSH userauth request */ | ||
311 | if ((r = sshbuf_get_string_direct(b, NULL, NULL)) == 0 && /* sess_id */ | ||
312 | (r = sshbuf_get_u8(b, &m)) == 0 && /* SSH2_MSG_USERAUTH_REQUEST */ | ||
313 | (r = sshbuf_get_cstring(b, NULL, NULL)) == 0 && /* server user */ | ||
314 | (r = sshbuf_get_cstring(b, &cp1, NULL)) == 0 && /* service */ | ||
315 | (r = sshbuf_get_cstring(b, &cp2, NULL)) == 0 && /* method */ | ||
316 | (r = sshbuf_get_u8(b, &n)) == 0 && /* sig-follows */ | ||
317 | (r = sshbuf_get_cstring(b, NULL, NULL)) == 0 && /* alg */ | ||
318 | (r = sshkey_froms(b, &mkey)) == 0 && /* key */ | ||
319 | sshbuf_len(b) == 0) { | ||
320 | debug("%s: parsed userauth", __func__); | ||
321 | if (m == SSH2_MSG_USERAUTH_REQUEST && n == 1 && | ||
322 | strcmp(cp1, "ssh-connection") == 0 && | ||
323 | strcmp(cp2, "publickey") == 0 && | ||
324 | sshkey_equal(key, mkey)) { | ||
325 | debug("%s: well formed userauth", __func__); | ||
326 | matched = 1; | ||
327 | } | ||
328 | } | ||
329 | free(cp1); | ||
330 | free(cp2); | ||
331 | sshkey_free(mkey); | ||
332 | sshbuf_free(b); | ||
333 | if (matched) | ||
334 | return 1; | ||
335 | |||
336 | if ((b = sshbuf_from(msg, len)) == NULL) | ||
337 | fatal("%s: sshbuf_new", __func__); | ||
338 | cp1 = cp2 = NULL; | ||
339 | mkey = NULL; | ||
340 | |||
341 | /* SSHSIG */ | ||
342 | if ((r = sshbuf_cmp(b, 0, "SSHSIG", 6)) == 0 && | ||
343 | (r = sshbuf_consume(b, 6)) == 0 && | ||
344 | (r = sshbuf_get_cstring(b, NULL, NULL)) == 0 && /* namespace */ | ||
345 | (r = sshbuf_get_string_direct(b, NULL, NULL)) == 0 && /* reserved */ | ||
346 | (r = sshbuf_get_cstring(b, NULL, NULL)) == 0 && /* hashalg */ | ||
347 | (r = sshbuf_get_string_direct(b, NULL, NULL)) == 0 && /* H(msg) */ | ||
348 | sshbuf_len(b) == 0) { | ||
349 | debug("%s: parsed sshsig", __func__); | ||
350 | matched = 1; | ||
351 | } | ||
352 | |||
353 | sshbuf_free(b); | ||
354 | if (matched) | ||
355 | return 1; | ||
356 | |||
357 | /* XXX CA signature operation */ | ||
358 | |||
359 | error("web-origin key attempting to sign non-SSH message"); | ||
360 | return 0; | ||
361 | } | ||
362 | |||
285 | /* ssh2 only */ | 363 | /* ssh2 only */ |
286 | static void | 364 | static void |
287 | process_sign_request2(SocketEntry *e) | 365 | process_sign_request2(SocketEntry *e) |
@@ -314,18 +392,25 @@ process_sign_request2(SocketEntry *e) | |||
314 | verbose("%s: user refused key", __func__); | 392 | verbose("%s: user refused key", __func__); |
315 | goto send; | 393 | goto send; |
316 | } | 394 | } |
317 | if (sshkey_is_sk(id->key) && | 395 | if (sshkey_is_sk(id->key)) { |
318 | (id->key->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { | 396 | if (strncmp(id->key->sk_application, "ssh:", 4) != 0 && |
319 | if ((fp = sshkey_fingerprint(key, SSH_FP_HASH_DEFAULT, | 397 | !check_websafe_message_contents(key, data, dlen)) { |
320 | SSH_FP_DEFAULT)) == NULL) | 398 | /* error already logged */ |
321 | fatal("%s: fingerprint failed", __func__); | 399 | goto send; |
322 | notifier = notify_start(0, | 400 | } |
323 | "Confirm user presence for key %s %s", | 401 | if ((id->key->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { |
324 | sshkey_type(id->key), fp); | 402 | if ((fp = sshkey_fingerprint(key, SSH_FP_HASH_DEFAULT, |
403 | SSH_FP_DEFAULT)) == NULL) | ||
404 | fatal("%s: fingerprint failed", __func__); | ||
405 | notifier = notify_start(0, | ||
406 | "Confirm user presence for key %s %s", | ||
407 | sshkey_type(id->key), fp); | ||
408 | } | ||
325 | } | 409 | } |
410 | /* XXX support PIN required FIDO keys */ | ||
326 | if ((r = sshkey_sign(id->key, &signature, &slen, | 411 | if ((r = sshkey_sign(id->key, &signature, &slen, |
327 | data, dlen, agent_decode_alg(key, flags), | 412 | data, dlen, agent_decode_alg(key, flags), |
328 | id->sk_provider, compat)) != 0) { | 413 | id->sk_provider, NULL, compat)) != 0) { |
329 | error("%s: sshkey_sign: %s", __func__, ssh_err(r)); | 414 | error("%s: sshkey_sign: %s", __func__, ssh_err(r)); |
330 | goto send; | 415 | goto send; |
331 | } | 416 | } |
@@ -528,9 +613,9 @@ process_add_identity(SocketEntry *e) | |||
528 | free(sk_provider); | 613 | free(sk_provider); |
529 | sk_provider = xstrdup(canonical_provider); | 614 | sk_provider = xstrdup(canonical_provider); |
530 | if (match_pattern_list(sk_provider, | 615 | if (match_pattern_list(sk_provider, |
531 | provider_whitelist, 0) != 1) { | 616 | allowed_providers, 0) != 1) { |
532 | error("Refusing add key: " | 617 | error("Refusing add key: " |
533 | "provider %s not whitelisted", sk_provider); | 618 | "provider %s not allowed", sk_provider); |
534 | free(sk_provider); | 619 | free(sk_provider); |
535 | goto send; | 620 | goto send; |
536 | } | 621 | } |
@@ -685,9 +770,9 @@ process_add_smartcard_key(SocketEntry *e) | |||
685 | provider, strerror(errno)); | 770 | provider, strerror(errno)); |
686 | goto send; | 771 | goto send; |
687 | } | 772 | } |
688 | if (match_pattern_list(canonical_provider, provider_whitelist, 0) != 1) { | 773 | if (match_pattern_list(canonical_provider, allowed_providers, 0) != 1) { |
689 | verbose("refusing PKCS#11 add of \"%.100s\": " | 774 | verbose("refusing PKCS#11 add of \"%.100s\": " |
690 | "provider not whitelisted", canonical_provider); | 775 | "provider not allowed", canonical_provider); |
691 | goto send; | 776 | goto send; |
692 | } | 777 | } |
693 | debug("%s: add %.100s", __func__, canonical_provider); | 778 | debug("%s: add %.100s", __func__, canonical_provider); |
@@ -767,8 +852,10 @@ send: | |||
767 | } | 852 | } |
768 | #endif /* ENABLE_PKCS11 */ | 853 | #endif /* ENABLE_PKCS11 */ |
769 | 854 | ||
770 | /* dispatch incoming messages */ | 855 | /* |
771 | 856 | * dispatch incoming message. | |
857 | * returns 1 on success, 0 for incomplete messages or -1 on error. | ||
858 | */ | ||
772 | static int | 859 | static int |
773 | process_message(u_int socknum) | 860 | process_message(u_int socknum) |
774 | { | 861 | { |
@@ -822,7 +909,7 @@ process_message(u_int socknum) | |||
822 | /* send a fail message for all other request types */ | 909 | /* send a fail message for all other request types */ |
823 | send_status(e, 0); | 910 | send_status(e, 0); |
824 | } | 911 | } |
825 | return 0; | 912 | return 1; |
826 | } | 913 | } |
827 | 914 | ||
828 | switch (type) { | 915 | switch (type) { |
@@ -866,7 +953,7 @@ process_message(u_int socknum) | |||
866 | send_status(e, 0); | 953 | send_status(e, 0); |
867 | break; | 954 | break; |
868 | } | 955 | } |
869 | return 0; | 956 | return 1; |
870 | } | 957 | } |
871 | 958 | ||
872 | static void | 959 | static void |
@@ -957,7 +1044,12 @@ handle_conn_read(u_int socknum) | |||
957 | if ((r = sshbuf_put(sockets[socknum].input, buf, len)) != 0) | 1044 | if ((r = sshbuf_put(sockets[socknum].input, buf, len)) != 0) |
958 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 1045 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
959 | explicit_bzero(buf, sizeof(buf)); | 1046 | explicit_bzero(buf, sizeof(buf)); |
960 | process_message(socknum); | 1047 | for (;;) { |
1048 | if ((r = process_message(socknum)) == -1) | ||
1049 | return -1; | ||
1050 | else if (r == 0) | ||
1051 | break; | ||
1052 | } | ||
961 | return 0; | 1053 | return 0; |
962 | } | 1054 | } |
963 | 1055 | ||
@@ -1170,7 +1262,9 @@ usage(void) | |||
1170 | { | 1262 | { |
1171 | fprintf(stderr, | 1263 | fprintf(stderr, |
1172 | "usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]\n" | 1264 | "usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]\n" |
1173 | " [-P provider_whitelist] [-t life] [command [arg ...]]\n" | 1265 | " [-P allowed_providers] [-t life]\n" |
1266 | " ssh-agent [-a bind_address] [-E fingerprint_hash] [-P allowed_providers]\n" | ||
1267 | " [-t life] command [arg ...]\n" | ||
1174 | " ssh-agent [-c | -s] -k\n"); | 1268 | " ssh-agent [-c | -s] -k\n"); |
1175 | exit(1); | 1269 | exit(1); |
1176 | } | 1270 | } |
@@ -1212,7 +1306,7 @@ main(int ac, char **av) | |||
1212 | __progname = ssh_get_progname(av[0]); | 1306 | __progname = ssh_get_progname(av[0]); |
1213 | seed_rng(); | 1307 | seed_rng(); |
1214 | 1308 | ||
1215 | while ((ch = getopt(ac, av, "cDdksE:a:P:t:")) != -1) { | 1309 | while ((ch = getopt(ac, av, "cDdksE:a:O:P:t:")) != -1) { |
1216 | switch (ch) { | 1310 | switch (ch) { |
1217 | case 'E': | 1311 | case 'E': |
1218 | fingerprint_hash = ssh_digest_alg_by_name(optarg); | 1312 | fingerprint_hash = ssh_digest_alg_by_name(optarg); |
@@ -1227,10 +1321,16 @@ main(int ac, char **av) | |||
1227 | case 'k': | 1321 | case 'k': |
1228 | k_flag++; | 1322 | k_flag++; |
1229 | break; | 1323 | break; |
1324 | case 'O': | ||
1325 | if (strcmp(optarg, "no-restrict-websafe") == 0) | ||
1326 | restrict_websafe = 0; | ||
1327 | else | ||
1328 | fatal("Unknown -O option"); | ||
1329 | break; | ||
1230 | case 'P': | 1330 | case 'P': |
1231 | if (provider_whitelist != NULL) | 1331 | if (allowed_providers != NULL) |
1232 | fatal("-P option already specified"); | 1332 | fatal("-P option already specified"); |
1233 | provider_whitelist = xstrdup(optarg); | 1333 | allowed_providers = xstrdup(optarg); |
1234 | break; | 1334 | break; |
1235 | case 's': | 1335 | case 's': |
1236 | if (c_flag) | 1336 | if (c_flag) |
@@ -1266,8 +1366,8 @@ main(int ac, char **av) | |||
1266 | if (ac > 0 && (c_flag || k_flag || s_flag || d_flag || D_flag)) | 1366 | if (ac > 0 && (c_flag || k_flag || s_flag || d_flag || D_flag)) |
1267 | usage(); | 1367 | usage(); |
1268 | 1368 | ||
1269 | if (provider_whitelist == NULL) | 1369 | if (allowed_providers == NULL) |
1270 | provider_whitelist = xstrdup(DEFAULT_PROVIDER_WHITELIST); | 1370 | allowed_providers = xstrdup(DEFAULT_ALLOWED_PROVIDERS); |
1271 | 1371 | ||
1272 | if (ac == 0 && !c_flag && !s_flag) { | 1372 | if (ac == 0 && !c_flag && !s_flag) { |
1273 | shell = getenv("SHELL"); | 1373 | shell = getenv("SHELL"); |
diff --git a/ssh-ecdsa-sk.c b/ssh-ecdsa-sk.c index 981d60d74..c6927ecb2 100644 --- a/ssh-ecdsa-sk.c +++ b/ssh-ecdsa-sk.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-ecdsa-sk.c,v 1.5 2019/11/26 03:04:27 djm Exp $ */ | 1 | /* $OpenBSD: ssh-ecdsa-sk.c,v 1.8 2020/06/22 23:44:27 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) 2010 Damien Miller. All rights reserved. | 4 | * Copyright (c) 2010 Damien Miller. All rights reserved. |
@@ -49,6 +49,94 @@ | |||
49 | #define SSHKEY_INTERNAL | 49 | #define SSHKEY_INTERNAL |
50 | #include "sshkey.h" | 50 | #include "sshkey.h" |
51 | 51 | ||
52 | #ifndef OPENSSL_HAS_ECC | ||
53 | /* ARGSUSED */ | ||
54 | int | ||
55 | ssh_ecdsa_sk_verify(const struct sshkey *key, | ||
56 | const u_char *signature, size_t signaturelen, | ||
57 | const u_char *data, size_t datalen, u_int compat, | ||
58 | struct sshkey_sig_details **detailsp) | ||
59 | { | ||
60 | return SSH_ERR_FEATURE_UNSUPPORTED; | ||
61 | } | ||
62 | #else /* OPENSSL_HAS_ECC */ | ||
63 | |||
64 | /* | ||
65 | * Check FIDO/W3C webauthn signatures clientData field against the expected | ||
66 | * format and prepare a hash of it for use in signature verification. | ||
67 | * | ||
68 | * webauthn signatures do not sign the hash of the message directly, but | ||
69 | * instead sign a JSON-like "clientData" wrapper structure that contains the | ||
70 | * message hash along with a other information. | ||
71 | * | ||
72 | * Fortunately this structure has a fixed format so it is possible to verify | ||
73 | * that the hash of the signed message is present within the clientData | ||
74 | * structure without needing to implement any JSON parsing. | ||
75 | */ | ||
76 | static int | ||
77 | webauthn_check_prepare_hash(const u_char *data, size_t datalen, | ||
78 | const char *origin, const struct sshbuf *wrapper, | ||
79 | uint8_t flags, const struct sshbuf *extensions, | ||
80 | u_char *msghash, size_t msghashlen) | ||
81 | { | ||
82 | int r = SSH_ERR_INTERNAL_ERROR; | ||
83 | struct sshbuf *chall = NULL, *m = NULL; | ||
84 | |||
85 | if ((m = sshbuf_new()) == NULL || | ||
86 | (chall = sshbuf_from(data, datalen)) == NULL) { | ||
87 | r = SSH_ERR_ALLOC_FAIL; | ||
88 | goto out; | ||
89 | } | ||
90 | /* | ||
91 | * Ensure origin contains no quote character and that the flags are | ||
92 | * consistent with what we received | ||
93 | */ | ||
94 | if (strchr(origin, '\"') != NULL || | ||
95 | (flags & 0x40) != 0 /* AD */ || | ||
96 | ((flags & 0x80) == 0 /* ED */) != (sshbuf_len(extensions) == 0)) { | ||
97 | r = SSH_ERR_INVALID_FORMAT; | ||
98 | goto out; | ||
99 | } | ||
100 | |||
101 | /* | ||
102 | * Prepare the preamble to clientData that we expect, poking the | ||
103 | * challenge and origin into their canonical positions in the | ||
104 | * structure. The crossOrigin flag and any additional extension | ||
105 | * fields present are ignored. | ||
106 | */ | ||
107 | #define WEBAUTHN_0 "{\"type\":\"webauthn.get\",\"challenge\":\"" | ||
108 | #define WEBAUTHN_1 "\",\"origin\":\"" | ||
109 | #define WEBAUTHN_2 "\"" | ||
110 | if ((r = sshbuf_put(m, WEBAUTHN_0, sizeof(WEBAUTHN_0) - 1)) != 0 || | ||
111 | (r = sshbuf_dtourlb64(chall, m, 0)) != 0 || | ||
112 | (r = sshbuf_put(m, WEBAUTHN_1, sizeof(WEBAUTHN_1) - 1)) != 0 || | ||
113 | (r = sshbuf_put(m, origin, strlen(origin))) != 0 || | ||
114 | (r = sshbuf_put(m, WEBAUTHN_2, sizeof(WEBAUTHN_2) - 1)) != 0) | ||
115 | goto out; | ||
116 | #ifdef DEBUG_SK | ||
117 | fprintf(stderr, "%s: received origin: %s\n", __func__, origin); | ||
118 | fprintf(stderr, "%s: received clientData:\n", __func__); | ||
119 | sshbuf_dump(wrapper, stderr); | ||
120 | fprintf(stderr, "%s: expected clientData premable:\n", __func__); | ||
121 | sshbuf_dump(m, stderr); | ||
122 | #endif | ||
123 | /* Check that the supplied clientData has the preamble we expect */ | ||
124 | if ((r = sshbuf_cmp(wrapper, 0, sshbuf_ptr(m), sshbuf_len(m))) != 0) | ||
125 | goto out; | ||
126 | |||
127 | /* Prepare hash of clientData */ | ||
128 | if ((r = ssh_digest_buffer(SSH_DIGEST_SHA256, wrapper, | ||
129 | msghash, msghashlen)) != 0) | ||
130 | goto out; | ||
131 | |||
132 | /* success */ | ||
133 | r = 0; | ||
134 | out: | ||
135 | sshbuf_free(chall); | ||
136 | sshbuf_free(m); | ||
137 | return r; | ||
138 | } | ||
139 | |||
52 | /* ARGSUSED */ | 140 | /* ARGSUSED */ |
53 | int | 141 | int |
54 | ssh_ecdsa_sk_verify(const struct sshkey *key, | 142 | ssh_ecdsa_sk_verify(const struct sshkey *key, |
@@ -56,15 +144,15 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
56 | const u_char *data, size_t datalen, u_int compat, | 144 | const u_char *data, size_t datalen, u_int compat, |
57 | struct sshkey_sig_details **detailsp) | 145 | struct sshkey_sig_details **detailsp) |
58 | { | 146 | { |
59 | #ifdef OPENSSL_HAS_ECC | ||
60 | ECDSA_SIG *sig = NULL; | 147 | ECDSA_SIG *sig = NULL; |
61 | BIGNUM *sig_r = NULL, *sig_s = NULL; | 148 | BIGNUM *sig_r = NULL, *sig_s = NULL; |
62 | u_char sig_flags; | 149 | u_char sig_flags; |
63 | u_char msghash[32], apphash[32], sighash[32]; | 150 | u_char msghash[32], apphash[32], sighash[32]; |
64 | u_int sig_counter; | 151 | u_int sig_counter; |
65 | int ret = SSH_ERR_INTERNAL_ERROR; | 152 | int is_webauthn = 0, ret = SSH_ERR_INTERNAL_ERROR; |
66 | struct sshbuf *b = NULL, *sigbuf = NULL, *original_signed = NULL; | 153 | struct sshbuf *b = NULL, *sigbuf = NULL, *original_signed = NULL; |
67 | char *ktype = NULL; | 154 | struct sshbuf *webauthn_wrapper = NULL, *webauthn_exts = NULL; |
155 | char *ktype = NULL, *webauthn_origin = NULL; | ||
68 | struct sshkey_sig_details *details = NULL; | 156 | struct sshkey_sig_details *details = NULL; |
69 | #ifdef DEBUG_SK | 157 | #ifdef DEBUG_SK |
70 | char *tmp = NULL; | 158 | char *tmp = NULL; |
@@ -83,16 +171,33 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
83 | /* fetch signature */ | 171 | /* fetch signature */ |
84 | if ((b = sshbuf_from(signature, signaturelen)) == NULL) | 172 | if ((b = sshbuf_from(signature, signaturelen)) == NULL) |
85 | return SSH_ERR_ALLOC_FAIL; | 173 | return SSH_ERR_ALLOC_FAIL; |
86 | if (sshbuf_get_cstring(b, &ktype, NULL) != 0 || | 174 | if ((details = calloc(1, sizeof(*details))) == NULL) { |
87 | sshbuf_froms(b, &sigbuf) != 0 || | 175 | ret = SSH_ERR_ALLOC_FAIL; |
176 | goto out; | ||
177 | } | ||
178 | if (sshbuf_get_cstring(b, &ktype, NULL) != 0) { | ||
179 | ret = SSH_ERR_INVALID_FORMAT; | ||
180 | goto out; | ||
181 | } | ||
182 | if (strcmp(ktype, "webauthn-sk-ecdsa-sha2-nistp256@openssh.com") == 0) | ||
183 | is_webauthn = 1; | ||
184 | else if (strcmp(ktype, "sk-ecdsa-sha2-nistp256@openssh.com") != 0) { | ||
185 | ret = SSH_ERR_INVALID_FORMAT; | ||
186 | goto out; | ||
187 | } | ||
188 | if (sshbuf_froms(b, &sigbuf) != 0 || | ||
88 | sshbuf_get_u8(b, &sig_flags) != 0 || | 189 | sshbuf_get_u8(b, &sig_flags) != 0 || |
89 | sshbuf_get_u32(b, &sig_counter) != 0) { | 190 | sshbuf_get_u32(b, &sig_counter) != 0) { |
90 | ret = SSH_ERR_INVALID_FORMAT; | 191 | ret = SSH_ERR_INVALID_FORMAT; |
91 | goto out; | 192 | goto out; |
92 | } | 193 | } |
93 | if (strcmp(sshkey_ssh_name_plain(key), ktype) != 0) { | 194 | if (is_webauthn) { |
94 | ret = SSH_ERR_KEY_TYPE_MISMATCH; | 195 | if (sshbuf_get_cstring(b, &webauthn_origin, NULL) != 0 || |
95 | goto out; | 196 | sshbuf_froms(b, &webauthn_wrapper) != 0 || |
197 | sshbuf_froms(b, &webauthn_exts) != 0) { | ||
198 | ret = SSH_ERR_INVALID_FORMAT; | ||
199 | goto out; | ||
200 | } | ||
96 | } | 201 | } |
97 | if (sshbuf_len(b) != 0) { | 202 | if (sshbuf_len(b) != 0) { |
98 | ret = SSH_ERR_UNEXPECTED_TRAILING_DATA; | 203 | ret = SSH_ERR_UNEXPECTED_TRAILING_DATA; |
@@ -105,14 +210,11 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
105 | ret = SSH_ERR_INVALID_FORMAT; | 210 | ret = SSH_ERR_INVALID_FORMAT; |
106 | goto out; | 211 | goto out; |
107 | } | 212 | } |
108 | if ((sig = ECDSA_SIG_new()) == NULL) { | 213 | if (sshbuf_len(sigbuf) != 0) { |
109 | ret = SSH_ERR_ALLOC_FAIL; | 214 | ret = SSH_ERR_UNEXPECTED_TRAILING_DATA; |
110 | goto out; | ||
111 | } | ||
112 | if (!ECDSA_SIG_set0(sig, sig_r, sig_s)) { | ||
113 | ret = SSH_ERR_LIBCRYPTO_ERROR; | ||
114 | goto out; | 215 | goto out; |
115 | } | 216 | } |
217 | |||
116 | #ifdef DEBUG_SK | 218 | #ifdef DEBUG_SK |
117 | fprintf(stderr, "%s: data: (len %zu)\n", __func__, datalen); | 219 | fprintf(stderr, "%s: data: (len %zu)\n", __func__, datalen); |
118 | /* sshbuf_dump_data(data, datalen, stderr); */ | 220 | /* sshbuf_dump_data(data, datalen, stderr); */ |
@@ -122,20 +224,34 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
122 | free(tmp); | 224 | free(tmp); |
123 | fprintf(stderr, "%s: sig_flags = 0x%02x, sig_counter = %u\n", | 225 | fprintf(stderr, "%s: sig_flags = 0x%02x, sig_counter = %u\n", |
124 | __func__, sig_flags, sig_counter); | 226 | __func__, sig_flags, sig_counter); |
227 | if (is_webauthn) { | ||
228 | fprintf(stderr, "%s: webauthn origin: %s\n", __func__, | ||
229 | webauthn_origin); | ||
230 | fprintf(stderr, "%s: webauthn_wrapper:\n", __func__); | ||
231 | sshbuf_dump(webauthn_wrapper, stderr); | ||
232 | } | ||
125 | #endif | 233 | #endif |
126 | sig_r = sig_s = NULL; /* transferred */ | 234 | if ((sig = ECDSA_SIG_new()) == NULL) { |
127 | 235 | ret = SSH_ERR_ALLOC_FAIL; | |
128 | if (sshbuf_len(sigbuf) != 0) { | ||
129 | ret = SSH_ERR_UNEXPECTED_TRAILING_DATA; | ||
130 | goto out; | 236 | goto out; |
131 | } | 237 | } |
238 | if (!ECDSA_SIG_set0(sig, sig_r, sig_s)) { | ||
239 | ret = SSH_ERR_LIBCRYPTO_ERROR; | ||
240 | goto out; | ||
241 | } | ||
242 | sig_r = sig_s = NULL; /* transferred */ | ||
132 | 243 | ||
133 | /* Reconstruct data that was supposedly signed */ | 244 | /* Reconstruct data that was supposedly signed */ |
134 | if ((original_signed = sshbuf_new()) == NULL) { | 245 | if ((original_signed = sshbuf_new()) == NULL) { |
135 | ret = SSH_ERR_ALLOC_FAIL; | 246 | ret = SSH_ERR_ALLOC_FAIL; |
136 | goto out; | 247 | goto out; |
137 | } | 248 | } |
138 | if ((ret = ssh_digest_memory(SSH_DIGEST_SHA256, data, datalen, | 249 | if (is_webauthn) { |
250 | if ((ret = webauthn_check_prepare_hash(data, datalen, | ||
251 | webauthn_origin, webauthn_wrapper, sig_flags, webauthn_exts, | ||
252 | msghash, sizeof(msghash))) != 0) | ||
253 | goto out; | ||
254 | } else if ((ret = ssh_digest_memory(SSH_DIGEST_SHA256, data, datalen, | ||
139 | msghash, sizeof(msghash))) != 0) | 255 | msghash, sizeof(msghash))) != 0) |
140 | goto out; | 256 | goto out; |
141 | /* Application value is hashed before signature */ | 257 | /* Application value is hashed before signature */ |
@@ -152,16 +268,13 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
152 | apphash, sizeof(apphash))) != 0 || | 268 | apphash, sizeof(apphash))) != 0 || |
153 | (ret = sshbuf_put_u8(original_signed, sig_flags)) != 0 || | 269 | (ret = sshbuf_put_u8(original_signed, sig_flags)) != 0 || |
154 | (ret = sshbuf_put_u32(original_signed, sig_counter)) != 0 || | 270 | (ret = sshbuf_put_u32(original_signed, sig_counter)) != 0 || |
271 | (ret = sshbuf_putb(original_signed, webauthn_exts)) != 0 || | ||
155 | (ret = sshbuf_put(original_signed, msghash, sizeof(msghash))) != 0) | 272 | (ret = sshbuf_put(original_signed, msghash, sizeof(msghash))) != 0) |
156 | goto out; | 273 | goto out; |
157 | /* Signature is over H(original_signed) */ | 274 | /* Signature is over H(original_signed) */ |
158 | if ((ret = ssh_digest_buffer(SSH_DIGEST_SHA256, original_signed, | 275 | if ((ret = ssh_digest_buffer(SSH_DIGEST_SHA256, original_signed, |
159 | sighash, sizeof(sighash))) != 0) | 276 | sighash, sizeof(sighash))) != 0) |
160 | goto out; | 277 | goto out; |
161 | if ((details = calloc(1, sizeof(*details))) == NULL) { | ||
162 | ret = SSH_ERR_ALLOC_FAIL; | ||
163 | goto out; | ||
164 | } | ||
165 | details->sk_counter = sig_counter; | 278 | details->sk_counter = sig_counter; |
166 | details->sk_flags = sig_flags; | 279 | details->sk_flags = sig_flags; |
167 | #ifdef DEBUG_SK | 280 | #ifdef DEBUG_SK |
@@ -195,6 +308,9 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
195 | explicit_bzero(sighash, sizeof(msghash)); | 308 | explicit_bzero(sighash, sizeof(msghash)); |
196 | explicit_bzero(apphash, sizeof(apphash)); | 309 | explicit_bzero(apphash, sizeof(apphash)); |
197 | sshkey_sig_details_free(details); | 310 | sshkey_sig_details_free(details); |
311 | sshbuf_free(webauthn_wrapper); | ||
312 | sshbuf_free(webauthn_exts); | ||
313 | free(webauthn_origin); | ||
198 | sshbuf_free(original_signed); | 314 | sshbuf_free(original_signed); |
199 | sshbuf_free(sigbuf); | 315 | sshbuf_free(sigbuf); |
200 | sshbuf_free(b); | 316 | sshbuf_free(b); |
@@ -203,7 +319,6 @@ ssh_ecdsa_sk_verify(const struct sshkey *key, | |||
203 | BN_clear_free(sig_s); | 319 | BN_clear_free(sig_s); |
204 | free(ktype); | 320 | free(ktype); |
205 | return ret; | 321 | return ret; |
206 | #else | ||
207 | return SSH_ERR_INTERNAL_ERROR; | ||
208 | #endif | ||
209 | } | 322 | } |
323 | |||
324 | #endif /* OPENSSL_HAS_ECC */ | ||
diff --git a/ssh-keygen.0 b/ssh-keygen.0 index c388cdf7a..111eb9e08 100644 --- a/ssh-keygen.0 +++ b/ssh-keygen.0 | |||
@@ -4,21 +4,22 @@ NAME | |||
4 | ssh-keygen M-bM-^@M-^S OpenSSH authentication key utility | 4 | ssh-keygen M-bM-^@M-^S OpenSSH authentication key utility |
5 | 5 | ||
6 | SYNOPSIS | 6 | SYNOPSIS |
7 | ssh-keygen [-q] [-b bits] [-C comment] [-f output_keyfile] [-m format] | 7 | ssh-keygen [-q] [-a rounds] [-b bits] [-C comment] [-f output_keyfile] |
8 | [-m format] [-N new_passphrase] [-O option] | ||
8 | [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa] | 9 | [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa] |
9 | [-N new_passphrase] [-O option] [-w provider] | 10 | [-w provider] |
10 | ssh-keygen -p [-f keyfile] [-m format] [-N new_passphrase] | 11 | ssh-keygen -p [-a rounds] [-f keyfile] [-m format] [-N new_passphrase] |
11 | [-P old_passphrase] | 12 | [-P old_passphrase] |
12 | ssh-keygen -i [-f input_keyfile] [-m key_format] | 13 | ssh-keygen -i [-f input_keyfile] [-m key_format] |
13 | ssh-keygen -e [-f input_keyfile] [-m key_format] | 14 | ssh-keygen -e [-f input_keyfile] [-m key_format] |
14 | ssh-keygen -y [-f input_keyfile] | 15 | ssh-keygen -y [-f input_keyfile] |
15 | ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase] | 16 | ssh-keygen -c [-a rounds] [-C comment] [-f keyfile] [-P passphrase] |
16 | ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile] | 17 | ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile] |
17 | ssh-keygen -B [-f input_keyfile] | 18 | ssh-keygen -B [-f input_keyfile] |
18 | ssh-keygen -D pkcs11 | 19 | ssh-keygen -D pkcs11 |
19 | ssh-keygen -F hostname [-lv] [-f known_hosts_file] | 20 | ssh-keygen -F hostname [-lv] [-f known_hosts_file] |
20 | ssh-keygen -H [-f known_hosts_file] | 21 | ssh-keygen -H [-f known_hosts_file] |
21 | ssh-keygen -K [-w provider] | 22 | ssh-keygen -K [-a rounds] [-w provider] |
22 | ssh-keygen -R hostname [-f known_hosts_file] | 23 | ssh-keygen -R hostname [-f known_hosts_file] |
23 | ssh-keygen -r hostname [-g] [-f input_keyfile] | 24 | ssh-keygen -r hostname [-g] [-f input_keyfile] |
24 | ssh-keygen -M generate [-O option] output_file | 25 | ssh-keygen -M generate [-O option] output_file |
@@ -27,7 +28,7 @@ SYNOPSIS | |||
27 | [-n principals] [-O option] [-V validity_interval] | 28 | [-n principals] [-O option] [-V validity_interval] |
28 | [-z serial_number] file ... | 29 | [-z serial_number] file ... |
29 | ssh-keygen -L [-f input_keyfile] | 30 | ssh-keygen -L [-f input_keyfile] |
30 | ssh-keygen -A [-f prefix_path] | 31 | ssh-keygen -A [-a rounds] [-f prefix_path] |
31 | ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] | 32 | ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number] |
32 | file ... | 33 | file ... |
33 | ssh-keygen -Q [-l] -f krl_file file ... | 34 | ssh-keygen -Q [-l] -f krl_file file ... |
@@ -87,8 +88,8 @@ DESCRIPTION | |||
87 | new keys, and existing new-format keys may be converted using this option | 88 | new keys, and existing new-format keys may be converted using this option |
88 | in conjunction with the -p (change passphrase) flag. | 89 | in conjunction with the -p (change passphrase) flag. |
89 | 90 | ||
90 | After a key is generated, instructions below detail where the keys should | 91 | After a key is generated, ssh-keygen will ask where the keys should be |
91 | be placed to be activated. | 92 | placed to be activated. |
92 | 93 | ||
93 | The options are as follows: | 94 | The options are as follows: |
94 | 95 | ||
@@ -104,7 +105,8 @@ DESCRIPTION | |||
104 | When saving a private key, this option specifies the number of | 105 | When saving a private key, this option specifies the number of |
105 | KDF (key derivation function) rounds used. Higher numbers result | 106 | KDF (key derivation function) rounds used. Higher numbers result |
106 | in slower passphrase verification and increased resistance to | 107 | in slower passphrase verification and increased resistance to |
107 | brute-force password cracking (should the keys be stolen). | 108 | brute-force password cracking (should the keys be stolen). The |
109 | default is 16 rounds. | ||
108 | 110 | ||
109 | -B Show the bubblebabble digest of specified private or public key | 111 | -B Show the bubblebabble digest of specified private or public key |
110 | file. | 112 | file. |
@@ -182,7 +184,9 @@ DESCRIPTION | |||
182 | 184 | ||
183 | -K Download resident keys from a FIDO authenticator. Public and | 185 | -K Download resident keys from a FIDO authenticator. Public and |
184 | private key files will be written to the current directory for | 186 | private key files will be written to the current directory for |
185 | each downloaded key. | 187 | each downloaded key. If multiple FIDO authenticators are |
188 | attached, keys will be downloaded from the first touched | ||
189 | authenticator. | ||
186 | 190 | ||
187 | -k Generate a KRL file. In this mode, ssh-keygen will generate a | 191 | -k Generate a KRL file. In this mode, ssh-keygen will generate a |
188 | KRL file at the location specified via the -f flag that revokes | 192 | KRL file at the location specified via the -f flag that revokes |
@@ -285,10 +289,18 @@ DESCRIPTION | |||
285 | username may be useful when generating multiple resident | 289 | username may be useful when generating multiple resident |
286 | keys for the same application name. | 290 | keys for the same application name. |
287 | 291 | ||
292 | verify-required | ||
293 | Indicate that this private key should require user | ||
294 | verification for each signature. Not all FIDO tokens | ||
295 | support this option. Currently PIN authentication is the | ||
296 | only supported verification method, but other methods may | ||
297 | be supported in the future. | ||
298 | |||
288 | write-attestation=path | 299 | write-attestation=path |
289 | May be used at key generation time to record the | 300 | May be used at key generation time to record the |
290 | attestation certificate returned from FIDO tokens during | 301 | attestation data returned from FIDO tokens during key |
291 | key generation. By default this information is | 302 | generation. Please note that this information is |
303 | potentially sensitive. By default, this information is | ||
292 | discarded. | 304 | discarded. |
293 | 305 | ||
294 | The -O option may be specified multiple times. | 306 | The -O option may be specified multiple times. |
@@ -606,7 +618,7 @@ CERTIFICATES | |||
606 | Allows X11 forwarding. | 618 | Allows X11 forwarding. |
607 | 619 | ||
608 | no-touch-required | 620 | no-touch-required |
609 | Do not require signatures made using this key require | 621 | Do not require signatures made using this key include |
610 | demonstration of user presence (e.g. by having the user touch the | 622 | demonstration of user presence (e.g. by having the user touch the |
611 | authenticator). This option only makes sense for the FIDO | 623 | authenticator). This option only makes sense for the FIDO |
612 | authenticator algorithms ecdsa-sk and ed25519-sk. | 624 | authenticator algorithms ecdsa-sk and ed25519-sk. |
@@ -616,6 +628,13 @@ CERTIFICATES | |||
616 | considered valid. The address_list is a comma-separated list of | 628 | considered valid. The address_list is a comma-separated list of |
617 | one or more address/netmask pairs in CIDR format. | 629 | one or more address/netmask pairs in CIDR format. |
618 | 630 | ||
631 | verify-required | ||
632 | Require signatures made using this key indicate that the user was | ||
633 | first verified. This option only makes sense for the FIDO | ||
634 | authenticator algorithms ecdsa-sk and ed25519-sk. Currently PIN | ||
635 | authentication is the only supported verification method, but | ||
636 | other methods may be supported in the future. | ||
637 | |||
619 | At present, no standard options are valid for host keys. | 638 | At present, no standard options are valid for host keys. |
620 | 639 | ||
621 | Finally, certificates may be defined with a validity lifetime. The -V | 640 | Finally, certificates may be defined with a validity lifetime. The -V |
@@ -787,4 +806,4 @@ AUTHORS | |||
787 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 806 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
788 | versions 1.5 and 2.0. | 807 | versions 1.5 and 2.0. |
789 | 808 | ||
790 | OpenBSD 6.7 April 3, 2020 OpenBSD 6.7 | 809 | OpenBSD 6.8 September 9, 2020 OpenBSD 6.8 |
diff --git a/ssh-keygen.1 b/ssh-keygen.1 index 45866f931..836174fb6 100644 --- a/ssh-keygen.1 +++ b/ssh-keygen.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: ssh-keygen.1,v 1.203 2020/04/03 02:26:56 djm Exp $ | 1 | .\" $OpenBSD: ssh-keygen.1,v 1.209 2020/09/09 03:08:01 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: April 3 2020 $ | 38 | .Dd $Mdocdate: September 9 2020 $ |
39 | .Dt SSH-KEYGEN 1 | 39 | .Dt SSH-KEYGEN 1 |
40 | .Os | 40 | .Os |
41 | .Sh NAME | 41 | .Sh NAME |
@@ -44,16 +44,18 @@ | |||
44 | .Sh SYNOPSIS | 44 | .Sh SYNOPSIS |
45 | .Nm ssh-keygen | 45 | .Nm ssh-keygen |
46 | .Op Fl q | 46 | .Op Fl q |
47 | .Op Fl a Ar rounds | ||
47 | .Op Fl b Ar bits | 48 | .Op Fl b Ar bits |
48 | .Op Fl C Ar comment | 49 | .Op Fl C Ar comment |
49 | .Op Fl f Ar output_keyfile | 50 | .Op Fl f Ar output_keyfile |
50 | .Op Fl m Ar format | 51 | .Op Fl m Ar format |
51 | .Op Fl t Cm dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa | ||
52 | .Op Fl N Ar new_passphrase | 52 | .Op Fl N Ar new_passphrase |
53 | .Op Fl O Ar option | 53 | .Op Fl O Ar option |
54 | .Op Fl t Cm dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa | ||
54 | .Op Fl w Ar provider | 55 | .Op Fl w Ar provider |
55 | .Nm ssh-keygen | 56 | .Nm ssh-keygen |
56 | .Fl p | 57 | .Fl p |
58 | .Op Fl a Ar rounds | ||
57 | .Op Fl f Ar keyfile | 59 | .Op Fl f Ar keyfile |
58 | .Op Fl m Ar format | 60 | .Op Fl m Ar format |
59 | .Op Fl N Ar new_passphrase | 61 | .Op Fl N Ar new_passphrase |
@@ -71,6 +73,7 @@ | |||
71 | .Op Fl f Ar input_keyfile | 73 | .Op Fl f Ar input_keyfile |
72 | .Nm ssh-keygen | 74 | .Nm ssh-keygen |
73 | .Fl c | 75 | .Fl c |
76 | .Op Fl a Ar rounds | ||
74 | .Op Fl C Ar comment | 77 | .Op Fl C Ar comment |
75 | .Op Fl f Ar keyfile | 78 | .Op Fl f Ar keyfile |
76 | .Op Fl P Ar passphrase | 79 | .Op Fl P Ar passphrase |
@@ -93,6 +96,7 @@ | |||
93 | .Op Fl f Ar known_hosts_file | 96 | .Op Fl f Ar known_hosts_file |
94 | .Nm ssh-keygen | 97 | .Nm ssh-keygen |
95 | .Fl K | 98 | .Fl K |
99 | .Op Fl a Ar rounds | ||
96 | .Op Fl w Ar provider | 100 | .Op Fl w Ar provider |
97 | .Nm ssh-keygen | 101 | .Nm ssh-keygen |
98 | .Fl R Ar hostname | 102 | .Fl R Ar hostname |
@@ -125,6 +129,7 @@ | |||
125 | .Op Fl f Ar input_keyfile | 129 | .Op Fl f Ar input_keyfile |
126 | .Nm ssh-keygen | 130 | .Nm ssh-keygen |
127 | .Fl A | 131 | .Fl A |
132 | .Op Fl a Ar rounds | ||
128 | .Op Fl f Ar prefix_path | 133 | .Op Fl f Ar prefix_path |
129 | .Nm ssh-keygen | 134 | .Nm ssh-keygen |
130 | .Fl k | 135 | .Fl k |
@@ -246,7 +251,9 @@ keys may be converted using this option in conjunction with the | |||
246 | .Fl p | 251 | .Fl p |
247 | (change passphrase) flag. | 252 | (change passphrase) flag. |
248 | .Pp | 253 | .Pp |
249 | After a key is generated, instructions below detail where the keys | 254 | After a key is generated, |
255 | .Nm | ||
256 | will ask where the keys | ||
250 | should be placed to be activated. | 257 | should be placed to be activated. |
251 | .Pp | 258 | .Pp |
252 | The options are as follows: | 259 | The options are as follows: |
@@ -266,6 +273,7 @@ When saving a private key, this option specifies the number of KDF | |||
266 | (key derivation function) rounds used. | 273 | (key derivation function) rounds used. |
267 | Higher numbers result in slower passphrase verification and increased | 274 | Higher numbers result in slower passphrase verification and increased |
268 | resistance to brute-force password cracking (should the keys be stolen). | 275 | resistance to brute-force password cracking (should the keys be stolen). |
276 | The default is 16 rounds. | ||
269 | .It Fl B | 277 | .It Fl B |
270 | Show the bubblebabble digest of specified private or public key file. | 278 | Show the bubblebabble digest of specified private or public key file. |
271 | .It Fl b Ar bits | 279 | .It Fl b Ar bits |
@@ -370,6 +378,8 @@ The default import format is | |||
370 | Download resident keys from a FIDO authenticator. | 378 | Download resident keys from a FIDO authenticator. |
371 | Public and private key files will be written to the current directory for | 379 | Public and private key files will be written to the current directory for |
372 | each downloaded key. | 380 | each downloaded key. |
381 | If multiple FIDO authenticators are attached, keys will be downloaded from | ||
382 | the first touched authenticator. | ||
373 | .It Fl k | 383 | .It Fl k |
374 | Generate a KRL file. | 384 | Generate a KRL file. |
375 | In this mode, | 385 | In this mode, |
@@ -499,10 +509,17 @@ A username to be associated with a resident key, | |||
499 | overriding the empty default username. | 509 | overriding the empty default username. |
500 | Specifying a username may be useful when generating multiple resident keys | 510 | Specifying a username may be useful when generating multiple resident keys |
501 | for the same application name. | 511 | for the same application name. |
512 | .It Cm verify-required | ||
513 | Indicate that this private key should require user verification for | ||
514 | each signature. | ||
515 | Not all FIDO tokens support this option. | ||
516 | Currently PIN authentication is the only supported verification method, | ||
517 | but other methods may be supported in the future. | ||
502 | .It Cm write-attestation Ns = Ns Ar path | 518 | .It Cm write-attestation Ns = Ns Ar path |
503 | May be used at key generation time to record the attestation certificate | 519 | May be used at key generation time to record the attestation data |
504 | returned from FIDO tokens during key generation. | 520 | returned from FIDO tokens during key generation. |
505 | By default this information is discarded. | 521 | Please note that this information is potentially sensitive. |
522 | By default, this information is discarded. | ||
506 | .El | 523 | .El |
507 | .Pp | 524 | .Pp |
508 | The | 525 | The |
@@ -949,7 +966,7 @@ by | |||
949 | Allows X11 forwarding. | 966 | Allows X11 forwarding. |
950 | .Pp | 967 | .Pp |
951 | .It Ic no-touch-required | 968 | .It Ic no-touch-required |
952 | Do not require signatures made using this key require demonstration | 969 | Do not require signatures made using this key include demonstration |
953 | of user presence (e.g. by having the user touch the authenticator). | 970 | of user presence (e.g. by having the user touch the authenticator). |
954 | This option only makes sense for the FIDO authenticator algorithms | 971 | This option only makes sense for the FIDO authenticator algorithms |
955 | .Cm ecdsa-sk | 972 | .Cm ecdsa-sk |
@@ -962,6 +979,16 @@ The | |||
962 | .Ar address_list | 979 | .Ar address_list |
963 | is a comma-separated list of one or more address/netmask pairs in CIDR | 980 | is a comma-separated list of one or more address/netmask pairs in CIDR |
964 | format. | 981 | format. |
982 | .Pp | ||
983 | .It Ic verify-required | ||
984 | Require signatures made using this key indicate that the user was first | ||
985 | verified. | ||
986 | This option only makes sense for the FIDO authenticator algorithms | ||
987 | .Cm ecdsa-sk | ||
988 | and | ||
989 | .Cm ed25519-sk . | ||
990 | Currently PIN authentication is the only supported verification method, | ||
991 | but other methods may be supported in the future. | ||
965 | .El | 992 | .El |
966 | .Pp | 993 | .Pp |
967 | At present, no standard options are valid for host keys. | 994 | At present, no standard options are valid for host keys. |
diff --git a/ssh-keygen.c b/ssh-keygen.c index 2c5c75db7..a12b79a56 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keygen.c,v 1.409.2.1 2020/05/18 19:02:13 benno Exp $ */ | 1 | /* $OpenBSD: ssh-keygen.c,v 1.420 2020/09/09 03:08:01 djm 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 |
@@ -133,13 +133,13 @@ static char *certflags_command = NULL; | |||
133 | static char *certflags_src_addr = NULL; | 133 | static char *certflags_src_addr = NULL; |
134 | 134 | ||
135 | /* Arbitrary extensions specified by user */ | 135 | /* Arbitrary extensions specified by user */ |
136 | struct cert_userext { | 136 | struct cert_ext { |
137 | char *key; | 137 | char *key; |
138 | char *val; | 138 | char *val; |
139 | int crit; | 139 | int crit; |
140 | }; | 140 | }; |
141 | static struct cert_userext *cert_userext; | 141 | static struct cert_ext *cert_ext; |
142 | static size_t ncert_userext; | 142 | static size_t ncert_ext; |
143 | 143 | ||
144 | /* Conversion to/from various formats */ | 144 | /* Conversion to/from various formats */ |
145 | enum { | 145 | enum { |
@@ -589,7 +589,7 @@ do_convert_private_ssh2(struct sshbuf *b) | |||
589 | 589 | ||
590 | /* try the key */ | 590 | /* try the key */ |
591 | if (sshkey_sign(key, &sig, &slen, data, sizeof(data), | 591 | if (sshkey_sign(key, &sig, &slen, data, sizeof(data), |
592 | NULL, NULL, 0) != 0 || | 592 | NULL, NULL, NULL, 0) != 0 || |
593 | sshkey_verify(key, sig, slen, data, sizeof(data), | 593 | sshkey_verify(key, sig, slen, data, sizeof(data), |
594 | NULL, 0, NULL) != 0) { | 594 | NULL, 0, NULL) != 0) { |
595 | sshkey_free(key); | 595 | sshkey_free(key); |
@@ -815,10 +815,14 @@ do_print_public(struct passwd *pw) | |||
815 | prv = load_identity(identity_file, &comment); | 815 | prv = load_identity(identity_file, &comment); |
816 | if ((r = sshkey_write(prv, stdout)) != 0) | 816 | if ((r = sshkey_write(prv, stdout)) != 0) |
817 | error("sshkey_write failed: %s", ssh_err(r)); | 817 | error("sshkey_write failed: %s", ssh_err(r)); |
818 | sshkey_free(prv); | ||
819 | if (comment != NULL && *comment != '\0') | 818 | if (comment != NULL && *comment != '\0') |
820 | fprintf(stdout, " %s", comment); | 819 | fprintf(stdout, " %s", comment); |
821 | fprintf(stdout, "\n"); | 820 | fprintf(stdout, "\n"); |
821 | if (sshkey_is_sk(prv)) { | ||
822 | debug("sk_application: \"%s\", sk_flags 0x%02x", | ||
823 | prv->sk_application, prv->sk_flags); | ||
824 | } | ||
825 | sshkey_free(prv); | ||
822 | free(comment); | 826 | free(comment); |
823 | exit(0); | 827 | exit(0); |
824 | } | 828 | } |
@@ -1292,6 +1296,7 @@ do_known_hosts(struct passwd *pw, const char *name, int find_host, | |||
1292 | int r, fd, oerrno, inplace = 0; | 1296 | int r, fd, oerrno, inplace = 0; |
1293 | struct known_hosts_ctx ctx; | 1297 | struct known_hosts_ctx ctx; |
1294 | u_int foreach_options; | 1298 | u_int foreach_options; |
1299 | struct stat sb; | ||
1295 | 1300 | ||
1296 | if (!have_identity) { | 1301 | if (!have_identity) { |
1297 | cp = tilde_expand_filename(_PATH_SSH_USER_HOSTFILE, pw->pw_uid); | 1302 | cp = tilde_expand_filename(_PATH_SSH_USER_HOSTFILE, pw->pw_uid); |
@@ -1301,6 +1306,8 @@ do_known_hosts(struct passwd *pw, const char *name, int find_host, | |||
1301 | free(cp); | 1306 | free(cp); |
1302 | have_identity = 1; | 1307 | have_identity = 1; |
1303 | } | 1308 | } |
1309 | if (stat(identity_file, &sb) != 0) | ||
1310 | fatal("Cannot stat %s: %s", identity_file, strerror(errno)); | ||
1304 | 1311 | ||
1305 | memset(&ctx, 0, sizeof(ctx)); | 1312 | memset(&ctx, 0, sizeof(ctx)); |
1306 | ctx.out = stdout; | 1313 | ctx.out = stdout; |
@@ -1327,6 +1334,7 @@ do_known_hosts(struct passwd *pw, const char *name, int find_host, | |||
1327 | unlink(tmp); | 1334 | unlink(tmp); |
1328 | fatal("fdopen: %s", strerror(oerrno)); | 1335 | fatal("fdopen: %s", strerror(oerrno)); |
1329 | } | 1336 | } |
1337 | fchmod(fd, sb.st_mode & 0644); | ||
1330 | inplace = 1; | 1338 | inplace = 1; |
1331 | } | 1339 | } |
1332 | /* XXX support identity_file == "-" for stdin */ | 1340 | /* XXX support identity_file == "-" for stdin */ |
@@ -1597,31 +1605,32 @@ do_change_comment(struct passwd *pw, const char *identity_comment) | |||
1597 | } | 1605 | } |
1598 | 1606 | ||
1599 | static void | 1607 | static void |
1600 | add_flag_option(struct sshbuf *c, const char *name) | 1608 | cert_ext_add(const char *key, const char *value, int iscrit) |
1601 | { | 1609 | { |
1602 | int r; | 1610 | cert_ext = xreallocarray(cert_ext, ncert_ext + 1, sizeof(*cert_ext)); |
1603 | 1611 | cert_ext[ncert_ext].key = xstrdup(key); | |
1604 | debug3("%s: %s", __func__, name); | 1612 | cert_ext[ncert_ext].val = value == NULL ? NULL : xstrdup(value); |
1605 | if ((r = sshbuf_put_cstring(c, name)) != 0 || | 1613 | cert_ext[ncert_ext].crit = iscrit; |
1606 | (r = sshbuf_put_string(c, NULL, 0)) != 0) | 1614 | ncert_ext++; |
1607 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | ||
1608 | } | 1615 | } |
1609 | 1616 | ||
1610 | static void | 1617 | /* qsort(3) comparison function for certificate extensions */ |
1611 | add_string_option(struct sshbuf *c, const char *name, const char *value) | 1618 | static int |
1619 | cert_ext_cmp(const void *_a, const void *_b) | ||
1612 | { | 1620 | { |
1613 | struct sshbuf *b; | 1621 | const struct cert_ext *a = (const struct cert_ext *)_a; |
1622 | const struct cert_ext *b = (const struct cert_ext *)_b; | ||
1614 | int r; | 1623 | int r; |
1615 | 1624 | ||
1616 | debug3("%s: %s=%s", __func__, name, value); | 1625 | if (a->crit != b->crit) |
1617 | if ((b = sshbuf_new()) == NULL) | 1626 | return (a->crit < b->crit) ? -1 : 1; |
1618 | fatal("%s: sshbuf_new failed", __func__); | 1627 | if ((r = strcmp(a->key, b->key)) != 0) |
1619 | if ((r = sshbuf_put_cstring(b, value)) != 0 || | 1628 | return r; |
1620 | (r = sshbuf_put_cstring(c, name)) != 0 || | 1629 | if ((a->val == NULL) != (b->val == NULL)) |
1621 | (r = sshbuf_put_stringb(c, b)) != 0) | 1630 | return (a->val == NULL) ? -1 : 1; |
1622 | fatal("%s: buffer error: %s", __func__, ssh_err(r)); | 1631 | if (a->val != NULL && (r = strcmp(a->val, b->val)) != 0) |
1623 | 1632 | return r; | |
1624 | sshbuf_free(b); | 1633 | return 0; |
1625 | } | 1634 | } |
1626 | 1635 | ||
1627 | #define OPTIONS_CRITICAL 1 | 1636 | #define OPTIONS_CRITICAL 1 |
@@ -1629,44 +1638,62 @@ add_string_option(struct sshbuf *c, const char *name, const char *value) | |||
1629 | static void | 1638 | static void |
1630 | prepare_options_buf(struct sshbuf *c, int which) | 1639 | prepare_options_buf(struct sshbuf *c, int which) |
1631 | { | 1640 | { |
1641 | struct sshbuf *b; | ||
1632 | size_t i; | 1642 | size_t i; |
1643 | int r; | ||
1644 | const struct cert_ext *ext; | ||
1633 | 1645 | ||
1646 | if ((b = sshbuf_new()) == NULL) | ||
1647 | fatal("%s: sshbuf_new failed", __func__); | ||
1634 | sshbuf_reset(c); | 1648 | sshbuf_reset(c); |
1635 | if ((which & OPTIONS_CRITICAL) != 0 && | 1649 | for (i = 0; i < ncert_ext; i++) { |
1636 | certflags_command != NULL) | 1650 | ext = &cert_ext[i]; |
1637 | add_string_option(c, "force-command", certflags_command); | 1651 | if ((ext->crit && (which & OPTIONS_EXTENSIONS)) || |
1638 | if ((which & OPTIONS_EXTENSIONS) != 0 && | 1652 | (!ext->crit && (which & OPTIONS_CRITICAL))) |
1639 | (certflags_flags & CERTOPT_X_FWD) != 0) | ||
1640 | add_flag_option(c, "permit-X11-forwarding"); | ||
1641 | if ((which & OPTIONS_EXTENSIONS) != 0 && | ||
1642 | (certflags_flags & CERTOPT_AGENT_FWD) != 0) | ||
1643 | add_flag_option(c, "permit-agent-forwarding"); | ||
1644 | if ((which & OPTIONS_EXTENSIONS) != 0 && | ||
1645 | (certflags_flags & CERTOPT_PORT_FWD) != 0) | ||
1646 | add_flag_option(c, "permit-port-forwarding"); | ||
1647 | if ((which & OPTIONS_EXTENSIONS) != 0 && | ||
1648 | (certflags_flags & CERTOPT_PTY) != 0) | ||
1649 | add_flag_option(c, "permit-pty"); | ||
1650 | if ((which & OPTIONS_EXTENSIONS) != 0 && | ||
1651 | (certflags_flags & CERTOPT_USER_RC) != 0) | ||
1652 | add_flag_option(c, "permit-user-rc"); | ||
1653 | if ((which & OPTIONS_EXTENSIONS) != 0 && | ||
1654 | (certflags_flags & CERTOPT_NO_REQUIRE_USER_PRESENCE) != 0) | ||
1655 | add_flag_option(c, "no-touch-required"); | ||
1656 | if ((which & OPTIONS_CRITICAL) != 0 && | ||
1657 | certflags_src_addr != NULL) | ||
1658 | add_string_option(c, "source-address", certflags_src_addr); | ||
1659 | for (i = 0; i < ncert_userext; i++) { | ||
1660 | if ((cert_userext[i].crit && (which & OPTIONS_EXTENSIONS)) || | ||
1661 | (!cert_userext[i].crit && (which & OPTIONS_CRITICAL))) | ||
1662 | continue; | 1653 | continue; |
1663 | if (cert_userext[i].val == NULL) | 1654 | if (ext->val == NULL) { |
1664 | add_flag_option(c, cert_userext[i].key); | 1655 | /* flag option */ |
1665 | else { | 1656 | debug3("%s: %s", __func__, ext->key); |
1666 | add_string_option(c, cert_userext[i].key, | 1657 | if ((r = sshbuf_put_cstring(c, ext->key)) != 0 || |
1667 | cert_userext[i].val); | 1658 | (r = sshbuf_put_string(c, NULL, 0)) != 0) |
1659 | fatal("%s: buffer: %s", __func__, ssh_err(r)); | ||
1660 | } else { | ||
1661 | /* key/value option */ | ||
1662 | debug3("%s: %s=%s", __func__, ext->key, ext->val); | ||
1663 | sshbuf_reset(b); | ||
1664 | if ((r = sshbuf_put_cstring(c, ext->key)) != 0 || | ||
1665 | (r = sshbuf_put_cstring(b, ext->val)) != 0 || | ||
1666 | (r = sshbuf_put_stringb(c, b)) != 0) | ||
1667 | fatal("%s: buffer: %s", __func__, ssh_err(r)); | ||
1668 | } | 1668 | } |
1669 | } | 1669 | } |
1670 | sshbuf_free(b); | ||
1671 | } | ||
1672 | |||
1673 | static void | ||
1674 | finalise_cert_exts(void) | ||
1675 | { | ||
1676 | /* critical options */ | ||
1677 | if (certflags_command != NULL) | ||
1678 | cert_ext_add("force-command", certflags_command, 1); | ||
1679 | if (certflags_src_addr != NULL) | ||
1680 | cert_ext_add("source-address", certflags_src_addr, 1); | ||
1681 | /* extensions */ | ||
1682 | if ((certflags_flags & CERTOPT_X_FWD) != 0) | ||
1683 | cert_ext_add("permit-X11-forwarding", NULL, 0); | ||
1684 | if ((certflags_flags & CERTOPT_AGENT_FWD) != 0) | ||
1685 | cert_ext_add("permit-agent-forwarding", NULL, 0); | ||
1686 | if ((certflags_flags & CERTOPT_PORT_FWD) != 0) | ||
1687 | cert_ext_add("permit-port-forwarding", NULL, 0); | ||
1688 | if ((certflags_flags & CERTOPT_PTY) != 0) | ||
1689 | cert_ext_add("permit-pty", NULL, 0); | ||
1690 | if ((certflags_flags & CERTOPT_USER_RC) != 0) | ||
1691 | cert_ext_add("permit-user-rc", NULL, 0); | ||
1692 | if ((certflags_flags & CERTOPT_NO_REQUIRE_USER_PRESENCE) != 0) | ||
1693 | cert_ext_add("no-touch-required", NULL, 0); | ||
1694 | /* order lexically by key */ | ||
1695 | if (ncert_ext > 0) | ||
1696 | qsort(cert_ext, ncert_ext, sizeof(*cert_ext), cert_ext_cmp); | ||
1670 | } | 1697 | } |
1671 | 1698 | ||
1672 | static struct sshkey * | 1699 | static struct sshkey * |
@@ -1704,7 +1731,8 @@ load_pkcs11_key(char *path) | |||
1704 | static int | 1731 | static int |
1705 | agent_signer(struct sshkey *key, u_char **sigp, size_t *lenp, | 1732 | agent_signer(struct sshkey *key, u_char **sigp, size_t *lenp, |
1706 | const u_char *data, size_t datalen, | 1733 | const u_char *data, size_t datalen, |
1707 | const char *alg, const char *provider, u_int compat, void *ctx) | 1734 | const char *alg, const char *provider, const char *pin, |
1735 | u_int compat, void *ctx) | ||
1708 | { | 1736 | { |
1709 | int *agent_fdp = (int *)ctx; | 1737 | int *agent_fdp = (int *)ctx; |
1710 | 1738 | ||
@@ -1721,7 +1749,7 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1721 | u_int n; | 1749 | u_int n; |
1722 | struct sshkey *ca, *public; | 1750 | struct sshkey *ca, *public; |
1723 | char valid[64], *otmp, *tmp, *cp, *out, *comment; | 1751 | char valid[64], *otmp, *tmp, *cp, *out, *comment; |
1724 | char *ca_fp = NULL, **plist = NULL; | 1752 | char *ca_fp = NULL, **plist = NULL, *pin = NULL; |
1725 | struct ssh_identitylist *agent_ids; | 1753 | struct ssh_identitylist *agent_ids; |
1726 | size_t j; | 1754 | size_t j; |
1727 | struct notifier_ctx *notifier = NULL; | 1755 | struct notifier_ctx *notifier = NULL; |
@@ -1762,6 +1790,12 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1762 | } else { | 1790 | } else { |
1763 | /* CA key is assumed to be a private key on the filesystem */ | 1791 | /* CA key is assumed to be a private key on the filesystem */ |
1764 | ca = load_identity(tmp, NULL); | 1792 | ca = load_identity(tmp, NULL); |
1793 | if (sshkey_is_sk(ca) && | ||
1794 | (ca->sk_flags & SSH_SK_USER_VERIFICATION_REQD)) { | ||
1795 | if ((pin = read_passphrase("Enter PIN for CA key: ", | ||
1796 | RP_ALLOW_STDIN)) == NULL) | ||
1797 | fatal("%s: couldn't read PIN", __func__); | ||
1798 | } | ||
1765 | } | 1799 | } |
1766 | free(tmp); | 1800 | free(tmp); |
1767 | 1801 | ||
@@ -1776,6 +1810,7 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1776 | } | 1810 | } |
1777 | ca_fp = sshkey_fingerprint(ca, fingerprint_hash, SSH_FP_DEFAULT); | 1811 | ca_fp = sshkey_fingerprint(ca, fingerprint_hash, SSH_FP_DEFAULT); |
1778 | 1812 | ||
1813 | finalise_cert_exts(); | ||
1779 | for (i = 0; i < argc; i++) { | 1814 | for (i = 0; i < argc; i++) { |
1780 | /* Split list of principals */ | 1815 | /* Split list of principals */ |
1781 | n = 0; | 1816 | n = 0; |
@@ -1820,7 +1855,7 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1820 | 1855 | ||
1821 | if (agent_fd != -1 && (ca->flags & SSHKEY_FLAG_EXT) != 0) { | 1856 | if (agent_fd != -1 && (ca->flags & SSHKEY_FLAG_EXT) != 0) { |
1822 | if ((r = sshkey_certify_custom(public, ca, | 1857 | if ((r = sshkey_certify_custom(public, ca, |
1823 | key_type_name, sk_provider, agent_signer, | 1858 | key_type_name, sk_provider, NULL, agent_signer, |
1824 | &agent_fd)) != 0) | 1859 | &agent_fd)) != 0) |
1825 | fatal("Couldn't certify key %s via agent: %s", | 1860 | fatal("Couldn't certify key %s via agent: %s", |
1826 | tmp, ssh_err(r)); | 1861 | tmp, ssh_err(r)); |
@@ -1832,7 +1867,7 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1832 | sshkey_type(ca), ca_fp); | 1867 | sshkey_type(ca), ca_fp); |
1833 | } | 1868 | } |
1834 | r = sshkey_certify(public, ca, key_type_name, | 1869 | r = sshkey_certify(public, ca, key_type_name, |
1835 | sk_provider); | 1870 | sk_provider, pin); |
1836 | notify_complete(notifier); | 1871 | notify_complete(notifier); |
1837 | if (r != 0) | 1872 | if (r != 0) |
1838 | fatal("Couldn't certify key %s: %s", | 1873 | fatal("Couldn't certify key %s: %s", |
@@ -1866,6 +1901,8 @@ do_ca_sign(struct passwd *pw, const char *ca_key_path, int prefer_agent, | |||
1866 | if (cert_serial_autoinc) | 1901 | if (cert_serial_autoinc) |
1867 | cert_serial++; | 1902 | cert_serial++; |
1868 | } | 1903 | } |
1904 | if (pin != NULL) | ||
1905 | freezero(pin, strlen(pin)); | ||
1869 | free(ca_fp); | 1906 | free(ca_fp); |
1870 | #ifdef ENABLE_PKCS11 | 1907 | #ifdef ENABLE_PKCS11 |
1871 | pkcs11_terminate(); | 1908 | pkcs11_terminate(); |
@@ -1990,13 +2027,8 @@ add_cert_option(char *opt) | |||
1990 | val = xstrdup(strchr(opt, ':') + 1); | 2027 | val = xstrdup(strchr(opt, ':') + 1); |
1991 | if ((cp = strchr(val, '=')) != NULL) | 2028 | if ((cp = strchr(val, '=')) != NULL) |
1992 | *cp++ = '\0'; | 2029 | *cp++ = '\0'; |
1993 | cert_userext = xreallocarray(cert_userext, ncert_userext + 1, | 2030 | cert_ext_add(val, cp, iscrit); |
1994 | sizeof(*cert_userext)); | 2031 | free(val); |
1995 | cert_userext[ncert_userext].key = val; | ||
1996 | cert_userext[ncert_userext].val = cp == NULL ? | ||
1997 | NULL : xstrdup(cp); | ||
1998 | cert_userext[ncert_userext].crit = iscrit; | ||
1999 | ncert_userext++; | ||
2000 | } else | 2032 | } else |
2001 | fatal("Unsupported certificate option \"%s\"", opt); | 2033 | fatal("Unsupported certificate option \"%s\"", opt); |
2002 | } | 2034 | } |
@@ -2004,7 +2036,7 @@ add_cert_option(char *opt) | |||
2004 | static void | 2036 | static void |
2005 | show_options(struct sshbuf *optbuf, int in_critical) | 2037 | show_options(struct sshbuf *optbuf, int in_critical) |
2006 | { | 2038 | { |
2007 | char *name, *arg; | 2039 | char *name, *arg, *hex; |
2008 | struct sshbuf *options, *option = NULL; | 2040 | struct sshbuf *options, *option = NULL; |
2009 | int r; | 2041 | int r; |
2010 | 2042 | ||
@@ -2033,11 +2065,14 @@ show_options(struct sshbuf *optbuf, int in_critical) | |||
2033 | __func__, ssh_err(r)); | 2065 | __func__, ssh_err(r)); |
2034 | printf(" %s\n", arg); | 2066 | printf(" %s\n", arg); |
2035 | free(arg); | 2067 | free(arg); |
2036 | } else { | 2068 | } else if (sshbuf_len(option) > 0) { |
2037 | printf(" UNKNOWN OPTION (len %zu)\n", | 2069 | hex = sshbuf_dtob16(option); |
2038 | sshbuf_len(option)); | 2070 | printf(" UNKNOWN OPTION: %s (len %zu)\n", |
2071 | hex, sshbuf_len(option)); | ||
2039 | sshbuf_reset(option); | 2072 | sshbuf_reset(option); |
2040 | } | 2073 | free(hex); |
2074 | } else | ||
2075 | printf(" UNKNOWN FLAG OPTION\n"); | ||
2041 | free(name); | 2076 | free(name); |
2042 | if (sshbuf_len(option) != 0) | 2077 | if (sshbuf_len(option) != 0) |
2043 | fatal("Option corrupt: extra data at end"); | 2078 | fatal("Option corrupt: extra data at end"); |
@@ -2504,6 +2539,7 @@ sign_one(struct sshkey *signkey, const char *filename, int fd, | |||
2504 | struct sshbuf *sigbuf = NULL, *abuf = NULL; | 2539 | struct sshbuf *sigbuf = NULL, *abuf = NULL; |
2505 | int r = SSH_ERR_INTERNAL_ERROR, wfd = -1, oerrno; | 2540 | int r = SSH_ERR_INTERNAL_ERROR, wfd = -1, oerrno; |
2506 | char *wfile = NULL, *asig = NULL, *fp = NULL; | 2541 | char *wfile = NULL, *asig = NULL, *fp = NULL; |
2542 | char *pin = NULL, *prompt = NULL; | ||
2507 | 2543 | ||
2508 | if (!quiet) { | 2544 | if (!quiet) { |
2509 | if (fd == STDIN_FILENO) | 2545 | if (fd == STDIN_FILENO) |
@@ -2511,17 +2547,25 @@ sign_one(struct sshkey *signkey, const char *filename, int fd, | |||
2511 | else | 2547 | else |
2512 | fprintf(stderr, "Signing file %s\n", filename); | 2548 | fprintf(stderr, "Signing file %s\n", filename); |
2513 | } | 2549 | } |
2514 | if (signer == NULL && sshkey_is_sk(signkey) && | 2550 | if (signer == NULL && sshkey_is_sk(signkey)) { |
2515 | (signkey->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { | 2551 | if ((signkey->sk_flags & SSH_SK_USER_VERIFICATION_REQD)) { |
2516 | if ((fp = sshkey_fingerprint(signkey, fingerprint_hash, | 2552 | xasprintf(&prompt, "Enter PIN for %s key: ", |
2517 | SSH_FP_DEFAULT)) == NULL) | 2553 | sshkey_type(signkey)); |
2518 | fatal("%s: sshkey_fingerprint failed", __func__); | 2554 | if ((pin = read_passphrase(prompt, |
2519 | fprintf(stderr, "Confirm user presence for key %s %s\n", | 2555 | RP_ALLOW_STDIN)) == NULL) |
2520 | sshkey_type(signkey), fp); | 2556 | fatal("%s: couldn't read PIN", __func__); |
2521 | free(fp); | 2557 | } |
2558 | if ((signkey->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { | ||
2559 | if ((fp = sshkey_fingerprint(signkey, fingerprint_hash, | ||
2560 | SSH_FP_DEFAULT)) == NULL) | ||
2561 | fatal("%s: fingerprint failed", __func__); | ||
2562 | fprintf(stderr, "Confirm user presence for key %s %s\n", | ||
2563 | sshkey_type(signkey), fp); | ||
2564 | free(fp); | ||
2565 | } | ||
2522 | } | 2566 | } |
2523 | if ((r = sshsig_sign_fd(signkey, NULL, sk_provider, fd, sig_namespace, | 2567 | if ((r = sshsig_sign_fd(signkey, NULL, sk_provider, pin, |
2524 | &sigbuf, signer, signer_ctx)) != 0) { | 2568 | fd, sig_namespace, &sigbuf, signer, signer_ctx)) != 0) { |
2525 | error("Signing %s failed: %s", filename, ssh_err(r)); | 2569 | error("Signing %s failed: %s", filename, ssh_err(r)); |
2526 | goto out; | 2570 | goto out; |
2527 | } | 2571 | } |
@@ -2569,7 +2613,10 @@ sign_one(struct sshkey *signkey, const char *filename, int fd, | |||
2569 | r = 0; | 2613 | r = 0; |
2570 | out: | 2614 | out: |
2571 | free(wfile); | 2615 | free(wfile); |
2616 | free(prompt); | ||
2572 | free(asig); | 2617 | free(asig); |
2618 | if (pin != NULL) | ||
2619 | freezero(pin, strlen(pin)); | ||
2573 | sshbuf_free(abuf); | 2620 | sshbuf_free(abuf); |
2574 | sshbuf_free(sigbuf); | 2621 | sshbuf_free(sigbuf); |
2575 | if (wfd != -1) | 2622 | if (wfd != -1) |
@@ -2934,27 +2981,24 @@ do_download_sk(const char *skprovider, const char *device) | |||
2934 | { | 2981 | { |
2935 | struct sshkey **keys; | 2982 | struct sshkey **keys; |
2936 | size_t nkeys, i; | 2983 | size_t nkeys, i; |
2937 | int r, ok = -1; | 2984 | int r, ret = -1; |
2938 | char *fp, *pin = NULL, *pass = NULL, *path, *pubpath; | 2985 | char *fp, *pin = NULL, *pass = NULL, *path, *pubpath; |
2939 | const char *ext; | 2986 | const char *ext; |
2940 | 2987 | ||
2941 | if (skprovider == NULL) | 2988 | if (skprovider == NULL) |
2942 | fatal("Cannot download keys without provider"); | 2989 | fatal("Cannot download keys without provider"); |
2943 | 2990 | ||
2944 | for (i = 0; i < 2; i++) { | 2991 | pin = read_passphrase("Enter PIN for authenticator: ", RP_ALLOW_STDIN); |
2945 | if (i == 1) { | 2992 | if (!quiet) { |
2946 | pin = read_passphrase("Enter PIN for authenticator: ", | 2993 | printf("You may need to touch your authenticator " |
2947 | RP_ALLOW_STDIN); | 2994 | "to authorize key download.\n"); |
2948 | } | 2995 | } |
2949 | if ((r = sshsk_load_resident(skprovider, device, pin, | 2996 | if ((r = sshsk_load_resident(skprovider, device, pin, |
2950 | &keys, &nkeys)) != 0) { | 2997 | &keys, &nkeys)) != 0) { |
2951 | if (i == 0 && r == SSH_ERR_KEY_WRONG_PASSPHRASE) | 2998 | if (pin != NULL) |
2952 | continue; | 2999 | freezero(pin, strlen(pin)); |
2953 | if (pin != NULL) | 3000 | error("Unable to load resident keys: %s", ssh_err(r)); |
2954 | freezero(pin, strlen(pin)); | 3001 | return -1; |
2955 | error("Unable to load resident keys: %s", ssh_err(r)); | ||
2956 | return -1; | ||
2957 | } | ||
2958 | } | 3002 | } |
2959 | if (nkeys == 0) | 3003 | if (nkeys == 0) |
2960 | logit("No keys to download"); | 3004 | logit("No keys to download"); |
@@ -3018,28 +3062,50 @@ do_download_sk(const char *skprovider, const char *device) | |||
3018 | } | 3062 | } |
3019 | 3063 | ||
3020 | if (i >= nkeys) | 3064 | if (i >= nkeys) |
3021 | ok = 0; /* success */ | 3065 | ret = 0; /* success */ |
3022 | if (pass != NULL) | 3066 | if (pass != NULL) |
3023 | freezero(pass, strlen(pass)); | 3067 | freezero(pass, strlen(pass)); |
3024 | for (i = 0; i < nkeys; i++) | 3068 | for (i = 0; i < nkeys; i++) |
3025 | sshkey_free(keys[i]); | 3069 | sshkey_free(keys[i]); |
3026 | free(keys); | 3070 | free(keys); |
3027 | return ok ? 0 : -1; | 3071 | return ret; |
3072 | } | ||
3073 | |||
3074 | static void | ||
3075 | save_attestation(struct sshbuf *attest, const char *path) | ||
3076 | { | ||
3077 | mode_t omask; | ||
3078 | int r; | ||
3079 | |||
3080 | if (path == NULL) | ||
3081 | return; /* nothing to do */ | ||
3082 | if (attest == NULL || sshbuf_len(attest) == 0) | ||
3083 | fatal("Enrollment did not return attestation data"); | ||
3084 | omask = umask(077); | ||
3085 | r = sshbuf_write_file(path, attest); | ||
3086 | umask(omask); | ||
3087 | if (r != 0) | ||
3088 | fatal("Unable to write attestation data \"%s\": %s", path, | ||
3089 | ssh_err(r)); | ||
3090 | if (!quiet) | ||
3091 | printf("Your FIDO attestation certificate has been saved in " | ||
3092 | "%s\n", path); | ||
3028 | } | 3093 | } |
3029 | 3094 | ||
3030 | static void | 3095 | static void |
3031 | usage(void) | 3096 | usage(void) |
3032 | { | 3097 | { |
3033 | fprintf(stderr, | 3098 | fprintf(stderr, |
3034 | "usage: ssh-keygen [-q] [-b bits] [-C comment] [-f output_keyfile] [-m format]\n" | 3099 | "usage: ssh-keygen [-q] [-a rounds] [-b bits] [-C comment] [-f output_keyfile]\n" |
3100 | " [-m format] [-N new_passphrase] [-O option]\n" | ||
3035 | " [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]\n" | 3101 | " [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]\n" |
3036 | " [-N new_passphrase] [-O option] [-w provider]\n" | 3102 | " [-w provider]\n" |
3037 | " ssh-keygen -p [-f keyfile] [-m format] [-N new_passphrase]\n" | 3103 | " ssh-keygen -p [-a rounds] [-f keyfile] [-m format] [-N new_passphrase]\n" |
3038 | " [-P old_passphrase]\n" | 3104 | " [-P old_passphrase]\n" |
3039 | " ssh-keygen -i [-f input_keyfile] [-m key_format]\n" | 3105 | " ssh-keygen -i [-f input_keyfile] [-m key_format]\n" |
3040 | " ssh-keygen -e [-f input_keyfile] [-m key_format]\n" | 3106 | " ssh-keygen -e [-f input_keyfile] [-m key_format]\n" |
3041 | " ssh-keygen -y [-f input_keyfile]\n" | 3107 | " ssh-keygen -y [-f input_keyfile]\n" |
3042 | " ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase]\n" | 3108 | " ssh-keygen -c [-a rounds] [-C comment] [-f keyfile] [-P passphrase]\n" |
3043 | " ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]\n" | 3109 | " ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]\n" |
3044 | " ssh-keygen -B [-f input_keyfile]\n"); | 3110 | " ssh-keygen -B [-f input_keyfile]\n"); |
3045 | #ifdef ENABLE_PKCS11 | 3111 | #ifdef ENABLE_PKCS11 |
@@ -3049,7 +3115,7 @@ usage(void) | |||
3049 | fprintf(stderr, | 3115 | fprintf(stderr, |
3050 | " ssh-keygen -F hostname [-lv] [-f known_hosts_file]\n" | 3116 | " ssh-keygen -F hostname [-lv] [-f known_hosts_file]\n" |
3051 | " ssh-keygen -H [-f known_hosts_file]\n" | 3117 | " ssh-keygen -H [-f known_hosts_file]\n" |
3052 | " ssh-keygen -K [-w provider]\n" | 3118 | " ssh-keygen -K [-a rounds] [-w provider]\n" |
3053 | " ssh-keygen -R hostname [-f known_hosts_file]\n" | 3119 | " ssh-keygen -R hostname [-f known_hosts_file]\n" |
3054 | " ssh-keygen -r hostname [-g] [-f input_keyfile]\n" | 3120 | " ssh-keygen -r hostname [-g] [-f input_keyfile]\n" |
3055 | #ifdef WITH_OPENSSL | 3121 | #ifdef WITH_OPENSSL |
@@ -3060,7 +3126,7 @@ usage(void) | |||
3060 | " [-n principals] [-O option] [-V validity_interval]\n" | 3126 | " [-n principals] [-O option] [-V validity_interval]\n" |
3061 | " [-z serial_number] file ...\n" | 3127 | " [-z serial_number] file ...\n" |
3062 | " ssh-keygen -L [-f input_keyfile]\n" | 3128 | " ssh-keygen -L [-f input_keyfile]\n" |
3063 | " ssh-keygen -A [-f prefix_path]\n" | 3129 | " ssh-keygen -A [-a rounds] [-f prefix_path]\n" |
3064 | " ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]\n" | 3130 | " ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]\n" |
3065 | " file ...\n" | 3131 | " file ...\n" |
3066 | " ssh-keygen -Q [-l] -f krl_file [file ...]\n" | 3132 | " ssh-keygen -Q [-l] -f krl_file [file ...]\n" |
@@ -3078,11 +3144,10 @@ usage(void) | |||
3078 | int | 3144 | int |
3079 | main(int argc, char **argv) | 3145 | main(int argc, char **argv) |
3080 | { | 3146 | { |
3081 | char dotsshdir[PATH_MAX], comment[1024], *passphrase; | 3147 | char comment[1024], *passphrase; |
3082 | char *rr_hostname = NULL, *ep, *fp, *ra; | 3148 | char *rr_hostname = NULL, *ep, *fp, *ra; |
3083 | struct sshkey *private, *public; | 3149 | struct sshkey *private, *public; |
3084 | struct passwd *pw; | 3150 | struct passwd *pw; |
3085 | struct stat st; | ||
3086 | int r, opt, type; | 3151 | int r, opt, type; |
3087 | int change_passphrase = 0, change_comment = 0, show_cert = 0; | 3152 | int change_passphrase = 0, change_comment = 0, show_cert = 0; |
3088 | int find_host = 0, delete_host = 0, hash_hosts = 0; | 3153 | int find_host = 0, delete_host = 0, hash_hosts = 0; |
@@ -3093,7 +3158,7 @@ main(int argc, char **argv) | |||
3093 | unsigned long long cert_serial = 0; | 3158 | unsigned long long cert_serial = 0; |
3094 | char *identity_comment = NULL, *ca_key_path = NULL, **opts = NULL; | 3159 | char *identity_comment = NULL, *ca_key_path = NULL, **opts = NULL; |
3095 | char *sk_application = NULL, *sk_device = NULL, *sk_user = NULL; | 3160 | char *sk_application = NULL, *sk_device = NULL, *sk_user = NULL; |
3096 | char *sk_attestaion_path = NULL; | 3161 | char *sk_attestation_path = NULL; |
3097 | struct sshbuf *challenge = NULL, *attest = NULL; | 3162 | struct sshbuf *challenge = NULL, *attest = NULL; |
3098 | size_t i, nopts = 0; | 3163 | size_t i, nopts = 0; |
3099 | u_int32_t bits = 0; | 3164 | u_int32_t bits = 0; |
@@ -3532,6 +3597,8 @@ main(int argc, char **argv) | |||
3532 | for (i = 0; i < nopts; i++) { | 3597 | for (i = 0; i < nopts; i++) { |
3533 | if (strcasecmp(opts[i], "no-touch-required") == 0) { | 3598 | if (strcasecmp(opts[i], "no-touch-required") == 0) { |
3534 | sk_flags &= ~SSH_SK_USER_PRESENCE_REQD; | 3599 | sk_flags &= ~SSH_SK_USER_PRESENCE_REQD; |
3600 | } else if (strcasecmp(opts[i], "verify-required") == 0) { | ||
3601 | sk_flags |= SSH_SK_USER_VERIFICATION_REQD; | ||
3535 | } else if (strcasecmp(opts[i], "resident") == 0) { | 3602 | } else if (strcasecmp(opts[i], "resident") == 0) { |
3536 | sk_flags |= SSH_SK_RESIDENT_KEY; | 3603 | sk_flags |= SSH_SK_RESIDENT_KEY; |
3537 | } else if (strncasecmp(opts[i], "device=", 7) == 0) { | 3604 | } else if (strncasecmp(opts[i], "device=", 7) == 0) { |
@@ -3547,7 +3614,7 @@ main(int argc, char **argv) | |||
3547 | } | 3614 | } |
3548 | } else if (strncasecmp(opts[i], | 3615 | } else if (strncasecmp(opts[i], |
3549 | "write-attestation=", 18) == 0) { | 3616 | "write-attestation=", 18) == 0) { |
3550 | sk_attestaion_path = opts[i] + 18; | 3617 | sk_attestation_path = opts[i] + 18; |
3551 | } else if (strncasecmp(opts[i], | 3618 | } else if (strncasecmp(opts[i], |
3552 | "application=", 12) == 0) { | 3619 | "application=", 12) == 0) { |
3553 | sk_application = xstrdup(opts[i] + 12); | 3620 | sk_application = xstrdup(opts[i] + 12); |
@@ -3564,9 +3631,15 @@ main(int argc, char **argv) | |||
3564 | printf("You may need to touch your authenticator " | 3631 | printf("You may need to touch your authenticator " |
3565 | "to authorize key generation.\n"); | 3632 | "to authorize key generation.\n"); |
3566 | } | 3633 | } |
3567 | passphrase = NULL; | ||
3568 | if ((attest = sshbuf_new()) == NULL) | 3634 | if ((attest = sshbuf_new()) == NULL) |
3569 | fatal("sshbuf_new failed"); | 3635 | fatal("sshbuf_new failed"); |
3636 | if ((sk_flags & | ||
3637 | (SSH_SK_USER_VERIFICATION_REQD|SSH_SK_RESIDENT_KEY))) { | ||
3638 | passphrase = read_passphrase("Enter PIN for " | ||
3639 | "authenticator: ", RP_ALLOW_STDIN); | ||
3640 | } else { | ||
3641 | passphrase = NULL; | ||
3642 | } | ||
3570 | for (i = 0 ; ; i++) { | 3643 | for (i = 0 ; ; i++) { |
3571 | fflush(stdout); | 3644 | fflush(stdout); |
3572 | r = sshsk_enroll(type, sk_provider, sk_device, | 3645 | r = sshsk_enroll(type, sk_provider, sk_device, |
@@ -3577,9 +3650,8 @@ main(int argc, char **argv) | |||
3577 | break; | 3650 | break; |
3578 | if (r != SSH_ERR_KEY_WRONG_PASSPHRASE) | 3651 | if (r != SSH_ERR_KEY_WRONG_PASSPHRASE) |
3579 | fatal("Key enrollment failed: %s", ssh_err(r)); | 3652 | fatal("Key enrollment failed: %s", ssh_err(r)); |
3580 | else if (i > 0) | 3653 | else if (passphrase != NULL) { |
3581 | error("PIN incorrect"); | 3654 | error("PIN incorrect"); |
3582 | if (passphrase != NULL) { | ||
3583 | freezero(passphrase, strlen(passphrase)); | 3655 | freezero(passphrase, strlen(passphrase)); |
3584 | passphrase = NULL; | 3656 | passphrase = NULL; |
3585 | } | 3657 | } |
@@ -3587,6 +3659,11 @@ main(int argc, char **argv) | |||
3587 | fatal("Too many incorrect PINs"); | 3659 | fatal("Too many incorrect PINs"); |
3588 | passphrase = read_passphrase("Enter PIN for " | 3660 | passphrase = read_passphrase("Enter PIN for " |
3589 | "authenticator: ", RP_ALLOW_STDIN); | 3661 | "authenticator: ", RP_ALLOW_STDIN); |
3662 | if (!quiet) { | ||
3663 | printf("You may need to touch your " | ||
3664 | "authenticator (again) to authorize " | ||
3665 | "key generation.\n"); | ||
3666 | } | ||
3590 | } | 3667 | } |
3591 | if (passphrase != NULL) { | 3668 | if (passphrase != NULL) { |
3592 | freezero(passphrase, strlen(passphrase)); | 3669 | freezero(passphrase, strlen(passphrase)); |
@@ -3605,20 +3682,8 @@ main(int argc, char **argv) | |||
3605 | ask_filename(pw, "Enter file in which to save the key"); | 3682 | ask_filename(pw, "Enter file in which to save the key"); |
3606 | 3683 | ||
3607 | /* Create ~/.ssh directory if it doesn't already exist. */ | 3684 | /* Create ~/.ssh directory if it doesn't already exist. */ |
3608 | snprintf(dotsshdir, sizeof dotsshdir, "%s/%s", | 3685 | hostfile_create_user_ssh_dir(identity_file, !quiet); |
3609 | pw->pw_dir, _PATH_SSH_USER_DIR); | 3686 | |
3610 | if (strstr(identity_file, dotsshdir) != NULL) { | ||
3611 | if (stat(dotsshdir, &st) == -1) { | ||
3612 | if (errno != ENOENT) { | ||
3613 | error("Could not stat %s: %s", dotsshdir, | ||
3614 | strerror(errno)); | ||
3615 | } else if (mkdir(dotsshdir, 0700) == -1) { | ||
3616 | error("Could not create directory '%s': %s", | ||
3617 | dotsshdir, strerror(errno)); | ||
3618 | } else if (!quiet) | ||
3619 | printf("Created directory '%s'.\n", dotsshdir); | ||
3620 | } | ||
3621 | } | ||
3622 | /* If the file already exists, ask the user to confirm. */ | 3687 | /* If the file already exists, ask the user to confirm. */ |
3623 | if (!confirm_overwrite(identity_file)) | 3688 | if (!confirm_overwrite(identity_file)) |
3624 | exit(1); | 3689 | exit(1); |
@@ -3671,20 +3736,9 @@ main(int argc, char **argv) | |||
3671 | free(fp); | 3736 | free(fp); |
3672 | } | 3737 | } |
3673 | 3738 | ||
3674 | if (sk_attestaion_path != NULL) { | 3739 | if (sk_attestation_path != NULL) |
3675 | if (attest == NULL || sshbuf_len(attest) == 0) { | 3740 | save_attestation(attest, sk_attestation_path); |
3676 | fatal("Enrollment did not return attestation " | 3741 | |
3677 | "certificate"); | ||
3678 | } | ||
3679 | if ((r = sshbuf_write_file(sk_attestaion_path, attest)) != 0) { | ||
3680 | fatal("Unable to write attestation certificate " | ||
3681 | "\"%s\": %s", sk_attestaion_path, ssh_err(r)); | ||
3682 | } | ||
3683 | if (!quiet) { | ||
3684 | printf("Your FIDO attestation certificate has been " | ||
3685 | "saved in %s\n", sk_attestaion_path); | ||
3686 | } | ||
3687 | } | ||
3688 | sshbuf_free(attest); | 3742 | sshbuf_free(attest); |
3689 | sshkey_free(public); | 3743 | sshkey_free(public); |
3690 | 3744 | ||
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0 index 3bf9fa3aa..1a5fefcbf 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 | ||
96 | OpenBSD 6.7 November 30, 2019 OpenBSD 6.7 | 96 | OpenBSD 6.8 November 30, 2019 OpenBSD 6.8 |
diff --git a/ssh-keyscan.c b/ssh-keyscan.c index a5e644076..ca190428a 100644 --- a/ssh-keyscan.c +++ b/ssh-keyscan.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keyscan.c,v 1.131 2019/12/15 19:47:10 djm Exp $ */ | 1 | /* $OpenBSD: ssh-keyscan.c,v 1.132 2020/08/12 01:23:45 cheloha Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. | 3 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. |
4 | * | 4 | * |
@@ -584,16 +584,9 @@ conloop(void) | |||
584 | monotime_tv(&now); | 584 | monotime_tv(&now); |
585 | c = TAILQ_FIRST(&tq); | 585 | c = TAILQ_FIRST(&tq); |
586 | 586 | ||
587 | if (c && (c->c_tv.tv_sec > now.tv_sec || | 587 | if (c && timercmp(&c->c_tv, &now, >)) |
588 | (c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec > now.tv_usec))) { | 588 | timersub(&c->c_tv, &now, &seltime); |
589 | seltime = c->c_tv; | 589 | else |
590 | seltime.tv_sec -= now.tv_sec; | ||
591 | seltime.tv_usec -= now.tv_usec; | ||
592 | if (seltime.tv_usec < 0) { | ||
593 | seltime.tv_usec += 1000000; | ||
594 | seltime.tv_sec--; | ||
595 | } | ||
596 | } else | ||
597 | timerclear(&seltime); | 590 | timerclear(&seltime); |
598 | 591 | ||
599 | r = xcalloc(read_wait_nfdset, sizeof(fd_mask)); | 592 | r = xcalloc(read_wait_nfdset, sizeof(fd_mask)); |
@@ -616,8 +609,7 @@ conloop(void) | |||
616 | free(e); | 609 | free(e); |
617 | 610 | ||
618 | c = TAILQ_FIRST(&tq); | 611 | c = TAILQ_FIRST(&tq); |
619 | while (c && (c->c_tv.tv_sec < now.tv_sec || | 612 | while (c && timercmp(&c->c_tv, &now, <)) { |
620 | (c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec < now.tv_usec))) { | ||
621 | int s = c->c_fd; | 613 | int s = c->c_fd; |
622 | 614 | ||
623 | c = TAILQ_NEXT(c, c_link); | 615 | c = TAILQ_NEXT(c, c_link); |
diff --git a/ssh-keysign.0 b/ssh-keysign.0 index c2a5dfdb1..b4ec3cc64 100644 --- a/ssh-keysign.0 +++ b/ssh-keysign.0 | |||
@@ -49,4 +49,4 @@ HISTORY | |||
49 | AUTHORS | 49 | AUTHORS |
50 | Markus Friedl <markus@openbsd.org> | 50 | Markus Friedl <markus@openbsd.org> |
51 | 51 | ||
52 | OpenBSD 6.7 November 30, 2019 OpenBSD 6.7 | 52 | OpenBSD 6.8 November 30, 2019 OpenBSD 6.8 |
diff --git a/ssh-keysign.c b/ssh-keysign.c index 3e3ea3e14..7991e0f01 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keysign.c,v 1.63 2019/11/18 16:10:05 naddy Exp $ */ | 1 | /* $OpenBSD: ssh-keysign.c,v 1.64 2020/08/27 01:06:18 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2002 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2002 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -278,7 +278,7 @@ main(int argc, char **argv) | |||
278 | } | 278 | } |
279 | 279 | ||
280 | if ((r = sshkey_sign(keys[i], &signature, &slen, data, dlen, | 280 | if ((r = sshkey_sign(keys[i], &signature, &slen, data, dlen, |
281 | NULL, NULL, 0)) != 0) | 281 | NULL, NULL, NULL, 0)) != 0) |
282 | fatal("sshkey_sign failed: %s", ssh_err(r)); | 282 | fatal("sshkey_sign failed: %s", ssh_err(r)); |
283 | free(data); | 283 | free(data); |
284 | 284 | ||
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0 index c6698046d..973b551a5 100644 --- a/ssh-pkcs11-helper.0 +++ b/ssh-pkcs11-helper.0 | |||
@@ -32,4 +32,4 @@ HISTORY | |||
32 | AUTHORS | 32 | AUTHORS |
33 | Markus Friedl <markus@openbsd.org> | 33 | Markus Friedl <markus@openbsd.org> |
34 | 34 | ||
35 | OpenBSD 6.7 November 30, 2019 OpenBSD 6.7 | 35 | OpenBSD 6.8 November 30, 2019 OpenBSD 6.8 |
diff --git a/ssh-pkcs11.c b/ssh-pkcs11.c index ec0e91865..f495883d1 100644 --- a/ssh-pkcs11.c +++ b/ssh-pkcs11.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-pkcs11.c,v 1.49 2020/03/13 04:16:27 djm Exp $ */ | 1 | /* $OpenBSD: ssh-pkcs11.c,v 1.50 2020/05/29 03:14:02 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. |
@@ -1859,7 +1859,8 @@ pkcs11_init(int interactive) | |||
1859 | } | 1859 | } |
1860 | 1860 | ||
1861 | int | 1861 | int |
1862 | pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp) | 1862 | pkcs11_add_provider(char *provider_id, char *pin, struct sshkey ***keyp, |
1863 | char ***labelsp) | ||
1863 | { | 1864 | { |
1864 | error("%s: dlopen() not supported", __func__); | 1865 | error("%s: dlopen() not supported", __func__); |
1865 | return (-1); | 1866 | return (-1); |
diff --git a/ssh-sk-helper.0 b/ssh-sk-helper.0 index 2766848e3..091f00e74 100644 --- a/ssh-sk-helper.0 +++ b/ssh-sk-helper.0 | |||
@@ -31,4 +31,4 @@ HISTORY | |||
31 | AUTHORS | 31 | AUTHORS |
32 | Damien Miller <djm@openbsd.org> | 32 | Damien Miller <djm@openbsd.org> |
33 | 33 | ||
34 | OpenBSD 6.7 December 21, 2019 OpenBSD 6.7 | 34 | OpenBSD 6.8 December 21, 2019 OpenBSD 6.8 |
diff --git a/ssh-sk-helper.c b/ssh-sk-helper.c index 2f93ad716..8f92f4e23 100644 --- a/ssh-sk-helper.c +++ b/ssh-sk-helper.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-sk-helper.c,v 1.9 2020/01/25 23:13:09 djm Exp $ */ | 1 | /* $OpenBSD: ssh-sk-helper.c,v 1.10 2020/05/26 01:59:46 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
4 | * | 4 | * |
@@ -93,12 +93,12 @@ process_sign(struct sshbuf *req) | |||
93 | { | 93 | { |
94 | int r = SSH_ERR_INTERNAL_ERROR; | 94 | int r = SSH_ERR_INTERNAL_ERROR; |
95 | struct sshbuf *resp, *kbuf; | 95 | struct sshbuf *resp, *kbuf; |
96 | struct sshkey *key; | 96 | struct sshkey *key = NULL; |
97 | uint32_t compat; | 97 | uint32_t compat; |
98 | const u_char *message; | 98 | const u_char *message; |
99 | u_char *sig; | 99 | u_char *sig = NULL; |
100 | size_t msglen, siglen; | 100 | size_t msglen, siglen = 0; |
101 | char *provider, *pin; | 101 | char *provider = NULL, *pin = NULL; |
102 | 102 | ||
103 | if ((r = sshbuf_froms(req, &kbuf)) != 0 || | 103 | if ((r = sshbuf_froms(req, &kbuf)) != 0 || |
104 | (r = sshbuf_get_cstring(req, &provider, NULL)) != 0 || | 104 | (r = sshbuf_get_cstring(req, &provider, NULL)) != 0 || |
@@ -134,8 +134,11 @@ process_sign(struct sshbuf *req) | |||
134 | (r = sshbuf_put_string(resp, sig, siglen)) != 0) | 134 | (r = sshbuf_put_string(resp, sig, siglen)) != 0) |
135 | fatal("%s: buffer error: %s", __progname, ssh_err(r)); | 135 | fatal("%s: buffer error: %s", __progname, ssh_err(r)); |
136 | out: | 136 | out: |
137 | sshkey_free(key); | ||
137 | sshbuf_free(kbuf); | 138 | sshbuf_free(kbuf); |
138 | free(provider); | 139 | free(provider); |
140 | if (sig != NULL) | ||
141 | freezero(sig, siglen); | ||
139 | if (pin != NULL) | 142 | if (pin != NULL) |
140 | freezero(pin, strlen(pin)); | 143 | freezero(pin, strlen(pin)); |
141 | return resp; | 144 | return resp; |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-sk.c,v 1.30 2020/04/28 04:02:29 djm Exp $ */ | 1 | /* $OpenBSD: ssh-sk.c,v 1.32 2020/09/09 03:08:02 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
4 | * | 4 | * |
@@ -174,6 +174,7 @@ sshsk_free_enroll_response(struct sk_enroll_response *r) | |||
174 | freezero(r->public_key, r->public_key_len); | 174 | freezero(r->public_key, r->public_key_len); |
175 | freezero(r->signature, r->signature_len); | 175 | freezero(r->signature, r->signature_len); |
176 | freezero(r->attestation_cert, r->attestation_cert_len); | 176 | freezero(r->attestation_cert, r->attestation_cert_len); |
177 | freezero(r->authdata, r->authdata_len); | ||
177 | freezero(r, sizeof(*r)); | 178 | freezero(r, sizeof(*r)); |
178 | } | 179 | } |
179 | 180 | ||
@@ -419,6 +420,31 @@ make_options(const char *device, const char *user_id, | |||
419 | return ret; | 420 | return ret; |
420 | } | 421 | } |
421 | 422 | ||
423 | |||
424 | static int | ||
425 | fill_attestation_blob(const struct sk_enroll_response *resp, | ||
426 | struct sshbuf *attest) | ||
427 | { | ||
428 | int r; | ||
429 | |||
430 | if (attest == NULL) | ||
431 | return 0; /* nothing to do */ | ||
432 | if ((r = sshbuf_put_cstring(attest, "ssh-sk-attest-v01")) != 0 || | ||
433 | (r = sshbuf_put_string(attest, | ||
434 | resp->attestation_cert, resp->attestation_cert_len)) != 0 || | ||
435 | (r = sshbuf_put_string(attest, | ||
436 | resp->signature, resp->signature_len)) != 0 || | ||
437 | (r = sshbuf_put_string(attest, | ||
438 | resp->authdata, resp->authdata_len)) != 0 || | ||
439 | (r = sshbuf_put_u32(attest, 0)) != 0 || /* resvd flags */ | ||
440 | (r = sshbuf_put_string(attest, NULL, 0)) != 0 /* resvd */) { | ||
441 | error("%s: buffer error: %s", __func__, ssh_err(r)); | ||
442 | return r; | ||
443 | } | ||
444 | /* success */ | ||
445 | return 0; | ||
446 | } | ||
447 | |||
422 | int | 448 | int |
423 | sshsk_enroll(int type, const char *provider_path, const char *device, | 449 | sshsk_enroll(int type, const char *provider_path, const char *device, |
424 | const char *application, const char *userid, uint8_t flags, | 450 | const char *application, const char *userid, uint8_t flags, |
@@ -506,19 +532,9 @@ sshsk_enroll(int type, const char *provider_path, const char *device, | |||
506 | goto out; | 532 | goto out; |
507 | 533 | ||
508 | /* Optionally fill in the attestation information */ | 534 | /* Optionally fill in the attestation information */ |
509 | if (attest != NULL) { | 535 | if ((r = fill_attestation_blob(resp, attest)) != 0) |
510 | if ((r = sshbuf_put_cstring(attest, | 536 | goto out; |
511 | "ssh-sk-attest-v00")) != 0 || | 537 | |
512 | (r = sshbuf_put_string(attest, | ||
513 | resp->attestation_cert, resp->attestation_cert_len)) != 0 || | ||
514 | (r = sshbuf_put_string(attest, | ||
515 | resp->signature, resp->signature_len)) != 0 || | ||
516 | (r = sshbuf_put_u32(attest, 0)) != 0 || /* resvd flags */ | ||
517 | (r = sshbuf_put_string(attest, NULL, 0)) != 0 /* resvd */) { | ||
518 | error("%s: buffer error: %s", __func__, ssh_err(r)); | ||
519 | goto out; | ||
520 | } | ||
521 | } | ||
522 | /* success */ | 538 | /* success */ |
523 | *keyp = key; | 539 | *keyp = key; |
524 | key = NULL; /* transferred */ | 540 | key = NULL; /* transferred */ |
@@ -769,8 +785,9 @@ sshsk_load_resident(const char *provider_path, const char *device, | |||
769 | default: | 785 | default: |
770 | continue; | 786 | continue; |
771 | } | 787 | } |
772 | /* XXX where to get flags? */ | ||
773 | flags = SSH_SK_USER_PRESENCE_REQD|SSH_SK_RESIDENT_KEY; | 788 | flags = SSH_SK_USER_PRESENCE_REQD|SSH_SK_RESIDENT_KEY; |
789 | if ((rks[i]->flags & SSH_SK_USER_VERIFICATION_REQD)) | ||
790 | flags |= SSH_SK_USER_VERIFICATION_REQD; | ||
774 | if ((r = sshsk_key_from_response(rks[i]->alg, | 791 | if ((r = sshsk_key_from_response(rks[i]->alg, |
775 | rks[i]->application, flags, &rks[i]->key, &key)) != 0) | 792 | rks[i]->application, flags, &rks[i]->key, &key)) != 0) |
776 | goto out; | 793 | goto out; |
@@ -786,6 +786,16 @@ ENVIRONMENT | |||
786 | redirect the input from /dev/null to make this | 786 | redirect the input from /dev/null to make this |
787 | work.) | 787 | work.) |
788 | 788 | ||
789 | SSH_ASKPASS_REQUIRE Allows further control over the use of an askpass | ||
790 | program. If this variable is set to M-bM-^@M-^\neverM-bM-^@M-^] then | ||
791 | ssh will never attempt to use one. If it is set to | ||
792 | M-bM-^@M-^\preferM-bM-^@M-^], then ssh will prefer to use the askpass | ||
793 | program instead of the TTY when requesting | ||
794 | passwords. Finally, if the variable is set to | ||
795 | M-bM-^@M-^\forceM-bM-^@M-^], then the askpass program will be used for | ||
796 | all passphrase input regardless of whether DISPLAY | ||
797 | is set. | ||
798 | |||
789 | SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to | 799 | SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to |
790 | communicate with the agent. | 800 | communicate with the agent. |
791 | 801 | ||
@@ -989,4 +999,4 @@ AUTHORS | |||
989 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 999 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
990 | versions 1.5 and 2.0. | 1000 | versions 1.5 and 2.0. |
991 | 1001 | ||
992 | OpenBSD 6.7 April 17, 2020 OpenBSD 6.7 | 1002 | OpenBSD 6.8 July 15, 2020 OpenBSD 6.8 |
@@ -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.412 2020/04/17 03:34:42 djm Exp $ | 36 | .\" $OpenBSD: ssh.1,v 1.414 2020/07/15 05:40:05 jmc Exp $ |
37 | .Dd $Mdocdate: April 17 2020 $ | 37 | .Dd $Mdocdate: July 15 2020 $ |
38 | .Dt SSH 1 | 38 | .Dt SSH 1 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -1445,6 +1445,25 @@ or related script. | |||
1445 | may be necessary to redirect the input from | 1445 | may be necessary to redirect the input from |
1446 | .Pa /dev/null | 1446 | .Pa /dev/null |
1447 | to make this work.) | 1447 | to make this work.) |
1448 | .It Ev SSH_ASKPASS_REQUIRE | ||
1449 | Allows further control over the use of an askpass program. | ||
1450 | If this variable is set to | ||
1451 | .Dq never | ||
1452 | then | ||
1453 | .Nm | ||
1454 | will never attempt to use one. | ||
1455 | If it is set to | ||
1456 | .Dq prefer , | ||
1457 | then | ||
1458 | .Nm | ||
1459 | will prefer to use the askpass program instead of the TTY when requesting | ||
1460 | passwords. | ||
1461 | Finally, if the variable is set to | ||
1462 | .Dq force , | ||
1463 | then the askpass program will be used for all passphrase input regardless | ||
1464 | of whether | ||
1465 | .Ev DISPLAY | ||
1466 | is set. | ||
1448 | .It Ev SSH_AUTH_SOCK | 1467 | .It Ev SSH_AUTH_SOCK |
1449 | Identifies the path of a | 1468 | Identifies the path of a |
1450 | .Ux Ns -domain | 1469 | .Ux Ns -domain |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh.c,v 1.527 2020/04/10 00:52:07 dtucker Exp $ */ | 1 | /* $OpenBSD: ssh.c,v 1.536 2020/09/21 07:29:09 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 |
@@ -16,7 +16,7 @@ | |||
16 | * Copyright (c) 1999 Niels Provos. All rights reserved. | 16 | * Copyright (c) 1999 Niels Provos. All rights reserved. |
17 | * Copyright (c) 2000, 2001, 2002, 2003 Markus Friedl. All rights reserved. | 17 | * Copyright (c) 2000, 2001, 2002, 2003 Markus Friedl. All rights reserved. |
18 | * | 18 | * |
19 | * Modified to work with SSL by Niels Provos <provos@citi.umich.edu> | 19 | * Modified to work with SSLeay by Niels Provos <provos@citi.umich.edu> |
20 | * in Canada (German citizen). | 20 | * in Canada (German citizen). |
21 | * | 21 | * |
22 | * Redistribution and use in source and binary forms, with or without | 22 | * Redistribution and use in source and binary forms, with or without |
@@ -137,11 +137,11 @@ int stdin_null_flag = 0; | |||
137 | 137 | ||
138 | /* | 138 | /* |
139 | * Flag indicating that the current process should be backgrounded and | 139 | * Flag indicating that the current process should be backgrounded and |
140 | * a new slave launched in the foreground for ControlPersist. | 140 | * a new mux-client launched in the foreground for ControlPersist. |
141 | */ | 141 | */ |
142 | int need_controlpersist_detach = 0; | 142 | int need_controlpersist_detach = 0; |
143 | 143 | ||
144 | /* Copies of flags for ControlPersist foreground slave */ | 144 | /* Copies of flags for ControlPersist foreground mux-client */ |
145 | int ostdin_null_flag, ono_shell_flag, otty_flag, orequest_tty; | 145 | int ostdin_null_flag, ono_shell_flag, otty_flag, orequest_tty; |
146 | 146 | ||
147 | /* | 147 | /* |
@@ -176,6 +176,7 @@ char *forward_agent_sock_path = NULL; | |||
176 | /* Various strings used to to percent_expand() arguments */ | 176 | /* Various strings used to to percent_expand() arguments */ |
177 | static char thishost[NI_MAXHOST], shorthost[NI_MAXHOST], portstr[NI_MAXSERV]; | 177 | static char thishost[NI_MAXHOST], shorthost[NI_MAXHOST], portstr[NI_MAXSERV]; |
178 | static char uidstr[32], *host_arg, *conn_hash_hex; | 178 | static char uidstr[32], *host_arg, *conn_hash_hex; |
179 | static const char *keyalias; | ||
179 | 180 | ||
180 | /* socket address the host resolves to */ | 181 | /* socket address the host resolves to */ |
181 | struct sockaddr_storage hostaddr; | 182 | struct sockaddr_storage hostaddr; |
@@ -235,6 +236,7 @@ tilde_expand_paths(char **paths, u_int num_paths) | |||
235 | "C", conn_hash_hex, \ | 236 | "C", conn_hash_hex, \ |
236 | "L", shorthost, \ | 237 | "L", shorthost, \ |
237 | "i", uidstr, \ | 238 | "i", uidstr, \ |
239 | "k", keyalias, \ | ||
238 | "l", thishost, \ | 240 | "l", thishost, \ |
239 | "n", host_arg, \ | 241 | "n", host_arg, \ |
240 | "p", portstr | 242 | "p", portstr |
@@ -260,6 +262,31 @@ default_client_percent_expand(const char *str, const char *homedir, | |||
260 | } | 262 | } |
261 | 263 | ||
262 | /* | 264 | /* |
265 | * Expands the set of percent_expand options used by the majority of keywords | ||
266 | * AND perform environment variable substitution. | ||
267 | * Caller must free returned string. | ||
268 | */ | ||
269 | static char * | ||
270 | default_client_percent_dollar_expand(const char *str, const char *homedir, | ||
271 | const char *remhost, const char *remuser, const char *locuser) | ||
272 | { | ||
273 | char *ret; | ||
274 | |||
275 | ret = percent_dollar_expand(str, | ||
276 | /* values from statics above */ | ||
277 | DEFAULT_CLIENT_PERCENT_EXPAND_ARGS, | ||
278 | /* values from arguments */ | ||
279 | "d", homedir, | ||
280 | "h", remhost, | ||
281 | "r", remuser, | ||
282 | "u", locuser, | ||
283 | (char *)NULL); | ||
284 | if (ret == NULL) | ||
285 | fatal("invalid environment variable expansion"); | ||
286 | return ret; | ||
287 | } | ||
288 | |||
289 | /* | ||
263 | * Attempt to resolve a host name / port to a set of addresses and | 290 | * Attempt to resolve a host name / port to a set of addresses and |
264 | * optionally return any CNAMEs encountered along the way. | 291 | * optionally return any CNAMEs encountered along the way. |
265 | * Returns NULL on failure. | 292 | * Returns NULL on failure. |
@@ -620,7 +647,7 @@ main(int ac, char **av) | |||
620 | struct ssh *ssh = NULL; | 647 | struct ssh *ssh = NULL; |
621 | int i, r, opt, exit_status, use_syslog, direct, timeout_ms; | 648 | int i, r, opt, exit_status, use_syslog, direct, timeout_ms; |
622 | int was_addr, config_test = 0, opt_terminated = 0, want_final_pass = 0; | 649 | int was_addr, config_test = 0, opt_terminated = 0, want_final_pass = 0; |
623 | char *p, *cp, *line, *argv0, buf[PATH_MAX], *logfile; | 650 | char *p, *cp, *line, *argv0, *logfile; |
624 | char cname[NI_MAXHOST]; | 651 | char cname[NI_MAXHOST]; |
625 | struct stat st; | 652 | struct stat st; |
626 | struct passwd *pw; | 653 | struct passwd *pw; |
@@ -629,6 +656,7 @@ main(int ac, char **av) | |||
629 | struct Forward fwd; | 656 | struct Forward fwd; |
630 | struct addrinfo *addrs = NULL; | 657 | struct addrinfo *addrs = NULL; |
631 | size_t n, len; | 658 | size_t n, len; |
659 | u_int j; | ||
632 | 660 | ||
633 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ | 661 | /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ |
634 | sanitise_stdfd(); | 662 | sanitise_stdfd(); |
@@ -1230,19 +1258,25 @@ main(int ac, char **av) | |||
1230 | /* Fill configuration defaults. */ | 1258 | /* Fill configuration defaults. */ |
1231 | fill_default_options(&options); | 1259 | fill_default_options(&options); |
1232 | 1260 | ||
1261 | if (options.user == NULL) | ||
1262 | options.user = xstrdup(pw->pw_name); | ||
1263 | |||
1233 | /* | 1264 | /* |
1234 | * If ProxyJump option specified, then construct a ProxyCommand now. | 1265 | * If ProxyJump option specified, then construct a ProxyCommand now. |
1235 | */ | 1266 | */ |
1236 | if (options.jump_host != NULL) { | 1267 | if (options.jump_host != NULL) { |
1237 | char port_s[8]; | 1268 | char port_s[8]; |
1238 | const char *sshbin = argv0; | 1269 | const char *jumpuser = options.jump_user, *sshbin = argv0; |
1239 | int port = options.port, jumpport = options.jump_port; | 1270 | int port = options.port, jumpport = options.jump_port; |
1240 | 1271 | ||
1241 | if (port <= 0) | 1272 | if (port <= 0) |
1242 | port = default_ssh_port(); | 1273 | port = default_ssh_port(); |
1243 | if (jumpport <= 0) | 1274 | if (jumpport <= 0) |
1244 | jumpport = default_ssh_port(); | 1275 | jumpport = default_ssh_port(); |
1245 | if (strcmp(options.jump_host, host) == 0 && port == jumpport) | 1276 | if (jumpuser == NULL) |
1277 | jumpuser = options.user; | ||
1278 | if (strcmp(options.jump_host, host) == 0 && port == jumpport && | ||
1279 | strcmp(options.user, jumpuser) == 0) | ||
1246 | fatal("jumphost loop via %s", options.jump_host); | 1280 | fatal("jumphost loop via %s", options.jump_host); |
1247 | 1281 | ||
1248 | /* | 1282 | /* |
@@ -1345,9 +1379,6 @@ main(int ac, char **av) | |||
1345 | tty_flag = 0; | 1379 | tty_flag = 0; |
1346 | } | 1380 | } |
1347 | 1381 | ||
1348 | if (options.user == NULL) | ||
1349 | options.user = xstrdup(pw->pw_name); | ||
1350 | |||
1351 | /* Set up strings used to percent_expand() arguments */ | 1382 | /* Set up strings used to percent_expand() arguments */ |
1352 | if (gethostname(thishost, sizeof(thishost)) == -1) | 1383 | if (gethostname(thishost, sizeof(thishost)) == -1) |
1353 | fatal("gethostname: %s", strerror(errno)); | 1384 | fatal("gethostname: %s", strerror(errno)); |
@@ -1356,6 +1387,7 @@ main(int ac, char **av) | |||
1356 | snprintf(portstr, sizeof(portstr), "%d", options.port); | 1387 | snprintf(portstr, sizeof(portstr), "%d", options.port); |
1357 | snprintf(uidstr, sizeof(uidstr), "%llu", | 1388 | snprintf(uidstr, sizeof(uidstr), "%llu", |
1358 | (unsigned long long)pw->pw_uid); | 1389 | (unsigned long long)pw->pw_uid); |
1390 | keyalias = options.host_key_alias ? options.host_key_alias : host_arg; | ||
1359 | 1391 | ||
1360 | conn_hash_hex = ssh_connection_hash(thishost, host, portstr, | 1392 | conn_hash_hex = ssh_connection_hash(thishost, host, portstr, |
1361 | options.user); | 1393 | options.user); |
@@ -1380,14 +1412,14 @@ main(int ac, char **av) | |||
1380 | if (options.control_path != NULL) { | 1412 | if (options.control_path != NULL) { |
1381 | cp = tilde_expand_filename(options.control_path, getuid()); | 1413 | cp = tilde_expand_filename(options.control_path, getuid()); |
1382 | free(options.control_path); | 1414 | free(options.control_path); |
1383 | options.control_path = default_client_percent_expand(cp, | 1415 | options.control_path = default_client_percent_dollar_expand(cp, |
1384 | pw->pw_dir, host, options.user, pw->pw_name); | 1416 | pw->pw_dir, host, options.user, pw->pw_name); |
1385 | free(cp); | 1417 | free(cp); |
1386 | } | 1418 | } |
1387 | 1419 | ||
1388 | if (options.identity_agent != NULL) { | 1420 | if (options.identity_agent != NULL) { |
1389 | p = tilde_expand_filename(options.identity_agent, getuid()); | 1421 | p = tilde_expand_filename(options.identity_agent, getuid()); |
1390 | cp = default_client_percent_expand(p, | 1422 | cp = default_client_percent_dollar_expand(p, |
1391 | pw->pw_dir, host, options.user, pw->pw_name); | 1423 | pw->pw_dir, host, options.user, pw->pw_name); |
1392 | free(p); | 1424 | free(p); |
1393 | free(options.identity_agent); | 1425 | free(options.identity_agent); |
@@ -1397,13 +1429,28 @@ main(int ac, char **av) | |||
1397 | if (options.forward_agent_sock_path != NULL) { | 1429 | if (options.forward_agent_sock_path != NULL) { |
1398 | p = tilde_expand_filename(options.forward_agent_sock_path, | 1430 | p = tilde_expand_filename(options.forward_agent_sock_path, |
1399 | getuid()); | 1431 | getuid()); |
1400 | cp = default_client_percent_expand(p, | 1432 | cp = default_client_percent_dollar_expand(p, |
1401 | pw->pw_dir, host, options.user, pw->pw_name); | 1433 | pw->pw_dir, host, options.user, pw->pw_name); |
1402 | free(p); | 1434 | free(p); |
1403 | free(options.forward_agent_sock_path); | 1435 | free(options.forward_agent_sock_path); |
1404 | options.forward_agent_sock_path = cp; | 1436 | options.forward_agent_sock_path = cp; |
1405 | } | 1437 | } |
1406 | 1438 | ||
1439 | for (j = 0; j < options.num_user_hostfiles; j++) { | ||
1440 | if (options.user_hostfiles[j] != NULL) { | ||
1441 | cp = tilde_expand_filename(options.user_hostfiles[j], | ||
1442 | getuid()); | ||
1443 | p = default_client_percent_dollar_expand(cp, | ||
1444 | pw->pw_dir, host, options.user, pw->pw_name); | ||
1445 | if (strcmp(options.user_hostfiles[j], p) != 0) | ||
1446 | debug3("expanded UserKnownHostsFile '%s' -> " | ||
1447 | "'%s'", options.user_hostfiles[j], p); | ||
1448 | free(options.user_hostfiles[j]); | ||
1449 | free(cp); | ||
1450 | options.user_hostfiles[j] = p; | ||
1451 | } | ||
1452 | } | ||
1453 | |||
1407 | for (i = 0; i < options.num_local_forwards; i++) { | 1454 | for (i = 0; i < options.num_local_forwards; i++) { |
1408 | if (options.local_forwards[i].listen_path != NULL) { | 1455 | if (options.local_forwards[i].listen_path != NULL) { |
1409 | cp = options.local_forwards[i].listen_path; | 1456 | cp = options.local_forwards[i].listen_path; |
@@ -1549,22 +1596,6 @@ main(int ac, char **av) | |||
1549 | } | 1596 | } |
1550 | } | 1597 | } |
1551 | 1598 | ||
1552 | /* Create ~/.ssh * directory if it doesn't already exist. */ | ||
1553 | if (config == NULL) { | ||
1554 | r = snprintf(buf, sizeof buf, "%s%s%s", pw->pw_dir, | ||
1555 | strcmp(pw->pw_dir, "/") ? "/" : "", _PATH_SSH_USER_DIR); | ||
1556 | if (r > 0 && (size_t)r < sizeof(buf) && stat(buf, &st) == -1) { | ||
1557 | #ifdef WITH_SELINUX | ||
1558 | ssh_selinux_setfscreatecon(buf); | ||
1559 | #endif | ||
1560 | if (mkdir(buf, 0700) < 0) | ||
1561 | error("Could not create directory '%.200s'.", | ||
1562 | buf); | ||
1563 | #ifdef WITH_SELINUX | ||
1564 | ssh_selinux_setfscreatecon(NULL); | ||
1565 | #endif | ||
1566 | } | ||
1567 | } | ||
1568 | /* load options.identity_files */ | 1599 | /* load options.identity_files */ |
1569 | load_public_identity_files(pw); | 1600 | load_public_identity_files(pw); |
1570 | 1601 | ||
@@ -1575,7 +1606,8 @@ main(int ac, char **av) | |||
1575 | unsetenv(SSH_AUTHSOCKET_ENV_NAME); | 1606 | unsetenv(SSH_AUTHSOCKET_ENV_NAME); |
1576 | } else { | 1607 | } else { |
1577 | cp = options.identity_agent; | 1608 | cp = options.identity_agent; |
1578 | if (cp[0] == '$') { | 1609 | /* legacy (limited) format */ |
1610 | if (cp[0] == '$' && cp[1] != '{') { | ||
1579 | if (!valid_env_name(cp + 1)) { | 1611 | if (!valid_env_name(cp + 1)) { |
1580 | fatal("Invalid IdentityAgent " | 1612 | fatal("Invalid IdentityAgent " |
1581 | "environment variable name %s", cp); | 1613 | "environment variable name %s", cp); |
@@ -1683,7 +1715,7 @@ control_persist_detach(void) | |||
1683 | /* Child: master process continues mainloop */ | 1715 | /* Child: master process continues mainloop */ |
1684 | break; | 1716 | break; |
1685 | default: | 1717 | default: |
1686 | /* Parent: set up mux slave to connect to backgrounded master */ | 1718 | /* Parent: set up mux client to connect to backgrounded master */ |
1687 | debug2("%s: background process is %ld", __func__, (long)pid); | 1719 | debug2("%s: background process is %ld", __func__, (long)pid); |
1688 | stdin_null_flag = ostdin_null_flag; | 1720 | stdin_null_flag = ostdin_null_flag; |
1689 | options.request_tty = orequest_tty; | 1721 | options.request_tty = orequest_tty; |
@@ -1715,12 +1747,26 @@ control_persist_detach(void) | |||
1715 | static void | 1747 | static void |
1716 | fork_postauth(void) | 1748 | fork_postauth(void) |
1717 | { | 1749 | { |
1750 | int devnull, keep_stderr; | ||
1751 | |||
1718 | if (need_controlpersist_detach) | 1752 | if (need_controlpersist_detach) |
1719 | control_persist_detach(); | 1753 | control_persist_detach(); |
1720 | debug("forking to background"); | 1754 | debug("forking to background"); |
1721 | fork_after_authentication_flag = 0; | 1755 | fork_after_authentication_flag = 0; |
1722 | if (daemon(1, 1) == -1) | 1756 | if (daemon(1, 1) == -1) |
1723 | fatal("daemon() failed: %.200s", strerror(errno)); | 1757 | fatal("daemon() failed: %.200s", strerror(errno)); |
1758 | if ((devnull = open(_PATH_DEVNULL, O_WRONLY)) == -1) | ||
1759 | error("%s: open %s: %s", __func__, | ||
1760 | _PATH_DEVNULL, strerror(errno)); | ||
1761 | else { | ||
1762 | keep_stderr = log_is_on_stderr() && debug_flag; | ||
1763 | if (dup2(devnull, STDIN_FILENO) == -1 || | ||
1764 | dup2(devnull, STDOUT_FILENO) == -1 || | ||
1765 | (!keep_stderr && dup2(devnull, STDOUT_FILENO) == -1)) | ||
1766 | fatal("%s: dup2() stdio failed", __func__); | ||
1767 | if (devnull > STDERR_FILENO) | ||
1768 | close(devnull); | ||
1769 | } | ||
1724 | } | 1770 | } |
1725 | 1771 | ||
1726 | static void | 1772 | static void |
@@ -2062,9 +2108,9 @@ ssh_session2(struct ssh *ssh, struct passwd *pw) | |||
2062 | /* | 2108 | /* |
2063 | * If we are in control persist mode and have a working mux listen | 2109 | * If we are in control persist mode and have a working mux listen |
2064 | * socket, then prepare to background ourselves and have a foreground | 2110 | * socket, then prepare to background ourselves and have a foreground |
2065 | * client attach as a control slave. | 2111 | * client attach as a control client. |
2066 | * NB. we must save copies of the flags that we override for | 2112 | * NB. we must save copies of the flags that we override for |
2067 | * the backgrounding, since we defer attachment of the slave until | 2113 | * the backgrounding, since we defer attachment of the client until |
2068 | * after the connection is fully established (in particular, | 2114 | * after the connection is fully established (in particular, |
2069 | * async rfwd replies have been received for ExitOnForwardFailure). | 2115 | * async rfwd replies have been received for ExitOnForwardFailure). |
2070 | */ | 2116 | */ |
@@ -2119,13 +2165,15 @@ ssh_session2(struct ssh *ssh, struct passwd *pw) | |||
2119 | * as it may want to write to stdout. | 2165 | * as it may want to write to stdout. |
2120 | */ | 2166 | */ |
2121 | if (!need_controlpersist_detach) { | 2167 | if (!need_controlpersist_detach) { |
2122 | if ((devnull = open(_PATH_DEVNULL, O_WRONLY)) == -1) | 2168 | if ((devnull = open(_PATH_DEVNULL, O_WRONLY)) == -1) { |
2123 | error("%s: open %s: %s", __func__, | 2169 | error("%s: open %s: %s", __func__, |
2124 | _PATH_DEVNULL, strerror(errno)); | 2170 | _PATH_DEVNULL, strerror(errno)); |
2125 | if (dup2(devnull, STDOUT_FILENO) == -1) | 2171 | } else { |
2126 | fatal("%s: dup2() stdout failed", __func__); | 2172 | if (dup2(devnull, STDOUT_FILENO) == -1) |
2127 | if (devnull > STDERR_FILENO) | 2173 | fatal("%s: dup2() stdout failed", __func__); |
2128 | close(devnull); | 2174 | if (devnull > STDERR_FILENO) |
2175 | close(devnull); | ||
2176 | } | ||
2129 | } | 2177 | } |
2130 | 2178 | ||
2131 | /* | 2179 | /* |
@@ -2203,7 +2251,7 @@ load_public_identity_files(struct passwd *pw) | |||
2203 | continue; | 2251 | continue; |
2204 | } | 2252 | } |
2205 | cp = tilde_expand_filename(options.identity_files[i], getuid()); | 2253 | cp = tilde_expand_filename(options.identity_files[i], getuid()); |
2206 | filename = default_client_percent_expand(cp, | 2254 | filename = default_client_percent_dollar_expand(cp, |
2207 | pw->pw_dir, host, options.user, pw->pw_name); | 2255 | pw->pw_dir, host, options.user, pw->pw_name); |
2208 | free(cp); | 2256 | free(cp); |
2209 | check_load(sshkey_load_public(filename, &public, NULL), | 2257 | check_load(sshkey_load_public(filename, &public, NULL), |
@@ -2253,7 +2301,7 @@ load_public_identity_files(struct passwd *pw) | |||
2253 | for (i = 0; i < options.num_certificate_files; i++) { | 2301 | for (i = 0; i < options.num_certificate_files; i++) { |
2254 | cp = tilde_expand_filename(options.certificate_files[i], | 2302 | cp = tilde_expand_filename(options.certificate_files[i], |
2255 | getuid()); | 2303 | getuid()); |
2256 | filename = default_client_percent_expand(cp, | 2304 | filename = default_client_percent_dollar_expand(cp, |
2257 | pw->pw_dir, host, options.user, pw->pw_name); | 2305 | pw->pw_dir, host, options.user, pw->pw_name); |
2258 | free(cp); | 2306 | free(cp); |
2259 | 2307 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh.h,v 1.89 2018/12/27 03:25:25 djm Exp $ */ | 1 | /* $OpenBSD: ssh.h,v 1.90 2020/07/14 23:57:01 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -68,6 +68,11 @@ | |||
68 | #define SSH_ASKPASS_ENV "SSH_ASKPASS" | 68 | #define SSH_ASKPASS_ENV "SSH_ASKPASS" |
69 | 69 | ||
70 | /* | 70 | /* |
71 | * Environment variable to control whether or not askpass is used. | ||
72 | */ | ||
73 | #define SSH_ASKPASS_REQUIRE_ENV "SSH_ASKPASS_REQUIRE" | ||
74 | |||
75 | /* | ||
71 | * Force host key length and server key length to differ by at least this | 76 | * Force host key length and server key length to differ by at least this |
72 | * many bits. This is to make double encryption with rsaref work. | 77 | * many bits. This is to make double encryption with rsaref work. |
73 | */ | 78 | */ |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh_api.c,v 1.19 2019/10/31 21:23:19 djm Exp $ */ | 1 | /* $OpenBSD: ssh_api.c,v 1.21 2020/08/27 01:06:18 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2012 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2012 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -54,7 +54,7 @@ int _ssh_host_key_sign(struct ssh *, struct sshkey *, struct sshkey *, | |||
54 | */ | 54 | */ |
55 | int use_privsep = 0; | 55 | int use_privsep = 0; |
56 | int mm_sshkey_sign(struct sshkey *, u_char **, u_int *, | 56 | int mm_sshkey_sign(struct sshkey *, u_char **, u_int *, |
57 | const u_char *, u_int, const char *, const char *, u_int); | 57 | const u_char *, u_int, const char *, const char *, const char *, u_int); |
58 | 58 | ||
59 | #ifdef WITH_OPENSSL | 59 | #ifdef WITH_OPENSSL |
60 | DH *mm_choose_dh(int, int, int); | 60 | DH *mm_choose_dh(int, int, int); |
@@ -66,8 +66,8 @@ u_int session_id2_len = 0; | |||
66 | 66 | ||
67 | int | 67 | int |
68 | mm_sshkey_sign(struct sshkey *key, u_char **sigp, u_int *lenp, | 68 | mm_sshkey_sign(struct sshkey *key, u_char **sigp, u_int *lenp, |
69 | const u_char *data, u_int datalen, const char *alg, const char *sk_provider, | 69 | const u_char *data, u_int datalen, const char *alg, |
70 | u_int compat) | 70 | const char *sk_provider, const char *sk_pin, u_int compat) |
71 | { | 71 | { |
72 | return (-1); | 72 | return (-1); |
73 | } | 73 | } |
@@ -152,7 +152,6 @@ ssh_free(struct ssh *ssh) | |||
152 | { | 152 | { |
153 | struct key_entry *k; | 153 | struct key_entry *k; |
154 | 154 | ||
155 | ssh_packet_close(ssh); | ||
156 | /* | 155 | /* |
157 | * we've only created the public keys variants in case we | 156 | * we've only created the public keys variants in case we |
158 | * are a acting as a server. | 157 | * are a acting as a server. |
@@ -167,8 +166,7 @@ ssh_free(struct ssh *ssh) | |||
167 | TAILQ_REMOVE(&ssh->private_keys, k, next); | 166 | TAILQ_REMOVE(&ssh->private_keys, k, next); |
168 | free(k); | 167 | free(k); |
169 | } | 168 | } |
170 | if (ssh->kex) | 169 | ssh_packet_close(ssh); |
171 | kex_free(ssh->kex); | ||
172 | free(ssh); | 170 | free(ssh); |
173 | } | 171 | } |
174 | 172 | ||
@@ -569,5 +567,5 @@ _ssh_host_key_sign(struct ssh *ssh, struct sshkey *privkey, | |||
569 | const u_char *data, size_t dlen, const char *alg) | 567 | const u_char *data, size_t dlen, const char *alg) |
570 | { | 568 | { |
571 | return sshkey_sign(privkey, signature, slen, data, dlen, | 569 | return sshkey_sign(privkey, signature, slen, data, dlen, |
572 | alg, NULL, ssh->compat); | 570 | alg, NULL, NULL, ssh->compat); |
573 | } | 571 | } |
diff --git a/ssh_config b/ssh_config index 8a55237b9..09a17cf18 100644 --- a/ssh_config +++ b/ssh_config | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: ssh_config,v 1.34 2019/02/04 02:39:42 dtucker Exp $ | 1 | # $OpenBSD: ssh_config,v 1.35 2020/07/17 03:43:42 dtucker Exp $ |
2 | 2 | ||
3 | # This is the ssh client system-wide configuration file. See | 3 | # This is the ssh client system-wide configuration file. See |
4 | # ssh_config(5) for more information. This file provides defaults for | 4 | # ssh_config(5) for more information. This file provides defaults for |
@@ -48,6 +48,7 @@ Host * | |||
48 | # VisualHostKey no | 48 | # VisualHostKey no |
49 | # ProxyCommand ssh -q -W %h:%p gateway.example.com | 49 | # ProxyCommand ssh -q -W %h:%p gateway.example.com |
50 | # RekeyLimit 1G 1h | 50 | # RekeyLimit 1G 1h |
51 | # UserKnownHostsFile ~/.ssh/known_hosts.d/%k | ||
51 | SendEnv LANG LC_* | 52 | SendEnv LANG LC_* |
52 | HashKnownHosts yes | 53 | HashKnownHosts yes |
53 | GSSAPIAuthentication yes | 54 | GSSAPIAuthentication yes |
diff --git a/ssh_config.0 b/ssh_config.0 index 316b2e1ef..ae98748d2 100644 --- a/ssh_config.0 +++ b/ssh_config.0 | |||
@@ -98,8 +98,12 @@ DESCRIPTION | |||
98 | details). If this option is set to confirm, each use of the key | 98 | details). If this option is set to confirm, each use of the key |
99 | must be confirmed, as if the -c option was specified to | 99 | must be confirmed, as if the -c option was specified to |
100 | ssh-add(1). If this option is set to no, no keys are added to | 100 | ssh-add(1). If this option is set to no, no keys are added to |
101 | the agent. The argument must be yes, confirm, ask, or no (the | 101 | the agent. Alternately, this option may be specified as a time |
102 | default). | 102 | interval using the format described in the TIME FORMATS section |
103 | of sshd_config(5) to specify the key's lifetime in ssh-agent(1), | ||
104 | after which it will automatically be removed. The argument must | ||
105 | be no (the default), yes, confirm (optionally followed by a time | ||
106 | interval), ask or a time interval. | ||
103 | 107 | ||
104 | AddressFamily | 108 | AddressFamily |
105 | Specifies which address family to use when connecting. Valid | 109 | Specifies which address family to use when connecting. Valid |
@@ -186,8 +190,9 @@ DESCRIPTION | |||
186 | SecurityKeyProvider. | 190 | SecurityKeyProvider. |
187 | 191 | ||
188 | Arguments to CertificateFile may use the tilde syntax to refer to | 192 | Arguments to CertificateFile may use the tilde syntax to refer to |
189 | a user's home directory or the tokens described in the TOKENS | 193 | a user's home directory, the tokens described in the TOKENS |
190 | section. | 194 | section and environment variables as described in the ENVIRONMENT |
195 | VARIABLES section. | ||
191 | 196 | ||
192 | It is possible to have multiple certificate files specified in | 197 | It is possible to have multiple certificate files specified in |
193 | configuration files; these certificates will be tried in | 198 | configuration files; these certificates will be tried in |
@@ -294,10 +299,11 @@ DESCRIPTION | |||
294 | sharing as described in the ControlMaster section above or the | 299 | sharing as described in the ControlMaster section above or the |
295 | string none to disable connection sharing. Arguments to | 300 | string none to disable connection sharing. Arguments to |
296 | ControlPath may use the tilde syntax to refer to a user's home | 301 | ControlPath may use the tilde syntax to refer to a user's home |
297 | directory or the tokens described in the TOKENS section. It is | 302 | directory, the tokens described in the TOKENS section and |
298 | recommended that any ControlPath used for opportunistic | 303 | environment variables as described in the ENVIRONMENT VARIABLES |
299 | connection sharing include at least %h, %p, and %r (or | 304 | section. It is recommended that any ControlPath used for |
300 | alternatively %C) and be placed in a directory that is not | 305 | opportunistic connection sharing include at least %h, %p, and %r |
306 | (or alternatively %C) and be placed in a directory that is not | ||
301 | writable by other users. This ensures that shared connections | 307 | writable by other users. This ensures that shared connections |
302 | are uniquely identified. | 308 | are uniquely identified. |
303 | 309 | ||
@@ -547,8 +553,9 @@ DESCRIPTION | |||
547 | location of the socket. | 553 | location of the socket. |
548 | 554 | ||
549 | Arguments to IdentityAgent may use the tilde syntax to refer to a | 555 | Arguments to IdentityAgent may use the tilde syntax to refer to a |
550 | user's home directory or the tokens described in the TOKENS | 556 | user's home directory, the tokens described in the TOKENS section |
551 | section. | 557 | and environment variables as described in the ENVIRONMENT |
558 | VARIABLES section. | ||
552 | 559 | ||
553 | IdentityFile | 560 | IdentityFile |
554 | Specifies a file from which the user's DSA, ECDSA, authenticator- | 561 | Specifies a file from which the user's DSA, ECDSA, authenticator- |
@@ -591,8 +598,9 @@ DESCRIPTION | |||
591 | Include the specified configuration file(s). Multiple pathnames | 598 | Include the specified configuration file(s). Multiple pathnames |
592 | may be specified and each pathname may contain glob(7) wildcards | 599 | may be specified and each pathname may contain glob(7) wildcards |
593 | and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user | 600 | and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user |
594 | home directories. Files without absolute paths are assumed to be | 601 | home directories. Wildcards will be expanded and processed in |
595 | in ~/.ssh if included in a user configuration file or /etc/ssh if | 602 | lexical order. Files without absolute paths are assumed to be in |
603 | ~/.ssh if included in a user configuration file or /etc/ssh if | ||
596 | included from the system configuration file. Include directive | 604 | included from the system configuration file. Include directive |
597 | may appear inside a Match or Host block to perform conditional | 605 | may appear inside a Match or Host block to perform conditional |
598 | inclusion. | 606 | inclusion. |
@@ -673,8 +681,9 @@ DESCRIPTION | |||
673 | specific address. The bind_address of localhost indicates that | 681 | specific address. The bind_address of localhost indicates that |
674 | the listening port be bound for local use only, while an empty | 682 | the listening port be bound for local use only, while an empty |
675 | address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from | 683 | address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from |
676 | all interfaces. Unix domain socket paths accept the tokens | 684 | all interfaces. Unix domain socket paths may use the tokens |
677 | described in the TOKENS section. | 685 | described in the TOKENS section and environment variables as |
686 | described in the ENVIRONMENT VARIABLES section. | ||
678 | 687 | ||
679 | LogLevel | 688 | LogLevel |
680 | Gives the verbosity level that is used when logging messages from | 689 | Gives the verbosity level that is used when logging messages from |
@@ -861,8 +870,9 @@ DESCRIPTION | |||
861 | brackets. Multiple forwardings may be specified, and additional | 870 | brackets. Multiple forwardings may be specified, and additional |
862 | forwardings can be given on the command line. Privileged ports | 871 | forwardings can be given on the command line. Privileged ports |
863 | can be forwarded only when logging in as root on the remote | 872 | can be forwarded only when logging in as root on the remote |
864 | machine. Unix domain socket paths accept the tokens described in | 873 | machine. Unix domain socket paths may use the tokens described |
865 | the TOKENS section. | 874 | in the TOKENS section and environment variables as described in |
875 | the ENVIRONMENT VARIABLES section. | ||
866 | 876 | ||
867 | If the port argument is 0, the listen port will be dynamically | 877 | If the port argument is 0, the listen port will be dynamically |
868 | allocated on the server and reported to the client at run time. | 878 | allocated on the server and reported to the client at run time. |
@@ -1053,7 +1063,10 @@ DESCRIPTION | |||
1053 | 1063 | ||
1054 | UserKnownHostsFile | 1064 | UserKnownHostsFile |
1055 | Specifies one or more files to use for the user host key | 1065 | Specifies one or more files to use for the user host key |
1056 | database, separated by whitespace. The default is | 1066 | database, separated by whitespace. Each filename may use tilde |
1067 | notation to refer to the user's home directory, the tokens | ||
1068 | described in the TOKENS section and environment variables as | ||
1069 | described in the ENVIRONMENT VARIABLES section. The default is | ||
1057 | ~/.ssh/known_hosts, ~/.ssh/known_hosts2. | 1070 | ~/.ssh/known_hosts, ~/.ssh/known_hosts2. |
1058 | 1071 | ||
1059 | VerifyHostKeyDNS | 1072 | VerifyHostKeyDNS |
@@ -1122,6 +1135,8 @@ TOKENS | |||
1122 | %d Local user's home directory. | 1135 | %d Local user's home directory. |
1123 | %h The remote hostname. | 1136 | %h The remote hostname. |
1124 | %i The local user ID. | 1137 | %i The local user ID. |
1138 | %k The host key alias if specified, otherwise the orignal remote | ||
1139 | hostname given on the command line. | ||
1125 | %L The local hostname. | 1140 | %L The local hostname. |
1126 | %l The local hostname, including the domain name. | 1141 | %l The local hostname, including the domain name. |
1127 | %n The original remote hostname, as given on the command line. | 1142 | %n The original remote hostname, as given on the command line. |
@@ -1132,8 +1147,8 @@ TOKENS | |||
1132 | %u The local username. | 1147 | %u The local username. |
1133 | 1148 | ||
1134 | CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward, | 1149 | CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward, |
1135 | Match exec, RemoteCommand, and RemoteForward accept the tokens %%, %C, | 1150 | Match exec, RemoteCommand, RemoteForward, and UserKnownHostsFile accept |
1136 | %d, %h, %i, %L, %l, %n, %p, %r, and %u. | 1151 | the tokens %%, %C, %d, %h, %i, %L, %l, %n, %p, %r, and %u. |
1137 | 1152 | ||
1138 | Hostname accepts the tokens %% and %h. | 1153 | Hostname accepts the tokens %% and %h. |
1139 | 1154 | ||
@@ -1141,6 +1156,18 @@ TOKENS | |||
1141 | 1156 | ||
1142 | ProxyCommand accepts the tokens %%, %h, %n, %p, and %r. | 1157 | ProxyCommand accepts the tokens %%, %h, %n, %p, and %r. |
1143 | 1158 | ||
1159 | ENVIRONMENT VARIABLES | ||
1160 | Arguments to some keywords can be expanded at runtime from environment | ||
1161 | variables on the client by enclosing them in ${}, for example | ||
1162 | ${HOME}/.ssh would refer to the user's .ssh directory. If a specified | ||
1163 | environment variable does not exist then an error will be returned and | ||
1164 | the setting for that keyword will be ignored. | ||
1165 | |||
1166 | The keywords CertificateFile, ControlPath, IdentityAgent, IdentityFile | ||
1167 | and UserKnownHostsFile support environment variables. The keywords | ||
1168 | LocalForward and RemoteForward support environment variables only for | ||
1169 | Unix domain socket paths. | ||
1170 | |||
1144 | FILES | 1171 | FILES |
1145 | ~/.ssh/config | 1172 | ~/.ssh/config |
1146 | This is the per-user configuration file. The format of this file | 1173 | This is the per-user configuration file. The format of this file |
@@ -1164,4 +1191,4 @@ AUTHORS | |||
1164 | created OpenSSH. Markus Friedl contributed the support for SSH protocol | 1191 | created OpenSSH. Markus Friedl contributed the support for SSH protocol |
1165 | versions 1.5 and 2.0. | 1192 | versions 1.5 and 2.0. |
1166 | 1193 | ||
1167 | OpenBSD 6.7 April 11, 2020 OpenBSD 6.7 | 1194 | OpenBSD 6.8 August 11, 2020 OpenBSD 6.8 |
diff --git a/ssh_config.5 b/ssh_config.5 index 2574b1004..080d289a7 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.325 2020/04/11 20:20:09 jmc Exp $ | 36 | .\" $OpenBSD: ssh_config.5,v 1.332 2020/08/11 09:49:57 djm Exp $ |
37 | .Dd $Mdocdate: April 11 2020 $ | 37 | .Dd $Mdocdate: August 11 2020 $ |
38 | .Dt SSH_CONFIG 5 | 38 | .Dt SSH_CONFIG 5 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -268,13 +268,22 @@ option was specified to | |||
268 | If this option is set to | 268 | If this option is set to |
269 | .Cm no , | 269 | .Cm no , |
270 | no keys are added to the agent. | 270 | no keys are added to the agent. |
271 | Alternately, this option may be specified as a time interval | ||
272 | using the format described in the | ||
273 | .Sx TIME FORMATS | ||
274 | section of | ||
275 | .Xr sshd_config 5 | ||
276 | to specify the key's lifetime in | ||
277 | .Xr ssh-agent 1 , | ||
278 | after which it will automatically be removed. | ||
271 | The argument must be | 279 | The argument must be |
272 | .Cm yes , | ||
273 | .Cm confirm , | ||
274 | .Cm ask , | ||
275 | or | ||
276 | .Cm no | 280 | .Cm no |
277 | (the default). | 281 | (the default), |
282 | .Cm yes , | ||
283 | .Cm confirm | ||
284 | (optionally followed by a time interval), | ||
285 | .Cm ask | ||
286 | or a time interval. | ||
278 | .It Cm AddressFamily | 287 | .It Cm AddressFamily |
279 | Specifies which address family to use when connecting. | 288 | Specifies which address family to use when connecting. |
280 | Valid arguments are | 289 | Valid arguments are |
@@ -416,9 +425,11 @@ or | |||
416 | .Pp | 425 | .Pp |
417 | Arguments to | 426 | Arguments to |
418 | .Cm CertificateFile | 427 | .Cm CertificateFile |
419 | may use the tilde syntax to refer to a user's home directory | 428 | may use the tilde syntax to refer to a user's home directory, |
420 | or the tokens described in the | 429 | the tokens described in the |
421 | .Sx TOKENS | 430 | .Sx TOKENS |
431 | section and environment variables as described in the | ||
432 | .Sx ENVIRONMENT VARIABLES | ||
422 | section. | 433 | section. |
423 | .Pp | 434 | .Pp |
424 | It is possible to have multiple certificate files specified in | 435 | It is possible to have multiple certificate files specified in |
@@ -578,9 +589,11 @@ section above or the string | |||
578 | to disable connection sharing. | 589 | to disable connection sharing. |
579 | Arguments to | 590 | Arguments to |
580 | .Cm ControlPath | 591 | .Cm ControlPath |
581 | may use the tilde syntax to refer to a user's home directory | 592 | may use the tilde syntax to refer to a user's home directory, |
582 | or the tokens described in the | 593 | the tokens described in the |
583 | .Sx TOKENS | 594 | .Sx TOKENS |
595 | section and environment variables as described in the | ||
596 | .Sx ENVIRONMENT VARIABLES | ||
584 | section. | 597 | section. |
585 | It is recommended that any | 598 | It is recommended that any |
586 | .Cm ControlPath | 599 | .Cm ControlPath |
@@ -1022,9 +1035,11 @@ the location of the socket. | |||
1022 | .Pp | 1035 | .Pp |
1023 | Arguments to | 1036 | Arguments to |
1024 | .Cm IdentityAgent | 1037 | .Cm IdentityAgent |
1025 | may use the tilde syntax to refer to a user's home directory | 1038 | may use the tilde syntax to refer to a user's home directory, |
1026 | or the tokens described in the | 1039 | the tokens described in the |
1027 | .Sx TOKENS | 1040 | .Sx TOKENS |
1041 | section and environment variables as described in the | ||
1042 | .Sx ENVIRONMENT VARIABLES | ||
1028 | section. | 1043 | section. |
1029 | .It Cm IdentityFile | 1044 | .It Cm IdentityFile |
1030 | Specifies a file from which the user's DSA, ECDSA, authenticator-hosted ECDSA, | 1045 | Specifies a file from which the user's DSA, ECDSA, authenticator-hosted ECDSA, |
@@ -1092,6 +1107,7 @@ Multiple pathnames may be specified and each pathname may contain | |||
1092 | wildcards and, for user configurations, shell-like | 1107 | wildcards and, for user configurations, shell-like |
1093 | .Sq ~ | 1108 | .Sq ~ |
1094 | references to user home directories. | 1109 | references to user home directories. |
1110 | Wildcards will be expanded and processed in lexical order. | ||
1095 | Files without absolute paths are assumed to be in | 1111 | Files without absolute paths are assumed to be in |
1096 | .Pa ~/.ssh | 1112 | .Pa ~/.ssh |
1097 | if included in a user configuration file or | 1113 | if included in a user configuration file or |
@@ -1238,8 +1254,10 @@ indicates that the listening port be bound for local use only, while an | |||
1238 | empty address or | 1254 | empty address or |
1239 | .Sq * | 1255 | .Sq * |
1240 | indicates that the port should be available from all interfaces. | 1256 | indicates that the port should be available from all interfaces. |
1241 | Unix domain socket paths accept the tokens described in the | 1257 | Unix domain socket paths may use the tokens described in the |
1242 | .Sx TOKENS | 1258 | .Sx TOKENS |
1259 | section and environment variables as described in the | ||
1260 | .Sx ENVIRONMENT VARIABLES | ||
1243 | section. | 1261 | section. |
1244 | .It Cm LogLevel | 1262 | .It Cm LogLevel |
1245 | Gives the verbosity level that is used when logging messages from | 1263 | Gives the verbosity level that is used when logging messages from |
@@ -1509,8 +1527,10 @@ Multiple forwardings may be specified, and additional | |||
1509 | forwardings can be given on the command line. | 1527 | forwardings can be given on the command line. |
1510 | Privileged ports can be forwarded only when | 1528 | Privileged ports can be forwarded only when |
1511 | logging in as root on the remote machine. | 1529 | logging in as root on the remote machine. |
1512 | Unix domain socket paths accept the tokens described in the | 1530 | Unix domain socket paths may use the tokens described in the |
1513 | .Sx TOKENS | 1531 | .Sx TOKENS |
1532 | section and environment variables as described in the | ||
1533 | .Sx ENVIRONMENT VARIABLES | ||
1514 | section. | 1534 | section. |
1515 | .Pp | 1535 | .Pp |
1516 | If the | 1536 | If the |
@@ -1826,6 +1846,12 @@ having to remember to give the user name on the command line. | |||
1826 | .It Cm UserKnownHostsFile | 1846 | .It Cm UserKnownHostsFile |
1827 | Specifies one or more files to use for the user | 1847 | Specifies one or more files to use for the user |
1828 | host key database, separated by whitespace. | 1848 | host key database, separated by whitespace. |
1849 | Each filename may use tilde notation to refer to the user's home directory, | ||
1850 | the tokens described in the | ||
1851 | .Sx TOKENS | ||
1852 | section and environment variables as described in the | ||
1853 | .Sx ENVIRONMENT VARIABLES | ||
1854 | section. | ||
1829 | The default is | 1855 | The default is |
1830 | .Pa ~/.ssh/known_hosts , | 1856 | .Pa ~/.ssh/known_hosts , |
1831 | .Pa ~/.ssh/known_hosts2 . | 1857 | .Pa ~/.ssh/known_hosts2 . |
@@ -1932,6 +1958,9 @@ Local user's home directory. | |||
1932 | The remote hostname. | 1958 | The remote hostname. |
1933 | .It %i | 1959 | .It %i |
1934 | The local user ID. | 1960 | The local user ID. |
1961 | .It %k | ||
1962 | The host key alias if specified, otherwise the orignal remote hostname given | ||
1963 | on the command line. | ||
1935 | .It %L | 1964 | .It %L |
1936 | The local hostname. | 1965 | The local hostname. |
1937 | .It %l | 1966 | .It %l |
@@ -1962,8 +1991,9 @@ The local username. | |||
1962 | .Cm LocalForward , | 1991 | .Cm LocalForward , |
1963 | .Cm Match exec , | 1992 | .Cm Match exec , |
1964 | .Cm RemoteCommand , | 1993 | .Cm RemoteCommand , |
1994 | .Cm RemoteForward , | ||
1965 | and | 1995 | and |
1966 | .Cm RemoteForward | 1996 | .Cm UserKnownHostsFile |
1967 | accept the tokens %%, %C, %d, %h, %i, %L, %l, %n, %p, %r, and %u. | 1997 | accept the tokens %%, %C, %d, %h, %i, %L, %l, %n, %p, %r, and %u. |
1968 | .Pp | 1998 | .Pp |
1969 | .Cm Hostname | 1999 | .Cm Hostname |
@@ -1974,6 +2004,29 @@ accepts all tokens. | |||
1974 | .Pp | 2004 | .Pp |
1975 | .Cm ProxyCommand | 2005 | .Cm ProxyCommand |
1976 | accepts the tokens %%, %h, %n, %p, and %r. | 2006 | accepts the tokens %%, %h, %n, %p, and %r. |
2007 | .Sh ENVIRONMENT VARIABLES | ||
2008 | Arguments to some keywords can be expanded at runtime from environment | ||
2009 | variables on the client by enclosing them in | ||
2010 | .Ic ${} , | ||
2011 | for example | ||
2012 | .Ic ${HOME}/.ssh | ||
2013 | would refer to the user's .ssh directory. | ||
2014 | If a specified environment variable does not exist then an error will be | ||
2015 | returned and the setting for that keyword will be ignored. | ||
2016 | .Pp | ||
2017 | The keywords | ||
2018 | .Cm CertificateFile , | ||
2019 | .Cm ControlPath , | ||
2020 | .Cm IdentityAgent , | ||
2021 | .Cm IdentityFile | ||
2022 | and | ||
2023 | .Cm UserKnownHostsFile | ||
2024 | support environment variables. | ||
2025 | The keywords | ||
2026 | .Cm LocalForward | ||
2027 | and | ||
2028 | .Cm RemoteForward | ||
2029 | support environment variables only for Unix domain socket paths. | ||
1977 | .Sh FILES | 2030 | .Sh FILES |
1978 | .Bl -tag -width Ds | 2031 | .Bl -tag -width Ds |
1979 | .It Pa ~/.ssh/config | 2032 | .It Pa ~/.ssh/config |
diff --git a/sshbuf-getput-basic.c b/sshbuf-getput-basic.c index da834d008..9803fb5ed 100644 --- a/sshbuf-getput-basic.c +++ b/sshbuf-getput-basic.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshbuf-getput-basic.c,v 1.10 2019/12/13 19:09:37 djm Exp $ */ | 1 | /* $OpenBSD: sshbuf-getput-basic.c,v 1.11 2020/06/05 03:25:35 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller | 3 | * Copyright (c) 2011 Damien Miller |
4 | * | 4 | * |
@@ -338,6 +338,8 @@ sshbuf_put(struct sshbuf *buf, const void *v, size_t len) | |||
338 | int | 338 | int |
339 | sshbuf_putb(struct sshbuf *buf, const struct sshbuf *v) | 339 | sshbuf_putb(struct sshbuf *buf, const struct sshbuf *v) |
340 | { | 340 | { |
341 | if (v == NULL) | ||
342 | return 0; | ||
341 | return sshbuf_put(buf, sshbuf_ptr(v), sshbuf_len(v)); | 343 | return sshbuf_put(buf, sshbuf_ptr(v), sshbuf_len(v)); |
342 | } | 344 | } |
343 | 345 | ||
diff --git a/sshbuf-misc.c b/sshbuf-misc.c index 9b5aa208c..afaab8d61 100644 --- a/sshbuf-misc.c +++ b/sshbuf-misc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshbuf-misc.c,v 1.14 2020/02/26 13:40:09 jsg Exp $ */ | 1 | /* $OpenBSD: sshbuf-misc.c,v 1.16 2020/06/22 05:54:10 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller | 3 | * Copyright (c) 2011 Damien Miller |
4 | * | 4 | * |
@@ -63,7 +63,7 @@ sshbuf_dump_data(const void *s, size_t len, FILE *f) | |||
63 | } | 63 | } |
64 | 64 | ||
65 | void | 65 | void |
66 | sshbuf_dump(struct sshbuf *buf, FILE *f) | 66 | sshbuf_dump(const struct sshbuf *buf, FILE *f) |
67 | { | 67 | { |
68 | fprintf(f, "buffer %p len = %zu\n", buf, sshbuf_len(buf)); | 68 | fprintf(f, "buffer %p len = %zu\n", buf, sshbuf_len(buf)); |
69 | sshbuf_dump_data(sshbuf_ptr(buf), sshbuf_len(buf), f); | 69 | sshbuf_dump_data(sshbuf_ptr(buf), sshbuf_len(buf), f); |
@@ -167,6 +167,49 @@ sshbuf_b64tod(struct sshbuf *buf, const char *b64) | |||
167 | return 0; | 167 | return 0; |
168 | } | 168 | } |
169 | 169 | ||
170 | int | ||
171 | sshbuf_dtourlb64(const struct sshbuf *d, struct sshbuf *b64, int wrap) | ||
172 | { | ||
173 | int r = SSH_ERR_INTERNAL_ERROR; | ||
174 | u_char *p; | ||
175 | struct sshbuf *b = NULL; | ||
176 | size_t i, l; | ||
177 | |||
178 | if ((b = sshbuf_new()) == NULL) | ||
179 | return SSH_ERR_ALLOC_FAIL; | ||
180 | /* Encode using regular base64; we'll transform it once done */ | ||
181 | if ((r = sshbuf_dtob64(d, b, wrap)) != 0) | ||
182 | goto out; | ||
183 | /* remove padding from end of encoded string*/ | ||
184 | for (;;) { | ||
185 | l = sshbuf_len(b); | ||
186 | if (l <= 1 || sshbuf_ptr(b) == NULL) { | ||
187 | r = SSH_ERR_INTERNAL_ERROR; | ||
188 | goto out; | ||
189 | } | ||
190 | if (sshbuf_ptr(b)[l - 1] != '=') | ||
191 | break; | ||
192 | if ((r = sshbuf_consume_end(b, 1)) != 0) | ||
193 | goto out; | ||
194 | } | ||
195 | /* Replace characters with rfc4648 equivalents */ | ||
196 | l = sshbuf_len(b); | ||
197 | if ((p = sshbuf_mutable_ptr(b)) == NULL) { | ||
198 | r = SSH_ERR_INTERNAL_ERROR; | ||
199 | goto out; | ||
200 | } | ||
201 | for (i = 0; i < l; i++) { | ||
202 | if (p[i] == '+') | ||
203 | p[i] = '-'; | ||
204 | else if (p[i] == '/') | ||
205 | p[i] = '_'; | ||
206 | } | ||
207 | r = sshbuf_putb(b64, b); | ||
208 | out: | ||
209 | sshbuf_free(b); | ||
210 | return r; | ||
211 | } | ||
212 | |||
170 | char * | 213 | char * |
171 | sshbuf_dup_string(struct sshbuf *buf) | 214 | sshbuf_dup_string(struct sshbuf *buf) |
172 | { | 215 | { |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshbuf.h,v 1.21 2020/04/26 09:38:14 dtucker Exp $ */ | 1 | /* $OpenBSD: sshbuf.h,v 1.23 2020/06/22 05:54:10 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2011 Damien Miller | 3 | * Copyright (c) 2011 Damien Miller |
4 | * | 4 | * |
@@ -242,7 +242,7 @@ int sshbuf_put_eckey(struct sshbuf *buf, const EC_KEY *v); | |||
242 | #endif /* WITH_OPENSSL */ | 242 | #endif /* WITH_OPENSSL */ |
243 | 243 | ||
244 | /* Dump the contents of the buffer in a human-readable format */ | 244 | /* Dump the contents of the buffer in a human-readable format */ |
245 | void sshbuf_dump(struct sshbuf *buf, FILE *f); | 245 | void sshbuf_dump(const struct sshbuf *buf, FILE *f); |
246 | 246 | ||
247 | /* Dump specified memory in a human-readable format */ | 247 | /* Dump specified memory in a human-readable format */ |
248 | void sshbuf_dump_data(const void *s, size_t len, FILE *f); | 248 | void sshbuf_dump_data(const void *s, size_t len, FILE *f); |
@@ -253,6 +253,8 @@ char *sshbuf_dtob16(struct sshbuf *buf); | |||
253 | /* Encode the contents of the buffer as base64 */ | 253 | /* Encode the contents of the buffer as base64 */ |
254 | char *sshbuf_dtob64_string(const struct sshbuf *buf, int wrap); | 254 | char *sshbuf_dtob64_string(const struct sshbuf *buf, int wrap); |
255 | int sshbuf_dtob64(const struct sshbuf *d, struct sshbuf *b64, int wrap); | 255 | int sshbuf_dtob64(const struct sshbuf *d, struct sshbuf *b64, int wrap); |
256 | /* RFC4648 "base64url" encoding variant */ | ||
257 | int sshbuf_dtourlb64(const struct sshbuf *d, struct sshbuf *b64, int wrap); | ||
256 | 258 | ||
257 | /* Decode base64 data and append it to the buffer */ | 259 | /* Decode base64 data and append it to the buffer */ |
258 | int sshbuf_b64tod(struct sshbuf *buf, const char *b64); | 260 | int sshbuf_b64tod(struct sshbuf *buf, const char *b64); |
diff --git a/sshconnect.c b/sshconnect.c index 1e5b8ea5a..bab3916d8 100644 --- a/sshconnect.c +++ b/sshconnect.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect.c,v 1.329 2020/03/13 04:01:56 djm Exp $ */ | 1 | /* $OpenBSD: sshconnect.c,v 1.332 2020/09/09 21:57:27 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 |
@@ -89,11 +89,14 @@ expand_proxy_command(const char *proxy_command, const char *user, | |||
89 | const char *host, const char *host_arg, int port) | 89 | const char *host, const char *host_arg, int port) |
90 | { | 90 | { |
91 | char *tmp, *ret, strport[NI_MAXSERV]; | 91 | char *tmp, *ret, strport[NI_MAXSERV]; |
92 | const char *keyalias = options.host_key_alias ? | ||
93 | options.host_key_alias : host_arg; | ||
92 | 94 | ||
93 | snprintf(strport, sizeof strport, "%d", port); | 95 | snprintf(strport, sizeof strport, "%d", port); |
94 | xasprintf(&tmp, "exec %s", proxy_command); | 96 | xasprintf(&tmp, "exec %s", proxy_command); |
95 | ret = percent_expand(tmp, | 97 | ret = percent_expand(tmp, |
96 | "h", host, | 98 | "h", host, |
99 | "k", keyalias, | ||
97 | "n", host_arg, | 100 | "n", host_arg, |
98 | "p", strport, | 101 | "p", strport, |
99 | "r", options.user, | 102 | "r", options.user, |
@@ -594,7 +597,7 @@ confirm(const char *prompt, const char *fingerprint) | |||
594 | if (p[0] == '\0' || strcasecmp(p, "no") == 0) | 597 | if (p[0] == '\0' || strcasecmp(p, "no") == 0) |
595 | ret = 0; | 598 | ret = 0; |
596 | else if (strcasecmp(p, "yes") == 0 || (fingerprint != NULL && | 599 | else if (strcasecmp(p, "yes") == 0 || (fingerprint != NULL && |
597 | strcasecmp(p, fingerprint) == 0)) | 600 | strcmp(p, fingerprint) == 0)) |
598 | ret = 1; | 601 | ret = 1; |
599 | free(cp); | 602 | free(cp); |
600 | if (ret != -1) | 603 | if (ret != -1) |
@@ -1437,7 +1440,8 @@ maybe_add_key_to_agent(const char *authfile, struct sshkey *private, | |||
1437 | if (sshkey_is_sk(private)) | 1440 | if (sshkey_is_sk(private)) |
1438 | skprovider = options.sk_provider; | 1441 | skprovider = options.sk_provider; |
1439 | if ((r = ssh_add_identity_constrained(auth_sock, private, | 1442 | if ((r = ssh_add_identity_constrained(auth_sock, private, |
1440 | comment == NULL ? authfile : comment, 0, | 1443 | comment == NULL ? authfile : comment, |
1444 | options.add_keys_to_agent_lifespan, | ||
1441 | (options.add_keys_to_agent == 3), 0, skprovider)) == 0) | 1445 | (options.add_keys_to_agent == 3), 0, skprovider)) == 0) |
1442 | debug("identity added to agent: %s", authfile); | 1446 | debug("identity added to agent: %s", authfile); |
1443 | else | 1447 | else |
diff --git a/sshconnect2.c b/sshconnect2.c index 79a22e600..c47fc31a6 100644 --- a/sshconnect2.c +++ b/sshconnect2.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshconnect2.c,v 1.321 2020/04/17 03:38:47 djm Exp $ */ | 1 | /* $OpenBSD: sshconnect2.c,v 1.326 2020/09/18 05:23:03 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. |
@@ -100,12 +100,25 @@ verify_host_key_callback(struct sshkey *hostkey, struct ssh *ssh) | |||
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | /* Returns the first item from a comma-separated algorithm list */ | ||
104 | static char * | ||
105 | first_alg(const char *algs) | ||
106 | { | ||
107 | char *ret, *cp; | ||
108 | |||
109 | ret = xstrdup(algs); | ||
110 | if ((cp = strchr(ret, ',')) != NULL) | ||
111 | *cp = '\0'; | ||
112 | return ret; | ||
113 | } | ||
114 | |||
103 | static char * | 115 | static char * |
104 | order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) | 116 | order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) |
105 | { | 117 | { |
106 | char *oavail, *avail, *first, *last, *alg, *hostname, *ret; | 118 | char *oavail = NULL, *avail = NULL, *first = NULL, *last = NULL; |
119 | char *alg = NULL, *hostname = NULL, *ret = NULL, *best = NULL; | ||
107 | size_t maxlen; | 120 | size_t maxlen; |
108 | struct hostkeys *hostkeys; | 121 | struct hostkeys *hostkeys = NULL; |
109 | int ktype; | 122 | int ktype; |
110 | u_int i; | 123 | u_int i; |
111 | 124 | ||
@@ -117,6 +130,26 @@ order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) | |||
117 | for (i = 0; i < options.num_system_hostfiles; i++) | 130 | for (i = 0; i < options.num_system_hostfiles; i++) |
118 | load_hostkeys(hostkeys, hostname, options.system_hostfiles[i]); | 131 | load_hostkeys(hostkeys, hostname, options.system_hostfiles[i]); |
119 | 132 | ||
133 | /* | ||
134 | * If a plain public key exists that matches the type of the best | ||
135 | * preference HostkeyAlgorithms, then use the whole list as is. | ||
136 | * Note that we ignore whether the best preference algorithm is a | ||
137 | * certificate type, as sshconnect.c will downgrade certs to | ||
138 | * plain keys if necessary. | ||
139 | */ | ||
140 | best = first_alg(options.hostkeyalgorithms); | ||
141 | if (lookup_key_in_hostkeys_by_type(hostkeys, | ||
142 | sshkey_type_plain(sshkey_type_from_name(best)), NULL)) { | ||
143 | debug3("%s: have matching best-preference key type %s, " | ||
144 | "using HostkeyAlgorithms verbatim", __func__, best); | ||
145 | ret = xstrdup(options.hostkeyalgorithms); | ||
146 | goto out; | ||
147 | } | ||
148 | |||
149 | /* | ||
150 | * Otherwise, prefer the host key algorithms that match known keys | ||
151 | * while keeping the ordering of HostkeyAlgorithms as much as possible. | ||
152 | */ | ||
120 | oavail = avail = xstrdup(options.hostkeyalgorithms); | 153 | oavail = avail = xstrdup(options.hostkeyalgorithms); |
121 | maxlen = strlen(avail) + 1; | 154 | maxlen = strlen(avail) + 1; |
122 | first = xmalloc(maxlen); | 155 | first = xmalloc(maxlen); |
@@ -133,11 +166,23 @@ order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) | |||
133 | while ((alg = strsep(&avail, ",")) && *alg != '\0') { | 166 | while ((alg = strsep(&avail, ",")) && *alg != '\0') { |
134 | if ((ktype = sshkey_type_from_name(alg)) == KEY_UNSPEC) | 167 | if ((ktype = sshkey_type_from_name(alg)) == KEY_UNSPEC) |
135 | fatal("%s: unknown alg %s", __func__, alg); | 168 | fatal("%s: unknown alg %s", __func__, alg); |
169 | /* | ||
170 | * If we have a @cert-authority marker in known_hosts then | ||
171 | * prefer all certificate algorithms. | ||
172 | */ | ||
173 | if (sshkey_type_is_cert(ktype) && | ||
174 | lookup_marker_in_hostkeys(hostkeys, MRK_CA)) { | ||
175 | ALG_APPEND(first, alg); | ||
176 | continue; | ||
177 | } | ||
178 | /* If the key appears in known_hosts then prefer it */ | ||
136 | if (lookup_key_in_hostkeys_by_type(hostkeys, | 179 | if (lookup_key_in_hostkeys_by_type(hostkeys, |
137 | sshkey_type_plain(ktype), NULL)) | 180 | sshkey_type_plain(ktype), NULL)) { |
138 | ALG_APPEND(first, alg); | 181 | ALG_APPEND(first, alg); |
139 | else | 182 | continue; |
140 | ALG_APPEND(last, alg); | 183 | } |
184 | /* Otherwise, put it last */ | ||
185 | ALG_APPEND(last, alg); | ||
141 | } | 186 | } |
142 | #undef ALG_APPEND | 187 | #undef ALG_APPEND |
143 | xasprintf(&ret, "%s%s%s", first, | 188 | xasprintf(&ret, "%s%s%s", first, |
@@ -145,6 +190,8 @@ order_hostkeyalgs(char *host, struct sockaddr *hostaddr, u_short port) | |||
145 | if (*first != '\0') | 190 | if (*first != '\0') |
146 | debug3("%s: prefer hostkeyalgs: %s", __func__, first); | 191 | debug3("%s: prefer hostkeyalgs: %s", __func__, first); |
147 | 192 | ||
193 | out: | ||
194 | free(best); | ||
148 | free(first); | 195 | free(first); |
149 | free(last); | 196 | free(last); |
150 | free(hostname); | 197 | free(hostname); |
@@ -1288,7 +1335,8 @@ key_sig_algorithm(struct ssh *ssh, const struct sshkey *key) | |||
1288 | while ((cp = strsep(&allowed, ",")) != NULL) { | 1335 | while ((cp = strsep(&allowed, ",")) != NULL) { |
1289 | if (sshkey_type_from_name(cp) != key->type) | 1336 | if (sshkey_type_from_name(cp) != key->type) |
1290 | continue; | 1337 | continue; |
1291 | tmp = match_list(sshkey_sigalg_by_name(cp), ssh->kex->server_sig_algs, NULL); | 1338 | tmp = match_list(sshkey_sigalg_by_name(cp), |
1339 | ssh->kex->server_sig_algs, NULL); | ||
1292 | if (tmp != NULL) | 1340 | if (tmp != NULL) |
1293 | alg = xstrdup(cp); | 1341 | alg = xstrdup(cp); |
1294 | free(tmp); | 1342 | free(tmp); |
@@ -1306,7 +1354,7 @@ identity_sign(struct identity *id, u_char **sigp, size_t *lenp, | |||
1306 | struct sshkey *sign_key = NULL, *prv = NULL; | 1354 | struct sshkey *sign_key = NULL, *prv = NULL; |
1307 | int r = SSH_ERR_INTERNAL_ERROR; | 1355 | int r = SSH_ERR_INTERNAL_ERROR; |
1308 | struct notifier_ctx *notifier = NULL; | 1356 | struct notifier_ctx *notifier = NULL; |
1309 | char *fp = NULL; | 1357 | char *fp = NULL, *pin = NULL, *prompt = NULL; |
1310 | 1358 | ||
1311 | *sigp = NULL; | 1359 | *sigp = NULL; |
1312 | *lenp = 0; | 1360 | *lenp = 0; |
@@ -1335,20 +1383,28 @@ identity_sign(struct identity *id, u_char **sigp, size_t *lenp, | |||
1335 | goto out; | 1383 | goto out; |
1336 | } | 1384 | } |
1337 | sign_key = prv; | 1385 | sign_key = prv; |
1338 | if (sshkey_is_sk(sign_key) && | 1386 | if (sshkey_is_sk(sign_key)) { |
1339 | (sign_key->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { | 1387 | if ((sign_key->sk_flags & |
1340 | /* XXX match batch mode should just skip these keys? */ | 1388 | SSH_SK_USER_VERIFICATION_REQD)) { |
1341 | if ((fp = sshkey_fingerprint(sign_key, | 1389 | xasprintf(&prompt, "Enter PIN for %s key %s: ", |
1342 | options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL) | 1390 | sshkey_type(sign_key), id->filename); |
1343 | fatal("%s: sshkey_fingerprint", __func__); | 1391 | pin = read_passphrase(prompt, 0); |
1344 | notifier = notify_start(options.batch_mode, | 1392 | } |
1345 | "Confirm user presence for key %s %s", | 1393 | if ((sign_key->sk_flags & SSH_SK_USER_PRESENCE_REQD)) { |
1346 | sshkey_type(sign_key), fp); | 1394 | /* XXX should batch mode just skip these? */ |
1347 | free(fp); | 1395 | if ((fp = sshkey_fingerprint(sign_key, |
1396 | options.fingerprint_hash, | ||
1397 | SSH_FP_DEFAULT)) == NULL) | ||
1398 | fatal("%s: fingerprint", __func__); | ||
1399 | notifier = notify_start(options.batch_mode, | ||
1400 | "Confirm user presence for key %s %s", | ||
1401 | sshkey_type(sign_key), fp); | ||
1402 | free(fp); | ||
1403 | } | ||
1348 | } | 1404 | } |
1349 | } | 1405 | } |
1350 | if ((r = sshkey_sign(sign_key, sigp, lenp, data, datalen, | 1406 | if ((r = sshkey_sign(sign_key, sigp, lenp, data, datalen, |
1351 | alg, options.sk_provider, compat)) != 0) { | 1407 | alg, options.sk_provider, pin, compat)) != 0) { |
1352 | debug("%s: sshkey_sign: %s", __func__, ssh_err(r)); | 1408 | debug("%s: sshkey_sign: %s", __func__, ssh_err(r)); |
1353 | goto out; | 1409 | goto out; |
1354 | } | 1410 | } |
@@ -1363,6 +1419,9 @@ identity_sign(struct identity *id, u_char **sigp, size_t *lenp, | |||
1363 | /* success */ | 1419 | /* success */ |
1364 | r = 0; | 1420 | r = 0; |
1365 | out: | 1421 | out: |
1422 | free(prompt); | ||
1423 | if (pin != NULL) | ||
1424 | freezero(pin, strlen(pin)); | ||
1366 | notify_complete(notifier); | 1425 | notify_complete(notifier); |
1367 | sshkey_free(prv); | 1426 | sshkey_free(prv); |
1368 | return r; | 1427 | return r; |
@@ -1802,10 +1861,7 @@ pubkey_prepare(Authctxt *authctxt) | |||
1802 | } | 1861 | } |
1803 | ssh_free_identitylist(idlist); | 1862 | ssh_free_identitylist(idlist); |
1804 | /* append remaining agent keys */ | 1863 | /* append remaining agent keys */ |
1805 | for (id = TAILQ_FIRST(&agent); id; id = TAILQ_FIRST(&agent)) { | 1864 | TAILQ_CONCAT(preferred, &agent, next); |
1806 | TAILQ_REMOVE(&agent, id, next); | ||
1807 | TAILQ_INSERT_TAIL(preferred, id, next); | ||
1808 | } | ||
1809 | authctxt->agent_fd = agent_fd; | 1865 | authctxt->agent_fd = agent_fd; |
1810 | } | 1866 | } |
1811 | /* Prefer PKCS11 keys that are explicitly listed */ | 1867 | /* Prefer PKCS11 keys that are explicitly listed */ |
@@ -1831,10 +1887,7 @@ pubkey_prepare(Authctxt *authctxt) | |||
1831 | } | 1887 | } |
1832 | } | 1888 | } |
1833 | /* append remaining keys from the config file */ | 1889 | /* append remaining keys from the config file */ |
1834 | for (id = TAILQ_FIRST(&files); id; id = TAILQ_FIRST(&files)) { | 1890 | TAILQ_CONCAT(preferred, &files, next); |
1835 | TAILQ_REMOVE(&files, id, next); | ||
1836 | TAILQ_INSERT_TAIL(preferred, id, next); | ||
1837 | } | ||
1838 | /* finally, filter by PubkeyAcceptedKeyTypes */ | 1891 | /* finally, filter by PubkeyAcceptedKeyTypes */ |
1839 | TAILQ_FOREACH_SAFE(id, preferred, next, id2) { | 1892 | TAILQ_FOREACH_SAFE(id, preferred, next, id2) { |
1840 | if (id->key != NULL && !key_type_allowed_by_config(id->key)) { | 1893 | if (id->key != NULL && !key_type_allowed_by_config(id->key)) { |
@@ -391,6 +391,11 @@ AUTHORIZED_KEYS FILE FORMAT | |||
391 | using this key. This option only makes sense for the FIDO | 391 | using this key. This option only makes sense for the FIDO |
392 | authenticator algorithms ecdsa-sk and ed25519-sk. | 392 | authenticator algorithms ecdsa-sk and ed25519-sk. |
393 | 393 | ||
394 | verify-required | ||
395 | Require that signatures made using this key attest that they | ||
396 | verified the user, e.g. via a PIN. This option only makes sense | ||
397 | for the FIDO authenticator algorithms ecdsa-sk and ed25519-sk. | ||
398 | |||
394 | restrict | 399 | restrict |
395 | Enable all restrictions, i.e. disable port, agent and X11 | 400 | Enable all restrictions, i.e. disable port, agent and X11 |
396 | forwarding, as well as disabling PTY allocation and execution of | 401 | forwarding, as well as disabling PTY allocation and execution of |
@@ -664,4 +669,4 @@ AUTHORS | |||
664 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support | 669 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support |
665 | for privilege separation. | 670 | for privilege separation. |
666 | 671 | ||
667 | OpenBSD 6.7 January 25, 2020 OpenBSD 6.7 | 672 | OpenBSD 6.8 August 27, 2020 OpenBSD 6.8 |
@@ -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.8,v 1.312 2020/01/25 06:03:10 djm Exp $ | 36 | .\" $OpenBSD: sshd.8,v 1.313 2020/08/27 01:07:10 djm Exp $ |
37 | .Dd $Mdocdate: January 25 2020 $ | 37 | .Dd $Mdocdate: August 27 2020 $ |
38 | .Dt SSHD 8 | 38 | .Dt SSHD 8 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -631,6 +631,13 @@ This option only makes sense for the FIDO authenticator algorithms | |||
631 | .Cm ecdsa-sk | 631 | .Cm ecdsa-sk |
632 | and | 632 | and |
633 | .Cm ed25519-sk . | 633 | .Cm ed25519-sk . |
634 | .It Cm verify-required | ||
635 | Require that signatures made using this key attest that they verified | ||
636 | the user, e.g. via a PIN. | ||
637 | This option only makes sense for the FIDO authenticator algorithms | ||
638 | .Cm ecdsa-sk | ||
639 | and | ||
640 | .Cm ed25519-sk . | ||
634 | .It Cm restrict | 641 | .It Cm restrict |
635 | Enable all restrictions, i.e. disable port, agent and X11 forwarding, | 642 | Enable all restrictions, i.e. disable port, agent and X11 forwarding, |
636 | as well as disabling PTY allocation | 643 | as well as disabling PTY allocation |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshd.c,v 1.552 2020/03/13 04:01:57 djm Exp $ */ | 1 | /* $OpenBSD: sshd.c,v 1.561 2020/08/27 01:06:19 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 |
@@ -840,7 +840,7 @@ notify_hostkeys(struct ssh *ssh) | |||
840 | * all connections are dropped for startups > max_startups | 840 | * all connections are dropped for startups > max_startups |
841 | */ | 841 | */ |
842 | static int | 842 | static int |
843 | drop_connection(int startups) | 843 | should_drop_connection(int startups) |
844 | { | 844 | { |
845 | int p, r; | 845 | int p, r; |
846 | 846 | ||
@@ -857,10 +857,68 @@ drop_connection(int startups) | |||
857 | p += options.max_startups_rate; | 857 | p += options.max_startups_rate; |
858 | r = arc4random_uniform(100); | 858 | r = arc4random_uniform(100); |
859 | 859 | ||
860 | debug("drop_connection: p %d, r %d", p, r); | 860 | debug("%s: p %d, r %d", __func__, p, r); |
861 | return (r < p) ? 1 : 0; | 861 | return (r < p) ? 1 : 0; |
862 | } | 862 | } |
863 | 863 | ||
864 | /* | ||
865 | * Check whether connection should be accepted by MaxStartups. | ||
866 | * Returns 0 if the connection is accepted. If the connection is refused, | ||
867 | * returns 1 and attempts to send notification to client. | ||
868 | * Logs when the MaxStartups condition is entered or exited, and periodically | ||
869 | * while in that state. | ||
870 | */ | ||
871 | static int | ||
872 | drop_connection(int sock, int startups) | ||
873 | { | ||
874 | char *laddr, *raddr; | ||
875 | const char msg[] = "Exceeded MaxStartups\r\n"; | ||
876 | static time_t last_drop, first_drop; | ||
877 | static u_int ndropped; | ||
878 | LogLevel drop_level = SYSLOG_LEVEL_VERBOSE; | ||
879 | time_t now; | ||
880 | |||
881 | now = monotime(); | ||
882 | if (!should_drop_connection(startups)) { | ||
883 | if (last_drop != 0 && | ||
884 | startups < options.max_startups_begin - 1) { | ||
885 | /* XXX maybe need better hysteresis here */ | ||
886 | logit("exited MaxStartups throttling after %s, " | ||
887 | "%u connections dropped", | ||
888 | fmt_timeframe(now - first_drop), ndropped); | ||
889 | last_drop = 0; | ||
890 | } | ||
891 | return 0; | ||
892 | } | ||
893 | |||
894 | #define SSHD_MAXSTARTUPS_LOG_INTERVAL (5 * 60) | ||
895 | if (last_drop == 0) { | ||
896 | error("beginning MaxStartups throttling"); | ||
897 | drop_level = SYSLOG_LEVEL_INFO; | ||
898 | first_drop = now; | ||
899 | ndropped = 0; | ||
900 | } else if (last_drop + SSHD_MAXSTARTUPS_LOG_INTERVAL < now) { | ||
901 | /* Periodic logs */ | ||
902 | error("in MaxStartups throttling for %s, " | ||
903 | "%u connections dropped", | ||
904 | fmt_timeframe(now - first_drop), ndropped + 1); | ||
905 | drop_level = SYSLOG_LEVEL_INFO; | ||
906 | } | ||
907 | last_drop = now; | ||
908 | ndropped++; | ||
909 | |||
910 | laddr = get_local_ipaddr(sock); | ||
911 | raddr = get_peer_ipaddr(sock); | ||
912 | do_log2(drop_level, "drop connection #%d from [%s]:%d on [%s]:%d " | ||
913 | "past MaxStartups", startups, raddr, get_peer_port(sock), | ||
914 | laddr, get_local_port(sock)); | ||
915 | free(laddr); | ||
916 | free(raddr); | ||
917 | /* best-effort notification to client */ | ||
918 | (void)write(sock, msg, sizeof(msg) - 1); | ||
919 | return 1; | ||
920 | } | ||
921 | |||
864 | static void | 922 | static void |
865 | usage(void) | 923 | usage(void) |
866 | { | 924 | { |
@@ -918,7 +976,7 @@ send_rexec_state(int fd, struct sshbuf *conf) | |||
918 | rexec_send_rng_seed(m); | 976 | rexec_send_rng_seed(m); |
919 | #endif | 977 | #endif |
920 | if (ssh_msg_send(fd, 0, m) == -1) | 978 | if (ssh_msg_send(fd, 0, m) == -1) |
921 | fatal("%s: ssh_msg_send failed", __func__); | 979 | error("%s: ssh_msg_send failed", __func__); |
922 | 980 | ||
923 | sshbuf_free(m); | 981 | sshbuf_free(m); |
924 | sshbuf_free(inc); | 982 | sshbuf_free(inc); |
@@ -1217,27 +1275,9 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1217 | usleep(100 * 1000); | 1275 | usleep(100 * 1000); |
1218 | continue; | 1276 | continue; |
1219 | } | 1277 | } |
1220 | if (unset_nonblock(*newsock) == -1) { | 1278 | if (unset_nonblock(*newsock) == -1 || |
1221 | close(*newsock); | 1279 | drop_connection(*newsock, startups) || |
1222 | continue; | 1280 | pipe(startup_p) == -1) { |
1223 | } | ||
1224 | if (drop_connection(startups) == 1) { | ||
1225 | char *laddr = get_local_ipaddr(*newsock); | ||
1226 | char *raddr = get_peer_ipaddr(*newsock); | ||
1227 | char msg[] = "Exceeded MaxStartups\r\n"; | ||
1228 | |||
1229 | verbose("drop connection #%d from [%s]:%d " | ||
1230 | "on [%s]:%d past MaxStartups", startups, | ||
1231 | raddr, get_peer_port(*newsock), | ||
1232 | laddr, get_local_port(*newsock)); | ||
1233 | free(laddr); | ||
1234 | free(raddr); | ||
1235 | /* best-effort notification to client */ | ||
1236 | (void)write(*newsock, msg, strlen(msg)); | ||
1237 | close(*newsock); | ||
1238 | continue; | ||
1239 | } | ||
1240 | if (pipe(startup_p) == -1) { | ||
1241 | close(*newsock); | 1281 | close(*newsock); |
1242 | continue; | 1282 | continue; |
1243 | } | 1283 | } |
@@ -1339,9 +1379,9 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) | |||
1339 | close(startup_p[1]); | 1379 | close(startup_p[1]); |
1340 | 1380 | ||
1341 | if (rexec_flag) { | 1381 | if (rexec_flag) { |
1382 | close(config_s[1]); | ||
1342 | send_rexec_state(config_s[0], cfg); | 1383 | send_rexec_state(config_s[0], cfg); |
1343 | close(config_s[0]); | 1384 | close(config_s[0]); |
1344 | close(config_s[1]); | ||
1345 | } | 1385 | } |
1346 | close(*newsock); | 1386 | close(*newsock); |
1347 | 1387 | ||
@@ -1697,6 +1737,7 @@ main(int ac, char **av) | |||
1697 | if ((cfg = sshbuf_new()) == NULL) | 1737 | if ((cfg = sshbuf_new()) == NULL) |
1698 | fatal("%s: sshbuf_new failed", __func__); | 1738 | fatal("%s: sshbuf_new failed", __func__); |
1699 | if (rexeced_flag) { | 1739 | if (rexeced_flag) { |
1740 | setproctitle("%s", "[rexeced]"); | ||
1700 | recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg); | 1741 | recv_rexec_state(REEXEC_CONFIG_PASS_FD, cfg); |
1701 | if (!debug_flag) { | 1742 | if (!debug_flag) { |
1702 | startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); | 1743 | startup_pipe = dup(REEXEC_STARTUP_PIPE_FD); |
@@ -1820,10 +1861,19 @@ main(int ac, char **av) | |||
1820 | &pubkey, NULL)) != 0 && r != SSH_ERR_SYSTEM_ERROR) | 1861 | &pubkey, NULL)) != 0 && r != SSH_ERR_SYSTEM_ERROR) |
1821 | do_log2(ll, "Unable to load host key \"%s\": %s", | 1862 | do_log2(ll, "Unable to load host key \"%s\": %s", |
1822 | options.host_key_files[i], ssh_err(r)); | 1863 | options.host_key_files[i], ssh_err(r)); |
1823 | if (pubkey == NULL && key != NULL) | 1864 | if (pubkey != NULL && key != NULL) { |
1865 | if (!sshkey_equal(pubkey, key)) { | ||
1866 | error("Public key for %s does not match " | ||
1867 | "private key", options.host_key_files[i]); | ||
1868 | sshkey_free(pubkey); | ||
1869 | pubkey = NULL; | ||
1870 | } | ||
1871 | } | ||
1872 | if (pubkey == NULL && key != NULL) { | ||
1824 | if ((r = sshkey_from_private(key, &pubkey)) != 0) | 1873 | if ((r = sshkey_from_private(key, &pubkey)) != 0) |
1825 | fatal("Could not demote key: \"%s\": %s", | 1874 | fatal("Could not demote key: \"%s\": %s", |
1826 | options.host_key_files[i], ssh_err(r)); | 1875 | options.host_key_files[i], ssh_err(r)); |
1876 | } | ||
1827 | sensitive_data.host_keys[i] = key; | 1877 | sensitive_data.host_keys[i] = key; |
1828 | sensitive_data.host_pubkeys[i] = pubkey; | 1878 | sensitive_data.host_pubkeys[i] = pubkey; |
1829 | 1879 | ||
@@ -2076,6 +2126,7 @@ main(int ac, char **av) | |||
2076 | dup2(config_s[1], REEXEC_CONFIG_PASS_FD); | 2126 | dup2(config_s[1], REEXEC_CONFIG_PASS_FD); |
2077 | close(config_s[1]); | 2127 | close(config_s[1]); |
2078 | 2128 | ||
2129 | ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ | ||
2079 | execv(rexec_argv[0], rexec_argv); | 2130 | execv(rexec_argv[0], rexec_argv); |
2080 | 2131 | ||
2081 | /* Reexec has failed, fall back and continue */ | 2132 | /* Reexec has failed, fall back and continue */ |
@@ -2322,19 +2373,19 @@ sshd_hostkey_sign(struct ssh *ssh, struct sshkey *privkey, | |||
2322 | if (use_privsep) { | 2373 | if (use_privsep) { |
2323 | if (privkey) { | 2374 | if (privkey) { |
2324 | if (mm_sshkey_sign(ssh, privkey, signature, slenp, | 2375 | if (mm_sshkey_sign(ssh, privkey, signature, slenp, |
2325 | data, dlen, alg, options.sk_provider, | 2376 | data, dlen, alg, options.sk_provider, NULL, |
2326 | ssh->compat) < 0) | 2377 | ssh->compat) < 0) |
2327 | fatal("%s: privkey sign failed", __func__); | 2378 | fatal("%s: privkey sign failed", __func__); |
2328 | } else { | 2379 | } else { |
2329 | if (mm_sshkey_sign(ssh, pubkey, signature, slenp, | 2380 | if (mm_sshkey_sign(ssh, pubkey, signature, slenp, |
2330 | data, dlen, alg, options.sk_provider, | 2381 | data, dlen, alg, options.sk_provider, NULL, |
2331 | ssh->compat) < 0) | 2382 | ssh->compat) < 0) |
2332 | fatal("%s: pubkey sign failed", __func__); | 2383 | fatal("%s: pubkey sign failed", __func__); |
2333 | } | 2384 | } |
2334 | } else { | 2385 | } else { |
2335 | if (privkey) { | 2386 | if (privkey) { |
2336 | if (sshkey_sign(privkey, signature, slenp, data, dlen, | 2387 | if (sshkey_sign(privkey, signature, slenp, data, dlen, |
2337 | alg, options.sk_provider, ssh->compat) < 0) | 2388 | alg, options.sk_provider, NULL, ssh->compat) < 0) |
2338 | fatal("%s: privkey sign failed", __func__); | 2389 | fatal("%s: privkey sign failed", __func__); |
2339 | } else { | 2390 | } else { |
2340 | if ((r = ssh_agent_sign(auth_sock, pubkey, | 2391 | if ((r = ssh_agent_sign(auth_sock, pubkey, |
@@ -2460,10 +2511,11 @@ do_ssh2_kex(struct ssh *ssh) | |||
2460 | 2511 | ||
2461 | #ifdef DEBUG_KEXDH | 2512 | #ifdef DEBUG_KEXDH |
2462 | /* send 1st encrypted/maced/compressed message */ | 2513 | /* send 1st encrypted/maced/compressed message */ |
2463 | packet_start(SSH2_MSG_IGNORE); | 2514 | if ((r = sshpkt_start(ssh, SSH2_MSG_IGNORE)) != 0 || |
2464 | packet_put_cstring("markus"); | 2515 | (r = sshpkt_put_cstring(ssh, "markus")) != 0 || |
2465 | packet_send(); | 2516 | (r = sshpkt_send(ssh)) != 0 || |
2466 | packet_write_wait(); | 2517 | (r = ssh_packet_write_wait(ssh)) != 0) |
2518 | fatal("%s: send test: %s", __func__, ssh_err(r)); | ||
2467 | #endif | 2519 | #endif |
2468 | debug("KEX done"); | 2520 | debug("KEX done"); |
2469 | } | 2521 | } |
diff --git a/sshd_config.0 b/sshd_config.0 index e75ed1b32..8132c3f15 100644 --- a/sshd_config.0 +++ b/sshd_config.0 | |||
@@ -497,10 +497,11 @@ DESCRIPTION | |||
497 | 497 | ||
498 | Include | 498 | Include |
499 | Include the specified configuration file(s). Multiple pathnames | 499 | Include the specified configuration file(s). Multiple pathnames |
500 | may be specified and each pathname may contain glob(7) wildcards. | 500 | may be specified and each pathname may contain glob(7) wildcards |
501 | Files without absolute paths are assumed to be in /etc/ssh. An | 501 | that will be expanded and processed in lexical order. Files |
502 | Include directive may appear inside a Match block to perform | 502 | without absolute paths are assumed to be in /etc/ssh. An Include |
503 | conditional inclusion. | 503 | directive may appear inside a Match block to perform conditional |
504 | inclusion. | ||
504 | 505 | ||
505 | IPQoS Specifies the IPv4 type-of-service or DSCP class for the | 506 | IPQoS Specifies the IPv4 type-of-service or DSCP class for the |
506 | connection. Accepted values are af11, af12, af13, af21, af22, | 507 | connection. Accepted values are af11, af12, af13, af21, af22, |
@@ -866,9 +867,10 @@ DESCRIPTION | |||
866 | -Q PubkeyAcceptedKeyTypes". | 867 | -Q PubkeyAcceptedKeyTypes". |
867 | 868 | ||
868 | PubkeyAuthOptions | 869 | PubkeyAuthOptions |
869 | Sets one or more public key authentication options. Two option | 870 | Sets one or more public key authentication options. The |
870 | keywords are currently supported: none (the default; indicating | 871 | supported keywords are: none (the default; indicating no |
871 | no additional options are enabled) and touch-required. | 872 | additional options are enabled), touch-required and |
873 | verify-required. | ||
872 | 874 | ||
873 | The touch-required option causes public key authentication using | 875 | The touch-required option causes public key authentication using |
874 | a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to | 876 | a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to |
@@ -876,8 +878,13 @@ DESCRIPTION | |||
876 | user explicitly confirmed the authentication (usually by touching | 878 | user explicitly confirmed the authentication (usually by touching |
877 | the authenticator). By default, sshd(8) requires user presence | 879 | the authenticator). By default, sshd(8) requires user presence |
878 | unless overridden with an authorized_keys option. The | 880 | unless overridden with an authorized_keys option. The |
879 | touch-required flag disables this override. This option has no | 881 | touch-required flag disables this override. |
880 | effect for other, non-authenticator public key types. | 882 | |
883 | The verify-required option requires a FIDO key signature attest | ||
884 | that the user was verified, e.g. via a PIN. | ||
885 | |||
886 | Neither the touch-required or verify-required options have any | ||
887 | effect for other, non-FIDO, public key types. | ||
881 | 888 | ||
882 | PubkeyAuthentication | 889 | PubkeyAuthentication |
883 | Specifies whether public key authentication is allowed. The | 890 | Specifies whether public key authentication is allowed. The |
@@ -1143,4 +1150,4 @@ AUTHORS | |||
1143 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support | 1150 | versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support |
1144 | for privilege separation. | 1151 | for privilege separation. |
1145 | 1152 | ||
1146 | OpenBSD 6.7 April 17, 2020 OpenBSD 6.7 | 1153 | OpenBSD 6.8 August 27, 2020 OpenBSD 6.8 |
diff --git a/sshd_config.5 b/sshd_config.5 index 88db4db07..a555e7ec3 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.311 2020/04/17 06:12:41 jmc Exp $ | 36 | .\" $OpenBSD: sshd_config.5,v 1.315 2020/08/27 12:34:00 jmc Exp $ |
37 | .Dd $Mdocdate: April 17 2020 $ | 37 | .Dd $Mdocdate: August 27 2020 $ |
38 | .Dt SSHD_CONFIG 5 | 38 | .Dt SSHD_CONFIG 5 |
39 | .Os | 39 | .Os |
40 | .Sh NAME | 40 | .Sh NAME |
@@ -880,7 +880,7 @@ The default is | |||
880 | Include the specified configuration file(s). | 880 | Include the specified configuration file(s). |
881 | Multiple pathnames may be specified and each pathname may contain | 881 | Multiple pathnames may be specified and each pathname may contain |
882 | .Xr glob 7 | 882 | .Xr glob 7 |
883 | wildcards. | 883 | wildcards that will be expanded and processed in lexical order. |
884 | Files without absolute paths are assumed to be in | 884 | Files without absolute paths are assumed to be in |
885 | .Pa /etc/ssh . | 885 | .Pa /etc/ssh . |
886 | An | 886 | An |
@@ -1537,11 +1537,12 @@ The list of available key types may also be obtained using | |||
1537 | .Qq ssh -Q PubkeyAcceptedKeyTypes . | 1537 | .Qq ssh -Q PubkeyAcceptedKeyTypes . |
1538 | .It Cm PubkeyAuthOptions | 1538 | .It Cm PubkeyAuthOptions |
1539 | Sets one or more public key authentication options. | 1539 | Sets one or more public key authentication options. |
1540 | Two option keywords are currently supported: | 1540 | The supported keywords are: |
1541 | .Cm none | 1541 | .Cm none |
1542 | (the default; indicating no additional options are enabled) | 1542 | (the default; indicating no additional options are enabled), |
1543 | .Cm touch-required | ||
1543 | and | 1544 | and |
1544 | .Cm touch-required . | 1545 | .Cm verify-required . |
1545 | .Pp | 1546 | .Pp |
1546 | The | 1547 | The |
1547 | .Cm touch-required | 1548 | .Cm touch-required |
@@ -1558,7 +1559,17 @@ requires user presence unless overridden with an authorized_keys option. | |||
1558 | The | 1559 | The |
1559 | .Cm touch-required | 1560 | .Cm touch-required |
1560 | flag disables this override. | 1561 | flag disables this override. |
1561 | This option has no effect for other, non-authenticator public key types. | 1562 | .Pp |
1563 | The | ||
1564 | .Cm verify-required | ||
1565 | option requires a FIDO key signature attest that the user was verified, | ||
1566 | e.g. via a PIN. | ||
1567 | .Pp | ||
1568 | Neither the | ||
1569 | .Cm touch-required | ||
1570 | or | ||
1571 | .Cm verify-required | ||
1572 | options have any effect for other, non-FIDO, public key types. | ||
1562 | .It Cm PubkeyAuthentication | 1573 | .It Cm PubkeyAuthentication |
1563 | Specifies whether public key authentication is allowed. | 1574 | Specifies whether public key authentication is allowed. |
1564 | The default is | 1575 | The default is |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey.c,v 1.108 2020/04/11 10:16:11 djm Exp $ */ | 1 | /* $OpenBSD: sshkey.c,v 1.111 2020/08/27 01:06:19 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. |
@@ -132,6 +132,8 @@ static const struct keytype keytypes[] = { | |||
132 | # endif /* OPENSSL_HAS_NISTP521 */ | 132 | # endif /* OPENSSL_HAS_NISTP521 */ |
133 | { "sk-ecdsa-sha2-nistp256@openssh.com", "ECDSA-SK", NULL, | 133 | { "sk-ecdsa-sha2-nistp256@openssh.com", "ECDSA-SK", NULL, |
134 | KEY_ECDSA_SK, NID_X9_62_prime256v1, 0, 0 }, | 134 | KEY_ECDSA_SK, NID_X9_62_prime256v1, 0, 0 }, |
135 | { "webauthn-sk-ecdsa-sha2-nistp256@openssh.com", "ECDSA-SK", NULL, | ||
136 | KEY_ECDSA_SK, NID_X9_62_prime256v1, 0, 1 }, | ||
135 | # endif /* OPENSSL_HAS_ECC */ | 137 | # endif /* OPENSSL_HAS_ECC */ |
136 | { "ssh-rsa-cert-v01@openssh.com", "RSA-CERT", NULL, | 138 | { "ssh-rsa-cert-v01@openssh.com", "RSA-CERT", NULL, |
137 | KEY_RSA_CERT, 0, 1, 0 }, | 139 | KEY_RSA_CERT, 0, 1, 0 }, |
@@ -2726,7 +2728,7 @@ int | |||
2726 | sshkey_sign(struct sshkey *key, | 2728 | sshkey_sign(struct sshkey *key, |
2727 | u_char **sigp, size_t *lenp, | 2729 | u_char **sigp, size_t *lenp, |
2728 | const u_char *data, size_t datalen, | 2730 | const u_char *data, size_t datalen, |
2729 | const char *alg, const char *sk_provider, u_int compat) | 2731 | const char *alg, const char *sk_provider, const char *sk_pin, u_int compat) |
2730 | { | 2732 | { |
2731 | int was_shielded = sshkey_is_shielded(key); | 2733 | int was_shielded = sshkey_is_shielded(key); |
2732 | int r2, r = SSH_ERR_INTERNAL_ERROR; | 2734 | int r2, r = SSH_ERR_INTERNAL_ERROR; |
@@ -2765,7 +2767,7 @@ sshkey_sign(struct sshkey *key, | |||
2765 | case KEY_ECDSA_SK_CERT: | 2767 | case KEY_ECDSA_SK_CERT: |
2766 | case KEY_ECDSA_SK: | 2768 | case KEY_ECDSA_SK: |
2767 | r = sshsk_sign(sk_provider, key, sigp, lenp, data, | 2769 | r = sshsk_sign(sk_provider, key, sigp, lenp, data, |
2768 | datalen, compat, /* XXX PIN */ NULL); | 2770 | datalen, compat, sk_pin); |
2769 | break; | 2771 | break; |
2770 | #ifdef WITH_XMSS | 2772 | #ifdef WITH_XMSS |
2771 | case KEY_XMSS: | 2773 | case KEY_XMSS: |
@@ -2887,7 +2889,8 @@ sshkey_drop_cert(struct sshkey *k) | |||
2887 | /* Sign a certified key, (re-)generating the signed certblob. */ | 2889 | /* Sign a certified key, (re-)generating the signed certblob. */ |
2888 | int | 2890 | int |
2889 | sshkey_certify_custom(struct sshkey *k, struct sshkey *ca, const char *alg, | 2891 | sshkey_certify_custom(struct sshkey *k, struct sshkey *ca, const char *alg, |
2890 | const char *sk_provider, sshkey_certify_signer *signer, void *signer_ctx) | 2892 | const char *sk_provider, const char *sk_pin, |
2893 | sshkey_certify_signer *signer, void *signer_ctx) | ||
2891 | { | 2894 | { |
2892 | struct sshbuf *principals = NULL; | 2895 | struct sshbuf *principals = NULL; |
2893 | u_char *ca_blob = NULL, *sig_blob = NULL, nonce[32]; | 2896 | u_char *ca_blob = NULL, *sig_blob = NULL, nonce[32]; |
@@ -3025,7 +3028,7 @@ sshkey_certify_custom(struct sshkey *k, struct sshkey *ca, const char *alg, | |||
3025 | 3028 | ||
3026 | /* Sign the whole mess */ | 3029 | /* Sign the whole mess */ |
3027 | if ((ret = signer(ca, &sig_blob, &sig_len, sshbuf_ptr(cert), | 3030 | if ((ret = signer(ca, &sig_blob, &sig_len, sshbuf_ptr(cert), |
3028 | sshbuf_len(cert), alg, sk_provider, 0, signer_ctx)) != 0) | 3031 | sshbuf_len(cert), alg, sk_provider, sk_pin, 0, signer_ctx)) != 0) |
3029 | goto out; | 3032 | goto out; |
3030 | /* Check and update signature_type against what was actually used */ | 3033 | /* Check and update signature_type against what was actually used */ |
3031 | if ((ret = sshkey_get_sigtype(sig_blob, sig_len, &sigtype)) != 0) | 3034 | if ((ret = sshkey_get_sigtype(sig_blob, sig_len, &sigtype)) != 0) |
@@ -3055,19 +3058,20 @@ sshkey_certify_custom(struct sshkey *k, struct sshkey *ca, const char *alg, | |||
3055 | static int | 3058 | static int |
3056 | default_key_sign(struct sshkey *key, u_char **sigp, size_t *lenp, | 3059 | default_key_sign(struct sshkey *key, u_char **sigp, size_t *lenp, |
3057 | const u_char *data, size_t datalen, | 3060 | const u_char *data, size_t datalen, |
3058 | const char *alg, const char *sk_provider, u_int compat, void *ctx) | 3061 | const char *alg, const char *sk_provider, const char *sk_pin, |
3062 | u_int compat, void *ctx) | ||
3059 | { | 3063 | { |
3060 | if (ctx != NULL) | 3064 | if (ctx != NULL) |
3061 | return SSH_ERR_INVALID_ARGUMENT; | 3065 | return SSH_ERR_INVALID_ARGUMENT; |
3062 | return sshkey_sign(key, sigp, lenp, data, datalen, alg, | 3066 | return sshkey_sign(key, sigp, lenp, data, datalen, alg, |
3063 | sk_provider, compat); | 3067 | sk_provider, sk_pin, compat); |
3064 | } | 3068 | } |
3065 | 3069 | ||
3066 | int | 3070 | int |
3067 | sshkey_certify(struct sshkey *k, struct sshkey *ca, const char *alg, | 3071 | sshkey_certify(struct sshkey *k, struct sshkey *ca, const char *alg, |
3068 | const char *sk_provider) | 3072 | const char *sk_provider, const char *sk_pin) |
3069 | { | 3073 | { |
3070 | return sshkey_certify_custom(k, ca, alg, sk_provider, | 3074 | return sshkey_certify_custom(k, ca, alg, sk_provider, sk_pin, |
3071 | default_key_sign, NULL); | 3075 | default_key_sign, NULL); |
3072 | } | 3076 | } |
3073 | 3077 | ||
@@ -3599,10 +3603,12 @@ sshkey_private_deserialize(struct sshbuf *buf, struct sshkey **kp) | |||
3599 | case KEY_XMSS: | 3603 | case KEY_XMSS: |
3600 | case KEY_XMSS_CERT: | 3604 | case KEY_XMSS_CERT: |
3601 | if ((r = sshbuf_get_cstring(buf, &xmss_name, NULL)) != 0 || | 3605 | if ((r = sshbuf_get_cstring(buf, &xmss_name, NULL)) != 0 || |
3602 | (r = sshkey_xmss_init(k, xmss_name)) != 0 || | ||
3603 | (r = sshbuf_get_string(buf, &xmss_pk, &pklen)) != 0 || | 3606 | (r = sshbuf_get_string(buf, &xmss_pk, &pklen)) != 0 || |
3604 | (r = sshbuf_get_string(buf, &xmss_sk, &sklen)) != 0) | 3607 | (r = sshbuf_get_string(buf, &xmss_sk, &sklen)) != 0) |
3605 | goto out; | 3608 | goto out; |
3609 | if (type == KEY_XMSS && | ||
3610 | (r = sshkey_xmss_init(k, xmss_name)) != 0) | ||
3611 | goto out; | ||
3606 | if (pklen != sshkey_xmss_pklen(k) || | 3612 | if (pklen != sshkey_xmss_pklen(k) || |
3607 | sklen != sshkey_xmss_sklen(k)) { | 3613 | sklen != sshkey_xmss_sklen(k)) { |
3608 | r = SSH_ERR_INVALID_FORMAT; | 3614 | r = SSH_ERR_INVALID_FORMAT; |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshkey.h,v 1.45 2020/04/08 00:08:46 djm Exp $ */ | 1 | /* $OpenBSD: sshkey.h,v 1.46 2020/08/27 01:06:19 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. |
@@ -201,12 +201,13 @@ size_t sshkey_format_cert_validity(const struct sshkey_cert *, | |||
201 | int sshkey_check_cert_sigtype(const struct sshkey *, const char *); | 201 | int sshkey_check_cert_sigtype(const struct sshkey *, const char *); |
202 | 202 | ||
203 | int sshkey_certify(struct sshkey *, struct sshkey *, | 203 | int sshkey_certify(struct sshkey *, struct sshkey *, |
204 | const char *, const char *); | 204 | const char *, const char *, const char *); |
205 | /* Variant allowing use of a custom signature function (e.g. for ssh-agent) */ | 205 | /* Variant allowing use of a custom signature function (e.g. for ssh-agent) */ |
206 | typedef int sshkey_certify_signer(struct sshkey *, u_char **, size_t *, | 206 | typedef int sshkey_certify_signer(struct sshkey *, u_char **, size_t *, |
207 | const u_char *, size_t, const char *, const char *, u_int, void *); | 207 | const u_char *, size_t, const char *, const char *, const char *, |
208 | u_int, void *); | ||
208 | int sshkey_certify_custom(struct sshkey *, struct sshkey *, const char *, | 209 | int sshkey_certify_custom(struct sshkey *, struct sshkey *, const char *, |
209 | const char *, sshkey_certify_signer *, void *); | 210 | const char *, const char *, sshkey_certify_signer *, void *); |
210 | 211 | ||
211 | int sshkey_ecdsa_nid_from_name(const char *); | 212 | int sshkey_ecdsa_nid_from_name(const char *); |
212 | int sshkey_curve_name_to_nid(const char *); | 213 | int sshkey_curve_name_to_nid(const char *); |
@@ -235,7 +236,7 @@ int sshkey_plain_to_blob(const struct sshkey *, u_char **, size_t *); | |||
235 | int sshkey_putb_plain(const struct sshkey *, struct sshbuf *); | 236 | int sshkey_putb_plain(const struct sshkey *, struct sshbuf *); |
236 | 237 | ||
237 | int sshkey_sign(struct sshkey *, u_char **, size_t *, | 238 | int sshkey_sign(struct sshkey *, u_char **, size_t *, |
238 | const u_char *, size_t, const char *, const char *, u_int); | 239 | const u_char *, size_t, const char *, const char *, const char *, u_int); |
239 | int sshkey_verify(const struct sshkey *, const u_char *, size_t, | 240 | int sshkey_verify(const struct sshkey *, const u_char *, size_t, |
240 | const u_char *, size_t, const char *, u_int, struct sshkey_sig_details **); | 241 | const u_char *, size_t, const char *, u_int, struct sshkey_sig_details **); |
241 | int sshkey_check_sigtype(const u_char *, size_t, const char *); | 242 | int sshkey_check_sigtype(const u_char *, size_t, const char *); |
@@ -1,3 +1,4 @@ | |||
1 | /* $OpenBSD: sshsig.c,v 1.17 2020/08/31 00:17:41 djm Exp $ */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
3 | * | 4 | * |
@@ -151,7 +152,7 @@ done: | |||
151 | 152 | ||
152 | static int | 153 | static int |
153 | sshsig_wrap_sign(struct sshkey *key, const char *hashalg, | 154 | sshsig_wrap_sign(struct sshkey *key, const char *hashalg, |
154 | const char *sk_provider, const struct sshbuf *h_message, | 155 | const char *sk_provider, const char *sk_pin, const struct sshbuf *h_message, |
155 | const char *sig_namespace, struct sshbuf **out, | 156 | const char *sig_namespace, struct sshbuf **out, |
156 | sshsig_signer *signer, void *signer_ctx) | 157 | sshsig_signer *signer, void *signer_ctx) |
157 | { | 158 | { |
@@ -185,14 +186,14 @@ sshsig_wrap_sign(struct sshkey *key, const char *hashalg, | |||
185 | if (signer != NULL) { | 186 | if (signer != NULL) { |
186 | if ((r = signer(key, &sig, &slen, | 187 | if ((r = signer(key, &sig, &slen, |
187 | sshbuf_ptr(tosign), sshbuf_len(tosign), | 188 | sshbuf_ptr(tosign), sshbuf_len(tosign), |
188 | sign_alg, sk_provider, 0, signer_ctx)) != 0) { | 189 | sign_alg, sk_provider, sk_pin, 0, signer_ctx)) != 0) { |
189 | error("Couldn't sign message: %s", ssh_err(r)); | 190 | error("Couldn't sign message: %s", ssh_err(r)); |
190 | goto done; | 191 | goto done; |
191 | } | 192 | } |
192 | } else { | 193 | } else { |
193 | if ((r = sshkey_sign(key, &sig, &slen, | 194 | if ((r = sshkey_sign(key, &sig, &slen, |
194 | sshbuf_ptr(tosign), sshbuf_len(tosign), | 195 | sshbuf_ptr(tosign), sshbuf_len(tosign), |
195 | sign_alg, sk_provider, 0)) != 0) { | 196 | sign_alg, sk_provider, sk_pin, 0)) != 0) { |
196 | error("Couldn't sign message: %s", ssh_err(r)); | 197 | error("Couldn't sign message: %s", ssh_err(r)); |
197 | goto done; | 198 | goto done; |
198 | } | 199 | } |
@@ -430,7 +431,8 @@ hash_buffer(const struct sshbuf *m, const char *hashalg, struct sshbuf **bp) | |||
430 | } | 431 | } |
431 | 432 | ||
432 | int | 433 | int |
433 | sshsig_signb(struct sshkey *key, const char *hashalg, const char *sk_provider, | 434 | sshsig_signb(struct sshkey *key, const char *hashalg, |
435 | const char *sk_provider, const char *sk_pin, | ||
434 | const struct sshbuf *message, const char *sig_namespace, | 436 | const struct sshbuf *message, const char *sig_namespace, |
435 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx) | 437 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx) |
436 | { | 438 | { |
@@ -445,7 +447,7 @@ sshsig_signb(struct sshkey *key, const char *hashalg, const char *sk_provider, | |||
445 | error("%s: hash_buffer failed: %s", __func__, ssh_err(r)); | 447 | error("%s: hash_buffer failed: %s", __func__, ssh_err(r)); |
446 | goto out; | 448 | goto out; |
447 | } | 449 | } |
448 | if ((r = sshsig_wrap_sign(key, hashalg, sk_provider, b, | 450 | if ((r = sshsig_wrap_sign(key, hashalg, sk_provider, sk_pin, b, |
449 | sig_namespace, out, signer, signer_ctx)) != 0) | 451 | sig_namespace, out, signer, signer_ctx)) != 0) |
450 | goto out; | 452 | goto out; |
451 | /* success */ | 453 | /* success */ |
@@ -558,7 +560,8 @@ hash_file(int fd, const char *hashalg, struct sshbuf **bp) | |||
558 | } | 560 | } |
559 | 561 | ||
560 | int | 562 | int |
561 | sshsig_sign_fd(struct sshkey *key, const char *hashalg, const char *sk_provider, | 563 | sshsig_sign_fd(struct sshkey *key, const char *hashalg, |
564 | const char *sk_provider, const char *sk_pin, | ||
562 | int fd, const char *sig_namespace, struct sshbuf **out, | 565 | int fd, const char *sig_namespace, struct sshbuf **out, |
563 | sshsig_signer *signer, void *signer_ctx) | 566 | sshsig_signer *signer, void *signer_ctx) |
564 | { | 567 | { |
@@ -573,7 +576,7 @@ sshsig_sign_fd(struct sshkey *key, const char *hashalg, const char *sk_provider, | |||
573 | error("%s: hash_file failed: %s", __func__, ssh_err(r)); | 576 | error("%s: hash_file failed: %s", __func__, ssh_err(r)); |
574 | return r; | 577 | return r; |
575 | } | 578 | } |
576 | if ((r = sshsig_wrap_sign(key, hashalg, sk_provider, b, | 579 | if ((r = sshsig_wrap_sign(key, hashalg, sk_provider, sk_pin, b, |
577 | sig_namespace, out, signer, signer_ctx)) != 0) | 580 | sig_namespace, out, signer, signer_ctx)) != 0) |
578 | goto out; | 581 | goto out; |
579 | /* success */ | 582 | /* success */ |
@@ -1,3 +1,4 @@ | |||
1 | /* $OpenBSD: sshsig.h,v 1.9 2020/08/31 00:17:41 djm Exp $ */ | ||
1 | /* | 2 | /* |
2 | * Copyright (c) 2019 Google LLC | 3 | * Copyright (c) 2019 Google LLC |
3 | * | 4 | * |
@@ -23,7 +24,8 @@ struct sshsigopt; | |||
23 | struct sshkey_sig_details; | 24 | struct sshkey_sig_details; |
24 | 25 | ||
25 | typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, | 26 | typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, |
26 | const u_char *, size_t, const char *, const char *, u_int, void *); | 27 | const u_char *, size_t, const char *, const char *, const char *, |
28 | u_int, void *); | ||
27 | 29 | ||
28 | /* Buffer-oriented API */ | 30 | /* Buffer-oriented API */ |
29 | 31 | ||
@@ -33,7 +35,7 @@ typedef int sshsig_signer(struct sshkey *, u_char **, size_t *, | |||
33 | * out is populated with the detached signature, or NULL on failure. | 35 | * out is populated with the detached signature, or NULL on failure. |
34 | */ | 36 | */ |
35 | int sshsig_signb(struct sshkey *key, const char *hashalg, | 37 | int sshsig_signb(struct sshkey *key, const char *hashalg, |
36 | const char *sk_provider, const struct sshbuf *message, | 38 | const char *sk_provider, const char *sk_pin, const struct sshbuf *message, |
37 | const char *sig_namespace, struct sshbuf **out, | 39 | const char *sig_namespace, struct sshbuf **out, |
38 | sshsig_signer *signer, void *signer_ctx); | 40 | sshsig_signer *signer, void *signer_ctx); |
39 | 41 | ||
@@ -54,7 +56,8 @@ int sshsig_verifyb(struct sshbuf *signature, | |||
54 | * out is populated with the detached signature, or NULL on failure. | 56 | * out is populated with the detached signature, or NULL on failure. |
55 | */ | 57 | */ |
56 | int sshsig_sign_fd(struct sshkey *key, const char *hashalg, | 58 | int sshsig_sign_fd(struct sshkey *key, const char *hashalg, |
57 | const char *sk_provider, int fd, const char *sig_namespace, | 59 | const char *sk_provider, const char *sk_pin, |
60 | int fd, const char *sig_namespace, | ||
58 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx); | 61 | struct sshbuf **out, sshsig_signer *signer, void *signer_ctx); |
59 | 62 | ||
60 | /* | 63 | /* |
@@ -1,6 +1,6 @@ | |||
1 | /* $OpenBSD: version.h,v 1.87 2020/05/06 20:58:01 djm Exp $ */ | 1 | /* $OpenBSD: version.h,v 1.88 2020/09/27 07:22:05 djm Exp $ */ |
2 | 2 | ||
3 | #define SSH_VERSION "OpenSSH_8.3" | 3 | #define SSH_VERSION "OpenSSH_8.4" |
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 |