--Apple-Mail-D6BD3946-3D96-44AC-A6CA-27DF220B7C24
Content-Type: text/plain;
charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Not sure who touched that, but since it's a NPE - Tal, can you doublecheck p=
lease?
Begin forwarded message:
From: scan-admin(a)coverity.com
Date: 21 November 2016 at 21:13:22 GMT+1
To: mskrivan(a)redhat.com
Subject: New Defects reported by Coverity Scan for ovirt-engine
=20
=20
Hi,
=20
Please find the latest report on new defect(s) introduced to ovirt-engine f=
ound
with Coverity Scan.
=20
2 new defect(s) introduced to ovirt-engine found with Coverity Scan.
1 defect(s), reported by Coverity Scan earlier, were marked fixed in the r=
ecent
build analyzed by Coverity Scan.
=20
New defect(s) Reported-by: Coverity Scan
Showing 2 of 2 defect(s)
=20
=20
** CID 1366189: Null pointer dereferences (NULL_RETURNS)
/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vds=
broker/vdsbroker/GetDeviceListVDSCommand.java: 112 in org.ovirt.engine.core.=
vdsbroker.vdsbroker.GetDeviceListVDSCommand.parseLunFromXmlRpc(java.util.Map=
, org.ovirt.engine.core.compat.Version)()
=20
=20
__________________________________________________________________________=
______________________________
*** CID 1366189: Null pointer dereferences (NULL_RETURNS)
/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vds=
broker/vdsbroker/GetDeviceListVDSCommand.java: 112 in org.ovirt.engine.core.=
vdsbroker.vdsbroker.GetDeviceListVDSCommand.parseLunFromXmlRpc(java.util.Map=
, org.ovirt.engine.core.compat.Version)()
106
.put(xcon.get(PHYSICAL_DEVICE_FIEL=
D).toString(),
107
DEVICE_ACTIVE_VALUE.equals=
(xcon.get(DEVICE_STATE_FIELD).toString()));
108 }
109 if (xcon.containsKey(PHYSICAL_DEVICE_FIELD) &&=
xcon.containsKey(DEVICE_PATH_CAPACITY_FIELD)) {
110 // set name and capacity
111 Long size =3D IrsBrokerCommand.assignLongV=
alue(xcon, DEVICE_PATH_CAPACITY_FIELD);
>>> CID 1366189: Null pointer dereferences
(NULL_RETURNS)
>>> Unboxing null object "size".
112 lun.getPathsCapacity()
113 .put(xcon.get(PHYSICAL_DEVICE_FIEL=
D).toString(),
114
SizeConverter.convert(size=
,
115
SizeConverter.Size=
Unit.BYTES, SizeConverter.SizeUnit.GiB).intValue());
116 }
117 }
=20
** CID 1366190: Resource leaks (RESOURCE_LEAK)
/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/stora=
ge/CommandsWeightsUtilsTest.java: 37 in org.ovirt.engine.core.bll.storage.Co=
mmandsWeightsUtilsTest.adjustWeights(java.util.List, java.util.List, int)()
=20
=20
__________________________________________________________________________=
______________________________
*** CID 1366190: Resource leaks (RESOURCE_LEAK)
/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/stora=
ge/CommandsWeightsUtilsTest.java: 37 in org.ovirt.engine.core.bll.storage.Co=
mmandsWeightsUtilsTest.adjustWeights(java.util.List, java.util.List, int)()
31 adjustWeights(Arrays.<Double> asList(0.33, 0.37,
0.3), Arra=
ys.<Integer> asList(3, 3, 4), 10);
32 }
33 =20
34 public void adjustWeights(List<Double> weightParts, List<Intege=
r> expectedWeightsSorted, int totalWeight) {
35 assertFalse(weightsUtils =3D=3D null);
36 Map<String, Double> map =3D new HashMap<>();
>>> CID 1366190: Resource leaks (RESOURCE_LEAK)
>>> Failing to save or close resource created by "java.util.stream.IntSt=
ream.range(0, weightParts.size())" leaks it.
37 IntStream.range(0, weightParts.size()).forEach(i ->
map.put=
(String.valueOf(i), weightParts.get(i)));
38 Map<String, Integer> res =3D
weightsUtils.adjust(map, total=
Weight);
39 assertEquals("adjusted weights sum should be
equal to the t=
otal weight",
> 40 totalWeight,
> 41 res.values().stream().mapToInt(x -> x).sum());
> 42 =20
=20
=20
__________________________________________________________________________=
______________________________
To view the defects in Coverity Scan visit,
https://u2389337.ct.sendgrid.n=
et/wf/click?upn=3D08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRY9v3SZ-2=
BLqhn66fucWz5NChdV2QNZzLQCPY1fjqQGlAKjFKQ4pnDnQ8dtAwvCE2G0E-3D_xDvy9aTtFVlNg=
NTFLiCVD0cicL2K6Y3d-2BJIBr-2FpAeMq2Gor5C1ZEiQuot3av2-2FBnTXIjnZdjb0Cw-2FiZV5=
z3DRotm2ow-2BiwdoVplKeuk7nRFrRXzS4jJb3IZXBSxeZC0bc8KPnuElHCtQryUJ5u-2FY6QjMU=
nZuFDu-2BC21coRtHfPr1uF9ZCvkTQAT-2Bg5drHSbNPaszp0YnZzvaUGArGUlXQkPt48dc-2FNZ=
aixgGomwsPPQ-3D
=20
To manage Coverity Scan email notifications for "mskrivan(a)redhat.com", cli=
ck
https://u2389337.ct.sendgrid.net/wf/click?upn=3D08onrYu34A-2BWcWUl-2F-2Bf=
V0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-2FA8y06Nq4QYNJdvz3-2Bo6D7kzKGM4BieGXc=
FZeVj8bblbpPZS135zo-2F9pagiHHlVMtL1t-2BQNkdMMpi2fcAFj8yWlY6sxZhzNUWHvSkeP6Ld=
DHUGDSs8PI-3D_xDvy9aTtFVlNgNTFLiCVD0cicL2K6Y3d-2BJIBr-2FpAeMq2Gor5C1ZEiQuot3=
av2-2FBnYwmACJZZa-2BkRa13JTRgm4K6JnogNoqDZTzNvLRxP6Val1P03EDtJ3QxTG8urJ-2FCT=
uXNzEDZ24au9cRqVgy9YVPOiVSvw7tAY4dzssRc8ERmy1mCzlCbU6-2B9s01kYf0EYko6e7QKj2V=
pVxVJD8bRNr-2FNXcUSv-2Bu1fA612id1LcCM-3D
=20
--Apple-Mail-D6BD3946-3D96-44AC-A6CA-27DF220B7C24
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: base64
PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjwvaGVhZD48Ym9keSBkaXI9ImF1dG8iPjxkaXY+PC9kaXY+
PGRpdj5Ob3Qgc3VyZSB3aG8gdG91Y2hlZCB0aGF0LCBidXQgc2luY2UgaXQncyBhIE5QRSAtIFRh
bCwgY2FuIHlvdSBkb3VibGVjaGVjayBwbGVhc2U/PGJyPjxicj48YnI+QmVnaW4gZm9yd2FyZGVk
IG1lc3NhZ2U6PGJyPjxicj48L2Rpdj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48ZGl2PjxiPkZy
b206PC9iPiA8YSBocmVmPSJtYWlsdG86c2Nhbi1hZG1pbkBjb3Zlcml0eS5jb20iPnNjYW4tYWRt
aW5AY292ZXJpdHkuY29tPC9hPjxicj48Yj5EYXRlOjwvYj4gMjEgTm92ZW1iZXIgMjAxNiBhdCAy
MToxMzoyMiBHTVQrMTxicj48Yj5Ubzo8L2I+IDxhIGhyZWY9Im1haWx0bzptc2tyaXZhbkByZWRo
YXQuY29tIj5tc2tyaXZhbkByZWRoYXQuY29tPC9hPjxicj48Yj5TdWJqZWN0OjwvYj4gPGI+TmV3
IERlZmVjdHMgcmVwb3J0ZWQgYnkgQ292ZXJpdHkgU2NhbiBmb3Igb3ZpcnQtZW5naW5lPC9iPjxi
cj48YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxkaXY+PHNw
YW4+PC9zcGFuPjxicj48c3Bhbj5IaSw8L3NwYW4+PGJyPjxzcGFuPjwvc3Bhbj48YnI+PHNwYW4+
UGxlYXNlIGZpbmQgdGhlIGxhdGVzdCByZXBvcnQgb24gbmV3IGRlZmVjdChzKSBpbnRyb2R1Y2Vk
IHRvIG92aXJ0LWVuZ2luZSBmb3VuZCB3aXRoIENvdmVyaXR5IFNjYW4uPC9zcGFuPjxicj48c3Bh
bj48L3NwYW4+PGJyPjxzcGFuPjIgbmV3IGRlZmVjdChzKSBpbnRyb2R1Y2VkIHRvIG92aXJ0LWVu
Z2luZSBmb3VuZCB3aXRoIENvdmVyaXR5IFNjYW4uPC9zcGFuPjxicj48c3Bhbj4xIGRlZmVjdChz
KSwgcmVwb3J0ZWQgYnkgQ292ZXJpdHkgU2NhbiBlYXJsaWVyLCB3ZXJlIG1hcmtlZCBmaXhlZCBp
biB0aGUgcmVjZW50IGJ1aWxkIGFuYWx5emVkIGJ5IENvdmVyaXR5IFNjYW4uPC9zcGFuPjxicj48
c3Bhbj48L3NwYW4+PGJyPjxzcGFuPk5ldyBkZWZlY3QocykgUmVwb3J0ZWQtYnk6IENvdmVyaXR5
IFNjYW48L3NwYW4+PGJyPjxzcGFuPlNob3dpbmcgMiBvZiAyIGRlZmVjdChzKTwvc3Bhbj48YnI+
PHNwYW4+PC9zcGFuPjxicj48c3Bhbj48L3NwYW4+PGJyPjxzcGFuPioqIENJRCAxMzY2MTg5OiAm
bmJzcDtOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzICZuYnNwOyhOVUxMX1JFVFVSTlMpPC9zcGFu
Pjxicj48c3Bhbj4vYmFja2VuZC9tYW5hZ2VyL21vZHVsZXMvdmRzYnJva2VyL3NyYy9tYWluL2ph
dmEvb3JnL292aXJ0L2VuZ2luZS9jb3JlL3Zkc2Jyb2tlci92ZHNicm9rZXIvR2V0RGV2aWNlTGlz
dFZEU0NvbW1hbmQuamF2YTogMTEyIGluIG9yZy5vdmlydC5lbmdpbmUuY29yZS52ZHNicm9rZXIu
dmRzYnJva2VyLkdldERldmljZUxpc3RWRFNDb21tYW5kLnBhcnNlTHVuRnJvbVhtbFJwYyhqYXZh
LnV0aWwuTWFwLCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuY29tcGF0LlZlcnNpb24pKCk8L3NwYW4+
PGJyPjxzcGFuPjwvc3Bhbj48YnI+PHNwYW4+PC9zcGFuPjxicj48c3Bhbj5fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzwvc3Bhbj48YnI+PHNwYW4+KioqIENJ
RCAxMzY2MTg5OiAmbmJzcDtOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzICZuYnNwOyhOVUxMX1JF
VFVSTlMpPC9zcGFuPjxicj48c3Bhbj4vYmFja2VuZC9tYW5hZ2VyL21vZHVsZXMvdmRzYnJva2Vy
L3NyYy9tYWluL2phdmEvb3JnL292aXJ0L2VuZ2luZS9jb3JlL3Zkc2Jyb2tlci92ZHNicm9rZXIv
R2V0RGV2aWNlTGlzdFZEU0NvbW1hbmQuamF2YTogMTEyIGluIG9yZy5vdmlydC5lbmdpbmUuY29y
ZS52ZHNicm9rZXIudmRzYnJva2VyLkdldERldmljZUxpc3RWRFNDb21tYW5kLnBhcnNlTHVuRnJv
bVhtbFJwYyhqYXZhLnV0aWwuTWFwLCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuY29tcGF0LlZlcnNp
b24pKCk8L3NwYW4+PGJyPjxzcGFuPjEwNiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsucHV0KHhjb24uZ2V0KFBIWVNJQ0FMX0RFVklDRV9GSUVMRCkudG9TdHJp
bmcoKSw8L3NwYW4+PGJyPjxzcGFuPjEwNyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDtERVZJQ0VfQUNUSVZFX1ZBTFVFLmVxdWFscyh4Y29uLmdldChERVZJQ0VfU1RBVEVfRklF
TEQpLnRvU3RyaW5nKCkpKTs8L3NwYW4+PGJyPjxzcGFuPjEwOCAmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDt9PC9zcGFuPjxicj48c3Bhbj4xMDkgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7aWYgKHhjb24uY29udGFpbnNLZXkoUEhZU0lDQUxfREVWSUNFX0ZJRUxEKSAmYW1wOyZh
bXA7IHhjb24uY29udGFpbnNLZXkoREVWSUNFX1BBVEhfQ0FQQUNJVFlfRklFTEQpKSB7PC9zcGFu
Pjxicj48c3Bhbj4xMTAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Ly8gc2V0IG5hbWUgYW5kIGNhcGFjaXR5PC9zcGFuPjxicj48c3Bhbj4xMTEg
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TG9u
ZyBzaXplID0gSXJzQnJva2VyQ29tbWFuZC5hc3NpZ25Mb25nVmFsdWUoeGNvbiwgREVWSUNFX1BB
VEhfQ0FQQUNJVFlfRklFTEQpOzwvc3Bhbj48YnI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGJs
b2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PHNwYW4+ICZuYnNw
OyZuYnNwOyZuYnNwO0NJRCAxMzY2MTg5OiAmbmJzcDtOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2Vz
ICZuYnNwOyhOVUxMX1JFVFVSTlMpPC9zcGFuPjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3Rl
PjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48YmxvY2txdW90ZSB0eXBlPSJj
aXRlIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48c3Bhbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7VW5i
b3hpbmcgbnVsbCBvYmplY3QgInNpemUiLjwvc3Bhbj48YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2tx
dW90ZT48L2Jsb2NrcXVvdGU+PHNwYW4+MTEyICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2x1bi5nZXRQYXRoc0NhcGFjaXR5KCk8L3NwYW4+PGJy
PjxzcGFuPjExMyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsu
cHV0KHhjb24uZ2V0KFBIWVNJQ0FMX0RFVklDRV9GSUVMRCkudG9TdHJpbmcoKSw8L3NwYW4+PGJy
PjxzcGFuPjExNCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTaXplQ29udmVy
dGVyLmNvbnZlcnQoc2l6ZSw8L3NwYW4+PGJyPjxzcGFuPjExNSAmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDtTaXplQ29udmVydGVyLlNpemVVbml0LkJZVEVTLCBTaXplQ29udmVydGVyLlNpemVV
bml0LkdpQikuaW50VmFsdWUoKSk7PC9zcGFuPjxicj48c3Bhbj4xMTYgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7fTwvc3Bhbj48YnI+PHNwYW4+MTE3ICZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L3NwYW4+PGJyPjxz
cGFuPjwvc3Bhbj48YnI+PHNwYW4+KiogQ0lEIDEzNjYxOTA6ICZuYnNwO1Jlc291cmNlIGxlYWtz
ICZuYnNwOyhSRVNPVVJDRV9MRUFLKTwvc3Bhbj48YnI+PHNwYW4+L2JhY2tlbmQvbWFuYWdlci9t
b2R1bGVzL2JsbC9zcmMvdGVzdC9qYXZhL29yZy9vdmlydC9lbmdpbmUvY29yZS9ibGwvc3RvcmFn
ZS9Db21tYW5kc1dlaWdodHNVdGlsc1Rlc3QuamF2YTogMzcgaW4gb3JnLm92aXJ0LmVuZ2luZS5j
b3JlLmJsbC5zdG9yYWdlLkNvbW1hbmRzV2VpZ2h0c1V0aWxzVGVzdC5hZGp1c3RXZWlnaHRzKGph
dmEudXRpbC5MaXN0LCBqYXZhLnV0aWwuTGlzdCwgaW50KSgpPC9zcGFuPjxicj48c3Bhbj48L3Nw
YW4+PGJyPjxzcGFuPjwvc3Bhbj48YnI+PHNwYW4+X19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX188L3NwYW4+PGJyPjxzcGFuPioqKiBDSUQgMTM2NjE5MDogJm5i
c3A7UmVzb3VyY2UgbGVha3MgJm5ic3A7KFJFU09VUkNFX0xFQUspPC9zcGFuPjxicj48c3Bhbj4v
YmFja2VuZC9tYW5hZ2VyL21vZHVsZXMvYmxsL3NyYy90ZXN0L2phdmEvb3JnL292aXJ0L2VuZ2lu
ZS9jb3JlL2JsbC9zdG9yYWdlL0NvbW1hbmRzV2VpZ2h0c1V0aWxzVGVzdC5qYXZhOiAzNyBpbiBv
cmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLnN0b3JhZ2UuQ29tbWFuZHNXZWlnaHRzVXRpbHNUZXN0
LmFkanVzdFdlaWdodHMoamF2YS51dGlsLkxpc3QsIGphdmEudXRpbC5MaXN0LCBpbnQpKCk8L3Nw
YW4+PGJyPjxzcGFuPjMxICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2FkanVzdFdlaWdodHMoQXJyYXlzLiZsdDtE
b3VibGUmZ3Q7IGFzTGlzdCgwLjMzLCAwLjM3LCAwLjMpLCBBcnJheXMuJmx0O0ludGVnZXImZ3Q7
IGFzTGlzdCgzLCAzLCA0KSwgMTApOzwvc3Bhbj48YnI+PHNwYW4+MzIgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTwvc3Bhbj48YnI+PHNwYW4+MzMgJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFuPjxicj48c3Bhbj4zNCAmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwdWJsaWMgdm9pZCBhZGp1c3RXZWlnaHRz
KExpc3QmbHQ7RG91YmxlJmd0OyB3ZWlnaHRQYXJ0cywgTGlzdCZsdDtJbnRlZ2VyJmd0OyBleHBl
Y3RlZFdlaWdodHNTb3J0ZWQsIGludCB0b3RhbFdlaWdodCkgezwvc3Bhbj48YnI+PHNwYW4+MzUg
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7YXNzZXJ0RmFsc2Uod2VpZ2h0c1V0aWxzID09IG51bGwpOzwvc3Bhbj48
YnI+PHNwYW4+MzYgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TWFwJmx0O1N0cmluZywgRG91YmxlJmd0OyBtYXAg
PSBuZXcgSGFzaE1hcCZsdDsmZ3Q7KCk7PC9zcGFuPjxicj48YmxvY2txdW90ZSB0eXBlPSJjaXRl
Ij48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48YmxvY2txdW90ZSB0eXBlPSJjaXRlIj48c3Bhbj4g
Jm5ic3A7Jm5ic3A7Jm5ic3A7Q0lEIDEzNjYxOTA6ICZuYnNwO1Jlc291cmNlIGxlYWtzICZuYnNw
OyhSRVNPVVJDRV9MRUFLKTwvc3Bhbj48YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Js
b2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+
PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+PHNwYW4+ICZuYnNwOyZuYnNwOyZuYnNwO0ZhaWxpbmcg
dG8gc2F2ZSBvciBjbG9zZSByZXNvdXJjZSBjcmVhdGVkIGJ5ICJqYXZhLnV0aWwuc3RyZWFtLklu
dFN0cmVhbS5yYW5nZSgwLCB3ZWlnaHRQYXJ0cy5zaXplKCkpIiBsZWFrcyBpdC48L3NwYW4+PGJy
PjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxzcGFuPjM3ICZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwO0ludFN0cmVhbS5yYW5nZSgwLCB3ZWlnaHRQYXJ0cy5zaXplKCkpLmZvckVhY2goaSAt
Jmd0OyBtYXAucHV0KFN0cmluZy52YWx1ZU9mKGkpLCB3ZWlnaHRQYXJ0cy5nZXQoaSkpKTs8L3Nw
YW4+PGJyPjxzcGFuPjM4ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO01hcCZsdDtTdHJpbmcsIEludGVnZXImZ3Q7
IHJlcyA9IHdlaWdodHNVdGlscy5hZGp1c3QobWFwLCB0b3RhbFdlaWdodCk7PC9zcGFuPjxicj48
c3Bhbj4zOSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDthc3NlcnRFcXVhbHMoImFkanVzdGVkIHdlaWdodHMgc3Vt
IHNob3VsZCBiZSBlcXVhbCB0byB0aGUgdG90YWwgd2VpZ2h0Iiw8L3NwYW4+PGJyPjxzcGFuPjQw
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwO3RvdGFsV2VpZ2h0LDwvc3Bhbj48YnI+PHNwYW4+NDEgJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVzLnZhbHVlcygp
LnN0cmVhbSgpLm1hcFRvSW50KHggLSZndDsgeCkuc3VtKCkpOzwvc3Bhbj48YnI+PHNwYW4+NDIg
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9zcGFuPjxicj48c3Bhbj48L3NwYW4+PGJyPjxzcGFu
Pjwvc3Bhbj48YnI+PHNwYW4+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX188L3NwYW4+PGJyPjxzcGFuPlRvIHZpZXcgdGhlIGRlZmVjdHMgaW4gQ292ZXJpdHkg
U2NhbiB2aXNpdCwgPGEgaHJlZj0iaHR0cHM6Ly91MjM4OTMzNy5jdC5zZW5kZ3JpZC5uZXQvd2Yv
Y2xpY2s/dXBuPTA4b25yWXUzNEEtMkJXY1dVbC0yRi0yQmZWMFYwNVVQeHZWaldjaC0yQmQyTUdj
a2NSWTl2M1NaLTJCTHFobjY2ZnVjV3o1TkNoZFYyUU5aekxRQ1BZMWZqcVFHbEFLakZLUTRwbkRu
UThkdEF3dkNFMkcwRS0zRF94RHZ5OWFUdEZWbE5nTlRGTGlDVkQwY2ljTDJLNlkzZC0yQkpJQnIt
MkZwQWVNcTJHb3I1QzFaRWlRdW90M2F2Mi0yRkJuVFhJam5aZGpiMEN3LTJGaVpWNXozRFJvdG0y
b3ctMkJpd2RvVnBsS2V1azduUkZyUlh6UzRqSmIzSVpYQlN4ZVpDMGJjOEtQbnVFbEhDdFFyeVVK
NXUtMkZZNlFqTVVuWnVGRHUtMkJDMjFjb1J0SGZQcjF1RjlaQ3ZrVFFBVC0yQmc1ZHJIU2JOUGFz
enAwWW5aenZhVUdBckdVbFhRa1B0NDhkYy0yRk5aYWl4Z0dvbXdzUFBRLTNEIj5odHRwczovL3Uy
Mzg5MzM3LmN0LnNlbmRncmlkLm5ldC93Zi9jbGljaz91cG49MDhvbnJZdTM0QS0yQldjV1VsLTJG
LTJCZlYwVjA1VVB4dlZqV2NoLTJCZDJNR2NrY1JZOXYzU1otMkJMcWhuNjZmdWNXejVOQ2hkVjJR
Tlp6TFFDUFkxZmpxUUdsQUtqRktRNHBuRG5ROGR0QXd2Q0UyRzBFLTNEX3hEdnk5YVR0RlZsTmdO
VEZMaUNWRDBjaWNMMks2WTNkLTJCSklCci0yRnBBZU1xMkdvcjVDMVpFaVF1b3QzYXYyLTJGQm5U
WElqblpkamIwQ3ctMkZpWlY1ejNEUm90bTJvdy0yQml3ZG9WcGxLZXVrN25SRnJSWHpTNGpKYjNJ
WlhCU3hlWkMwYmM4S1BudUVsSEN0UXJ5VUo1dS0yRlk2UWpNVW5adUZEdS0yQkMyMWNvUnRIZlBy
MXVGOVpDdmtUUUFULTJCZzVkckhTYk5QYXN6cDBZblp6dmFVR0FyR1VsWFFrUHQ0OGRjLTJGTlph
aXhnR29td3NQUFEtM0Q8L2E+PC9zcGFuPjxicj48c3Bhbj48L3NwYW4+PGJyPjxzcGFuPlRvIG1h
bmFnZSBDb3Zlcml0eSBTY2FuIGVtYWlsIG5vdGlmaWNhdGlvbnMgZm9yICI8YSBocmVmPSJtYWls
dG86bXNrcml2YW5AcmVkaGF0LmNvbSI+bXNrcml2YW5AcmVkaGF0LmNvbTwvYT4iLCBjbGljayA8
YSBocmVmPSJodHRwczovL3UyMzg5MzM3LmN0LnNlbmRncmlkLm5ldC93Zi9jbGljaz91cG49MDhv
bnJZdTM0QS0yQldjV1VsLTJGLTJCZlYwVjA1VVB4dlZqV2NoLTJCZDJNR2NrY1JiVkRiaXM3MTJx
WkRQLTJGQTh5MDZOcTRRWU5KZHZ6My0yQm82RDdrektHTTRCaWVHWGNGWmVWajhiYmxicFBaUzEz
NXpvLTJGOXBhZ2lISGxWTXRMMXQtMkJRTmtkTU1waTJmY0FGajh5V2xZNnN4Wmh6TlVXSHZTa2VQ
NkxkREhVR0RTczhQSS0zRF94RHZ5OWFUdEZWbE5nTlRGTGlDVkQwY2ljTDJLNlkzZC0yQkpJQnIt
MkZwQWVNcTJHb3I1QzFaRWlRdW90M2F2Mi0yRkJuWXdtQUNKWlphLTJCa1JhMTNKVFJnbTRLNkpu
b2dOb3FEWlR6TnZMUnhQNlZhbDFQMDNFRHRKM1F4VEc4dXJKLTJGQ1R1WE56RURaMjRhdTljUnFW
Z3k5WVZQT2lWU3Z3N3RBWTRkenNzUmM4RVJteTFtQ3psQ2JVNi0yQjlzMDFrWWYwRVlrbzZlN1FL
ajJWcFZ4VkpEOGJSTnItMkZOWGNVU3YtMkJ1MWZBNjEyaWQxTGNDTS0zRCI+aHR0cHM6Ly91MjM4
OTMzNy5jdC5zZW5kZ3JpZC5uZXQvd2YvY2xpY2s/dXBuPTA4b25yWXUzNEEtMkJXY1dVbC0yRi0y
QmZWMFYwNVVQeHZWaldjaC0yQmQyTUdja2NSYlZEYmlzNzEycVpEUC0yRkE4eTA2TnE0UVlOSmR2
ejMtMkJvNkQ3a3pLR000QmllR1hjRlplVmo4YmJsYnBQWlMxMzV6by0yRjlwYWdpSEhsVk10TDF0
LTJCUU5rZE1NcGkyZmNBRmo4eVdsWTZzeFpoek5VV0h2U2tlUDZMZERIVUdEU3M4UEktM0RfeER2
eTlhVHRGVmxOZ05URkxpQ1ZEMGNpY0wySzZZM2QtMkJKSUJyLTJGcEFlTXEyR29yNUMxWkVpUXVv
dDNhdjItMkZCbll3bUFDSlpaYS0yQmtSYTEzSlRSZ200SzZKbm9nTm9xRFpUek52TFJ4UDZWYWwx
UDAzRUR0SjNReFRHOHVySi0yRkNUdVhOekVEWjI0YXU5Y1JxVmd5OVlWUE9pVlN2dzd0QVk0ZHpz
c1JjOEVSbXkxbUN6bENiVTYtMkI5czAxa1lmMEVZa282ZTdRS2oyVnBWeFZKRDhiUk5yLTJGTlhj
VVN2LTJCdTFmQTYxMmlkMUxjQ00tM0Q8L2E+PC9zcGFuPjxicj48c3Bhbj48L3NwYW4+PGJyPjwv
ZGl2PjwvYmxvY2txdW90ZT48L2JvZHk+PC9odG1sPg==
--Apple-Mail-D6BD3946-3D96-44AC-A6CA-27DF220B7C24--