--mimepart_4ca32aadbbef1_ef05a293101393c
Content-Type: text/plain
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline

Backport #3887: extension socket fails to compile with "two or more data types in declaration specifiers" under MinGW
http://redmine.ruby-lang.org/issues/show/3887

Author: Luis Lavena
Status: Open, Priority: Normal

Hello,

This seems to be the same issue as the closed report #1292

make[1]: Entering directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket'
gcc -I. -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I.   -g -O2 -DFD_SETSIZE=256   -c ../../../../../../ruby/ext/socket/socket.c
In file included from ../../../../../../ruby/win32/win32.h:30:0,
                 from ../../../../../../ruby/defines.h:183,
                 from ../../../../../../ruby/ruby.h:37,
                 from ../../../../../../ruby/ext/socket/socket.c:13:
c:\users\luis\projects\oss\oci\rubyinstaller\sandbox\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/ws2tcpip.h:272:13: error: two or more data types in declaration specifiers
make[1]: *** [socket.o] Error 1
make[1]: Leaving directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket'
make: *** [all] Error 1

This is ruby_1_8_6 r29162 with #3883 patch applied.

Ruby configuration options were:

sh ../configure --enable-shared --with-winsock2 --disable-install-doc CFLAGS='-g -O2 -DFD_SETSIZE=256'

mkmf check for socklen_t:

--------------------

have_type: checking for socklen_t... -------------------- no

"gcc -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socketI.   -g -O2 -DFD_SETSIZE=256    -c conftest.c"
conftest.c:5:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftest_type'
conftest.c:6:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftestval'
checked program was:
/* begin */
1: #include <windows.h>
2: #include <winsock.h>
3: : /*top*/
5: typedef socklen_t conftest_type;
6: static conftest_type conftestval[sizeof(conftest_type)?1:-1];
/* end */

--------------------

Checking rbconfig.rb COMMON_HEADERS:

CONFIG["COMMON_HEADERS"] = "windows.h winsock.h"

Which could indicate even --with-winsock2 has been defined, winsock.h is been forced.

Find attached the full file and generated Makefile, also config.log generated by the configure process.

GCC been used:
gcc (tdm-1) 4.5.1

Package provided by tdragon: http://tdm-gcc.tdragon.net/


----------------------------------------
http://redmine.ruby-lang.org

--mimepart_4ca32aadbbef1_ef05a293101393c
Content-Type: text/plain; name=mkmf.log
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=mkmf.log

