RELEASE: GStreamer 1.12.0 stable release

Sebastian Dröge <[email protected]> Thu, 04 May 2017 18:44:47 +0300
Newsgroups gmane.comp.video.gstreamer.devel,gmane.comp.gnome.multimedia,gmane.comp.kde.users.multimedia
Message-ID <[email protected]>
--===============1063011111==
Content-Type: multipart/signed; micalg="pgp-sha512";
	protocol="application/pgp-signature"; boundary="=-M+llD6ZcUJJIJbU77IaB"


--=-M+llD6ZcUJJIJbU77IaB
Content-Type: multipart/mixed; boundary="=-vMOSK/VkuoXOMXEF4zUG"


--=-vMOSK/VkuoXOMXEF4zUG
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The GStreamer team is pleased to announce the first release in the stable 1=
.12
release series. The 1.12 release series is adding new features on top of th=
e
1.0, 1.2, 1.4, 1.6, 1.8 and 1.10 series and is part of the API and ABI-stab=
le
1.x release series of the GStreamer multimedia framework.

Full release notes can be found here (and attached to this mail):
https://gstreamer.freedesktop.org/releases/1.12/

Binaries for Android, iOS, Mac OS X and Windows will be provided in the
next days.


Release tarballs can be downloaded directly from:

https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.0.tar.xz
14d5eef8297d2bf2a728d38fa43cd92cc267a0ad260cf83d770215212aff4302  gstreamer=
-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.1=
2.0.tar.xz
345fc6877f54b8b6e97aacf2996be37a51a0e369f53fc2cf83108af9f764364d  gst-plugi=
ns-base-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.1=
2.0.tar.xz
8a1d734db7338e00c28b794a7f0a5a9e67d1c5c8b0074075b50638207d372ebc  gst-plugi=
ns-good-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.=
0.tar.xz
11b73cfff1b315a8e9be1756435ea84937e7cb90afbab0e8e6975367dbfb8534  gst-plugi=
ns-bad-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.1=
2.0.tar.xz
5e68ba5046e83ee87b17d7a13931e6091466fd771e1338c5b929ee0944d40ad6  gst-plugi=
ns-ugly-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.0.tar.xz
39d1477f642ee980b008e78d716b16801eec9a6e5958c5a6cdc0cb04ab0750c4  gst-libav=
-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.12.=
0.tar.xz
85ae6bbe173b365ddf4859967144f1999b436531ecbe09935914bfa9f6b37652  gst-rtsp-=
server-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.12.0.tar.xz
be33de6b9f21e95f677ef91b142e5249e71c8d7e894a5a4a53e19cf18d5d9c07  gst-pytho=
n-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-editing-services/gstreamer-editin=
g-services-1.12.0.tar.xz
993372f80cafd5395e90a4bc8bf28733513949a2ae4df987ab0dcc99fc5bab66  gstreamer=
-editing-services-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.12.0.tar.=
xz
73efaf123638b97159c1ff6575dd05ea0cf7dc6d71b07806b5a5f25188a67fbb  gst-valid=
ate-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.12.=
0.tar.xz
4a1a5a174b3d3a76ce6c123203e7ee535a347d77f9d4f4ffaf69bfbbfeb03ddb  gstreamer=
-vaapi-1.12.0.tar.xz

https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.12.0.tar.xz
acee8c8a88b995fb95601b7b43bf0c83f502d9026bca5705f9c0dc44a757997e  gst-omx-1=
.12.0.tar.xz


As always, please let us know of any issues you run into by filing a
bug in Bugzilla: http://gstreamer.freedesktop.org/bugs/

--=20
Sebastian Dr=C3=B6ge, Centricular Ltd =C2=B7 http://www.centricular.com
--=-vMOSK/VkuoXOMXEF4zUG
Content-Disposition: attachment; filename="release-notes-1.12.md"
Content-Type: text/markdown; name="release-notes-1.12.md"; charset="UTF-8"
Content-Transfer-Encoding: base64

