[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
core dump UTF8bvnormalize (ITS#2737)
Full_Name: Andy Hird
Version: 2.1.22
OS: linux redhat 9 i386
URL: http://www.hird.net/openldap-coredump.tar.gz
Submission from: (NULL) (211.28.96.69)
When importing certain sequences of unicode characters UTF8bvnormalize can core
dump because not enough space is allocated in the "out" buffer.
This usually happens when a particular unicode character is normalised to more
characters than was originally used to represent it and a sequence of 7bit
(ascii) characters follows it. eg.
0xb8: CEDILLA SPACING CEDILLA
normalises to (in compat mode):
0x20: SPACE
0x327 COMBINING CEDILLA NON-SPACING CEDILLA
I've included a patch which fixes this issue, but it may not be the best fix and
is definitely not v. optimal (in that it can result it quite a few calls to
realloc given large unicode strings).
I've also included an ldif file which contains an entry which can trigger this
bug. The unicode string (in the sn attribute) which causes this problem is valid
utf-8 but nonsensical (we're currently migrating a lot of user data which was
entered into netscape 4 directory service which contained quite a bit of "dodgy"
data).
And finally I included a small test app which will read in a file containing a
utf8 string (base64 decode the sn attribute to get some good test data) and push
it through UTF8bvnormalize.
This bug causes both slapd and slapadd to crash when hit with data.
Heres the patch:
--- openldap-2.1.22/libraries/liblunicode/ucstr.c 2003-02-09
10:50:39.000000000 +1100
+++ openldap-2.1.22/libraries/liblunicode/ucstr.c 2003-09-25
01:56:15.000000000 +1000
@@ -251,6 +251,20 @@
/* s[i] is ascii */
/* finish off everything up to char before next non-ascii */
+ /* Allocate more space in out */
+ if (len - i > outsize - outpos) {
+ outsize = outsize + ((len - i) - (outsize - outpos));
+
+ outtmp = (char *) realloc(out, outsize);
+ if (outtmp == NULL) {
+ free(out);
+ free(ucs);
+ return NULL;
+ }
+ out = outtmp;
+ }
+
+
for ( i++; (i < len) && LDAP_UTF8_ISASCII(s + i); i++ ) {
out[outpos++] = casefold ? TOLOWER( s[i-1] ) : s[i-1];
}
Heres the bad data:
Try saving it to an ldif file (modify the dn), and then slapadd'ing it.
dn: cn=coredumpdude,ou=addressbook, o=ekit.com
cn: coredumpdude
givenname:: UF7Dg8KDw4LCg8ODwoLDgsKCw4PCg8OCwoPDg8KCw4LCjMODwoPDgsKDw4PCgsOC
wozDg8KDw4LCg8ODwoLDgsKMw4PCg8OCwoPDg8KCw4LCjMODwoPDgsKDw4PCgsOCwozDg8KDw4L
Cg8ODwoLDgsKMw4PCg8OCwoPDg8KCw4LCqFDDg8KDw4LCg8ODwoLDgsKpRsODwoPDgsKDw4PCgs
OCwozDg8KDw4LCg8ODwoLDgsKMw4PCg8OCwoPDg8KCw4LCjMODwoPDgsKDw4PCgsOCwozDg8KDw
4LCg8ODwoLDgsKMw4PCg8OCwoPDg8KCw4LCjMODwoPDgsKCw4PCgsOCwotEJCDDg8KDw4LCgsOD
woLDgsKDw4PCg8OCwoPDg8KCw4LCrMODwoPDgsKCw4PCgsOCwotUJCRTw4PCg8OCwoLDg8KCw4L
Ci1wkJFbDg8KDw4LCgsODwoLDgsKJTCRXVVBSU8ODwoPDgsKDw4PCgsOCwqjDg8KDw4LCg8ODwo
LDgsKdT8ODwoPDgsKCw4PCgsOCwoN8JDB1w4PCg8OCwoPDg8KCw4LCh8ODwoPDgsKDw4PCgsOCw
oDDg8KDw4LCg8ODwoLDgsKBTsODwoPDgsKDw4PCgsOCwqktw4PCg8OCwoLDg8KCw4LCg3wkMHTD
g8KDw4LCgsODwoLDgsKDfCQww4PCg8OCwoLDg8KCw4LChTPDg8KDw4LCg8ODwoLDgsK2OTXDg8K
Dw4LCg8ODwoLDgsKAw4PCg8OCwoPDg8KCw4LCgU7Dg8KDw4LCgsODwoLDgsKEIMODwoPDgsKCw4
PCgsOCwqFIw4PCg8OCwoPDg8KCw4LChU7Dg8KDw4LCgsODwoLDgsKJNcODwoPDgsKDw4PCgsOCw
oDDg8KDw4LCg8ODwoLDgsKBTsODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsKIw4PCg8OC
woLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwr9TXMODwoPDgsKCw4PCgsOCwolEJDvDg8KDw4LCg8O
DwoLDgsKGw4PCg8OCwoLDg8KCw4LChMODwoPDgsKCw4PCgsOCwpHDg8KDw4LCgsODwoLDgsKNRC
TDg8KDw4LCgsODwoLDgsKLIEjDg8KDw4LCg8ODwoLDgsKFTlDDg8KDw4LCgsODwoLDgsKLw4PCg
8OCwoPDg8KCw4LCv1Ngw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwpjDg8KDw4LCgsOD
woLDgsKFw4PCg8OCwoPDg8KCw4LCm3Rxw4PCg8OCwoLDg8KCw4LCizvDg8KDw4LCgsODwoLDgsK
Lw4PCg8OCwoPDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwr9XaMODwoPDgsKCw4PCgsOCwolEJDvDg8
KDw4LCg8ODwoLDgsKGdGLDg8KDw4LCgsODwoLDgsKLf2zDg8KDw4LCgsODwoLDgsKNRCTDg8KDw
4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCi1DDg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPDg8KC
w4LCl8ODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsKow4PCg8OCwoLDg8KCw4LChcODwoP
DgsKDw4PCgsOCwq10SmgoT03Dg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCjcODwoPDgs
KDw4PCgsOCwqggTMODwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgsKAdDrDg8KDw4LCgsODw
oLDgsKNRCTDg8KDw4LCgsODwoLDgsKLTSBQUcODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCg8ODwoLD
gsKMw4PCg8OCwoLDg8KCw4LCik/Dg8KDw4LCgsODwoLDgsKLRCQoZitEJCDDg8KDw4LCgsODwoL
DgsK3w4PCg8OCwoPDg8KCw4LCiMODwoPDgsKDw4PCgsOCwoHDg8KDw4LCg8ODwoLDgsKhw4PCg8
OCwoLDg8KCw4LCi0QkJGYrRCTDg8KDw4LCgsODwoLDgsK3w4PCg8OCwoPDg8KCw4LCkMODwoPDg
sKDw4PCgsOCworDg8KDw4LCgsODwoLDgsKLRSBRVmpQw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKD
w4PCgsOCwoDDg8KDw4LCgsODwoLDgsKKTzl0JHXDg8KDw4LCgsODwoLDgsKhOXQkw4PCg8OCwoL
Dg8KCw4LChW/Dg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKDw4PCgsOCwr
/Dg8KDw4LCgsODwoLDgsKhRMODwoPDgsKDw4PCgsOCwoVOw4PCg8OCwoLDg8KCw4LCi8ODwoPDg
sKDw4PCgsOCwojDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCv1Ncw4PCg8OCwoLDg8KC
w4LCiUQkw4PCg8OCwoLDg8KCw4LChcODwoPDgsKDw4PCgsOCwoDDg8KDw4LCgsODwoLDgsKEw4P
Cg8OCwoPDg8KCw4LCtjPDg8KDw4LCg8ODwoLDgsK2w4PCg8OCwoLDg8KCw4LCjUQkw4PCg8OCwo
LDg8KCw4LCiyBEw4PCg8OCwoPDg8KCw4LChU5Qw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCg
sOCwr9TYMODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsK4w4PCg8OCwoLDg8KCw4LChcOD
woPDgsKDw4PCgsOCwr/Dg8KDw4LCgsODwoLDgsKEw4PCg8OCwoPDg8KCw4LCkMODwoPDgsKCw4P
CgsOCwovDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCj8ODwoPDgsKDw4PCgsOCwr9TaM
ODwoPDgsKCw4PCgsOCwolEJDvDg8KDw4LCg8ODwoLDgsKGw4PCg8OCwoLDg8KCw4LChMODwoPDg
sKCw4PCgsOCwr3Dg8KDw4LCgsODwoLDgsKNRCTDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KC
w4LCj1DDg8KDw4LCg8ODwoLDgsK/U2zDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCqMO
DwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgsKtw4PCg8OCwoLDg8KCw4LChMODwoPDgsKCw4
PCgsOCwp9oMMODwoPDgsKDw4PCgsOCwolMw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCw
o3Dg8KDw4LCg8ODwoLDgsKow4PCg8OCwoPDg8KCw4LCq0vDg8KDw4LCgsODwoLDgsKFw4PCg8OC
woPDg8KCw4LCgMODwoPDgsKCw4PCgsOCwoTDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoLDg8KCw4L
Ci0QkOcODwoPDgsKCw4PCgsOCwrDDg8KDw4LCg8ODwoLDgsKEdEU5w4PCg8OCwoLDg8KCw4LCtT
R0PcODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsKNw4PCg8OCwoPDg8KCw4LCqMODwoPDg
sKDw4PCgsOCwo5Lw4PCg8OCwoLDg8KCw4LCi0AgUMODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCgsOD
woLDgsKsw4PCg8OCwoLDg8KCw4LCik/Dg8KDw4LCgsODwoLDgsKFw4PCg8OCwoPDg8KCw4LCgHU
ow4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo3Dg8KDw4LCgsODwoLDgsKJw4PCg8OCwo
LDg8KCw4LCtTTDg8KDw4LCg8ODwoLDgsKow4PCg8OCwoPDg8KCw4LCl8ODwoPDgsKDw4PCgsOCw
rtWw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo3Dg8KDw4LCg8ODwoLDgsKow4PCg8OC
woLDg8KCw4LCnw==
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
sn:: aMODwoPDgsKCw4PCgsOCwotFVlZQw4PCg8OCwoPDg8KCw4LCv0zDg8KDw4LCgsODwoLDgsK
KT8ODwoPDgsKDw4PCgsOCwqs6w4PCg8OCwoLDg8KCw4LCjUQkw4PCg8OCwoLDg8KCw4LCi01QUc
ODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCg8ODwoLDgsKMw4PCg8OCwoLDg8KCw4LCik/Dg8KDw4LCg
sODwoLDgsKLRCQoZitEJMODwoPDgsKCw4PCgsOCwrfDg8KDw4LCg8ODwoLDgsKIw4PCg8OCwoPD
g8KCw4LCgcODwoPDgsKDw4PCgsOCwqHDg8KDw4LCgsODwoLDgsKLRCQkZitEJMODwoPDgsKCw4P
CgsOCwrfDg8KDw4LCg8ODwoLDgsKQw4PCg8OCwoPDg8KCw4LCisODwoPDgsKCw4PCgsOCwotFUV
ZqUMODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCg8ODwoLDgsKAw4PCg8OCwoLDg8KCw4LCik85dCTDg
8KDw4LCgsODwoLDgsKFQ8ODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPD
g8KCw4LCvzl0JMODwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPDg8KCw4L
Cv8ODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCgsODwoLDgsKLRCTDg8KDw4LCgsODwoLDgsKDw4PCg8
OCwoLDg8KCw4LCuMODwoPDgsKDw4PCgsOCwoR0Q8ODwoPDgsKCw4PCgsOCwoM9w4PCg8OCwoPDg
8KCw4LChMODwoPDgsKDw4PCgsOCwoFOdTrDg8KDw4LCg8ODwoLDgsKHw4PCg8OCwoPDg8KCw4LC
hMODwoPDgsKDw4PCgsOCwoFOw4PCg8OCwoPDg8KCw4LCqMODwoPDgsKDw4PCgsOCwrtHw4PCg8O
CwoLDg8KCw4LChcODwoPDgsKDw4PCgsOCwoDDg8KDw4LCgsODwoLDgsK4dMODwoPDgsKDw4PCgs
OCwqjDg8KDw4LCg8ODwoLDgsKtR8ODwoPDgsKCw4PCgsOCwovDg8KDw4LCgsODwoLDgsKLw4PCg
8OCwoPDg8KCw4LCiMODwoPDgsKDw4PCgsOCwr9SfGrDg8KDw4LCgsODwoLDgsKLQGgxw4PCg8OC
woPDg8KCw4LCoWhQw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKDw4PCgsOCwoDDg8KDw4LCgsODwoL
DgsKKT8ODwoPDgsKCw4PCgsOCwotEJDDDg8KDw4LCgsODwoLDgsKFw4PCg8OCwoPDg8KCw4LCgH
TDg8KDw4LCgsODwoLDgsKDw4PCg8OCwoPDg8KCw4LCuHXDg8KDw4LCgsODwoLDgsKLRCRqw4PCg
8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwojDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KC
w4LCv8ODwoPDgsKCw4PCgsOCwpPDg8KDw4LCg8ODwoLDgsKQXV9eW8ODwoPDgsKCw4PCgsOCwoP
Dg8KDw4LCg8ODwoLDgsKEw4PCg8OCwoPDg8KCw4LCgsODwoPDgsKDw4PCgsOCwozDg8KDw4LCg8
ODwoLDgsKMw4PCg8OCwoPDg8KCw4LCjMODwoPDgsKDw4PCgsOCwozDg8KDw4LCg8ODwoLDgsKMw
4PCg8OCwoPDg8KCw4LCjMODwoPDgsKDw4PCgsOCwoxWV8ODwoPDgsKCw4PCgsOCwovDg8KDw4LC
g8ODwoLDgsKxw4PCg8OCwoLDg8KCw4LCi3wkw4PCg8OCwoLDg8KCw4LCjcODwoPDgsKCw4PCgsO
CwofDg8KDw4LCg8ODwoLDgsKof8ODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCg8ODwoLDgsK/w4PCg8
OCwoLDg8KCw4LCg8ODwoPDgsKDw4PCgsOCwrh5w4PCg8OCwoLDg8KCw4LChzQzw4PCg8OCwoPDg
8KCw4LCicODwoPDgsKCw4PCgsOCworDg8KDw4LCgsODwoLDgsKIw4PCg8OCwoLDg8KCw4LCuDFB
w4PCg8OCwoPDg8KCw4LCvyTDg8KDw4LCgsODwoLDgsKNdDFBw4PCg8OCwoLDg8KCw4LCuF9ew4P
Cg8OCwoPDg8KCw4LCgsODwoPDgsKCw4PCgsOCwrhfXsODwoPDgsKDw4PCgsOCwoLDg8KDw4LCgs
ODwoLDgsK4X17Dg8KDw4LCg8ODwoLDgsKCw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCw
o7Dg8KDw4LCgsODwoLDgsKBw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4PCgsOCwoTDg8KDw4LC
gsODwoLDgsKAdcODwoPDgsKDw4PCgsOCwqhtw4PCg8OCwoLDg8KCw4LChcODwoPDgsKDw4PCgsO
CwoDDg8KDw4LCgsODwoLDgsKEw4PCg8OCwoPDg8KCw4LCsMODwoPDgsKCw4PCgsOCwrhfXsODwo
PDgsKDw4PCgsOCwoLDg8KDw4LCg8ODwoLDgsKow4PCg8OCwoLDg8KCw4LCtsODwoPDgsKDw4PCg
sOCwq7Dg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4PCgsOCwoPDg8KD
w4LCg8ODwoLDgsKoZsODwoPDgsKCw4PCgsOCwoPDg8KDw4LCg8ODwoLDgsK4w4PCg8OCwoLDg8K
Cw4LCh8ODwoPDgsKDw4PCgsOCwpUzw4PCg8OCwoPDg8KCw4LCicODwoPDgsKCw4PCgsOCworDg8
KDw4LCgsODwoLDgsKISDJBw4PCg8OCwoPDg8KCw4LCvyTDg8KDw4LCgsODwoLDgsKNNDJBw4PCg
8OCwoLDg8KCw4LCi8ODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsKOw4PCg8OCwoPDg8KC
w4LCv8ODwoPDgsKCw4PCgsOCwpDDg8KDw4LCg8ODwoLDgsKIw4PCg8OCwoLDg8KCw4LCi8ODwoP
DgsKDw4PCgsOCwojDg8KDw4LCg8ODwoLDgsKow4PCg8OCwoPDg8KCw4LCnEzDg8KDw4LCgsODwo
LDgsKLSEBmw4PCg8OCwoLDg8KCw4LCg3lwdSTDg8KDw4LCgsODwoLDgsKBw4PCg8OCwoPDg8KCw
4LCv8ODwoPDgsKCw4PCgsOCwobDg8KDw4LCgsODwoLDgsKAw4PCg8OCwoLDg8KCw4LChMODwoPD
gsKCw4PCgsOCwp/Dg8KDw4LCgsODwoLDgsKBw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4PCgsO
CwojDg8KDw4LCgsODwoLDgsKAw4PCg8OCwoLDg8KCw4LChMODwoPDgsKCw4PCgsOCwpPDg8KDw4
LCgsODwoLDgsKBw4PCg8OCwoPDg8KCw4LCv1rDg8KDw4LCgsODwoLDgsKAw4PCg8OCwoLDg8KCw
4LChMODwoPDgsKCw4PCgsOCwodqw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKCw4PCgsOCwoBqaMOD
woPDgsKCw4PCgsOCwpBQw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKDIMODwoPDgsKCw4PCgsOCwop
Pw4PCg8OCwoLDg8KCw4LChcODwoPDgsKDw4PCgsOCwoDDg8KDw4LCgsODwoLDgsKOacODwoPDgs
KCw4PCgsOCwrhfXsODwoPDgsKDw4PCgsOCwoLDg8KDw4LCgsODwoLDgsK4X17Dg8KDw4LCg8ODw
oLDgsKCw4PCg8OCwoLDg8KCw4LCgcODwoPDgsKDw4PCgsOCwr/Dg8KDw4LCgsODwoLDgsKGw4PC
g8OCwoLDg8KCw4LCgMODwoPDgsKCw4PCgsOCwoRJw4PCg8OCwoLDg8KCw4LCgcODwoPDgsKDw4P
CgsOCwr/Dg8KDw4LCgsODwoLDgsKIw4PCg8OCwoLDg8KCw4LCgMODwoPDgsKCw4PCgsOCwoQ9w4
PCg8OCwoLDg8KCw4LCgcODwoPDgsKDw4PCgsOCwr9aw4PCg8OCwoLDg8KCw4LCgMODwoPDgsKCw
4PCgsOCwoQxw4PCg8OCwoLDg8KCw4LCuF9ew4PCg8OCwoPDg8KCw4LCgsODwoPDgsKCw4PCgsOC
woM9w4PCg8OCwoPDg8KCw4LCm07Dg8KDw4LCgsODwoLDgsKEw4PCg8OCwoLDg8KCw4LCuF9ew4P
Cg8OCwoPDg8KCw4LCgsODwoPDgsKCw4PCgsOCwrhfXsODwoPDgsKDw4PCgsOCwoLDg8KDw4LCgs
ODwoLDgsK4X17Dg8KDw4LCg8ODwoLDgsKCw4PCg8OCwoLDg8KCw4LCuF9ew4PCg8OCwoPDg8KCw
4LCgsODwoPDgsKCw4PCgsOCwrhfXsODwoPDgsKDw4PCgsOCwoLDg8KDw4LCgsODwoLDgsKLw4PC
g8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo7Dg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoLDg8K
Cw4LCkMODwoPDgsKDw4PCgsOCwojDg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCiMODwo
PDgsKDw4PCgsOCwqjDg8KDw4LCg8ODwoLDgsK+S8ODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODw
oLDgsKww4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKDw4PCgsOCwoTDg8KDw4LCgsODwoLDgsKKT1DD
g8KDw4LCg8ODwoLDgsKoRsODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsK4w4PCg8OCwoL
Dg8KCw4LChcODwoPDgsKDw4PCgsOCwrZ0Y8ODwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgs
K/dF/Dg8KDw4LCgsODwoLDgsKhdHpPw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo5Qw
4PCg8OCwoPDg8KCw4LCqC1Jw4PCg8OCwoLDg8KCw4LChcODwoPDgsKDw4PCgsOCwoB1RMODwoPD
gsKCw4PCgsOCwqFwek/Dg8KDw4LCgsODwoLDgsKLw4PCg8OCwoPDg8KCw4LCj1DDg8KDw4LCg8O
DwoLDgsKoScODwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgsKAdTPDg8KDw4LCgsODwoLDgs
KhbHpPw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo5Qw4PCg8OCwoPDg8KCw4LCqEnDg
8KDw4LCgsODwoLDgsKFw4PCg8OCwoPDg8KCw4LCgHXDg8KDw4LCgsODwoLDgsKhaHpPw4PCg8OC
woLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo9Qw4PCg8OCwoPDg8KCw4LCqMODwoPDgsKDw4PCgsO
CwrpIw4PCg8OCwoLDg8KCw4LChcODwoPDgsKDw4PCgsOCwoB1M8ODwoPDgsKDw4PCgsOCwoBfXs
ODwoPDgsKDw4PCgsOCwoLDg8KDw4LCgsODwoLDgsK4X17Dg8KDw4LCg8ODwoLDgsKCw4PCg8OCw
oLDg8KCw4LCuF9ew4PCg8OCwoPDg8KCw4LCgjPDg8KDw4LCg8ODwoLDgsKAX17Dg8KDw4LCg8OD
woLDgsKCw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKDw4PCgsOCwo7Dg8KDw4LCg8ODwoLDgsKoJ8O
DwoPDgsKDw4PCgsOCwq3Dg8KDw4LCg8ODwoLDgsK/w4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4
PCgsOCwoPDg8KDw4LCg8ODwoLDgsK4aHU5w4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKCw4PCgsOCw
ovDg8KDw4LCg8ODwoLDgsKOw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4PCgsOCwpDDg8KDw4LC
g8ODwoLDgsKIw4PCg8OCwoLDg8KCw4LCi8ODwoPDgsKCw4PCgsOCwovDg8KDw4LCg8ODwoLDgsK
Iw4PCg8OCwoPDg8KCw4LCv8ODwoPDgsKCw4PCgsOCwpLDg8KDw4LCg8ODwoLDgsKEw4PCg8OCwo
LDg8KCw4LChcODwoPDgsKDw4PCgsOCwoB0IcODwoPDgsKCw4PCgsOCwovDg8KDw4LCgsODwoLDg
sKAw4PCg8OCwoPDg8KCw4LCtMODwoPDgsKCw4PCgsOCwoXDg8KDw4LCg8ODwoLDgsKAdGbDg8KD
w4LCgsODwoLDgsKLQGY9dGY9dTPDg8KDw4LCg8ODwoLDgsKAX17Dg8KDw4LCg8ODwoLDgsKCw4P
Cg8OCwoLDg8KCw4LCuF9ew4PCg8OCwoPDg8KCw4LCgsODwoPDgsKCw4PCgsOCwrhfXsODwoPDgs
KDw4PCgsOCwoIzw4PCg8OCwoPDg8KCw4LCgF9ew4PCg8OCwoPDg8KCw4LCgsODwoPDgsKCw4PCg
sOCwovDg8KDw4LCg8ODwoLDgsK/Ri9BUC9BRi9BWi9BZC9BWzBBZC9BZTBBZC9BZC9BbzBBZC9B
eTBBw4PCg8OCwoLDg8KCw4LCgzBBMUFhMUFrMUE=
I'll include a link to a zip file with