Re: Unexpected fragment length exception when retreiving ACLs/SIDs on a file that has explicit permission granted to a deleted user

Michael B Allen <[email protected]> Tue, 28 Apr 2015 11:28:50 -0400
Newsgroups gmane.network.samba.java
Message-ID <CAGMFw4i+uA_mQ9V9cST2_otNb75wgQWxc+N7DAjthZ0V7bRJJQ@mail.gmail.com>
--089e01538cbe005f100514ca8529
Content-Type: multipart/alternative; boundary=089e01538cbe005f0e0514ca8528

--089e01538cbe005f0e0514ca8528
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Colin,

This is a buffering error at the DCERPC layer. During the DCERPC bind, the
client submits max_xmit and max_recv values that negotiate the largest
buffer size that the client will transmit / receive. This value is
hardcoded in JCIFS at 4280. This is observed Windows behavior and I don't
recall ever seeing an issue with buffering like you're experiencing.

But apparently the server is returning a buffer that is much larger
(28757). At first glance, this might look like a decoding error. Meaning
the buffer begin decoded as a DCERPC message is actually total garbage. But
I don't think this is the case because there is a DCERPC header sanity
check just before the frag size check. So it looks like a legit DCERPC
response. It's just that the fragment size is way to large for JCIFS to
handle.

I do recall that the max_xmit and max_recv values are actually suggested
sizes and that the server can actually return more data. But I could be
mis-remembering that.

The Japanese characters could be involved but I somewhat doubt that it has
anything to do with the ability to interpret the actual characters. It's
more likely just a buffer size issue. If the SID names are Japanese
strings, their encoding could be unexpectedly large.

Just as a sanity check, try examples/SidLookup.java from the JCIFS package
with one of the offending SIDs. What gets printed on the console might not
be legible unless your on a Japanese workstation but it might still be
enlightening.

I would need to see a packet capture to diagnose this further (do not post
captures to the mailing list! - send them to me directly). If you can get
good network packet captures of a Windows client successfully resolving the
SIDs and then another of JCIFS failing to resolve those same SIDs, then I
would be happy to at least look at them. But to get good captures might be
tricky. You might need to write a JCIFS program that takes a list of SIDs
and calls resolveSids. And for Windows you might need to reboot the
workstation, start the capture and then look at the ACL on the file using
the file browser.

If you look at the ACL of the file in the file browser, are the group /
account names displayed correctly / successfully? Are there a lot?

Unfortunately if it turns out that JCIFS is not correctly handling some
kind of dynamic buffering, that could be a difficult fix. But you might be
able to workaround by catching that particular exception and then
recursively re-trying resolveSids with fewer SIDs (meaning divide the
operation into 2 SID arrays and if it still fails, recur on each array with
some depth limit). But I'm just thinking out loud. I would need to see
captures to make a proper diagnosis.

Mike

PS: Do NOT send network packet captures to the mailing list. Send them only
to me directly.

On Mon, Apr 27, 2015 at 3:09 PM, Colin Dean <[email protected]> wrote:

> Hello,
>
> I=E2=80=99m encountering an unexpected exception while retrieving SIDs/AC=
Ls for a
> file served by Windows Server 2012 Standard Edition. We=E2=80=99re runnin=
g on
> Windows in this instance, if that matters.
>
> *Caused by: java.io.IOException: Unexpected fragment length: 28757*
> *           at
> jcifs.dcerpc.DcerpcPipeHandle.doReceiveFragment(DcerpcPipeHandle.java:96)=
*
> *           at jcifs.dcerpc.DcerpcHandle.sendrecv(DcerpcHandle.java:220) =
*
> * at jcifs.smb.SID.resolveSids(SID.java:94)*
> *           at
> com.vivisimo.connector.smb.SMBConnector.resolveSids(SMBConnector.java:629=
)
> ... 10 more*
>
> This is approximately where our code hands off to jcifs to resolve the
> SIDs:
>
> SID[] sidsToResolveArray =3D sidsToResolve.toArray(new SID[0]);
> try {
> LsaPolicyHandle policyHandle =3D null;
> try {
>
> policyHandle =3D handle.openPolicyHandle(file);
> SID.resolveSids(handle.getHandle(), policyHandle, sidsToResolveArray);
>
> } finally {
> if (policyHandle !=3D null) {
> LOGGER.debug("Closing Policy handle for [" + file + "]");
> policyHandle.close();
> }
> policyHandle =3D null;
> }
> } catch (IOException e) {
> throw new ConnectorException(e);
> }
>
> It dies shortly after we call SID.resolveSids() there in the middle of th=
e
> inner try.
>
> We have a few theories:
>
> 1. This filesystem has a lot of files with Japanese characters in the
> filename. We considered that perhaps jCIFS or our software using it lacks
> support for Japanese characters, but we set up a testing environment with=
 a
