Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 May 2010 17:49:50 +0100
From:      Bernardo Maciel <bernardo.maciel@gmail.com>
To:        python@freebsd.org
Cc:        ports@freebsd.org
Subject:   FreeBSD Port: python26-2.6.5
Message-ID:  <AANLkTimawN1I_Kwimyhb01nP3M4XR9ftMss1Da65Zun1@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--0016e68fcd6c6dd7160487e6a6d2
Content-Type: text/plain; charset=ISO-8859-1

Hello,



I recently ran into a problem when compiling python 2.6.5 under
FreeBSD 8.0-p2 . I searched around, asked in FreeBSD forums (
http://forums.freebsd.org/showthread.php?t=14268 ) and then e-mailed
the python-help mailing list. The problem isn't yet solved.

My problem is that when I compile python 2.6.5, I get a "sem_init: No
space left on device" message when the script is building the _ssl
extension:

------------------------------
(...)
===>  Building for python26-2.6.5
(...)
ranlib libpython2.6.a
cc -pthread -Wl,--export-dynamic -o python  Modules/python.o
libpython2.6.a -ldl  -lutil   -lm
libpython2.6.a(posixmodule.o)(.text+0x765): In function `posix_tmpnam':
: warning: warning: tmpnam() possibly used unsafely; consider using mkstemp()
libpython2.6.a(posixmodule.o)(.text+0x85c): In function `posix_tempnam':
: warning: warning: tempnam() possibly used unsafely; consider using mkstemp()
running build
running build_ext
building '_struct' extension
creating build
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5/Modules
cc -fPIC -fno-strict-aliasing -DNDEBUG -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing -I. -I/usr/ports
/lang/python26/work/Python-2.6.5/./Include -I. -IInclude
-I./../Include -I/usr/local/include
-I/usr/ports/lang/python26/work/Python-
2.6.5/portbld.static/Include
-I/usr/ports/lang/python26/work/Python-2.6.5/portbld.static -c
/usr/ports/lang/python26/work/Python-2.6.5/Modules
/_struct.c -o build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5/Modules/_struct.o
creating build/lib.freebsd-8.0-RELEASE-p2-i386-2.6
cc -shared -pthread -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing
build/temp.freebsd-8.0-RELEASE-p2-i386-2.6
/usr/ports/lang/python26/work/Python-2.6.5/Modules/_struct.o
-L/usr/local/lib -o
build/lib.freebsd-8.0-RELEASE-p2-i386-2.6/_struct.so
building '_ctypes_test' extension
creating build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5/Modules/_ctypes
cc -fPIC -fno-strict-aliasing -DNDEBUG -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing -I. -I/usr/ports
/lang/python26/work/Python-2.6.5/./Include -I. -IInclude
-I./../Include -I/usr/local/include
-I/usr/ports/lang/python26/work/Python-
2.6.5/portbld.static/Include
-I/usr/ports/lang/python26/work/Python-2.6.5/portbld.static -c
/usr/ports/lang/python26/work/Python-2.6.5/Modules
/_ctypes/_ctypes_test.c -o
build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5/Modules/_ctypes/_ctypes_test.o
cc -shared -pthread -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing
build/temp.freebsd-8.0-RELEASE-p2-i386-2.6
/usr/ports/lang/python26/work/Python-2.6.5/Modules/_ctypes/_ctypes_test.o
-L/usr/local/lib -o build/lib.freebsd-8.0-RELEASE-p2-i386-2.6
/_ctypes_test.so
(...)
building '_ssl' extension
cc -fPIC -fno-strict-aliasing -DNDEBUG -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing -I. -I/usr/ports
/lang/python26/work/Python-2.6.5/./Include -I. -IInclude
-I./../Include -I/usr/local/include
-I/usr/ports/lang/python26/work/Python-
2.6.5/portbld.static/Include
-I/usr/ports/lang/python26/work/Python-2.6.5/portbld.static -c
/usr/ports/lang/python26/work/Python-2.6.5/Modules
/_ssl.c -o build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/usr/ports/lang/python26/work/Python-2.6.5/Modules/_ssl.o
cc -shared -pthread -O2 -pipe -D__wchar_t=wchar_t
-DTHREAD_STACK_SIZE=0x100000 -fno-strict-aliasing
build/temp.freebsd-8.0-RELEASE-p2-i386-2.6
/usr/ports/lang/python26/work/Python-2.6.5/Modules/_ssl.o
-L/usr/local/lib -lssl -lcrypto -o
build/lib.freebsd-8.0-RELEASE-p2-i386-2.6/_ssl.so
sem_init: No space left on device
------------------------------

This then transforms into the following problem when importing
SSLError, which is used by other apps:

------------------------------
Python 2.6.5 (r265:79063, May 15 2010, 19:22:30)
[GCC 4.2.1 20070719  [FreeBSD]] on freebsd8
Type "help", "copyright", "credits" or "license" for more information.
>>> from _ssl import SSLError as sslerror
sem_init: No space left on device
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: cannot import name SSLError
------------------------------

At the python-help mailing list, it was suggested that I compiled the
port manually. I compiled python-2.6.5 manually ( "./configure; make"
) and I no longer got the "sem_init: no space left on device" error.
When building the _ssl extension, it goes ok:

------------------------------
(...)
building '_ssl' extension
gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -I.
-I/tmp/python/Python-2.6.5/./Include -I. -IInclude -I./Include
-I/usr/local/include -I/tmp/python/Python-2.6.5/Include
-I/tmp/python/Python-2.6.5 -c /tmp/python/Python-2.6.5/Modules/_ssl.c
-o build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/tmp/python/Python-2.6.5/Modules/_ssl.o
gcc -shared build/temp.freebsd-8.0-RELEASE-p2-i386-2.6/tmp/python/Python-2.6.5/Modules/_ssl.o
-L/usr/local/lib -lssl -lcrypto -o
build/lib.freebsd-8.0-RELEASE-p2-i386-2.6/_ssl.so
building '_hashlib' extension
(...)
------------------------------

So it narrows down the problem to some patch file that is applied,
they suggested. I tried to look at the files, but I couldn't identify
anything as the source of the problem.
It was also suggested that I contacted the port maintainer to see if
something could come up, and thus this e-mail.

I am using a custom kernel because of the hplip port, but I only
removed the ulpt module and added the snp module.
I attach the GENERIC and the custom kernels as well as a diff for those two.
Also, here is my system info.

------------------------------
%uname -a
FreeBSD FPserver.WORKGROUP 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #2:
Tue Jan 26 06:10:27 WET 2010
root@FPserver.WORKGROUP:/usr/obj/usr/src/sys/NOULPTKERNEL  i386
------------------------------

If you need further info (build logs, etc), please let me know and
I'll send you.

Can you help me?



Best regards,

-- 
Bernardo Maciel

--0016e68fcd6c6dd7160487e6a6d2
Content-Type: application/octet-stream; name="diffCustomKernelGeneric.diff"
Content-Disposition: attachment; filename="diffCustomKernelGeneric.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g9vjba1s0

MGExLDIxCj4gIwo+ICMgR0VORVJJQyAtLSBHZW5lcmljIGtlcm5lbCBjb25maWd1cmF0aW9uIGZp
bGUgZm9yIEZyZWVCU0QvaTM4Ngo+ICMKPiAjIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMg
ZmlsZSwgcGxlYXNlIHJlYWQgdGhlIGNvbmZpZyg1KSBtYW51YWwgcGFnZSwKPiAjIGFuZC9vciB0
aGUgaGFuZGJvb2sgc2VjdGlvbiBvbiBLZXJuZWwgQ29uZmlndXJhdGlvbiBGaWxlczoKPiAjCj4g
IyAgICBodHRwOi8vd3d3LkZyZWVCU0Qub3JnL2RvYy9lbl9VUy5JU084ODU5LTEvYm9va3MvaGFu
ZGJvb2sva2VybmVsY29uZmlnLWNvbmZpZy5odG1sCj4gIwo+ICMgVGhlIGhhbmRib29rIGlzIGFs
c28gYXZhaWxhYmxlIGxvY2FsbHkgaW4gL3Vzci9zaGFyZS9kb2MvaGFuZGJvb2sKPiAjIGlmIHlv
dSd2ZSBpbnN0YWxsZWQgdGhlIGRvYyBkaXN0cmlidXRpb24sIG90aGVyd2lzZSBhbHdheXMgc2Vl
IHRoZQo+ICMgRnJlZUJTRCBXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgKGh0dHA6Ly93d3cuRnJlZUJT
RC5vcmcvKSBmb3IgdGhlCj4gIyBsYXRlc3QgaW5mb3JtYXRpb24uCj4gIwo+ICMgQW4gZXhoYXVz
dGl2ZSBsaXN0IG9mIG9wdGlvbnMgYW5kIG1vcmUgZGV0YWlsZWQgZXhwbGFuYXRpb25zIG9mIHRo
ZQo+ICMgZGV2aWNlIGxpbmVzIGlzIGFsc28gcHJlc2VudCBpbiB0aGUgLi4vLi4vY29uZi9OT1RF
UyBhbmQgTk9URVMgZmlsZXMuCj4gIyBJZiB5b3UgYXJlIGluIGRvdWJ0IGFzIHRvIHRoZSBwdXJw
b3NlIG9yIG5lY2Vzc2l0eSBvZiBhIGxpbmUsIGNoZWNrIGZpcnN0Cj4gIyBpbiBOT1RFUy4KPiAj
Cj4gIyAkRnJlZUJTRDogc3JjL3N5cy9pMzg2L2NvbmYvR0VORVJJQyx2IDEuNTE5LjIuNC4yLjIg
MjAwOS8xMS8wOSAyMzo0ODowMSBrZW5zbWl0aCBFeHAgJAo+IAo+IGNwdQkJSTQ4Nl9DUFUKMmMy
MywyNAo8IGlkZW50CQlOT1VMUFRLRVJORUwKLS0tCj4gY3B1CQlJNjg2X0NQVQo+IGlkZW50CQlH
RU5FUklDCjI2NWQyODYKPCBkZXZpY2UJCXNucAoyODBjMzAxCjwgI2RldmljZQkJdWxwdAkJIyBQ
cmludGVyCi0tLQo+IGRldmljZQkJdWxwdAkJIyBQcmludGVyCg==
--0016e68fcd6c6dd7160487e6a6d2
Content-Type: application/octet-stream; name=GENERIC
Content-Disposition: attachment; filename=GENERIC
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g9vjba1z1

IwojIEdFTkVSSUMgLS0gR2VuZXJpYyBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIGZvciBGcmVl
QlNEL2kzODYKIwojIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgZmlsZSwgcGxlYXNlIHJl
YWQgdGhlIGNvbmZpZyg1KSBtYW51YWwgcGFnZSwKIyBhbmQvb3IgdGhlIGhhbmRib29rIHNlY3Rp
b24gb24gS2VybmVsIENvbmZpZ3VyYXRpb24gRmlsZXM6CiMKIyAgICBodHRwOi8vd3d3LkZyZWVC
U0Qub3JnL2RvYy9lbl9VUy5JU084ODU5LTEvYm9va3MvaGFuZGJvb2sva2VybmVsY29uZmlnLWNv
bmZpZy5odG1sCiMKIyBUaGUgaGFuZGJvb2sgaXMgYWxzbyBhdmFpbGFibGUgbG9jYWxseSBpbiAv
dXNyL3NoYXJlL2RvYy9oYW5kYm9vawojIGlmIHlvdSd2ZSBpbnN0YWxsZWQgdGhlIGRvYyBkaXN0
cmlidXRpb24sIG90aGVyd2lzZSBhbHdheXMgc2VlIHRoZQojIEZyZWVCU0QgV29ybGQgV2lkZSBX
ZWIgc2VydmVyIChodHRwOi8vd3d3LkZyZWVCU0Qub3JnLykgZm9yIHRoZQojIGxhdGVzdCBpbmZv
cm1hdGlvbi4KIwojIEFuIGV4aGF1c3RpdmUgbGlzdCBvZiBvcHRpb25zIGFuZCBtb3JlIGRldGFp
bGVkIGV4cGxhbmF0aW9ucyBvZiB0aGUKIyBkZXZpY2UgbGluZXMgaXMgYWxzbyBwcmVzZW50IGlu
IHRoZSAuLi8uLi9jb25mL05PVEVTIGFuZCBOT1RFUyBmaWxlcy4KIyBJZiB5b3UgYXJlIGluIGRv
dWJ0IGFzIHRvIHRoZSBwdXJwb3NlIG9yIG5lY2Vzc2l0eSBvZiBhIGxpbmUsIGNoZWNrIGZpcnN0
CiMgaW4gTk9URVMuCiMKIyAkRnJlZUJTRDogc3JjL3N5cy9pMzg2L2NvbmYvR0VORVJJQyx2IDEu
NTE5LjIuNC4yLjIgMjAwOS8xMS8wOSAyMzo0ODowMSBrZW5zbWl0aCBFeHAgJAoKY3B1CQlJNDg2
X0NQVQpjcHUJCUk1ODZfQ1BVCmNwdQkJSTY4Nl9DUFUKaWRlbnQJCUdFTkVSSUMKCiMgVG8gc3Rh
dGljYWxseSBjb21waWxlIGluIGRldmljZSB3aXJpbmcgaW5zdGVhZCBvZiAvYm9vdC9kZXZpY2Uu
aGludHMKI2hpbnRzCQkiR0VORVJJQy5oaW50cyIJCSMgRGVmYXVsdCBwbGFjZXMgdG8gbG9vayBm
b3IgZGV2aWNlcy4KCiMgVXNlIHRoZSBmb2xsb3dpbmcgdG8gY29tcGlsZSBpbiB2YWx1ZXMgYWNj
ZXNzaWJsZSB0byB0aGUga2VybmVsCiMgdGhyb3VnaCBnZXRlbnYoKSAob3Iga2VudigxKSBpbiB1
c2VybGFuZCkuIFRoZSBmb3JtYXQgb2YgdGhlIGZpbGUKIyBpcyAndmFyaWFibGU9dmFsdWUnLCBz
ZWUga2VudigxKQojCiMgZW52CQkiR0VORVJJQy5lbnYiCgptYWtlb3B0aW9ucwlERUJVRz0tZwkJ
IyBCdWlsZCBrZXJuZWwgd2l0aCBnZGIoMSkgZGVidWcgc3ltYm9scwoKb3B0aW9ucyAJU0NIRURf
VUxFCQkjIFVMRSBzY2hlZHVsZXIKb3B0aW9ucyAJUFJFRU1QVElPTgkJIyBFbmFibGUga2VybmVs
IHRocmVhZCBwcmVlbXB0aW9uCm9wdGlvbnMgCUlORVQJCQkjIEludGVyTkVUd29ya2luZwpvcHRp
b25zIAlJTkVUNgkJCSMgSVB2NiBjb21tdW5pY2F0aW9ucyBwcm90b2NvbHMKb3B0aW9ucyAJU0NU
UAkJCSMgU3RyZWFtIENvbnRyb2wgVHJhbnNtaXNzaW9uIFByb3RvY29sCm9wdGlvbnMgCUZGUwkJ
CSMgQmVya2VsZXkgRmFzdCBGaWxlc3lzdGVtCm9wdGlvbnMgCVNPRlRVUERBVEVTCQkjIEVuYWJs
ZSBGRlMgc29mdCB1cGRhdGVzIHN1cHBvcnQKb3B0aW9ucyAJVUZTX0FDTAkJCSMgU3VwcG9ydCBm
b3IgYWNjZXNzIGNvbnRyb2wgbGlzdHMKb3B0aW9ucyAJVUZTX0RJUkhBU0gJCSMgSW1wcm92ZSBw
ZXJmb3JtYW5jZSBvbiBiaWcgZGlyZWN0b3JpZXMKb3B0aW9ucyAJVUZTX0dKT1VSTkFMCQkjIEVu
YWJsZSBnam91cm5hbC1iYXNlZCBVRlMgam91cm5hbGluZwpvcHRpb25zIAlNRF9ST09UCQkJIyBN
RCBpcyBhIHBvdGVudGlhbCByb290IGRldmljZQpvcHRpb25zIAlORlNDTElFTlQJCSMgTmV0d29y
ayBGaWxlc3lzdGVtIENsaWVudApvcHRpb25zIAlORlNTRVJWRVIJCSMgTmV0d29yayBGaWxlc3lz
dGVtIFNlcnZlcgpvcHRpb25zIAlORlNMT0NLRAkJIyBOZXR3b3JrIExvY2sgTWFuYWdlcgpvcHRp
b25zIAlORlNfUk9PVAkJIyBORlMgdXNhYmxlIGFzIC8sIHJlcXVpcmVzIE5GU0NMSUVOVApvcHRp
b25zIAlNU0RPU0ZTCQkJIyBNU0RPUyBGaWxlc3lzdGVtCm9wdGlvbnMgCUNEOTY2MAkJCSMgSVNP
IDk2NjAgRmlsZXN5c3RlbQpvcHRpb25zIAlQUk9DRlMJCQkjIFByb2Nlc3MgZmlsZXN5c3RlbSAo
cmVxdWlyZXMgUFNFVURPRlMpCm9wdGlvbnMgCVBTRVVET0ZTCQkjIFBzZXVkby1maWxlc3lzdGVt
IGZyYW1ld29yawpvcHRpb25zIAlHRU9NX1BBUlRfR1BUCQkjIEdVSUQgUGFydGl0aW9uIFRhYmxl
cy4Kb3B0aW9ucyAJR0VPTV9MQUJFTAkJIyBQcm92aWRlcyBsYWJlbGl6YXRpb24Kb3B0aW9ucyAJ
Q09NUEFUXzQzVFRZCQkjIEJTRCA0LjMgVFRZIGNvbXBhdCAoc2d0dHkpCm9wdGlvbnMgCUNPTVBB
VF9GUkVFQlNENAkJIyBDb21wYXRpYmxlIHdpdGggRnJlZUJTRDQKb3B0aW9ucyAJQ09NUEFUX0ZS
RUVCU0Q1CQkjIENvbXBhdGlibGUgd2l0aCBGcmVlQlNENQpvcHRpb25zIAlDT01QQVRfRlJFRUJT
RDYJCSMgQ29tcGF0aWJsZSB3aXRoIEZyZWVCU0Q2Cm9wdGlvbnMgCUNPTVBBVF9GUkVFQlNENwkJ
IyBDb21wYXRpYmxlIHdpdGggRnJlZUJTRDcKb3B0aW9ucyAJU0NTSV9ERUxBWT01MDAwCQkjIERl
bGF5IChpbiBtcykgYmVmb3JlIHByb2JpbmcgU0NTSQpvcHRpb25zIAlLVFJBQ0UJCQkjIGt0cmFj
ZSgxKSBzdXBwb3J0Cm9wdGlvbnMgCVNUQUNLCQkJIyBzdGFjayg5KSBzdXBwb3J0Cm9wdGlvbnMg
CVNZU1ZTSE0JCQkjIFNZU1Ytc3R5bGUgc2hhcmVkIG1lbW9yeQpvcHRpb25zIAlTWVNWTVNHCQkJ
IyBTWVNWLXN0eWxlIG1lc3NhZ2UgcXVldWVzCm9wdGlvbnMgCVNZU1ZTRU0JCQkjIFNZU1Ytc3R5
bGUgc2VtYXBob3JlcwpvcHRpb25zIAlQMTAwM18xQl9TRU1BUEhPUkVTCSMgUE9TSVgtc3R5bGUg
c2VtYXBob3JlcwpvcHRpb25zIAlfS1BPU0lYX1BSSU9SSVRZX1NDSEVEVUxJTkcgIyBQT1NJWCBQ
MTAwM18xQiByZWFsLXRpbWUgZXh0ZW5zaW9ucwpvcHRpb25zIAlQUklOVEZfQlVGUl9TSVpFPTEy
OAkjIFByZXZlbnQgcHJpbnRmIG91dHB1dCBiZWluZyBpbnRlcnNwZXJzZWQuCm9wdGlvbnMgCUtC
RF9JTlNUQUxMX0NERVYJIyBpbnN0YWxsIGEgQ0RFViBlbnRyeSBpbiAvZGV2Cm9wdGlvbnMgCUhX
UE1DX0hPT0tTCQkjIE5lY2Vzc2FyeSBrZXJuZWwgaG9va3MgZm9yIGh3cG1jKDQpCm9wdGlvbnMg
CUFVRElUCQkJIyBTZWN1cml0eSBldmVudCBhdWRpdGluZwpvcHRpb25zIAlNQUMJCQkjIFRydXN0
ZWRCU0QgTUFDIEZyYW1ld29yawpvcHRpb25zCQlGTE9XVEFCTEUJCSMgcGVyLWNwdSByb3V0aW5n
IGNhY2hlCiNvcHRpb25zIAlLRFRSQUNFX0hPT0tTCQkjIEtlcm5lbCBEVHJhY2UgaG9va3MKCiMg
VG8gbWFrZSBhbiBTTVAga2VybmVsLCB0aGUgbmV4dCB0d28gbGluZXMgYXJlIG5lZWRlZApvcHRp
b25zIAlTTVAJCQkjIFN5bW1ldHJpYyBNdWx0aVByb2Nlc3NvciBLZXJuZWwKZGV2aWNlCQlhcGlj
CQkJIyBJL08gQVBJQwoKIyBDUFUgZnJlcXVlbmN5IGNvbnRyb2wKZGV2aWNlCQljcHVmcmVxCgoj
IEJ1cyBzdXBwb3J0LgpkZXZpY2UJCWFjcGkKZGV2aWNlCQllaXNhCmRldmljZQkJcGNpCgojIEZs
b3BweSBkcml2ZXMKZGV2aWNlCQlmZGMKCiMgQVRBIGFuZCBBVEFQSSBkZXZpY2VzCmRldmljZQkJ
YXRhCmRldmljZQkJYXRhZGlzawkJIyBBVEEgZGlzayBkcml2ZXMKZGV2aWNlCQlhdGFyYWlkCQkj
IEFUQSBSQUlEIGRyaXZlcwpkZXZpY2UJCWF0YXBpY2QJCSMgQVRBUEkgQ0RST00gZHJpdmVzCmRl
dmljZQkJYXRhcGlmZAkJIyBBVEFQSSBmbG9wcHkgZHJpdmVzCmRldmljZQkJYXRhcGlzdAkJIyBB
VEFQSSB0YXBlIGRyaXZlcwpvcHRpb25zIAlBVEFfU1RBVElDX0lECSMgU3RhdGljIGRldmljZSBu
dW1iZXJpbmcKCiMgU0NTSSBDb250cm9sbGVycwpkZXZpY2UJCWFoYgkJIyBFSVNBIEFIQTE3NDIg
ZmFtaWx5CmRldmljZQkJYWhjCQkjIEFIQTI5NDAgYW5kIG9uYm9hcmQgQUlDN3h4eCBkZXZpY2Vz
Cm9wdGlvbnMgCUFIQ19SRUdfUFJFVFRZX1BSSU5UCSMgUHJpbnQgcmVnaXN0ZXIgYml0ZmllbGRz
IGluIGRlYnVnCgkJCQkJIyBvdXRwdXQuICBBZGRzIH4xMjhrIHRvIGRyaXZlci4KZGV2aWNlCQlh
aGQJCSMgQUhBMzkzMjAvMjkzMjAgYW5kIG9uYm9hcmQgQUlDNzl4eCBkZXZpY2VzCm9wdGlvbnMg
CUFIRF9SRUdfUFJFVFRZX1BSSU5UCSMgUHJpbnQgcmVnaXN0ZXIgYml0ZmllbGRzIGluIGRlYnVn
CgkJCQkJIyBvdXRwdXQuICBBZGRzIH4yMTVrIHRvIGRyaXZlci4KZGV2aWNlCQlhbWQJCSMgQU1E
IDUzQzk3NCAoVGVrcmFtIERDLTM5MChUKSkKZGV2aWNlCQlocHRpb3AJCSMgSGlnaHBvaW50IFJv
Y2tldFJhaWQgM3h4eCBzZXJpZXMKZGV2aWNlCQlpc3AJCSMgUWxvZ2ljIGZhbWlseQojZGV2aWNl
CQlpc3BmdwkJIyBGaXJtd2FyZSBmb3IgUUxvZ2ljIEhCQXMtIG5vcm1hbGx5IGEgbW9kdWxlCmRl
dmljZQkJbXB0CQkjIExTSS1Mb2dpYyBNUFQtRnVzaW9uCiNkZXZpY2UJCW5jcgkJIyBOQ1IvU3lt
YmlvcyBMb2dpYwpkZXZpY2UJCXN5bQkJIyBOQ1IvU3ltYmlvcyBMb2dpYyAobmV3ZXIgY2hpcHNl
dHMgKyB0aG9zZSBvZiBgbmNyJykKZGV2aWNlCQl0cm0JCSMgVGVrcmFtIERDMzk1VS9VVy9GIERD
MzE1VSBhZGFwdGVycwoKZGV2aWNlCQlhZHYJCSMgQWR2YW5zeXMgU0NTSSBhZGFwdGVycwpkZXZp
Y2UJCWFkdwkJIyBBZHZhbnN5cyB3aWRlIFNDU0kgYWRhcHRlcnMKZGV2aWNlCQlhaGEJCSMgQWRh
cHRlYyAxNTR4IFNDU0kgYWRhcHRlcnMKZGV2aWNlCQlhaWMJCSMgQWRhcHRlYyAxNVswMTJdeCBT
Q1NJIGFkYXB0ZXJzLCBBSUMtNlsyM102MC4KZGV2aWNlCQlidAkJIyBCdXNsb2dpYy9NeWxleCBN
dWx0aU1hc3RlciBTQ1NJIGFkYXB0ZXJzCgpkZXZpY2UJCW5jdgkJIyBOQ1IgNTNDNTAwCmRldmlj
ZQkJbnNwCQkjIFdvcmtiaXQgTmluamEgU0NTSS0zCmRldmljZQkJc3RnCQkjIFRNQyAxOEMzMC8x
OEM1MAoKIyBTQ1NJIHBlcmlwaGVyYWxzCmRldmljZQkJc2NidXMJCSMgU0NTSSBidXMgKHJlcXVp
cmVkIGZvciBTQ1NJKQpkZXZpY2UJCWNoCQkjIFNDU0kgbWVkaWEgY2hhbmdlcnMKZGV2aWNlCQlk
YQkJIyBEaXJlY3QgQWNjZXNzIChkaXNrcykKZGV2aWNlCQlzYQkJIyBTZXF1ZW50aWFsIEFjY2Vz
cyAodGFwZSBldGMpCmRldmljZQkJY2QJCSMgQ0QKZGV2aWNlCQlwYXNzCQkjIFBhc3N0aHJvdWdo
IGRldmljZSAoZGlyZWN0IFNDU0kgYWNjZXNzKQpkZXZpY2UJCXNlcwkJIyBTQ1NJIEVudmlyb25t
ZW50YWwgU2VydmljZXMgKGFuZCBTQUYtVEUpCgojIFJBSUQgY29udHJvbGxlcnMgaW50ZXJmYWNl
ZCB0byB0aGUgU0NTSSBzdWJzeXN0ZW0KZGV2aWNlCQlhbXIJCSMgQU1JIE1lZ2FSQUlECmRldmlj
ZQkJYXJjbXNyCQkjIEFyZWNhIFNBVEEgSUkgUkFJRApkZXZpY2UJCWFzcgkJIyBEUFQgU21hcnRS
QUlEIFYsIFZJIGFuZCBBZGFwdGVjIFNDU0kgUkFJRApkZXZpY2UJCWNpc3MJCSMgQ29tcGFxIFNt
YXJ0IFJBSUQgNSoKZGV2aWNlCQlkcHQJCSMgRFBUIFNtYXJ0Y2FjaGUgSUlJLCBJViAtIFNlZSBO
T1RFUyBmb3Igb3B0aW9ucwpkZXZpY2UJCWhwdG12CQkjIEhpZ2hwb2ludCBSb2NrZXRSQUlEIDE4
MngKZGV2aWNlCQlocHRycgkJIyBIaWdocG9pbnQgUm9ja2V0UkFJRCAxN3h4LCAyMnh4LCAyM3h4
LCAyNXh4CmRldmljZQkJaWlyCQkjIEludGVsIEludGVncmF0ZWQgUkFJRApkZXZpY2UJCWlwcwkJ
IyBJQk0gKEFkYXB0ZWMpIFNlcnZlUkFJRApkZXZpY2UJCW1seQkJIyBNeWxleCBBY2NlbGVSQUlE
L2VYdHJlbWVSQUlECmRldmljZQkJdHdhCQkjIDN3YXJlIDkwMDAgc2VyaWVzIFBBVEEvU0FUQSBS
QUlECgojIFJBSUQgY29udHJvbGxlcnMKZGV2aWNlCQlhYWMJCSMgQWRhcHRlYyBGU0EgUkFJRApk
ZXZpY2UJCWFhY3AJCSMgU0NTSSBwYXNzdGhyb3VnaCBmb3IgYWFjIChyZXF1aXJlcyBDQU0pCmRl
dmljZQkJaWRhCQkjIENvbXBhcSBTbWFydCBSQUlECmRldmljZQkJbWZpCQkjIExTSSBNZWdhUkFJ
RCBTQVMKZGV2aWNlCQltbHgJCSMgTXlsZXggREFDOTYwIGZhbWlseQpkZXZpY2UJCXBzdAkJIyBQ
cm9taXNlIFN1cGVydHJhayBTWDYwMDAKZGV2aWNlCQl0d2UJCSMgM3dhcmUgQVRBIFJBSUQKCiMg
YXRrYmRjMCBjb250cm9scyBib3RoIHRoZSBrZXlib2FyZCBhbmQgdGhlIFBTLzIgbW91c2UKZGV2
aWNlCQlhdGtiZGMJCSMgQVQga2V5Ym9hcmQgY29udHJvbGxlcgpkZXZpY2UJCWF0a2JkCQkjIEFU
IGtleWJvYXJkCmRldmljZQkJcHNtCQkjIFBTLzIgbW91c2UKCmRldmljZQkJa2JkbXV4CQkjIGtl
eWJvYXJkIG11bHRpcGxleGVyCgpkZXZpY2UJCXZnYQkJIyBWR0EgdmlkZW8gY2FyZCBkcml2ZXIK
CmRldmljZQkJc3BsYXNoCQkjIFNwbGFzaCBzY3JlZW4gYW5kIHNjcmVlbiBzYXZlciBzdXBwb3J0
CgojIHN5c2NvbnMgaXMgdGhlIGRlZmF1bHQgY29uc29sZSBkcml2ZXIsIHJlc2VtYmxpbmcgYW4g
U0NPIGNvbnNvbGUKZGV2aWNlCQlzYwoKZGV2aWNlCQlhZ3AJCSMgc3VwcG9ydCBzZXZlcmFsIEFH
UCBjaGlwc2V0cwoKIyBQb3dlciBtYW5hZ2VtZW50IHN1cHBvcnQgKHNlZSBOT1RFUyBmb3IgbW9y
ZSBvcHRpb25zKQojZGV2aWNlCQlhcG0KIyBBZGQgc3VzcGVuZC9yZXN1bWUgc3VwcG9ydCBmb3Ig
dGhlIGk4MjU0LgpkZXZpY2UJCXBtdGltZXIKCiMgUENDQVJEIChQQ01DSUEpIHN1cHBvcnQKIyBQ
Q01DSUEgYW5kIGNhcmRidXMgYnJpZGdlIHN1cHBvcnQKZGV2aWNlCQljYmIJCSMgY2FyZGJ1cyAo
eWVudGEpIGJyaWRnZQpkZXZpY2UJCXBjY2FyZAkJIyBQQyBDYXJkICgxNi1iaXQpIGJ1cwpkZXZp
Y2UJCWNhcmRidXMJCSMgQ2FyZEJ1cyAoMzItYml0KSBidXMKCiMgU2VyaWFsIChDT00pIHBvcnRz
CmRldmljZQkJdWFydAkJIyBHZW5lcmljIFVBUlQgZHJpdmVyCgojIFBhcmFsbGVsIHBvcnQKZGV2
aWNlCQlwcGMKZGV2aWNlCQlwcGJ1cwkJIyBQYXJhbGxlbCBwb3J0IGJ1cyAocmVxdWlyZWQpCmRl
dmljZQkJbHB0CQkjIFByaW50ZXIKZGV2aWNlCQlwbGlwCQkjIFRDUC9JUCBvdmVyIHBhcmFsbGVs
CmRldmljZQkJcHBpCQkjIFBhcmFsbGVsIHBvcnQgaW50ZXJmYWNlIGRldmljZQojZGV2aWNlCQl2
cG8JCSMgUmVxdWlyZXMgc2NidXMgYW5kIGRhCgojIElmIHlvdSd2ZSBnb3QgYSAiZHVtYiIgc2Vy
aWFsIG9yIHBhcmFsbGVsIFBDSSBjYXJkIHRoYXQgaXMKIyBzdXBwb3J0ZWQgYnkgdGhlIHB1Yyg0
KSBnbHVlIGRyaXZlciwgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcKIyBsaW5lIHRvIGVuYWJsZSBp
dCAoY29ubmVjdHMgdG8gc2lvLCB1YXJ0IGFuZC9vciBwcGMgZHJpdmVycyk6CiNkZXZpY2UJCXB1
YwoKIyBQQ0kgRXRoZXJuZXQgTklDcy4KZGV2aWNlCQlkZQkJIyBERUMvSW50ZWwgREMyMXg0eCAo
YGBUdWxpcCcnKQpkZXZpY2UJCWVtCQkjIEludGVsIFBSTy8xMDAwIEdpZ2FiaXQgRXRoZXJuZXQg
RmFtaWx5CmRldmljZQkJaWdiCQkjIEludGVsIFBSTy8xMDAwIFBDSUUgU2VydmVyIEdpZ2FiaXQg
RmFtaWx5CmRldmljZQkJaXhnYgkJIyBJbnRlbCBQUk8vMTBHYkUgRXRoZXJuZXQgQ2FyZApkZXZp
Y2UJCWxlCQkjIEFNRCBBbTc5MDAgTEFOQ0UgYW5kIEFtNzlDOXh4IFBDbmV0CmRldmljZQkJdGkJ
CSMgQWx0ZW9uIE5ldHdvcmtzIFRpZ29uIEkvSUkgZ2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCXR4
cAkJIyAzQ29tIDNjUjk5MCAoYGBUeXBob29uJycpCmRldmljZQkJdngJCSMgM0NvbSAzYzU5MCwg
M2M1OTUgKGBgVm9ydGV4JycpCgojIFBDSSBFdGhlcm5ldCBOSUNzIHRoYXQgdXNlIHRoZSBjb21t
b24gTUlJIGJ1cyBjb250cm9sbGVyIGNvZGUuCiMgTk9URTogQmUgc3VyZSB0byBrZWVwIHRoZSAn
ZGV2aWNlIG1paWJ1cycgbGluZSBpbiBvcmRlciB0byB1c2UgdGhlc2UgTklDcyEKZGV2aWNlCQlt
aWlidXMJCSMgTUlJIGJ1cyBzdXBwb3J0CmRldmljZQkJYWUJCSMgQXR0YW5zaWMvQXRoZXJvcyBM
MiBGYXN0RXRoZXJuZXQKZGV2aWNlCQlhZ2UJCSMgQXR0YW5zaWMvQXRoZXJvcyBMMSBHaWdhYml0
IEV0aGVybmV0CmRldmljZQkJYWxjCQkjIEF0aGVyb3MgQVI4MTMxL0FSODEzMiBFdGhlcm5ldApk
ZXZpY2UJCWFsZQkJIyBBdGhlcm9zIEFSODEyMS9BUjgxMTMvQVI4MTE0IEV0aGVybmV0CmRldmlj
ZQkJYmNlCQkjIEJyb2FkY29tIEJDTTU3MDYvQkNNNTcwOCBHaWdhYml0IEV0aGVybmV0CmRldmlj
ZQkJYmZlCQkjIEJyb2FkY29tIEJDTTQ0MHggMTAvMTAwIEV0aGVybmV0CmRldmljZQkJYmdlCQkj
IEJyb2FkY29tIEJDTTU3MHh4IEdpZ2FiaXQgRXRoZXJuZXQKZGV2aWNlCQlkYwkJIyBERUMvSW50
ZWwgMjExNDMgYW5kIHZhcmlvdXMgd29ya2FsaWtlcwpkZXZpY2UJCWV0CQkjIEFnZXJlIEVUMTMx
MCAxMC8xMDAvR2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCWZ4cAkJIyBJbnRlbCBFdGhlckV4cHJl
c3MgUFJPLzEwMEIgKDgyNTU3LCA4MjU1OCkKZGV2aWNlCQlqbWUJCSMgSk1pY3JvbiBKTUMyNTAg
R2lnYWJpdC9KTUMyNjAgRmFzdCBFdGhlcm5ldApkZXZpY2UJCWxnZQkJIyBMZXZlbCAxIExYVDEw
MDEgZ2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCW1zawkJIyBNYXJ2ZWxsL1N5c0tvbm5lY3QgWXVr
b24gSUkgR2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCW5mZQkJIyBuVmlkaWEgbkZvcmNlIE1DUCBv
bi1ib2FyZCBFdGhlcm5ldApkZXZpY2UJCW5nZQkJIyBOYXRTZW1pIERQODM4MjAgZ2lnYWJpdCBF
dGhlcm5ldAojZGV2aWNlCQludmUJCSMgblZpZGlhIG5Gb3JjZSBNQ1Agb24tYm9hcmQgRXRoZXJu
ZXQgTmV0d29ya2luZwpkZXZpY2UJCXBjbgkJIyBBTUQgQW03OUM5N3ggUENJIDEwLzEwMCAocHJl
Y2VkZW5jZSBvdmVyICdsZScpCmRldmljZQkJcmUJCSMgUmVhbFRlayA4MTM5QysvODE2OS84MTY5
Uy84MTEwUwpkZXZpY2UJCXJsCQkjIFJlYWxUZWsgODEyOS84MTM5CmRldmljZQkJc2YJCSMgQWRh
cHRlYyBBSUMtNjkxNSAoYGBTdGFyZmlyZScnKQpkZXZpY2UJCXNpcwkJIyBTaWxpY29uIEludGVn
cmF0ZWQgU3lzdGVtcyBTaVMgOTAwL1NpUyA3MDE2CmRldmljZQkJc2sJCSMgU3lzS29ubmVjdCBT
Sy05ODR4ICYgU0stOTgyeCBnaWdhYml0IEV0aGVybmV0CmRldmljZQkJc3RlCQkjIFN1bmRhbmNl
IFNUMjAxIChELUxpbmsgREZFLTU1MFRYKQpkZXZpY2UJCXN0Z2UJCSMgU3VuZGFuY2UvVGFtYXJh
Y2sgVEM5MDIxIGdpZ2FiaXQgRXRoZXJuZXQKZGV2aWNlCQl0bAkJIyBUZXhhcyBJbnN0cnVtZW50
cyBUaHVuZGVyTEFOCmRldmljZQkJdHgJCSMgU01DIEV0aGVyUG93ZXIgSUkgKDgzYzE3MCBgYEVQ
SUMnJykKZGV2aWNlCQl2Z2UJCSMgVklBIFZUNjEyeCBnaWdhYml0IEV0aGVybmV0CmRldmljZQkJ
dnIJCSMgVklBIFJoaW5lLCBSaGluZSBJSQpkZXZpY2UJCXdiCQkjIFdpbmJvbmQgVzg5Qzg0MEYK
ZGV2aWNlCQl4bAkJIyAzQ29tIDNjOTB4IChgYEJvb21lcmFuZycnLCBgYEN5Y2xvbmUnJykKCiMg
SVNBIEV0aGVybmV0IE5JQ3MuICBwY2NhcmQgTklDcyBpbmNsdWRlZC4KZGV2aWNlCQljcwkJIyBD
cnlzdGFsIFNlbWljb25kdWN0b3IgQ1M4OXgwIE5JQwojICdkZXZpY2UgZWQnIHJlcXVpcmVzICdk
ZXZpY2UgbWlpYnVzJwpkZXZpY2UJCWVkCQkjIE5FWzEyXTAwMCwgU01DIFVsdHJhLCAzYzUwMywg
RFM4MzkwIGNhcmRzCmRldmljZQkJZXgJCSMgSW50ZWwgRXRoZXJFeHByZXNzIFByby8xMCBhbmQg
UHJvLzEwKwpkZXZpY2UJCWVwCQkjIEV0aGVybGluayBJSUkgYmFzZWQgY2FyZHMKZGV2aWNlCQlm
ZQkJIyBGdWppdHN1IE1CODY5NnggYmFzZWQgY2FyZHMKZGV2aWNlCQlpZQkJIyBFdGhlckV4cHJl
c3MgOC8xNiwgM0M1MDcsIFN0YXJMQU4gMTAgZXRjLgpkZXZpY2UJCXNuCQkjIFNNQydzIDkwMDAg
c2VyaWVzIG9mIEV0aGVybmV0IGNoaXBzCmRldmljZQkJeGUJCSMgWGlyY29tIHBjY2FyZCBFdGhl
cm5ldAoKIyBXaXJlbGVzcyBOSUMgY2FyZHMKZGV2aWNlCQl3bGFuCQkjIDgwMi4xMSBzdXBwb3J0
Cm9wdGlvbnMgCUlFRUU4MDIxMV9ERUJVRwkjIGVuYWJsZSBkZWJ1ZyBtc2dzCm9wdGlvbnMgCUlF
RUU4MDIxMV9BTVBEVV9BR0UgIyBhZ2UgZnJhbWVzIGluIEFNUERVIHJlb3JkZXIgcSdzCm9wdGlv
bnMgCUlFRUU4MDIxMV9TVVBQT1JUX01FU0gJIyBlbmFibGUgODAyLjExcyBkcmFmdCBzdXBwb3J0
CmRldmljZQkJd2xhbl93ZXAJIyA4MDIuMTEgV0VQIHN1cHBvcnQKZGV2aWNlCQl3bGFuX2NjbXAJ
IyA4MDIuMTEgQ0NNUCBzdXBwb3J0CmRldmljZQkJd2xhbl90a2lwCSMgODAyLjExIFRLSVAgc3Vw
cG9ydApkZXZpY2UJCXdsYW5fYW1ycgkjIEFNUlIgdHJhbnNtaXQgcmF0ZSBjb250cm9sIGFsZ29y
aXRobQpkZXZpY2UJCWFuCQkjIEFpcm9uZXQgNDUwMC80ODAwIDgwMi4xMSB3aXJlbGVzcyBOSUNz
LgpkZXZpY2UJCWF0aAkJIyBBdGhlcm9zIHBjaS9jYXJkYnVzIE5JQydzCmRldmljZQkJYXRoX2hh
bAkJIyBwY2kvY2FyZGJ1cyBjaGlwIHN1cHBvcnQKb3B0aW9ucyAJQUhfU1VQUE9SVF9BUjU0MTYJ
IyBlbmFibGUgQVI1NDE2IHR4L3J4IGRlc2NyaXB0b3JzCmRldmljZQkJYXRoX3JhdGVfc2FtcGxl
CSMgU2FtcGxlUmF0ZSB0eCByYXRlIGNvbnRyb2wgZm9yIGF0aApkZXZpY2UJCXJhbAkJIyBSYWxp
bmsgVGVjaG5vbG9neSBSVDI1MDAgd2lyZWxlc3MgTklDcy4KZGV2aWNlCQl3aQkJIyBXYXZlTEFO
L0ludGVyc2lsL1N5bWJvbCA4MDIuMTEgd2lyZWxlc3MgTklDcy4KI2RldmljZQkJd2wJCSMgT2xk
ZXIgbm9uIDgwMi4xMSBXYXZlbGFuIHdpcmVsZXNzIE5JQy4KCiMgUHNldWRvIGRldmljZXMuCmRl
dmljZQkJbG9vcAkJIyBOZXR3b3JrIGxvb3BiYWNrCmRldmljZQkJcmFuZG9tCQkjIEVudHJvcHkg
ZGV2aWNlCmRldmljZQkJZXRoZXIJCSMgRXRoZXJuZXQgc3VwcG9ydApkZXZpY2UJCXR1bgkJIyBQ
YWNrZXQgdHVubmVsLgpkZXZpY2UJCXB0eQkJIyBCU0Qtc3R5bGUgY29tcGF0aWJpbGl0eSBwc2V1
ZG8gdHR5cwpkZXZpY2UJCW1kCQkjIE1lbW9yeSAiZGlza3MiCmRldmljZQkJZ2lmCQkjIElQdjYg
YW5kIElQdjQgdHVubmVsaW5nCmRldmljZQkJZmFpdGgJCSMgSVB2Ni10by1JUHY0IHJlbGF5aW5n
ICh0cmFuc2xhdGlvbikKZGV2aWNlCQlmaXJtd2FyZQkjIGZpcm13YXJlIGFzc2lzdCBtb2R1bGUK
CiMgVGhlIGBicGYnIGRldmljZSBlbmFibGVzIHRoZSBCZXJrZWxleSBQYWNrZXQgRmlsdGVyLgoj
IEJlIGF3YXJlIG9mIHRoZSBhZG1pbmlzdHJhdGl2ZSBjb25zZXF1ZW5jZXMgb2YgZW5hYmxpbmcg
dGhpcyEKIyBOb3RlIHRoYXQgJ2JwZicgaXMgcmVxdWlyZWQgZm9yIERIQ1AuCmRldmljZQkJYnBm
CQkjIEJlcmtlbGV5IHBhY2tldCBmaWx0ZXIKCiMgVVNCIHN1cHBvcnQKZGV2aWNlCQl1aGNpCQkj
IFVIQ0kgUENJLT5VU0IgaW50ZXJmYWNlCmRldmljZQkJb2hjaQkJIyBPSENJIFBDSS0+VVNCIGlu
dGVyZmFjZQpkZXZpY2UJCWVoY2kJCSMgRUhDSSBQQ0ktPlVTQiBpbnRlcmZhY2UgKFVTQiAyLjAp
CmRldmljZQkJdXNiCQkjIFVTQiBCdXMgKHJlcXVpcmVkKQojZGV2aWNlCQl1ZGJwCQkjIFVTQiBE
b3VibGUgQnVsayBQaXBlIGRldmljZXMKZGV2aWNlCQl1aGlkCQkjICJIdW1hbiBJbnRlcmZhY2Ug
RGV2aWNlcyIKZGV2aWNlCQl1a2JkCQkjIEtleWJvYXJkCmRldmljZQkJdWxwdAkJIyBQcmludGVy
CmRldmljZQkJdW1hc3MJCSMgRGlza3MvTWFzcyBzdG9yYWdlIC0gUmVxdWlyZXMgc2NidXMgYW5k
IGRhCmRldmljZQkJdW1zCQkjIE1vdXNlCmRldmljZQkJcnVtCQkjIFJhbGluayBUZWNobm9sb2d5
IFJUMjUwMVVTQiB3aXJlbGVzcyBOSUNzCmRldmljZQkJdXJhbAkJIyBSYWxpbmsgVGVjaG5vbG9n
eSBSVDI1MDBVU0Igd2lyZWxlc3MgTklDcwpkZXZpY2UJCXVhdGgJCSMgQXRoZXJvcyBBUjU1MjMg
d2lyZWxlc3MgTklDcwpkZXZpY2UJCXp5ZAkJIyBaeURBUyB6YjEyMTEvemIxMjExYiB3aXJlbGVz
cyBOSUNzCmRldmljZQkJdXJpbwkJIyBEaWFtb25kIFJpbyA1MDAgTVAzIHBsYXllcgojIFVTQiBT
ZXJpYWwgZGV2aWNlcwpkZXZpY2UJCXUzZwkJIyBVU0ItYmFzZWQgM0cgbW9kZW1zIChPcHRpb24s
IEh1YXdlaSwgU2llcnJhKQpkZXZpY2UJCXVhcmsJCSMgVGVjaG5vbG9naWVzIEFSSzMxMTYgYmFz
ZWQgc2VyaWFsIGFkYXB0ZXJzCmRldmljZQkJdWJzYQkJIyBCZWxraW4gRjVVMTAzIGFuZCBjb21w
YXRpYmxlIHNlcmlhbCBhZGFwdGVycwpkZXZpY2UJCXVmdGRpCQkjIEZvciBGVERJIHVzYiBzZXJp
YWwgYWRhcHRlcnMKZGV2aWNlCQl1aXBhcQkJIyBTb21lIFdpbkNFIGJhc2VkIGRldmljZXMKZGV2
aWNlCQl1cGxjb20JCSMgUHJvbGlmaWMgUEwtMjMwMyBzZXJpYWwgYWRhcHRlcnMKZGV2aWNlCQl1
c2xjb20JCSMgU0kgTGFicyBDUDIxMDEvQ1AyMTAyIHNlcmlhbCBhZGFwdGVycwpkZXZpY2UJCXV2
aXNvcgkJIyBWaXNvciBhbmQgUGFsbSBkZXZpY2VzCmRldmljZQkJdXZzY29tCQkjIFVTQiBzZXJp
YWwgc3VwcG9ydCBmb3IgRERJIHBvY2tldCdzIFBIUwojIFVTQiBFdGhlcm5ldCwgcmVxdWlyZXMg
bWlpYnVzCmRldmljZQkJYXVlCQkjIEFETXRlayBVU0IgRXRoZXJuZXQKZGV2aWNlCQlheGUJCSMg
QVNJWCBFbGVjdHJvbmljcyBVU0IgRXRoZXJuZXQKZGV2aWNlCQljZGNlCQkjIEdlbmVyaWMgVVNC
IG92ZXIgRXRoZXJuZXQKZGV2aWNlCQljdWUJCSMgQ0FUQyBVU0IgRXRoZXJuZXQKZGV2aWNlCQlr
dWUJCSMgS2F3YXNha2kgTFNJIFVTQiBFdGhlcm5ldApkZXZpY2UJCXJ1ZQkJIyBSZWFsVGVrIFJU
TDgxNTAgVVNCIEV0aGVybmV0CmRldmljZQkJdWRhdgkJIyBEYXZpY29tIERNOTYwMUUgVVNCCgoj
IEZpcmVXaXJlIHN1cHBvcnQKZGV2aWNlCQlmaXJld2lyZQkjIEZpcmVXaXJlIGJ1cyBjb2RlCiNk
ZXZpY2UJCXNicAkJIyBTQ1NJIG92ZXIgRmlyZVdpcmUgKFJlcXVpcmVzIHNjYnVzIGFuZCBkYSkK
ZGV2aWNlCQlmd2UJCSMgRXRoZXJuZXQgb3ZlciBGaXJlV2lyZSAobm9uLXN0YW5kYXJkISkKZGV2
aWNlCQlmd2lwCQkjIElQIG92ZXIgRmlyZVdpcmUgKFJGQyAyNzM0LDMxNDYpCmRldmljZQkJZGNv
bnMJCSMgRHVtYiBjb25zb2xlIGRyaXZlcgpkZXZpY2UJCWRjb25zX2Nyb20JIyBDb25maWd1cmF0
aW9uIFJPTSBmb3IgZGNvbnMK
--0016e68fcd6c6dd7160487e6a6d2
Content-Type: application/octet-stream; name=NOULPTKERNEL
Content-Disposition: attachment; filename=NOULPTKERNEL
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g9vjba202

Y3B1CQlJNTg2X0NQVQppZGVudAkJTk9VTFBUS0VSTkVMCgojIFRvIHN0YXRpY2FsbHkgY29tcGls
ZSBpbiBkZXZpY2Ugd2lyaW5nIGluc3RlYWQgb2YgL2Jvb3QvZGV2aWNlLmhpbnRzCiNoaW50cwkJ
IkdFTkVSSUMuaGludHMiCQkjIERlZmF1bHQgcGxhY2VzIHRvIGxvb2sgZm9yIGRldmljZXMuCgoj
IFVzZSB0aGUgZm9sbG93aW5nIHRvIGNvbXBpbGUgaW4gdmFsdWVzIGFjY2Vzc2libGUgdG8gdGhl
IGtlcm5lbAojIHRocm91Z2ggZ2V0ZW52KCkgKG9yIGtlbnYoMSkgaW4gdXNlcmxhbmQpLiBUaGUg
Zm9ybWF0IG9mIHRoZSBmaWxlCiMgaXMgJ3ZhcmlhYmxlPXZhbHVlJywgc2VlIGtlbnYoMSkKIwoj
IGVudgkJIkdFTkVSSUMuZW52IgoKbWFrZW9wdGlvbnMJREVCVUc9LWcJCSMgQnVpbGQga2VybmVs
IHdpdGggZ2RiKDEpIGRlYnVnIHN5bWJvbHMKCm9wdGlvbnMgCVNDSEVEX1VMRQkJIyBVTEUgc2No
ZWR1bGVyCm9wdGlvbnMgCVBSRUVNUFRJT04JCSMgRW5hYmxlIGtlcm5lbCB0aHJlYWQgcHJlZW1w
dGlvbgpvcHRpb25zIAlJTkVUCQkJIyBJbnRlck5FVHdvcmtpbmcKb3B0aW9ucyAJSU5FVDYJCQkj
IElQdjYgY29tbXVuaWNhdGlvbnMgcHJvdG9jb2xzCm9wdGlvbnMgCVNDVFAJCQkjIFN0cmVhbSBD
b250cm9sIFRyYW5zbWlzc2lvbiBQcm90b2NvbApvcHRpb25zIAlGRlMJCQkjIEJlcmtlbGV5IEZh
c3QgRmlsZXN5c3RlbQpvcHRpb25zIAlTT0ZUVVBEQVRFUwkJIyBFbmFibGUgRkZTIHNvZnQgdXBk
YXRlcyBzdXBwb3J0Cm9wdGlvbnMgCVVGU19BQ0wJCQkjIFN1cHBvcnQgZm9yIGFjY2VzcyBjb250
cm9sIGxpc3RzCm9wdGlvbnMgCVVGU19ESVJIQVNICQkjIEltcHJvdmUgcGVyZm9ybWFuY2Ugb24g
YmlnIGRpcmVjdG9yaWVzCm9wdGlvbnMgCVVGU19HSk9VUk5BTAkJIyBFbmFibGUgZ2pvdXJuYWwt
YmFzZWQgVUZTIGpvdXJuYWxpbmcKb3B0aW9ucyAJTURfUk9PVAkJCSMgTUQgaXMgYSBwb3RlbnRp
YWwgcm9vdCBkZXZpY2UKb3B0aW9ucyAJTkZTQ0xJRU5UCQkjIE5ldHdvcmsgRmlsZXN5c3RlbSBD
bGllbnQKb3B0aW9ucyAJTkZTU0VSVkVSCQkjIE5ldHdvcmsgRmlsZXN5c3RlbSBTZXJ2ZXIKb3B0
aW9ucyAJTkZTTE9DS0QJCSMgTmV0d29yayBMb2NrIE1hbmFnZXIKb3B0aW9ucyAJTkZTX1JPT1QJ
CSMgTkZTIHVzYWJsZSBhcyAvLCByZXF1aXJlcyBORlNDTElFTlQKb3B0aW9ucyAJTVNET1NGUwkJ
CSMgTVNET1MgRmlsZXN5c3RlbQpvcHRpb25zIAlDRDk2NjAJCQkjIElTTyA5NjYwIEZpbGVzeXN0
ZW0Kb3B0aW9ucyAJUFJPQ0ZTCQkJIyBQcm9jZXNzIGZpbGVzeXN0ZW0gKHJlcXVpcmVzIFBTRVVE
T0ZTKQpvcHRpb25zIAlQU0VVRE9GUwkJIyBQc2V1ZG8tZmlsZXN5c3RlbSBmcmFtZXdvcmsKb3B0
aW9ucyAJR0VPTV9QQVJUX0dQVAkJIyBHVUlEIFBhcnRpdGlvbiBUYWJsZXMuCm9wdGlvbnMgCUdF
T01fTEFCRUwJCSMgUHJvdmlkZXMgbGFiZWxpemF0aW9uCm9wdGlvbnMgCUNPTVBBVF80M1RUWQkJ
IyBCU0QgNC4zIFRUWSBjb21wYXQgKHNndHR5KQpvcHRpb25zIAlDT01QQVRfRlJFRUJTRDQJCSMg
Q29tcGF0aWJsZSB3aXRoIEZyZWVCU0Q0Cm9wdGlvbnMgCUNPTVBBVF9GUkVFQlNENQkJIyBDb21w
YXRpYmxlIHdpdGggRnJlZUJTRDUKb3B0aW9ucyAJQ09NUEFUX0ZSRUVCU0Q2CQkjIENvbXBhdGli
bGUgd2l0aCBGcmVlQlNENgpvcHRpb25zIAlDT01QQVRfRlJFRUJTRDcJCSMgQ29tcGF0aWJsZSB3
aXRoIEZyZWVCU0Q3Cm9wdGlvbnMgCVNDU0lfREVMQVk9NTAwMAkJIyBEZWxheSAoaW4gbXMpIGJl
Zm9yZSBwcm9iaW5nIFNDU0kKb3B0aW9ucyAJS1RSQUNFCQkJIyBrdHJhY2UoMSkgc3VwcG9ydApv
cHRpb25zIAlTVEFDSwkJCSMgc3RhY2soOSkgc3VwcG9ydApvcHRpb25zIAlTWVNWU0hNCQkJIyBT
WVNWLXN0eWxlIHNoYXJlZCBtZW1vcnkKb3B0aW9ucyAJU1lTVk1TRwkJCSMgU1lTVi1zdHlsZSBt
ZXNzYWdlIHF1ZXVlcwpvcHRpb25zIAlTWVNWU0VNCQkJIyBTWVNWLXN0eWxlIHNlbWFwaG9yZXMK
b3B0aW9ucyAJUDEwMDNfMUJfU0VNQVBIT1JFUwkjIFBPU0lYLXN0eWxlIHNlbWFwaG9yZXMKb3B0
aW9ucyAJX0tQT1NJWF9QUklPUklUWV9TQ0hFRFVMSU5HICMgUE9TSVggUDEwMDNfMUIgcmVhbC10
aW1lIGV4dGVuc2lvbnMKb3B0aW9ucyAJUFJJTlRGX0JVRlJfU0laRT0xMjgJIyBQcmV2ZW50IHBy
aW50ZiBvdXRwdXQgYmVpbmcgaW50ZXJzcGVyc2VkLgpvcHRpb25zIAlLQkRfSU5TVEFMTF9DREVW
CSMgaW5zdGFsbCBhIENERVYgZW50cnkgaW4gL2RldgpvcHRpb25zIAlIV1BNQ19IT09LUwkJIyBO
ZWNlc3Nhcnkga2VybmVsIGhvb2tzIGZvciBod3BtYyg0KQpvcHRpb25zIAlBVURJVAkJCSMgU2Vj
dXJpdHkgZXZlbnQgYXVkaXRpbmcKb3B0aW9ucyAJTUFDCQkJIyBUcnVzdGVkQlNEIE1BQyBGcmFt
ZXdvcmsKb3B0aW9ucwkJRkxPV1RBQkxFCQkjIHBlci1jcHUgcm91dGluZyBjYWNoZQojb3B0aW9u
cyAJS0RUUkFDRV9IT09LUwkJIyBLZXJuZWwgRFRyYWNlIGhvb2tzCgojIFRvIG1ha2UgYW4gU01Q
IGtlcm5lbCwgdGhlIG5leHQgdHdvIGxpbmVzIGFyZSBuZWVkZWQKb3B0aW9ucyAJU01QCQkJIyBT
eW1tZXRyaWMgTXVsdGlQcm9jZXNzb3IgS2VybmVsCmRldmljZQkJYXBpYwkJCSMgSS9PIEFQSUMK
CiMgQ1BVIGZyZXF1ZW5jeSBjb250cm9sCmRldmljZQkJY3B1ZnJlcQoKIyBCdXMgc3VwcG9ydC4K
ZGV2aWNlCQlhY3BpCmRldmljZQkJZWlzYQpkZXZpY2UJCXBjaQoKIyBGbG9wcHkgZHJpdmVzCmRl
dmljZQkJZmRjCgojIEFUQSBhbmQgQVRBUEkgZGV2aWNlcwpkZXZpY2UJCWF0YQpkZXZpY2UJCWF0
YWRpc2sJCSMgQVRBIGRpc2sgZHJpdmVzCmRldmljZQkJYXRhcmFpZAkJIyBBVEEgUkFJRCBkcml2
ZXMKZGV2aWNlCQlhdGFwaWNkCQkjIEFUQVBJIENEUk9NIGRyaXZlcwpkZXZpY2UJCWF0YXBpZmQJ
CSMgQVRBUEkgZmxvcHB5IGRyaXZlcwpkZXZpY2UJCWF0YXBpc3QJCSMgQVRBUEkgdGFwZSBkcml2
ZXMKb3B0aW9ucyAJQVRBX1NUQVRJQ19JRAkjIFN0YXRpYyBkZXZpY2UgbnVtYmVyaW5nCgojIFND
U0kgQ29udHJvbGxlcnMKZGV2aWNlCQlhaGIJCSMgRUlTQSBBSEExNzQyIGZhbWlseQpkZXZpY2UJ
CWFoYwkJIyBBSEEyOTQwIGFuZCBvbmJvYXJkIEFJQzd4eHggZGV2aWNlcwpvcHRpb25zIAlBSENf
UkVHX1BSRVRUWV9QUklOVAkjIFByaW50IHJlZ2lzdGVyIGJpdGZpZWxkcyBpbiBkZWJ1ZwoJCQkJ
CSMgb3V0cHV0LiAgQWRkcyB+MTI4ayB0byBkcml2ZXIuCmRldmljZQkJYWhkCQkjIEFIQTM5MzIw
LzI5MzIwIGFuZCBvbmJvYXJkIEFJQzc5eHggZGV2aWNlcwpvcHRpb25zIAlBSERfUkVHX1BSRVRU
WV9QUklOVAkjIFByaW50IHJlZ2lzdGVyIGJpdGZpZWxkcyBpbiBkZWJ1ZwoJCQkJCSMgb3V0cHV0
LiAgQWRkcyB+MjE1ayB0byBkcml2ZXIuCmRldmljZQkJYW1kCQkjIEFNRCA1M0M5NzQgKFRla3Jh
bSBEQy0zOTAoVCkpCmRldmljZQkJaHB0aW9wCQkjIEhpZ2hwb2ludCBSb2NrZXRSYWlkIDN4eHgg
c2VyaWVzCmRldmljZQkJaXNwCQkjIFFsb2dpYyBmYW1pbHkKI2RldmljZQkJaXNwZncJCSMgRmly
bXdhcmUgZm9yIFFMb2dpYyBIQkFzLSBub3JtYWxseSBhIG1vZHVsZQpkZXZpY2UJCW1wdAkJIyBM
U0ktTG9naWMgTVBULUZ1c2lvbgojZGV2aWNlCQluY3IJCSMgTkNSL1N5bWJpb3MgTG9naWMKZGV2
aWNlCQlzeW0JCSMgTkNSL1N5bWJpb3MgTG9naWMgKG5ld2VyIGNoaXBzZXRzICsgdGhvc2Ugb2Yg
YG5jcicpCmRldmljZQkJdHJtCQkjIFRla3JhbSBEQzM5NVUvVVcvRiBEQzMxNVUgYWRhcHRlcnMK
CmRldmljZQkJYWR2CQkjIEFkdmFuc3lzIFNDU0kgYWRhcHRlcnMKZGV2aWNlCQlhZHcJCSMgQWR2
YW5zeXMgd2lkZSBTQ1NJIGFkYXB0ZXJzCmRldmljZQkJYWhhCQkjIEFkYXB0ZWMgMTU0eCBTQ1NJ
IGFkYXB0ZXJzCmRldmljZQkJYWljCQkjIEFkYXB0ZWMgMTVbMDEyXXggU0NTSSBhZGFwdGVycywg
QUlDLTZbMjNdNjAuCmRldmljZQkJYnQJCSMgQnVzbG9naWMvTXlsZXggTXVsdGlNYXN0ZXIgU0NT
SSBhZGFwdGVycwoKZGV2aWNlCQluY3YJCSMgTkNSIDUzQzUwMApkZXZpY2UJCW5zcAkJIyBXb3Jr
Yml0IE5pbmphIFNDU0ktMwpkZXZpY2UJCXN0ZwkJIyBUTUMgMThDMzAvMThDNTAKCiMgU0NTSSBw
ZXJpcGhlcmFscwpkZXZpY2UJCXNjYnVzCQkjIFNDU0kgYnVzIChyZXF1aXJlZCBmb3IgU0NTSSkK
ZGV2aWNlCQljaAkJIyBTQ1NJIG1lZGlhIGNoYW5nZXJzCmRldmljZQkJZGEJCSMgRGlyZWN0IEFj
Y2VzcyAoZGlza3MpCmRldmljZQkJc2EJCSMgU2VxdWVudGlhbCBBY2Nlc3MgKHRhcGUgZXRjKQpk
ZXZpY2UJCWNkCQkjIENECmRldmljZQkJcGFzcwkJIyBQYXNzdGhyb3VnaCBkZXZpY2UgKGRpcmVj
dCBTQ1NJIGFjY2VzcykKZGV2aWNlCQlzZXMJCSMgU0NTSSBFbnZpcm9ubWVudGFsIFNlcnZpY2Vz
IChhbmQgU0FGLVRFKQoKIyBSQUlEIGNvbnRyb2xsZXJzIGludGVyZmFjZWQgdG8gdGhlIFNDU0kg
c3Vic3lzdGVtCmRldmljZQkJYW1yCQkjIEFNSSBNZWdhUkFJRApkZXZpY2UJCWFyY21zcgkJIyBB
cmVjYSBTQVRBIElJIFJBSUQKZGV2aWNlCQlhc3IJCSMgRFBUIFNtYXJ0UkFJRCBWLCBWSSBhbmQg
QWRhcHRlYyBTQ1NJIFJBSUQKZGV2aWNlCQljaXNzCQkjIENvbXBhcSBTbWFydCBSQUlEIDUqCmRl
dmljZQkJZHB0CQkjIERQVCBTbWFydGNhY2hlIElJSSwgSVYgLSBTZWUgTk9URVMgZm9yIG9wdGlv
bnMKZGV2aWNlCQlocHRtdgkJIyBIaWdocG9pbnQgUm9ja2V0UkFJRCAxODJ4CmRldmljZQkJaHB0
cnIJCSMgSGlnaHBvaW50IFJvY2tldFJBSUQgMTd4eCwgMjJ4eCwgMjN4eCwgMjV4eApkZXZpY2UJ
CWlpcgkJIyBJbnRlbCBJbnRlZ3JhdGVkIFJBSUQKZGV2aWNlCQlpcHMJCSMgSUJNIChBZGFwdGVj
KSBTZXJ2ZVJBSUQKZGV2aWNlCQltbHkJCSMgTXlsZXggQWNjZWxlUkFJRC9lWHRyZW1lUkFJRApk
ZXZpY2UJCXR3YQkJIyAzd2FyZSA5MDAwIHNlcmllcyBQQVRBL1NBVEEgUkFJRAoKIyBSQUlEIGNv
bnRyb2xsZXJzCmRldmljZQkJYWFjCQkjIEFkYXB0ZWMgRlNBIFJBSUQKZGV2aWNlCQlhYWNwCQkj
IFNDU0kgcGFzc3Rocm91Z2ggZm9yIGFhYyAocmVxdWlyZXMgQ0FNKQpkZXZpY2UJCWlkYQkJIyBD
b21wYXEgU21hcnQgUkFJRApkZXZpY2UJCW1maQkJIyBMU0kgTWVnYVJBSUQgU0FTCmRldmljZQkJ
bWx4CQkjIE15bGV4IERBQzk2MCBmYW1pbHkKZGV2aWNlCQlwc3QJCSMgUHJvbWlzZSBTdXBlcnRy
YWsgU1g2MDAwCmRldmljZQkJdHdlCQkjIDN3YXJlIEFUQSBSQUlECgojIGF0a2JkYzAgY29udHJv
bHMgYm90aCB0aGUga2V5Ym9hcmQgYW5kIHRoZSBQUy8yIG1vdXNlCmRldmljZQkJYXRrYmRjCQkj
IEFUIGtleWJvYXJkIGNvbnRyb2xsZXIKZGV2aWNlCQlhdGtiZAkJIyBBVCBrZXlib2FyZApkZXZp
Y2UJCXBzbQkJIyBQUy8yIG1vdXNlCgpkZXZpY2UJCWtiZG11eAkJIyBrZXlib2FyZCBtdWx0aXBs
ZXhlcgoKZGV2aWNlCQl2Z2EJCSMgVkdBIHZpZGVvIGNhcmQgZHJpdmVyCgpkZXZpY2UJCXNwbGFz
aAkJIyBTcGxhc2ggc2NyZWVuIGFuZCBzY3JlZW4gc2F2ZXIgc3VwcG9ydAoKIyBzeXNjb25zIGlz
IHRoZSBkZWZhdWx0IGNvbnNvbGUgZHJpdmVyLCByZXNlbWJsaW5nIGFuIFNDTyBjb25zb2xlCmRl
dmljZQkJc2MKCmRldmljZQkJYWdwCQkjIHN1cHBvcnQgc2V2ZXJhbCBBR1AgY2hpcHNldHMKCiMg
UG93ZXIgbWFuYWdlbWVudCBzdXBwb3J0IChzZWUgTk9URVMgZm9yIG1vcmUgb3B0aW9ucykKI2Rl
dmljZQkJYXBtCiMgQWRkIHN1c3BlbmQvcmVzdW1lIHN1cHBvcnQgZm9yIHRoZSBpODI1NC4KZGV2
aWNlCQlwbXRpbWVyCgojIFBDQ0FSRCAoUENNQ0lBKSBzdXBwb3J0CiMgUENNQ0lBIGFuZCBjYXJk
YnVzIGJyaWRnZSBzdXBwb3J0CmRldmljZQkJY2JiCQkjIGNhcmRidXMgKHllbnRhKSBicmlkZ2UK
ZGV2aWNlCQlwY2NhcmQJCSMgUEMgQ2FyZCAoMTYtYml0KSBidXMKZGV2aWNlCQljYXJkYnVzCQkj
IENhcmRCdXMgKDMyLWJpdCkgYnVzCgojIFNlcmlhbCAoQ09NKSBwb3J0cwpkZXZpY2UJCXVhcnQJ
CSMgR2VuZXJpYyBVQVJUIGRyaXZlcgoKIyBQYXJhbGxlbCBwb3J0CmRldmljZQkJcHBjCmRldmlj
ZQkJcHBidXMJCSMgUGFyYWxsZWwgcG9ydCBidXMgKHJlcXVpcmVkKQpkZXZpY2UJCWxwdAkJIyBQ
cmludGVyCmRldmljZQkJcGxpcAkJIyBUQ1AvSVAgb3ZlciBwYXJhbGxlbApkZXZpY2UJCXBwaQkJ
IyBQYXJhbGxlbCBwb3J0IGludGVyZmFjZSBkZXZpY2UKI2RldmljZQkJdnBvCQkjIFJlcXVpcmVz
IHNjYnVzIGFuZCBkYQoKIyBJZiB5b3UndmUgZ290IGEgImR1bWIiIHNlcmlhbCBvciBwYXJhbGxl
bCBQQ0kgY2FyZCB0aGF0IGlzCiMgc3VwcG9ydGVkIGJ5IHRoZSBwdWMoNCkgZ2x1ZSBkcml2ZXIs
IHVuY29tbWVudCB0aGUgZm9sbG93aW5nCiMgbGluZSB0byBlbmFibGUgaXQgKGNvbm5lY3RzIHRv
IHNpbywgdWFydCBhbmQvb3IgcHBjIGRyaXZlcnMpOgojZGV2aWNlCQlwdWMKCiMgUENJIEV0aGVy
bmV0IE5JQ3MuCmRldmljZQkJZGUJCSMgREVDL0ludGVsIERDMjF4NHggKGBgVHVsaXAnJykKZGV2
aWNlCQllbQkJIyBJbnRlbCBQUk8vMTAwMCBHaWdhYml0IEV0aGVybmV0IEZhbWlseQpkZXZpY2UJ
CWlnYgkJIyBJbnRlbCBQUk8vMTAwMCBQQ0lFIFNlcnZlciBHaWdhYml0IEZhbWlseQpkZXZpY2UJ
CWl4Z2IJCSMgSW50ZWwgUFJPLzEwR2JFIEV0aGVybmV0IENhcmQKZGV2aWNlCQlsZQkJIyBBTUQg
QW03OTAwIExBTkNFIGFuZCBBbTc5Qzl4eCBQQ25ldApkZXZpY2UJCXRpCQkjIEFsdGVvbiBOZXR3
b3JrcyBUaWdvbiBJL0lJIGdpZ2FiaXQgRXRoZXJuZXQKZGV2aWNlCQl0eHAJCSMgM0NvbSAzY1I5
OTAgKGBgVHlwaG9vbicnKQpkZXZpY2UJCXZ4CQkjIDNDb20gM2M1OTAsIDNjNTk1IChgYFZvcnRl
eCcnKQoKIyBQQ0kgRXRoZXJuZXQgTklDcyB0aGF0IHVzZSB0aGUgY29tbW9uIE1JSSBidXMgY29u
dHJvbGxlciBjb2RlLgojIE5PVEU6IEJlIHN1cmUgdG8ga2VlcCB0aGUgJ2RldmljZSBtaWlidXMn
IGxpbmUgaW4gb3JkZXIgdG8gdXNlIHRoZXNlIE5JQ3MhCmRldmljZQkJbWlpYnVzCQkjIE1JSSBi
dXMgc3VwcG9ydApkZXZpY2UJCWFlCQkjIEF0dGFuc2ljL0F0aGVyb3MgTDIgRmFzdEV0aGVybmV0
CmRldmljZQkJYWdlCQkjIEF0dGFuc2ljL0F0aGVyb3MgTDEgR2lnYWJpdCBFdGhlcm5ldApkZXZp
Y2UJCWFsYwkJIyBBdGhlcm9zIEFSODEzMS9BUjgxMzIgRXRoZXJuZXQKZGV2aWNlCQlhbGUJCSMg
QXRoZXJvcyBBUjgxMjEvQVI4MTEzL0FSODExNCBFdGhlcm5ldApkZXZpY2UJCWJjZQkJIyBCcm9h
ZGNvbSBCQ001NzA2L0JDTTU3MDggR2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCWJmZQkJIyBCcm9h
ZGNvbSBCQ000NDB4IDEwLzEwMCBFdGhlcm5ldApkZXZpY2UJCWJnZQkJIyBCcm9hZGNvbSBCQ001
NzB4eCBHaWdhYml0IEV0aGVybmV0CmRldmljZQkJZGMJCSMgREVDL0ludGVsIDIxMTQzIGFuZCB2
YXJpb3VzIHdvcmthbGlrZXMKZGV2aWNlCQlldAkJIyBBZ2VyZSBFVDEzMTAgMTAvMTAwL0dpZ2Fi
aXQgRXRoZXJuZXQKZGV2aWNlCQlmeHAJCSMgSW50ZWwgRXRoZXJFeHByZXNzIFBSTy8xMDBCICg4
MjU1NywgODI1NTgpCmRldmljZQkJam1lCQkjIEpNaWNyb24gSk1DMjUwIEdpZ2FiaXQvSk1DMjYw
IEZhc3QgRXRoZXJuZXQKZGV2aWNlCQlsZ2UJCSMgTGV2ZWwgMSBMWFQxMDAxIGdpZ2FiaXQgRXRo
ZXJuZXQKZGV2aWNlCQltc2sJCSMgTWFydmVsbC9TeXNLb25uZWN0IFl1a29uIElJIEdpZ2FiaXQg
RXRoZXJuZXQKZGV2aWNlCQluZmUJCSMgblZpZGlhIG5Gb3JjZSBNQ1Agb24tYm9hcmQgRXRoZXJu
ZXQKZGV2aWNlCQluZ2UJCSMgTmF0U2VtaSBEUDgzODIwIGdpZ2FiaXQgRXRoZXJuZXQKI2Rldmlj
ZQkJbnZlCQkjIG5WaWRpYSBuRm9yY2UgTUNQIG9uLWJvYXJkIEV0aGVybmV0IE5ldHdvcmtpbmcK
ZGV2aWNlCQlwY24JCSMgQU1EIEFtNzlDOTd4IFBDSSAxMC8xMDAgKHByZWNlZGVuY2Ugb3ZlciAn
bGUnKQpkZXZpY2UJCXJlCQkjIFJlYWxUZWsgODEzOUMrLzgxNjkvODE2OVMvODExMFMKZGV2aWNl
CQlybAkJIyBSZWFsVGVrIDgxMjkvODEzOQpkZXZpY2UJCXNmCQkjIEFkYXB0ZWMgQUlDLTY5MTUg
KGBgU3RhcmZpcmUnJykKZGV2aWNlCQlzaXMJCSMgU2lsaWNvbiBJbnRlZ3JhdGVkIFN5c3RlbXMg
U2lTIDkwMC9TaVMgNzAxNgpkZXZpY2UJCXNrCQkjIFN5c0tvbm5lY3QgU0stOTg0eCAmIFNLLTk4
MnggZ2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCXN0ZQkJIyBTdW5kYW5jZSBTVDIwMSAoRC1MaW5r
IERGRS01NTBUWCkKZGV2aWNlCQlzdGdlCQkjIFN1bmRhbmNlL1RhbWFyYWNrIFRDOTAyMSBnaWdh
Yml0IEV0aGVybmV0CmRldmljZQkJdGwJCSMgVGV4YXMgSW5zdHJ1bWVudHMgVGh1bmRlckxBTgpk
ZXZpY2UJCXR4CQkjIFNNQyBFdGhlclBvd2VyIElJICg4M2MxNzAgYGBFUElDJycpCmRldmljZQkJ
dmdlCQkjIFZJQSBWVDYxMnggZ2lnYWJpdCBFdGhlcm5ldApkZXZpY2UJCXZyCQkjIFZJQSBSaGlu
ZSwgUmhpbmUgSUkKZGV2aWNlCQl3YgkJIyBXaW5ib25kIFc4OUM4NDBGCmRldmljZQkJeGwJCSMg
M0NvbSAzYzkweCAoYGBCb29tZXJhbmcnJywgYGBDeWNsb25lJycpCgojIElTQSBFdGhlcm5ldCBO
SUNzLiAgcGNjYXJkIE5JQ3MgaW5jbHVkZWQuCmRldmljZQkJY3MJCSMgQ3J5c3RhbCBTZW1pY29u
ZHVjdG9yIENTODl4MCBOSUMKIyAnZGV2aWNlIGVkJyByZXF1aXJlcyAnZGV2aWNlIG1paWJ1cycK
ZGV2aWNlCQllZAkJIyBORVsxMl0wMDAsIFNNQyBVbHRyYSwgM2M1MDMsIERTODM5MCBjYXJkcwpk
ZXZpY2UJCWV4CQkjIEludGVsIEV0aGVyRXhwcmVzcyBQcm8vMTAgYW5kIFByby8xMCsKZGV2aWNl
CQllcAkJIyBFdGhlcmxpbmsgSUlJIGJhc2VkIGNhcmRzCmRldmljZQkJZmUJCSMgRnVqaXRzdSBN
Qjg2OTZ4IGJhc2VkIGNhcmRzCmRldmljZQkJaWUJCSMgRXRoZXJFeHByZXNzIDgvMTYsIDNDNTA3
LCBTdGFyTEFOIDEwIGV0Yy4KZGV2aWNlCQlzbgkJIyBTTUMncyA5MDAwIHNlcmllcyBvZiBFdGhl
cm5ldCBjaGlwcwpkZXZpY2UJCXhlCQkjIFhpcmNvbSBwY2NhcmQgRXRoZXJuZXQKCiMgV2lyZWxl
c3MgTklDIGNhcmRzCmRldmljZQkJd2xhbgkJIyA4MDIuMTEgc3VwcG9ydApvcHRpb25zIAlJRUVF
ODAyMTFfREVCVUcJIyBlbmFibGUgZGVidWcgbXNncwpvcHRpb25zIAlJRUVFODAyMTFfQU1QRFVf
QUdFICMgYWdlIGZyYW1lcyBpbiBBTVBEVSByZW9yZGVyIHEncwpvcHRpb25zIAlJRUVFODAyMTFf
U1VQUE9SVF9NRVNICSMgZW5hYmxlIDgwMi4xMXMgZHJhZnQgc3VwcG9ydApkZXZpY2UJCXdsYW5f
d2VwCSMgODAyLjExIFdFUCBzdXBwb3J0CmRldmljZQkJd2xhbl9jY21wCSMgODAyLjExIENDTVAg
c3VwcG9ydApkZXZpY2UJCXdsYW5fdGtpcAkjIDgwMi4xMSBUS0lQIHN1cHBvcnQKZGV2aWNlCQl3
bGFuX2FtcnIJIyBBTVJSIHRyYW5zbWl0IHJhdGUgY29udHJvbCBhbGdvcml0aG0KZGV2aWNlCQlh
bgkJIyBBaXJvbmV0IDQ1MDAvNDgwMCA4MDIuMTEgd2lyZWxlc3MgTklDcy4KZGV2aWNlCQlhdGgJ
CSMgQXRoZXJvcyBwY2kvY2FyZGJ1cyBOSUMncwpkZXZpY2UJCWF0aF9oYWwJCSMgcGNpL2NhcmRi
dXMgY2hpcCBzdXBwb3J0Cm9wdGlvbnMgCUFIX1NVUFBPUlRfQVI1NDE2CSMgZW5hYmxlIEFSNTQx
NiB0eC9yeCBkZXNjcmlwdG9ycwpkZXZpY2UJCWF0aF9yYXRlX3NhbXBsZQkjIFNhbXBsZVJhdGUg
dHggcmF0ZSBjb250cm9sIGZvciBhdGgKZGV2aWNlCQlyYWwJCSMgUmFsaW5rIFRlY2hub2xvZ3kg
UlQyNTAwIHdpcmVsZXNzIE5JQ3MuCmRldmljZQkJd2kJCSMgV2F2ZUxBTi9JbnRlcnNpbC9TeW1i
b2wgODAyLjExIHdpcmVsZXNzIE5JQ3MuCiNkZXZpY2UJCXdsCQkjIE9sZGVyIG5vbiA4MDIuMTEg
V2F2ZWxhbiB3aXJlbGVzcyBOSUMuCgojIFBzZXVkbyBkZXZpY2VzLgpkZXZpY2UJCWxvb3AJCSMg
TmV0d29yayBsb29wYmFjawpkZXZpY2UJCXJhbmRvbQkJIyBFbnRyb3B5IGRldmljZQpkZXZpY2UJ
CWV0aGVyCQkjIEV0aGVybmV0IHN1cHBvcnQKZGV2aWNlCQl0dW4JCSMgUGFja2V0IHR1bm5lbC4K
ZGV2aWNlCQlwdHkJCSMgQlNELXN0eWxlIGNvbXBhdGliaWxpdHkgcHNldWRvIHR0eXMKZGV2aWNl
CQltZAkJIyBNZW1vcnkgImRpc2tzIgpkZXZpY2UJCWdpZgkJIyBJUHY2IGFuZCBJUHY0IHR1bm5l
bGluZwpkZXZpY2UJCWZhaXRoCQkjIElQdjYtdG8tSVB2NCByZWxheWluZyAodHJhbnNsYXRpb24p
CmRldmljZQkJZmlybXdhcmUJIyBmaXJtd2FyZSBhc3Npc3QgbW9kdWxlCmRldmljZQkJc25wCgoj
IFRoZSBgYnBmJyBkZXZpY2UgZW5hYmxlcyB0aGUgQmVya2VsZXkgUGFja2V0IEZpbHRlci4KIyBC
ZSBhd2FyZSBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgY29uc2VxdWVuY2VzIG9mIGVuYWJsaW5nIHRo
aXMhCiMgTm90ZSB0aGF0ICdicGYnIGlzIHJlcXVpcmVkIGZvciBESENQLgpkZXZpY2UJCWJwZgkJ
IyBCZXJrZWxleSBwYWNrZXQgZmlsdGVyCgojIFVTQiBzdXBwb3J0CmRldmljZQkJdWhjaQkJIyBV
SENJIFBDSS0+VVNCIGludGVyZmFjZQpkZXZpY2UJCW9oY2kJCSMgT0hDSSBQQ0ktPlVTQiBpbnRl
cmZhY2UKZGV2aWNlCQllaGNpCQkjIEVIQ0kgUENJLT5VU0IgaW50ZXJmYWNlIChVU0IgMi4wKQpk
ZXZpY2UJCXVzYgkJIyBVU0IgQnVzIChyZXF1aXJlZCkKI2RldmljZQkJdWRicAkJIyBVU0IgRG91
YmxlIEJ1bGsgUGlwZSBkZXZpY2VzCmRldmljZQkJdWhpZAkJIyAiSHVtYW4gSW50ZXJmYWNlIERl
dmljZXMiCmRldmljZQkJdWtiZAkJIyBLZXlib2FyZAojZGV2aWNlCQl1bHB0CQkjIFByaW50ZXIK
ZGV2aWNlCQl1bWFzcwkJIyBEaXNrcy9NYXNzIHN0b3JhZ2UgLSBSZXF1aXJlcyBzY2J1cyBhbmQg
ZGEKZGV2aWNlCQl1bXMJCSMgTW91c2UKZGV2aWNlCQlydW0JCSMgUmFsaW5rIFRlY2hub2xvZ3kg
UlQyNTAxVVNCIHdpcmVsZXNzIE5JQ3MKZGV2aWNlCQl1cmFsCQkjIFJhbGluayBUZWNobm9sb2d5
IFJUMjUwMFVTQiB3aXJlbGVzcyBOSUNzCmRldmljZQkJdWF0aAkJIyBBdGhlcm9zIEFSNTUyMyB3
aXJlbGVzcyBOSUNzCmRldmljZQkJenlkCQkjIFp5REFTIHpiMTIxMS96YjEyMTFiIHdpcmVsZXNz
IE5JQ3MKZGV2aWNlCQl1cmlvCQkjIERpYW1vbmQgUmlvIDUwMCBNUDMgcGxheWVyCiMgVVNCIFNl
cmlhbCBkZXZpY2VzCmRldmljZQkJdTNnCQkjIFVTQi1iYXNlZCAzRyBtb2RlbXMgKE9wdGlvbiwg
SHVhd2VpLCBTaWVycmEpCmRldmljZQkJdWFyawkJIyBUZWNobm9sb2dpZXMgQVJLMzExNiBiYXNl
ZCBzZXJpYWwgYWRhcHRlcnMKZGV2aWNlCQl1YnNhCQkjIEJlbGtpbiBGNVUxMDMgYW5kIGNvbXBh
dGlibGUgc2VyaWFsIGFkYXB0ZXJzCmRldmljZQkJdWZ0ZGkJCSMgRm9yIEZUREkgdXNiIHNlcmlh
bCBhZGFwdGVycwpkZXZpY2UJCXVpcGFxCQkjIFNvbWUgV2luQ0UgYmFzZWQgZGV2aWNlcwpkZXZp
Y2UJCXVwbGNvbQkJIyBQcm9saWZpYyBQTC0yMzAzIHNlcmlhbCBhZGFwdGVycwpkZXZpY2UJCXVz
bGNvbQkJIyBTSSBMYWJzIENQMjEwMS9DUDIxMDIgc2VyaWFsIGFkYXB0ZXJzCmRldmljZQkJdXZp
c29yCQkjIFZpc29yIGFuZCBQYWxtIGRldmljZXMKZGV2aWNlCQl1dnNjb20JCSMgVVNCIHNlcmlh
bCBzdXBwb3J0IGZvciBEREkgcG9ja2V0J3MgUEhTCiMgVVNCIEV0aGVybmV0LCByZXF1aXJlcyBt
aWlidXMKZGV2aWNlCQlhdWUJCSMgQURNdGVrIFVTQiBFdGhlcm5ldApkZXZpY2UJCWF4ZQkJIyBB
U0lYIEVsZWN0cm9uaWNzIFVTQiBFdGhlcm5ldApkZXZpY2UJCWNkY2UJCSMgR2VuZXJpYyBVU0Ig
b3ZlciBFdGhlcm5ldApkZXZpY2UJCWN1ZQkJIyBDQVRDIFVTQiBFdGhlcm5ldApkZXZpY2UJCWt1
ZQkJIyBLYXdhc2FraSBMU0kgVVNCIEV0aGVybmV0CmRldmljZQkJcnVlCQkjIFJlYWxUZWsgUlRM
ODE1MCBVU0IgRXRoZXJuZXQKZGV2aWNlCQl1ZGF2CQkjIERhdmljb20gRE05NjAxRSBVU0IKCiMg
RmlyZVdpcmUgc3VwcG9ydApkZXZpY2UJCWZpcmV3aXJlCSMgRmlyZVdpcmUgYnVzIGNvZGUKI2Rl
dmljZQkJc2JwCQkjIFNDU0kgb3ZlciBGaXJlV2lyZSAoUmVxdWlyZXMgc2NidXMgYW5kIGRhKQpk
ZXZpY2UJCWZ3ZQkJIyBFdGhlcm5ldCBvdmVyIEZpcmVXaXJlIChub24tc3RhbmRhcmQhKQpkZXZp
Y2UJCWZ3aXAJCSMgSVAgb3ZlciBGaXJlV2lyZSAoUkZDIDI3MzQsMzE0NikKZGV2aWNlCQlkY29u
cwkJIyBEdW1iIGNvbnNvbGUgZHJpdmVyCmRldmljZQkJZGNvbnNfY3JvbQkjIENvbmZpZ3VyYXRp
b24gUk9NIGZvciBkY29ucwo=
--0016e68fcd6c6dd7160487e6a6d2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimawN1I_Kwimyhb01nP3M4XR9ftMss1Da65Zun1>