aGF2ZV9saWJyYXJ5OiBjaGVja2luZyBmb3IgV1NBQ2xlYW51cCgpIGluIC1s
d3MyXzMyLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1v
IGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1J
Li4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcgLU8yIC1E
RkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAg
ICAgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwz
MiAtbHdzMl8zMiAgIg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu
ICovDQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdp
bnNvY2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJl
dHVybiAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgp
KTsgcCA9ICh2b2lkICgoKikoKSkpV1NBQ2xlYW51cDsgcmV0dXJuIDA7IH0N
Ci8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hl
YWRlcjogY2hlY2tpbmcgZm9yIGFycGEvaW5ldC5oLi4uIC0tLS0tLS0tLS0t
LS0tLS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4u
Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr
ZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8g
Y29uZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyMzogZmF0YWwgZXJyb3I6IGFy
cGEvaW5ldC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJl
Z2luICovDQoxOiAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+DQovKiBlbmQgKi8N
Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2hlY2tpbmcgZm9yIGlwdjYu
Li4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBjb25mdGVz
dCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u
Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJ
WkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3My
XzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljICAtbHNoZWxsMzIgLWx3czJf
MzIgICINCmNvbmZ0ZXN0LmM6MjoyNDogZmF0YWwgZXJyb3I6IHN5cy9zb2Nr
ZXQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29tcGlsYXRpb24g
dGVybWluYXRlZC4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAq
Lw0KMTogI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KMjogI2luY2x1ZGUgPHN5
cy9zb2NrZXQuaD4NCjM6IGludA0KNDogbWFpbigpDQo1OiB7DQo2OiAgIHNv
Y2tldChBRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOw0KNzogfQ0KLyogZW5k
ICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfc3RydWN0X21l
bWJlcjogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9pbi5zaW5fbGVu
Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLUkuLi8uLiAt
SS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9y
dWJ5L2V4dC9zb2NrZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgICAt
YyBjb25mdGVzdC5jIg0KY29uZnRlc3QuYzo2OjQyOiBlcnJvcjogJ3N0cnVj
dCBzb2NrYWRkcl9pbicgaGFzIG5vIG1lbWJlciBuYW1lZCAnc2luX2xlbicN
CmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1
ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiAN
CjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjog
aW50IHMgPSAoY2hhciAqKSYoKHN0cnVjdCBzb2NrYWRkcl9pbiopMCktPnNp
bl9sZW4gLSAoY2hhciAqKTA7DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCg0KaGF2ZV9zdHJ1Y3RfbWVtYmVyOiBjaGVja2luZyBmb3Ig
c3RydWN0IHNvY2thZGRyX3N0b3JhZ2Uuc3NfZmFtaWx5Li4uIC0tLS0tLS0t
LS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1JLi4vLi4gLUkuLi8uLi8uLi8u
Li8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29j
a2V0ICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICAgLWMgY29uZnRlc3Qu
YyINCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2lu
Y2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQoz
OiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0K
NjogaW50IHMgPSAoY2hhciAqKSYoKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdl
KikwKS0+c3NfZmFtaWx5IC0gKGNoYXIgKikwOw0KLyogZW5kICovDQoNCi0t
LS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfc3RydWN0X21lbWJlcjogY2hl
Y2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkci5zYV9sZW4uLi4gLS0tLS0tLS0t
LS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtSS4uLy4uIC1JLi4vLi4vLi4vLi4v
Li4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tl
dCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICAgIC1jIGNvbmZ0ZXN0LmMi
DQpjb25mdGVzdC5jOjY6Mzk6IGVycm9yOiAnc3RydWN0IHNvY2thZGRyJyBo
YXMgbm8gbWVtYmVyIG5hbWVkICdzYV9sZW4nDQpjaGVja2VkIHByb2dyYW0g
d2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoy
OiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBp
bnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCBzID0gKGNoYXIgKikm
KChzdHJ1Y3Qgc29ja2FkZHIqKTApLT5zYV9sZW4gLSAoY2hhciAqKTA7DQov
KiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV9oZWFk
ZXI6IGNoZWNraW5nIGZvciBuZXRpbmV0L3RjcC5oLi4uIC0tLS0tLS0tLS0t
LS0tLS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4u
Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr
ZXQgICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8g
Y29uZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyNTogZmF0YWwgZXJyb3I6IG5l
dGluZXQvdGNwLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkNCmNvbXBp
bGF0aW9uIHRlcm1pbmF0ZWQuDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyog
YmVnaW4gKi8NCjE6ICNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPg0KLyogZW5k
ICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfaGVhZGVyOiBj
aGVja2luZyBmb3IgbmV0aW5ldC91ZHAuaC4uLiAtLS0tLS0tLS0tLS0tLS0t
LS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8u
Li9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAg
LWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICBjb25mdGVzdC5jIC1vIGNvbmZ0
ZXN0LmkiDQpjb25mdGVzdC5jOjE6MjU6IGZhdGFsIGVycm9yOiBuZXRpbmV0
L3VkcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu
ICovDQoxOiAjaW5jbHVkZSA8bmV0aW5ldC91ZHAuaD4NCi8qIGVuZCAqLw0K
DQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5n
IGZvciBzZW5kbXNnKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0K
ImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4v
cnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1n
IC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8u
LiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1s
d3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IElu
IGZ1bmN0aW9uICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdzZW5k
bXNnJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikN
CmNvbmZ0ZXN0LmM6Njo1Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50
aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u
IGl0IGFwcGVhcnMgaW4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdp
biAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3
aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyBy
ZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgqdm9sYXRpbGUgcCko
KSk7IHAgPSAodm9pZCAoKCopKCkpKXNlbmRtc2c7IHJldHVybiAwOyB9DQov
KiBlbmQgKi8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4v
Li4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0
L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5j
ICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5
MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCkM6
XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjTXNCS0lwLm86IElu
IGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVjdHNcb3NzXG9j
aVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxkXGV4dFxzb2Nr
ZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZW5k
bXNnJw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNo
ZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0K
MjogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgc2Vu
ZG1zZygpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0t
LS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIHJlY3Ztc2co
KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0
ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v
Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcgLU8yIC1ERkRfU0VU
U0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3
czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hl
bGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ3Qn
Og0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ3JlY3Ztc2cnIHVuZGVjbGFy
ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2
OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv
cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp
bg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5j
bHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6
IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2
OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lk
ICgoKikoKSkpcmVjdm1zZzsgcmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQoi
Z2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9y
dWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0ICAgLWcg
LU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4u
IC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3
czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpcVXNlcnNcTHVpc1xB
cHBEYXRhXExvY2FsXFRlbXBcY2NHUjNaZ28ubzogSW4gZnVuY3Rpb24gYHQn
Og0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2NpXHJ1YnlpbnN0YWxs
ZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tldC9jb25mdGVzdC5j
OjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHJlY3Ztc2cnDQpjb2xsZWN0
MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0KY2hlY2tlZCBwcm9ncmFt
IHdhczoNCi8qIGJlZ2luICovDQoxOiAvKnRvcCovDQoyOiBpbnQgbWFpbigp
IHsgcmV0dXJuIDA7IH0NCjM6IGludCB0KCkgeyByZWN2bXNnKCk7IHJldHVy
biAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K
Y2hlY2tpbmcgZm9yIHdpZGUgZ2V0YWRkcmluZm8uLi4gLS0tLS0tLS0tLS0t
LS0tLS0tLS0gbm8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4v
Li4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1Ynkv
ZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVz
dC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1y
dWJ5MTgtc3RhdGljICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0
LmM6IEluIGZ1bmN0aW9uICdtYWluJzoNCmNvbmZ0ZXN0LmM6MTg6MTk6IGVy
cm9yOiBzdG9yYWdlIHNpemUgb2YgJ2hpbnRzJyBpc24ndCBrbm93bg0KY29u
ZnRlc3QuYzoxOToxNjogZXJyb3I6ICdJTkVUNl9BRERSU1RSTEVOJyB1bmRl
Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCmNvbmZ0ZXN0
LmM6MTk6MTY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz
IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl
YXJzIGluDQpjb25mdGVzdC5jOjIyOjU6IHdhcm5pbmc6IGluY29tcGF0aWJs
ZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAn
bWVtc2V0Jw0KY29uZnRlc3QuYzoyMzoyMzogZXJyb3I6ICdBRl9VTlNQRUMn
IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29u
ZnRlc3QuYzoyNDoyNTogZXJyb3I6ICdJUFBST1RPX1RDUCcgdW5kZWNsYXJl
ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVzdC5jOjI1
OjMyOiBlcnJvcjogJ0FJX1BBU1NJVkUnIHVuZGVjbGFyZWQgKGZpcnN0IHVz
ZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzoyNjoyNTogZXJyb3I6
ICdTT0NLX1NUUkVBTScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg
ZnVuY3Rpb24pDQpjb25mdGVzdC5jOjMxOjMzOiBlcnJvcjogZGVyZWZlcmVu
Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQ0KY29uZnRlc3QuYzoz
MjoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs
ZXRlIHR5cGUNCmNvbmZ0ZXN0LmM6MzI6Mjg6IGVycm9yOiAnQUZfVU5JWCcg
dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25m
dGVzdC5jOjMzOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv
IGluY29tcGxldGUgdHlwZQ0KY29uZnRlc3QuYzo0MzoxMzogZXJyb3I6IGRl
cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUNCmNvbmZ0
ZXN0LmM6NDQ6MjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g
aW5jb21wbGV0ZSB0eXBlDQpjb25mdGVzdC5jOjQ0OjM4OiBlcnJvcjogZGVy
ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQ0KY29uZnRl
c3QuYzo0NjoyMzogZXJyb3I6ICdOSV9OVU1FUklDSE9TVCcgdW5kZWNsYXJl
ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVzdC5jOjQ2
OjM4OiBlcnJvcjogJ05JX05VTUVSSUNTRVJWJyB1bmRlY2xhcmVkIChmaXJz
dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCmNvbmZ0ZXN0LmM6NTI6MTc6IGVy
cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl
DQpjb25mdGVzdC5jOjUzOjEyOiBlcnJvcjogJ0FGX0lORVQnIHVuZGVjbGFy
ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2
NToxMjogZXJyb3I6ICdBRl9JTkVUNicgdW5kZWNsYXJlZCAoZmlyc3QgdXNl
IGluIHRoaXMgZnVuY3Rpb24pDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyog
YmVnaW4gKi8NCiAgMTogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KICAyOiANCiAg
MzogI2lmbmRlZiBFWElUX1NVQ0NFU1MNCiAgNDogI2RlZmluZSBFWElUX1NV
Q0NFU1MgMA0KICA1OiAjZW5kaWYNCiAgNjogI2lmbmRlZiBFWElUX0ZBSUxV
UkUNCiAgNzogI2RlZmluZSBFWElUX0ZBSUxVUkUgMQ0KICA4OiAjZW5kaWYN
CiAgOTogDQogMTA6ICNpZm5kZWYgQUZfTE9DQUwNCiAxMTogI2RlZmluZSBB
Rl9MT0NBTCBBRl9VTklYDQogMTI6ICNlbmRpZg0KIDEzOiANCiAxNDogaW50
DQogMTU6IG1haW4oKQ0KIDE2OiB7DQogMTc6ICAgaW50IHBhc3NpdmUsIGdh
aWVyciwgaW5ldDQgPSAwLCBpbmV0NiA9IDA7DQogMTg6ICAgc3RydWN0IGFk
ZHJpbmZvIGhpbnRzLCAqYWksICphaXRvcDsNCiAxOTogICBjaGFyIHN0cmFk
ZHJbSU5FVDZfQUREUlNUUkxFTl0sIHN0cnBvcnRbMTZdOw0KIDIwOiANCiAy
MTogICBmb3IgKHBhc3NpdmUgPSAwOyBwYXNzaXZlIDw9IDE7IHBhc3NpdmUr
Kykgew0KIDIyOiAgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRz
KSk7DQogMjM6ICAgICBoaW50cy5haV9mYW1pbHkgPSBBRl9VTlNQRUM7DQog
MjQ6ICAgICBoaW50cy5haV9wcm90b2NvbCA9IElQUFJPVE9fVENQOw0KIDI1
OiAgICAgaGludHMuYWlfZmxhZ3MgPSBwYXNzaXZlID8gQUlfUEFTU0lWRSA6
IDA7DQogMjY6ICAgICBoaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfU1RSRUFN
Ow0KIDI3OiAgICAgaWYgKChnYWllcnIgPSBnZXRhZGRyaW5mbyhOVUxMLCAi
NTQzMjEiLCAmaGludHMsICZhaXRvcCkpICE9IDApIHsNCiAyODogICAgICAg
KHZvaWQpZ2FpX3N0cmVycm9yKGdhaWVycik7DQogMjk6ICAgICAgIGdvdG8g
YmFkOw0KIDMwOiAgICAgfQ0KIDMxOiAgICAgZm9yIChhaSA9IGFpdG9wOyBh
aTsgYWkgPSBhaS0+YWlfbmV4dCkgew0KIDMyOiAgICAgICBpZiAoYWktPmFp
X2ZhbWlseSA9PSBBRl9MT0NBTCkgY29udGludWU7DQogMzM6ICAgICAgIGlm
IChhaS0+YWlfYWRkciA9PSBOVUxMKQ0KIDM0OiAgICAgICAgIGdvdG8gYmFk
Ow0KIDM1OiAjaWYgZGVmaW5lZChfQUlYKQ0KIDM2OiAgICAgICBpZiAoYWkt
PmFpX2ZhbWlseSA9PSBBRl9JTkVUNiAmJiBwYXNzaXZlKSB7DQogMzc6ICAg
ICAgICAgaW5ldDYrKzsNCiAzODogICAgICAgICBjb250aW51ZTsNCiAzOTog
ICAgICAgfQ0KIDQwOiAgICAgICBhaS0+YWlfYWRkci0+c2FfbGVuID0gYWkt
PmFpX2FkZHJsZW47DQogNDE6ICAgICAgIGFpLT5haV9hZGRyLT5zYV9mYW1p
bHkgPSBhaS0+YWlfZmFtaWx5Ow0KIDQyOiAjZW5kaWYNCiA0MzogICAgICAg
aWYgKGFpLT5haV9hZGRybGVuID09IDAgfHwNCiA0NDogICAgICAgICAgIGdl
dG5hbWVpbmZvKGFpLT5haV9hZGRyLCBhaS0+YWlfYWRkcmxlbiwNCiA0NTog
ICAgICAgICAgICAgICAgICAgICAgIHN0cmFkZHIsIHNpemVvZihzdHJhZGRy
KSwgc3RycG9ydCwgc2l6ZW9mKHN0cnBvcnQpLA0KIDQ2OiAgICAgICAgICAg
ICAgICAgICAgICAgTklfTlVNRVJJQ0hPU1R8TklfTlVNRVJJQ1NFUlYpICE9
IDApIHsNCiA0NzogICAgICAgICBnb3RvIGJhZDsNCiA0ODogICAgICAgfQ0K
IDQ5OiAgICAgICBpZiAoc3RyY21wKHN0cnBvcnQsICI1NDMyMSIpICE9IDAp
IHsNCiA1MDogICAgICAgICBnb3RvIGJhZDsNCiA1MTogICAgICAgfQ0KIDUy
OiAgICAgICBzd2l0Y2ggKGFpLT5haV9mYW1pbHkpIHsNCiA1MzogICAgICAg
Y2FzZSBBRl9JTkVUOg0KIDU0OiAgICAgICAgIGlmIChwYXNzaXZlKSB7DQog
NTU6ICAgICAgICAgICBpZiAoc3RyY21wKHN0cmFkZHIsICIwLjAuMC4wIikg
IT0gMCkgew0KIDU2OiAgICAgICAgICAgICBnb3RvIGJhZDsNCiA1NzogICAg
ICAgICAgIH0NCiA1ODogICAgICAgICB9IGVsc2Ugew0KIDU5OiAgICAgICAg
ICAgaWYgKHN0cmNtcChzdHJhZGRyLCAiMTI3LjAuMC4xIikgIT0gMCkgew0K
IDYwOiAgICAgICAgICAgICBnb3RvIGJhZDsNCiA2MTogICAgICAgICAgIH0N
CiA2MjogICAgICAgICB9DQogNjM6ICAgICAgICAgaW5ldDQrKzsNCiA2NDog
ICAgICAgICBicmVhazsNCiA2NTogICAgICAgY2FzZSBBRl9JTkVUNjoNCiA2
NjogICAgICAgICBpZiAocGFzc2l2ZSkgew0KIDY3OiAgICAgICAgICAgaWYg
KHN0cmNtcChzdHJhZGRyLCAiOjoiKSAhPSAwKSB7DQogNjg6ICAgICAgICAg
ICAgIGdvdG8gYmFkOw0KIDY5OiAgICAgICAgICAgfQ0KIDcwOiAgICAgICAg
IH0gZWxzZSB7DQogNzE6ICAgICAgICAgICBpZiAoc3RyY21wKHN0cmFkZHIs
ICI6OjEiKSAhPSAwKSB7DQogNzI6ICAgICAgICAgICAgIGdvdG8gYmFkOw0K
IDczOiAgICAgICAgICAgfQ0KIDc0OiAgICAgICAgIH0NCiA3NTogICAgICAg
ICBpbmV0NisrOw0KIDc2OiAgICAgICAgIGJyZWFrOw0KIDc3OiAgICAgICBj
YXNlIEFGX1VOU1BFQzoNCiA3ODogICAgICAgICBnb3RvIGJhZDsNCiA3OTog
ICAgICAgICBicmVhazsNCiA4MDogICAgICAgZGVmYXVsdDoNCiA4MTogICAg
ICAgICAvKiBhbm90aGVyIGZhbWlseSBzdXBwb3J0PyAqLw0KIDgyOiAgICAg
ICAgIGJyZWFrOw0KIDgzOiAgICAgICB9DQogODQ6ICAgICB9DQogODU6ICAg
fQ0KIDg2OiANCiA4NzogICBpZiAoIShpbmV0NCA9PSAwIHx8IGluZXQ0ID09
IDIpKQ0KIDg4OiAgICAgZ290byBiYWQ7DQogODk6ICAgaWYgKCEoaW5ldDYg
PT0gMCB8fCBpbmV0NiA9PSAyKSkNCiA5MDogICAgIGdvdG8gYmFkOw0KIDkx
OiANCiA5MjogICBpZiAoYWl0b3ApDQogOTM6ICAgICBmcmVlYWRkcmluZm8o
YWl0b3ApOw0KIDk0OiAgIGV4aXQoRVhJVF9TVUNDRVNTKTsNCiA5NTogDQog
OTY6ICBiYWQ6DQogOTc6ICAgaWYgKGFpdG9wKQ0KIDk4OiAgICAgZnJlZWFk
ZHJpbmZvKGFpdG9wKTsNCiA5OTogICBleGl0KEVYSVRfRkFJTFVSRSk7DQox
MDA6IH0NCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpo
YXZlX3N0cnVjdF9tZW1iZXI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaW42X2Fk
ZHIuczZfYWRkcjguLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdj
YyAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u
Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAgIC1nIC1PMiAtREZEX1NFVFNJ
WkU9MjU2ICAgIC1jIGNvbmZ0ZXN0LmMiDQpjb25mdGVzdC5jOjY6Mzk6IGVy
cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl
DQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNs
dWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzog
DQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6
IGludCBzID0gKGNoYXIgKikmKChzdHJ1Y3QgaW42X2FkZHIqKTApLT5zNl9h
ZGRyOCAtIChjaGFyICopMDsNCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5nIGZvciBpbmV0X250b3Ao
KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0
ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v
Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZE
X1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAg
IC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAt
bHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u
ICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdpbmV0X250b3AnIHVu
ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRl
c3QuYzo2OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBp
cyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw
ZWFycyBpbg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQox
OiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2su
aD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAw
OyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9
ICh2b2lkICgoKikoKSkpaW5ldF9udG9wOyByZXR1cm4gMDsgfQ0KLyogZW5k
ICovDQoNCiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4u
Ly4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2Nr
ZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMg
IC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1Ynkx
OC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpc
VXNlcnNcTHVpc1xBcHBEYXRhXExvY2FsXFRlbXBcY2NBNUlwbUQubzogSW4g
ZnVuY3Rpb24gYHQnOg0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2Np
XHJ1YnlpbnN0YWxsZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tl
dC9jb25mdGVzdC5jOjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGluZXRf
bnRvcCcNCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpj
aGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6IC8qdG9wKi8N
CjI6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KMzogaW50IHQoKSB7IGlu
ZXRfbnRvcCgpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGluZXRf
bnRvYSgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2NjIC1v
IGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1J
Li4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1P
MiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAt
TC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3My
XzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNoZWNrZWQgcHJvZ3JhbSB3
YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6
ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGlu
dCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgq
dm9sYXRpbGUgcCkoKSk7IHAgPSAodm9pZCAoKCopKCkpKWluZXRfbnRvYTsg
cmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KDQpoYXZlX2Z1bmM6IGNoZWNraW5nIGZvciBpbmV0X3B0b24oKS4uLiAt
LS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1J
Li4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4v
Li4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJ
WkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3My
XzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxs
MzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICd0JzoN
CmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdpbmV0X3B0b24nIHVuZGVjbGFy
ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2
OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv
cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp
bg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5j
bHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6
IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2
OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lk
ICgoKikoKSkpaW5ldF9wdG9uOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoN
CiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4u
L3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUku
ICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAt
TC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0
aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KQzpcVXNlcnNc
THVpc1xBcHBEYXRhXExvY2FsXFRlbXBcY2NxRklmTFkubzogSW4gZnVuY3Rp
b24gYHQnOg0KQzpcVXNlcnNcTHVpc1xQcm9qZWN0c1xvc3Ncb2NpXHJ1Ynlp
bnN0YWxsZXJcc2FuZGJveFxydWJ5MThfYnVpbGRcZXh0XHNvY2tldC9jb25m
dGVzdC5jOjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGluZXRfcHRvbicN
CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjaGVja2Vk
IHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6IC8qdG9wKi8NCjI6IGlu
dCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KMzogaW50IHQoKSB7IGluZXRfcHRv
bigpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0tLS0t
LS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGluZXRfYXRvbigp
Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLW8gY29uZnRl
c3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8u
Li8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRf
U0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAg
LWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1s
c2hlbGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g
J3QnOg0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ2luZXRfYXRvbicgdW5k
ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpjb25mdGVz
dC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz
IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl
YXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6
ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5o
Pg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7
IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZvbGF0aWxlIHApKCkpOyBwID0g
KHZvaWQgKCgqKSgpKSlpbmV0X2F0b247IHJldHVybiAwOyB9DQovKiBlbmQg
Ki8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4v
Li4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tl
dCAtSS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAg
LUwuIC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4
LXN0YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpDOlxV
c2Vyc1xMdWlzXEFwcERhdGFcTG9jYWxcVGVtcFxjY1VJT0hNUy5vOiBJbiBm
dW5jdGlvbiBgdCc6DQpDOlxVc2Vyc1xMdWlzXFByb2plY3RzXG9zc1xvY2lc
cnVieWluc3RhbGxlclxzYW5kYm94XHJ1YnkxOF9idWlsZFxleHRcc29ja2V0
L2NvbmZ0ZXN0LmM6MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaW5ldF9h
dG9uJw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNo
ZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0K
MjogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgaW5l
dF9hdG9uKCk7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2V0c2Vy
dmJ5cG9ydCgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHllcw0KDQoiZ2Nj
IC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5
IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1n
IC1PMiAtREZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8u
LiAtTC4gICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1s
d3MyXzMyICAtbHNoZWxsMzIgLWx3czJfMzIgICINCmNoZWNrZWQgcHJvZ3Jh
bSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4N
CjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6
IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQg
KCgqdm9sYXRpbGUgcCkoKSk7IHAgPSAodm9pZCAoKCopKCkpKWdldHNlcnZi
eXBvcnQ7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2FpX3N0cmVy
cm9yKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBj
b25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4u
Ly4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIg
LURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwu
ICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8z
MiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjb25mdGVzdC5jOiBJbiBmdW5j
dGlvbiAndCc6DQpjb25mdGVzdC5jOjY6NTM6IGVycm9yOiAnZ2FpX3N0cmVy
cm9yJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikN
CmNvbmZ0ZXN0LmM6Njo1Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50
aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u
IGl0IGFwcGVhcnMgaW4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQovKiBiZWdp
biAqLw0KMTogI2luY2x1ZGUgPHdpbmRvd3MuaD4NCjI6ICNpbmNsdWRlIDx3
aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9wKi8NCjU6IGludCBtYWluKCkgeyBy
ZXR1cm4gMDsgfQ0KNjogaW50IHQoKSB7IHZvaWQgKCgqdm9sYXRpbGUgcCko
KSk7IHAgPSAodm9pZCAoKCopKCkpKWdhaV9zdHJlcnJvcjsgcmV0dXJuIDA7
IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUku
Li8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVi
eS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBj
b25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1z
dmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJf
MzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjOG1X
N3RFLm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVj
dHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxk
XGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBnYWlfc3RyZXJyb3InDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl
eGl0IHN0YXR1cw0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov
DQoxOiAvKnRvcCovDQoyOiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjM6
IGludCB0KCkgeyBnYWlfc3RyZXJyb3IoKTsgcmV0dXJuIDA7IH0NCi8qIGVu
ZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hlYWRlcjog
Y2hlY2tpbmcgZm9yIGFycGEvbmFtZXNlci5oLi4uIC0tLS0tLS0tLS0tLS0t
LS0tLS0tIG5vDQoNCiJnY2MgLUUgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4u
Ly4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQg
LUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgICBjb25mdGVzdC5jIC1v
IGNvbmZ0ZXN0LmkiDQpjb25mdGVzdC5jOjE6MjY6IGZhdGFsIGVycm9yOiBh
cnBhL25hbWVzZXIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQ0KY29t
cGlsYXRpb24gdGVybWluYXRlZC4NCmNoZWNrZWQgcHJvZ3JhbSB3YXM6DQov
KiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPGFycGEvbmFtZXNlci5oPg0KLyog
ZW5kICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfaGVhZGVy
OiBjaGVja2luZyBmb3IgcmVzb2x2LmguLi4gLS0tLS0tLS0tLS0tLS0tLS0t
LS0gbm8NCg0KImdjYyAtRSAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4v
cnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4g
ICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgIGNvbmZ0ZXN0LmMgLW8gY29u
ZnRlc3QuaSINCmNvbmZ0ZXN0LmM6MToyMDogZmF0YWwgZXJyb3I6IHJlc29s
di5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxhdGlvbiB0
ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov
DQoxOiAjaW5jbHVkZSA8cmVzb2x2Lmg+DQovKiBlbmQgKi8NCg0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV90eXBlOiBjaGVja2luZyBmb3Igc29j
a2xlbl90Li4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJnY2MgLUku
Li8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8u
Li8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0la
RT0yNTYgICAgLWMgY29uZnRlc3QuYyINCmNvbmZ0ZXN0LmM6NToxOTogZXJy
b3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJp
YnV0ZV9fJyBiZWZvcmUgJ2NvbmZ0ZXN0X3R5cGUnDQpjb25mdGVzdC5jOjY6
MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn
X19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25mdGVzdHZhbCcNCmNoZWNrZWQg
cHJvZ3JhbSB3YXM6DQovKiBiZWdpbiAqLw0KMTogI2luY2x1ZGUgPHdpbmRv
d3MuaD4NCjI6ICNpbmNsdWRlIDx3aW5zb2NrLmg+DQozOiANCjQ6IC8qdG9w
Ki8NCjU6IHR5cGVkZWYgc29ja2xlbl90IGNvbmZ0ZXN0X3R5cGU7DQo2OiBz
dGF0aWMgY29uZnRlc3RfdHlwZSBjb25mdGVzdHZhbFtzaXplb2YoY29uZnRl
c3RfdHlwZSk/MTotMV07DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCg0KaGF2ZV9oZWFkZXI6IGNoZWNraW5nIGZvciBzeXMvdW4uaC4u
LiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4g
LUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4v
cnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2
ICAgY29uZnRlc3QuYyAtbyBjb25mdGVzdC5pIg0KY29uZnRlc3QuYzoxOjIw
OiBmYXRhbCBlcnJvcjogc3lzL3VuLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkNCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjaGVja2VkIHByb2dy
YW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDxzeXMvdW4uaD4N
Ci8qIGVuZCAqLw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpoYXZlX2hl
YWRlcjogY2hlY2tpbmcgZm9yIHN5cy91aW8uaC4uLiAtLS0tLS0tLS0tLS0t
LS0tLS0tLSBubw0KDQoiZ2NjIC1FIC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8u
Li8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0
IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICAgY29uZnRlc3QuYyAt
byBjb25mdGVzdC5pIg0KY29uZnRlc3QuYzoxOjIxOiBmYXRhbCBlcnJvcjog
c3lzL3Vpby5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJl
Z2luICovDQoxOiAjaW5jbHVkZSA8c3lzL3Vpby5oPg0KLyogZW5kICovDQoN
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcg
Zm9yIFdTQUNsZWFudXAoKS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSB5ZXMN
Cg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4v
Li4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAt
SS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwu
IC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0
YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjaGVja2Vk
IHByb2dyYW0gd2FzOg0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5k
b3dzLmg+DQoyOiAjaW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRv
cCovDQo1OiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCB0KCkg
eyB2b2lkICgoKnZvbGF0aWxlIHApKCkpOyBwID0gKHZvaWQgKCgqKSgpKSlX
U0FDbGVhbnVwOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGhzdGVy
cm9yKCkuLi4gLS0tLS0tLS0tLS0tLS0tLS0tLS0gbm8NCg0KImdjYyAtbyBj
b25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4u
Ly4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIg
LURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwu
ICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8z
MiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpjb25mdGVzdC5jOiBJbiBmdW5j
dGlvbiAndCc6DQpjb25mdGVzdC5jOjY6NTM6IGVycm9yOiAnaHN0ZXJyb3In
IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29u
ZnRlc3QuYzo2OjUzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll
ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg
YXBwZWFycyBpbg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICov
DQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNv
Y2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJldHVy
biAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsg
cCA9ICh2b2lkICgoKikoKSkpaHN0ZXJyb3I7IHJldHVybiAwOyB9DQovKiBl
bmQgKi8NCg0KImdjYyAtbyBjb25mdGVzdCAtSS4uLy4uIC1JLi4vLi4vLi4v
Li4vLi4vLi4vcnVieSAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkvZXh0L3Nv
Y2tldCAtSS4gICAtZyAtTzIgLURGRF9TRVRTSVpFPTI1NiAgY29uZnRlc3Qu
YyAgLUwuIC1MLi4vLi4gLUwuICAgICAtbHdzMl8zMiAgLWxtc3ZjcnQtcnVi
eTE4LXN0YXRpYyAtbHdzMl8zMiAgLWxzaGVsbDMyIC1sd3MyXzMyICAiDQpD
OlxVc2Vyc1xMdWlzXEFwcERhdGFcTG9jYWxcVGVtcFxjY0N6WE1pWC5vOiBJ
biBmdW5jdGlvbiBgdCc6DQpDOlxVc2Vyc1xMdWlzXFByb2plY3RzXG9zc1xv
Y2lccnVieWluc3RhbGxlclxzYW5kYm94XHJ1YnkxOF9idWlsZFxleHRcc29j
a2V0L2NvbmZ0ZXN0LmM6MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaHN0
ZXJyb3InDQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cw0K
Y2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAvKnRvcCov
DQoyOiBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0NCjM6IGludCB0KCkgeyBo
c3RlcnJvcigpOyByZXR1cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tDQoNCmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGdldGlw
bm9kZWJ5bmFtZSgpLi4uIC0tLS0tLS0tLS0tLS0tLS0tLS0tIG5vDQoNCiJn
Y2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1
YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAg
LWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4u
Ly4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMg
LWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAgIg0KY29uZnRlc3QuYzog
SW4gZnVuY3Rpb24gJ3QnOg0KY29uZnRlc3QuYzo2OjUzOiBlcnJvcjogJ2dl
dGlwbm9kZWJ5bmFtZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg
ZnVuY3Rpb24pDQpjb25mdGVzdC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNs
YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj
aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2Fz
Og0KLyogYmVnaW4gKi8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAj
aW5jbHVkZSA8d2luc29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQg
bWFpbigpIHsgcmV0dXJuIDA7IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZv
bGF0aWxlIHApKCkpOyBwID0gKHZvaWQgKCgqKSgpKSlnZXRpcG5vZGVieW5h
bWU7IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KImdjYyAtbyBjb25mdGVz
dCAtSS4uLy4uIC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVieSAtSS4uLy4uLy4u
Ly4uLy4uLy4uL3J1YnkvZXh0L3NvY2tldCAtSS4gICAtZyAtTzIgLURGRF9T
RVRTSVpFPTI1NiAgY29uZnRlc3QuYyAgLUwuIC1MLi4vLi4gLUwuICAgICAt
bHdzMl8zMiAgLWxtc3ZjcnQtcnVieTE4LXN0YXRpYyAtbHdzMl8zMiAgLWxz
aGVsbDMyIC1sd3MyXzMyICAiDQpDOlxVc2Vyc1xMdWlzXEFwcERhdGFcTG9j
YWxcVGVtcFxjY3dkd29QQS5vOiBJbiBmdW5jdGlvbiBgdCc6DQpDOlxVc2Vy
c1xMdWlzXFByb2plY3RzXG9zc1xvY2lccnVieWluc3RhbGxlclxzYW5kYm94
XHJ1YnkxOF9idWlsZFxleHRcc29ja2V0L2NvbmZ0ZXN0LmM6MzogdW5kZWZp
bmVkIHJlZmVyZW5jZSB0byBgZ2V0aXBub2RlYnluYW1lJw0KY29sbGVjdDI6
IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNoZWNrZWQgcHJvZ3JhbSB3
YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0KMjogaW50IG1haW4oKSB7
IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgZ2V0aXBub2RlYnluYW1lKCk7
IHJldHVybiAwOyB9DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCg0KaGF2ZV9mdW5jOiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZTIo
KS4uLiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBubw0KDQoiZ2NjIC1vIGNvbmZ0
ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4v
Li4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZE
X1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAg
IC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAt
bHNoZWxsMzIgLWx3czJfMzIgICINCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u
ICd0JzoNCmNvbmZ0ZXN0LmM6Njo1MzogZXJyb3I6ICdnZXRob3N0YnluYW1l
MicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pDQpj
b25mdGVzdC5jOjY6NTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlm
aWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp
dCBhcHBlYXJzIGluDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4g
Ki8NCjE6ICNpbmNsdWRlIDx3aW5kb3dzLmg+DQoyOiAjaW5jbHVkZSA8d2lu
c29jay5oPg0KMzogDQo0OiAvKnRvcCovDQo1OiBpbnQgbWFpbigpIHsgcmV0
dXJuIDA7IH0NCjY6IGludCB0KCkgeyB2b2lkICgoKnZvbGF0aWxlIHApKCkp
OyBwID0gKHZvaWQgKCgqKSgpKSlnZXRob3N0YnluYW1lMjsgcmV0dXJuIDA7
IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNvbmZ0ZXN0IC1JLi4vLi4gLUku
Li8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4vLi4vLi4vLi4vLi4vLi4vcnVi
eS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAtREZEX1NFVFNJWkU9MjU2ICBj
b25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4gICAgIC1sd3MyXzMyICAtbG1z
dmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMyICAtbHNoZWxsMzIgLWx3czJf
MzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0YVxMb2NhbFxUZW1wXGNjYU9z
WWd3Lm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6XFVzZXJzXEx1aXNcUHJvamVj
dHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNhbmRib3hccnVieTE4X2J1aWxk
XGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBnZXRob3N0YnluYW1lMicNCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAx
IGV4aXQgc3RhdHVzDQpjaGVja2VkIHByb2dyYW0gd2FzOg0KLyogYmVnaW4g
Ki8NCjE6IC8qdG9wKi8NCjI6IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQ0K
MzogaW50IHQoKSB7IGdldGhvc3RieW5hbWUyKCk7IHJldHVybiAwOyB9DQov
KiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaGF2ZV9mdW5j
OiBjaGVja2luZyBmb3Igc29ja2V0cGFpcigpLi4uIC0tLS0tLS0tLS0tLS0t
LS0tLS0tIG5vDQoNCiJnY2MgLW8gY29uZnRlc3QgLUkuLi8uLiAtSS4uLy4u
Ly4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5L2V4
dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0laRT0yNTYgIGNvbmZ0
ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJfMzIgIC1sbXN2Y3J0
LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8zMiAg
Ig0KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ3QnOg0KY29uZnRlc3QuYzo2
OjUzOiBlcnJvcjogJ3NvY2tldHBhaXInIHVuZGVjbGFyZWQgKGZpcnN0IHVz
ZSBpbiB0aGlzIGZ1bmN0aW9uKQ0KY29uZnRlc3QuYzo2OjUzOiBub3RlOiBl
YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9u
Y2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbg0KY2hlY2tlZCBw
cm9ncmFtIHdhczoNCi8qIGJlZ2luICovDQoxOiAjaW5jbHVkZSA8d2luZG93
cy5oPg0KMjogI2luY2x1ZGUgPHdpbnNvY2suaD4NCjM6IA0KNDogLyp0b3Aq
Lw0KNTogaW50IG1haW4oKSB7IHJldHVybiAwOyB9DQo2OiBpbnQgdCgpIHsg
dm9pZCAoKCp2b2xhdGlsZSBwKSgpKTsgcCA9ICh2b2lkICgoKikoKSkpc29j
a2V0cGFpcjsgcmV0dXJuIDA7IH0NCi8qIGVuZCAqLw0KDQoiZ2NjIC1vIGNv
bmZ0ZXN0IC1JLi4vLi4gLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5IC1JLi4v
Li4vLi4vLi4vLi4vLi4vcnVieS9leHQvc29ja2V0IC1JLiAgIC1nIC1PMiAt
REZEX1NFVFNJWkU9MjU2ICBjb25mdGVzdC5jICAtTC4gLUwuLi8uLiAtTC4g
ICAgIC1sd3MyXzMyICAtbG1zdmNydC1ydWJ5MTgtc3RhdGljIC1sd3MyXzMy
ICAtbHNoZWxsMzIgLWx3czJfMzIgICINCkM6XFVzZXJzXEx1aXNcQXBwRGF0
YVxMb2NhbFxUZW1wXGNjcFJ5RXdpLm86IEluIGZ1bmN0aW9uIGB0JzoNCkM6
XFVzZXJzXEx1aXNcUHJvamVjdHNcb3NzXG9jaVxydWJ5aW5zdGFsbGVyXHNh
bmRib3hccnVieTE4X2J1aWxkXGV4dFxzb2NrZXQvY29uZnRlc3QuYzozOiB1
bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzb2NrZXRwYWlyJw0KY29sbGVjdDI6
IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNoZWNrZWQgcHJvZ3JhbSB3
YXM6DQovKiBiZWdpbiAqLw0KMTogLyp0b3AqLw0KMjogaW50IG1haW4oKSB7
IHJldHVybiAwOyB9DQozOiBpbnQgdCgpIHsgc29ja2V0cGFpcigpOyByZXR1
cm4gMDsgfQ0KLyogZW5kICovDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tDQoN
CmhhdmVfZnVuYzogY2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lKCkuLi4gLS0t
LS0tLS0tLS0tLS0tLS0tLS0geWVzDQoNCiJnY2MgLW8gY29uZnRlc3QgLUku
Li8uLiAtSS4uLy4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8u
Li8uLi9ydWJ5L2V4dC9zb2NrZXQgLUkuICAgLWcgLU8yIC1ERkRfU0VUU0la
RT0yNTYgIGNvbmZ0ZXN0LmMgIC1MLiAtTC4uLy4uIC1MLiAgICAgLWx3czJf
MzIgIC1sbXN2Y3J0LXJ1YnkxOC1zdGF0aWMgLWx3czJfMzIgIC1sc2hlbGwz
MiAtbHdzMl8zMiAgIg0KY2hlY2tlZCBwcm9ncmFtIHdhczoNCi8qIGJlZ2lu
ICovDQoxOiAjaW5jbHVkZSA8d2luZG93cy5oPg0KMjogI2luY2x1ZGUgPHdp
bnNvY2suaD4NCjM6IA0KNDogLyp0b3AqLw0KNTogaW50IG1haW4oKSB7IHJl
dHVybiAwOyB9DQo2OiBpbnQgdCgpIHsgdm9pZCAoKCp2b2xhdGlsZSBwKSgp
KTsgcCA9ICh2b2lkICgoKikoKSkpZ2V0aG9zdG5hbWU7IHJldHVybiAwOyB9
DQovKiBlbmQgKi8NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K

