<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi Sarthak,<br>
<br>
<div class="moz-cite-prefix">14.03.2016 00:36, sarthak agarwal
пишет:<br>
</div>
<blockquote
cite="mid:CAPwn9cz9OPGiZ=oyo4D879U5wq_h_xCBjt7+4Q3E1ZcQkmWZ1Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<p style="margin:0px 0px 1.2em!important">On Sun, Mar 13, 2016
at 11:07 PM, Even Rouault <<a moz-do-not-send="true"
href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>>
wrote:</p>
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">On Sunday 13 March 2016 17:13:27 Dmitry
Baryshnikov wrote:<br>
> Hi Sarthak,<br>
><br>
> 1. The GDAL have 2 postgis drivers (raster and
vector).<br>
</span></blockquote>
</div>
<p style="margin:0px 0px 1.2em!important">RIght now I am
working on raster part, I still have to figure out which
part of the code takes care of <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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">vector</code>
postgis driver. </p>
</div>
</div>
</blockquote>
Look at
<a class="moz-txt-link-freetext" href="https://github.com/OSGeo/gdal/tree/trunk/gdal/ogr/ogrsf_frmts/pg">https://github.com/OSGeo/gdal/tree/trunk/gdal/ogr/ogrsf_frmts/pg</a><br>
<blockquote
cite="mid:CAPwn9cz9OPGiZ=oyo4D879U5wq_h_xCBjt7+4Q3E1ZcQkmWZ1Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">
> 2. You need to add some information to the doxygen
comment of</span></blockquote>
</div>
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">
> GetConnectionInfo method about new functionality.<br>
</span></blockquote>
</div>
<p style="margin:0px 0px 1.2em!important">I made changes in
the comments, I guess doxygen reads comments in between the
lines of the code. If still I have to make some changes,
please tell me.</p>
</div>
</div>
</blockquote>
I figure out that doxygen not parse this file (it seems to me
because it is not public). But, I didn't see explain of <span
class="pl-s"><span class="pl-pds"></span>PGUSER<span
class="pl-pds">, </span></span><span class="pl-s"><span
class="pl-pds"></span>PGDATABASE<span class="pl-pds"> etc. Also
it'll be more useful to extend brief in comment before function
name
(<a class="moz-txt-link-freetext" href="https://github.com/sarthak-0415/gdal/blob/1e7970bf38bc06c837ab76d4a185b59089df07f0/gdal/frmts/postgisraster/postgisrasterdataset.cpp#L2463-L2483">https://github.com/sarthak-0415/gdal/blob/1e7970bf38bc06c837ab76d4a185b59089df07f0/gdal/frmts/postgisraster/postgisrasterdataset.cpp#L2463-L2483</a>)
as it done, for example, for mode parameter.</span></span><br>
<br>
<blockquote
cite="mid:CAPwn9cz9OPGiZ=oyo4D879U5wq_h_xCBjt7+4Q3E1ZcQkmWZ1Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">
> 3. Do you look at psql behaviour? It seems to me
the ticket author means<br>
> to get the database name not only from environment
variable, but also<br>
> from the current logged user name.<br>
<br>
</span>We should be as tolerant as the OGR PG driver is.
ie not constraint the user<br>
to specify more than what PQconnectdb() requires (ie it
can be potentially<br>
empty)<br>
<span class=""><br>
</span></blockquote>
</div>
<p style="margin:0px 0px 1.2em!important">I have made the
changes to make <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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">DBname</code>
to <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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">NULL</code>
if we do not have any database name or username. </p>
</div>
</div>
</blockquote>
This is not expected behaviour. As Even wrote if no username nor
dbname provided, the function should get user login and this will be
username and DB name. Do you look at psql sources (this may be
rather complex, and I'm ready to discuss the scope of this work)? <br>
<blockquote
cite="mid:CAPwn9cz9OPGiZ=oyo4D879U5wq_h_xCBjt7+4Q3E1ZcQkmWZ1Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">
<br>
> 4. There is a logic error: You form connection
string based on<br>
> parameters (papszParams) here -<br>
> <a moz-do-not-send="true"
href="https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos"
rel="noreferrer" target="_blank">https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos</a><br>
> tgisrasterdataset.cpp#L2502 , but change the<br>
> papszParams below (i.e.<br>
> <a moz-do-not-send="true"
href="https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos"
rel="noreferrer" target="_blank">https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos</a><br>
> tgisrasterdataset.cpp#L2605). Also changed
papszParams never used and only<br>
> freed here -<br>
> <a moz-do-not-send="true"
href="https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos"
rel="noreferrer" target="_blank">https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/pos</a><br>
> tgisrasterdataset.cpp#L2735.<br>
><br>
</span></blockquote>
</div>
<p style="margin:0px 0px 1.2em!important">I fixed that logical
error, and Now it reads 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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">username</code>
twice (once to init 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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">dbname</code>
and second for 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);border-radius:3px;display:inline;background-color:rgb(248,248,248)">connection</code>)<br>
you can find those changes <a moz-do-not-send="true"
href="https://github.com/OSGeo/gdal/compare/trunk...sarthak-0415:trunk#diff-31df0e62d00ca09f9f11ad2f29e94b540">here</a>
and <a moz-do-not-send="true"
href="https://travis-ci.org/sarthak-0415/gdal/builds/115730596">travis</a> for
the builds.</p>
</div>
</div>
</blockquote>
Yes, I see. What about your preferable idea for GSoC? What you ideas
about it developing?<br>
By the way, today the Student Application Period started.<br>
<blockquote
cite="mid:CAPwn9cz9OPGiZ=oyo4D879U5wq_h_xCBjt7+4Q3E1ZcQkmWZ1Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="markdown-here-wrapper" style="">
<p style="margin:0px 0px 1.2em!important">Regards,</p>
<p style="margin:0px 0px 1.2em!important">Sarthak</p>
<div class="markdown-here-exclude">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span
class="">
><br>
> Best regards,<br>
> Dmitry<br>
><br>
> 13.03.2016 00:10, sarthak agarwal пишет:<br>
> > Thank you for your reply Dmitry,<br>
> ><br>
> > Yesterday I was working on ticket 6294<br>
</span>> > <<a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6294"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6294</a>>
but since you said it was<br>
<span class="">> > controversial I started to look
around at ticket 6316<br>
</span>> > <<a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6316"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6316</a>>,<br>
<span class="">> ><br>
> > I figured out that we have to add a |else|
statement after this code<br>
</span>> > <<a moz-do-not-send="true"
href="https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/"
rel="noreferrer" target="_blank">https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/</a><br>
> > postgisrasterdataset.cpp> to give a default
value to the |ppszDbname| in<br>
<span class="">> > case user dosen’t<br>
> > provide any database name by default.<br>
> ><br>
> > And I suggest this small enhancement<br>
</span>> > <<a moz-do-not-send="true"
href="https://github.com/OSGeo/gdal/commit/e7b2e9e9cd946d257cae5dfd196b4786cc2c"
rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/commit/e7b2e9e9cd946d257cae5dfd196b4786cc2c</a><br>
> > 0e94> to the code.<br>
<span class="">> > Although I am not sure of this
line<br>
</span>> > <<a moz-do-not-send="true"
href="https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/"
rel="noreferrer" target="_blank">https://github.com/sarthak-0415/gdal/blob/trunk/gdal/frmts/postgisraster/</a><br>
> > postgisrasterdataset.cpp#L2642> where I want
to copy the |userName| into<br>
<span class="">> > |dbName|.<br>
> ><br>
> > This is a small fix and I wanted to discuss
further on it.<br>
> ><br>
> > I have succesfully build the code on travis<br>
</span>> > <<a moz-do-not-send="true"
href="https://travis-ci.org/sarthak-0415/gdal/builds/115574203"
rel="noreferrer" target="_blank">https://travis-ci.org/sarthak-0415/gdal/builds/115574203</a>>,
please<br>
<span class="">> > check it once.<br>
> ><br>
> > I have some doubts regarding some variables
and functions for which I<br>
> > am still reading the code.<br>
> > I will get back to you if I have some more
doubts.<br>
> ><br>
> > Regards,<br>
> > Sarthak<br>
> ><br>
> > On Sat, Mar 12, 2016 at 10:42 PM, Dmitry
Baryshnikov<br>
> ><br>
</span><span class="">> > <<a
moz-do-not-send="true"
href="mailto:bishop.dev@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:bishop.dev@gmail.com">bishop.dev@gmail.com</a></a>
<mailto:<a moz-do-not-send="true"
href="mailto:bishop.dev@gmail.com">bishop.dev@gmail.com</a>>>
wrote:<br>
> > Hello GSoC students!<br>
> ><br>
> > Many of you wrote to different lists and
directly for me. I tried<br>
> > to systematize your questions.<br>
> ><br>
> > 1. First of all each student need to
subscribe to<br>
</span>> > <a moz-do-not-send="true"
href="mailto:soc@lists.osgeo.org">soc@lists.osgeo.org</a>
<mailto:<a moz-do-not-send="true"
href="mailto:soc@lists.osgeo.org">soc@lists.osgeo.org</a>>
(the themes<br>
<span class="">> > connected with organizing
moments) and <a moz-do-not-send="true"
href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
</span>> > <mailto:<a moz-do-not-send="true"
href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>>
(the themes about ideas,<br>
<div>
<div class="h5">> > tickets, coding and
community). Please don't flood both lists the<br>
> > same letters.<br>
> ><br>
> > 2. Next - I dig the GDAL tracker and
found some tickets worth to<br>
> > be fixed. This work help you to
understand the project structure<br>
> > and how it works (building, testing and
so on) and help project to<br>
> > became better.<br>
> > The expected result is applied pool
request in GDAL main<br>
> > repository at github (<a
moz-do-not-send="true"
href="https://github.com/OSGeo/gdal"
rel="noreferrer" target="_blank"><a class="moz-txt-link-freetext" href="https://github.com/OSGeo/gdal">https://github.com/OSGeo/gdal</a></a>).<br>
> > By the way, after pool request to this
repository, the provided<br>
> > fixes are tested via TravisC and over
test utilities.<br>
> > Before making pool request please test
it yourself (ubuntu and<br>
> > windows is enough, virtualbox or
preferable virtualization soft<br>
> > may help here).<br>
> > Here is the tickets I think is good for
you (it's welcome if<br>
> > community fix this list - maybe some
tickets need to be excluded<br>
> > or some included):<br>
> ><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/2773"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/2773</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/5035"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/5035</a>
- Alex<br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/5347"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/5347</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/5592"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/5592</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/5681"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/5681</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/5705"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/5705</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6185"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6185</a>
- Tanuj<br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6222"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6222</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6246"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6246</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6304"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6304</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6316"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6316</a><br>
> > - <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6385"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6385</a><br>
> ><br>
> > I checked tickets already get by
students. It's good to discuss<br>
> > with community how you plan to fix the
tickets before start<br>
> > coding. Also, choose tickets carefully,
we need students with good<br>
> > skills, so the ticket should show your
potential. Some of you<br>
> > already choose another tickets, and this
is normal too, but they<br>
> > need to be discussed too. For example
the ticket<br>
> > <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/ticket/6294"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/ticket/6294</a>
is rather controversial.<br>
> ><br>
> > 3. We need to see which ideas each of
student choose, and what is<br>
> > a plan how to release them. You need
some discussion with the<br>
> > community what is best way or some
directions to do it. This is<br>
> > not spoil of the time as your ideas come
as background for your<br>
> > project announces.<br>
> ><br>
> > It'll be nice have more details for some
ideas from list<br>
> > <a moz-do-not-send="true"
href="https://trac.osgeo.org/gdal/wiki/SummerOfCode"
rel="noreferrer" target="_blank">https://trac.osgeo.org/gdal/wiki/SummerOfCode</a>.
The ideas #7,8,9<br>
> > are very briefly.<br>
> ><br>
> > <br>
<br>
--<br>
</div>
</div>
Spatialys - Geospatial professional services<br>
<a moz-do-not-send="true" href="http://www.spatialys.com"
rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
</blockquote>
</div>
<div
title="MDH:PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gU3VuLCBNYXIgMTMsIDIwMTYgYXQgMTE6MDcgUE0sIEV2ZW4gUm91YXVsdCA8c3BhbiBkaXI9Imx0
ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzpldmVuLnJvdWF1bHRAc3BhdGlhbHlzLmNvbSIgdGFyZ2V0
PSJfYmxhbmsiPmV2ZW4ucm91YXVsdEBzcGF0aWFseXMuY29tPC9hPiZndDs8L3NwYW4+IHdyb3Rl
Ojxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46IDBweCAw
cHggMHB4IDAuOGV4OyBib3JkZXItbGVmdC13aWR0aDogMXB4OyBib3JkZXItbGVmdC1jb2xvcjog
cmdiKDIwNCwgMjA0LCAyMDQpOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IHBhZGRpbmctbGVm
dDogMWV4OyI+PHNwYW4gY2xhc3M9IiI+T24gU3VuZGF5IDEzIE1hcmNoIDIwMTYgMTc6MTM6Mjcg
RG1pdHJ5IEJhcnlzaG5pa292IHdyb3RlOjxicj4KJmd0OyBIaSBTYXJ0aGFrLDxicj4KJmd0Ozxi
cj4KJmd0OyAxLiBUaGUgR0RBTCBoYXZlIDIgcG9zdGdpcyBkcml2ZXJzIChyYXN0ZXIgYW5kIHZl
Y3RvcikuPGJyPjwvc3Bhbj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+UklnaHQgbm93IEkgYW0gd29y
a2luZyBvbiByYXN0ZXIgcGFydCwgSSBzdGlsbCBoYXZlIHRvIGZpZ3VyZSBvdXQgd2hpY2ggcGFy
dCBvZiB0aGUgY29kZSB0YWtlcyBjYXJlIG9mIGB2ZWN0b3JgIHBvc3RnaXMgZHJpdmVyLiZuYnNw
Ozxicj48YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFy
Z2luOiAwcHggMHB4IDBweCAwLjhleDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgYm9yZGVyLWxl
ZnQtY29sb3I6IHJnYigyMDQsIDIwNCwgMjA0KTsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBw
YWRkaW5nLWxlZnQ6IDFleDsiPjxzcGFuIGNsYXNzPSIiPgomZ3Q7IDIuIFlvdSBuZWVkIHRvIGFk
ZCBzb21lIGluZm9ybWF0aW9uIHRvIHRoZSBkb3h5Z2VuIGNvbW1lbnQgb2Y8L3NwYW4+PC9ibG9j
a3F1b3RlPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjogMHB4
IDBweCAwcHggMC44ZXg7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IGJvcmRlci1sZWZ0LWNvbG9y
OiByZ2IoMjA0LCAyMDQsIDIwNCk7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgcGFkZGluZy1s
ZWZ0OiAxZXg7Ij48c3BhbiBjbGFzcz0iIj4KJmd0OyBHZXRDb25uZWN0aW9uSW5mbyBtZXRob2Qg
YWJvdXQgbmV3IGZ1bmN0aW9uYWxpdHkuPGJyPjwvc3Bhbj48L2Jsb2NrcXVvdGU+PGJyIGNsYXNz
PSIiPjxkaXY+SSBtYWRlIGNoYW5nZXMgaW4gdGhlIGNvbW1lbnRzLCBJIGd1ZXNzIGRveHlnZW4g
cmVhZHMgY29tbWVudHMgaW4gYmV0d2VlbiB0aGUgbGluZXMgb2YgdGhlIGNvZGUuIElmIHN0aWxs
IEkgaGF2ZSB0byBtYWtlIHNvbWUgY2hhbmdlcywgcGxlYXNlIHRlbGwgbWUuPC9kaXY+PGRpdj4m
bmJzcDs8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46
IDBweCAwcHggMHB4IDAuOGV4OyBib3JkZXItbGVmdC13aWR0aDogMXB4OyBib3JkZXItbGVmdC1j
b2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IHBhZGRp
bmctbGVmdDogMWV4OyI+PHNwYW4gY2xhc3M9IiI+CiZndDsgMy4gRG8geW91IGxvb2sgYXQgcHNx
bCBiZWhhdmlvdXI/IEl0IHNlZW1zIHRvIG1lIHRoZSB0aWNrZXQgYXV0aG9yIG1lYW5zPGJyPgom
Z3Q7IHRvIGdldCB0aGUgZGF0YWJhc2UgbmFtZSBub3Qgb25seSBmcm9tIGVudmlyb25tZW50IHZh
cmlhYmxlLCBidXQgYWxzbzxicj4KJmd0OyBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCB1c2VyIG5h
bWUuPGJyPgo8YnI+Cjwvc3Bhbj5XZSBzaG91bGQgYmUgYXMgdG9sZXJhbnQgYXMgdGhlIE9HUiBQ
RyBkcml2ZXIgaXMuIGllIG5vdCBjb25zdHJhaW50IHRoZSB1c2VyPGJyPgp0byBzcGVjaWZ5IG1v
cmUgdGhhbiB3aGF0IFBRY29ubmVjdGRiKCkgcmVxdWlyZXMmbmJzcDsgKGllIGl0IGNhbiBiZSBw
b3RlbnRpYWxseTxicj4KZW1wdHkpPGJyPgo8c3BhbiBjbGFzcz0iIj48YnI+PC9zcGFuPjwvYmxv
Y2txdW90ZT48ZGl2PkkgaGF2ZSBtYWRlIHRoZSBjaGFuZ2VzIHRvIG1ha2UgYERCbmFtZWAgdG8g
YE5VTExgIGlmIHdlIGRvIG5vdCBoYXZlIGFueSBkYXRhYmFzZSBuYW1lIG9yIHVzZXJuYW1lLiZu
YnNwOzwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjog
MHB4IDBweCAwcHggMC44ZXg7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IGJvcmRlci1sZWZ0LWNv
bG9yOiByZ2IoMjA0LCAyMDQsIDIwNCk7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgcGFkZGlu
Zy1sZWZ0OiAxZXg7Ij48c3BhbiBjbGFzcz0iIj4KPGJyPgomZ3Q7IDQuIFRoZXJlIGlzIGEgbG9n
aWMgZXJyb3I6IFlvdSBmb3JtIGNvbm5lY3Rpb24gc3RyaW5nIGJhc2VkIG9uPGJyPgomZ3Q7IHBh
cmFtZXRlcnMgKHBhcHN6UGFyYW1zKSBoZXJlIC08YnI+CiZndDsgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3NhcnRoYWstMDQxNS9nZGFsL2Jsb2IvdHJ1bmsvZ2RhbC9mcm10cy9wb3N0Z2lz
cmFzdGVyL3BvcyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRo
dWIuY29tL3NhcnRoYWstPHdicj4wNDE1L2dkYWwvYmxvYi90cnVuay9nZGFsLzx3YnI+ZnJtdHMv
cG9zdGdpc3Jhc3Rlci9wb3M8L2E+PGJyPgomZ3Q7IHRnaXNyYXN0ZXJkYXRhc2V0LmNwcCNMMjUw
MiAsIGJ1dCBjaGFuZ2UgdGhlPGJyPgomZ3Q7IHBhcHN6UGFyYW1zIGJlbG93IChpLmUuPGJyPgom
Z3Q7IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9zYXJ0aGFrLTA0MTUvZ2RhbC9ibG9iL3Ry
dW5rL2dkYWwvZnJtdHMvcG9zdGdpc3Jhc3Rlci9wb3MiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0
PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9zYXJ0aGFrLTx3YnI+MDQxNS9nZGFsL2Jsb2Iv
dHJ1bmsvZ2RhbC88d2JyPmZybXRzL3Bvc3RnaXNyYXN0ZXIvcG9zPC9hPjxicj4KJmd0OyB0Z2lz
cmFzdGVyZGF0YXNldC5jcHAjTDI2MDUpLiBBbHNvIGNoYW5nZWQgcGFwc3pQYXJhbXMgbmV2ZXIg
dXNlZCBhbmQgb25seTxicj4KJmd0OyBmcmVlZCBoZXJlIC08YnI+CiZndDsgPGEgaHJlZj0iaHR0
cHM6Ly9naXRodWIuY29tL3NhcnRoYWstMDQxNS9nZGFsL2Jsb2IvdHJ1bmsvZ2RhbC9mcm10cy9w
b3N0Z2lzcmFzdGVyL3BvcyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6
Ly9naXRodWIuY29tL3NhcnRoYWstPHdicj4wNDE1L2dkYWwvYmxvYi90cnVuay9nZGFsLzx3YnI+
ZnJtdHMvcG9zdGdpc3Jhc3Rlci9wb3M8L2E+PGJyPgomZ3Q7IHRnaXNyYXN0ZXJkYXRhc2V0LmNw
cCNMMjczNS48YnI+CiZndDs8YnI+PC9zcGFuPjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48
ZGl2PkkgZml4ZWQgdGhhdCBsb2dpY2FsIGVycm9yLCBhbmQgTm93IGl0IHJlYWRzIHRoZSBgdXNl
cm5hbWVgIHR3aWNlIChvbmNlIHRvIGluaXQgdGhlIGBkYm5hbWVgIGFuZCBzZWNvbmQgZm9yIHRo
ZSBgY29ubmVjdGlvbmApJm5ic3A7PC9kaXY+PGRpdj55b3UgY2FuIGZpbmQgdGhvc2UgY2hhbmdl
cyBbaGVyZV0oIGh0dHBzOi8vZ2l0aHViLmNvbS9PU0dlby9nZGFsL2NvbXBhcmUvdHJ1bmsuLi5z
YXJ0aGFrLTA0MTU6dHJ1bmsjZGlmZi0zMWRmMGU2MmQwMGNhMDlmOWYxMWFkMmYyOWU5NGI1NDAp
IGFuZCBbdHJhdmlzXShodHRwczovL3RyYXZpcy1jaS5vcmcvc2FydGhhay0wNDE1L2dkYWwvYnVp
bGRzLzExNTczMDU5NikmbmJzcDs8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUi
IHN0eWxlPSJtYXJnaW46IDBweCAwcHggMHB4IDAuOGV4OyBib3JkZXItbGVmdC13aWR0aDogMXB4
OyBib3JkZXItbGVmdC1jb2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpOyBib3JkZXItbGVmdC1zdHls
ZTogc29saWQ7IHBhZGRpbmctbGVmdDogMWV4OyI+PHNwYW4gY2xhc3M9IiI+CiZndDs8YnI+CiZn
dDsgQmVzdCByZWdhcmRzLDxicj4KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7IERtaXRyeTxicj4K
Jmd0Ozxicj4KJmd0OyAxMy4wMy4yMDE2IDAwOjEwLCBzYXJ0aGFrIGFnYXJ3YWwg0L/QuNGI0LXR
gjo8YnI+CiZndDsgJmd0OyBUaGFuayB5b3UgZm9yIHlvdXIgcmVwbHkgRG1pdHJ5LDxicj4KJmd0
OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgWWVzdGVyZGF5IEkgd2FzIHdvcmtpbmcgb24gdGlja2V0IDYy
OTQ8YnI+Cjwvc3Bhbj4mZ3Q7ICZndDsgJmx0OzxhIGhyZWY9Imh0dHBzOi8vdHJhYy5vc2dlby5v
cmcvZ2RhbC90aWNrZXQvNjI5NCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0
cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsLzx3YnI+dGlja2V0LzYyOTQ8L2E+Jmd0OyBidXQgc2lu
Y2UgeW91IHNhaWQgaXQgd2FzPGJyPgo8c3BhbiBjbGFzcz0iIj4mZ3Q7ICZndDsgY29udHJvdmVy
c2lhbCBJIHN0YXJ0ZWQgdG8gbG9vayBhcm91bmQgYXQgdGlja2V0IDYzMTY8YnI+Cjwvc3Bhbj4m
Z3Q7ICZndDsgJmx0OzxhIGhyZWY9Imh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQv
NjMxNiIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2Vv
Lm9yZy9nZGFsLzx3YnI+dGlja2V0LzYzMTY8L2E+Jmd0Oyw8YnI+CjxzcGFuIGNsYXNzPSIiPiZn
dDsgJmd0Ozxicj4KJmd0OyAmZ3Q7IEkgZmlndXJlZCBvdXQgdGhhdCB3ZSBoYXZlIHRvIGFkZCBh
IHxlbHNlfCBzdGF0ZW1lbnQgYWZ0ZXIgdGhpcyBjb2RlPGJyPgo8L3NwYW4+Jmd0OyAmZ3Q7ICZs
dDs8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2FydGhhay0wNDE1L2dkYWwvYmxvYi90cnVu
ay9nZGFsL2ZybXRzL3Bvc3RnaXNyYXN0ZXIvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj5odHRwczovL2dpdGh1Yi5jb20vc2FydGhhay08d2JyPjA0MTUvZ2RhbC9ibG9iL3RydW5r
L2dkYWwvPHdicj5mcm10cy9wb3N0Z2lzcmFzdGVyLzwvYT48YnI+CiZndDsgJmd0OyBwb3N0Z2lz
cmFzdGVyZGF0YXNldC5jcHAmZ3Q7IHRvIGdpdmUgYSBkZWZhdWx0IHZhbHVlIHRvIHRoZSB8cHBz
ekRibmFtZXwgaW48YnI+CjxzcGFuIGNsYXNzPSIiPiZndDsgJmd0OyBjYXNlIHVzZXIgZG9zZW7i
gJl0PGJyPgomZ3Q7ICZndDsgcHJvdmlkZSBhbnkgZGF0YWJhc2UgbmFtZSBieSBkZWZhdWx0Ljxi
cj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgQW5kIEkgc3VnZ2VzdCB0aGlzIHNtYWxsIGVuaGFu
Y2VtZW50PGJyPgo8L3NwYW4+Jmd0OyAmZ3Q7ICZsdDs8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j
b20vT1NHZW8vZ2RhbC9jb21taXQvZTdiMmU5ZTljZDk0NmQyNTdjYWU1ZGZkMTk2YjQ3ODZjYzJj
IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vT1NH
ZW8vPHdicj5nZGFsL2NvbW1pdC88d2JyPmU3YjJlOWU5Y2Q5NDZkMjU3Y2FlNWRmZDE5NmI0Nzx3
YnI+ODZjYzJjPC9hPjxicj4KJmd0OyAmZ3Q7IDBlOTQmZ3Q7IHRvIHRoZSBjb2RlLjxicj4KPHNw
YW4gY2xhc3M9IiI+Jmd0OyAmZ3Q7IEFsdGhvdWdoIEkgYW0gbm90IHN1cmUgb2YgdGhpcyBsaW5l
PGJyPgo8L3NwYW4+Jmd0OyAmZ3Q7ICZsdDs8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2Fy
dGhhay0wNDE1L2dkYWwvYmxvYi90cnVuay9nZGFsL2ZybXRzL3Bvc3RnaXNyYXN0ZXIvIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vc2FydGhhay08
d2JyPjA0MTUvZ2RhbC9ibG9iL3RydW5rL2dkYWwvPHdicj5mcm10cy9wb3N0Z2lzcmFzdGVyLzwv
YT48YnI+CiZndDsgJmd0OyBwb3N0Z2lzcmFzdGVyZGF0YXNldC5jcHAjPHdicj5MMjY0MiZndDsg
d2hlcmUgSSB3YW50IHRvIGNvcHkgdGhlIHx1c2VyTmFtZXwgaW50bzxicj4KPHNwYW4gY2xhc3M9
IiI+Jmd0OyAmZ3Q7IHxkYk5hbWV8Ljxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgVGhpcyBp
cyBhIHNtYWxsIGZpeCBhbmQgSSB3YW50ZWQgdG8gZGlzY3VzcyBmdXJ0aGVyIG9uIGl0Ljxicj4K
Jmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgSSBoYXZlIHN1Y2Nlc2Z1bGx5IGJ1aWxkIHRoZSBjb2Rl
IG9uIHRyYXZpczxicj4KPC9zcGFuPiZndDsgJmd0OyAmbHQ7PGEgaHJlZj0iaHR0cHM6Ly90cmF2
aXMtY2kub3JnL3NhcnRoYWstMDQxNS9nZGFsL2J1aWxkcy8xMTU1NzQyMDMiIHJlbD0ibm9yZWZl
cnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhdmlzLWNpLm9yZy88d2JyPnNhcnRoYWst
MDQxNS9nZGFsL2J1aWxkcy88d2JyPjExNTU3NDIwMzwvYT4mZ3Q7LCBwbGVhc2U8YnI+CjxzcGFu
IGNsYXNzPSIiPiZndDsgJmd0OyBjaGVjayBpdCBvbmNlLjxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7
ICZndDsgSSBoYXZlIHNvbWUgZG91YnRzIHJlZ2FyZGluZyBzb21lIHZhcmlhYmxlcyBhbmQgZnVu
Y3Rpb25zIGZvciB3aGljaCBJPGJyPgomZ3Q7ICZndDsgYW0gc3RpbGwgcmVhZGluZyB0aGUgY29k
ZS48YnI+CiZndDsgJmd0OyBJIHdpbGwgZ2V0IGJhY2sgdG8geW91IGlmIEkgaGF2ZSBzb21lIG1v
cmUgZG91YnRzLjxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgUmVnYXJkcyw8YnI+CiZndDsg
Jmd0OyBTYXJ0aGFrPGJyPgomZ3Q7ICZndDs8YnI+CiZndDsgJmd0OyBPbiBTYXQsIE1hciAxMiwg
MjAxNiBhdCAxMDo0MiBQTSwgRG1pdHJ5IEJhcnlzaG5pa292PGJyPgomZ3Q7ICZndDs8YnI+Cjwv
c3Bhbj48c3BhbiBjbGFzcz0iIj4mZ3Q7ICZndDsgJmx0OzxhIGhyZWY9Im1haWx0bzpiaXNob3Au
ZGV2QGdtYWlsLmNvbSI+YmlzaG9wLmRldkBnbWFpbC5jb208L2E+ICZsdDttYWlsdG86PGEgaHJl
Zj0ibWFpbHRvOmJpc2hvcC5kZXZAZ21haWwuY29tIj5iaXNob3AuZGV2QGdtYWlsLmNvbTwvYT4m
Z3Q7Jmd0OyB3cm90ZTo8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7SGVsbG8gR1Nv
QyBzdHVkZW50cyE8YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDtNYW55IG9mIHlvdSB3cm90ZSB0byBkaWZmZXJlbnQgbGlzdHMgYW5kIGRpcmVjdGx5IGZvciBt
ZS4gSSB0cmllZDxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDt0byBzeXN0ZW1hdGl6
ZSB5b3VyIHF1ZXN0aW9ucy48YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNw
OyAmbmJzcDsxLiBGaXJzdCBvZiBhbGwgZWFjaCBzdHVkZW50IG5lZWQgdG8gc3Vic2NyaWJlIHRv
PGJyPgo8L3NwYW4+Jmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDs8YSBocmVmPSJtYWlsdG86
c29jQGxpc3RzLm9zZ2VvLm9yZyI+c29jQGxpc3RzLm9zZ2VvLm9yZzwvYT4gJmx0O21haWx0bzo8
YSBocmVmPSJtYWlsdG86c29jQGxpc3RzLm9zZ2VvLm9yZyI+c29jQGxpc3RzLm9zZ2VvLm9yZzwv
YT4mZ3Q7ICh0aGUgdGhlbWVzPGJyPgo8c3BhbiBjbGFzcz0iIj4mZ3Q7ICZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwO2Nvbm5lY3RlZCB3aXRoIG9yZ2FuaXppbmcgbW9tZW50cykgYW5kIDxhIGhyZWY9
Im1haWx0bzpnZGFsLWRldkBsaXN0cy5vc2dlby5vcmciPmdkYWwtZGV2QGxpc3RzLm9zZ2VvLm9y
ZzwvYT48YnI+Cjwvc3Bhbj4mZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyZsdDttYWlsdG86
PGEgaHJlZj0ibWFpbHRvOmdkYWwtZGV2QGxpc3RzLm9zZ2VvLm9yZyI+Z2RhbC1kZXZAbGlzdHMu
b3NnZW8uPHdicj5vcmc8L2E+Jmd0OyAodGhlIHRoZW1lcyBhYm91dCBpZGVhcyw8YnI+CjxkaXY+
PGRpdiBjbGFzcz0iaDUiPiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7dGlja2V0cywgY29k
aW5nIGFuZCBjb21tdW5pdHkpLiBQbGVhc2UgZG9uJ3QgZmxvb2QgYm90aCBsaXN0cyB0aGU8YnI+
CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7c2FtZSBsZXR0ZXJzLjxicj4KJmd0OyAmZ3Q7
PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOzIuIE5leHQgLSBJIGRpZyB0aGUgR0RB
TCB0cmFja2VyIGFuZCBmb3VuZCBzb21lIHRpY2tldHMgd29ydGggdG88YnI+CiZndDsgJmd0OyZu
YnNwOyAmbmJzcDsgJm5ic3A7YmUgZml4ZWQuIFRoaXMgd29yayBoZWxwIHlvdSB0byB1bmRlcnN0
YW5kIHRoZSBwcm9qZWN0IHN0cnVjdHVyZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDthbmQgaG93IGl0IHdvcmtzIChidWlsZGluZywgdGVzdGluZyBhbmQgc28gb24pIGFuZCBoZWxw
IHByb2plY3QgdG88YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7YmVjYW1lIGJldHRl
ci48YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7VGhlIGV4cGVjdGVkIHJlc3VsdCBp
cyBhcHBsaWVkIHBvb2wgcmVxdWVzdCBpbiBHREFMIG1haW48YnI+CiZndDsgJmd0OyZuYnNwOyAm
bmJzcDsgJm5ic3A7cmVwb3NpdG9yeSBhdCBnaXRodWIgKDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi
LmNvbS9PU0dlby9nZGFsIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczov
L2dpdGh1Yi5jb20vT1NHZW8vZ2RhbDwvYT48d2JyPikuPGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwO0J5IHRoZSB3YXksIGFmdGVyIHBvb2wgcmVxdWVzdCB0byB0aGlzIHJlcG9zaXRv
cnksIHRoZSBwcm92aWRlZDxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDtmaXhlcyBh
cmUgdGVzdGVkIHZpYSBUcmF2aXNDIGFuZCBvdmVyIHRlc3QgdXRpbGl0aWVzLjxicj4KJmd0OyAm
Z3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDtCZWZvcmUgbWFraW5nIHBvb2wgcmVxdWVzdCBwbGVhc2Ug
dGVzdCBpdCB5b3Vyc2VsZiAodWJ1bnR1IGFuZDxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAm
bmJzcDt3aW5kb3dzIGlzIGVub3VnaCwgdmlydHVhbGJveCBvciBwcmVmZXJhYmxlIHZpcnR1YWxp
emF0aW9uIHNvZnQ8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7bWF5IGhlbHAgaGVy
ZSkuPGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwO0hlcmUgaXMgdGhlIHRpY2tldHMg
SSB0aGluayBpcyBnb29kIGZvciB5b3UgKGl0J3Mgd2VsY29tZSBpZjxicj4KJmd0OyAmZ3Q7Jm5i
c3A7ICZuYnNwOyAmbmJzcDtjb21tdW5pdHkgZml4IHRoaXMgbGlzdCAtIG1heWJlIHNvbWUgdGlj
a2V0cyBuZWVkIHRvIGJlIGV4Y2x1ZGVkPGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNw
O29yIHNvbWUgaW5jbHVkZWQpOjxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwOy0gPGEgaHJlZj0iaHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsL3RpY2tldC8y
NzczIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3RyYWMub3NnZW8u
b3JnL2dkYWwvPHdicj50aWNrZXQvMjc3MzwvYT48YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsg
Jm5ic3A7LSA8YSBocmVmPSJodHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvdGlja2V0LzUwMzUi
IHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5vcmcv
Z2RhbC88d2JyPnRpY2tldC81MDM1PC9hPiAtIEFsZXg8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJz
cDsgJm5ic3A7LSA8YSBocmVmPSJodHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvdGlja2V0LzUz
NDciIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5v
cmcvZ2RhbC88d2JyPnRpY2tldC81MzQ3PC9hPjxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAm
bmJzcDstIDxhIGhyZWY9Imh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQvNTU5MiIg
cmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9n
ZGFsLzx3YnI+dGlja2V0LzU1OTI8L2E+PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNw
Oy0gPGEgaHJlZj0iaHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsL3RpY2tldC81NjgxIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwv
PHdicj50aWNrZXQvNTY4MTwvYT48YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7LSA8
YSBocmVmPSJodHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvdGlja2V0LzU3MDUiIHJlbD0ibm9y
ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC88d2Jy
PnRpY2tldC81NzA1PC9hPjxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDstIDxhIGhy
ZWY9Imh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQvNjE4NSIgcmVsPSJub3JlZmVy
cmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsLzx3YnI+dGlj
a2V0LzYxODU8L2E+IC0gVGFudWo8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7LSA8
YSBocmVmPSJodHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvdGlja2V0LzYyMjIiIHJlbD0ibm9y
ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC88d2Jy
PnRpY2tldC82MjIyPC9hPjxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDstIDxhIGhy
ZWY9Imh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQvNjI0NiIgcmVsPSJub3JlZmVy
cmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsLzx3YnI+dGlj
a2V0LzYyNDY8L2E+PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOy0gPGEgaHJlZj0i
aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsL3RpY2tldC82MzA0IiByZWw9Im5vcmVmZXJyZXIi
IHRhcmdldD0iX2JsYW5rIj5odHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvPHdicj50aWNrZXQv
NjMwNDwvYT48YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7LSA8YSBocmVmPSJodHRw
czovL3RyYWMub3NnZW8ub3JnL2dkYWwvdGlja2V0LzYzMTYiIHJlbD0ibm9yZWZlcnJlciIgdGFy
Z2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC88d2JyPnRpY2tldC82MzE2
PC9hPjxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDstIDxhIGhyZWY9Imh0dHBzOi8v
dHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQvNjM4NSIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9
Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsLzx3YnI+dGlja2V0LzYzODU8L2E+
PGJyPgomZ3Q7ICZndDs8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7SSBjaGVja2Vk
IHRpY2tldHMgYWxyZWFkeSBnZXQgYnkgc3R1ZGVudHMuIEl0J3MgZ29vZCB0byBkaXNjdXNzPGJy
PgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwO3dpdGggY29tbXVuaXR5IGhvdyB5b3UgcGxh
biB0byBmaXggdGhlIHRpY2tldHMgYmVmb3JlIHN0YXJ0PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwO2NvZGluZy4gQWxzbywgY2hvb3NlIHRpY2tldHMgY2FyZWZ1bGx5LCB3ZSBuZWVk
IHN0dWRlbnRzIHdpdGggZ29vZDxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDtza2ls
bHMsIHNvIHRoZSB0aWNrZXQgc2hvdWxkIHNob3cgeW91ciBwb3RlbnRpYWwuIFNvbWUgb2YgeW91
PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwO2FscmVhZHkgY2hvb3NlIGFub3RoZXIg
dGlja2V0cywgYW5kIHRoaXMgaXMgbm9ybWFsIHRvbywgYnV0IHRoZXk8YnI+CiZndDsgJmd0OyZu
YnNwOyAmbmJzcDsgJm5ic3A7bmVlZCB0byBiZSBkaXNjdXNzZWQgdG9vLiBGb3IgZXhhbXBsZSB0
aGUgdGlja2V0PGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOzxhIGhyZWY9Imh0dHBz
Oi8vdHJhYy5vc2dlby5vcmcvZ2RhbC90aWNrZXQvNjI5NCIgcmVsPSJub3JlZmVycmVyIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cHM6Ly90cmFjLm9zZ2VvLm9yZy9nZGFsLzx3YnI+dGlja2V0LzYyOTQ8
L2E+IGlzIHJhdGhlciBjb250cm92ZXJzaWFsLjxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsm
bmJzcDsgJm5ic3A7ICZuYnNwOzMuIFdlIG5lZWQgdG8gc2VlIHdoaWNoIGlkZWFzIGVhY2ggb2Yg
c3R1ZGVudCBjaG9vc2UsIGFuZCB3aGF0IGlzPGJyPgomZ3Q7ICZndDsmbmJzcDsgJm5ic3A7ICZu
YnNwO2EgcGxhbiBob3cgdG8gcmVsZWFzZSB0aGVtLiBZb3UgbmVlZCBzb21lIGRpc2N1c3Npb24g
d2l0aCB0aGU8YnI+CiZndDsgJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7Y29tbXVuaXR5IHdoYXQg
aXMgYmVzdCB3YXkgb3Igc29tZSBkaXJlY3Rpb25zIHRvIGRvIGl0LiBUaGlzIGlzPGJyPgomZ3Q7
ICZndDsmbmJzcDsgJm5ic3A7ICZuYnNwO25vdCBzcG9pbCBvZiB0aGUgdGltZSBhcyB5b3VyIGlk
ZWFzIGNvbWUgYXMgYmFja2dyb3VuZCBmb3IgeW91cjxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNw
OyAmbmJzcDtwcm9qZWN0IGFubm91bmNlcy48YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7Jm5i
c3A7ICZuYnNwOyAmbmJzcDtJdCdsbCBiZSBuaWNlIGhhdmUgbW9yZSBkZXRhaWxzIGZvciBzb21l
IGlkZWFzIGZyb20gbGlzdDxicj4KJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDs8YSBocmVm
PSJodHRwczovL3RyYWMub3NnZW8ub3JnL2dkYWwvd2lraS9TdW1tZXJPZkNvZGUiIHJlbD0ibm9y
ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdHJhYy5vc2dlby5vcmcvZ2RhbC88d2Jy
Pndpa2kvU3VtbWVyT2ZDb2RlPC9hPi4gVGhlIGlkZWFzICM3LDgsOTxicj4KJmd0OyAmZ3Q7Jm5i
c3A7ICZuYnNwOyAmbmJzcDthcmUgdmVyeSBicmllZmx5Ljxicj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7
ICZndDsg4oCLPGJyPgo8YnI+Ci0tPGJyPgo8L2Rpdj48L2Rpdj5TcGF0aWFseXMgLSBHZW9zcGF0
aWFsIHByb2Zlc3Npb25hbCBzZXJ2aWNlczxicj4KPGEgaHJlZj0iaHR0cDovL3d3dy5zcGF0aWFs
eXMuY29tIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LnNwYXRp
YWx5cy5jb208L2E+PGJyPgo8L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pg=="
style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div>
</div>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">Best regards,
Dmitry</pre>
</body>
</html>