IyBHU3RyZWFtZXIgMS4xMiBSZWxlYXNlIE5vdGVzCgpHU3RyZWFtZXIgMS4xMi4wIHdhcyBvcmln
aW5hbGx5IHJlbGVhc2VkIG9uIDR0aCBNYXkgMjAxNy4KClRoZSBHU3RyZWFtZXIgdGVhbSBpcyBw
cm91ZCB0byBhbm5vdW5jZSBhIG5ldyBtYWpvciBmZWF0dXJlIHJlbGVhc2UgaW4gdGhlCnN0YWJs
ZSAxLnggQVBJIHNlcmllcyBvZiB5b3VyIGZhdm91cml0ZSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1l
ZGlhIGZyYW1ld29yayEKCkFzIGFsd2F5cywgdGhpcyByZWxlYXNlIGlzIGFnYWluIHBhY2tlZCB3
aXRoIG5ldyBmZWF0dXJlcywgYnVnIGZpeGVzIGFuZCBvdGhlcgppbXByb3ZlbWVudHMuCgpTZWUg
W2h0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8xLjEyL11bbGF0ZXN0
XSBmb3IgdGhlIGxhdGVzdAp2ZXJzaW9uIG9mIHRoaXMgZG9jdW1lbnQuCgoqTGFzdCB1cGRhdGVk
OiBUaHVyc2RheSA0IE1heSAyMDE3LCAxMTowMCBVVEMgWyhsb2cpXVtnaXRsb2ddKgoKW2xhdGVz
dF06IGh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8xLjEyLwpbZ2l0
bG9nXTogaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvd3d3L2xvZy9zcmMv
aHRkb2NzL3JlbGVhc2VzLzEuMTIvcmVsZWFzZS1ub3Rlcy0xLjEyLm1kCgojIyBJbnRyb2R1Y3Rp
b24KClRoZSBHU3RyZWFtZXIgdGVhbSBpcyBwcm91ZCB0byBhbm5vdW5jZSBhIG5ldyBtYWpvciBm
ZWF0dXJlIHJlbGVhc2UgaW4gdGhlCnN0YWJsZSAxLnggQVBJIHNlcmllcyBvZiB5b3VyIGZhdm91
cml0ZSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1lZGlhIGZyYW1ld29yayEKCkFzIGFsd2F5cywgdGhp
cyByZWxlYXNlIGlzIGFnYWluIHBhY2tlZCB3aXRoIG5ldyBmZWF0dXJlcywgYnVnIGZpeGVzIGFu
ZCBvdGhlcgppbXByb3ZlbWVudHMuCgojIyBIaWdobGlnaHRzCgotIG5ldyBgbXNka2AgcGx1Z2lu
IGZvciBJbnRlbCdzIE1lZGlhIFNESyBmb3IgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgdmlkZW8KICBl
bmNvZGluZyBhbmQgZGVjb2Rpbmcgb24gSW50ZWwgZ3JhcGhpY3MgaGFyZHdhcmUgb24gV2luZG93
cyBvciBMaW51eC4KCi0gYHgyNjRlbmNgIGNhbiBub3cgdXNlIG11bHRpcGxlIHgyNjQgbGlicmFy
eSB2ZXJzaW9ucyBjb21waWxlZCBmb3IgZGlmZmVyZW50CiAgYml0IGRlcHRocyBhdCBydW50aW1l
LCB0byB0cmFuc3BhcmVudGx5IHByb3ZpZGUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgYml0CiAgZGVw
dGhzLgoKLSBgdmlkZW9zY2FsZWAgYW5kIGB2aWRlb2NvbnZlcnRgIG5vdyBzdXBwb3J0IG11bHRp
LXRocmVhZGVkIHNjYWxpbmcgYW5kCiAgY29udmVyc2lvbiwgd2hpY2ggaXMgcGFydGljdWxhcmx5
IHVzZWZ1bCB3aXRoIGhpZ2hlciByZXNvbHV0aW9uIHZpZGVvLgoKLSBgaDI2NHBhcnNlYCB3aWxs
IG5vdyBhdXRvbWF0aWNhbGx5IGluc2VydCBBVSBkZWxpbWl0ZXJzIGlmIG5lZWRlZCB3aGVuCiAg
b3V0cHV0dGluZyBieXRlLXN0cmVhbSBmb3JtYXQsIHdoaWNoIGltcHJvdmVzIHN0YW5kYXJkIGNv
bXBsaWFuY2UgYW5kCiAgaXMgbmVlZGVkIGluIHBhcnRpY3VsYXIgZm9yIEhMUyBwbGF5YmFjayBv
biBpT1MvbWFjT1MuCgotIGBydHBiaW5gIGhhcyBhY3F1aXJlZCBidW5kbGUgc3VwcG9ydCBmb3Ig
aW5jb21pbmcgc3RyZWFtcwoKIyMgTWFqb3IgbmV3IGZlYXR1cmVzIGFuZCBjaGFuZ2VzCgojIyMg
Tm90ZXdvcnRoeSBuZXcgQVBJCgotIFRoZSB2aWRlbyBsaWJyYXJ5IGdhaW5lZCBzdXBwb3J0IGZv
ciBhIG51bWJlciBvZiBuZXcgdmlkZW8gZm9ybWF0czoKCiAgLSBgR0JSXzEyTEVgLCBgR0JSXzEy
QkVgLCBgR0JSQV8xMkxFYCwgYEdCUkFfMTJCRWAgKHBsYW5hciA0OjQ6NCBSR0IvUkdCQSwgMTIg
Yml0cyBwZXIgY2hhbm5lbCkKICAtIGBHQlJBXzEwTEVgLCBgR0JSQV8xMEJFYCAocGxhbmFyIDQ6
NDo0OjQgUkdCQSwgMTAgYml0cyBwZXIgY2hhbm5lbCkKICAtIGBHQlJBYCAocGxhbmFyIDQ6NDo0
OjQgQVJHQiwgOCBiaXRzIHBlciBjaGFubmVsKQogIC0gYEk0MjBfMTJCRWAsIGBJNDIwXzEyTEVg
IChwbGFuYXIgNDoyOjAgWVVWLCAxMiBiaXRzIHBlciBjaGFubmVsKQogIC0gYEk0MjJfMTJCRWAs
YEk0MjJfMTJMRWAgKHBsYW5hciA0OjI6MiBZVVYsIDEyIGJpdHMgcGVyIGNoYW5uZWwpCiAgLSBg
WTQ0NF8xMkJFYCwgYFk0NDRfMTJMRWAgKHBsYW5hciA0OjQ6NCBZVVYsIDEyIGJpdHMgcGVyIGNo
YW5uZWwpCiAgLSBgVllVWWAgKGFub3RoZXIgcGFja2VkIDQ6MjoyIFlVViBmb3JtYXQpCgotIFRo
ZSBoaWdoLWxldmVsIGBHc3RQbGF5ZXJgIEFQSSB3YXMgZXh0ZW5kZWQgd2l0aCBmdW5jdGlvbnMg
Zm9yIHRha2luZyB2aWRlbwogIHNuYXBzaG90cyBhbmQgZW5hYmxpbmcgYWNjdXJhdGUgc2Vla2lu
Zy4gSXQgY2FuIG9wdGlvbmFsbHkgYWxzbyB1c2UgdGhlCiAgc3RpbGwtZXhwZXJpbWVudGFsIGBw
bGF5YmluM2AgZWxlbWVudCBub3cuCgojIyMgTmV3IEVsZW1lbnRzCgotIG1zZGs6IG5ldyBwbHVn
aW4gZm9yIEludGVsJ3MgTWVkaWEgU0RLIGZvciBoYXJkd2FyZS1hY2NlbGVyYXRlZCB2aWRlbyBl
bmNvZGluZwogIGFuZCBkZWNvZGluZyBvbiBJbnRlbCBncmFwaGljcyBoYXJkd2FyZSBvbiBXaW5k
b3dzIG9yIExpbnV4LiBUaGlzIGluY2x1ZGVzCiAgYW4gSC4yNjQgZW5jb2Rlci9kZWNvZGVyIChg
bXNka2gyNjRkZWNgLCBgbXNka2gyNjRlbmNgKSwKICBhbiBILjI2NSBlbmNvZGVyL2RlY29kZXIg
KGBtc2RraDI2NWRlY2AsIGBtc2RraDI2NWVuY2ApLAogIGFuIE1KUEVHIGVuY29kZXIvZW5jb2Rl
ciAoYG1zZGttanBlZ2RlY2AsIGBtc2RrbWpwZWdlbmNgKSwKICBhbiBNUEVHLTIgdmlkZW8gZW5j
b2RlciAoYG1zZGttcGVnMmVuY2ApIGFuZCBhIFZQOCBlbmNvZGVyIChgbXNka3ZwOGVuY2ApLgoK
LSBgaXFhYCBpcyBhIG5ldyBJbWFnZSBRdWFsaXR5IEFzc2Vzc21lbnQgcGx1Z2luIGJhc2VkIG9u
IFtEU1NJTV1bZHNzaW1dLAogIHNpbWlsYXIgdG8gdGhlIG9sZCAodW5wb3J0ZWQpIHZpZGVvbWVh
c3VyZSBlbGVtZW50LgoKLSBUaGUgYGZhY2VvdmVybGF5YCBlbGVtZW50LCB3aGljaCBhbGxvd3Mg
eW91IHRvIG92ZXJsYXkgU1ZHIGdyYXBoaWNzIG92ZXIKICBhIGRldGVjdGVkIGZhY2UgaW4gYSB2
aWRlbyBzdHJlYW0sIGhhcyBiZWVuIHBvcnRlZCBmcm9tIDAuMTAuCgotIG91ciBgZmZtcGVnYCB3
cmFwcGVyIHBsdWdpbiBub3cgZXhwb3Nlcy9tYXBzIHRoZSBmZm1wZWcgT3B1cyBhdWRpbyBkZWNv
ZGVyCiAgKGBhdmRlY19vcHVzYCkgYXMgd2VsbCBhcyB0aGUgR29Qcm8gQ2luZUZvcm0gSEQgLyBD
RkhEIGRlY29kZXIgKGBhdmRlY19jZmhkYCksCiAgYW5kIGFsc28gYSBwYXJzZXIvd3JpdGVyIGZv
ciB0aGUgSVZGIGZvcm1hdCAoYGF2ZGVtdXhfaXZmYCBhbmQgYGF2bXV4X2l2ZmApLgoKLSBgYXVk
aW9idWZmZXJzcGxpdGAgaXMgYSBuZXcgZWxlbWVudCB0aGF0IHNwbGl0cyByYXcgYXVkaW8gYnVm
ZmVycyBpbnRvCiAgZXF1YWwtc2l6ZWQgYnVmZmVycwoKLSBgYXVkaW9taXhtYXRyaXhgIGlzIGEg
bmV3IGVsZW1lbnQgdGhhdCBtaXhlcyBOOk0gYXVkaW8gY2hhbm5lbHMgYWNjb3JkaW5nIHRvCiAg
YSBjb25maWd1cmVkIG1peCBtYXRyaXguCgotIFRoZSBgdGltZWNvZGV3YWl0YCBlbGVtZW50IGdv
dCByZW5hbWVkIHRvIGBhdndhaXRgIGFuZCBjYW4gb3BlcmF0ZSBpbgogIGRpZmZlcmVudCBtb2Rl
cyBub3cuCgotIFRoZSBgb3BlbmN2YCB2aWRlbyBwcm9jZXNzaW5nIHBsdWdpbiBoYXMgZ2FpbmVk
IGEgbmV3IGBkZXdhcnBgIGVsZW1lbnQgdGhhdAogIGRld2FycHMgZmlzaGV5ZSBpbWFnZXMuCgot
IGB0dG1sYCBpcyBhIG5ldyBwbHVnaW4gZm9yIHBhcnNpbmcgYW5kIHJlbmRlcmluZyBzdWJ0aXRs
ZXMgaW4gVGltZWQgVGV4dAogIE1hcmt1cCBMYW5ndWFnZSAoVFRNTCkgZm9ybWF0LiBGb3IgdGhl
IHRpbWUgYmVpbmcgdGhlc2UgZWxlbWVudHMgd2lsbCBub3QKICBiZSBhdXRvcGx1Z2dlZCBkdXJp
bmcgbWVkaWEgcGxheWJhY2sgaG93ZXZlciwgdW5sZXNzIHRoZSBgR1NUX1RUTUxfQVVUT1BMVUc9
MWAKICBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQuIE9ubHkgdGhlIEVCVS1UVC1EIHByb2Zp
bGUgaXMgc3VwcG9ydGVkIGF0IHRoaXMKICBwb2ludC4KCltkc3NpbV06IGh0dHBzOi8vZ2l0aHVi
LmNvbS9wb3JuZWwvZHNzaW0KCiMjIyBOZXcgZWxlbWVudCBmZWF0dXJlcyBhbmQgYWRkaXRpb25z
CgotIGB4MjY0ZW5jYCBjYW4gbm93IHVzZSBtdWx0aXBsZSB4MjY0IGxpYnJhcnkgdmVyc2lvbnMg
Y29tcGlsZWQgZm9yIGRpZmZlcmVudAogIGJpdCBkZXB0aHMgYXQgcnVudGltZSwgdG8gdHJhbnNw
YXJlbnRseSBwcm92aWRlIHN1cHBvcnQgZm9yIG11bHRpcGxlIGJpdAogIGRlcHRocy4gQSBuZXcg
Y29uZmlndXJlIHBhcmFtZXRlciBgLS13aXRoLXgyNjQtbGlicmFyaWVzYCBoYXMgYmVlbiBhZGRl
ZCB0bwogIHNwZWNpZnkgYWRkaXRpb25hbCBwYXRocyB0byBsb29rIGZvciBhZGRpdGlvbmFsIHgy
NjQgbGlicmFyaWVzIHRvIGxvYWQuCiAgQmFja2dyb3VuZCBpcyB0aGF0IHRoZSBsaWJ4MjY0IGxp
YnJhcnkgaXMgYWx3YXlzIGNvbXBpbGUgZm9yIG9uZSBzcGVjaWZpYwogIGJpdCBkZXB0aCBhbmQg
dGhlIGB4MjY0ZW5jYCBlbGVtZW50IHdvdWxkIHNpbXBseSBzdXBwb3J0IHRoZSBkZXB0aCBzdXBw
b3J0ZWQKICBieSB0aGUgdW5kZXJseWluZyBsaWJyYXJ5LiBOb3cgd2UgY2FuIHN1cHBvcnQgbXVs
dGlwbGUgZGVwdGhzLgoKLSBgeDI2NGVuY2AgYWxzbyBwaWNrcyB1cCB0aGUgaW50ZXJsYWNpbmcg
bW9kZSBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIGlucHV0CiAgY2FwcyBub3cgYW5kIHBhc3NlZCBp
bnRlcmxhY2luZy9URkYgaW5mb3JtYXRpb24gY29ycmVjdGx5IHRvIHRoZSBsaWJyYXJ5LgoKLSBg
dmlkZW9zY2FsZWAgYW5kIGB2aWRlb2NvbnZlcnRgIG5vdyBzdXBwb3J0IG11bHRpLXRocmVhZGVk
IHNjYWxpbmcgYW5kCiAgY29udmVyc2lvbiwgd2hpY2ggaXMgcGFydGljdWxhcmx5IHVzZWZ1bCB3
aXRoIGhpZ2hlciByZXNvbHV0aW9uIHZpZGVvLgogIFRoaXMgaGFzIHRvIGJlIGVuYWJsZWQgZXhw
bGljaXRseSB2aWEgdGhlIGAibi10aHJlYWRzImAgcHJvcGVydHkuCgotIGB2aWRlb3JhdGVgJ3Mg
bmV3IGAicmF0ZSJgIHByb3BlcnR5IGxldHMgeW91IHNldCBhIHNwZWVkIGZhY3RvcgogIG9uIHRo
ZSBvdXRwdXQgc3RyZWFtCgotIGBzcGxpdG11eHNpbmtgJ3MgYnVmZmVyIGNvbGxlY3Rpb24gYW5k
IHNjaGVkdWxpbmcgd2FzIHJld3JpdHRlbiB0byBtYWtlCiAgcHJvY2Vzc2luZyBhbmQgc3BsaXR0
aW5nIGRldGVybWluaXN0aWM7IGJlZm9yZSBpdCB3YXMgcG9zc2libGUgZm9yIGEgYnVmZmVyCiAg
dG8gZW5kIHVwIGluIGEgZGlmZmVyZW50IGZpbGUgY2h1bmsgaW4gZGlmZmVyZW50IHJ1bnMuIGBz
cGxpdG11eHNpbmtgIGFsc28KICBnYWluZWQgYSBuZXcgYCJmb3JtYXQtbG9jYXRpb24tZnVsbCJg
IHNpZ25hbCB0aGF0IHdvcmtzIGp1c3QgbGlrZSB0aGUgZXhpc3RpbmcKICBgImZvcm1hdC1sb2Nh
dGlvbiJgIHNpZ25hbCBvbmx5IHRoYXQgaXQgaXMgYWxzbyBwYXNzZWQgdGhlIHByaW1hcnkgc3Ry
ZWFtJ3MKICBmaXJzdCBidWZmZXIgYXMgYXJndW1lbnQsIHNvIHRoYXQgaXQgaXMgcG9zc2libGUg
dG8gY29uc3RydWN0IHRoZSBmaWxlIG5hbWUKICBiYXNlZCBvbiBtZXRhZGF0YSBzdWNoIGFzIHRo
ZSBidWZmZXIgdGltZXN0YW1wIG9yIGFueSBHc3RNZXRhIGF0dGFjaGVkIHRvCiAgdGhlIGJ1ZmZl
ci4gVGhlIG5ldyBgIm1heC1zaXplLXRpbWVjb2RlImAgcHJvcGVydHkgYWxsb3dzIGZvciB0aW1l
Y29kZS1iYXNlZAogIHNwbGl0dGluZy4gYHNwbGl0bXV4c2lua2Agd2lsbCBub3cgYWxzbyBhdXRv
bWF0aWNhbGx5IHN0YXJ0IGEgbmV3IGZpbGUgaWYgdGhlCiAgaW5wdXQgY2FwcyBjaGFuZ2UgaW4g
YW4gaW5jb21wYXRpYmxlIHdheS4KCi0gYGZha2VzaW5rYCBoYXMgYSBuZXcgYCJkcm9wLW91dC1v
Zi1zZWdtZW50ImAgcHJvcGVydHkgdG8gbm90IGRyb3AKICBvdXQtb2Ytc2VnbWVudCBidWZmZXJz
LCB3aGljaCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KCi0gYGlkZW50aXR5YCBn
YWluZWQgYSBgInRzLW9mZnNldCJgIHByb3BlcnR5LgoKLSBib3RoIGBmYWtlc2lua2AgYW5kIGBp
ZGVudGl0eWAgbm93IGFsc28gcHJpbnQgd2hhdCBraW5kIG9mIG1ldGFzIGFyZSBhdHRhY2hlZAog
IHRvIGJ1ZmZlcnMgd2hlbiBwcmludGluZyBidWZmZXIgZGV0YWlscyB2aWEgdGhlIGAibGFzdC1t
ZXNzYWdlImAgcHJvcGVydHkKICB1c2VkIGJ5IGBnc3QtbGF1bmNoLTEuMCAtdmAuCgotIG11bHRp
cXVldWU6IG1hZGUgYCJtaW4taW50ZXJsZWF2ZS10aW1lImAgYSBjb25maWd1cmFibGUgcHJvcGVy
dHkuCgotIHZpZGVvIG5lcmRzIHdpbGwgYmUgdGhyaWxsZWQgdG8ga25vdyB0aGF0IGB2aWRlb3Rl
c3RzcmNgJ3Mgc25vdyBpcyBub3cKICBkZXRlcm1pbmlzdGljLiBgdmlkZW90ZXN0c3JjYCBhbHNv
IGdhaW5lZCBzb21lIG5ldyBwcm9wZXJ0aWVzIHRvIG1ha2UgdGhlCiAgYmFsbCBwYXR0ZXJuIGJh
c2VkIG9uIHN5c3RlbSB0aW1lLCBhbmQgaW52ZXJ0IGNvbG91cnMgZWFjaCBzZWNvbmQKICAoYCJh
bmltYXRpb24tbW9kZSJgLCBgIm1vdGlvbiJgLCBhbmQgYCJmbGlwImAgcHJvcGVydGllcykuCgot
IGBvZ2dkZW11eGAgcmV2ZXJzZSBwbGF5YmFjayBzaG91bGQgd29yayBhZ2FpbiBub3cuIFlvdSdy
ZSB3ZWxjb21lLgoKLSBgcGxheWJpbjNgIGFuZCBgdXJpc291cmNlYmluYCBub3cgaGF2ZSBidWZm
ZXJpbmcgZW5hYmxlZCBieSBkZWZhdWx0LCBhbmQKICBidWZmZXJpbmcgbWVzc2FnZSBhZ2dyZWdh
dGlvbiB3YXMgZml4ZWQuCgotIGB0Y3BjbGllbnRzcmNgIG5vdyBoYXMgYSBgInRpbWVvdXQiYCBw
cm9wZXJ0eQoKLSBgYXBwc2lua2AgaGFzIGdhaW5lZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMu
IEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQogIHJlYXNvbnMgdXNlcnMgbmVlZCB0byBlbmFi
bGUgdGhpcyBleHBsaWNpdGx5IHdpdGggYGdzdF9hcHBfc2lua19zZXRfYnVmZmVyX2xpc3Rfc3Vw
cG9ydCgpYCwKICBob3dldmVyLiBPbmNlIGFjdGl2YXRlZCwgYSBwdWxsZWQgYEdzdFNhbXBsZWAg
Y2FuIGNvbnRhaW4gZWl0aGVyIGEgYnVmZmVyCiAgbGlzdCBvciBhIHNpbmdsZSBidWZmZXIuCgot
IGBzcGxpdG11eHNyY2AgcmV2ZXJzZSBwbGF5YmFjayB3YXMgZml4ZWQgYW5kIGhhbmRsaW5nIG9m
IHNwYXJzZSBzdHJlYW1zLCBzdWNoCiAgYXMgc3VidGl0bGUgdHJhY2tzIG9yIG1ldGFkYXRhIHRy
YWNrcywgd2FzIGltcHJvdmVkLgoKLSBgbWF0cm9za2FtdXhgIGhhcyBhY3F1aXJlZCBzdXBwb3J0
IGZvciBtdXhpbmcgRzcyMiBhdWRpbzsgaXQgYWxzbyBtYXJrcyBhbGwKICBidWZmZXJzIGFzIGtl
eWZyYW1lcyBub3cgd2hlbiBzdHJlYW1pbmcgb25seSBhdWRpbywgc28gdGhhdCBgdGNwc2VydmVy
c2lua2AKICB3aWxsIGJlaGF2ZSBwcm9wZXJseSB3aXRoIGF1ZGlvLW9ubHkgc3RyZWFtcy4KCi0g
YHF0bXV4YCBnYWluZWQgc3VwcG9ydCBmb3IgUHJvUmVzIDQ0NDQgWFEsIEhFVkMvSC4yNjUgYW5k
IENpbmVGb3JtIChHb1BybykgZm9ybWF0cywKICBhbmQgZ2VuZXJhbGx5IHdyaXRlcyBtb3JlIHZp
ZGVvIHN0cmVhbS1yZWxhdGVkIG1ldGFkYXRhIGludG8gdGhlIHRyYWNrIGhlYWRlcnMuCiAgSXQg
aXMgYWxzbyBhbGxvd3MgY29uZmlndXJhdGlvbiBvZiB0aGUgbWF4aW11bSBpbnRlcmxlYXZlIHNp
emUgaW4gYnl0ZXMgYW5kCiAgdGltZSBub3cuIEZvciBmcmFnbWVudGVkIG1wNCB3ZSBhbHdheXMg
d3JpdGUgdGhlIGB0ZmR0YCBhdG9tIG5vdyBhcyByZXF1aXJlZAogIGJ5IHRoZSBEQVNIIHNwZWMu
CgotIGBxdGRlbXV4YCBzdXBwb3J0cyBGTEFDLCB4dmlkLCBtcDIsIFMxNkwgYW5kIENpbmVGb3Jt
IChHb1BybykgdHJhY2tzIG5vdywgYW5kCiAgZ2VuZXJhbGx5IHRyaWVzIGhhcmRlciB0byBleHRy
YWN0IG1vcmUgdmlkZW8tcmVsYXRlZCBpbmZvcm1hdGlvbiBmcm9tIHRyYWNrCiAgaGVhZGVycywg
c3VjaCBhcyBjb2xvcmltZXRyeSBvciBpbnRlcmxhY2luZyBkZXRhaWxzLiBJdCBhbHNvIHJlY2Vp
dmVkIGEKICBjb3VwbGUgb2YgZml4ZXMgZm9yIHRoZSBzY2VuYXJpbyB3aGVyZSB1cHN0cmVhbSBv
cGVyYXRlcyBpbiBUSU1FIGZvcm1hdCBhbmQKICBmZWVkcyBjaHVua3MgdG8gcXRkZW11eCAoZS5n
LiBEQVNIIG9yIE1TRSkuCgotIGBhdWRpb2VjaG9gIGhhcyB0d28gbmV3IHByb3BlcnRpZXMgdG8g
YXBwbHkgYSBkZWxheSBvbmx5IHRvIGNlcnRhaW4gY2hhbm5lbHMKICB0byBjcmVhdGUgYSBzdXJy
b3VuZCBlZmZlY3QsIHJhdGhlciB0aGFuIGFuIGVjaG8gb24gYWxsIGNoYW5uZWxzLiBUaGlzIGlz
CiAgdXNlZnVsIHdoZW4gdXBtaXhpbmcgZnJvbSBzdGVyZW8sIGZvciBleGFtcGxlLiBUaGUgYCJz
dXJyb3VuZC1kZWxheSJgIHByb3BlcnR5CiAgZW5hYmxlcyB0aGlzLCBhbmQgdGhlIGAic3Vycm91
bmQtbWFzayJgIHByb3BlcnR5IGNvbnRyb2xzIHdoaWNoIGNoYW5uZWxzCiAgYXJlIGNvbnNpZGVy
ZWQgc3Vycm91bmQgc291bmQgY2hhbm5lbHMgaW4gdGhpcyBjYXNlLgoKLSBgd2VicnRjZHNwYCBn
YWluZWQgdmFyaW91cyBuZXcgcHJvcGVydGllcyBmb3IgZ2FpbiBjb250cm9sIGFuZCBhbHNvIGV4
cG9zZXMKICB2b2ljZSBhY3Rpdml0eSBkZXRlY3Rpb24gbm93LCBpbiB3aGljaCBjYXNlIGl0IHdp
bGwgcG9zdCBgInZvaWNlLWFjdGl2aXR5ImAKICBtZXNzYWdlcyBvbiB0aGUgYnVzIHdoZW5ldmVy
IHRoZSB2b2ljZSBkZXRlY3Rpb24gc3RhdHVzIGNoYW5nZXMuCgotIFRoZSBgZGVja2xpbmtgIGNh
cHR1cmUgZWxlbWVudHMgZm9yIEJsYWNrbWFnaWMgRGVja2xpbmsgY2FyZHMgaGF2ZSBzZWVuIGEK
ICBudW1iZXIgb2YgaW1wcm92ZW1lbnRzOgoKICAtIGBkZWNrbGlua3ZpZGVvc3JjYCB3aWxsIHBv
c3QgYSB3YXJuaW5nIG1lc3NhZ2Ugb24gIm5vIHNpZ25hbCIgYW5kIGFuIGluZm8KICAgIG1lc3Nh
Z2Ugd2hlbiB0aGUgc2lnbmFsIGxvY2sgaGFzIGJlZW4gKHJlKWFjcXVpcmVkLiBUaGVyZSBpcyBh
bHNvIGEgbmV3CiAgICByZWFkLW9ubHkgYCJzaWduYWwiYCBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1
c2VkIHRvIHF1ZXJ5IHRoZSBzaWduYWwgbG9jawogICAgc3RhdHVzLiBUaGUgYEdBUGAgZmxhZyB3
aWxsIGJlIHNldCBvbiBidWZmZXJzIHRoYXQgYXJlIGNhcHR1cmVkIHdpdGhvdXQKICAgIGEgc2ln
bmFsIGxvY2suIFRoZSBuZXcgYGRyb3Atbm8tc2lnbmFsLWZyYW1lc2Agd2lsbCBtYWtlIGBkZWNr
bGlua3ZpZGVvc3JjYAogICAgZHJvcCBhbGwgYnVmZmVycyB0aGF0IGhhdmUgYmVlbiBjYXB0dXJl
ZCB3aXRob3V0IGFuIGlucHV0IHNpZ25hbC4gVGhlCiAgICBgInNraXAtZmlyc3QtdGltZSJgIHBy
b3BlcnR5IHdpbGwgbWFrZSB0aGUgc291cmNlIGRyb3AgdGhlIGZpcnN0IGZldwogICAgYnVmZmVy
cywgd2hpY2ggaXMgaGFuZHkgc2luY2Ugc29tZSBkZXZpY2VzIHdpbGwgYXQgZmlyc3Qgb3V0cHV0
IGJ1ZmZlcnMKICAgIHdpdGggdGhlIHdyb25nIHJlc29sdXRpb24gYmVmb3JlIHRoZXkgbWFuYWdl
IHRvIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGlucHV0CiAgICBmb3JtYXQgYW5kIGRlY2lkZSBvbiB0
aGUgYWN0dWFsIG91dHB1dCBjYXBzLgoKICAtIGBkZWNrbGlua2F1ZGlvc3JjYCBzdXBwb3J0cyBt
b3JlIHRoYW4ganVzdCAyIGF1ZGlvIGNoYW5uZWxzIG5vdy4KCiAgLSBUaGUgY2FwdHVyZSBzb3Vy
Y2VzIG5vIGxvbmdlciB1c2UgdGhlICJoYXJkd2FyZSIgdGltZXN0YW1wcyB3aGljaCB0dXJuCiAg
ICBvdXQgdG8gYmUgdXNlbGVzcyBhbmQgaW5zdGVhZCBqdXN0IHVzZSB0aGUgcGlwZWxpbmUgY2xv
Y2sgZGlyZWN0bHkuCgotIGBzcnRwZGVjYCBub3cgYWxzbyBoYXMgYSByZWFkb25seSBgInN0YXRz
ImAgcHJvcGVydHksIGp1c3QgbGlrZSBgc3J0cGVuY2AuCgotIGBydHBiaW5gIGdhaW5lZCBSVFAg
YnVuZGxlIHN1cHBvcnQsIGFzIHVzZWQgYnkgZS5nLiBXZWJSVEMuIFRoZSBmaXJzdAogICBydHBz
ZXNzaW9uIHdpbGwgaGF2ZSBhIGBydHBzc3JjZGVtdXhgIGVsZW1lbnQgaW5zaWRlIHNwbGl0dGlu
ZyB0aGUgc3RyZWFtcwogICBiYXNlZCBvbiB0aGVpciBTU1JDIGFuZCBwb3RlbnRpYWxseSBkaXNw
YXRjaCB0byBhIGRpZmZlcmVudCBydHBzZXNzaW9uLgogICBCZWNhdXNlIHJldHJhbnNtaXNzaW9u
IFNTUkNzIG5lZWQgdG8gYmUgbWVyZ2VkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgbWVkaWEKICAg
c3RyZWFtIHRoZSBgOjpvbi1idW5kbGVkLXNzcmNgIHNpZ25hbCBpcyBlbWl0dGVkIG9uIGBydHBi
aW5gIHNvIHRoYXQgdGhlCiAgIGFwcGxpY2F0aW9uIGNhbiBmaW5kIG91dCB0byB3aGljaCBzZXNz
aW9uIHRoZSBTU1JDIGJlbG9uZ3MuCgotIGBydHBydHhxdWV1ZWAgZ2FpbmVkIHR3byBuZXcgcHJv
cGVydGllcyBleHBvc2luZyByZXRyYW5zbWlzc2lvbgogIHN0YXRpc3RpY3MgKGAicmVxdWVzdHMi
YCBhbmQgYCJmdWxmaWxsZWQtcmVxdWVzdHMiYCkKCi0gYGttc3NpbmtgIHdpbGwgbm93IHVzZSB0
aGUgcHJlZmVycmVkIG1vZGUgZm9yIHRoZSBtb25pdG9yIGFuZCByZW5kZXIgdG8gdGhlCiAgYmFz
ZSBwbGFuZSBpZiBub3RoaW5nIGVsc2UgaGFzIHNldCBhIG1vZGUgeWV0LiBUaGlzIGNhbiBhbHNv
IGJlIGRvbmUgZm9yY2libHkKICBpbiBhbnkgY2FzZSB2aWEgdGhlIG5ldyBgImZvcmNlLW1vZGVz
ZXR0aW5nImAgcHJvcGVydHkuIEZ1cnRoZXJtb3JlLCBga21zc2lua2AKICBub3cgYWxsb3dzIG9u
bHkgdGhlIHN1cHBvcnRlZCBjb25uZWN0b3IgcmVzb2x1dGlvbnMgYXMgaW5wdXQgY2FwcyBpbiBv
cmRlciB0bwogIGF2b2lkIHNjYWxpbmcgb3IgcG9zaXRpb25pbmcgb2YgdGhlIGlucHV0IHN0cmVh
bSwgYXMgYGttc3NpbmtgIGNhbid0IGtub3cKICB3aGV0aGVyIHNjYWxpbmcgb3IgcG9zaXRpb25p
bmcgd291bGQgYmUgbW9yZSBhcHByb3ByaWF0ZSBmb3IgdGhlIHVzZSBjYXNlIGF0CiAgaGFuZC4K
Ci0gYHdheWxhbmRzaW5rYCBjYW4gbm93IHRha2UgRE1BYnVmIGJ1ZmZlcnMgYXMgaW5wdXQgaW4g
dGhlIHByZXNlbmNlCiAgb2YgYSBjb21wYXRpYmxlIFdheWxhbmQgY29tcG9zaXRvci4gVGhpcyBl
bmFibGVzIHplcm8tY29weSB0cmFuc2ZlcgogIGZyb20gYSBkZWNvZGVyIG9yIHNvdXJjZSB0aGF0
IG91dHB1dHMgRE1BYnVmLgoKLSBgdWRwc3JjYCBjYW4gYmUgYm91bmQgdG8gbW9yZSB0aGFuIG9u
ZSBpbnRlcmZhY2Ugd2hlbiBqb2luaW5nIGEKICBtdWx0aWNhc3QgZ3JvdXAsIHRoaXMgaXMgZG9u
ZSBieSBnaXZpbmcgYSBjb21tYSBzZXBhcmF0ZSBsaXN0IG9mCiAgaW50ZXJmYWNlcyBzdWNoIGFz
IG11bHRpY2FzdC1pZmFjZT0iZXRoMCxldGgxIi4KCiMjIyBQbHVnaW4gbW92ZXMKCi0gYGRhdGF1
cmlzcmNgIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtYmFkIHRvIGNvcmUKCi0gVGhlIGByYXdwYXJz
ZWAgcGx1Z2luIGNvbnRhaW5pbmcgdGhlIGByYXdhdWRpb3BhcnNlYCBhbmQgYHJhd3ZpZGVvcGFy
c2VgCiAgZWxlbWVudHMgbW92ZWQgZnJvbSBnc3QtcGx1Z2lucy1iYWQgdG8gZ3N0LXBsdWdpbnMt
YmFzZS4gVGhlc2UgZWxlbWVudHMKICBzdXBlcnNlZGUgdGhlIG9sZCBgdmlkZW9wYXJzZWAgYW5k
IGBhdWRpb3BhcnNlYCBlbGVtZW50cy4gVGhleSB3b3JrIHRoZQogIHNhbWUsIHdpdGgganVzdCBz
b21lIG1pbm9yIEFQSSBjaGFuZ2VzLiBUaGUgb2xkIGxlZ2FjeSBlbGVtZW50cyBzdGlsbAogIGV4
aXN0IGluIGdzdC1wbHVnaW5zLWJhZCwgYnV0IG1heSBiZSByZW1vdmVkIGF0IHNvbWUgcG9pbnQg
aW4gdGhlIGZ1dHVyZS4KCi0gYHRpbWVjb2Rlc3RhbXBlcmAgaXMgYW4gZWxlbWVudCB0aGF0IGF0
dGFjaGVzIHRpbWUgY29kZXMgdG8gdmlkZW8gYnVmZmVycwogIGluIGZvcm0gb2YgYEdzdFZpZGVv
VGltZUNvZGVNZXRhYHMuIEl0IGhhZCBhIGAiY2xvY2stc291cmNlImAgcHJvcGVydHkKICB3aGlj
aCBoYXMgbm93IGJlZW4gcmVtb3ZlZCBiZWNhdXNlIGl0IHdhcyBmYWlybHkgdXNlbGVzcyBpbiBw
cmFjdGljZS4gSXQKICBnYWluZWQgc29tZSBuZXcgcHJvcGVydGllcyBob3dldmVyOiB0aGUgYCJm
aXJzdC10aW1lY29kZSJgIHByb3BlcnR5IGNhbgogIGJlIHVzZWQgdG8gc2V0IHRoZSBpbml0YWwg
dGltZWNvZGU7IGFsdGVybmF0aXZlbHkgYCJmaXJzdC10aW1lY29kZS10by1ub3ciYAogIGNhbiBi
ZSBzZXQsIGFuZCB0aGVuIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIGF0IHRoZSB0aW1lIHRoZSBm
aXJzdCBidWZmZXIKICBhcnJpdmVzIGlzIHVzZWQgYXMgYmFzZSB0aW1lIGZvciB0aGUgdGltZSBj
b2Rlcy4KCgojIyMgUGx1Z2luIHJlbW92YWxzCgotIFRoZSBgbWFkYCBtcDEvbXAyL21wMyBkZWNv
ZGVyIHBsdWdpbiB3YXMgcmVtb3ZlZCBmcm9tIGdzdC1wbHVnaW5zLXVnbHksCiAgYXMgbGlibWFk
IGlzIEdQTCBsaWNlbnNlZCwgaGFzIGJlZW4gdW5tYWludGFpbmVkIGZvciBhIHZlcnkgbG9uZyB0
aW1lLCBhbmQKICB0aGVyZSBhcmUgYmV0dGVyIGFsdGVybmF0aXZlcyBhdmFpbGFibGUuIFVzZSB0
aGUgYG1wZzEyM2F1ZGlvZGVjYCBlbGVtZW50CiAgZnJvbSB0aGUgYG1wZzEyM2AgcGx1Z2luIGlu
IGdzdC1wbHVnaW5zLXVnbHkgaW5zdGVhZCwgb3IgYGF2ZGVjX21wM2AgZnJvbQogIHRoZSBgZ3N0
LWxpYmF2YCBtb2R1bGUgd2hpY2ggd3JhcHMgdGhlIGZmbXBlZyBsaWJyYXJ5LiBXZSBleHBlY3Qg
dGhhdCB3ZQogIHdpbGwgYmUgYWJsZSB0byBtb3ZlIG1wMyBkZWNvZGluZyB0byBnc3QtcGx1Z2lu
cy1nb29kIGluIHRoZSBuZXh0IGN5Y2xlCiAgc2VlaW5nIHRoYXQgbW9zdCBwYXRlbnRzIGFyb3Vu
ZCBtcDMgaGF2ZSBleHBpcmVkIHJlY2VudGx5IG9yIGFyZSBhYm91dCB0bwogIGV4cGlyZS4KCi0g
VGhlIGBtaW1pY2AgcGx1Z2luIHdhcyByZW1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtYmFkLiBJdCBj
b250YWluZWQgYSBkZWNvZGVyCiAgYW5kIGVuY29kZXIgZm9yIGEgdmlkZW8gY29kZWMgdXNlZCBi
eSBNU04gbWVzc2VuZ2VyIG1hbnkgbWFueSB5ZWFycyBhZ28gKGluCiAgYSBnYWxheHkgZmFyIGZh
ciBhd2F5KS4gVGhlIHVuZGVybHlpbmcgbGlicmFyeSBpcyB1bm1haW50YWluZWQgYW5kIG5vIG9u
ZQogIHJlYWxseSBuZWVkcyB0byB1c2UgdGhpcyBjb2RlYyBhbnkgbW9yZS4gUmVjb3JkZWQgdmlk
ZW9zIGNhbiBzdGlsbCBiZSBwbGF5ZWQKICBiYWNrIHdpdGggdGhlIE1JTUlDIGRlY29kZXIgaW4g
Z3N0LWxpYmF2LgoKIyMgTWlzY2VsbGFuZW91cyBBUEkgYWRkaXRpb25zCgotIFJlcXVlc3QgcGFk
IG5hbWUgdGVtcGxhdGVzIHBhc3NlZCB0byBgZ3N0X2VsZW1lbnRfcmVxdWVzdF9wYWQoKWAgbWF5
IG5vdwogIGNvbnRhaW4gbXVsdGlwbGUgc3BlY2lmaWVycywgc3VjaCBhcyBlLmcuIGBzcmNfJXVf
JXVgLgoKLSBbYGdzdF9idWZmZXJfaXRlcmF0ZV9tZXRhX2ZpbHRlcmVkKClgXVtidWZmZXItaXRl
cmF0ZS1tZXRhLWZpbHRlcmVkXSBpcyBhCiAgdmFyaWFudCBvZiBgZ3N0X2J1ZmZlcl9pdGVyYXRl
X21ldGEoKWAgdGhhdCBvbmx5IHJldHVybnMgbWV0YXMgb2YgdGhlCiAgcmVxdWVzdGVkIHR5cGUg
YW5kIHNraXBzIGFsbCBvdGhlciBtZXRhcy4KCi0gW2Bnc3RfcGFkX3Rhc2tfZ2V0X3N0YXRlKClg
XVtwYWQtdGFzay1nZXQtc3RhdGVdIGdldHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YKICBhIHRhc2sg
aW4gYSB0aHJlYWQtc2FmZSB3YXkuCgotIFtgZ3N0X3VyaV9nZXRfbWVkaWFfZnJhZ21lbnRfdGFi
bGUoKWBdW3VyaS1nZXQtZnJhZ21lbnQtdGFibGVdIHByb3ZpZGVzIHRoZQogIG1lZGlhIGZyYWdt
ZW50cyBvZiBhbiBVUkkgYXMgYSB0YWJsZSBvZiBrZXk9dmFsdWUgcGFpcnMuCgotIFtgZ3N0X3By
aW50KClgXVtwcmludF0sIFtgZ3N0X3ByaW50bG4oKWBdW3ByaW50bG5dLCBbYGdzdF9wcmludGVy
cigpYF1bcHJpbnRlcnJdLAogIGFuZCBbYGdzdF9wcmludGVycmxuKClgXVtwcmludGVycmxuXSBj
YW4gYmUgdXNlZCB0byBwcmludCB0byBzdGRvdXQgb3Igc3RkZXJyLgogIFRoZXNlIGZ1bmN0aW9u
cyBhcmUgc2ltaWxhciB0byBgZ19wcmludCgpYCBhbmQgYGdfcHJpbnRlcnIoKWAgYnV0IHRoZXkg
YWxzbwogIHN1cHBvcnQgYWxsIHRoZSBhZGRpdGlvbmFsIGZvcm1hdCBzcGVjaWZpZXJzIHByb3Zp
ZGVkIGJ5IHRoZSBHU3RyZWFtZXIKICBsb2dnaW5nIHN5c3RlbSwgc3VjaCBhcyBlLmcuIGBHU1Rf
UFRSX0ZPUk1BVGAuCgotIGEgYEdzdFBhcmFtU3BlY0FycmF5YCBoYXMgYmVlbiBhZGRlZCwgZm9y
IGVsZW1lbnRzIHdobyB3YW50IHRvIGhhdmUgYXJyYXkKICB0eXBlIHByb3BlcnRpZXMsIHN1Y2gg
YXMgdGhlIGBhdWRpb21peG1hdHJpeGAgZWxlbWVudCBmb3IgZXhhbXBsZS4gVGhlcmUgYXJlCiAg
YWxzbyB0d28gbmV3IGZ1bmN0aW9ucyB0byBzZXQgYW5kIGdldCBwcm9wZXJ0aWVzIG9mIHRoaXMg
dHlwZSBmcm9tIGJpbmRpbmdzOgogICAtIGdzdF91dGlsX3NldF9vYmplY3RfYXJyYXkoKQogICAt
IGdzdF91dGlsX2dldF9vYmplY3RfYXJyYXkoKQoKLSB2YXJpb3VzIGhlbHBlciBmdW5jdGlvbnMg
aGF2ZSBiZWVuIGFkZGVkIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHNldCBvciBnZXQKICBHc3RTdHJ1
Y3R1cmUgZmllbGRzIGNvbnRhaW5pbmcgY2Fwcy1zdHlsZSBhcnJheSBvciBsaXN0IGZpZWxkcyBm
cm9tIGxhbmd1YWdlCiAgYmluZGluZ3MgKHdoaWNoIHVzdWFsbHkgc3VwcG9ydCBHVmFsdWVBcnJh
eSBidXQgZG9uJ3Qga25vdyBhYm91dCB0aGUgR1N0cmVhbWVyCiAgc3BlY2lmaWMgZnVuZGFtZW50
YWwgdHlwZXMpOgogICAtIFtgZ3N0X3N0cnVjdHVyZV9nZXRfYXJyYXkoKWBdW2dldC1hcnJheV0K
ICAgLSBbYGdzdF9zdHJ1Y3R1cmVfc2V0X2FycmF5KClgXVtzZXQtYXJyYXldCiAgIC0gW2Bnc3Rf
c3RydWN0dXJlX2dldF9saXN0KClgXVtnZXQtbGlzdF0KICAgLSBbYGdzdF9zdHJ1Y3R1cmVfc2V0
X2xpc3QoKWBdW3NldC1saXN0XQoKLSBhIG5ldyBbJ2R5bmFtaWMgdHlwZScgcmVnaXN0cnkgZmFj
dG9yeSB0eXBlXVtkeW5hbWljLXR5cGVdIHdhcyBhZGRlZCB0bwogIHJlZ2lzdGVyIGR5bmFtaWNh
bGx5IGxvYWRhYmxlIEdUeXBlIHR5cGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgYXV0b21hdGljYWxs
eQogIGxvYWRpbmcgZW51bS9mbGFncyB0eXBlcyB0aGF0IGFyZSB1c2VkIGluIGNhcHMsIHN1Y2gg
YXMgZm9yIGV4YW1wbGUgdGhlCiAgYEdzdFZpZGVvTXVsdGl2aWV3RmxhZ3NTZXRgIHR5cGUgdXNl
ZCBpbiBtdWx0aXZpZXcgdmlkZW8gY2Fwcy4KCi0gdGhlcmUgaXMgYSBuZXcgW2BHc3RQcm94eUNv
bnRyb2xCaW5kaW5nYF1bcHJveHktY29udHJvbC1iaW5kaW5nXSBmb3IgdXNlCiAgd2l0aCBHc3RD
b250cm9sbGVyLiBUaGlzIGFsbG93cyBwcm94eWluZyB0aGUgY29udHJvbCBpbnRlcmZhY2UgZnJv
bSBvbmUKICBwcm9wZXJ0eSBvbiBvbmUgR3N0T2JqZWN0IHRvIGFub3RoZXIgcHJvcGVydHkgKG9m
IHRoZSBzYW1lIHR5cGUpIGluIGFub3RoZXIKICBHc3RPYmplY3QuIFNvIGUuZy4gaW4gcGFyZW50
LWNoaWxkIHJlbGF0aW9uc2hpcCwgb25lIG1heSBuZWVkIHRvIGNhbGwKICBgZ3N0X29iamVjdF9z
eW5jX3ZhbHVlcygpYCBvbiB0aGUgY2hpbGQgYW5kIGhhdmUgYSBiaW5kaW5nIChzZXQgZWxzZXdo
ZXJlKQogIG9uIHRoZSBwYXJlbnQgdXBkYXRlIHRoZSB2YWx1ZS4gVGhpcyBpcyB1c2VkIGluIGBn
bHZpZGVvbWl4ZXJgIGFuZCBgZ2xzaW5rYmluYAogIGZvciBleGFtcGxlLCB3aGVyZSBgc3luY192
YWx1ZXMoKWAgb24gdGhlIGNoaWxkIHBhZCBvciBlbGVtZW50IHdpbGwgY2FsbAogIGBzeW5jX3Zh
bHVlcygpYCBvbiB0aGUgZXhwb3NlZCBiaW4gcGFkIG9yIGVsZW1lbnQuCgogIE5vdGUgdGhhdCB0
aGlzIGRvZXNuJ3Qgc29sdmUgR09iamVjdCBwcm9wZXJ0eSBmb3J3YXJkaW5nLCB0aGF0IG11c3QK
ICBiZSB0YWtlbiBjYXJlIG9mIGJ5IHRoZSBpbXBsZW1lbnRhdGlvbiBtYW51YWxseSBvciB1c2lu
ZyBHQmluZGluZy4KCi0gYGdzdF9iYXNlX3BhcnNlX2RyYWluKClgIGhhcyBiZWVuIG1hZGUgcHVi
bGljIGZvciBzdWJjbGFzc2VzIHRvIHVzZS4KCi0gYGdzdF9iYXNlX3Npbmtfc2V0X2Ryb3Bfb3V0
X29mX3NlZ21lbnQoKScgY2FuIGJlIHVzZWQgYnkgc3ViY2xhc3NlcyB0bwogIHByZXZlbnQgR3N0
QmFzZVNpbmsgZnJvbSBkcm9wcGluZyBidWZmZXJzIHRoYXQgZmFsbCBvdXRzaWRlIG9mIHRoZSBz
ZWdtZW50LgoKLSBbYGdzdF9jYWxjdWxhdGVfbGluZWFyX3JlZ3Jlc3Npb24oKWBdW2NhbGMtbGlu
LXJlZ3Jlc3Npb25dIGlzIGEgbmV3IHV0aWxpdHkKICBmdW5jdGlvbiB0byBjYWxjdWxhdGUgYSBs
aW5lYXIgcmVncmVzc2lvbi4KCi0gW2Bnc3RfZGVidWdfZ2V0X3N0YWNrX3RyYWNlYF1bZ2V0LXN0
YWNrLXRyYWNlXSBpcyBhbiBlYXN5IHdheSB0byByZXRyaWV2ZSBhCiAgc3RhY2sgdHJhY2UsIHdo
aWNoIGNhbiBiZSB1c2VmdWwgaW4gdHJhY2VyIHBsdWdpbnMuCgotIGFsbG9jYXRvcnM6IHRoZSBk
bWFidWYgYWxsb2NhdG9yIGlzIG5vdyBzdWItY2xhc3NhYmxlLCBhbmQgdGhlcmUgaXMgYSBuZXcK
ICBgR1NUX0NBUFNfRkVBVFVSRV9NRU1PUllfRE1BQlVGYCBkZWZpbmUuCgotIHZpZGVvIGRlY29k
ZXIgc3ViY2xhc3NlcyBjYW4gdXNlIHRoZSBuZXdseS1hZGRlZCBmdW5jdGlvbgogIGBnc3Rfdmlk
ZW9fZGVjb2Rlcl9hbGxvY2F0ZV9vdXRwdXRfZnJhbWVfd2l0aF9wYXJhbXMoKWAgdG8KICBwYXNz
IGEgYEdzdEJ1ZmZlclBvb2xBY3F1aXJlUGFyYW1zYCB0byB0aGUgYnVmZmVyIHBvb2wgZm9yCiAg
ZWFjaCBidWZmZXIgYWxsb2NhdGlvbi4KCi0gdGhlIHZpZGVvIHRpbWUgY29kZSBBUEkgaGFzIGdh
aW5lZCBhIGRlZGljYXRlZCBbYEdzdFZpZGVvVGltZUNvZGVJbnRlcnZhbGBdW3RpbWVjb2RlLWlu
dGVydmFsXQogIHR5cGUgcGx1cyByZWxhdGVkIEFQSSwgaW5jbHVkaW5nIGZ1bmN0aW9ucyB0byBh
ZGQgaW50ZXJ2YWxzIHRvIHRpbWVjb2Rlcy4KCi0gVGhlcmUgaXMgYSBuZXcgYGxpYmdzdGJhZGFs
bG9jYXRvcnMtMS4wYCBsaWJyYXJ5IGluIGdzdC1wbHVnaW5zLWJhZCwgd2hpY2gKICBtYXkgZ28g
YXdheSBhZ2FpbiBpbiBmdXR1cmUgcmVsZWFzZXMgb25jZSB0aGUgYEdzdFBoeXNNZW1vcnlBbGxv
Y2F0b3JgCiAgaW50ZXJmYWNlIEFQSSBoYXMgYmVlbiB2YWxpZGF0ZWQgYnkgbW9yZSB1c2VycyBh
bmQgd2FzIG1vdmVkIHRvCiAgYGxpYmdzdGFsbG9jYXRvcnMtMS4wYCBmcm9tIGdzdC1wbHVnaW5z
LWJhc2UuCgpbdGltZWNvZGUtaW50ZXJ2YWxdOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3Rv
cC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVyL2hlYWQvZ3N0LXBsdWdpbnMtYmFzZS1saWJzL2h0bWwv
Z3N0LXBsdWdpbnMtYmFzZS1saWJzLWdzdHZpZGVvLmh0bWwjZ3N0LXZpZGVvLXRpbWUtY29kZS1p
bnRlcnZhbC1uZXcKW2J1ZmZlci1pdGVyYXRlLW1ldGEtZmlsdGVyZWRdOiBodHRwczovL2dzdHJl
YW1lci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVyL2hlYWQvZ3N0cmVhbWVyL2h0
bWwvR3N0QnVmZmVyLmh0bWwjZ3N0LWJ1ZmZlci1pdGVyYXRlLW1ldGEtZmlsdGVyZWQKW3BhZC10
YXNrLWdldC1zdGF0ZV06IGh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9kYXRhL2Rv
Yy9nc3RyZWFtZXIvaGVhZC9nc3RyZWFtZXIvaHRtbC9Hc3RQYWQuaHRtbCNnc3QtcGFkLXRhc2st
Z2V0LXN0YXRlClt1cmktZ2V0LWZyYWdtZW50LXRhYmxlXTogaHR0cHM6Ly9nc3RyZWFtZXIuZnJl
ZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dzdHJlYW1lci9oZWFkL2dzdHJlYW1lci9odG1sL2dzdHJl
YW1lci1Hc3RVcmkuaHRtbCNnc3QtdXJpLWdldC1tZWRpYS1mcmFnbWVudC10YWJsZQpbcHJpbnRd
OiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVyL2hl
YWQvZ3N0cmVhbWVyL2h0bWwvZ3N0cmVhbWVyLUdzdEluZm8uaHRtbCNnc3QtcHJpbnQKW3ByaW50
bG5dOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVy
L2hlYWQvZ3N0cmVhbWVyL2h0bWwvZ3N0cmVhbWVyLUdzdEluZm8uaHRtbCNnc3QtcHJpbnRsbgpb
cHJpbnRlcnJdOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0
cmVhbWVyL2hlYWQvZ3N0cmVhbWVyL2h0bWwvZ3N0cmVhbWVyLUdzdEluZm8uaHRtbCNnc3QtcHJp
bnRlcnIKW3ByaW50ZXJybG5dOiBodHRwczovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvZGF0
YS9kb2MvZ3N0cmVhbWVyL2hlYWQvZ3N0cmVhbWVyL2h0bWwvZ3N0cmVhbWVyLUdzdEluZm8uaHRt
bCNnc3QtcHJpbnRlcnJsbgpbZ2V0LWFycmF5XTogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0
b3Aub3JnL2RhdGEvZG9jL2dzdHJlYW1lci9oZWFkL2dzdHJlYW1lci9odG1sL0dzdFN0cnVjdHVy
ZS5odG1sI2dzdC1zdHJ1Y3R1cmUtZ2V0LWFycmF5CltzZXQtYXJyYXldOiBodHRwczovL2dzdHJl
YW1lci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVyL2hlYWQvZ3N0cmVhbWVyL2h0
bWwvR3N0U3RydWN0dXJlLmh0bWwjZ3N0LXN0cnVjdHVyZS1zZXQtYXJyYXkKW2dldC1saXN0XTog
aHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dzdHJlYW1lci9oZWFk
L2dzdHJlYW1lci9odG1sL0dzdFN0cnVjdHVyZS5odG1sI2dzdC1zdHJ1Y3R1cmUtZ2V0LWxpc3QK
W3NldC1saXN0XTogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dz
dHJlYW1lci9oZWFkL2dzdHJlYW1lci9odG1sL0dzdFN0cnVjdHVyZS5odG1sI2dzdC1zdHJ1Y3R1
cmUtc2V0LWxpc3QKW2R5bmFtaWMtdHlwZV06IGh0dHBzOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9w
Lm9yZy9kYXRhL2RvYy9nc3RyZWFtZXIvaGVhZC9nc3RyZWFtZXIvaHRtbC9Hc3REeW5hbWljVHlw
ZUZhY3RvcnkuaHRtbApbcHJveHktY29udHJvbC1iaW5kaW5nXTogaHR0cHM6Ly9nc3RyZWFtZXIu
ZnJlZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dzdHJlYW1lci9oZWFkL2dzdHJlYW1lci1saWJzL2h0
bWwvZ3N0cmVhbWVyLWxpYnMtR3N0UHJveHlDb250cm9sQmluZGluZy5odG1sCltjYWxjLWxpbi1y
ZWdyZXNzaW9uXTogaHR0cHM6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dz
dHJlYW1lci9oZWFkL2dzdHJlYW1lci9odG1sL2dzdHJlYW1lci1Hc3RVdGlscy5odG1sI2dzdC1j
YWxjdWxhdGUtbGluZWFyLXJlZ3Jlc3Npb24KW2dldC1zdGFjay10cmFjZV06IGh0dHBzOi8vZ3N0
cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9kYXRhL2RvYy9nc3RyZWFtZXIvaGVhZC9nc3RyZWFtZXIv
aHRtbC9nc3RyZWFtZXItR3N0VXRpbHMuaHRtbCNnc3QtZGVidWctZ2V0LXN0YWNrLXRyYWNlCgoj
IyMgR3N0UGxheWVyCgpOZXcgQVBJIGhhcyBiZWVuIGFkZGVkIHRvOgoKIC0gZ2V0IHRoZSBudW1i
ZXIgb2YgYXVkaW8vdmlkZW8vc3VidGl0bGUgc3RyZWFtczoKICAgLSBgZ3N0X3BsYXllcl9tZWRp
YV9pbmZvX2dldF9udW1iZXJfb2Zfc3RyZWFtcygpYAogICAtIGBnc3RfcGxheWVyX21lZGlhX2lu
Zm9fZ2V0X251bWJlcl9vZl92aWRlb19zdHJlYW1zKClgCiAgIC0gYGdzdF9wbGF5ZXJfbWVkaWFf
aW5mb19nZXRfbnVtYmVyX29mX2F1ZGlvX3N0cmVhbXMoKWAKICAgLSBgZ3N0X3BsYXllcl9tZWRp
YV9pbmZvX2dldF9udW1iZXJfb2Zfc3VidGl0bGVfc3RyZWFtcygpYAoKIC0gZW5hYmxlIGFjY3Vy
YXRlIHNlZWtpbmc6IGBnc3RfcGxheWVyX2NvbmZpZ19zZXRfc2Vla19hY2N1cmF0ZSgpYAogICBh
bmQgYGdzdF9wbGF5ZXJfY29uZmlnX2dldF9zZWVrX2FjY3VyYXRlKClgCgogLSBnZXQgYSBzbmFw
c2hvdCBpbWFnZSBvZiB0aGUgdmlkZW8gaW4gUkdCeCwgQkdSeCwgSlBFRywgUE5HIG9yCiAgIG5h
dGl2ZSBmb3JtYXQ6IFtgZ3N0X3BsYXllcl9nZXRfdmlkZW9fc25hcHNob3QoKWBdW3NuYXBzaG90
XQoKIC0gc2VsZWN0aW5nIHVzZSBvZiBhIHNwZWNpZmljIHZpZGVvIHNpbmsgZWxlbWVudAogICAo
W2Bnc3RfcGxheWVyX3ZpZGVvX292ZXJsYXlfdmlkZW9fcmVuZGVyZXJfbmV3X3dpdGhfc2luaygp
YF1bcmVuZGVyZXItd2l0aC12c2lua10pCgogLSBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUg
YEdTVF9QTEFZRVJfVVNFX1BMQVlCSU4zYCBpcyBzZXQsIEdzdFBsYXllciB3aWxsCiAgIHVzZSB0
aGUgc3RpbGwtZXhwZXJpbWVudGFsIGBwbGF5YmluM2AgZWxlbWVudCBhbmQgdGhlIGBHc3RTdHJl
YW1zYCBBUEkgZm9yCiAgIHBsYXliYWNrLgoKW3NuYXBzaG90XTogaHR0cHM6Ly9nc3RyZWFtZXIu
ZnJlZWRlc2t0b3Aub3JnL2RhdGEvZG9jL2dzdHJlYW1lci9oZWFkL2dzdC1wbHVnaW5zLWJhZC1s
aWJzL2h0bWwvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZ3N0cGxheWVyLmh0bWwjZ3N0LXBsYXllci1n
ZXQtdmlkZW8tc25hcHNob3QKW3JlbmRlcmVyLXdpdGgtdnNpbmtdOiBodHRwczovL2dzdHJlYW1l
ci5mcmVlZGVza3RvcC5vcmcvZGF0YS9kb2MvZ3N0cmVhbWVyL2hlYWQvZ3N0LXBsdWdpbnMtYmFk
LWxpYnMvaHRtbC9nc3QtcGx1Z2lucy1iYWQtbGlicy1nc3RwbGF5ZXItdmlkZW9vdmVybGF5dmlk
ZW9yZW5kZXJlci5odG1sI2dzdC1wbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci1u
ZXctd2l0aC1zaW5rCgojIyBNaXNjZWxsYW5lb3VzIGNoYW5nZXMKCi0gdmlkZW8gY2FwcyBmb3Ig
aW50ZXJsYWNlZCB2aWRlbyBtYXkgY29udGFpbiBhbiBvcHRpb25hbCBgImZpZWxkLW9yZGVyImAg
ZmllbGQKICBub3cgaW4gdGhlIGNhc2Ugb2YgYGludGVybGFjZWQtbW9kZT1pbnRlcmxlYXZlZGAg
dG8gc2lnbmFsIHRoYXQgdGhlIGZpZWxkCiAgb3JkZXIgaXMgYWx3YXlzIHRoZSBzYW1lIHRocm91
Z2hvdXQgdGhlIHN0cmVhbS4gVGhpcyBpcyB1c2VmdWwgdG8gc2lnbmFsIHRvCiAgbXV4ZXJzIHN1
Y2ggYXMgbXA0bXV4LiBUaGUgbmV3IGZpZWxkIGlzIHBhcnNlZCBmcm9tL3RvIGBHc3RWaWRlb0lu
Zm9gIG9mIGNvdXJzZS4KCi0gdmlkZW8gZGVjb2RlciBhbmQgdmlkZW8gZW5jb2RlciBiYXNlIGNs
YXNzZXMgdHJ5IGhhcmRlciB0byBwcm94eQogIGludGVybGFjaW5nLCBjb2xvcmltZXRyeSBhbmQg
Y2hyb21hLXNpdGUgcmVsYXRlZCBmaWVsZHMgaW4gY2FwcyBwcm9wZXJseS4KCi0gVGhlIGJ1ZmZl
ciBzdG9yZWQgaW4gdGhlIGBQUk9URUNUSU9OYCBldmVudHMgaXMgbm93IGxlZnQgdW5jaGFuZ2Vk
LiBUaGlzIGlzIGEKICBjaGFuZ2Ugb2YgYmVoYXZpb3VyIHNpbmNlIDEuOCwgZXNwZWNpYWxseSBm
b3IgdGhlIG1zc2RlbXV4IGVsZW1lbnQgd2hpY2ggdXNlZCB0bwogIGRlY29kZSB0aGUgYmFzZTY0
IHBhcnNlZCBkYXRhIHdyYXBwZWQgaW4gdGhlIHByb3RlY3Rpb24gZXZlbnRzIGVtaXR0ZWQgYnkg
dGhlCiAgZGVtdXhlci4KCi0gYFBST1RFQ1RJT05gIGV2ZW50cyBjYW4gbm93IGJlIGluamVjdGVk
IGludG8gdGhlIHBpcGVsaW5lIGZyb20gdGhlIGFwcGxpY2F0aW9uOwogIHNvdXJjZSBlbGVtZW50
cyBkZXJpdmluZyBmcm9tIEdzdEJhc2VTcmMgd2lsbCBmb3J3YXJkIHRob3NlIGRvd25zdHJlYW0g
bm93LgoKLSBUaGUgREFTSCBkZW11eGVyIGlzIG5vdyBjb3JyZWN0bHkgcGFyc2luZyB0aGUgTVNQ
Ui0yLjAgQ29udGVudFByb3RlY3Rpb24gbm9kZXMKICBhbmQgZW1pdHMgUHJvdGVjdGlvbiBldmVu
dHMgYWNjb3JkaW5nbHkuIEFwcGxpY2F0aW9ucyByZWx5aW5nIG9uIHRob3NlIGV2ZW50cwogIG1p
Z2h0IG5lZWQgdG8gZGVjb2RlIHRoZSBiYXNlNjQgZGF0YSBzdG9yZWQgaW4gdGhlIGV2ZW50IGJ1
ZmZlciBiZWZvcmUgdXNpbmcgaXQuCgotIFRoZSByZWdpc3RyeSBjYW4gbm93IGFsc28gYmUgZGlz
YWJsZWQgYnkgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKICBgR1NUX1JFR0lTVFJZ
X0RJU0FCTEU9eWVzYCwgd2l0aCBzaW1pbGFyIGVmZmVjdCBhcyB0aGUgYEdTVF9ESVNBQkxFX1JF
R0lTVFJZYAogIGNvbXBpbGUgdGltZSBzd2l0Y2guCgotIFNlZWtpbmcgcGVyZm9ybWFuY2Ugd2l0
aCBnc3RyZWFtZXItdmFhcGkgYmFzZWQgZGVjb2RlcnMgd2FzIGltcHJvdmVkLiBJdCB3b3VsZAog
IHJlY3JlYXRlIHRoZSBkZWNvZGVyIGFuZCBzdXJmYWNlcyBvbiBldmVyeSBzZWVrIHdoaWNoIGNh
biBiZSBxdWl0ZSBzbG93LgoKLSBtb3JlIHJvYnVzdCBoYW5kbGluZyBvZiBpbnB1dCBjYXBzIGNo
YW5nZXMgaW4gdmlkZW9hZ2dyZWdhdG9yLWJhc2VkIGVsZW1lbnRzCiAgc3VjaCBhcyBgY29tcG9z
aXRvcmAuCgotIExvdHMgb2YgYWRhcHRpdmUgc3RyZWFtaW5nLXJlbGF0ZWQgZml4ZXMgYWNyb3Nz
IHRoZSBib2FyZCAoREFTSCwgTVNTLCBITFMpLiBBbHNvOgoKICAtIGBtc3NkZW11eGAsIHRoZSBN
aWNyb3NvZnQgU21vb3RoIFN0cmVhbWluZyBkZW11eGVyLCBoYXMgc2VlbiB2YXJpb3VzCiAgICBm
aXhlcyBmb3IgbGl2ZSBzdHJlYW1zLCBkdXJhdGlvbiByZXBvcnRpbmcgYW5kIHNlZWtpbmcuCgog
IC0gVGhlIERBU0ggbWFuaWZlc3QgcGFyc2VyIG5vdyBleHRyYWN0cyBNUyBQbGF5UmVhZHkgQ29u
dGVudFByb3RlY3Rpb24gb2JqZWN0cwogICAgZnJvbSBtYW5pZmVzdHMgYW5kIHNlbmRzIHRoZW0g
ZG93bnN0cmVhbSBhcyBgUFJPVEVDVElPTmAgZXZlbnRzLiBJdCBhbHNvCiAgICBzdXBwb3J0cyBt
dWx0aXBsZSBQZXJpb2QgZWxlbWVudHMgaW4gZXh0ZXJuYWwgeG1sIG5vdy4KCi0gZ3N0LWxpYmF2
IHdhcyB1cGRhdGVkIHRvIGZmbXBlZyAzLjMgYnV0IHNob3VsZCBzdGlsbCB3b3JrIHdpdGggYW55
IDMueAogIHZlcnNpb24uCgotIEdzdEVuY29kaW5nUHJvZmlsZSBoYXMgYmVlbiBnZW5lcmFsbHkg
ZW5oYW5jZWQgc28gaXQgY2FuLCBmb3IKICBleGFtcGxlLCBiZSB1c2VkIHRvIGdldCBwb3NzaWJs
ZSBwcm9maWxlcyBmb3IgYSBnaXZlbiBmaWxlCiAgZXh0ZW5zaW9uLiBJdCBpcyBub3cgcG9zc2li
bGUgdG8gZGVmaW5lIHByb2ZpbGVzIGJhc2VkIG9uIGVsZW1lbnQKICBmYWN0b3J5IG5hbWVzIG9y
IHVzaW5nIGEgcGF0aCB0byBhIGAuZ2VwYCBmaWxlIGNvbnRhaW5pbmcgYQogIHNlcmlhbGl6ZWQg
cHJvZmlsZS4KCi0gYGF1ZGlvY29udmVydGAgY2FuIG5vdyBkbyBlbmRpYW5uZXNzIGNvbnZlcnNp
b24gaW4tcGxhY2UuIEFsbCBvdGhlcgogIGNvbnZlcnNpb25zIHN0aWxsIHJlcXVpcmUgYSBjb3B5
LCBidXQgZS5nLiBzaWduIGNvbnZlcnNpb24gYW5kIGEgZmV3IG90aGVycwogIGNvdWxkIGFsc28g
YmUgaW1wbGVtZW50ZWQgaW4tcGxhY2Ugbm93LgoKLSBUaGUgbmV3LCBleHBlcmltZW50YWwgYHBs
YXliaW4zYCBhbmQgYHVyaXNvdXJjZWJpbmAgZWxlbWVudHMgZ290IG1hbnkKICBidWdmaXhlcyBh
bmQgaW1wcm92ZW1lbnRzIGFuZCBzaG91bGQgZ2VuZXJhbGx5IGJlIGNsb3NlciB0byBhIGZ1bGwK
ICByZXBsYWNlbWVudCBvZiB0aGUgb2xkIGVsZW1lbnRzLgoKLSBgaW50ZXJsZWF2ZWAgbm93IHN1
cHBvcnRzID4gNjQgY2hhbm5lbHMuCgojIyMgT3BlbkdMIGludGVncmF0aW9uCgotIEFzIHVzdWFs
IHRoZSBHU3RyZWFtZXIgT3BlbkdMIGludGVncmF0aW9uIGxpYnJhcnkgaGFzIHNlZW4gbnVtZXJv
dXMKICBmaXhlcyBhbmQgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGFsbCBvdmVyIHRoZSBwbGFj
ZSwgYW5kIGlzIGhvcGVmdWxseQogIHJlYWR5IG5vdyB0byBiZWNvbWUgQVBJIHN0YWJsZSBhbmQg
YmUgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZSBkdXJpbmcgdGhlCiAgMS4xNCByZWxlYXNlIGN5
Y2xlLgoKLSBUaGUgR1N0cmVhbWVyIE9wZW5HTCBpbnRlZ3JhdGlvbiBsYXllciBoYXMgYWxzbyBn
YWluZWQgc3VwcG9ydCBmb3IgdGhlCiAgVml2YW50ZSBFR0wgRkIgd2luZG93aW5nIHN5c3RlbSwg
d2hpY2ggaW1wcm92ZXMgcGVyZm9ybWFuY2Ugb24gcGxhdGZvcm1zCiAgc3VjaCBhcyBGcmVlc2Nh
bGUgaU1YLjYgZm9yIHRob3NlIHdobyBhcmUgc3R1Y2sgd2l0aCB0aGUgcHJvcHJpZXRhcnkgZHJp
dmVyLgogIFRoZSBgcW1sZ2xzaW5rYCBlbGVtZW50IGFsc28gc3VwcG9ydHMgdGhpcyBub3cgaWYg
UXQgaXMgdXNlZCB3aXRoIGVnbGZzIG9yCiAgd2F5bGFuZCBiYWNrZW5kLCBhbmQgaXQgd29ya3Mg
aW4gY29uanVuY3Rpb24gd2l0aCBbZ3N0cmVhbWVyLWlteF1bZ3N0cmVhbWVyLWlteF0KICBvZiBj
b3Vyc2UuCgotIHZhcmlvdXMgYHFtbGdsc3JjYCBpbXByb3ZlbWVudHMKCltnc3RyZWFtZXItaW14
XTogaHR0cHM6Ly9naXRodWIuY29tL0ZyZWVzY2FsZS9nc3RyZWFtZXItaW14CgojIyBUcmFjaW5n
IGZyYW1ld29yayBhbmQgZGVidWdnaW5nIGltcHJvdmVtZW50cwoKLSBOZXcgdHJhY2luZyBob29r
cyBoYXZlIGJlZW4gYWRkZWQgdG8gdHJhY2sgR3N0TWluaU9iamVjdCBhbmQgR3N0T2JqZWN0CiAg
cmVmL3VucmVmIG9wZXJhdGlvbnMuCgotIFRoZSBtZW1vcnkgbGVha3MgdHJhY2VyIGNhbiBvcHRp
b25hbGx5IHVzZSB0aGlzIHRvIHJldHJpZXZlIHN0YWNrIHRyYWNlcyBpZgogIGVuYWJsZWQgd2l0
aCBlLmcuIGBHU1RfVFJBQ0VSUz1sZWFrcyhmaWx0ZXJzPSJHc3RFdmVudCxHc3RNZXNzYWdlIixz
dGFjay10cmFjZXMtZmxhZ3M9ZnVsbClgCgotIFRoZSBgR1NUX0RFQlVHX0ZJTEVgIGVudmlyb25t
ZW50IHZhcmlhYmxlLCB3aGljaCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0aGUKICBkZWJ1ZyBsb2cg
b3V0cHV0IHRvIGEgZmlsZSBpbnN0ZWFkIG9mIHByaW50aW5nIGl0IHRvIHN0ZGVyciwgY2FuIG5v
dyBjb250YWluCiAgYSBuYW1lIHBhdHRlcm4sIHdoaWNoIGlzIHVzZWZ1bCBmb3IgYXV0b21hdGVk
IHRlc3RpbmcgYW5kIGNvbnRpbnVvdXMKICBpbnRlZ3JhdGlvbiBzeXN0ZW1zLiBUaGUgZm9sbG93
aW5nIGZvcm1hdCBzcGVjaWZpZXJzIGFyZSBzdXBwb3J0ZWQ6CgogICAtIGAlcGA6IHdpbGwgYmUg
cmVwbGFjZWQgd2l0aCB0aGUgUElECiAgIC0gYCVyYDogd2lsbCBiZSByZXBsYWNlZCB3aXRoIGEg
cmFuZG9tIG51bWJlciwgd2hpY2ggaXMgdXNlZnVsIGZvciBpbnN0YW5jZQogICAgIHdoZW4gcnVu
bmluZyB0d28gcHJvY2Vzc2VzIHdpdGggdGhlIHNhbWUgUElEIGJ1dCBpbiBkaWZmZXJlbnQgY29u
dGFpbmVycy4KCiMjIFRvb2xzCgotIGBnc3QtaW5zcGVjdC0xLjBgIGNhbiBub3cgbGlzdCBlbGVt
ZW50cyBieSB0eXBlIHdpdGggdGhlIG5ldyBgLS10eXBlc2AKICAgY29tbWFuZC1saW5lIG9wdGlv
biwgZS5nLiBgZ3N0LWluc3BlY3QtMS4wIC0tdHlwZXM9QXVkaW8vRW5jb2RlcmAgd2lsbAogICBz
aG93IGEgbGlzdCBvZiBhdWRpbyBlbmNvZGVycy4KCi0gYGdzdC1sYXVuY2gtMS4wYCBhbmQgYGdz
dF9wYXJzZV9sYXVuY2goKWAgaGF2ZSBnYWluZWQgYSBuZXcgb3BlcmF0b3IgKGA6YCkKICAgdGhh
dCBhbGxvd3MgbGlua2luZyBhbGwgcGFkcyBiZXR3ZWVuIHR3byBlbGVtZW50cy4gVGhpcyBpcyB1
c2VmdWwgaW4gY2FzZXMKICAgd2hlcmUgdGhlIGV4YWN0IG51bWJlciBvZiBwYWRzIG9yIHR5cGUg
b2YgcGFkcyBpcyBub3Qga25vd24gYmVmb3JlaGFuZCwgc3VjaAogICBhcyBpbiB0aGUgYHVyaWRl
Y29kZWJpbiA6IGVuY29kZWJpbmAgc2NlbmFyaW8sIGZvciBleGFtcGxlLiBJbiB0aGlzIGNhc2Us
CiAgIG11bHRpcGxlIGxpbmtzIHdpbGwgYmUgY3JlYXRlZCBpZiB0aGUgZW5jb2RlYmluIGhhcyBt
dWx0aXBsZSBwcm9maWxlcwogICBjb21wYXRpYmxlIHdpdGggdGhlIG91dHB1dCBvZiB1cmlkZWNv
ZGViaW4uCgotIGBnc3QtZGV2aWNlLW1vbml0b3ItMS4wYCBub3cgc2hvd3MgYSBgZ3N0LWxhdW5j
aC0xLjBgIHNuaXBwZXQgZm9yIGVhY2gKICBkZXZpY2UgdGhhdCBzaG93cyBob3cgdG8gbWFrZSB1
c2Ugb2YgaXQgaW4gYSBgZ3N0LWxhdW5jaC0xLjBgIHBpcGVsaW5lIHN0cmluZy4KCiMjIEdTdHJl
YW1lciBSVFNQIHNlcnZlcgoKLSBUaGUgUlRTUCBzZXJ2ZXIgbm93IGFsc28gc3VwcG9ydHMgRGln
ZXN0IGF1dGhlbnRpY2F0aW9uIGluIGFkZGl0aW9uIHRvIEJhc2ljCiAgYXV0aGVudGljYXRpb24u
CgotIFRoZSBgR3N0UlRTUENsaWVudGAgY2xhc3MgaGFzIGdhaW5lZCBhIGBwcmUtKi1yZXF1ZXN0
YCBzaWduYWwgYW5kIHZpcnR1YWwKICBtZXRob2QgZm9yIGVhY2ggY2xpZW50IHJlcXVlc3QgdHlw
ZSwgZW1pdHRlZCBpbiB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcnRzcAogIHJlcXVlc3QuIFRoZXNl
IHNpZ25hbHMgb3IgdmlydHVhbCBtZXRob2RzIGxldCB0aGUgYXBwbGljYXRpb24gdmFsaWRhdGUg
dGhlCiAgcmVxdWVzdHMsIGNvbmZpZ3VyZSB0aGUgbWVkaWEvc3RyZWFtIGluIGEgY2VydGFpbiB3
YXkgYW5kIGFsc28gZ2VuZXJhdGUgZXJyb3IKICBzdGF0dXMgY29kZXMgaW4gY2FzZSBvZiBhbiBl
cnJvciBvciBhIGJhZCByZXF1ZXN0LgoKIyMgR1N0cmVhbWVyIFZBQVBJCgotIEdzdFZhYXBpRGlz
cGxheSBub3cgaW5oZXJpdHMgZnJvbSBHc3RPYmplY3QsIHRodXMgdGhlIFZBIGRpc3BsYXkgbG9n
Z2luZwogIG1lc3NhZ2VzIGFyZSBiZXR0ZXIgYW5kIHRyYWNpbmcgdGhlIGNvbnRleHQgc2hhcmlu
ZyBpcyBtb3JlIHJlYWRhYmxlLgoKLSBXaGVuIHVwbG9hZGluZyByYXcgaW1hZ2VzIGludG8gYSBW
QSBzdXJmYWNlcyBub3cgVkFEZXJpdmVJbWFnZXMgYXJlIHRyaWVkCiAgZmlzdCwgaW1wcm92aW5n
IHRoZSB1cGxvYWQgcGVyZm9ybWFuY2UsIGlmIGl0IGlzIHBvc3NpYmxlLgoKLSBUaGUgZGVjb2Rl
cnMgYW5kIHRoZSBwb3N0LXByb2Nlc3NvciBub3cgY2FuIHB1c2ggZG1hYnVmLWJhc2VkIGJ1ZmZl
cnMgdG8KICBkb3duc3RyZWFtIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gRm9yIGV4YW1wbGU6
CgogIGBHU1RfR0xfUExBVEZPUk09ZWdsIGdzdC1wbGF5LTEuMCB2aWRlby1zYW1wbGUubWt2IC0t
dmlkZW9zaW5rPWdsaW1hZ2VzaW5rYAoKLSBSZWZhY3RvcmVkIHRoZSB3cmFwcGluZyBvZiBWQSBz
dXJmYWNlIGludG8gZ3N0cmVhbWVyIG1lbW9yeSwgYWRkaW5nIGxvY2sKICB3aGVuIG1hcHBpbmcg
YW5kIHVubWFwcGluZywgYW5kIG1hbnkgb3RoZXIgZml4ZXMuCgotIE5vdyBgdmFhcGlkZWNvZGVi
aW5gIGxvYWRzIGB2YWFwaXBvc3Rwcm9jYCBkeW5hbWljYWxseS4gSXQgaXMgcG9zc2libGUgdG8K
ICBhdm9pZCBpdCB1c2FnZSB3aXRoIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBgR1NUX1ZBQVBJ
X0RJU0FCTEVfVlBQPTFgLgoKLSBSZWdhcmRpbmcgZW5jb2RlcnM6IHRoZXkgaGF2ZSBwcmltYXJ5
IHJhbmsgYWdhaW4sIHNpbmNlIHRoZXkgY2FuIGRpc2NvdmVyLAogIGluIHJ1bi10aW1lLCB0aGUg
Y29sb3IgZm9ybWF0cyB0aGV5IGNhbiB1c2UgZm9yIHVwc3RyZWFtIHJhdyBidWZmZXJzIGFuZAog
IGNhcHMgcmVuZWdvdGlhdGlvbiBpcyBub3cgcG9zc2libGUuIEFsc28gdGhlIGVuY29kZXJzIHB1
c2ggZW5jb2RpbmcgaW5mbwogIGRvd25zdHJlYW0gdmlhIHRhZ3MuCgotIEFib3V0IHNwZWNpZmlj
IGVuY29kZXJzOiBhZGRlZCBjb25zdGFudCBiaXQtcmF0ZSBlbmNvZGluZyBtb2RlIGZvciBWUDgg
YW5kCiAgSDI2NSBlbmNvZGVyIGhhbmRsZXMgUDAxMF8xMExFIGNvbG9yIGZvcm1hdC4KCi0gUmVn
YXJkaW5nIGRlY29kZXJzLCBmbHVzaCBvcGVyYXRpb24gaGFzIGJlZW4gaW1wcm92ZWQsIG5vdyB0
aGUgaW50ZXJuYWwgVkEKICBlbmNvZGVyIGlzIG5vdCByZWNyZWF0ZWQgYXQgZWFjaCBmbHVzaC4g
QWxzbyB0aGVyZSBhcmUgc2V2ZXJhbCBpbXByb3ZlbWVudHMKICBpbiB0aGUgaGFuZGxpbmcgb2Yg
SDI2NCBhbmQgSDI2NSBzdHJlYW1zLgoKLSBWQUFQSSBwbHVnaW5zIHRyeSB0byBjcmVhdGUgdGhl
aXIgb24gR3N0R0wgY29udGV4dCAod2hlbiBhdmFpbGFibGUpIGlmIHRoZXkKICBjYW5ub3QgZmlu
ZCBpdCBpbiB0aGUgcGlwZWxpbmUsIHRvIGZpZ3VyZSBvdXQgd2hhdCB0eXBlIG9mIFZBIERpc3Bs
YXkgdGhleQogIHNob3VsZCBjcmVhdGUuCgotIFJlZ2FyZGluZyBgdmFhcGlzaW5rYCBmb3IgWDEx
LCBpZiB0aGUgYmFja2VuZCByZXBvcnRzIHRoYXQgaXQgaXMgdW5hYmxlIHRvCiAgcmVuZGVyIGNv
cnJlY3RseSB0aGUgY3VycmVudCBjb2xvciBmb3JtYXQsIGFuIGludGVybmFsIFZBIHBvc3QtcHJv
Y2Vzc29yLCBpcwogIGluc3RhbnRpYXRlZCAoaWYgYXZhaWxhYmxlKSBhbmQgY29udmVydHMgdGhl
IGNvbG9yIGZvcm1hdC4KCiMjIEdTdHJlYW1lciBFZGl0aW5nIFNlcnZpY2VzIGFuZCBOTEUKCi0g
RW5oYW5jZWQgYXV0byB0cmFuc2l0aW9uIGJlaGF2aW91cgoKLSBGaXggc29tZSByYWNlcyBpbiBg
bmxlY29tcG9zaXRpb25gCgotIEFsbG93IGJ1aWxkaW5nIHdpdGggbXN2YwoKLSBBZGRlZCBhIFVO
SVggbWFucGFnZSBmb3IgYGdlcy1sYXVuY2hgCgotIEFQSSBjaGFuZ2VzOgogIC0gQWRkZWQgZ2Vz
X2RlaW5pdCAoYWxsb3dpbmcgdGhlIGxlYWsgdHJhY2VyIHRvIHdvcmsgcHJvcGVybHkpCiAgLSBB
ZGRlZCBnZXNfbGF5ZXJfZ2V0X2NsaXBzX2luX2ludGVydmFsCiAgLSBGaW5hbGx5IGhpZGUgaW50
ZXJuYWwgc3ltYm9scyB0aGF0IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gZXhwb3NlZAoKIyMgR1N0
cmVhbWVyIHZhbGlkYXRlCgotIFBvcnQgYGdzdC12YWxpZGF0ZS1sYXVuY2hlcmAgdG8gcHl0aG9u
IDMKCi0gYGdzdC12YWxpZGF0ZS1sYXVuY2hlcmAgbm93IGNoZWNrcyBpZiBibGFja2xpc3RlZCBi
dWdzIGhhdmUgYmVlbiBmaXhlZCBvbgogIGJ1Z3ppbGxhIGFuZCBlcnJvcnMgb3V0IGlmIGl0IGlz
IHRoZSBjYXNlCgotIEFsbG93IGJ1aWxkaW5nIHdpdGggbXN2YwoKLSBBZGQgYWJpbGl0eSBmb3Ig
dGhlIGxhdW5jaGVyIHRvIHJ1biBHU3RyZWFtZXIgdW5pdCB0ZXN0cwoKLSBBZGRlZCBhIHdheSB0
byBhY3RpdmF0ZSB0aGUgbGVha3MgdHJhY2VyIG9uIG91ciB0ZXN0cyBhbmQgZml4IGxlYWtzCgot
IE1ha2UgdGhlIGh0dHAgc2VydmVyIG11bHRpdGhyZWFkZWQKCi0gTmV3IHRlc3RzdWl0ZSBmb3Ig
cnVubmluZyB2YXJpb3VzIHRlc3Qgc2NlbmFyaW9zIG9uIHRoZSBEQVNILUlGIHRlc3QgdmVjdG9y
cwoKIyMgQnVpbGQgYW5kIERlcGVuZGVuY2llcwoKLSBNZXNvbiBidWlsZCBmaWxlcyBhcmUgbm93
IGRpc3RlZCBpbiB0YXJiYWxscywgZm9yIGpoYnVpbGQgYW5kIHNvIGRpc3RybwogIHBhY2thZ2Vy
cyBjYW4gc3RhcnQgdXNpbmcgaXQuIE5vdGUgdGhhdCB0aGUgTWVzb24tYmFzZWQgYnVpbGQgc3lz
dGVtIGlzIG5vdAogIDEwMCUgZmVhdHVyZS1lcXVpdmFsZW50IHdpdGggdGhlIGF1dG90b29scy1i
YXNlZCBvbmUgeWV0LgoKLSBTb21lIHBsdWdpbiBmaWxlbmFtZXMgaGF2ZSBiZWVuIGNoYW5nZWQg
dG8gbWF0Y2ggdGhlIHBsdWdpbiBuYW1lczogZm9yIGV4YW1wbGUKICB0aGUgZmlsZSBuYW1lIG9m
IHRoZSBgZW5jb2RpbmdgIHBsdWdpbiBpbiBnc3QtcGx1Z2lucy1iYXNlIGNvbnRhaW5pbmcgdGhl
CiAgYGVuY29kZWJpbmAgZWxlbWVudCB3YXMgYGxpYmdzdGVuY29kZWJpbi5zb2AgYW5kIGhhcyBi
ZWVuIGNoYW5nZWQgdG8KICBgbGliZ3N0ZW5jb2RlYmluLnNvYC4gVGhpcyBhZmZlY3RzIG9ubHkg
YSBoYW5kZnVsIG9mIHBsdWdpbnMgYWNyb3NzIG1vZHVsZXMuCgogICoqRGV2ZWxvcGVycyB3aG8g
aW5zdGFsbCBHU3RyZWFtZXIgZnJvbSBzb3VyY2UgYW5kIGp1c3QgZG8gYG1ha2UgaW5zdGFsbGAq
KgogICoqYWZ0ZXIgdXBkYXRpbmcgdGhlIHNvdXJjZSBjb2RlLCB3aXRob3V0IGRvaW5nIGBtYWtl
IHVuaW5zdGFsbGAgZmlyc3QsIHdpbGwqKgogICoqaGF2ZSB0byBtYW51YWxseSByZW1vdmUgdGhl
IG9sZCBpbnN0YWxsZWQgcGx1Z2luIGZpbGVzIGZyb20gdGhlIGluc3RhbGxhdGlvbioqCiAgKipw
cmVmaXgsIG9yIHRoZXkgd2lsbCBnZXQgJ0Nhbm5vdCByZWdpc3RlciBleGlzdGluZyB0eXBlJyBj
cml0aWNhbCB3YXJuaW5ncy4qKgoKLSBNb3N0IG9mIHRoZSBkb2Nib29rLWJhc2VkIGRvY3VtZW50
YXRpb24gKEZBUSwgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgTWFudWFsLAogIFBsdWdpbiBXcml0
ZXIncyBHdWlkZSwgZGVzaWduIGRvY3VtZW50cykgaGFzIGJlZW4gY29udmVydGVkIHRvIG1hcmtk
b3duIGFuZAogIG1vdmVkIGludG8gYSBuZXcgZ3N0LWRvY3MgbW9kdWxlLiBUaGUgZ3RrLWRvYyBs
aWJyYXJ5IEFQSSByZWZlcmVuY2VzIGFuZAogIHRoZSBwbHVnaW5zIGRvY3VtZW50YXRpb24gYXJl
IHN0aWxsIGJ1aWx0IGFzIHBhcnQgb2YgdGhlIHNvdXJjZSBtb2R1bGVzIHRob3VnaC4KCi0gR1N0
cmVhbWVyIGNvcmUgbm93IG9wdGlvbmFsbHkgdXNlcyBsaWJ1bndpbmQgYW5kIGxpYmR3IHRvIGdl
bmVyYXRlIGJhY2t0cmFjZXMuCiAgVGhpcyBpcyB1c2VmdWwgZm9yIHRyYWNlciBwbHVnaW5zIHVz
ZWQgZHVyaW5nIGRlYnVnZ2luZyBhbmQgZGV2ZWxvcG1lbnQuCgotIFRoZXJlIGlzIGEgbmV3IGBs
aWJnc3RiYWRhbGxvY2F0b3JzLTEuMGAgbGlicmFyeSBpbiBnc3QtcGx1Z2lucy1iYWQgKHdoaWNo
CiAgbWF5IGdvIGF3YXkgYWdhaW4gaW4gZnV0dXJlIHJlbGVhc2VzIG9uY2UgdGhlIGBHc3RQaHlz
TWVtb3J5QWxsb2NhdG9yYAogIGludGVyZmFjZSBBUEkgaGFzIGJlZW4gdmFsaWRhdGVkIGJ5IG1v
cmUgdXNlcnMpLgoKLSBgZ3N0LW9teGAgYW5kIGBnc3RyZWFtZXItdmFhcGlgIG1vZHVsZXMgY2Fu
IG5vdyBhbHNvIGJlIGJ1aWx0IHVzaW5nIHRoZQogIE1lc29uIGJ1aWxkIHN5c3RlbS4KCi0gVGhl
IGBxdGtpdHZpZGVvc3JjYCBlbGVtZW50IGZvciBtYWNPUyB3YXMgcmVtb3ZlZC4gVGhlIEFQSSBp
cyBkZXByZWNhdGVkCiAgc2luY2UgMTAuOSBhbmQgaXQgd2Fzbid0IHNoaXBwZWQgaW4gdGhlIGJp
bmFyaWVzIHNpbmNlIGEgZmV3IHJlbGVhc2VzLgoKIyMgUGxhdGZvcm0tc3BlY2lmaWMgaW1wcm92
ZW1lbnRzCgojIyMgQW5kcm9pZAoKLSBhbmRyb2lkbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBWUDkg
dmlkZW8gZGVjb2RpbmcvZW5jb2RpbmcgYW5kIE9wdXMgYXVkaW8KICBkZWNvZGluZyAod2hlcmUg
c3VwcG9ydGVkKQoKIyMjIE9TL1ggYW5kIGlPUwoKLSBgYXZmdmlkZW9zcmNgLCB3aGljaCByZXBy
ZXNlbnRzIGFuIGlQaG9uZSBjYW1lcmEgb3IsIG9uIGEgTWFjLCBhIHNjcmVlbmNhcHR1cmUKICBz
ZXNzaW9uLCBzbyBmYXIgYWxsb3dlZCB5b3UgdG8gc2VsZWN0IGFuIGlucHV0IGRldmljZSBieSBk
ZXZpY2UgaW5kZXggb25seS4KICBOZXcgQVBJIGFkZHMgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRo
ZSBwb3NpdGlvbiAoZnJvbnQgb3IgYmFjayBmYWNpbmcpIGFuZAogIGRldmljZS10eXBlICh3aWRl
IGFuZ2xlLCB0ZWxlcGhvdG8sIGV0Yy4pLiBGdXJ0aGVybW9yZSwgeW91IGNhbiBub3cgYWxzbwog
IHNwZWNpZnkgdGhlIG9yaWVudGF0aW9uIChwb3J0cmFpdCwgbGFuZHNjYXBlLCBldGMuKSBvZiB0
aGUgdmlkZW9zdHJlYW0uCgojIyMgV2luZG93cwoKLSBgZHg5c2NyZWVuY2Fwc3JjYCBjYW4gbm93
IG9wdGlvbmFsbHkgYWxzbyBjYXB0dXJlIHRoZSBjdXJzb3IuCgojIyBDb250cmlidXRvcnMKCkFs
ZWl4IENvbmNoaWxsbyBGbGFxdWUsIEFsZWphbmRybyBHLiBDYXN0cm8sIEFsZWtzYW5kciBTbG9i
b2Rlbml1aywgQWxleGFuZHJ1CkLEg2x1yJssIEFsZXggQXNobGV5LCBBbmRyZSBNY0N1cmR5LCBB
bmRyZXcsIEFudG9uIEVsaWFzc29uLCBBbnRvbmlvIE9zcGl0ZSwKQXJuYXVkIFZyYWMsIEFydW4g
UmFnaGF2YW4sIEF1csOpbGllbiBaYW5lbGxpLCBBeGVsIE1lbnplbCwgQmVuamFtaW4gT3R0ZSwK
QnJhbmtvIFN1YmFzaWMsIEJyZW5kYW4gU2hhbmtzLCBDYXJsIEthcnN0ZW4sIENhcmxvcyBSYWZh
ZWwgR2lhbmksIENoYW5nQm9rCkNoYWUsIENocmlzIEJhc3MsIENocmlzdGlhbiBTY2hhbGxlciwg
Y2hyaXN0b3BoZWN2ciwgQ2xhdWRpbyBTYWF2ZWRyYSwKQ29yZW50aW4gTm/Dq2wsIERhZyBHdWxs
YmVyZywgRGFuaWVsIEdhcmJhbnpvLCBEYW5pZWwgU2hhaGFmLCBEYXZpZCBFdmFucywKRGF2aWQg
U2NobGVlZiwgRGF2aWQgV2FybWFuLCBEb21pbmlxdWUgTGV1ZW5iZXJnZXIsIERvbmdpbCBQYXJr
LCBEb3VnbGFzCkJhZ25hbGwsIEVkZ2FyZCBMaW1hLCBFZHdhcmQgSGVydmV5LCBFbWVyaWMgR3Jh
bmdlLCBFbnJpY28gSm9ybnMsIEVucmlxdWUKT2Nhw7FhIEdvbnrDoWxleiwgRXZhbiBOZW1lcnNv
biwgRmFiaWFuIE9yY2NvbiwgRmFiaWVuIERlc3Nlbm5lLCBGYWJyaWNlIEJlbGxldCwKRmxvcmVu
dCBUaGnDqXJ5LCBGbG9yaWFuIFp3b2NoLCBGcmFuY2lzY28gVmVsYXpxdWV6LCBGcsOpZMOpcmlj
IERhbGxlYXUsIEdhcmltYQpHYXVyLCBHYXVyYXYgR3VwdGEsIEdlb3JnZSBLaWFnaWFkYWtpcywg
R2VvcmcgTGlwcGl0c2NoLCBHw7ZyYW4gSsO2bnNzb24sIEdyYWhhbQpMZWdnZXR0LCBHdWlsbGF1
bWUgRGVzbW90dGVzLCBHdXJraXJwYWwgU2luZ2gsIEhhaWh1YSBIdSwgSGFubm8gQm9lY2ssIEhh
dmFyZApHcmFmZiwgSGVla3lvdW5nIFNlbywgaG9vbmhlZS5sZWUsIEh5dW5qdW4gS28sIEltcmUg
RcO2cnMsIEnDsWFraSBHYXJjw61hCkV0eGViYXJyaWEsIEphZ2FkaXNoLCBKYWd5dW0gS29vLCBK
YW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpLCBKYW4KU2NobWlkdCwgSmVhbi1DaHJpc3Rv
cGhlIFRyb3RpbiwgSm9jaGVuIEhlbm5lYmVyZywgSm9uYXMgSG9sbWJlcmcsIEpvcmlzClZhbGV0
dGUsIEpvc2VwIFRvcnJhLCBKdWFuIFBhYmxvIFVnYXJ0ZSwgSnVsaWVuIElzb3JjZSwgSsO8cmdl
biBTYWNocywgS29vcApNYXN0LCBLc2VuaWlhIFZhc2lsY2h1aywgTGFycyBXZW5kbGVyLCBsZWln
aDEyM2xpbnV4QGdvb2dsZW1haWwuY29tLCBMdWlzIGRlCkJldGhlbmNvdXJ0LCBMeW9uIFdhbmcs
IE1hcmNpbiBLb2xueSwgTWFyaW51cyBTY2hyYWFsLCBNYXJrIE5hdXdlbGFlcnRzLApNYXRoaWV1
IER1cG9uY2hlbGxlLCBNYXR0aGV3IFdhdGVycywgTWF0dCBTdGFwbGVzLCBNaWNoYWVsIER1dGth
LCBNaWNoYWVsCk9sYnJpY2gsIE1pY2hhZWwgU21pdGgsIE1pY2hhZWwgVHJldHRlciwgTWlndWVs
IFBhcsOtcyBEw61heiwgbmFtYW55YWRhdjEyLCBOZWhhCkFyb3JhLCBOaWNrIEthbGxlbiwgTmlj
b2xhIE11cmlubywgTmljb2xhcyBEZWNoZXNuZSwgTmljb2xhcyBEdWZyZXNuZSwgTmljb2xhcwpI
dWV0LCBOaXJiaGVlayBDaGF1aGFuLCBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMsIE9saXZpZXIg
Q3LDqnRlLCBQYXRyaWNpYQpNdXNjYWx1LCBQZXRlciBLb3JzZ2FhcmQsIFBldGVyIFNlaWRlcmVy
LCBQZXRyIEt1bGhhdnksIFBoaWxpcHBlIE5vcm1hbmQsClBoaWxpcHBlIFJlbm9uLCBQaGlsaXBw
IFphYmVsLCBSYWh1bCBCZWRhcmthciwgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCwKUmlj
YXJkbyBSaWJhbGRhIERlbGdhZG8sIFJpY28gVHpzY2hpY2hob2x6LCDQoNGD0YHQu9Cw0L0g0JjQ
ttCx0YPQu9Cw0YLQvtCyLCBTYW11ZWwgTWFyb3ksClNhbnRpYWdvIENhcm90LU5lbWVzaW8sIFNj
b3R0IEQgUGhpbGxpcHMsIFNlYW4gRHVCb2lzLCBTZWJhc3RpYW4gRHLDtmdlLCBTZXJnZXkKQm9y
b3Zrb3YsIFNldW5naGEgWWFuZywgc2hha2luIGNob3UsIFNvbmcgQmluZywgU8O4cmVuIEp1dWws
IFNyZWVyZW5qCkJhbGFjaGFuZHJhbiwgU3RlZmFuIEtvc3QsIFN0ZWZhbiBTYXVlciwgU3RlcGFu
IFNhbGVuaWtvdmljaCwgU3RpYW4gU2VsbmVzLApTdHVhcnQgV2VhdmVyLCBzdWhhczJnbywgVGhp
YWdvIFNhbnRvcywgVGhpYmF1bHQgU2F1bmllciwgVGhvbWFzIEJsdWVtZWwsClRob21hcyBQZXRh
enpvbmksIFRpbS1QaGlsaXBwIE3DvGxsZXIsIFRpbmctV2VpIExhbiwgVG9iaWFzIE11ZWxsZXIs
IFRvZG9yClRvbW92LCBUb21hc3ogWmFqYWMsIFVsZiBPbHNzb24sIFVyc3VsYSBNYXBsZWh1cnN0
LCBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwsClZpY3RvciBUb3NvLCBWaW5jZW50IFBlbnF1
ZXJjJ2gsIFZpbmVldGggVE0sIFZpbm9kIEtlc3RpLCBWaXRvciBNYXNzYXJ1IEloYSwKVml2aWEg
Tmlrb2xhaWRvdSwgV2VpQ2h1bmdDaGFuZywgV2lsbGlhbSBNYW5sZXksIFdpbSBUYXltYW5zLCBX
b2pjaWVjaApQcnp5YnlsLCBXb25jaHVsIExlZSwgWGF2aWVyIENsYWVzc2VucywgWWFzdXNoaSBT
SE9KSQoKLi4uIGFuZCBtYW55IG90aGVycyB3aG8gaGF2ZSBjb250cmlidXRlZCBidWcgcmVwb3J0
cywgdHJhbnNsYXRpb25zLCBzZW50CnN1Z2dlc3Rpb25zIG9yIGhlbHBlZCB0ZXN0aW5nLgoKIyMg
QnVncyBmaXhlZCBpbiAxLjEyCgpNb3JlIHRoYW4gWzYzNSBidWdzXVtidWdzLWZpeGVkLWluLTEu
MTJdIGhhdmUgYmVlbiBmaXhlZCBkdXJpbmcKdGhlIGRldmVsb3BtZW50IG9mIDEuMTIuCgpUaGlz
IGxpc3QgZG9lcyBub3QgaW5jbHVkZSBpc3N1ZXMgdGhhdCBoYXZlIGJlZW4gY2hlcnJ5LXBpY2tl
ZCBpbnRvIHRoZQpzdGFibGUgMS4xMCBicmFuY2ggYW5kIGZpeGVkIHRoZXJlIGFzIHdlbGwsIGFs
bCBmaXhlcyB0aGF0IGVuZGVkIHVwIGluIHRoZQoxLjEwIGJyYW5jaCBhcmUgYWxzbyBpbmNsdWRl
ZCBpbiAxLjEyLgoKVGhpcyBsaXN0IGFsc28gZG9lcyBub3QgaW5jbHVkZSBpc3N1ZXMgdGhhdCBo
YXZlIGJlZW4gZml4ZWQgd2l0aG91dCBhIGJ1ZwpyZXBvcnQgaW4gYnVnemlsbGEsIHNvIHRoZSBh
Y3R1YWwgbnVtYmVyIG9mIGZpeGVzIGlzIG11Y2ggaGlnaGVyLgoKW2J1Z3MtZml4ZWQtaW4tMS4x
Ml06IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP2J1Z19zdGF0dXM9UkVT
T0xWRUQmYnVnX3N0YXR1cz1WRVJJRklFRCZjbGFzc2lmaWNhdGlvbj1QbGF0Zm9ybSZsaW1pdD0w
Jmxpc3RfaWQ9MjEzMjY1Jm9yZGVyPWJ1Z19pZCZwcm9kdWN0PUdTdHJlYW1lciZxdWVyeV9mb3Jt
YXQ9YWR2YW5jZWQmcmVzb2x1dGlvbj1GSVhFRCZ0YXJnZXRfbWlsZXN0b25lPTEuMTAuMSZ0YXJn
ZXRfbWlsZXN0b25lPTEuMTAuMiZ0YXJnZXRfbWlsZXN0b25lPTEuMTAuMyZ0YXJnZXRfbWlsZXN0
b25lPTEuMTAuNCZ0YXJnZXRfbWlsZXN0b25lPTEuMTEuMSZ0YXJnZXRfbWlsZXN0b25lPTEuMTEu
MiZ0YXJnZXRfbWlsZXN0b25lPTEuMTEuMyZ0YXJnZXRfbWlsZXN0b25lPTEuMTEuNCZ0YXJnZXRf
bWlsZXN0b25lPTEuMTEuOTAmdGFyZ2V0X21pbGVzdG9uZT0xLjExLjkxJnRhcmdldF9taWxlc3Rv
bmU9MS4xMi4wCgojIyBTdGFibGUgMS4xMiBicmFuY2gKCkFmdGVyIHRoZSAxLjEyLjAgcmVsZWFz
ZSB0aGVyZSB3aWxsIGJlIHNldmVyYWwgMS4xMi54IGJ1Zy1maXggcmVsZWFzZXMgd2hpY2gKd2ls
bCBjb250YWluIGJ1ZyBmaXhlcyB3aGljaCBoYXZlIGJlZW4gZGVlbWVkIHN1aXRhYmxlIGZvciBh
IHN0YWJsZSBicmFuY2gsCmJ1dCBubyBuZXcgZmVhdHVyZXMgb3IgaW50cnVzaXZlIGNoYW5nZXMg
d2lsbCBiZSBhZGRlZCB0byBhIGJ1Zy1maXggcmVsZWFzZQp1c3VhbGx5LiBUaGUgMS4xMi54IGJ1
Zy1maXggcmVsZWFzZXMgd2lsbCBiZSBtYWRlIGZyb20gdGhlIGdpdCAxLjEyIGJyYW5jaCwgd2hp
Y2gKaXMgYSBzdGFibGUgYnJhbmNoLgoKIyMjIDEuMTIuMAoKMS4xMi4wIHdhcyByZWxlYXNlZCBv
biA0dGggTWF5IDIwMTcuCgojIyBLbm93biBJc3N1ZXMKCi0gVGhlIGB3ZWJydGNkc3BgIGVsZW1l
bnQgaXMgY3VycmVudGx5IG5vdCBzaGlwcGVkIGFzIHBhcnQgb2YgdGhlIFdpbmRvd3MKICBiaW5h
cnkgcGFja2FnZXMgZHVlIHRvIGEgW2J1aWxkIHN5c3RlbSBpc3N1ZV1bYnVnLTc3MDI2NF0uCgpb
YnVnLTc3MDI2NF06IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03
NzAyNjQKCiMjIFNjaGVkdWxlIGZvciAxLjE0CgpPdXIgbmV4dCBtYWpvciBmZWF0dXJlIHJlbGVh
c2Ugd2lsbCBiZSAxLjE0LCBhbmQgMS4xMSB3aWxsIGJlIHRoZSB1bnN0YWJsZQpkZXZlbG9wbWVu
dCB2ZXJzaW9uIGxlYWRpbmcgdXAgdG8gdGhlIHN0YWJsZSAxLjEyIHJlbGVhc2UuIFRoZSBkZXZl
bG9wbWVudApvZiAxLjEzLzEuMTQgd2lsbCBoYXBwZW4gaW4gdGhlIGdpdCBtYXN0ZXIgYnJhbmNo
LgoKVGhlIHBsYW4gZm9yIHRoZSAxLjE0IGRldmVsb3BtZW50IGN5Y2xlIGlzIHlldCB0byBiZSBj
b25maXJtZWQsIGJ1dCBpdCBpcwpleHBlY3RlZCB0aGF0IGZlYXR1cmUgZnJlZXplIHdpbGwgYmUg
YXJvdW5kIFNlcHRlbWJlciAyMDE3CmZvbGxvd2VkIGJ5IHNldmVyYWwgMS4xMyBwcmUtcmVsZWFz
ZXMgYW5kIHRoZSBuZXcgMS4xNCBzdGFibGUgcmVsZWFzZQppbiBPY3RvYmVyLgoKMS4xNCB3aWxs
IGJlIGJhY2t3YXJkcy1jb21wYXRpYmxlIHRvIHRoZSBzdGFibGUgMS4xMiwgMS4xMCwgMS44LCAx
LjYsIDEuNCwKMS4yIGFuZCAxLjAgcmVsZWFzZSBzZXJpZXMuCgotIC0gLQoKKlRoZXNlIHJlbGVh
c2Ugbm90ZXMgaGF2ZSBiZWVuIHByZXBhcmVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UsIFRpbS1QaGls
aXBwIE3DvGxsZXIKYW5kIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbC4qCgoqTGljZW5zZTog
W0NDIEJZLVNBIDQuMF0oaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2Ev
NC4wLykqCm==