--mimepart_4ca32aadbbef1_ef05a293101393c
Content-Type: text/plain; name=Makefile
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=Makefile

ClNIRUxMID0gL2Jpbi9zaAoKIyMjIyBTdGFydCBvZiBzeXN0ZW0gY29uZmln
dXJhdGlvbiBzZWN0aW9uLiAjIyMjCgpzcmNkaXIgPSAkKHRvcF9zcmNkaXIp
L2V4dC9zb2NrZXQKdG9wZGlyID0gLi4vLi4KaGRyZGlyID0gJCh0b3Bfc3Jj
ZGlyKQpWUEFUSCA9ICQoc3JjZGlyKTokKHRvcGRpcik6JChoZHJkaXIpClJV
QllMSUIgPSAtClJVQllPUFQgPSAtcnB1cmVsaWIucmIKCkRFU1RESVIgPSBD
OgpwcmVmaXggPSAkKERFU1RESVIpL1VzZXJzL0x1aXMvUHJvamVjdHMvb3Nz
L29jaS9ydWJ5aW5zdGFsbGVyL3NhbmRib3gvcnVieTE4X21pbmd3CmV4ZWNf
cHJlZml4ID0gJChERVNURElSKS9Vc2Vycy9MdWlzL1Byb2plY3RzL29zcy9v
Y2kvcnVieWluc3RhbGxlci9zYW5kYm94L3J1YnkxOF9taW5ndwpzaXRlZGly
ID0gJChERVNURElSKS9Vc2Vycy9MdWlzL1Byb2plY3RzL29zcy9vY2kvcnVi
eWluc3RhbGxlci9zYW5kYm94L3J1YnkxOF9taW5ndy9saWIvcnVieS9zaXRl
X3J1YnkKcnVieWxpYmRpciA9ICQobGliZGlyKS9ydWJ5LyQocnVieV92ZXJz
aW9uKQpkb2NkaXIgPSAkKGRhdGFyb290ZGlyKS9kb2MvJChQQUNLQUdFKQpk
dmlkaXIgPSAkKGRvY2RpcikKZGF0YXJvb3RkaXIgPSAkKHByZWZpeCkvc2hh
cmUKdG9wX3NyY2RpciA9ICQodG9wZGlyKS8uLi8uLi8uLi8uLi9ydWJ5CmFy
Y2hkaXIgPSAkKHJ1YnlsaWJkaXIpLyQoYXJjaCkKc2JpbmRpciA9ICQoZXhl
Y19wcmVmaXgpL3NiaW4KcHNkaXIgPSAkKGRvY2RpcikKbG9jYWxlZGlyID0g
JChkYXRhcm9vdGRpcikvbG9jYWxlCmh0bWxkaXIgPSAkKGRvY2RpcikKZGF0
YWRpciA9ICQoZGF0YXJvb3RkaXIpCmluY2x1ZGVkaXIgPSAkKHByZWZpeCkv
aW5jbHVkZQppbmZvZGlyID0gJChkYXRhcm9vdGRpcikvaW5mbwpzeXNjb25m
ZGlyID0gJChwcmVmaXgpL2V0YwptYW5kaXIgPSAkKGRhdGFyb290ZGlyKS9t
YW4KbGliZGlyID0gJChleGVjX3ByZWZpeCkvbGliCnNoYXJlZHN0YXRlZGly
ID0gJChwcmVmaXgpL2NvbQpvbGRpbmNsdWRlZGlyID0gJChERVNURElSKS91
c3IvaW5jbHVkZQpwZGZkaXIgPSAkKGRvY2RpcikKc2l0ZWFyY2hkaXIgPSAk
KHNpdGVsaWJkaXIpLyQoc2l0ZWFyY2gpCmJpbmRpciA9ICQoZXhlY19wcmVm
aXgpL2Jpbgpsb2NhbHN0YXRlZGlyID0gJChwcmVmaXgpL3ZhcgpzaXRlbGli
ZGlyID0gJChzaXRlZGlyKS8kKHJ1YnlfdmVyc2lvbikKbGliZXhlY2RpciA9
ICQoZXhlY19wcmVmaXgpL2xpYmV4ZWMKCkNDID0gZ2NjCkxJQlJVQlkgPSBs
aWIkKExJQlJVQllfU08pLmEKTElCUlVCWV9BID0gbGliJChSVUJZX1NPX05B
TUUpLXN0YXRpYy5hCkxJQlJVQllBUkdfU0hBUkVEID0gLWwkKFJVQllfU09f
TkFNRSkKTElCUlVCWUFSR19TVEFUSUMgPSAtbCQoUlVCWV9TT19OQU1FKS1z
dGF0aWMKClJVQllfRVhUQ09ORl9IID0gCkNGTEFHUyAgID0gIC1nIC1PMiAt
REZEX1NFVFNJWkU9MjU2ICAKSU5DRkxBR1MgPSAtSS4gLUkuLi8uLiAtSS4u
Ly4uLy4uLy4uLy4uLy4uL3J1YnkgLUkuLi8uLi8uLi8uLi8uLi8uLi9ydWJ5
L2V4dC9zb2NrZXQKREVGUyAgICAgPSAKQ1BQRkxBR1MgPSAtREhBVkVfU09D
S0FERFJfU1RPUkFHRSAtREhBVkVfSU5FVF9OVE9BIC1ESEFWRV9HRVRTRVJW
QllQT1JUIC1Ec29ja2xlbl90PWludCAtREhBVkVfV1NBQ0xFQU5VUCAtREhB
VkVfR0VUSE9TVE5BTUUgLUkuICAKQ1hYRkxBR1MgPSAkKENGTEFHUykgCkRM
REZMQUdTID0gLUwuICAgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSwt
LWVuYWJsZS1hdXRvLWltcG9ydCwtLWV4cG9ydC1hbGwgCkxEU0hBUkVEID0g
Z2NjIC1zaGFyZWQgLXMKQVIgPSBhcgpFWEVFWFQgPSAuZXhlCgpSVUJZX0lO
U1RBTExfTkFNRSA9IHJ1YnkKUlVCWV9TT19OQU1FID0gbXN2Y3J0LXJ1Ynkx
OAphcmNoID0gaTM4Ni1taW5ndzMyCnNpdGVhcmNoID0gaTM4Ni1tc3ZjcnQK
cnVieV92ZXJzaW9uID0gMS44CnJ1YnkgPSAkKHRvcGRpcikvbWluaXJ1Ynku
ZXhlIC1JJyQodG9wZGlyKScgLUknJCh0b3Bfc3JjZGlyKS9saWInIC1JJyQo
ZXh0b3V0KS8kKGFyY2gpJyAtSSckKGV4dG91dCkvY29tbW9uJyAtSSckKGhk
cmRpcikvZXh0JyAtcnB1cmVsaWIucmIKUlVCWSA9ICQocnVieSkKUk0gPSBy
bSAtZgpNQUtFRElSUyA9IGluc3RhbGwgLWQKSU5TVEFMTCA9IC91c3IvYmlu
L2luc3RhbGwgLWMKSU5TVEFMTF9QUk9HID0gJChJTlNUQUxMKSAtbSAwNzU1
CklOU1RBTExfREFUQSA9ICQoSU5TVEFMTCkgLW0gNjQ0CkNPUFkgPSBjcAoK
IyMjIyBFbmQgb2Ygc3lzdGVtIGNvbmZpZ3VyYXRpb24gc2VjdGlvbi4gIyMj
IwoKcHJlbG9hZCA9IAoKbGlicGF0aCA9IC4gJCh0b3BkaXIpCkxJQlBBVEgg
PSAgLUwuIC1MJCh0b3BkaXIpCkRFRkZJTEUgPSAKCkNMRUFORklMRVMgPSBt
a21mLmxvZwpESVNUQ0xFQU5GSUxFUyA9IAoKZXh0b3V0ID0gJCh0b3BkaXIp
Ly5leHQKZXh0b3V0X3ByZWZpeCA9ICQoZXh0b3V0KSQodGFyZ2V0X3ByZWZp
eCkvCnRhcmdldF9wcmVmaXggPSAKTE9DQUxfTElCUyA9IApMSUJTID0gJChM
SUJSVUJZQVJHX1NIQVJFRCkgLWx3czJfMzIgIC1sc2hlbGwzMiAtbHdzMl8z
MiAgClNSQ1MgPSBzb2NrZXQuYyBnZXRhZGRyaW5mby5jIGdldG5hbWVpbmZv
LmMKT0JKUyA9IHNvY2tldC5vIGdldGFkZHJpbmZvLm8gZ2V0bmFtZWluZm8u
bwpUQVJHRVQgPSBzb2NrZXQKRExMSUIgPSAkKFRBUkdFVCkuc28KRVhUU1RB
VElDID0gClNUQVRJQ19MSUIgPSAkKFRBUkdFVCkuYQoKUlVCWUNPTU1PTkRJ
UiA9ICQoZXh0b3V0KS9jb21tb24KUlVCWUxJQkRJUiAgICA9ICQoUlVCWUNP
TU1PTkRJUikkKHRhcmdldF9wcmVmaXgpClJVQllBUkNIRElSICAgPSAkKGV4
dG91dCkvJChhcmNoKSQodGFyZ2V0X3ByZWZpeCkKClRBUkdFVF9TTyAgICAg
PSAkKFJVQllBUkNIRElSKS8kKERMTElCKQpDTEVBTkxJQlMgICAgID0gJChS
VUJZQVJDSERJUikvJChUQVJHRVQpLnNvICQoUlVCWUFSQ0hESVIpLyQoVEFS
R0VUKS5pbD8gJChSVUJZQVJDSERJUikvJChUQVJHRVQpLnRkcyAkKFJVQllB
UkNIRElSKS8kKFRBUkdFVCkubWFwCkNMRUFOT0JKUyAgICAgPSAqLm8gKi5h
ICouc1tvbF0gKi5wZGIgKi5leHAgKi5iYWsKCmFsbDoJCWluc3RhbGwKc3Rh
dGljOgkJJChTVEFUSUNfTElCKSBpbnN0YWxsLXJiCgpjbGVhbjoKCQlALSQo
Uk0pICQoQ0xFQU5MSUJTKSAkKENMRUFOT0JKUykgJChDTEVBTkZJTEVTKQoK
ZGlzdGNsZWFuOgljbGVhbgoJCUAtJChSTSkgTWFrZWZpbGUgJChSVUJZX0VY
VENPTkZfSCkgY29uZnRlc3QuKiBta21mLmxvZwoJCUAtJChSTSkgY29yZSBy
dWJ5JChFWEVFWFQpICp+ICQoRElTVENMRUFORklMRVMpCgpyZWFsY2xlYW46
CWRpc3RjbGVhbgppbnN0YWxsOiBpbnN0YWxsLXNvIGluc3RhbGwtcmIKCmlu
c3RhbGwtc286ICQoUlVCWUFSQ0hESVIpCmluc3RhbGwtc286ICQoUlVCWUFS
Q0hESVIpLyQoRExMSUIpCmluc3RhbGwtcmI6IHByZS1pbnN0YWxsLXJiIGlu
c3RhbGwtcmItZGVmYXVsdAppbnN0YWxsLXJiLWRlZmF1bHQ6IHByZS1pbnN0
YWxsLXJiLWRlZmF1bHQKcHJlLWluc3RhbGwtcmI6IE1ha2VmaWxlCnByZS1p
bnN0YWxsLXJiLWRlZmF1bHQ6IE1ha2VmaWxlCiQoUlVCWUFSQ0hESVIpOgoJ
JChNQUtFRElSUykgJEAKCnNpdGUtaW5zdGFsbDogc2l0ZS1pbnN0YWxsLXNv
IHNpdGUtaW5zdGFsbC1yYgpzaXRlLWluc3RhbGwtc286IGluc3RhbGwtc28K
c2l0ZS1pbnN0YWxsLXJiOiBpbnN0YWxsLXJiCgouU1VGRklYRVM6IC5jIC5t
IC5jYyAuY3h4IC5jcHAgLm8KCi5jYy5vOgoJJChDWFgpICQoSU5DRkxBR1Mp
ICQoQ1BQRkxBR1MpICQoQ1hYRkxBR1MpIC1jICQ8CgouY3h4Lm86CgkkKENY
WCkgJChJTkNGTEFHUykgJChDUFBGTEFHUykgJChDWFhGTEFHUykgLWMgJDwK
Ci5jcHAubzoKCSQoQ1hYKSAkKElOQ0ZMQUdTKSAkKENQUEZMQUdTKSAkKENY
WEZMQUdTKSAtYyAkPAoKLmMubzoKCSQoQ0MpICQoSU5DRkxBR1MpICQoQ1BQ
RkxBR1MpICQoQ0ZMQUdTKSAtYyAkPAoKJChSVUJZQVJDSERJUikvJChETExJ
Qik6ICQoT0JKUykgTWFrZWZpbGUKCUAtJChSTSkgJEAKCUAtJChNQUtFRElS
UykgJChARCkKCSQoTERTSEFSRUQpIC1vICRAICQoT0JKUykgJChMSUJQQVRI
KSAkKERMREZMQUdTKSAkKExPQ0FMX0xJQlMpICQoTElCUykKCiQoU1RBVElD
X0xJQik6ICQoT0JKUykKCSQoQVIpIGNydSAkQCAkKE9CSlMpCglALXJhbmxp
YiAkKERMTElCKSAyPiAvZGV2L251bGwgfHwgdHJ1ZQoKIyMjCnNvY2tldC5v
IDogc29ja2V0LmMgJChoZHJkaXIpL3J1YnkuaCAkKHRvcGRpcikvY29uZmln
LmggJChoZHJkaXIpL2RlZmluZXMuaCAkKGhkcmRpcikvcnVieWlvLmggJCho
ZHJkaXIpL3J1YnlzaWcuaCBzb2NrcG9ydC5oCmdldG5hbWVpbmZvLm86IGdl
dG5hbWVpbmZvLmMgJCh0b3BkaXIpL2NvbmZpZy5oIGFkZHJpbmZvLmggc29j
a3BvcnQuaApnZXRhZGRyaW5mby5vOiBnZXRhZGRyaW5mby5jICQodG9wZGly
KS9jb25maWcuaCBhZGRyaW5mby5oIHNvY2twb3J0LmgK