> bunch of files with Japanese filenames and it works for us. We=E2=80=99re=
 pretty
> certain that our configuration mirrors that of the erring environment, bu=
t
> there might be subtle differences were are not able to replicate (e.g. re=
al
> data instead of made up test data).
>
> 2. All of the files that are failing (we=E2=80=99re crawling a filesystem=
) share
> one trait: they have what appears in the Windows properties a permitted
> user that shows as =E2=80=9Cunknown user=E2=80=9D, which may be an artifa=
ct remaining after
> the user was removed but its explicit permissions remained. Processing on=
 a
> directory that has no =E2=80=9Cunknown users=E2=80=9D yields no failures.
>
> This leads me to believe that jCIFS is failing on unknown users. However,
> looking through the source, I don=E2=80=99t see an obvious way to detect =
this.
>
> The obvious workaround appears to be =E2=80=9Cclean your unknown users=E2=
=80=9D but I
> think this could be detectable and loggable during our processing of the
> share.
>
> I=E2=80=99d appreciate input on this.
>
>
>  ------------------------------
>
>
> *Colin DeanAdvisory Software Engineer & Tech Lead, Watson Explorer
> Connectivityemail: **[email protected]* <[email protected]>
> * | tel: +1 (412) 315-2066 <%2B1%20%28412%29%20315-2066>Find me on:* [ima=
ge:
> LinkedIn: http://linkedin.com/in/colindean]
> <http://linkedin.com/in/colindean> [image: Github:
> http://github.com/colindean] <http://github.com/colindean> [image:
> Launchpad: http://launchpad.net/~colindean]
> <http://launchpad.net/~colindean>
> [image: IBM Watson Group][image: Watson on Facebook:
> http://www.facebook.com/ibmwatson] <http://www.facebook.com/ibmwatson>[im=
age:
> Watson on Twitter: https://twitter.com/@ibmwatson]
> <https://twitter.com/@ibmwatson>[image: Watson on YouTube:
> http://www.youtube.com/user/IBMWatsonSolutions/videos]
> <http://www.youtube.com/user/IBMWatsonSolutions/videos>
> ------------------------------
>
>
>


--=20
Michael B Allen
Java Active Directory Integration
http://www.ioplex.com/

--089e01538cbe005f0e0514ca8528
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi Colin,<br><br>This is a buffering error at the DCE=
RPC layer. During the DCERPC bind, the client submits max_xmit and max_recv=
 values that negotiate the largest buffer size that the client will transmi=
t / receive. This value is hardcoded in JCIFS at 4280. This is observed Win=
dows behavior and I don&#39;t recall ever seeing an issue with buffering li=
ke you&#39;re experiencing.<br><br>But apparently the server is returning a=
 buffer that is much larger (28757). At first glance, this might look like =
a decoding error. Meaning the buffer begin decoded as a DCERPC message is a=
ctually total garbage. But I don&#39;t think this is the case because there=
 is a DCERPC header sanity check just before the frag size check. So it loo=
ks like a legit DCERPC response. It&#39;s just that the fragment size is wa=
y to large for JCIFS to handle.<br><br></div><div>I do recall that the max_=
xmit and max_recv values are actually suggested sizes and that the server c=
an actually return more data. But I could be mis-remembering that.<br><br><=
/div><div>The Japanese characters could be involved but I somewhat doubt th=
at it has anything to do with the ability to interpret the actual character=
s. It&#39;s more likely just a buffer size issue. If the SID names are Japa=
nese strings, their encoding could be unexpectedly large.<br><br></div><div=
>Just as a sanity check, try examples/SidLookup.java from the JCIFS package=
 with one of the offending SIDs. What gets printed on the console might not=
 be legible unless your on a Japanese workstation but it might still be enl=
ightening.<br></div><div><br></div><div>I would need to see a packet captur=
e to diagnose this further (do not post captures to the mailing list! - sen=
d them to me directly). If you can get good network packet captures of a Wi=
ndows client successfully resolving the SIDs and then another of JCIFS fail=
ing to resolve those same SIDs, then I would be happy to at least look at t=
hem. But to get good captures might be tricky. You might need to write a JC=
IFS program that takes a list of SIDs and calls resolveSids. And for Window=
s you might need to reboot the workstation, start the capture and then look=
 at the ACL on the file using the file browser.<br><br></div><div>If you lo=
ok at the ACL of the file in the file browser, are the group / account name=
s displayed correctly / successfully? Are there a lot?<br></div><div><br></=
div><div>Unfortunately if it turns out that JCIFS is not correctly handling=
 some kind of dynamic buffering, that could be a difficult fix. But you mig=
ht be able to workaround by catching that particular exception and then rec=
ursively re-trying resolveSids with fewer SIDs (meaning divide the operatio=
n into 2 SID arrays and if it still fails, recur on each array with some de=
pth limit). But I&#39;m just thinking out loud. I would need to see capture=
s to make a proper diagnosis.<br></div><div><br></div><div>Mike<br><br></di=
v><div>PS: Do NOT send network packet captures to the mailing list. Send th=
em only to me directly.<br></div><div><div><div class=3D"gmail_extra"><br><=
div class=3D"gmail_quote">On Mon, Apr 27, 2015 at 3:09 PM, Colin Dean <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">=
[email protected]</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
"><div><p><font face=3D"Helvetica" size=3D"4">Hello,</font><br><br><font fa=
ce=3D"Helvetica" size=3D"4">I=E2=80=99m encountering an unexpected exceptio=
n while retrieving SIDs/ACLs for a file served by Windows Server 2012 Stand=
ard Edition. We=E2=80=99re running on Windows in this instance, if that mat=
ters.</font><br><br><i><font face=3D"Times-Roman" size=3D"4">Caused by: jav=
a.io.IOException: Unexpected fragment length: 28757</font></i><br><i><font =
face=3D"Times-Roman" size=3D"4">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 at jcifs.dcerpc.DcerpcPipeHandle.doReceiveFragment(Dcerp=
cPipeHandle.java:96)</font></i><br><i><font face=3D"Times-Roman" size=3D"4"=
>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at jcifs.dcer=
pc.DcerpcHandle.sendrecv(DcerpcHandle.java:220) </font></i><br><i><font fac=
e=3D"Times-Roman" size=3D"4">           at jcifs.smb.SID.resolveSids(SID.ja=
va:94)</font></i><br><i><font face=3D"Times-Roman" size=3D"4">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at com.vivisimo.connector.=
smb.SMBConnector.resolveSids(SMBConnector.java:629) ... 10 more</font></i><=
br><br><font face=3D"Times-Roman" size=3D"4">This is approximately where ou=
r code hands off to jcifs to resolve the SIDs:</font><br><br><font face=3D"=
Courier New" size=3D"4">            SID[] sidsToResolveArray =3D sidsToReso=
lve.toArray(new SID[0]);</font><br><font face=3D"Courier New" size=3D"4">  =
          try {</font><br><font face=3D"Courier New" size=3D"4">           =
     LsaPolicyHandle policyHandle =3D null;</font><br><font face=3D"Courier=
 New" size=3D"4">                try {</font><br><br><font face=3D"Courier =
New" size=3D"4">                    policyHandle =3D handle.openPolicyHandl=
e(file);</font><br><font face=3D"Courier New" size=3D"4">                  =
  SID.resolveSids(handle.getHandle(), policyHandle, sidsToResolveArray);</f=
ont><br><br><font face=3D"Courier New" size=3D"4">                } finally=
 {</font><br><font face=3D"Courier New" size=3D"4">                    if (=
policyHandle !=3D null) {</font><br><font face=3D"Courier New" size=3D"4"> =
                       LOGGER.debug(&quot;Closing Policy handle for [&quot;=
 + file + &quot;]&quot;);</font><br><font face=3D"Courier New" size=3D"4"> =
                       policyHandle.close();</font><br><font face=3D"Courie=
r New" size=3D"4">                    }</font><br><font face=3D"Courier New=
" size=3D"4">                    policyHandle =3D null;</font><br><font fac=
e=3D"Courier New" size=3D"4">                }</font><br><font face=3D"Cour=
ier New" size=3D"4">            } catch (IOException e) {</font><br><font f=
ace=3D"Courier New" size=3D"4">                throw new ConnectorException=
(e);</font><br><font face=3D"Courier New" size=3D"4">            }</font><b=
r><br><font face=3D"Times-Roman" size=3D"4">It dies shortly after we call S=
ID.resolveSids() there in the middle of the inner try.</font><br><br><font =
face=3D"Times-Roman" size=3D"4">We have a few theories:</font><br><br><font=
 face=3D"Times-Roman" size=3D"4">1. This filesystem has a lot of files with=
 Japanese characters in the filename. We considered that perhaps jCIFS or o=
ur software using it lacks support for Japanese characters, but we set up a=
 testing environment with a bunch of files with Japanese filenames and it w=
orks for us. We=E2=80=99re pretty certain that our configuration mirrors th=
at of the erring environment, but there might be subtle differences were ar=
e not able to replicate (e.g. real data instead of made up test data).</fon=
t><br><br><font face=3D"Times-Roman" size=3D"4">2. All of the files that ar=
e failing (we=E2=80=99re crawling a filesystem) share one trait: they have =
what appears in the Windows properties a permitted user that shows as =E2=
=80=9Cunknown user=E2=80=9D, which may be an artifact remaining after the u=
ser was removed but its explicit permissions remained. Processing on a dire=
ctory that has no =E2=80=9Cunknown users=E2=80=9D yields no failures.</font=
><br><br><font face=3D"Times-Roman" size=3D"4">This leads me to believe tha=
t jCIFS is failing on unknown users. However, looking through the source, I=
 don=E2=80=99t see an obvious way to detect this.</font><br><br><font face=
=3D"Times-Roman" size=3D"4">The obvious workaround appears to be =E2=80=9Cc=
lean your unknown users=E2=80=9D but I think this could be detectable and l=
oggable during our processing of the share.</font><br><br><font face=3D"Tim=
es-Roman" size=3D"4">I=E2=80=99d appreciate input on this.</font><br><br><b=
r>
</p><span class=3D"HOEnZb"><font color=3D"#888888">
</font></span><table border=3D"0" cellpadding=3D"0" cellspacing=3D"0"><tbod=
y><tr valign=3D"top"><td colspan=3D"3" bgcolor=3D"#FFFFFF" valign=3D"middle=
" width=3D"592"><hr style=3D"color:#cccccc" align=3D"left" size=3D"2" width=
=3D"100%"></td></tr><tr valign=3D"top"><td colspan=3D"2" bgcolor=3D"#FFFFFF=
" width=3D"483"><b><font face=3D"Verdana" size=3D"2">Colin Dean<br>Advisory=
 Software Engineer &amp; Tech Lead, Watson Explorer Connectivity<br>email: =
</font></b><a href=3D"mailto:[email protected]" target=3D"_blank"><b><fo=
nt color=3D"#3399FF" face=3D"Verdana" size=3D"2">[email protected]</font=
></b></a><b><font face=3D"Verdana" size=3D"2"> | tel: <a href=3D"tel:%2B1%2=
0%28412%29%20315-2066" value=3D"+14123152066" target=3D"_blank">+1 (412) 31=
5-2066</a><br>Find me on:</font></b><font face=3D"Verdana" size=3D"2"> </fo=
nt><a href=3D"http://linkedin.com/in/colindean" target=3D"_blank"><img src=
=3D"cid:1__=3D0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@" alt=3D"LinkedIn: ht=
tp://linkedin.com/in/colindean" height=3D"16" border=3D"0" width=3D"16"></a=
><font face=3D"Verdana" size=3D"2">=C2=A0</font><a href=3D"http://github.co=
m/colindean" target=3D"_blank"><img src=3D"cid:2__=3D0ABBF4A7DFFA8CE28f9e8a=
93df938690918c0AB@" alt=3D"Github: http://github.com/colindean" height=3D"1=
6" border=3D"0" width=3D"16"></a><font face=3D"Verdana" size=3D"2">=C2=A0</=
font><a href=3D"http://launchpad.net/~colindean" target=3D"_blank"><img src=
=3D"cid:3__=3D0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@" alt=3D"Launchpad: h=
ttp://launchpad.net/~colindean" height=3D"16" border=3D"0" width=3D"16"></a=
><font face=3D"Verdana" size=3D"2">=C2=A0 </font></td><td rowspan=3D"2" bgc=
olor=3D"#FFFFFF" valign=3D"bottom" width=3D"109"><div align=3D"right"><img =
src=3D"cid:4__=3D0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@" height=3D"101" a=
lign=3D"bottom" width=3D"105"></div></td></tr>
<tr valign=3D"top"><td bgcolor=3D"#FFFFFF" valign=3D"bottom" width=3D"165">=
<img src=3D"cid:5__=3D0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@" alt=3D"IBM =
Watson Group" height=3D"23" align=3D"bottom" width=3D"163"></td><td bgcolor=
=3D"#FFFFFF" valign=3D"bottom" width=3D"314"><a href=3D"http://www.facebook=
.com/ibmwatson" target=3D"_blank"><img src=3D"cid:6__=3D0ABBF4A7DFFA8CE28f9=
e8a93df938690918c0AB@" alt=3D"Watson on Facebook: http://www.facebook.com/i=
bmwatson" height=3D"16" align=3D"bottom" border=3D"0" width=3D"16"></a><a h=
ref=3D"https://twitter.com/@ibmwatson" target=3D"_blank"><img src=3D"cid:7_=
_=3D0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@" alt=3D"Watson on Twitter: htt=
ps://twitter.com/@ibmwatson" height=3D"16" align=3D"bottom" border=3D"0" wi=
dth=3D"16"></a><a href=3D"http://www.youtube.com/user/IBMWatsonSolutions/vi=
deos" target=3D"_blank"><img src=3D"cid:8__=3D0ABBF4A7DFFA8CE28f9e8a93df938=
690918c0AB@" alt=3D"Watson on YouTube: http://www.youtube.com/user/IBMWatso=
nSolutions/videos" height=3D"16" align=3D"bottom" border=3D"0" width=3D"16"=
></a></td></tr>
<tr valign=3D"top"><td colspan=3D"3" bgcolor=3D"#FFFFFF" valign=3D"middle" =
width=3D"592"><hr style=3D"color:#cccccc" align=3D"left" size=3D"2" width=
=3D"100%"></td></tr></tbody></table><br><br>
<p></p></div>
</blockquote></div><br><br clear=3D"all"><br>-- <br><div class=3D"gmail_sig=
nature">Michael B Allen<br>Java Active Directory Integration<br><a href=3D"=
http://www.ioplex.com/" target=3D"_blank">http://www.ioplex.com/</a></div>
</div></div></div></div>

--089e01538cbe005f0e0514ca8528--
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07261987.jpg"
Content-Disposition: inline; filename="07261987.jpg"
Content-Transfer-Encoding: base64
Content-ID: <5__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.5

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
mQSW2QZHK+EZyOIOjlREcrelVREXpoO7Qf/Z
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07122817.jpg"
Content-Disposition: inline; filename="07122817.jpg"
Content-Transfer-Encoding: base64
Content-ID: <6__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.6

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAEAAQAwERAAIRAQMRAf/EAGsAAQEAAAAAAAAAAAAAAAAA
AAYCAQEBAQAAAAAAAAAAAAAAAAADBAUQAAEEAQIFBQEAAAAAAAAAAAIBAwQFBgARIXESExQxUSJC
FTURAAIABgIDAAAAAAAAAAAAAAECABEhMRIDQXFRMhP/2gAMAwEAAhEDEQA/AKy3Lc3XN7iBAuLL
+lIjxIkeQ+no+QNtttgXJERE1v6dOv5gkC0Zzu2RAJvDVWcjoZmF+VbZE9Y2kuuOxWU65+aISTXu
RCQl6u+PT8gL67rylmrh5BJAGXnvqFqMamsuoK5PhGTlmVvYRoVk2ZWUmRGfYhSTRN3yNtxt1sdv
YkVF1Rq3pgASLDkQb62yJreFtjDyW1ybCCELZ6LWt1SWIPxJrbXlMPL33nCeEQ6kAuJ8eep1KKj+
tcpVFoQgkrfiP//Z
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07293534.jpg"
Content-Disposition: inline; filename="07293534.jpg"
Content-Transfer-Encoding: base64
Content-ID: <7__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.7

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAQABADASIA
AhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcK/8QAHRAAAgIDAQEBAAAAAAAAAAAABAUDBgEC
CAcJEv/EABQBAQAAAAAAAAAAAAAAAAAAAAj/xAAdEQADAAIDAQEAAAAAAAAAAAADBAUBAgYHFAgV
/9oADAMBAAIRAxEAPwDWt7j9F6XzL0I58f8AZ6hYRqgVV69aKf6FU1bJrmPDIQqJkrsyIyEIkyGJ
qtI0AsVHlsoudjYk7VYtNUNjcGjgXvzqPqv3ZlRLQg8gFoq5M1uthOU1+3LXCJAHJqpARJDJbS1A
ZNj37yvZ1IcDj/lOssJEcRBEg8Yaf7f4muXXptaGguvmNVQ1yPfKxiw88uTL0RSQTvBsziGsgHqa
2qtEzLEOu2ytnQcFA7xY2Eb4lnkn0rPHvGvn/H9NZJa2eXabhadwCLteWQ2gBDuVZoRqvBXKYiC4
UiNfsYbKIBgw8vecwiU9mdnA2BkPpS6On9StGHKJQ7RszEpPgPtQYSiuJkKM/I1WdwKgV3dW3wwd
T0OZ2oBAAK2iGTslHJYv1LY+hJ6xrwo/RHGrdTkH66mshOlyabRAAynC6CI2nm39Jjwtk1aPknY0
kMttsu71sKJA/9k=
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07593660.jpg"
Content-Disposition: inline; filename="07593660.jpg"
Content-Transfer-Encoding: base64
Content-ID: <8__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.8

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAQABADASIA
AhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwQF/8QAIhAAAgICAgICAwAAAAAAAAAAAQIDBAUG
ERIHFBMxACJS/8QAFQEBAQAAAAAAAAAAAAAAAAAABQf/xAAiEQABAgUEAwAAAAAAAAAAAAABAhEA
AxIhMQUiQVEWcZH/2gAMAwEAAhEDEQA/AFXb5UxnkDac3r+w4yCZq9P1lXL1BIk7zhMl8MUz/Gtj
161YKZQE78/1Jzr+Otv2Obb6VXZ9t16xUlxgaZat2n8ZuvFRRYYgrGVissd9+SACLCAFuoCF5yet
XNZxuK2y9bGSw1OaD1rS2uYpAbgEQCjgMGNP74AWPqT+vX8p2a546zV/NT46o1/OZEu1QJ7aRtNJ
LMVKL0ZmmIMPKN1jLdupA+wRqqwLU+iS/Nvpx3FG8LkVUrVN5uEppyAC5I2tud7DvMf/2Q==
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07898436.jpg"
Content-Disposition: inline; filename="07898436.jpg"
Content-Transfer-Encoding: base64
Content-ID: <1__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.1

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAEAAQAwERAAIRAQMRAf/EAGoAAAMAAAAAAAAAAAAAAAAA
AAMFBgEAAwEBAAAAAAAAAAAAAAAAAgMEBQYQAAIBBAICAwEAAAAAAAAAAAECAxEEBQYAEiITITEH
FBEAAgICAQUBAAAAAAAAAAAAAQIRAwAEEiFRYSIUBf/aAAwDAQACEQMRAD8Avdc1jEZDUrG8TFLd
5Gcxo0zRwsrs0Qd+zP5ly1TzestK2EEwucrRriyvkAS0+MS7rrSYjXry/mwqWPWKT+e6WFEZJlUl
CGUdlPYfB5TRcrtAacf8pUSVjB6V+va3reuWWMyq3S3dpe+6ZVjU0jWL108mU17D6pwtr817G5qV
gp3wdDaWteBBkPOSeY/VMTk9O2jAwrdTZLN5U3OOHQMpid1oGIYkOQKUAPGnUK2I8rCpBypLfVgZ
6tOf/9k=
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07745300.jpg"
Content-Disposition: inline; filename="07745300.jpg"
Content-Transfer-Encoding: base64
Content-ID: <2__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.2

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAd
Hx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5Ojf/2wBDAQoKCg0MDRoPDxo3JR8lNzc3Nzc3
Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzf/wAARCAAQABADASIA
AhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAUH/8QAIhAAAQQCAQUBAQAAAAAAAAAAAQIDBBEF
EgYAEyExURQy/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAL/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/a
AAwDAQACEQMRAD8A0LO8rg4SdGhSI8h999KVDtJSddlhCSdiLtRqhf0+Oi8N5Q5ne7HdjObR2GXD
N0S2l4rBPhAJ19fT6PQuUYTLz+Q4/IY91lr8aShKnE2pvZQKzWp2tIqrTR831Tw+Dg4uWHcdFeZJ
ZRH17qikoT/NgmiR6v31cH//2Q==
--089e01538cbe005f100514ca8529
Content-Type: image/gif; name="07267702.gif"
Content-Disposition: inline; filename="07267702.gif"
Content-Transfer-Encoding: base64
Content-ID: <4__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.4

R0lGODlhaQBlAPcAAKrU68zv+mq33efwz/P6/W25lrLRkqnazIbJkSyq3Dmu3iiUzczo09jjiG3G
6IbD5Fyv2eTmeeT0+kW446rYs5/EQLbevI/CecTkyTWnTY2yQNfr9SWHs/X45karTcjelvr881e0
jqHc8ObstOnslYHEhtvz+7rl9qPUpjOss9vpt3rO76fg9V23anbFr7Hk9rve8ITU8qbITJXU63LL
78nXaG+2tsjXVpi7QJPY8kSi1IW6bYa7Q5vd9cLZikOsV+nspuHswqvLWHvK6njS8YrQ6yyZSuf0
6XXBhu3027nLOMTl5qm6N1zF62m7b7rUYka03DSnjbfKRTar0XfIx8LTRFWxV9Hq0jWlcHW/emi9
e4jGytvu3ZrTpkq4x1qozPX32GmtkbDc4qzEOlDC7L/QN7vh5JfGmIi/mHnL19XZMprEYN/nm/L5
9KfQfGG/5nS5XLfTcLbcq06yZE3G7ozMok/A5tXv+lW62dHm5+Dszli3s6DLcpLKipbNp8nr977p
+MrSNqvHcMLJM53X1Ve5yY/CQDmwy1q3o7jfzSqZ0nCzes/hnjSnVZTRurnJXlS44oTGuJLH3Njd
TIjI1DKYvy+lyD+y2C+besfUdUSmg2XB2nq4Rp3Vx5m4WMzdscfitb3WfWGqSFOruLHPZD+puNXc
Wdrw7TWd0qOzQI3V8TW25IDM43PL5dXlq1mxSnSjRXq+a0uwfIXS3Hi83iaGnUGPkUqzqEWtrPH0
zWi1SJDOztPs3cnk89PfeLzUVdLXM5jAScLn9ieOw8jPWmGval2cd4/CXUy943+tWtHWQCex4u34
/WfN8EHC7NjbP5LJ5pjQmvHyv+/xsuDjZd3gWef3/FrK743b9MHo+H2jPlq3eVGkp6LOh6G9b1nD
4VCsS3vQ502tV8bp90GVv16+vejx3I/BT2LDxOLz8tDls6/f8EGobUKgS1mqbyqwximu222mdXWs
fUKdzJLX8IevRK3PZYy4Xs/caL3WcE+q1k+5u2qrUXC6UjS+6////yH5BAAAAAAALAAAAABpAGUA
AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNqhGiiWTNAG0OKjEjHn0lrI1OqPGjSZICV
MFe29Pcyps2QM2ve3HkxJ8+Y2JrFIGDRJ8UezYgQ/XmQRcseRVvqjBigJRGmB3u0dLZ0olGJzVo2
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
pdyq7rEKNlfLMXGautzLvqwcAQEAOw==
--089e01538cbe005f100514ca8529
Content-Type: image/jpeg; name="07066234.jpg"
Content-Disposition: inline; filename="07066234.jpg"
Content-Transfer-Encoding: base64
Content-ID: <3__=0ABBF4A7DFFA8CE28f9e8a93df938690918c0AB@>
X-Attachment-Id: c1851606562e6e81_0.3

/9j/4AAQSkZJRgABAQEAYABgAAD/4QBoRXhpZgAASUkqAAgAAAAEABoBBQABAAAAPgAAABsBBQAB
AAAARgAAACgBAwABAAAAAgAAADEBAgASAAAATgAAAAAAAABgAAAAAQAAAGAAAAABAAAAUGFpbnQu
TkVUIHYzLjUuMTAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/8AAEQgAEAAQAwEiAAIRAQMRAf/E
AB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE
EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZH
SElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEB
AQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXET
IjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFla
Y2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
x8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/t5+Mf7SHw7+C+u+
B/B2vS3+reOfiNeXFt4V8JaDDb3mqyWVkobU/EurLPd2kel+FtH3IdT1WV3ddxjsrW9uEeFfEfC3
xF134y/HXw1o/hDxnPeeHfh8r+JfidJ4e1DUxo0YuNNuodC8G6jbQx22lWuqXXiNre/tUkudZvNR
8M6VrKXsdnJ5M58j/bi/Zr+OPx3vXfwz411bw5ofh/8A4nei2XhufxZa3Gu3Nrbx2segamPCE9vN
fWep2l5rWnTtq7xpoEmor4i0i21PUbG2Fvmf8E/P2NPGX7InhvSvDdh8Svix47TxFdQ+L/iDcfEu
/wBaj0uDWdXW5l1nT9A0XV7u+WwSK8mmMKxzalqcqjTV1HVZLe1gNn6c3hsPh8LWwmJhLFToThiq
ThVqSjOs8RTnd1sNToQUKHsVD2Uq8lUqOpCtGcFycUfb1a1eliKLVBVYzoTUoQTjS9jOH8OtOpJy
qqo5e0VJOEVCVNxk+b//2Q==
--089e01538cbe005f100514ca8529--