--=-vMOSK/VkuoXOMXEF4zUG--

--=-M+llD6ZcUJJIJbU77IaB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iQKTBAABCgB9FiEEf0vHzDygb5cza7/rBmjMFIbC17UFAlkLTG9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDdG
NEJDN0NDM0NBMDZGOTczMzZCQkZFQjA2NjhDQzE0ODZDMkQ3QjUACgkQBmjMFIbC
17UDdQ/8DCy/5aRpIIyDGIQJa84iw0W+BTVuJGSC+jiWuWhZfR8o8IXxaEAwGSiM
When3a0zOFHa2wbHY7qkXibhI3fjewMM+YPO2jdS8XSyoF7DQXd0rCeyM1s4PLZY
fq+9mNxKBBumpx2FD1LLYvsvA/KgPuuvHXdeZgoykPp2RnXyiNGuReZ0FLBHcflL
V9DA5EgPVziAze0JHU27CpXGZ3rqgNczgdcxvaoYkNZV2mc0dsxuGedhFE/QRXov
GLuiqRUxOX11bj4SqXOvaTdYseIe4sdGXdgiNzHSuDyxkBy1WfvR0G2Qbhlkugk5
Jn59ZRMg0lEgxsXoAvmSQOgKkiYGFC7Yk5j/JdgUsDXYdFMEkh1s+CohtvtuGwJt
8SWqa05vA3+iTci7UzVc/U6vKVtTwMS0vzjhprZRUhzBFx+pNc25y6hxRny35Xzy
vDaZGm98b1f+3IxmQC0T60QMXYVnyJf3BHDYpqojFVe+HBsxdmOxKeDSbSXPwu5E
krvzD67qmiNBrMG8cB6Q/yCi1u+n6R2wq+lg7YV0EE/ot+HRtbOyxwlBW1lIVA4n
X14iKH5WgYcCqECExKFDbrk96/6Ear20yljwbUEnTCg6jpDtnM+Jn5oKLmldPvjX
KrQCqmyBsvAouXLNyzBrodqcCoik6klgr1uoOsYMjxeMhgnGuMI=
=ezEd
-----END PGP SIGNATURE-----

--=-M+llD6ZcUJJIJbU77IaB--


--===============1063011111==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZ3N0cmVhbWVy
LWRldmVsIG1haWxpbmcgbGlzdApnc3RyZWFtZXItZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn
Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZ3N0cmVhbWVy
LWRldmVsCg==

--===============1063011111==--