--mimepart_4ca32aadbbef1_ef05a293101393c
Content-Type: application/x-zip-compressed; name=config.log.zip
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=config.log.zip

UEsDBBQAAAAIAGRGPT1lzXywOUwAAAqvBQAKAAAAY29uZmlnLmxvZ+xdeXPi
NhT/u5npd1DPJG05bGNj06YdSsgubRYyQHpuh3FsA26MTX0kocd375NsY8tH
lmDapq0ymyzoHXo630/Pkjxdmh6am5aBNMf2VdP2kGpv0MrwPHVheGjtOnqg
GTq62QDHag2croful/D/kRvYtmkvsOTcXASu8QnyHaSaOtKNm2CxwDRznpDR
Sr01QD9amZ4PH+tHRwMf3ase0lxD9cNMEmU4F22J6UcLwzbcmOPF8Bp1A9/B
nIivS+06QgP7ztFU33RsbOVKtXVkmbZBhI8Qeh/V643tPze42TQSq2o1w1Zv
LKPmLVXX0OH7vekv4Y/tOdotD9910yMMkOKrllXTHQ31Li67LyZntQWqjYDn
/OJ8NulPJ4Mf+me8KIHQ2jXm5sNZr9O49qDOGpeB6TWuXOdnQ/O9huPBr2YS
WyK1htvwwPAb54GkcvJsBTV4f3T03nugLvpB772Hv19Zqj933FUdvufoR0vH
8211ZaAz9HV/NO4fBeRbbQUJpiRL8XcXvnP1Zp0TT5r1VrshNPjTmOYB7dVg
+OJbgZ8NpzWpzsWUO6DwTa5Za7ZrTQnxfKfZOjpqBJ7buDHtRsS1Bq7AvrWd
e/sonf4dwj8JLSSqLrR0/ENzEM0JU+22kAG3553x0FgYvrfxTHvuFGnAFUNo
+Cdr4ErVltBnHrfB8SzjzrBCer6I5h00dagiW86r7vRlBzW0PbrDWtcCUOvh
TKrocdaG7XlWVTW/WuZNSgeum+xX0nOr5mPiNq2qZKHfrEp11BfGKpwOHmSp
RowW+AZXl0slpo5jeY0xiBC5GvDW27W10ORrppDooOW/NW3dufca0DN9YyXw
OUqedRKxNr69MVbl5Djhyrk33MnSsKzGHYzoRrntbyjZC9NvaCv9EY7Jnf0G
HS8XjxCvbfPhDfLfmEmJcTMvXHWFLkwLfMcJtNNp4yv1Tm38rN9ydanenHFh
a0XzZHam7DkwxfuG53vJXEnPlltP0OElvtlB2tLQbrHvuglMS0dhoyF/szYo
VqHVQa7hBZbfIZNqba3FrU/xia2USjwBlWqU2rtplNspjb7qLoxSne1mcyed
SktO6QTPghaaRjFIrQ6kB7aeGeCNLGNbTHKkaQLfbGVy6W1BBcIzJ/hvip8T
iA5osoiKPv9QPIKUuvFgoBNfX9W4U9Sqi3Xu7aOes9645mLpo5PeKfFQ6MI1
DDRx5v69Cr3gAptPQMInABi0+ttHBP3Avznm8yK+T5EH3/wlTglczSCGaqA8
wjq6iVVAd0LTpQFqQX44evsIRF3V9jefItvxETgJmwi+6o97L7vDaffLweVg
+j2CpIvBdNifTNDFaIy66Ko7ng5615fdMbq6Hl+NJn0w7G2qGniotve/AGfS
LK6dO1It117caX1AKshbG5pXP+qNLi/7vensRa8HWOQ1GWyv8WB7HU+grx0P
fjXzNTWBvo4m0Ne6cXdr+q9Jg7+GBn8dVf9W8+V0NPt23L266o/PtE4jIMPZ
wsN5vdsUHeaQdCmM0cDFQB4a7l2NeE4l7dywfKd276rrteESM6ZkAHRQ3Kt7
cQ3pCOO4TgT9PJcoqxElFPojw/wsEk/QoKXaiwBj4DPtE1VXP9E+/vgTaFAf
GvkT5+ZnDf+pQWIi4S8BxureGSDHtCIoygI6eZIAJUi+zAPL2tT0DaAjU6t5
vgt2ULKer2sPDzUMqRNCPB5quJXNOUgCGPfNVSiRgqy2lf5GLKu5xsKEjDYp
grdZYY0JbA0rPS1quK7jJgZgm+aWuvDOjmtz24Fy2JpPLDLI/6ALJ8N4U7dJ
xzG2Xt8uogKckTGcwuA/Wz/XjAfNWBOJWADKHrjW2dL3151GA8vgXujrrrpw
7Lpt+A3g8I6mpAXQytENq4NIafFsEc8t4UyxnTeeNMa+SU89HXRc++YYOcRI
tApgUl+qdwaCrhisDNsv1swVa/4lso7OILBdQ3MWtvmroccZHW95jxNG20Gm
vQ58sorzdsm5lZ6F75eGD9MYnu/Ss/G9497SyiQptLdsxYPI0g172rqGcFko
6XazqHoFTk6cxYa2Hmqo3FnoxlwFIeQEflx0hNcXtAIhUa5CZWWoSka9F8yh
5yNnjvDME/jQHzMWCXEVOElZgXe/KhFaxVUi8YnVOaPloqa7xx3PgEU0TLNR
FQGZklP4Q1quSAWWQ3kEsLiR1k+T24VSfKq8tkOT2qVN5Nxgz5Lv862WEpX0
kZ6alC1btJYoFBrZToE9h6bI5S0SEI8MKSRmkXRfSoHSrmSwUlirYlMqHVgi
J+ZNJiaoGp53PbCD4hfElIVZYzKchca0HzFGEfLAM57vfCcyCQ0mI9STlbSk
JEYVt2fNEfm8sVK7me6PNswrhqEbOsWjSBSmv8eWggOOJlFwoYB8NAihOVRT
t/m4qftpw3IseaPaLa5QMvnY4ZodHrriHPythYiv7kDlzXAJHsDbg1OqAxYa
OjCGtGU4YUJl66YLw8hxN0dh31TDejdccP843lbPWJH3JzhLUKajdbhQwyG3
ztHvqPERMRQmaq++RB81IOk9+IIDLFfd3tfdF/3ZsPuqj959t4Ay7Y7Lid/0
x5PBaFhMnEzHELQqpn15/WLcvxqNp8Xk6/ElTbieYJnB5XQwnF2MwZ5Z9/x8
jJE7FxbQsPVUIesoKqZpa1agG+izbP1/TtWmtB0VcdtSZFl6Y2eRC+dhudl8
Bp0FrGCd5WCdRc6hlQVMMjDfqBh52jqOjVgOkMDzw0cc/64ZlAI5FVzYRjOx
EopL4TPZGFkWRWyVKMp0YEVqFrsZMqGCk4GVVLiUVq1M3+SUTN/0Fr6/ebRL
vl3WJ9/O9vsmrTvkdaoojwustEqQTKvZbBdDbtxet/DR9AhEsHRKilOyfjOh
8UJeYzTqEz9OGyG04nmBwoFmbnpJ+JPpJUluCeVWKc1M/7kxPSqm0+KaUhRI
SnpPnolL9VZCRbUNxdDOQkNYlsPSl+JRhJKQVZ6Xb6baroAsZYef6lJ0WSzJ
KsOnpOZ8mgTwOJuFR9H5stJk+NJxSZok5sJv9oqi882SLDJ8ApdkkSEpEp0F
XoTrLt1LJI4vyaeIOb2KK6LL2cilblk4PpRmajfLopdFzFwqgllElzPViBcj
erCimORmWV0WMXOpCi2iC1mQHEeroqgPOr+8pATE5uHWe6G2/EQgSymrV96d
5vppsiIXLTMsGMneNrqQMCvUKvCTaOmkgVNZ03xSXil5rgxBW5jx3j951f26
f5oSEZvlMQYYEFx20KEvJ+c1PN3DZH8DfiAKV6aluKZS4AIjRliNULx81qN2
h5MBLBKWEKgy3O0CNhFo8RXWg0Q831Yiz4mH6xBYW0km2QDALlJ8bnWY0IRc
kGbjNfBDDoBQNGOVZT8Wj03LJD/RNOgC/jO0zNfBoT1Hu1z4+PzsWhkrQH3P
z66wvp5h1zdt/7kOSl837Wc4JGGrCJj2j9slpr3TysTP5kMyLMMDePADkWR/
Q0vs556iBRgsHnmJXoBR2VYNO2D7WNghDDtkuL4dDCej3tc8RZhMz3uzl/3u
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
yp7DsdXRIeycPg2Y2QL8ALAjnbIQfHuOPa6htWwU1CQKJQolCiUKJQolCiUK
JQolCr0ihSYh/jwTgu2c2NNp+DBl1PRrDhWx7hX5tH6eHBFPEk8STxJPEk8S
TxJPEk8ST95SnkxjnjeFlesfjB712u+LegbOmShUqRtSrx70lEo2CloSoxKj
EqMSoxKjEqMSoxKjEqPeOKOmXzUoXp1N66fJq4c8iSaJJokmiSaJJokmiSaJ
JokmPwhNphHPG4LKioBn/z0Bz3DCzs0K2wGqrq5XLRnJ1U+iDnoFFTOvArlL
1agx6lYc76DdzguTdUGaOAztS/w9jefMjyAKYMqiaRjEC2FU7g5r2A7jyfj4
lWChOH4ec3H8eLF4akf28fPAsb3jl2y+OHacg8vZj5fL3cDk+z+zbR5MCYdh
8BdzInEcCPzv8OMwPr3kPp5Qz2PhsbD9yWlwoVKt4clpzL3J17kpgmWh8WI/
u9xD5rJQ7uYlrfLnyiwNuSMEynOizhi8Sdr3sLyl9n9IN374vGA92jaCJhc0
uaDJBU0uaHLxCUwuijZ6hS3heCl/nRw93f+1JHdtxrpuqnt05RRGZbyc2f6Z
kK73J37G4AgLIkIoCFKr4KXPphkPzXhu3YxnNfodPHsKiMIySUEl/PT4N50v
v+FYDDgYN+UA+S008eN3ID+P5Wc516mYQEF6FeFvwaI/ZEuv1UQo2cZiB/zk
W+xLWH6TlT63vYe5DU7U17cA8m/Slvq8KzMQVR9YSoi64poc5OYQwOEbdVz4
6auv0p0+Mi34aywj66t2VJ6PKStu1mv3kgot+FraQCejUq0dyBWSy/vgAVg7
confZ5BWU6LlCLEvadsP/Af/sDDA7pxrSjA2V2NHyP6OecjA9tOZDorGduSu
GC9xFEmPAGZyLztfwHLG/GyEQimzIIyUrdBt5aTPAzzTnImV1EyMFm5uueHj
2W3jdZWZyn8NX5i2emtMF/p6EicFGnnG/oWp/GwyJzc0sT08Gn/isVAY9Yaj
rSavG95dGXTGem+M84BP5NHFTG1pwqeSDyZgC8ATFsTTmZpnnrKCfnRfhaY+
NPWhqQ9NfWjqc+enPlnawf7Lg6MXrw5xwJY5G97XMWctOiMBAEytZMcMGe43
U1hotneg3Wrh3xY8Qu+7SVh90B7p7ROUu89nWtaoELVeBqH6bHte4Ni7M6N0
t+aNlvuDcadtvlwhVeS6L1ZA3WlTL4IWghaCFoIWgpb/M7RkOUfSUR/I3qiw
YDOcSbxx9S62zswO4f4C3Wwz+dhKHTg0O3Af8vEjFR36DINF6jGCRetKTwsM
rF6v6u65tdcxoSZVwSgzHNWEMrqB8iMEmDwaVD1CMOi2hxUwhvFbZ74wyvat
ajmDdkHOyXMcffbl1ZN6lSzkw9iETVQRzw6nTKGVKas2O20areqOuz39LLAr
GDsLNn4jRElSXa/VMGxG8TFCTUJNQk1CTUJNINQso6bZqBzaXjx5vOn7yPIR
NSyvPHPguidRdiev/PKIal7FNGjed5E+m8m7F3YSWTsyB6NskABHAqOaR5NU
aErp/g6ouJy8aeguzLSNULbXruOBzaswVu/GGKv3gRgLbUaMRYxFjEWMRYxF
jEWMdSOMlVYoh4usO05gVi4qF/tnfrA0aaO04RICj+cFhTI1UNwGy25+Pzx4
OTisWHZzw6tu2p3qVTeJSRqbrLgx7Ear9InkiOSI5IjkiOSASO5GSA4znqoq
KahIB2372I4fOHEQCzi3Q277CrLAsQVimsfnPFJElwZsRFp3NyGv72Vw5sKe
Lzy2Az8cPnj1G1gWX1tvyiL5atnAndiXJltm+mhNTpIELJGo/culiNgcZsye
sFCqvRrsRRSfIjs6YSDAxqOeBQvmxp53CS5bSlCIAgWlOykpLmfcmeHB+co+
HncitWxX3aLO1MA3h8Ip84LlblrpUDFN/qhQhW9sgQgVyW/cRU3UdXcig1gp
CcmlEIhBqQxdWTKPiASwc+ZDgHQWMgQpVF5iZPLQGqJZZqJsHYtuwljCkonV
q47MbKVkcWGMXtFSsPOLcxaGHOvZ/iUcPHki+yALfdvTllSdRvZALJMEB1Mr
IVAmVjxl6gWniuHnfDrD33aERo9mrLjewZaNJNUlVkbcVycRS/qAR6WXtevm
l0HsTZAYuefJKKCX9SVtJWfhxUL+x0R2IfWHe0/u5Y6/eLKz9WoMEATgCXj8
NLTDy/Q8ijSyGYQrjhZpN+J4+cquL1VMl6Io83hL+1IoWE061/7PL3AkQkV/
CeYsJ8WWC1ucKLaxvya7VqVCBJbDVv2pROMwwg9KEB5cZh9ATzO3PVULeLKS
xeO2yFkj64fpVZJeU/jO2GLGSZqlLBOcMZizlbXe+xxqZsYN51Tmdg5G1l63
MJ06DVEZ2clcR3aWKZ4X50Fnt7vbl5fNs8f9nlF/0K1hqmU2kD28UUre/Trf
5Ca1ht1KQwyLj99O4kXHKFHb8xe6gfVKjyqfL9lrdwpaz9l8HpyzQqGaFM82
ieuM+2OcF4Y+ajFejfHZhhnqMk6GmgfcuP2R6NooKVs2AiZXG8HaK29JIj2p
M18UytVsh+52dtDqNkr6lk2BydWm6AzLpvDX2aJT842uUW9rW/hrjdEZamMY
ydXG6FllYyjnWShVkyV0A1pzI7la871eWXNXglyhVE2aZ+ewv/U5VMo2StqW
zYDJ1WboD9Zc2LOwUKZmIwy2NgKq2ijpWjYBJlebYLhmuyX8McvUEe40NgHd
2gT40yjpWjYBJlebYNQtmyBCIDUL1cwh2IBW3EiuVLzf7hcUd8LLRWQWqWMZ
zwaR6sAd/PD0hw8Tqbas6ki1ssiVA9X9Nq0gokA1BaopUE2BagpUU6D6P/bu
7ztpGIoD+L/i214BB3OPE4fjqMAZzOlj7YrjjF/S4mR/vcltSmlJseS0oe5+
z/GFpLfpzRjmc5dlxxSqk3NzN2ho5/JL/+u19k3Qvhpet78MtH29Q53iLdq/
1fZ0xJcgY7AbfYT4p20f9e8+563G08rDrBhPocXW4umWO6V4em27Ek+DcirE
U8Is6/CUOaMyPOWrrcJTj1ERniLz1uAFWbJKz629kx/G8tjm5CVl1J5zONGb
vp9e/jq9E2lGjndiHb/+ByfCiXAinAgnwolw4vFOpJWHmRMptFgn0i13nEiv
bTuRBuXkREqYpRMpc0ZOpHy1TqQeIydSZG4n1i8znfg2vdnntz9frsTI49Rl
2T+SPG+mbjHx5848dUl2ePNdKlxM0iTwUtdkx1/U94afzMepS7LD352nwh83
y0WQvKTkPRH1muHGFnrUs+Szxjsiks3ZM3CZ3hHhuAv/MXlJyRsi6rWm2QzQ
o56lnlU7AwdOZrqopzdEeKtx8oKSd0PUa4bbYsSDnqWeNM4+0Zyd/dtW+htw
tnhIXFH2waD1muGGGPmkZ6lHjfNPNB+R/5P4L275s/wZyFEra9+8DJu2amWX
2bWycEqOLpZd4FhWFMtQLEOxDMUyFMveoFiGYllcLNvv+DrsDW7Fp1lH8z/L
sHfV03ztu73u6Fp3ebenucvN90F/tN981e4PNW+s61vNLTpf+h/ylvnCRZNZ
nS+MLbbQp54nrvSFDbZLfeGonGp9YcYsi31h6oyqfWHCunKf6jKq94WheQt+
Ce7OF4e1++xMgvNKYLf1w3E+TE+PXZoRWBfWhXVhXVgX1oV1YV1Y96B1ac1k
Rl0KLVa6dMsd6NJr286lQTkxlxJmqVzKnBFyKV+tcanHiLgUWZpwxfLM/AfC
/sZ3xcRWAsn+yOlNenaQ3KhlI1nNCZgMJoPJYDKYDCaDyWAyZyYnWu+vuqNB
N7ef1XLKTNAquFhDR08UK1q12Ha0GpaTpFXKLC2tcmekaZWxztNRn5GoVWwp
pnYfV4tFUAkRe8uL4V3n9CKmKTn+4DmAGCAGiAFigBgg/ucHC0AMEPMAMa2m
TA/Tk7FFn6ZH99zRMDXYP09PjsrrQD2ZMdMT9WTqrI7Uo4S1EKYuw0P1ZGju
U/WOYvDY38xd8x8siw8c99nS71oX+RvSnuO6nu+X/+A5+N+Y/hmu6pb4f+AP
pKo5gf/hf/gf/of/4X/4H/6H/1P+3798+L3X3m8W74/2fe5ygVp9mdULVHCx
BYPoieKKgWqxXTJQw3KqGaiUWRYNVO6MqgYqY13ZIOozqhuo2FIKB8FKTJYT
eJUg9Np56rQqQOhoUmBoGBqGhqFhaBgahoahYWgrho6WX2aIjqKLVXR01x1G
R022HR2NywnSUc4sJR0lz4jSUcpaS0edRpiOgkvR9Ngep4v+Ubr76E9e/sPn
lp/Yvnn4WsZXYwNB7d2Ds2xYqn40s6sfNCXYP4DaB2ofqH2g9oHaB2ofqH2g
9lFA7SN5uXhjii+OLqX2jXhT77fT5+8wbxWFlnGGGxEotuB9COp54voJNVjf
hUCjstqEQBnz3INAqXPaghAmrK2aUJfZBgQKLWf/wdidB1Nzvss/PzmuhN6f
G/dvN54lvbey9U4zArwD78A78A68A+/AO/AOvFcJ7/vfnHlNT4s7M9JTaLGi
p1vugJ5e2/Y8DcqJ85QwS81T5owwT/lqLU89RpSnyFIkPxWZV+Mgvtnn8873
eQUoLu6Cc/hAcVAcFAfFQXFQHBQHxV8LxcXKzfBYQBla8KmAdMtdiovX1s8E
lIOyOhJQJszzRECZOacDASlfPcVFj9lxgDKynNMA/c1MLKueKoHxoLVq3k9O
j3E1J+A4OA6Og+PgODgOjoPj4Pjr4Lha3pmBXAUXS/LoiWKUqxbbLFfDcoK5
SpklzVXujHCuMtbxPOozArqKLYXo8sbm295X4iOjMsJfvP/m3b5YEv5FtvDl
pID4ID6ID+KD+CA+iA/ig/j/CfFT3+m9T3nhL1d95vKX0cXTn+6atL9sOgX+
5bjc9C9zZst/mTwz/8uUswoA1GlcAZDBpZUAfC+YyI+QVSUUf/c0b7uz0yt+
OytgPBgPxoPxYDwYD8aD8WD8a2b8dtln5vhteLGQj58qlvy2zTbltwNzsvw2
aZaY32bPSPNxzhrOx71Gnt9GlwX61Xpi4c/o5+D8Omg3vHUlOC/nBJgH5oF5
YB6YB+aBeWAemH/lmJeLPmPKy+DCIS9vmmA8tZwA8XJYZoSXKXMFvMydF99l
xhl4pz5TusvYsuDuVQXuHz/NvO5DJeDuAe6AO+AOuAPugDvgDrgD7n/Zub+n
JmIggOP/kj+q8F5FBHmRAZQ3RsKBtrZmKVj/eptL5gr2vIdL02Ruv49c2OQ2
0+nk083s8OFuYuBuUsDdbMDd5IG70Qd3oxjuRh3cTQfcTQTcTUK422LkPvpx
OH65q7bz3XK30B26Q3foDt2hO3SH7tBdAd1tlN1tErzbTb3bTHy3Cv1uNQPe
6hO87SK8jTG8TYt4KUXxf84eLu6/F6J4gfEwHsbDeBgP42E8jIfxGhgvcY6X
NJCXFslLLsqLRsuLasyLQs1LJ+clyvOSEPSrz8Bq0+4npgjTf5wen56bIkzf
bAysh/WwHtbDelgP62E9rB8465uTX2/ZNzNsHffNzM98v36cgfjN2sqU3+St
FfrNBuiy/jrtdu6v/6Gv+JsJUqHfVoXU8JeT0WJ5U4T3bUUFH+pDfagP9aE+
1If6UH/w1LdVTP2+SlG9rzZq91Weyn2lr25fKa7aV+pq9quMWwlfj0XU66t0
1XpTCtyvTr/sP7wtAu4GuAN34A7cgTtwB+7AHbgPH+4mBu4mBdzNBtxNHrgb
fXA3iuFu1MHddMDdRMDdJIS7LUbu3w7uvh7sFSF3C92hO3SH7tAdukN36A7d
FdDdRtndJsG73dS7zcR3q9DvVjPgrT7B2y7C2xjD27SIl1IUP95bPh6dFaJ4
gfEwHsbDeBgP42E8jIfxGhgvcY6XNJCXFslLLsqLRsuLasyLQs1LJ+clyvOS
CvR3Iqt5SgG9+f1+8mE/P+j9rgB6QA/oAT2gB/SAHtAD+oGD3h/7eoPeh28d
9GHaZ6D3zzKA3i+sDPQ+aa2g99nrAn3IuR30YbQv6H10KtDPrxZSRhv7X4tX
y9FFfsy7HaF/PZAH8kAeyAN5IA/kgfygIe+OfD0b17vQLXesr6d8gnf39857
1LtFVTWndwnr7ErvMtfUjr7Otw3q9Ui/BvQuMk3n+cnqZR5/FiH0k9vj8c0o
v9D9lkB0iA7RITpEh+gQHaJD9CET3Z/5+hndx24X6eF91kr3D3bNdL+qJqf7
jFVC3aeuSOoh4Raqh6FeVvehqbA+nZVxN/746HJ096kIrE9nXIwH62AdrIN1
sA7WwTpYHzrWp7Oet+Lr2C1fiQ/vs8Z6/WDnl+HrVVXdhK8z1nkNvk5d0x34
kHAb1uuhfrff69A0V99X3xjzys6L0Lq8+vz6+jy/1sOewHW4DtfhOlyH63Ad
rsP1IXM9HPr6eT0EbxfsYdInYg9Pdk32sKwms4eUVaI95K5I7SHjVraHsV5u
D7FJ4C4FwX1xNTt6d5gf7gLcgTtwB+7AHbgDd+AO3IcPd4mBu6SAu2zAXfLA
XfTBXRTDXdTBXTrgLhFwl4Rwdz8KlNI7/mx+fWlO8sPd7Qmd44E7cAfuwB24
A3fgDtwHDnd36OvdN94Fb71rfJj0n4p7ho7xblll/eJdylq7xbvcdfWKDxn/
t+Let0+8i03VJV4KgvuLN4fV7Tg/3AW4A3fgDtyBO3AH7sAduA8f7hIDd0kB
d9mAu+SB+1927q6paSAKA/DP8coZwG+uQSjQgcELxBuntksaalrMaUfLr7fZ
kyGnGmpnk92uOe/trvtxVu3s86Yp6YM7KYY7qYM7bYA7NYA7eYR7Ok3nST5b
PFAUdu/3Hx/7H3dv9+pYwHfwHXwH38F38B18B9/B9y7zvbr3uQm+Gt8u4qt5
heOrxtCUr1bWpPmqapWgr8pXZPqq6FrWV91Osq+Ge8F9YmKyfe/L6M2nfPe2
TwxoD9qD9qA9aA/ag/agPWivgPaJaST7xHiBfWL+dn1idsT6xChUfWI0oz4x
+kyfmE2kT0wT0SfGJ+gpKtAvJrc3n+P4oj1AD9AD9AA9QA/QA/QAPUDffdBT
M9CTH9BTDehpV6AnjaAn1aAnhaCnjaCnRqAnr6Av3snP01mezpdRkP7ydHo6
+rF70otzAeqBeqAeqAfqgXqgHqgH6ruMenHxc2O9mKBd2IuJBe1Fa2jci6U1
8V6UrRL4on5FxBdV1yFf9jsxX4z3Bf3c/ruPgvk9s7hfxvFVfD4VIB/IB/KB
fCAfyAfygXwgv+PI52ufM/F5eOvA52nXeF+27QD3vLAy2nPRWmHP1etifVlz
PerLXlfS82gvoKeoQN/fvxwvRrsHPQH0AD1AD9AD9AA9QA/QA/QaQE/NQE9+
QE81oKddgZ40gp5Ug54Ugp42gp4agZ78gn5JRX8UnD/p7V29m0TAeT4TYB6Y
B+aBeWAemAfmgXlgvtOY50ufI+V5cMuQ50kF48uW4IjnZVURnkvWCXiuXRPf
ueJavJd9bnTnsV7gbl/P/5qZ7JvJo9D7VXaU3EWgd3kwIDwID8KD8CA8CA/C
g/AgfJcJL29+bo6XM7SLeTmzEL1sDs16ubYm28u6VQJfHoAi5cuy66i/9gec
vC8n8IL+0ffZg5lGwf3F+OSEIuA+HwmgD+gD+oA+oA/oA/qAPqDfZejznc+N
+Dy2XdzznIL13BAa9LyqJspzxSoRz6Ur4jsXXAf3ssuJ7DzUC9YpTR7y2TAb
0CQKsd8OzibXEfzKvTgXsB1sB9vBdrAdbAfbwXawvctsFxc/N7uLCdoFvJhY
KF60hqa8WFqT50XZKlEv6lcke1F1He9lv5PxxXhf0B8UBxfHg3maDu+uh1Ew
354Kns0D+UA+kA/kA/lAPpAP5Hcd+fba5/h4nsrhLT+hf5pW8r5sC/6cnsqF
VT2qp7JonU/rqaxe0wP7p5rrUV/2uj22p3K0nyf3xS/23WcP/jlfi969Z/e9
NPTPn+endOR/31vEENn41/7dIFAM8X7Tb/MXR4IMAhkEMghkEMggkEEgg0AG
gQziv80g1lqLq+tZ/2rrcMJeBh2TCTu25ViC91NlEtwQPJCwq6pKI2zFOqMI
W7qmHIILrv9l/qLLLYGwQ73ED/MVuUdp3iQGMJNGE9wNx9ksjhzhOH//gXph
coRXe8/nCPZIkCMgR0COgBwBOQJyBOQIyBGQI3QwR1if/Pji4qhX93d4fHy+
6tg2ebDXR8fkwY5tOXngOUXyYBuCJw92VVXJg61YZ/JgS9eUPHDBdckDd7kl
D3aon+QhmxQfGP7d3/b3HopdJ5n/fW+RVxz034xPHwPlFfvP5xV8JMgrkFcg
r0BegbwCeQXyCuQVyCuQV/z5T/K82NC2OQZfK91yDB7bbo7Bc4ocgxtC5xi8
qqYcgytWmWNw6YpyDC64Lscou5xyDB7qJceQnxj+U4G204zhjMZhdv30AsX+
4WqJn4N8utrD4dMHXLEh+xlYbIv/n71MRarxotjpi9brp3Qauv4Dt/pXO/VQ
/3wQvP5XbvXPBz7qz2eLaYAvH60dwGu3A7Bbbf8EyMwXkbzHdf72anlzECjP
fLvxPa4F3uNCnok8E3km8szf7F1tb9s2EP68APsP2jrMzpa2fo3tBBmQNkkX
rGuyJMO2boWgyLSs2aI8iorrAvvv45GKTUpU6jl12sIXtIl9xyOPpzc+D8kT
8pnIZyKfiXwm8pklfKa1x6A4Ozk6/KOotR8AcRB/tPh0aJOKq+3V0bI0Koxm
77ERLV3DRrQ0vxEt/Sgb0dKN24iWbu5GtHTTNqKl5RvR0tU3oqVr2oiWEB58
IjTEpd//hT9QOpn30BAB0hBIQyANgTQE0hBIQyANgTQE0hBIQ3y2NERwDxoi
WAMNEeRpiOCj0BDBxtEQwebSEMGm0RBBOQ0RrE5DBOujIQi9+SRoiLOj4OfX
rz8JGkKEBGkIpCGQhkAaAmkIpCGQhkAaAmkIpCE+UxpCjGZXpiGE7QenIUSd
Gg2hBB+BhhCtbhgNIXq8qTSE6Ppm0RDQYRsNoVSr0hDCdC00REo/ISJid5S+
aLc+PhGRUqQikIpAKgKpCKQikIpAKgKpCKQikIr4fKmIlN6HjEjpOuiIrFad
kEjpx6EkUrp5pERKN5iWSOnGEROqy3ZqQijvQU6k9MPRE22dnpgOiegrE1Fg
qbheeQRdFQ4ks+Qp3FYEaBaHRX0yaunc0hd+GWOhExaSnDDM7bkuus2F25ZG
e3WDWdHcfsIj911MSa74Sj6qryY/Usn4EZ3dqNf26o09dZHuOZW5LxVn6CUi
6k5EomvC1HnnVDIPKzkXkctALgO5DOQykMtALgO5DOQykMtALuPjcBmP5rgW
Rv+ABhXy1RQwJleyUsgiZ+xCX0MUnu96QcAESAEsX82+3o7YhdkcxyyHbR5g
WN/DYT0O63FYj8N6HNbjsB6H9Tisx2E9DutxWH/XsD4J3xEx5fRBRvf2mYtu
rWeZueDvshma2ynRfs5mJbCgmevzFLpYz8mt6xr5SQrloVGmVV/D4k+zAavf
rTv8bnfvmlwJIh4PBoZBp7VSaJfFYbXuXr39v3CY8rGScxKRGCIxRGKIxBCJ
IRJDJIZIDJEYIrG1IrHinffqtRwaFpRKvix8y1CaHZ9pwIzvO3wxZBdD3+Zu
bTnw1e2Wg69uJwcPyFu1dlEuROx7szGsRdRNerXWelEONGBBOb16w4pylK5X
1g0IL0BWo3izuxLG0cxtDrbvhZzqtc5eo669dKpy63pFdPsWBcv1jHEqDs14
HEaTmHFnPl7YE8iH3IRxmmjaMKCxQs+6o1b/d7UAj2MaGMpOoyzC3pgXArzu
ybzmXneBITMHKnJTYham6iBkCXfUitpsJWpW47alKhpD+IjnD/VKwj6hPByE
hAERwQgEVIhjOp6JXz6BOEijhbchh/W1xGOJaNcICU4eImRFyIqQFSErQlYH
IStCVoSsCFk/QchqyIWLL09f/HhlOUMPL2TAX5+9Mu3ggj47MfQKTZShYX3o
8fvZ+fErfeQBPzas7ChYmXBx7xh7PBwTeRNxvpt/5fslkJqLMfi31W8z1LD9
Z+3NMii6W6u3LShaqTr5yUFKAuHFDZHw0+VSFkTwpdrc1k3rjUZZrfVmu/Ai
7CAhPPKSUa7cGgD5Mjln+sGPPw0eJudMq16ec2YRlv+bdQZih6gMURmiMkRl
iMoQlSEqQ1SGqAxRGaIyIwuOBjxWy4OzsP+wmXAW9Wq5cBbCh86Gs2h5k/Lh
LHq9kRlxFt3foJw4WqctWXE09Up5cRbmS2bGUTi+hEZptXI0yrPLI2gCTseE
RB7loZ8YFp11rHBYglAh5+PR8UUJofLlB2ZUGncwKiNxVVQ+eION9za4BHvz
Ze5I2eibjLeRZtmSicwaaR6keZDmQZoHaR6keZDmQZoHaR6keTad5jE3E/N+
GOc3EiuwpKTin7phAIRyhx7tjwmr9tMomm1niFMidinZz3Ddv3nIN0d8TobE
quJuJC65Hb3WDPoBNqgGhE/CfnV7x1EFl9BpYFE5oAOHbqsUL/Yalv3I0EbA
JsLmnzQEWuodYfGcVzDgY6PeKau70Whb6k6yurk3EhXTRbWGaVurdUbMFnd3
LdVez7ggR1ifMCEFXH8dBoC/PWrYdu+1VLsu9kzXm/O12OTthPiAuSoHlR2n
sgO/9uGXl0QVyDlbMcYrFUHyCEROhL5iOoWLpRGvIV5DvIZ4DfEa4jXEa4jX
EK9tFl67LSJifP7i4hwevu9NCTWgaury8Pz8pYiOmuj9QoEy2OMoJkpTGt4Q
loi5L9+beNdjMp8unhfNZumyr3KSFarVUJ0JppqN+7w1Qpln21F1cete22nf
v4e0vdda7CEVwVlx/6ioZq37R7WGuhactb/AUALfVcwIYpYkRFGIohBFIYpC
FIUoClEUoihEUYiinCUzM+US637xhamaeMyLlMq6nFEtnHz2x5UYpFyIB4nz
1YHz7PSFe/zq6PTwlaxQYrLrMHDUvIyUzdHXMuseW53S7aOtXs1c9wjrOg/F
mM55/hiKxSwSCrWJVrdrt9sr4S7N3ILm2rvW7E1K16lZpq/k4tpQvkM1DCjp
Gxbd+yRwUuYWH3uli0h3a/n0R2q8YZSp38spMLc4tdvQ3vloabSwunUaM/k5
2whtlt5t3stFMLe42KmVHttOvWs5tkwu506G4QCWZJOEsBsiJ4LFxcAN82Z3
DUtxcw3oXdLFT57qTS5j1eqWB6KtB4IRD+49qaBUBiEZ94FkgJFelu8tZabx
/d7Lqcwt7na1vNGuT83I9zp5f6/TAWxhmHC2lNPd+mo3kv9B4DQ1Bgc8KUki
7Z6eudADV7heMV3E7d/IkCBDggwJMiTIkCBDggwJMiTIkCBDYtheXP54enKl
HmNV8Wj54YdqSPn2bFsrI+/Bz0UfrySQWJJfkWuN7yBQFLr4DpJdQ1m6L0kB
wCF/CvDwZt8ZPP5BH9uLckK31IbRVcGJZm5BVN2GBgDBI0PZsUFhSkgftkAm
hIzETC6fEkKdi6e/6Za9Nb9YSDWgdUcTW1Cwpsbdl4iyEGUhykKUhSgLURai
LERZiLIQZT0cyjI0MLA5v7qQwGO1DZ9q/TAcVjgZdLeVSN1F1Qx13uD5rxe6
QSaSfVQGmlatWHUB81QH285gME6TofikDwdIQrjLpqCvDnZquq4fZ6Y7zlRo
zdp2nEGmrO1Mt8Esy9QkgCQVWOXrOZzpe/zr/blyGkfXHocC6tNfVFOOYo95
oJMfTJVHA4/FsdRmn1WBDNWaG17FzwLFPvv1RFzPb/YzeQZ3s6/SlgG6AoGS
yXfyflUFRDyIJ4RWB3RHOPz919tixJGB3fqt/WCS8qSqeiOisp3JtfDNj6vQ
afUPAiIMr1NRQHkI1pDoKeHMjyZKo+oVzQYxjyWYy+rQD53pigxe5okuzqL2
kD4uX4d0+p5VZB3Ua3mojpYcDL9a+b2iBVwrt0LzMkbf1z/fKN1Zh7xUa29g
/Y4Imlnp9/UH6D0DYkZ+keK9TDzwx3FCtAOWAvYQQaJKsuC/mG0PfK9dt65W
UDobV5VwN6QxLMoZpoFJBXVWeyH30nP9Ypd5Yz7Xn4TvVNo/xryZU4FCrvxc
Ad+y3Pt5/3CiHykopKCQgkIKCikopKCQgkIKCikopKDWS0HNn1fHx0cwUS+x
27Pjq9+OxUPz4jenvjxNNUuewiSyYqqyt2KDwJGjf/i0X76OANShDypVXAGH
P+vOY6fhfOd8VQVEEQ+qUimbUVBn+4dMASHc3pZEjVaBAIWAzJbcq9HrluUF
69Wa2ip+8NYfOQGLp/CtHzIigZFh0Gku6npc11WN3aYFuh2/PBFr66nHQiJz
hQPm6ac+6eumzVq9zEOxSd9S69ml0ycTOHz9GfUiEWIAoHILQqJbq20qVqhZ
rzUKL++mLB4MzDLtpu7Ze+y96fLWrQbs7GDE42D95KnSPcleFbb16JHz2Prj
PHoEyouUUjA0zJ4o5R2WW1cyo4BAnwA6ZXp52hdI9Hpm1rSjssNDoa2AUMI8
LkvJ7PKHKY+htNN4stsRV80pvYl9T2JoP44iyO4OA0FpvOU4z89enZy+kKOo
S+AGDpyFMBvfGUJ5jy6UfH72888CoVwq4Tf5iDlbW6L5n47FmHZry9BAVrdF
pKEDkTciEII7y/2cFbIeiizOzz1/SNSbKK7HRAu/JfCe7/o3Kjv5Qbjb3X08
8R9HoqFps5HpfHeeKO+AxnMhkLbu7WYkQ5Hlz3ADmh7MSKIpaMINiRqZH6g/
c+ntTh2tKKE3kL4jIfzAlNx445QYspOXhy8uZUnxv6hQBpUSUqaiG5yfL+qy
yBdtaxpL4WK5l0d6xbrYXq9AFKqwKbOU/ONQi5Ims5S0uvCH3QN1frjyLQjK
xKoq2g3jhNvNlMZuxT0WELud0tkt3xLylh/IVVlKAhSaCxX8HU3kyaSJPT9O
hgXheBz7nivv13mdP2RxzNWJrgnhgZgvaqvaZ7NJ3ro/hjmLvDCdNPLGxPN9
kiS5koQN8gUH/jCK1dWoCykfF0qGNOSkIBX9H+XNocZ8uWRG/YKQExE/Za0J
mfjjFZsKCPenfYs0YHE6yfqqyycC0NmkbGKXivuI1YCFMQv5rKhh8r0vObn+
up28s9JTV+2typkNZ5OY58tDyK29C5OQZsdSF1KPFoUJ4WkxEpD4dRLkhGPt
bNCF8ZTmhSEd5ZuCU2GQLwfPJFMG/ResvZvts8xq0bVRfEMK4hFENS+deGlC
zOrlYlbpXk4cp7Sft08IGfVDVhRzooVMk9IbizC1FbXa6wdTl4fQOVaUTyy1
WE/hRDuFLb2ZsNgXjYxJ0YzpPdXFSZk8tcvtYnsl+oWjy611JDahpWQYeHKc
X5RD9yMvGRU1CeFWBS3cj2GuyUuIH01smiGzSOVsi0U+0E5lXU7LG0i4rSIe
p+OCeBYtzn5NmvjiYWWRiqFjTsq9Yu/hTm25UKAjQZTZ68LC03B+VzfLptR6
VaWqDlN4k9AJExC0cOObeiFvZYV12cS4FobeDXEhtRh02xVQgFmV/J0AYkRT
qZeeuZ4bp9wdqmY0uYKXrhYxXUO5+mMroJ6zVsU49qwWAZtYXAgJIQOrgnIR
sCT0E7tSJmewtSOvT6smIlHMZlZNSMO3roIiluYoEXCEACsA8eeRpciED5n4
ZNNMbdKE97UxhSYNVbwtmnF4bdVAnIJyzX+tXVmP0zAQfu+v6MOCWYm0XEKA
lIeyLefSom65JISVTbJtIE2q2GFZEP+d+TxO6jQJIAECan8zvsbnjCdJlyjQ
jP4uBBFqVx8tyUOTMMvbtO2XKP7aQzMvzeihFbHKyyKMe8gqxreh+og60H11
tYtHd0oz3X9DUn205thrEkuk7CNiandk2l/LMswzHX/TXaQsUTrqKqlstosV
kB6NF6PKnNebp3YmRKlzbnfhSKpNKmmqR01KQdngLFUdJfdUPjlKtt5xlykt
z9MvpFT8BRvlqf7EVdDQgzA6mfQWf7/nmVNYfv4ZWlQV3QV6I2e4bPfFuFTF
mIxm43UR74beTLg8hqXB4VLtZ9GcPCwy9MI6myJfQ1/2hXGcmDVwKLG+OE9U
ng29qwYJQS0nSz8oOuAzP1BtmDKjQtr49PT03XLy2o/S9LIIdm2G+Ss/27bh
xeMX0zevXvskvajcdqRbTuaksftFkNGQaJHhdQB3BP8yyaIiblQ4pOCDh/4B
ZM7ZLrYmUBdBlODIFOBk4FJhWuL/VOyqJSq4iKXOJdulpZTG8qYoCyWlyxcH
RbiRGPY4Nogsz+Lq2w9R1RtsG5YSW9H9e/6DJhzlJRmjDlDeGv17TTDJWhAM
zl0YEw4yJWupbOWAQyqht5qo2uSF9u80QczSdgY4i+9qsJ5CPrhHG4brfQJ1
IFGT6Uwrv8y+ZKRzOSwprBiGsZcKIsZplndSeGs4SKxB7lvVsEI7+jUJuUHA
bSkKczAr4IZSBwIL+BCk41kb5K+Z+JBdE/4et5nLZh3IgNk+vlk105pqeEEv
zkEx5vwrGacXDlbkX+JMrmnSke4c3L8Ho0no0FVkq7jHwt0uL/WFNUAyaJd8
B8BJwTdXPjZe7HTh456HAT62Zrk1cYrfuSWIZhK+MelKwhQ3CR90g6s0WW+M
PF18/7lel1KuY8nXOXWbO/eF9VZTPzs86mtYaJ9/LIanNWXCzojSPq0pi0un
uMr7zE4qzm6/amWlTCOHvTAvQTJ94qLl+ZXkb87uMzDXQrDBXEqsSd7tGo+C
Yu2k1hgDu0CRthJkKgFqR1eQarv7OSAqalCMfDaz99jZF6XelfrPhna2tLML
gS/EgPYqERT4PXmG6wdgCEtYX03kjBgUfo09FhC2v3UYIjA93aM21OdjKAa4
n1jM7YUGcWKHyS/hyEchlYdfRpuKCTZl4tjW8VeTk+WCy6FdOdzRr7M9I2KL
Hx7dmM6enB0bbPFmxY1yn85NxAAcyGsKOzcn896lNz0vziA9Lyh17iXbYB17
54GKWwS8LRrgNwQ8mv8mK64zguSXdscXEXAT8YXKEeQdXfCWTm2YnTxbSJKm
Dc2popkNr4D2nnZm8wn5WpGb2GQ5m/riKlaEvZ+ZomB1Rgw+ieTYNHvy/D3y
IhqJw5C1icG15bkpHE5xp1U27SKpouSJuIJL3XSyomFz9MPGfw697ZDec1Yz
wJHqKTk1ujx74tnJ8vnrVZNW94B3Ohoiym2yXas25m3dHtWLpGuaF5ggnXJM
Z//gMPkZ/MQyySfRozejvEEyZ+cWaizMLfQyye7eAWrKeT1ZPZvN30JKNobq
YrycXuNKLd88/uALWtWPbtgYOQgej4KaOFkSPxM5ZruNhmgLIzGkRzdsJsaV
tcnFfdbB5fE9es0sJ6ZO3VxO5cib6Dk5+pAs99B/mxU2eV5qUKk6fi2GfbNk
f5fv5QkBNloyMpOLZ1zHU/QgzV8iIdo1l8QV0szZUWT1F6Mn7R4+aff4SbsH
UEoj6NXk+ZwrifCLBa22txF6OSNOQmvVI2IUqxXB1c2qexULhjl8SGhZDDKK
kV8TtyPaXkVpNsoZ4/E4GsNogs3q6AYvDMeGjBo8EAPSHUS2pd8lOYD6wsz0
iyBVVEqlPwirQBjEzDwqAAuqGf9eTjJuuUCjma4fNuJNH2ogB/7YgBxvaUQP
nLIBYerRfvJ6spys0IhHBJmVqqOdVsMRrOJQfLo4ocKezkwFl9T2Yjv0LihY
TWjgENw7aVcmW31kfMmkDoolnC0sxucR7+hGi//49gMwz0HAWK466pi2K1WE
UVIcj4syQ6aj4nyISaTzUtN84WX7mCAxoO1UYpSgtmfPyO/K9pzaUHzB48zM
MGx/++UdkidBwd5EvbkiBx+qw30KLT8YRwLwVFqfsGqfGLw/qReBqWkP7yhE
OFwezOnn5q1vt+7cMn/E4FBF/mATsHqmZX2CgCpHs+Dug/uVhiAG5wkUO+wS
8bc4lLsivki+/URDiWacA0RDq0Aa5+YXpXA03JXMWgE5EQ+SfI2zKKfCdqHz
9kEZFGtiHYqPQtSLHK9LgCyOt2d49uRyx8GjRJkEdm57UR7WVCvTnjOSkwm3
2j95NDafeR/jM+/j6jPv41zRvzAZNz7zPrafeTfo7QfStBS5iUEU6MDKFEHc
HlOUdl8nBmIla9NWouZhR6oxweOjH3aOIpOviWXjBAQ5PeeLf2/EABayjm4H
vO91xNxOR7zZ50AaXb7R2/Sw7tax7UAkFgX5Iu+SCnAxoPWma/ASbGgAu+kg
UYWgSaZxV/5MsRzYxw9r+BXn+G2QdSU2O0aeRm7bcMTbN2sXXRwK4j/2n32M
B2ahTOH9xtLo0kJd/3T9OpHVYdlIflnZ6gxzvRirngUCOFFjXe58cYYfiplJ
2yWtMN8SOdGxswTx+g3YsP+HlqNjDTBGnpI3DXs3dlChWFP3G6tJx0hngjPW
OY7RznW3SHO8M9Yc8e4zVngN0PDW4BdQSwECFAAUAAAACABkRj09Zc18sDlM
AAAKrwUACgAkAAAAAAAAACAAAAAAAAAAY29uZmlnLmxvZwoAIAAAAAAAAQAY
AOlmCJrMX8sBmYQ0dMpfywGZhDR0yl/LAVBLBQYAAAAAAQABAFwAAABhTAAA
AAA-mimepart_4ca32aadbbef1_ef05a293101393c--