<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="markdown-here-wrapper" data-md-url="Thunderbird"
style="">
<p style="margin: 0px 0px 1.2em ! important;">Hi Arsen,<br>
Someone keeps sending INVITEs to my kamailio box with the <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;">From:</code>
and <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;">To:</code>
IPs set to the Kamailio box’s public IP.<br>
I have <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;">fail2ban</code>
that tracks a log file and bans the IP when pike blocks a
request 3 times.<br>
However, the IP that pops up in the log file is the server’s own
IP address and not the sender’s IP address.<br>
So let’s say my kamailio box is at 1.2.3.4. I get the following
in the log:</p>
<pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;"> ALERT: <script>: Pike block INVITE from <a class="moz-txt-link-freetext" href="sip:7774@1.2.3.4">sip:7774@1.2.3.4</a> (IP 1.2.3.4:5080)
</code></pre>
<p style="margin: 0px 0px 1.2em ! important;">Which comes from
this snippet from my kamailio.cfg:</p>
<pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;"> if (!pike_check_req()) {
xlog("L_ALERT","Pike block $rm from $fu (IP $si:$sp)\n");
exit;
}
</code></pre>
<p style="margin: 0px 0px 1.2em ! important;">This rogue INVITE is
certainly not coming from my own server. Running tcpdump with
header shows the IP of the culprit - <code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;">195.154.172.167</code>.<br>
That can also be seen in the Via: header below. I know I can
block the sipcli UA, but I’m not comfortable with being unable
to log the IP address of the sender in case they spoof the UA.</p>
<pre style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;font-size: 1em; line-height: 1.2em;margin: 1.2em 0px;"><code style="font-size: 0.85em; font-family: Consolas,Inconsolata,Courier,monospace;margin: 0px 0.15em; padding: 0px 0.3em; white-space: pre-wrap; border: 1px solid rgb(234, 234, 234); background-color: rgb(248, 248, 248); border-radius: 3px; display: inline;white-space: pre; overflow: auto; border-radius: 3px; border: 1px solid rgb(204, 204, 204); padding: 0.5em 0.7em; display: block ! important;"> INVITE <a class="moz-txt-link-freetext" href="sip:+443331010095@1.2.3.4:5080">sip:+443331010095@1.2.3.4:5080</a> SIP/2.0
To: +443331010095<a class="moz-txt-link-rfc2396E" href="sip:+443331010095@1.2.3.4"><sip:+443331010095@1.2.3.4></a>
From: 7008<a class="moz-txt-link-rfc2396E" href="sip:7008@1.2.3.4"><sip:7008@1.2.3.4></a>;tag=7650baf5
Via: SIP/2.0/UDP 195.154.172.167:5074;branch=z9hG4bK-79da852e8e37dc3f58a5f098a089d5b5;rport
Call-ID: 79da852e8e37dc3f58a5f098a089d5b5
CSeq: 1 INVITE
Contact: <a class="moz-txt-link-rfc2396E" href="sip:7008@195.154.172.167:5074"><sip:7008@195.154.172.167:5074></a>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE
User-Agent: sipcli/v1.8
Content-Type: application/sdp
Content-Length: 286
</code></pre>
<p style="margin: 0px 0px 1.2em ! important;">So I cannot
understand why does $si show 1.2.3.4 instead of the culprit’s IP
address?<br>
Hope this makes more sense!</p>
<p style="margin: 0px 0px 1.2em ! important;">Kind regards,<br>
Iskren Hadzhinedev</p>
<p style="margin: 0px 0px 1.2em ! important;">On 29/09/17 13:38,
Arsen wrote:</p>
<p style="margin: 0px 0px 1.2em ! important;"></p>
<div class="markdown-here-exclude">
<p></p>
<blockquote type="cite"
cite="mid:CABoraY6tAigx2+GZfAERPp1x+dfK8jHJZRv7_3Q6oPqXewVEQg@mail.gmail.com">
<div dir="ltr">
<div>Hi Iskren,</div>
<div><br>
</div>
<div>What do you mean by 'true IP address'? The real IP
address of a device which sends a request?</div>
<div><br>
</div>
<div>$si and $sp reference to the source IP address and port
of the message, "Via" header contains IP address and port
of UA and it could be different from $si, for example if
UA is behind NAT device. </div>
<div><br>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div class="gmail_signature"
data-smartmail="gmail_signature">
<div dir="ltr">
<div dir="ltr">
<div><br>
</div>
<div><span style="font-size:12.8px">Arsen Semionov</span></div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">On Fri, Sep 29, 2017 at 3:05 PM,
Iskren Hadzhinedev <span dir="ltr"><<a
href="mailto:iskren.hadzhinedev@ikiji.com"
target="_blank" moz-do-not-send="true">iskren.hadzhinedev@ikiji.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div
class="m_-1923609153095947793markdown-here-wrapper">
<p style="margin:0px 0px 1.2em!important">Hi list,</p>
<p style="margin:0px 0px 1.2em!important">How can
I reliably get the sender’s IP address?<br>
<code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">$si</code>
and <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">$sp</code>
are returning the server IP and Port.<br>
I also tried using <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">$Ri</code>
and <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">$Rp</code>
but it yields the same results.<br>
Inspecting the packet shows the sender’s true
IP:Port pair in the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">Via:</code>
header,<br>
but the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">From:</code>
and <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">To:</code>
contain the kamailio server’s public IP address.</p>
<p style="margin:0px 0px 1.2em!important">Kind
regards,</p>
<div
title="MDH:PGZvbnQgZmFjZT0iU291cmNlIFNhbnMgUHJvIj5IaSBsaXN0LDxicj48YnI+SG93IGNhbiBJIHJlbGlhYmx5IGdldCB0aGUgc2VuZGVyJ3MgSVAgYWRkcmVzcz88YnI+YCRzaWAgYW5kIGAkc3BgIGFyZSByZXR1cm5pbmcgdGhlIHNlcnZlciBJUCBhbmQgUG9ydC4gPGJyPkkgYWxzbyB0cmllZCB1c2lu
ZyBgJFJpYCBhbmQgYCRScGAgYnV0IGl0IHlpZWxkcyB0aGUgc2FtZSByZXN1bHRzLjxicj5JbnNw
ZWN0aW5nIHRoZSBwYWNrZXQgc2hvd3MgdGhlIHNlbmRlcidzIHRydWUgSVA6UG9ydCBwYWlyIGlu
IHRoZSBgVmlhOmAgaGVhZGVyLDxicj5idXQgdGhlIGBGcm9tOmAgYW5kIGBUbzpgIGNvbnRhaW4g
dGhlIGthbWFpbGlvIHNlcnZlcidzIHB1YmxpYyBJUCBhZGRyZXNzLjxicj48YnI+S2luZCByZWdh
cmRzLDwvZm9udD4="
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div>
<span class="HOEnZb"><font color="#888888"> </font></span></div>
<span class="HOEnZb"><font color="#888888">
<div class="m_-1923609153095947793moz-signature
m_-1923609153095947793markdown-here-signature">--
<br>
<div
class="m_-1923609153095947793moz-signature">
<font face="Roboto Mono, UniSans, Calibri,
sans-serif"> <i>Iskren Hadzhinedev</i><br>
</font> </div>
</div>
</font></span></div>
<br>
______________________________<wbr>_________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org"
moz-do-not-send="true">sr-users@lists.kamailio.org</a><br>
<a
href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users"
rel="noreferrer" target="_blank"
moz-do-not-send="true">https://lists.kamailio.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Kamailio (SER) - Users Mailing List
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a>
<a class="moz-txt-link-freetext" href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<p></p>
</div>
<p style="margin: 0px 0px 1.2em ! important;"></p>
<div
title="MDH:SGkgQXJzZW4sPGJyPlNvbWVvbmUga2VlcHMgc2VuZGluZyBJTlZJVEVzIHRvIG15IGthbWFpbGlvIGJveCB3aXRoIHRoZSBgRnJvbTpgIGFuZCBgVG86YCBJUHMgc2V0IHRvIHRoZSBLYW1haWxpbyBi
b3gncyBwdWJsaWMgSVAuPGJyPkkgaGF2ZSBgZmFpbDJiYW5gIHRoYXQgdHJhY2tzIGEgbG9nIGZp
bGUgYW5kIGJhbnMgdGhlIElQIHdoZW4gcGlrZSBibG9ja3MgYSByZXF1ZXN0IDMgdGltZXMuPGJy
Pkhvd2V2ZXIsIHRoZSBJUCB0aGF0IHBvcHMgdXAgaW4gdGhlIGxvZyBmaWxlIGlzIHRoZSBzZXJ2
ZXIncyBvd24gSVAgYWRkcmVzcyBhbmQgbm90IHRoZSBzZW5kZXIncyBJUCBhZGRyZXNzLjxicj5T
byBsZXQncyBzYXkgbXkga2FtYWlsaW8gYm94IGlzIGF0IDEuMi4zLjQuIEkgZ2V0IHRoZSBmb2xs
b3dpbmcgaW4gdGhlIGxvZzo8YnI+PGJyPsKgwqDCoCDCoMKgwqAgQUxFUlQ6ICZsdDtzY3JpcHQm
Z3Q7OiBQaWtlIGJsb2NrIElOVklURSBmcm9tIHNpcDo3Nzc0QDEuMi4zLjQgKElQIDEuMi4zLjQ6
NTA4MCk8YnI+PGJyPldoaWNoIGNvbWVzIGZyb20gdGhpcyBzbmlwcGV0IGZyb20gbXkga2FtYWls
aW8uY2ZnOjxicj48YnI+wqDCoMKgIMKgwqDCoCBpZiAoIXBpa2VfY2hlY2tfcmVxKCkpIHs8YnI+
wqDCoMKgwqDCoMKgwqAgwqDCoMKgIMKgwqDCoCB4bG9nKCJMX0FMRVJUIiwiUGlrZSBibG9jayAk
cm0gZnJvbSAkZnUgKElQICRzaTokc3ApXG4iKTs8YnI+wqDCoMKgwqDCoMKgwqAgwqDCoMKgIMKg
wqDCoCBleGl0Ozxicj7CoMKgwqAgwqDCoMKgIH08YnI+PGJyPlRoaXMgcm9ndWUgSU5WSVRFIGlz
IGNlcnRhaW5seSBub3QgY29taW5nIGZyb20gbXkgb3duIHNlcnZlci4gUnVubmluZyB0Y3BkdW1w
IHdpdGggaGVhZGVyIHNob3dzIHRoZSBJUCBvZiB0aGUgY3VscHJpdCAtIGAxOTUuMTU0LjE3Mi4x
NjdgLjxicj5UaGF0IGNhbiBhbHNvIGJlIHNlZW4gaW4gdGhlIFZpYTogaGVhZGVyIGJlbG93LiBJ
IGtub3cgSSBjYW4gYmxvY2sgdGhlIHNpcGNsaSBVQSwgYnV0IEknbSBub3QgY29tZm9ydGFibGUg
d2l0aCBiZWluZyB1bmFibGUgdG8gbG9nIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSBzZW5kZXIgaW4g
Y2FzZSB0aGV5IHNwb29mIHRoZSBVQS48YnI+PGJyPsKgwqDCoCDCoMKgwqAgSU5WSVRFIHNpcDor
NDQzMzMxMDEwMDk1QDEuMi4zLjQ6NTA4MCBTSVAvMi4wPGJyPsKgwqDCoCDCoMKgwqAgVG86ICs0
NDMzMzEwMTAwOTUmbHQ7c2lwOis0NDMzMzEwMTAwOTVAMS4yLjMuNCZndDs8YnI+wqDCoMKgIMKg
wqDCoCBGcm9tOiA3MDA4Jmx0O3NpcDo3MDA4QDEuMi4zLjQmZ3Q7O3RhZz03NjUwYmFmNTxicj7C
oMKgwqAgwqDCoMKgIFZpYTogU0lQLzIuMC9VRFAgMTk1LjE1NC4xNzIuMTY3OjUwNzQ7YnJhbmNo
PXo5aEc0YkstNzlkYTg1MmU4ZTM3ZGMzZjU4YTVmMDk4YTA4OWQ1YjU7cnBvcnQ8YnI+wqDCoMKg
IMKgwqDCoCBDYWxsLUlEOiA3OWRhODUyZThlMzdkYzNmNThhNWYwOThhMDg5ZDViNTxicj7CoMKg
wqAgwqDCoMKgIENTZXE6IDEgSU5WSVRFPGJyPsKgwqDCoCDCoMKgwqAgQ29udGFjdDogJmx0O3Np
cDo3MDA4QDE5NS4xNTQuMTcyLjE2Nzo1MDc0Jmd0Ozxicj7CoMKgwqAgwqDCoMKgIE1heC1Gb3J3
YXJkczogNzA8YnI+wqDCoMKgIMKgwqDCoCBBbGxvdzogSU5WSVRFLCBBQ0ssIENBTkNFTCwgQllF
PGJyPsKgwqDCoCDCoMKgwqAgVXNlci1BZ2VudDogc2lwY2xpL3YxLjg8YnI+wqDCoMKgIMKgwqDC
oCBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3NkcDxicj7CoMKgwqAgwqDCoMKgIENvbnRlbnQt
TGVuZ3RoOiAyODY8YnI+PGJyPjxicj5TbyBJIGNhbm5vdCB1bmRlcnN0YW5kIHdoeSBkb2VzICRz
aSBzaG93IDEuMi4zLjQgaW5zdGVhZCBvZiB0aGUgY3VscHJpdCdzIElQIGFkZHJlc3M/PGJyPkhv
cGUgdGhpcyBtYWtlcyBtb3JlIHNlbnNlITxicj48ZGl2IGNsYXNzPSJtb3otc2lnbmF0dXJlIj4K
ICAKCiAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRt
bDsgIj4KICAKICAKICAgIDxkaXYgY2xhc3M9Im1vei1zaWduYXR1cmUiPgogICAgICA8bWV0YSBo
dHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCI+CiAgICAgIDx0aXRsZT48L3RpdGxlPjxicj5LaW5kIHJlZ2FyZHMsPGJyPjxmb250IGZhY2U9
IlJvYm90byBNb25vLCBVbmlTYW5zLCBDYWxpYnJpLCBzYW5zLXNlcmlmIj48aT5Jc2tyZW4gSGFk
emhpbmVkZXY8YnI+PGJyPjwvaT4KICAgICAgPC9mb250PgogICAgPC9kaXY+CiAgCgo8L2Rpdj48
ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDI5LzA5LzE3IDEzOjM4LCBBcnNlbiB3cm90
ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOkNBQm9yYVk2dEFp
Z3gyK0daZkFFUlBwMXgrZGZLOGpISlpSdjdfM1E2b1BxWGV3VkVRZ0BtYWlsLmdtYWlsLmNvbSI+
PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBJc2tyZW4sPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5X
aGF0IGRvIHlvdSBtZWFuIGJ5ICd0cnVlIElQIGFkZHJlc3MnPyBUaGUgcmVhbCBJUCBhZGRyZXNz
IG9mIGEgZGV2aWNlIHdoaWNoIHNlbmRzIGEgcmVxdWVzdD88L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PiRzaSBhbmQgJHNwIHJlZmVyZW5jZSB0byB0aGUgc291cmNlIElQIGFkZHJlc3MgYW5kIHBv
cnQgb2YgdGhlIG1lc3NhZ2UsICJWaWEiIGhlYWRlciBjb250YWlucyBJUCBhZGRyZXNzIGFuZCBw
b3J0IG9mIFVBIGFuZCBpdCBjb3VsZCBiZSBkaWZmZXJlbnQgZnJvbSAkc2ksIGZvciBleGFtcGxl
IGlmIFVBIGlzIGJlaGluZCBOQVQgZGV2aWNlLiZuYnNwOzwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
aXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnIgY2xlYXI9ImFsbCI+PGRpdj48ZGl2IGNsYXNzPSJn
bWFpbF9zaWduYXR1cmUiIGRhdGEtc21hcnRtYWlsPSJnbWFpbF9zaWduYXR1cmUiPjxkaXYgZGly
PSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMi44cHgiPkFyc2VuIFNlbWlvbm92PC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2Pjwv
ZGl2PjwvZGl2Pgo8YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIEZyaSwgU2VwIDI5LCAy
MDE3IGF0IDM6MDUgUE0sIElza3JlbiBIYWR6aGluZWRldiA8c3BhbiBkaXI9Imx0ciI+Jmx0Ozxh
IGhyZWY9Im1haWx0bzppc2tyZW4uaGFkemhpbmVkZXZAaWtpamkuY29tIiB0YXJnZXQ9Il9ibGFu
ayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5pc2tyZW4uaGFkemhpbmVkZXZAaWtpamkuY29tPC9h
PiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0
eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5n
LWxlZnQ6MWV4Ij4KICAKCiAgICAKICAKICA8ZGl2IHRleHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNG
RkZGRkYiPgogICAgPGRpdiBjbGFzcz0ibV8tMTkyMzYwOTE1MzA5NTk0Nzc5M21hcmtkb3duLWhl
cmUtd3JhcHBlciI+CiAgICAgIDxwIHN0eWxlPSJtYXJnaW46MHB4IDBweCAxLjJlbSFpbXBvcnRh
bnQiPkhpIGxpc3QsPC9wPgogICAgICA8cCBzdHlsZT0ibWFyZ2luOjBweCAwcHggMS4yZW0haW1w
b3J0YW50Ij5Ib3cgY2FuIEkgcmVsaWFibHkKICAgICAgICBnZXQgdGhlIHNlbmRlcuKAmXMgSVAg
YWRkcmVzcz88YnI+CiAgICAgICAgPGNvZGUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1m
YW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7bWFyZ2luOjBweCAw
LjE1ZW07cGFkZGluZzowcHggMC4zZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFweCBz
b2xpZCByZ2IoMjM0LDIzNCwyMzQpO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4KTti
b3JkZXItcmFkaXVzOjNweDtkaXNwbGF5OmlubGluZSI+JHNpPC9jb2RlPgogICAgICAgIGFuZCA8
Y29kZSBzdHlsZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNv
bGF0YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNl
bTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7
YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3Bs
YXk6aW5saW5lIj4kc3A8L2NvZGU+CiAgICAgICAgYXJlIHJldHVybmluZyB0aGUgc2VydmVyIElQ
IGFuZCBQb3J0Ljxicj4KICAgICAgICBJIGFsc28gdHJpZWQgdXNpbmcgPGNvZGUgc3R5bGU9ImZv
bnQtc2l6ZTowLjg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixt
b25vc3BhY2U7bWFyZ2luOjBweCAwLjE1ZW07cGFkZGluZzowcHggMC4zZW07d2hpdGUtc3BhY2U6
cHJlLXdyYXA7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjM0LDIzNCwyMzQpO2JhY2tncm91bmQtY29s
b3I6cmdiKDI0OCwyNDgsMjQ4KTtib3JkZXItcmFkaXVzOjNweDtkaXNwbGF5OmlubGluZSI+JFJp
PC9jb2RlPgogICAgICAgIGFuZCA8Y29kZSBzdHlsZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZh
bWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAu
MTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNv
bGlkIHJnYigyMzQsMjM0LDIzNCk7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO2Jv
cmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6aW5saW5lIj4kUnA8L2NvZGU+CiAgICAgICAgYnV0IGl0
IHlpZWxkcyB0aGUgc2FtZSByZXN1bHRzLjxicj4KICAgICAgICBJbnNwZWN0aW5nIHRoZSBwYWNr
ZXQgc2hvd3MgdGhlIHNlbmRlcuKAmXMgdHJ1ZSBJUDpQb3J0IHBhaXIgaW4KICAgICAgICB0aGUg
PGNvZGUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5jb25z
b2xhdGEsQ291cmllcixtb25vc3BhY2U7bWFyZ2luOjBweCAwLjE1ZW07cGFkZGluZzowcHggMC4z
ZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjM0LDIzNCwyMzQp
O2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4KTtib3JkZXItcmFkaXVzOjNweDtkaXNw
bGF5OmlubGluZSI+VmlhOjwvY29kZT4KICAgICAgICBoZWFkZXIsPGJyPgogICAgICAgIGJ1dCB0
aGUgPGNvZGUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5j
b25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7bWFyZ2luOjBweCAwLjE1ZW07cGFkZGluZzowcHgg
MC4zZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjM0LDIzNCwy
MzQpO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4KTtib3JkZXItcmFkaXVzOjNweDtk
aXNwbGF5OmlubGluZSI+RnJvbTo8L2NvZGU+CiAgICAgICAgYW5kIDxjb2RlIHN0eWxlPSJmb250
LXNpemU6MC44NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9u
b3NwYWNlO21hcmdpbjowcHggMC4xNWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRlLXNwYWNlOnBy
ZS13cmFwO2JvcmRlcjoxcHggc29saWQgcmdiKDIzNCwyMzQsMjM0KTtiYWNrZ3JvdW5kLWNvbG9y
OnJnYigyNDgsMjQ4LDI0OCk7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTppbmxpbmUiPlRvOjwv
Y29kZT4KICAgICAgICBjb250YWluIHRoZSBrYW1haWxpbyBzZXJ2ZXLigJlzIHB1YmxpYyBJUCBh
ZGRyZXNzLjwvcD4KICAgICAgPHAgc3R5bGU9Im1hcmdpbjowcHggMHB4IDEuMmVtIWltcG9ydGFu
dCI+S2luZCByZWdhcmRzLDwvcD4KICAgICAgPGRpdiB0aXRsZT0iTURIOlBHWnZiblFnWm1GalpU
MGlVMjkxY21ObElGTmhibk1nVUhKdklqNUlhU0JzYVhOMExEeGljajQ4WW5JK1NHOTNJR05oYmlC
SklISmxiR2xoWW14NUlHZGxkQ0IwYUdVZ2MyVnVaR1Z5SjNNZ1NWQWdZV1JrY21WemN6ODhZbkkr
WUNSemFXQWdZVzVrSUdBa2MzQmdJR0Z5ClpTQnlaWFIxY201cGJtY2dkR2hsSUhObGNuWmxjaUJK
VUNCaGJtUWdVRzl5ZEM0Z1BHSnlQa2tnWVd4emJ5QjBjbWxsWkNCMWMybHUKWnlCZ0pGSnBZQ0Jo
Ym1RZ1lDUlNjR0FnWW5WMElHbDBJSGxwWld4a2N5QjBhR1VnYzJGdFpTQnlaWE4xYkhSekxqeGlj
ajVKYm5OdwpaV04wYVc1bklIUm9aU0J3WVdOclpYUWdjMmh2ZDNNZ2RHaGxJSE5sYm1SbGNpZHpJ
SFJ5ZFdVZ1NWQTZVRzl5ZENCd1lXbHlJR2x1CklIUm9aU0JnVm1saE9tQWdhR1ZoWkdWeUxEeGlj
ajVpZFhRZ2RHaGxJR0JHY205dE9tQWdZVzVrSUdCVWJ6cGdJR052Ym5SaGFXNGcKZEdobElHdGhi
V0ZwYkdsdklITmxjblpsY2lkeklIQjFZbXhwWXlCSlVDQmhaR1J5WlhOekxqeGljajQ4WW5JK1My
bHVaQ0J5WldkaAogICAgICAgIGNtUnpMRHd2Wm05dWREND0iIHN0eWxlPSJoZWlnaHQ6MDt3aWR0
aDowO21heC1oZWlnaHQ6MDttYXgtd2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjBl
bTtwYWRkaW5nOjA7bWFyZ2luOjAiPuKAizwvZGl2PjxzcGFuIGNsYXNzPSJIT0VuWmIiPjxmb250
IGNvbG9yPSIjODg4ODg4Ij4KICAgIDwvZm9udD48L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9IkhP
RW5aYiI+PGZvbnQgY29sb3I9IiM4ODg4ODgiPgogICAgPGRpdiBjbGFzcz0ibV8tMTkyMzYwOTE1
MzA5NTk0Nzc5M21vei1zaWduYXR1cmUgbV8tMTkyMzYwOTE1MzA5NTk0Nzc5M21hcmtkb3duLWhl
cmUtc2lnbmF0dXJlIj4tLSA8YnI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtXy0xOTIzNjA5
MTUzMDk1OTQ3NzkzbW96LXNpZ25hdHVyZSI+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPGZv
bnQgZmFjZT0iUm9ib3RvIE1vbm8sIFVuaVNhbnMsIENhbGlicmksIHNhbnMtc2VyaWYiPiA8aT5J
c2tyZW4KICAgICAgICAgICAgSGFkemhpbmVkZXY8L2k+PGJyPgogICAgICAgIDwvZm9udD4gPC9k
aXY+CiAgICA8L2Rpdj4KICA8L2ZvbnQ+PC9zcGFuPjwvZGl2PgoKPGJyPl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXzx3YnI+X19fX19fX19fX19fX19fX188YnI+CkthbWFpbGlvIChTRVIp
IC0gVXNlcnMgTWFpbGluZyBMaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c3ItdXNlcnNAbGlzdHMu
a2FtYWlsaW8ub3JnIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPnNyLXVzZXJzQGxpc3RzLmthbWFp
bGlvLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMua2FtYWlsaW8ub3JnL2NnaS1i
aW4vbWFpbG1hbi9saXN0aW5mby9zci11c2VycyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9i
bGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5odHRwczovL2xpc3RzLmthbWFpbGlvLm9yZy88
d2JyPmNnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9zci08d2JyPnVzZXJzPC9hPjxicj4KPGJyPjwv
YmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9kaXY+Cgo8YnI+PGZpZWxkc2V0IGNsYXNzPSJt
aW1lQXR0YWNobWVudEhlYWRlciI+PC9maWVsZHNldD48YnI+PHByZSB3cmFwPSIiPl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkthbWFpbGlvIChTRVIpIC0g
VXNlcnMgTWFpbGluZyBMaXN0CnNyLXVzZXJzQGxpc3RzLmthbWFpbGlvLm9yZwpodHRwczovL2xp
c3RzLmthbWFpbGlvLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vc3ItdXNlcnMKPC9wcmU+
Cgo8L2Jsb2NrcXVvdGU+PGJyPjxicj48YnI+"
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0;"></div>
</div>
</body>
</html>