Re: EPICS ioc with RTEMS on Raspberry Pi

Gedare Bloom <[email protected]> Tue, 19 May 2026 16:17:55 -0600
Newsgroups gmane.os.rtems.user
Message-ID <CAC82fA3kFp2kokbgYBvjA7UVD1rELv_3wJXTPOmbdHJH43=SEg@mail.gmail.com>
SnVzdCBhIHF1aWNrIG5vdGUgdGhhdCB0aGUgcHJlZmVycmVkIHZlbnVlIGZvciBjb21tdW5pdHkg
ZW5nYWdlbWVudCBpcwpzaGlmdGluZyB0b3dhcmQgaHR0cHM6Ly91c2Vycy5ydGVtcy5vcmcKCkkg
dGhpbmsgdGhlIFJQaTQgaXMgbWF0dXJpbmcgcXVpdGUgcmFwaWRseS4gV2UgaGF2ZSBhIEdTb0Mg
cHJvamVjdApmb2N1c2VkIG9uIGl0IGFzIHdlbGwuCgpsd0lQIG1pZ2h0IGFsc28gYmUgYW4gb3B0
aW9uIHRvIGNvbnNpZGVyLgoKT24gRnJpLCBNYXkgOCwgMjAyNiBhdCA0OjAw4oCvUE0gTWlyb3Ns
YXcgRGFjaCA8bWlyb3NsYXcuZGFjaEBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gSGkgSm9obiwKPgo+
IE1hbnkgVGhhbmtzIGZvciB5b3VyIHJlcGx5IGFuZCBhbGwgb2YgdGhlIGhpbnRzLiBJdCBsb29r
cyBsaWtlIHRoYXQgYXQgcHJlc2VudCB0aGVyZSBpcyBubyBnb29kIHNvbHV0aW9uIHRvIHVzZSBS
VEVNUyBvbiBSUGkgMyBiKyBkdWUgdG8gdGhlIGlzc3VlIHdpdGggdGhlCj4gdXNiLU5ldHdvcmsg
YnJpZGdlLiBUaGUgbW9zdCBwcm9taXNpbmcgYXBwcm9hY2ggd291bGQgYmUgdG8gdXNlIHRoZSBQ
UmkgdjQgb3IgdjUgIHNpbmNlIHRoZSBuZXR3b3JrIGNoaXAgaXMgZGlyZWN0bHkgY29ubmVjdGVk
IHRvIHRoZSBzeXN0ZW0gYnV0IHRoZSBCU1AgaXMgbm90IHlldCBjb21wbGV0ZSBmb3IgUlRFTVMg
c28gbWF5YmUgaW4gdGhlIGZ1dHVyZS4KPgo+IEJlc3QgUmVnYXJkcwo+IE1pcmVrCj4KPiBzb2Iu
LCAyNSBrd2kgMjAyNiBvIDEwOjM3IEpvaG4gSG93YXJkIDxlY2hvc29mdC5sbGNAZ21haWwuY29t
PiBuYXBpc2HFgihhKToKPj4KPj4gSGkgTWlyZWssCj4+Cj4+IEkgZG9uJ3Qga25vdyB3aGF0IHRv
IHRlbGwgeW91IGFib3V0IHRoaXMgaXNzdWUuIFlvdSBrbm93IG1vcmUgYWJvdXQgdGhlIGRldGFp
bHMgdGhhbiBJIGRvLgo+Pgo+PiAoSSBkb24ndCBrbm93IHdoYXQgRVBJQ1MgSU9DIGRvZXMuKQo+
Pgo+PiBJIGtuZXcgUlRFTVMgZGlkbid0IHVzZSBGSVEsIGJ1dCBJIGFzc3VtZWQgYSAzMi82NC1i
aXQgRnJlZUJTRCBmb3IgUmFzcGJlcnJ5IFBpIGRpZG4ndCBlaXRoZXIuIFdoeSBub3QgYSBjb250
aW51aW5nIEZJUSBpc3N1ZSBvbiB0aGVpciBtYWlsaW5nIGxpc3QgYWZ0ZXIgYWxsIHRoaXMgdGlt
ZT8gSSBoYXZlbid0IHVzZWQgRnJlZUJTRCBmb3IgUlBpICh0b28gbWFueSBzZWN1cml0eSBob2xl
cyB0byBtZSkuIEkgdXNlIERlYmlhbiBCdWxsc2V5ZSBmb3IgbXkgM0IrIGFuZCBJIGFtIG5vdCBo
YXBweSB3aXRoIExpbnV4Lgo+Pgo+PiBJIGRvbid0IGV4cGVjdCB0aGlzIHRvIG9jY3VyIG9uIFJQ
aSBaZXJvIDIgVyBiZWNhdXNlIGl0IGxhY2tzIHRoZSBFdGhlcm5ldCBzdWJzeXN0ZW0gYW5kIGhh
cyBhIG5ld2VyIHJldmlzaW9uIG9mIHRoZSAzQisgc3Vic3lzdGVtLiAoSSB3aWxsIGRlYWwgd2l0
aCBpdCBsYXRlciBkdXJpbmcgbXkgYXBwIHRlc3RpbmcgcGhhc2UuKQo+Pgo+PiBJIGFtIG5vdCB0
aGUgQ09ERU9XTkVSIGF0IFJURU1TLm9yZyBmb3IgdGhhdCBEeW5hd2FyZS9TeW5vcHNpcyBkcml2
ZXIuCj4+Cj4+IEkgZG8ga25vdyB0aGF0IFN5bm9wc2lzIHJlbGVhc2VkIGl0IHVubGljZW5zZWQg
QVMgSVMgYnV0IGlzIHdpbGxpbmcgdG8gbGljZW5zZSBpdCB1bmRlciBvYmxpZ2F0aW9uIGZvciB0
aGVpciBjdXN0b21lcnMuCj4+Cj4+IEkgcmVjZW50bHkgbG9va2VkIGF0IGFuIGFsdGVybmF0aXZl
IGtlcm5lbCBtZW1vcnkgbWFwIGRvY3VtZW50IHdoZXJlIEZJUSBzdGFja3MgYXJlIHByZXNlbnQg
Zm9yIFJQaSAzQisgd2hlbiBBYXJjaDMyLCBidXQgSSBjYW4ndCBmaW5kIHRoZW0gd2hlbiBBYXJj
aDY0IHdoaWNoIHN0YW5kYXJkaXplZCBjYWxsaW5nIGNvbnZlbnRpb25zLgo+Pgo+PiBTb3JyeSBJ
IGNvdWxkbid0IGJlIG9mIG11Y2ggaGVscCB0byB5b3Ugb24gdGhpcyBpc3N1ZS4gRGVhbGluZyB3
aXRoIEZJUSBoYW5kbGluZyBpcyBhcyBpZGlvc3luY3JhdGljIGFzIGl0IGdldHMgb24gUmFzcGJl
cnJ5IFBpIGFuZCBpcyBhIGRlYWwtYnJlYWtlciB0byBtZS4KPj4KPj4gLS0gSm9obgo+Pgo+PiBP
biBBcHIgMjIsIDIwMjYsIGF0IDEwOjI44oCvUE0sIE1pcm9zbGF3IERhY2ggPG1pcm9zbGF3LmRh
Y2hAZ21haWwuY29tPiB3cm90ZToKPj4KPj4g77u/Cj4+IEhpIEpvaG4sCj4+Cj4+IFRoYW5rcyBm
b3IgeW91ciBlLW1haWwgYW5kIHlvdXIgc3VnZ2VzdGlvbi4KPj4KPj4gRm9sbG93LXVwIHRvIG15
IGVhcmxpZXIgcmVwb3J0IGFib3V0IHRoZSBEV0MgT1RHIFVTQiBoYW5nIG9uIFJQaSAzQisKPj4g
d2l0aCBSVEVNUyA2LiBJJ3ZlIGRvbmUgZXh0ZW5zaXZlIGluc3RydW1lbnRhdGlvbiBhbmQgYXBw
bGllZCBCQ00yODM1LQo+PiBzcGVjaWZpYyBlcnJhdGEgd29ya2Fyb3VuZHMgZnJvbSB0aGUgTGlu
dXggZHdjMiBkcml2ZXIuIEhlcmUgYXJlIHRoZQo+PiBjb21wbGV0ZSBmaW5kaW5nczoKPj4KPj4g
SSBhZGRlZCBkaWFnbm9zdGljIGNvdW50ZXJzICgjaWZkZWYgX19ydGVtc19fKSB0byB0aGUgRnJl
ZUJTRCBkd2Nfb3RnCj4+IGRyaXZlciwgcHJpbnRlZCBldmVyeSAxIHNlY29uZCBmcm9tIHRoZSAx
MG1zIHRpbWVyIGNhbGxiYWNrOgo+Pgo+PiAtIHlsZDogICB0aW1lcyBkd2Nfb3RnX2ludGVycnVw
dF9wb2xsX2xvY2tlZCgpIGhpdCBpdHMgMTYtaXRlcmF0aW9uIGNhcAo+PiAtIGFmYWlsOiB0aW1l
cyBkd2Nfb3RnX2hvc3RfY2hhbm5lbF9hbGxvYygpIGZhaWxlZCAobm8gZnJlZSBjaGFubmVscykK
Pj4gLSBob2s6ICAgc3VjY2Vzc2Z1bCBoYWx0IGNvbXBsZXRpb25zIHByb2Nlc3NlZAo+PiAtIHJ4
ZDogICBSWCBkYXRhIGRpc2NhcmRlZCAobm8gYWN0aXZlIGVuZHBvaW50IGxpc3RlbmluZykKPj4g
LSBzdHVjazogY2hhbm5lbHMgd2l0aCB3YWl0X2hhbHRlZD0xIGJ1dCBhbGxvY2F0ZWQ9MCAobGVh
a2VkIGNoYW5uZWxzKQo+PiAtIGZpbHQ6ICBmaWx0ZXIgSVNSIGVudHJ5L2V4aXQgY291bnQgKHRv
IGRldGVjdCBzdHVjayBJU1IpCj4+IC0gdGhyOiAgIHRocmVhZCBoYW5kbGVyIGVudHJ5L2V4aXQg
Y291bnQKPj4gLSBnaTogICAgbGFzdCBHSU5UU1RTIHJlZ2lzdGVyIHZhbHVlCj4+Cj4+IFJlc3Vs
dHM6IGNoYW5uZWwgZXhoYXVzdGlvbiB0aGVvcnkgRElTUFJPVkVECj4+IEFjcm9zcyBhbGwgdGVz
dHMsIGV2ZXJ5IGNvdW50ZXIgcmVtYWluZWQgcGVyZmVjdGx5IGhlYWx0aHkgcmlnaHQgdXAgdG8K
Pj4gdGhlIGluc3RhbnQgb2YgdGhlIGZyZWV6ZToKPj4KPj4gICBEV0NfT1RHIHQ9MTc1MDA6IHls
ZD0wIGFmYWlsPTAgaG9rPTE4MDAzOCByeGQ9MCBjaD04LzE2Cj4+ICAgICAgIGFsbG9jPTAgd2g9
MCBzdHVjaz0wIGZpbHQ9NzM4MTc4LzczODE3OCB0aHI9NzI4MC83MjgwCj4+ICAgICAgIGdpPTB4
MDQwMDAwMzEKPj4KPj4gLSB5bGQ9MDogICAgIHRoZSAxNi1pdGVyYXRpb24gcG9sbCBsb29wIGNh
cCB3YXMgTkVWRVIgaGl0Cj4+IC0gYWZhaWw9MDogICBjaGFubmVsIGFsbG9jYXRpb24gTkVWRVIg
ZmFpbGVkCj4+IC0gc3R1Y2s9MDogICBOTyBjaGFubmVscyBldmVyIGxlYWtlZCAod2FpdF9oYWx0
ZWQgd2FzIGFsd2F5cyBjbGVhcmVkKQo+PiAtIGZpbHQgYmFsYW5jZWQ6IGZpbHRlciBJU1IgZW50
ZXJlZCBhbmQgZXhpdGVkIHRoZSBzYW1lIG51bWJlciBvZiB0aW1lcwo+PiAtIHRociBiYWxhbmNl
ZDogIHRocmVhZCBoYW5kbGVyIGVudGVyZWQgYW5kIGV4aXRlZCB0aGUgc2FtZSBudW1iZXIgb2Yg
dGltZXMKPj4gLSBnaT0weDA0MDAwMDMxOiBiZW5pZ24gKGhvc3QgbW9kZSArIFRYIEZJRk9zIGVt
cHR5ICsgUlggRklGTyBub24tZW1wdHkpCj4+Cj4+IFRoZSB+MTA1NCBoYWx0IGNvbXBsZXRpb25z
L3NlY29uZCB3ZXJlIHN0ZWFkeSB3aXRoIG5vIGRlZ3JhZGF0aW9uLgo+Pgo+PiBSZXN1bHRzOiB0
b3RhbCBDUFUgZnJlZXplLCBub3Qgc29mdHdhcmUgZGVhZGxvY2sKPj4KPj4gSSBhbHNvIHRyaWVk
IGFuIGluZGVwZW5kZW50IFJURU1TIHRpbWVyIChydGVtc190aW1lcl9maXJlX2FmdGVyKSBhcyBh
Cj4+IGhlYXJ0YmVhdCwgZmlyaW5nIG91dHNpZGUgdGhlIFVTQiBidXMgbG9jay4gQm90aCB0aGUg
VVNCIHRpbWVyIGFuZCB0aGUKPj4gaW5kZXBlbmRlbnQgaGVhcnRiZWF0IHN0b3BwZWQgc2ltdWx0
YW5lb3VzbHksIGNvbmZpcm1pbmcgdGhlIGVudGlyZSBBUk0KPj4gY29yZSBmcmVlemVzIOKAlCBu
b3QganVzdCB0aGUgVVNCIHN1YnN5c3RlbS4KPj4KPj4gTm8gUlRFTVMgZmF0YWwgZXJyb3IgaGFu
ZGxlciB3YXMgdHJpZ2dlcmVkIChJIGluc3RhbGxlZCBvbmUgdmlhCj4+IENPTkZJR1VSRV9JTklU
SUFMX0VYVEVOU0lPTlMpLiBUaGlzIG1lYW5zIGl0IGlzIE5PVCBhIHN0YW5kYXJkIEFSTQo+PiBk
YXRhIGFib3J0IOKAlCB0aGUgQ1BVIHNpbXBseSBzdG9wcyBleGVjdXRpbmcsIGxpa2VseSBkdWUg
dG8gYW4gQUhCIGJ1cwo+PiBsb2NrdXAgY2F1c2VkIGJ5IHRoZSBEV0MgT1RHIGNvbnRyb2xsZXIg
aGFyZHdhcmUuCj4+Cj4+IEJDTTI4MzUgZXJyYXRhIHdvcmthcm91bmRzIGFwcGxpZWQKPj4KPj4g
QmFzZWQgb24gdGhlIExpbnV4IGR3YzIgZHJpdmVyIChwYXJhbXMuYywgY29yZS5jKSBhbmQgdGhl
IFVsdGlibwo+PiBwcm9qZWN0IGRvY3VtZW50YXRpb24sIEkgYXBwbGllZCB0aHJlZSB3b3JrYXJv
dW5kczoKPj4KPj4gMS4gRklGTyBzaXplIGNhcDogQkNNMjgzNSBoYXJkd2FyZSByZXBvcnRzIDQw
OTYgd29yZHMgYnV0IG9ubHkgNDA4MAo+PiAgICBleGlzdC4gQ2FwIHNjX2ZpZm9fc2l6ZSB0byA0
MDgwKjQgYnl0ZXMgdG8gcHJldmVudCBGSUZPIG92ZXJydW4uCj4+ICAgIChJbiBwcmFjdGljZSwg
dGhlIGhhcmR3YXJlIG9uIG15IGJvYXJkIHJlcG9ydGVkIDw9IDQwODAsIHNvIHRoaXMKPj4gICAg
Y2FwIHdhcyBOT1QgdHJpZ2dlcmVkLikKPj4KPj4gMi4gR0FIQkNGRyBBSEIgYnVyc3QgY29uZmln
dXJhdGlvbjogQnJvYWRjb20gcmVkZWZpbmVkIGJpdHMgWzQ6MV0gb2YKPj4gICAgR0FIQkNGRyBm
b3IgQVhJIGJ1cnN0IGNvbnRyb2wuIExpbnV4IGR3YzIgc2V0cyBhaGJjZmc9MHgxMCBmb3IKPj4g
ICAgQkNNMjgzNS4gQ2hhbmdlZCBmcm9tIEdBSEJDRkdfR0xCTElOVFJNU0sgKDB4MDEpIHRvIDB4
MTEuCj4+Cj4+IDMuIEFIQiBpZGxlIHdhaXQgYWZ0ZXIgY29yZSByZXNldDogQWRkZWQgYSBsb29w
IHdhaXRpbmcgZm9yCj4+ICAgIEdSU1RDVExfQUhCSURMRSBhZnRlciBHUlNUQ1RMX0NTRlRSU1Qs
IHBsdXMgMjUwbXMgc2V0dGxpbmcgZGVsYXkKPj4gICAgKExpbnV4IGR3YzIgdXNlcyAxMDArIG1z
KS4KPj4KPj4gUmVzdWx0cyB3aXRoIHdvcmthcm91bmRzOgo+PiAtIEJlZm9yZTogaGFuZ3MgYWZ0
ZXIgfjg2IHNlY29uZHMgKDIga0h6IHRpY2spCj4+IC0gQWZ0ZXI6ICBoYW5ncyBhZnRlciB+MTc1
IHNlY29uZHMgKDIga0h6IHRpY2spCj4+Cj4+IFRoZSB3b3JrYXJvdW5kcyBhcHByb3hpbWF0ZWx5
IGRvdWJsZWQgdGhlIHRpbWUtdG8taGFuZyBidXQgZGlkIE5PVAo+PiBlbGltaW5hdGUgaXQuIEFs
bCBzb2Z0d2FyZSBjb3VudGVycyByZW1haW5lZCBoZWFsdGh5IHRocm91Z2hvdXQuCj4+Cj4+IFRo
ZSBoYW5nIGlzIGNhdXNlZCBtb3N0IHByb2JhYmx5IGJ5IGEgY29tYmluYXRpb24gb2YgZmFjdG9y
czoKPj4KPj4gMS4gVGhlIERXQyBPVEcgY29udHJvbGxlciBvbiBCQ00yODM1L0JDTTI4MzcgcmVx
dWlyZXMgc3ViLTEyNcK1cwo+PiAgICBpbnRlcnJ1cHQgcmVzcG9uc2UgdGltZXMgZm9yIFVTQiBz
cGxpdCB0cmFuc2FjdGlvbiBwaGFzZXMgKFN0YXJ0Cj4+ICAgIFNwbGl0IOKGkiBDb21wbGV0ZSBT
cGxpdCB0aHJvdWdoIHRoZSBVU0IgaHViKS4gVGhlIFJQaSAzQisgRXRoZXJuZXQKPj4gICAgZ29l
cyB0aHJvdWdoIGEgVVNCIGh1YiAoTEFONzUxNSksIG1ha2luZyBldmVyeSBwYWNrZXQgYSBzcGxp
dAo+PiAgICB0cmFuc2FjdGlvbi4KPj4KPj4gMi4gVGhlIExpbnV4IGtlcm5lbCBhZGRyZXNzZXMg
dGhpcyB3aXRoIGEgZGVkaWNhdGVkIEZJUSAoRmFzdCBJbnRlcnJ1cHQKPj4gICAgUmVxdWVzdCkg
aGFuZGxlciAoZHdjX290Z19maXFfZnNtLmMpIHRoYXQgZXhlY3V0ZXMgY29tcGxldGUgc3BsaXQK
Pj4gICAgdHJhbnNhY3Rpb25zIGluIEZJUSBjb250ZXh0LCBieXBhc3NpbmcgdGhlIG5vcm1hbCBp
bnRlcnJ1cHQgc3RhY2suCj4+ICAgIFdpdGhvdXQgRklRLCAiY2VydGFpbiBVU0IgZGV2aWNlcyBi
ZWNvbWUgY29tcGxldGVseSB1bnVzYWJsZS4iCj4+Cj4+IDMgVGhlIEZyZWVCU0QgZHdjX290ZyBk
cml2ZXIgdXNlZCBieSBSVEVNUyBoYW5kbGVzIGFsbCBzcGxpdAo+PiAgICB0cmFuc2FjdGlvbnMg
aW4gbm9ybWFsIGludGVycnVwdCBjb250ZXh0LiBPbiBSVEVNUywgdGhlIGludGVycnVwdAo+PiAg
ICBmaWx0ZXIgYW5kIHRocmVhZCBoYW5kbGVyIHJ1biBiYWNrLXRvLWJhY2sgaW4gdGhlIGludGVy
cnVwdCBzZXJ2ZXIKPj4gICAgdGFzayAobmV4dXNfaW50cl93aXRoX2ZpbHRlciBpbiBydGVtcy1r
ZXJuZWwtbmV4dXMuYyksIHdpdGggbm8KPj4gICAgcHJlZW1wdGlvbiBwb2ludCBiZXR3ZWVuIHRo
ZW0uCj4+Cj4+IDQgV2hlbiB0aGUgY29udHJvbGxlcidzIHNwbGl0IHRyYW5zYWN0aW9uIHRpbWlu
ZyBpcyB2aW9sYXRlZCwgaXQKPj4gICAgZW50ZXJzIGFuIHVucmVjb3ZlcmFibGUgc3RhdGUgdGhh
dCBsb2NrcyB0aGUgQUhCIGJ1cywgZnJlZXppbmcgdGhlCj4+ICAgIGVudGlyZSBBUk0gY29yZSBp
bmNsdWRpbmcgVUFSVCBhbmQgc3lzdGVtIHRpbWVycy4KPj4KPj4gVGhlIHRpbWluZyBjb3JyZWxh
dGlvbiB3aXRoIHRpY2sgcmF0ZSBjb25maXJtcyB0aGlzOiBoaWdoZXIgdGljayByYXRlCj4+ID0g
bW9yZSBmcmVxdWVudCBzY2hlZHVsaW5nID0gbW9yZSBpbnRlcnJ1cHQgbGF0ZW5jeSBqaXR0ZXIg
PSBmYXN0ZXIKPj4gdGltaW5nIHZpb2xhdGlvbi4KPj4KPj4gQSBwcm9wZXIgZml4IHJlcXVpcmVz
IG1vc3QgcHJvYmFibHkgaW1wbGVtZW50aW5nIEZJUS1iYXNlZCBzcGxpdCB0cmFuc2FjdGlvbiBo
YW5kbGluZwo+PiBpbiB0aGUgUlRFTVMgQlNQIGZvciBCQ00yODM1L0JDTTI4MzcsIHNpbWlsYXIg
dG8gd2hhdCBMaW51eCBkb2VzIGluCj4+IGR3Y19vdGdfZmlxX2ZzbS5jLiBUaGlzIGlzIGEgc2ln
bmlmaWNhbnQgdW5kZXJ0YWtpbmcgYnV0IGlzIGVzc2VudGlhbAo+PiBmb3IgcmVsaWFibGUgVVNC
IG9wZXJhdGlvbiBvbiBSUGkgM0IrIChhbmQgUlBpIFplcm8gMiBXLCB3aGljaCB1c2VzCj4+IHRo
ZSBzYW1lIFNvQykuCj4+Cj4+IFRoZSBHQUhCQ0ZHIGFuZCByZXNldCBzZXF1ZW5jZSB3b3JrYXJv
dW5kcyBzaG91bGQgYWxzbyBiZSBhcHBsaWVkIGFzCj4+IHRoZXkgaW1wcm92ZSBzdGFiaWxpdHku
Cj4+Cj4+IFBsZWFzZSBnaXZlIG1lIHlvdXIgdGhvdWdodHMgb24gdGhhdC4gTWF5YmUgaXQgaXMg
ZWFzaWVyIHRvIGZpbmFsaXNlIHRoZSBCU1AgZm9yIFJQaSA0IGFuZCA1Pwo+Pgo+PiBCZXN0IFJl
Z2FyZHMKPj4gTWlyZWsKPj4KPj4gxZtyLiwgMjIga3dpIDIwMjYgbyAxMzoxNyBKb2huIEhvd2Fy
ZCA8ZWNob3NvZnQubGxjQGdtYWlsLmNvbT4gbmFwaXNhxYIoYSk6Cj4+Pgo+Pj4gRmFzY2luYXRp
bmcuIFRoYW5rcyBmb3IgdGhhdCBkZXRhaWxlZCByZXBvcnQuCj4+Pgo+Pj4gWW91IGluZGljYXRl
ZCBVU0IgZW51bWVyYXRpbmcgY29udGludWVzIHJ1bm5pbmcgaW4gdGhlIGJhY2tncm91bmQuCj4+
Pgo+Pj4gSSBhbSBlZHVjYXRlZC1ndWVzc2luZyB0aGF0IGEgY291bnRlciBtYXhpbXVtIGlzIHJl
YWNoZWQsIGFuZCB0aGVuIG1pc3Rha2VubHkgYnJlYWNoZWQuIEkgd291bGQgbG9vayBmb3IgYSB0
ZXN0IG9mIHRoYXQgY291bnRlciBhbmQgY29ycmVjdCBpdCBmcm9tIGFsbG93aW5nIGdyZWF0ZXIt
dGhhbiBjb21wYXJpbmcuCj4+Pgo+Pj4gTGV0IHVzIGtub3cgaG93IGl0IHR1cm5zIG91dC4KPj4+
Cj4+PiBJIGFtIGRldmVsb3BpbmcgYW4gYXBwIGZvciBSYXNwYmVycnkgUGkgWmVybyAyIFcgKHN0
cmlwcGVkLWRvd24gM0IrKS4gSSB3YXNuJ3QgZXhwZWN0aW5nIGFueSBwb3RlbnRpYWwgcHJvYmxl
bSBsaWtlIHRoaXMuCj4+Pgo+Pj4gLS0gSm9obgo+Pj4KPj4+ID4gT24gQXByIDIyLCAyMDI2LCBh
dCAxOjI14oCvUE0sIE1pcm9zbGF3IERhY2ggPG1pcm9zbGF3LmRhY2hAZ21haWwuY29tPiB3cm90
ZToKPj4+ID4KPj4+ID4g77u/Cj4+PiA+IEhpIEFsbCwKPj4+ID4KPj4+ID4gSSdtIHJ1bm5pbmcg
YW4gRVBJQ1MgaW9jIHNlcnZlciAoRVBJQ1MgNy4wLjEwKSAgd2l0aCBSVEVNUyA2LjIgb24gYSBS
YXNwYmVycnkgUGkgM0IrIHdpdGggcnRlbXMtbGliYnNkICAoNi1mcmVlYnNkLTE0KSBhbmQKPj4+
ID4gZW5jb3VudGVyaW5nIGEgcmVwcm9kdWNpYmxlIHN5c3RlbSBoYW5nIGFmdGVyIHNldmVyYWwg
bWludXRlcyBvZiBvcGVyYXRpb24uCj4+PiA+IFRocm91Z2ggc3lzdGVtYXRpYyBlbGltaW5hdGlv
biB0ZXN0aW5nIEkndmUgbmFycm93ZWQgdGhlIHJvb3QgY2F1c2UgdG8gdGhlCj4+PiA+IERXQyBP
VEcgVVNCIGNvbnRyb2xsZXIgZHJpdmVyLiBJJ2QgYXBwcmVjaWF0ZSBhbnkgcmVjb21tZW5kYXRp
b25zIG9uIGhvdwo+Pj4gPiB0byBhZGRyZXNzIHRoaXMuIEkgY2FuIG9mIGNvdXJzZSB1c2UgdGhl
IEVQSUNTIGlvYyBzZXJ2ZXIgdW5kZXIgbGludXggb24gUlBpIGJ1dCBqdXN0IHRyaWVkIHRvIGhh
dmUgdGhlIFJURU1TIC0gSGFyZCByZWFsIHRpbWUgc3lzdGVtIHdoaWNoIGlzIG11Y2ggbW9yZSBk
ZXRlcm1pbmlzdGljLgo+Pj4gPiBUaGUgYm9vdCB0aW1lIGZvciB0aGUgUlBpIHdpdGggRVBJQ1Mv
UlRFTVMgaXMgYXJvdW5kIDcgc2VjIHdoaWNoIGlzIGV4dHJlbWVseSBmYXN0IQo+Pj4gPgo+Pj4g
PiBFbnZpcm9ubWVudAo+Pj4gPiAtLS0tLS0tLS0tLQo+Pj4gPiAtIEJvYXJkOiBSYXNwYmVycnkg
UGkgM0IrIChCQ00yODM3LCBib2FyZHJldiBhMDIwZDMpCj4+PiA+IC0gUlRFTVM6IHJ0ZW1zLTYu
MiAoQVJNL0FSTXY0L3Jhc3BiZXJyeXBpMikKPj4+ID4gLSBOZXR3b3JrIHN0YWNrOiBydGVtcy1s
aWJic2QgKFJURU1TX0JTRF9DT05GSUdfQlNQX0NPTkZJRyArIFJURU1TX0JTRF9DT05GSUdfSU5J
VCkKPj4+ID4gLSBFdGhlcm5ldDogTEFONzUxNSBVU0IgRXRoZXJuZXQgKG11Z2UgZHJpdmVyLCB2
aWEgRFdDIE9URykKPj4+ID4gLSBBcHBsaWNhdGlvbjogRVBJQ1MgSU9DIChidXQgaGFuZyBvY2N1
cnMgd2l0aCBtaW5pbWFsL2VtcHR5IElPQyBhcyB3ZWxsKQo+Pj4gPiAtIENvbnNvbGU6IFVBUlQg
c2VyaWFsICgvZGV2L3R0eVMwKQo+Pj4gPgo+Pj4gPiBTeW1wdG9tCj4+PiA+IC0tLS0tLS0KPj4+
ID4gVGhlIHN5c3RlbSBib290cyBhbmQgcnVucyBub3JtYWxseSwgdGhlbiB0aGUgZW50aXJlIHN5
c3RlbSBmcmVlemVzIOKAlAo+Pj4gPiBpbmNsdWRpbmcgdGhlIFVBUlQgc2VyaWFsIGNvbnNvbGUg
KHdoaWNoIGlzIG5vdCBVU0ItZGVwZW5kZW50KS4gTm8gY3Jhc2gKPj4+ID4gbWVzc2FnZSwgbm8g
c3RhY2sgZHVtcCDigJQgYSBoYXJkIGhhbmcgcmVxdWlyaW5nIHBvd2VyIGN5Y2xlLgo+Pj4gPgo+
Pj4gPiBUaGUgdGltZS10by1oYW5nIGRlcGVuZHMgb24gdGhlIHN5c3RlbSB0aWNrIHJhdGU6Cj4+
PiA+IC0gQ09ORklHVVJFX01JQ1JPU0VDT05EU19QRVJfVElDSz01MDAgICgyIGtIeik6IGhhbmdz
IGFmdGVyIH4yIG1pbnV0ZXMKPj4+ID4gLSBDT05GSUdVUkVfTUlDUk9TRUNPTkRTX1BFUl9USUNL
PTEwMDAwICgxMDAgSHopOiBoYW5ncyBhZnRlciB+NS02IG1pbnV0ZXMKPj4+ID4KPj4+ID4gRHVy
aW5nIHRoZSBoYW5nLCB0aGUgVUFSVCBiZWNvbWVzIGNvbXBsZXRlbHkgdW5yZXNwb25zaXZlLCBz
dWdnZXN0aW5nIGEKPj4+ID4ga2VybmVsLWxldmVsIGRlYWRsb2NrIG9yIGludGVycnVwdCBoYW5k
bGVyIGlzc3VlIHJhdGhlciB0aGFuIGFuCj4+PiA+IGFwcGxpY2F0aW9uLWxldmVsIHByb2JsZW0u
Cj4+PiA+Cj4+PiA+IEVsaW1pbmF0aW9uIHRlc3RpbmcgcGVyZm9ybWVkCj4+PiA+IC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+PiA+IEkgc3lzdGVtYXRpY2FsbHkgZGlzYWJsZWQgY29t
cG9uZW50cyB0byBpc29sYXRlIHRoZSBjYXVzZS4gQWxsIHRlc3RzIGJlbG93Cj4+PiA+IHVzZWQg
Q09ORklHVVJFX01JQ1JPU0VDT05EU19QRVJfVElDSz0xMDAwMCAoMTAwIEh6KToKPj4+ID4KPj4+
ID4gMS4gRGlzYWJsZWQgYWxsIEVQSUNTIGRhdGFiYXNlIHJlY29yZHMgKG5vIHJlY29yZCBwcm9j
ZXNzaW5nKSAtPiBzdGlsbCBoYW5ncwo+Pj4gPiAyLiBEaXNhYmxlZCBwZXJpb2RpYyBOVFAgc3lu
YyAobm8gc29ja2V0IG9wZXJhdGlvbnMpIC0+IHN0aWxsIGhhbmdzCj4+PiA+IDMuIERpc2FibGVk
IElQIGNvbmZpZ3VyYXRpb24gKG5vIGlmY29uZmlnLCBubyByb3V0ZSwgbm8gbmV0d29yayB0cmFm
ZmljLAo+Pj4gPiAgICBidXQgVVNCL0RXQyBPVEcgc3RpbGwgaW5pdGlhbGlzZWQgdmlhIFJURU1T
X0JTRF9DT05GSUdfQlNQX0NPTkZJRykKPj4+ID4gICAgLT4gc3RpbGwgaGFuZ3MgKH41LTYgbWlu
KSwgVVNCIGh1YiBlbnVtZXJhdGlvbiBjb250aW51ZXMgaW4gYmFja2dyb3VuZDoKPj4+ID4gICAg
ICAgdWdlbjEuMjogPHZlbmRvciAweDA0MjQgcHJvZHVjdCAweDI1MTQ+IGF0IHVzYnVzMQo+Pj4g
PiAgICAgICB1aHViMSBvbiB1aHViMAo+Pj4gPiAgICAgICAuLi4KPj4+ID4gICAgQ29uc29sZSBv
dXRwdXQgaXMgZ2FyYmxlZCBieSBjb25jdXJyZW50IFVTQiBlbnVtZXJhdGlvbiBtZXNzYWdlcywK
Pj4+ID4gICAgc3VnZ2VzdGluZyBpbnRlcnJ1cHQgY29udGVudGlvbi4KPj4+ID4gNC4gQ29tbWVu
dGVkIG91dCBSVEVNU19CU0RfQ09ORklHX0JTUF9DT05GSUcgYW5kIHRoZQo+Pj4gPiAgICAjaW5j
bHVkZSA8YnNwL25leHVzLWRldmljZXMuaD4gdG8gcHJldmVudCBEV0MgT1RHIGluaXRpYWxpc2F0
aW9uCj4+PiA+ICAgIC0+IFNUQUJMRSwgcmFuIGZvciAxNCsgbWludXRlcyB3aXRoIG5vIGhhbmcg
KHRlc3Qgc3RvcHBlZCBtYW51YWxseSkKPj4+ID4KPj4+ID4gVGhlIGxpYmJzZCBzb2Z0d2FyZSBz
dGFjayAobG9vcGJhY2ssIHNvY2tldHMsIHRlbG5ldGQpIGNvbnRpbnVlcyB0bwo+Pj4gPiBmdW5j
dGlvbiBpbiB0ZXN0IDQg4oCUIG9ubHkgdGhlIGhhcmR3YXJlIEJTUCBkZXZpY2VzIChEV0MgT1RH
LCBtdWdlLAo+Pj4gPiB1aHViLCB1a3BoeSkgYXJlIGV4Y2x1ZGVkLgo+Pj4gPgo+Pj4gPiBNaW5p
bWFsIHJlcHJvZHVjdGlvbgo+Pj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4gPiBCdWlsZCBh
biBSVEVNUyA2LjIgYXBwbGljYXRpb24gZm9yIHJhc3BiZXJyeXBpMiBCU1Agd2l0aDoKPj4+ID4K
Pj4+ID4gICAjZGVmaW5lIFJURU1TX0JTRF9DT05GSUdfQlNQX0NPTkZJRwo+Pj4gPiAgICNkZWZp
bmUgUlRFTVNfQlNEX0NPTkZJR19JTklUCj4+PiA+ICAgI2luY2x1ZGUgPG1hY2hpbmUvcnRlbXMt
YnNkLWNvbmZpZy5oPgo+Pj4gPiAgICNpbmNsdWRlIDxic3AvbmV4dXMtZGV2aWNlcy5oPiAgICAg
LyogaW4gb25lIHRyYW5zbGF0aW9uIHVuaXQgKi8KPj4+ID4KPj4+ID4gICAjZGVmaW5lIENPTkZJ
R1VSRV9NSUNST1NFQ09ORFNfUEVSX1RJQ0sgMTAwMDAKPj4+ID4KPj4+ID4gVGhlIGFwcGxpY2F0
aW9uIGRvZXMgbm90IG5lZWQgdG8gY29uZmlndXJlIGFueSBuZXR3b3JrIGludGVyZmFjZSBvcgo+
Pj4gPiBwZXJmb3JtIGFueSBVU0IgdHJhbnNmZXJzIOKAlCB0aGUgRFdDIE9URyBodWIgcG9sbGlu
ZyBhbG9uZSB0cmlnZ2Vycwo+Pj4gPiB0aGUgaGFuZyBhZnRlciB+NS02IG1pbnV0ZXMuCj4+PiA+
Cj4+PiA+IENvbW1lbnRpbmcgb3V0IFJURU1TX0JTRF9DT05GSUdfQlNQX0NPTkZJRyBhbmQgdGhl
IG5leHVzLWRldmljZXMuaAo+Pj4gPiBpbmNsdWRlIGVsaW1pbmF0ZXMgdGhlIGhhbmcuCj4+PiA+
Cj4+PiA+IEJvb3QgbG9nIChhYmJyZXZpYXRlZCwgZnJvbSBoYW5naW5nIGNvbmZpZ3VyYXRpb24p
Cj4+PiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Cj4+PiA+IFJURU1TIFJQaSAzQisgMS4zICgxR0IpIFswMGEwMjBkM10KPj4+ID4gbmV4dXMwOiA8
UlRFTVMgTmV4dXMgZGV2aWNlPgo+Pj4gPiBkd2NvdGcwOiA8RFdDIE9URyAyLjAgaW50ZWdyYXRl
ZCBVU0IgY29udHJvbGxlcj4gb24gbmV4dXMwCj4+PiA+IHVzYnVzMSBvbiBkd2NvdGcwCj4+PiA+
IHVzYnVzMTogNDgwTWJwcyBIaWdoIFNwZWVkIFVTQiB2Mi4wCj4+PiA+IHVnZW4xLjE6IDxEV0NP
VEcgT1RHIFJvb3QgSFVCPiBhdCB1c2J1czEKPj4+ID4gdWh1YjAgb24gdXNidXMxCj4+PiA+IHVo
dWIwOiA8RFdDT1RHIE9URyBSb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMi4wMC8xLjAwLCBhZGRy
IDE+IG9uIHVzYnVzMQo+Pj4gPiB1aHViMDogMSBwb3J0IHdpdGggMSByZW1vdmFibGUsIHNlbGYg
cG93ZXJlZAo+Pj4gPiB1Z2VuMS4yOiA8dmVuZG9yIDB4MDQyNCBwcm9kdWN0IDB4MjUxND4gYXQg
dXNidXMxCj4+PiA+IHVodWIxIG9uIHVodWIwCj4+PiA+IHVodWIxOiA8dmVuZG9yIDB4MDQyNCBw
cm9kdWN0IDB4MjUxNCwgY2xhc3MgOS8wLCByZXYgMi4wMC9iLmIzLCBhZGRyIDI+IG9uIHVzYnVz
MQo+Pj4gPiB1aHViMTogNCBwb3J0cyB3aXRoIDMgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKPj4+
ID4gdWdlbjEuMzogPHZlbmRvciAweDA0MjQgcHJvZHVjdCAweDI1MTQ+IGF0IHVzYnVzMQo+Pj4g
PiB1aHViMiBvbiB1aHViMQo+Pj4gPiB1aHViMjogPHZlbmRvciAweDA0MjQgcHJvZHVjdCAweDI1
MTQsIGNsYXNzIDkvMCwgcmV2IDIuMDAvYi5iMywgYWRkciAzPiBvbiB1c2J1czEKPj4+ID4gdWh1
YjI6IDMgcG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCj4+PiA+IHVnZW4xLjQ6
IDx2ZW5kb3IgMHgwNDI0IHByb2R1Y3QgMHg3ODAwPiBhdCB1c2J1czEKPj4+ID4gbXVnZTA6IDx2
ZW5kb3IgMHgwNDI0IHByb2R1Y3QgMHg3ODAwLCByZXYgMi4xMC8zLjAwLCBhZGRyIDQ+IG9uIHVz
YnVzMQo+Pj4gPiBtdWdlMDogQ2hpcCBJRCAweDc4MDAgcmV2IDAwMDIKPj4+ID4gbWlpYnVzMDog
PE1JSSBidXM+IG9uIG11Z2UwCj4+PiA+IHVrcGh5MDogPEdlbmVyaWMgSUVFRSA4MDIuM3UgbWVk
aWEgaW50ZXJmYWNlPiBQSFkgMSBvbiBtaWlidXMwCj4+PiA+IGluZm86IHVlMDogPFVTQiBFdGhl
cm5ldD4gb24gbXVnZTAKPj4+ID4gW3N5c3RlbSBoYW5ncyBhZnRlciB+NS02IG1pbnV0ZXMsIFVB
UlQgdW5yZXNwb25zaXZlXQo+Pj4gPgo+Pj4gPiBRdWVzdGlvbnMKPj4+ID4gLS0tLS0tLS0tCj4+
PiA+IDEuIElzIHRoaXMgYSBrbm93biBpc3N1ZSB3aXRoIHRoZSBEV0MgT1RHIGRyaXZlciBvbiBS
UGkgM0IrPwo+Pj4gPiAyLiBBcmUgdGhlcmUgYW55IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAoaHVi
IHBvbGxpbmcgaW50ZXJ2YWwsIGludGVycnVwdAo+Pj4gPiAgICBjb2FsZXNjaW5nLCBETUEgc2V0
dGluZ3MpIHRoYXQgbWlnaHQgd29yayBhcm91bmQgdGhlIHByb2JsZW0/Cj4+PiA+IDMuIFdvdWxk
IGEgbmV3ZXIgdmVyc2lvbiBvZiBydGVtcy1saWJic2QgY29udGFpbiBmaXhlcyBmb3IgdGhpcz8K
Pj4+ID4gNC4gSXMgdGhlcmUgYW4gYWx0ZXJuYXRpdmUgRXRoZXJuZXQgZHJpdmVyIGFwcHJvYWNo
IGZvciBSUGkgM0IrIHRoYXQKPj4+ID4gICAgYXZvaWRzIHRoZSBEV0MgT1RHIFVTQiBwYXRoPwo+
Pj4gPiA1LiBJcyB0aGVyZSBhbnkga25vd24gcHJvamVjdCB3aGljaCB1c2VzIFJQaSB3aXRoIFJU
RU1TPwo+Pj4gPiAoaXQgbG9va3MgbGlrZSB0aGF0IHRoZSBvcHRpb24gdG8gcnVuIFJURU1TIG9u
IFJQaTQgb3IgUlBpIDUgY2FuIG5vdCBiZSBjb25zaWRlcmVkIHNpbmNlIHRoZSBCU1AgaW4gUlRF
TVMga2VybmVsICBpcyBub3QgeWV0IGZpbmFsaXNlZC4KPj4+ID4gVGhlIFJQaTQgb3IgUlBpIDUg
d291bGQgYmUgbXVjaCBiZXR0ZXIgY2FuZGlkYXRlcyB2cyBSUGkgMyBCKyBzaW5jZSB0aGV5IHVz
ZSBkaXJlY3QgY29ubmVjdGlvbiB0byBFdGhlcm5ldCBpbnN0ZWFkIG9mIHRoZSBVU0ItRXRoZXJu
ZXQpCj4+PiA+Cj4+PiA+IFRoYW5rIHlvdSBmb3IgYW55IGd1aWRhbmNlLgo+Pj4gPgo+Pj4gPiBN
aXJlawo+Pj4gPgo+Pj4gPgo+Pj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwo+Pj4gPiB1c2VycyBtYWlsaW5nIGxpc3QKPj4+ID4gdXNlcnNAcnRlbXMu
b3JnCj4+PiA+IGh0dHA6Ly9saXN0cy5ydGVtcy5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vycwo+
Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiB1c2Vy
cyBtYWlsaW5nIGxpc3QKPiB1c2Vyc0BydGVtcy5vcmcKPiBodHRwOi8vbGlzdHMucnRlbXMub3Jn
L21haWxtYW4vbGlzdGluZm8vdXNlcnMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KdXNlcnMgbWFpbGluZyBsaXN0CnVzZXJzQHJ0ZW1zLm9yZwpodHRwOi8v
bGlzdHMucnRlbXMub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnM=