From nobody Thu Mar 5 22:43:49 2026 X-Original-To: wireless@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fRl2Q5rYBz6TnKY for ; Thu, 05 Mar 2026 22:43:58 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Received: from udns.ultimatedns.net (udns.ultimatedns.net [24.113.41.81]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "ultimatedns.net", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fRl2P1GQGz3GGV for ; Thu, 05 Mar 2026 22:43:57 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdforge.com header.s=bsdforge header.b=fC+hjnDj; dmarc=pass (policy=reject) header.from=bsdforge.com; spf=pass (mx1.freebsd.org: domain of bsd-lists@bsdforge.com designates 24.113.41.81 as permitted sender) smtp.mailfrom=bsd-lists@bsdforge.com Received: from ultimatedns.net (localhost [127.0.0.1]) by udns.ultimatedns.net (8.16.1/8.16.1) with ESMTP id 625MhoXs091617 for ; Thu, 5 Mar 2026 14:43:56 -0800 (PST) (envelope-from bsd-lists@bsdforge.com) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=bsdforge.com; s=bsdforge; t=1772750636; x=1772751236; r=y; bh=AHDAsla5F4YAU6V7aZk9gPSTSuMvDAAG/RCGJwNAr2o=; h=Date:From:To:Subject:In-Reply-To:References; b=fC+hjnDjLjvKL39BukMIt3EOWuMuz0xO6p6eueYGg/3e1SP6cfpk4hXJrtsJ4xb0l H9AUE7B7FKyjID6v5KP7DwHh6+NFpyu9LCkaECAPe47+OWjEVSR7epoL5Jg13i2K9Y RgKCne8nlYTsq8R8hPufXlWPa9pUh+hFysyVAMGRjkZE+y0IhkxobmD1KKDzs8+hvt X3CfDaw40mLBjm4lAAE8EzEaQ1yhu1feA9W7F5d2g0W4cUEM56UUjz4ZAtXG+SpcDh U933CzElMoV9nXmCZmu7M4UG7NKfDeK5wO7x2vWOlYrRPsqV2vq+4nH0ZJnECgSPtl QBInjBt2XNLkA== List-Id: Discussions List-Archive: https://lists.freebsd.org/archives/freebsd-wireless List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-wireless@freebsd.org Sender: owner-freebsd-wireless@FreeBSD.org MIME-Version: 1.0 Date: Thu, 05 Mar 2026 14:43:49 -0800 From: Chris To: wireless@freebsd.org Subject: Re: LinuxKPI (iwlwifi, rtw8x) Please test! Important! (also in stable/15 now) In-Reply-To: References: User-Agent: UDNSMS/17.0 Message-ID: X-Sender: bsd-lists@bsdforge.com Content-Type: multipart/mixed; boundary="=_0d021ee5db566580ced277e7b92ed6d1" X-Rspamd-Pre-Result: action=no action; module=multimap; Matched map: local_wl_ip X-Spamd-Result: default: False [0.20 / 15.00]; MIME_BASE64_TEXT_BOGUS(1.00)[]; DMARC_POLICY_ALLOW(-0.50)[bsdforge.com,reject]; RCVD_IN_DNSWL_MED(-0.20)[24.113.41.81:from]; ONCE_RECEIVED(0.20)[]; R_DKIM_ALLOW(-0.20)[bsdforge.com:s=bsdforge]; R_SPF_ALLOW(-0.20)[+mx]; MIME_BASE64_TEXT(0.10)[]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; MIME_UNKNOWN(0.10)[application/pgp-keys]; ARC_NA(0.00)[]; local_wl_ip(0.00)[24.113.41.81]; ASN(0.00)[asn:11404, ipnet:24.113.0.0/16, country:US]; DKIM_TRACE(0.00)[bsdforge.com:+]; SUBJECT_HAS_EXCLAIM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~]; FROM_HAS_DN(0.00)[]; MLMMJ_DEST(0.00)[wireless@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[wireless@freebsd.org]; HAS_ATTACHMENT(0.00)[] X-Rspamd-Queue-Id: 4fRl2P1GQGz3GGV X-Spamd-Bar: / --=_0d021ee5db566580ced277e7b92ed6d1 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed Comments inline... > On 2/27/26 03:45, Bjoern A. Zeeb wrote: >> On Wed, 25 Feb 2026, Bjoern A. Zeeb wrote: >> >> I've done the MFCs and all changes are also all in stab;e/15 now. >> So please test! >> >> Lots of health, >> /bz >> >> >>> Hi, >>> >>> about 3 years ago, some of you may remember, we were hunting down the >>> constant (firmware) crashes with iwlwifi due to net80211 not playing nice >>> and the LinuxKPI 802.11 sta state machine not able to deal with it to make >>> the firmware happy. >>> >>> In that course I unfolded some state machine bits, which resultet in code >>> duplication and some other complications.  Fast forward, I just undone >>> some >>> of that in main.  This is probably one of the more risky changes as of >>> late. >>> I tried to test it but as we also have learnt in the last years, the >>> testing >>> of many will reveal problems more likely than me trying to test in my >>> limited >>> capacity. >>> >>> >>> >>> So please all test main now! >>> >>> Prepare yourself in case of trouble (boot envorments, or otherwise, in >>> case >>> you need to roll back know how to). >>> Let it run for a few hours or a day or two and then please report back if >>> it is still working without extra troubles compared to before. >>> In case you hit any hiccup please report right away! >>> I will try to reply promptly (I do sleep occassionally) but real life >>> currently also takes some share so it may be a day before I get to the >>> emails. >>> Please include driver and chipset/firmware you are using if possible >>> along with any possible problem report. >>> >>> >>> >>> Why is this important (now)? >>> >>> There'll be follow-up changes needed to get the iwlwifi update into main >>> as well so that all drivers are on the same level (v6.19) for a change >>> again.  The reason this is important now is that this will be our base >>> for 15.1-RELEASE so we will have 6ish weeks still to sort out any >>> problems. >>> >>> In addition (bonus points) if things go smoothly there is the next branch >>> waiting for me to merge to bring further improvements still during March >>> (at least to main and possibly stable/15). >>> >>> >>> What if you are on stable/15? >>> >>> I believe you could just grab the last changes and merge them yourself. >>> I will go and have a look and try to merge anything I can Thu or Fri >>> (before the weekend) to keep the diff minimal in case that helps! >>> >>> >>> Lots of health! >>> Bjoern >>> Apologies. I've been struggling to get a snapshot of 16-CURRENT and rtw89-firmware on a recently aquired Ryzen powered Lenovo Ideapad 3 and missed this thread. Is your work in current? I'd love to work with you on this. It appears I may well be qualified, given my hardware and ex[erience(s) listed below. Please let me know of anything I can add/do to help. Thanks! P.S. I've attached the following to this email. As it may make for easier reading. --Chris FreeBSD amdfbsd 16.0-CURRENT FreeBSD 16.0-CURRENT #0 main-n284159-16822dac32ab: Mon Feb 23 22:02:36 UTC 2026 root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax Wireless Network Controller rtw890@pci0:2:0:0: class=0x028000 rev=0x00 hdr=0x00 vendor=0x10ec device=0xb852 subvendor=0x17aa subdevice=0x4853 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8852BE PCIe 802.11ax Wireless Network Controller' class = network wifi-firmware-rtw89-kmod-20251125 Name : wifi-firmware-rtw89-kmod Version : 20251125 Installed on : Mon Mar 2 22:13:05 2026 PST Origin : net/wifi-firmware-rtw89-kmod Architecture : FreeBSD:16:amd64 Prefix : /usr/local Categories : net Licenses : primary, whence Maintainer : bz@FreeBSD.org WWW : https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89 Comment : Firmware modules for the rtw89 (rtw89) WiFi NIC driver Annotations : FreeBSD_version: 1600012 flavor : rtw89 Mar 5 13:25:17 amdfbsd kernel: CPU: AMD Ryzen 5 5625U with Radeon Graphics (2295.78-MHz K8-class CPU) Mar 5 13:25:17 amdfbsd kernel: Origin="AuthenticAMD" Id=0xa50f00 Family=0x19 Model=0x50 Stepping=0 Mar 5 13:25:17 amdfbsd kernel: Features=0x178bfbff Mar 5 13:25:17 amdfbsd kernel: Features2=0x7ed8320b Mar 5 13:25:17 amdfbsd kernel: AMD Features=0x2e500800 Mar 5 13:25:17 amdfbsd kernel: AMD Features2=0x75c237ff Mar 5 13:25:17 amdfbsd kernel: Structured Extended Features=0x219c97a9 Mar 5 13:25:17 amdfbsd kernel: Structured Extended Features2=0x40069c Mar 5 13:25:17 amdfbsd kernel: Structured Extended Features3=0x10 Mar 5 13:25:17 amdfbsd kernel: XSAVE Features=0xf Mar 5 13:25:17 amdfbsd kernel: AMD Extended Feature Extensions ID EBX=0x191ef657 Mar 5 13:25:17 amdfbsd kernel: SVM: Features=0x101bbcff,GuesSpecCtl,> Mar 5 13:25:17 amdfbsd kernel: Revision=1, ASIDs=32768 Mar 5 13:25:17 amdfbsd kernel: TSC: P-state invariant, performance statistics Mar 5 13:53:23 amdfbsd kernel: rtw890: port 0x2000-0x20ff mem 0xfd600000-0xfd6fffff at device 0.0 on pci2 Mar 5 13:53:23 amdfbsd kernel: rtw89/rtw8852b_fw-1.bin: could not load firmware image, error 8 Mar 5 13:53:23 amdfbsd kernel: Trying to load binary firmware from /boot/firmware/rtw89/rtw8852b_fw-1.bin Mar 5 13:53:23 amdfbsd kernel: firmware: '/boot/firmware/rtw89/rtw8852b_fw-1.bin' version 0: 1242472 bytes loaded at 0xfffffe01853af000 Mar 5 13:53:23 amdfbsd kernel: rtw89/rtw8852b_fw-1.bin: Loaded binary firmware using /boot/firmware/rtw89/rtw8852b_fw-1.bin Mar 5 13:53:23 amdfbsd kernel: rtw890: successfully loaded firmware image 'rtw89/rtw8852b_fw-1.bin' Mar 5 13:53:23 amdfbsd kernel: rtw890: loaded firmware rtw89/rtw8852b_fw-1.bin Mar 5 13:53:23 amdfbsd kernel: rtw890: Firmware version 0.29.29.14 (1d076e8b), cmd version 0, type 5 Mar 5 13:53:23 amdfbsd kernel: rtw890: Firmware version 0.29.29.14 (1d076e8b), cmd version 0, type 3 Mar 5 13:53:23 amdfbsd kernel: usbd_req_re_enumerate: addr=1, set address failed! (USB_ERR_IOERROR, ignored) Mar 5 13:53:23 amdfbsd kernel: rtw890: chip rfe_type is 1 Mar 5 13:53:23 amdfbsd kernel: rtw890: attempting to allocate 1 MSI vectors (1 supported) Mar 5 13:53:23 amdfbsd kernel: msi: routing MSI IRQ 74 to local APIC 8 vector 48 Mar 5 13:53:23 amdfbsd kernel: rtw890: using IRQ 74 for MSI Mar 5 13:53:23 amdfbsd kernel: rtw890: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps Mar 5 13:53:23 amdfbsd kernel: rtw890: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps Mar 5 13:53:23 amdfbsd kernel: rtw890: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps Mar 5 13:53:23 amdfbsd kernel: rtw890: rfkill hardware state changed to enable Mar 5 13:53:23 amdfbsd kernel: wlan0: bpf attached Mar 5 13:53:23 amdfbsd kernel: wlan0: Ethernet address: 9c:2f:9d:b2:3e:4f Mar 5 13:53:23 amdfbsd kernel: lo0: link state changed to UP Mar 5 13:53:23 amdfbsd kernel: wlan0: link state changed to UP Mar 5 13:53:23 amdfbsd kernel: ubt0 on uhub0 Mar 5 13:53:23 amdfbsd kernel: ubt0: on usbus1 followed by frequent entries of: kernel: rtw890: read rf busy swsi syslogd: last message repeated 1 times Closing the lid and re-opening it returns: Mar 5 14:06:18 amdfbsd kernel: rtw890: read rf busy swsi Mar 5 14:06:49 amdfbsd syslogd: last message repeated 30 times Mar 5 14:07:30 amdfbsd syslogd: last message repeated 41 times Mar 5 14:07:30 amdfbsd kernel: rtw890: no tx fwcmd resource Mar 5 14:07:30 amdfbsd kernel: rtw890: failed to send h2c Mar 5 14:07:32 amdfbsd kernel: rtw890: read rf busy swsi Mar 5 14:07:32 amdfbsd syslogd: last message repeated 1 times Mar 5 14:07:32 amdfbsd kernel: rtw890: no tx fwcmd resource Mar 5 14:07:32 amdfbsd kernel: rtw890: failed to send h2c Mar 5 14:07:34 amdfbsd kernel: rtw890: read rf busy swsi Mar 5 14:07:34 amdfbsd syslogd: last message repeated 1 times which goes on without end Lastly, if while in the state after opening the lid. If I execute halt -p. I'm droppeed to the debugger ( db> ) prompt. Which requires pressing the power button to shut down. -- --=_0d021ee5db566580ced277e7b92ed6d1 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=rtw89-AMD-16-CURRENT Content-Disposition: attachment; filename=rtw89-AMD-16-CURRENT; size=6636 QXBvbG9naWVzLiBJJ3ZlIGJlZW4gc3RydWdnbGluZyB0byBnZXQgYSBzbmFwc2hvdApvZiAxNi1D VVJSRU5UIGFuZCBydHc4OS1maXJtd2FyZSBvbiBhIHJlY2VudGx5IGFxdWlyZWQKUnl6ZW4gcG93 ZXJlZCBMZW5vdm8gSWRlYXBhZCAzIGFuZCBtaXNzZWQgdGhpcyB0aHJlYWQuCklzIHlvdXIgd29y ayBpbiBjdXJyZW50PyBJJ2QgbG92ZSB0byB3b3JrIHdpdGggeW91IG9uCnRoaXMuIEl0IGFwcGVh cnMgSSBtYXkgd2VsbCBiZSBxdWFsaWZpZWQsIGdpdmVuIG15IGhhcmR3YXJlCmFuZCBleFtlcmll bmNlKHMpIGxpc3RlZCBiZWxvdy4gUGxlYXNlIGxldCBtZSBrbm93IG9mCmFueXRoaW5nIEkgY2Fu IGFkZC9kbyB0byBoZWxwLgoKVGhhbmtzIQoKUC5TLiBJJ3ZlIGF0dGFjaGVkIHRoZSBmb2xsb3dp bmcgdG8gdGhpcyBlbWFpbC4gQXMgaXQgbWF5Cm1ha2UgZm9yIGVhc2llciByZWFkaW5nLgoKLS1D aHJpcwoKRnJlZUJTRCBhbWRmYnNkIDE2LjAtQ1VSUkVOVCBGcmVlQlNEIDE2LjAtQ1VSUkVOVCAj MCBtYWluLW4yODQxNTktMTY4MjJkYWMzMmFiOiBNb24gRmViIDIzIDIyOjAyOjM2IFVUQyAyMDI2 CnJvb3RAcmVsZW5nMy5ueWkuZnJlZWJzZC5vcmc6L3Vzci9vYmovdXNyL3NyYy9hbWQ2NC5hbWQ2 NC9zeXMvR0VORVJJQyBhbWQ2NAoKMDI6MDAuMCBOZXR3b3JrIGNvbnRyb2xsZXI6IFJlYWx0ZWsg U2VtaWNvbmR1Y3RvciBDby4sIEx0ZC4gUlRMODg1MkJFIFBDSWUgODAyLjExYXggV2lyZWxlc3Mg TmV0d29yayBDb250cm9sbGVyCgpydHc4OTBAcGNpMDoyOjA6MDoJY2xhc3M9MHgwMjgwMDAgcmV2 PTB4MDAgaGRyPTB4MDAgdmVuZG9yPTB4MTBlYyBkZXZpY2U9MHhiODUyIHN1YnZlbmRvcj0weDE3 YWEgc3ViZGV2aWNlPTB4NDg1MwogICAgdmVuZG9yICAgICA9ICdSZWFsdGVrIFNlbWljb25kdWN0 b3IgQ28uLCBMdGQuJwogICAgZGV2aWNlICAgICA9ICdSVEw4ODUyQkUgUENJZSA4MDIuMTFheCBX aXJlbGVzcyBOZXR3b3JrIENvbnRyb2xsZXInCiAgICBjbGFzcyAgICAgID0gbmV0d29yawoKd2lm aS1maXJtd2FyZS1ydHc4OS1rbW9kLTIwMjUxMTI1Ck5hbWUgICAgICAgICAgIDogd2lmaS1maXJt d2FyZS1ydHc4OS1rbW9kClZlcnNpb24gICAgICAgIDogMjAyNTExMjUKSW5zdGFsbGVkIG9uICAg OiBNb24gTWFyICAyIDIyOjEzOjA1IDIwMjYgUFNUCk9yaWdpbiAgICAgICAgIDogbmV0L3dpZmkt ZmlybXdhcmUtcnR3ODkta21vZApBcmNoaXRlY3R1cmUgICA6IEZyZWVCU0Q6MTY6YW1kNjQKUHJl Zml4ICAgICAgICAgOiAvdXNyL2xvY2FsCkNhdGVnb3JpZXMgICAgIDogbmV0CkxpY2Vuc2VzICAg ICAgIDogcHJpbWFyeSwgd2hlbmNlCk1haW50YWluZXIgICAgIDogYnpARnJlZUJTRC5vcmcKV1dX ICAgICAgICAgICAgOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVs L2dpdC9maXJtd2FyZS9saW51eC1maXJtd2FyZS5naXQvdHJlZS9ydHc4OQpDb21tZW50ICAgICAg ICA6IEZpcm13YXJlIG1vZHVsZXMgZm9yIHRoZSBydHc4OSAocnR3ODkpIFdpRmkgTklDIGRyaXZl cgpBbm5vdGF0aW9ucyAgICA6CglGcmVlQlNEX3ZlcnNpb246IDE2MDAwMTIKCWZsYXZvciAgICAg ICAgIDogcnR3ODkKCk1hciAgNSAxMzoyNToxNyBhbWRmYnNkIGtlcm5lbDogQ1BVOiBBTUQgUnl6 ZW4gNSA1NjI1VSB3aXRoIFJhZGVvbiBHcmFwaGljcyAgICAgICAgICAoMjI5NS43OC1NSHogSzgt Y2xhc3MgQ1BVKQpNYXIgIDUgMTM6MjU6MTcgYW1kZmJzZCBrZXJuZWw6ICAgT3JpZ2luPSJBdXRo ZW50aWNBTUQiICBJZD0weGE1MGYwMCAgRmFtaWx5PTB4MTkgIE1vZGVsPTB4NTAgIFN0ZXBwaW5n PTAKTWFyICA1IDEzOjI1OjE3IGFtZGZic2Qga2VybmVsOiAgIEZlYXR1cmVzPTB4MTc4YmZiZmY8 RlBVLFZNRSxERSxQU0UsVFNDLE1TUixQQUUsTUNFLENYOCxBUElDLFNFUCxNVFJSLFBHRSxNQ0Es Q01PVixQQVQsUFNFMzYsQ0xGTFVTSCxNTVgsRlhTUixTU0UsU1NFMixIVFQ+Ck1hciAgNSAxMzoy NToxNyBhbWRmYnNkIGtlcm5lbDogICBGZWF0dXJlczI9MHg3ZWQ4MzIwYjxTU0UzLFBDTE1VTFFE USxNT04sU1NTRTMsRk1BLENYMTYsU1NFNC4xLFNTRTQuMixNT1ZCRSxQT1BDTlQsQUVTTkksWFNB VkUsT1NYU0FWRSxBVlgsRjE2QyxSRFJBTkQ+Ck1hciAgNSAxMzoyNToxNyBhbWRmYnNkIGtlcm5l bDogICBBTUQgRmVhdHVyZXM9MHgyZTUwMDgwMDxTWVNDQUxMLE5YLE1NWCssRkZYU1IsUGFnZTFH QixSRFRTQ1AsTE0+Ck1hciAgNSAxMzoyNToxNyBhbWRmYnNkIGtlcm5lbDogICBBTUQgRmVhdHVy ZXMyPTB4NzVjMjM3ZmY8TEFIRixDTVAsU1ZNLEV4dEFQSUMsQ1I4LEFCTSxTU0U0QSxNQVMsUHJl ZmV0Y2gsT1NWVyxJQlMsU0tJTklULFdEVCxUQ0UsVG9wb2xvZ3ksUENYQyxQTlhDLERCRSxQTDJJ LE1XQUlUWCxBRE1TS1g+Ck1hciAgNSAxMzoyNToxNyBhbWRmYnNkIGtlcm5lbDogICBTdHJ1Y3R1 cmVkIEV4dGVuZGVkIEZlYXR1cmVzPTB4MjE5Yzk3YTk8RlNHU0JBU0UsQk1JMSxBVlgyLFNNRVAs Qk1JMixFUk1TLElOVlBDSUQsUFFNLFBRRSxSRFNFRUQsQURYLFNNQVAsQ0xGTFVTSE9QVCxDTFdC LFNIQT4KTWFyICA1IDEzOjI1OjE3IGFtZGZic2Qga2VybmVsOiAgIFN0cnVjdHVyZWQgRXh0ZW5k ZWQgRmVhdHVyZXMyPTB4NDAwNjljPFVNSVAsUEtVLE9TUEtFLFZBRVMsVlBDTE1VTFFEUSxSRFBJ RD4KTWFyICA1IDEzOjI1OjE3IGFtZGZic2Qga2VybmVsOiAgIFN0cnVjdHVyZWQgRXh0ZW5kZWQg RmVhdHVyZXMzPTB4MTA8RlNSTT4KTWFyICA1IDEzOjI1OjE3IGFtZGZic2Qga2VybmVsOiAgIFhT QVZFIEZlYXR1cmVzPTB4ZjxYU0FWRU9QVCxYU0FWRUMsWElOVVNFLFhTQVZFUz4KTWFyICA1IDEz OjI1OjE3IGFtZGZic2Qga2VybmVsOiAgIEFNRCBFeHRlbmRlZCBGZWF0dXJlIEV4dGVuc2lvbnMg SUQgRUJYPTB4MTkxZWY2NTc8Q0xaRVJPLElSUGVyZixYU2F2ZUVyUHRyLFJEUFJVLEJFLFdCTk9J TlZELElCUEIsSU5UX1dCSU5WRCxJQlJTLFNUSUJQLFNUSUJQX0FMV0FZU09OLFBSRUZFUl9JQlJT LFNBTUVNT0RFX0lCUlMsTk9MTVNMRSxTU0JELENQUEMsUFNGRD4KTWFyICA1IDEzOjI1OjE3IGFt ZGZic2Qga2VybmVsOiAgIFNWTTogRmVhdHVyZXM9MHgxMDFiYmNmZjxOUCxMYnJWaXJ0LFNWTUws TlJJUFMsVHNjUmF0ZU1zcixWbWNiQ2xlYW4sRmx1c2hCeUFzaWQsRGVjb2RlQXNzaXN0LFBhdXNl RmlsdGVyLEVuY3J5cHRlZE1jb2RlUGF0Y2gsUGF1c2VGaWx0ZXJUaHJlc2hvbGQsQVZJQyxWX1ZN U0FWRV9WTUxPQUQsdkdJRixHTUVULDxiMTk+LEd1ZXNTcGVjQ3RsLDxiMjg+PgpNYXIgIDUgMTM6 MjU6MTcgYW1kZmJzZCBrZXJuZWw6IFJldmlzaW9uPTEsIEFTSURzPTMyNzY4Ck1hciAgNSAxMzoy NToxNyBhbWRmYnNkIGtlcm5lbDogICBUU0M6IFAtc3RhdGUgaW52YXJpYW50LCBwZXJmb3JtYW5j ZSBzdGF0aXN0aWNzCgpNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBrZXJuZWw6IHJ0dzg5MDogPHJ0 dzg5Xzg4NTJiZT4gcG9ydCAweDIwMDAtMHgyMGZmIG1lbSAweGZkNjAwMDAwLTB4ZmQ2ZmZmZmYg YXQgZGV2aWNlIDAuMCBvbiBwY2kyCk1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtlcm5lbDogcnR3 ODkvcnR3ODg1MmJfZnctMS5iaW46IGNvdWxkIG5vdCBsb2FkIGZpcm13YXJlIGltYWdlLCBlcnJv ciA4Ck1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtlcm5lbDogVHJ5aW5nIHRvIGxvYWQgYmluYXJ5 IGZpcm13YXJlIGZyb20gL2Jvb3QvZmlybXdhcmUvcnR3ODkvcnR3ODg1MmJfZnctMS5iaW4KTWFy ICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBmaXJtd2FyZTogJy9ib290L2Zpcm13YXJlL3J0 dzg5L3J0dzg4NTJiX2Z3LTEuYmluJyB2ZXJzaW9uIDA6IDEyNDI0NzIgYnl0ZXMgbG9hZGVkIGF0 IDB4ZmZmZmZlMDE4NTNhZjAwMApNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBrZXJuZWw6IHJ0dzg5 L3J0dzg4NTJiX2Z3LTEuYmluOiBMb2FkZWQgYmluYXJ5IGZpcm13YXJlIHVzaW5nIC9ib290L2Zp cm13YXJlL3J0dzg5L3J0dzg4NTJiX2Z3LTEuYmluCk1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtl cm5lbDogcnR3ODkwOiBzdWNjZXNzZnVsbHkgbG9hZGVkIGZpcm13YXJlIGltYWdlICdydHc4OS9y dHc4ODUyYl9mdy0xLmJpbicKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBydHc4OTA6 IGxvYWRlZCBmaXJtd2FyZSBydHc4OS9ydHc4ODUyYl9mdy0xLmJpbgpNYXIgIDUgMTM6NTM6MjMg YW1kZmJzZCBrZXJuZWw6IHJ0dzg5MDogRmlybXdhcmUgdmVyc2lvbiAwLjI5LjI5LjE0ICgxZDA3 NmU4YiksIGNtZCB2ZXJzaW9uIDAsIHR5cGUgNQpNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBrZXJu ZWw6IHJ0dzg5MDogRmlybXdhcmUgdmVyc2lvbiAwLjI5LjI5LjE0ICgxZDA3NmU4YiksIGNtZCB2 ZXJzaW9uIDAsIHR5cGUgMwpNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBrZXJuZWw6IHVzYmRfcmVx X3JlX2VudW1lcmF0ZTogYWRkcj0xLCBzZXQgYWRkcmVzcyBmYWlsZWQhIChVU0JfRVJSX0lPRVJS T1IsIGlnbm9yZWQpCk1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtlcm5lbDogcnR3ODkwOiBjaGlw IHJmZV90eXBlIGlzIDEKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBydHc4OTA6IGF0 dGVtcHRpbmcgdG8gYWxsb2NhdGUgMSBNU0kgdmVjdG9ycyAoMSBzdXBwb3J0ZWQpCk1hciAgNSAx Mzo1MzoyMyBhbWRmYnNkIGtlcm5lbDogbXNpOiByb3V0aW5nIE1TSSBJUlEgNzQgdG8gbG9jYWwg QVBJQyA4IHZlY3RvciA0OApNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBrZXJuZWw6IHJ0dzg5MDog dXNpbmcgSVJRIDc0IGZvciBNU0kKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBydHc4 OTA6IDExYSByYXRlczogNk1icHMgOU1icHMgMTJNYnBzIDE4TWJwcyAyNE1icHMgMzZNYnBzIDQ4 TWJwcyA1NE1icHMKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBydHc4OTA6IDExYiBy YXRlczogMU1icHMgMk1icHMgNS41TWJwcyAxMU1icHMKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qg a2VybmVsOiBydHc4OTA6IDExZyByYXRlczogMU1icHMgMk1icHMgNS41TWJwcyAxMU1icHMgNk1i cHMgOU1icHMgMTJNYnBzIDE4TWJwcyAyNE1icHMgMzZNYnBzIDQ4TWJwcyA1NE1icHMKTWFyICA1 IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiBydHc4OTA6IHJma2lsbCBoYXJkd2FyZSBzdGF0ZSBj aGFuZ2VkIHRvIGVuYWJsZQoKTWFyICA1IDEzOjUzOjIzIGFtZGZic2Qga2VybmVsOiB3bGFuMDog YnBmIGF0dGFjaGVkCk1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtlcm5lbDogd2xhbjA6IEV0aGVy bmV0IGFkZHJlc3M6IDljOjJmOjlkOmIyOjNlOjRmCk1hciAgNSAxMzo1MzoyMyBhbWRmYnNkIGtl cm5lbDogbG8wOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAKTWFyICA1IDEzOjUzOjIzIGFtZGZi c2Qga2VybmVsOiB3bGFuMDogbGluayBzdGF0ZSBjaGFuZ2VkIHRvIFVQCk1hciAgNSAxMzo1Mzoy MyBhbWRmYnNkIGtlcm5lbDogdWJ0MCBvbiB1aHViMApNYXIgIDUgMTM6NTM6MjMgYW1kZmJzZCBr ZXJuZWw6IHVidDA6IDxSZWFsdGVrIEJsdWV0b290aCBSYWRpbywgY2xhc3MgMjI0LzEsIHJldiAx LjAwLzAuMDAsIGFkZHIgMj4gb24gdXNidXMxCgpmb2xsb3dlZCBieSBmcmVxdWVudCBlbnRyaWVz IG9mOgprZXJuZWw6IHJ0dzg5MDogcmVhZCByZiBidXN5IHN3c2kKc3lzbG9nZDogbGFzdCBtZXNz YWdlIHJlcGVhdGVkIDEgdGltZXMKCkNsb3NpbmcgdGhlIGxpZCBhbmQgcmUtb3BlbmluZyBpdCBy ZXR1cm5zOgpNYXIgIDUgMTQ6MDY6MTggYW1kZmJzZCBrZXJuZWw6IHJ0dzg5MDogcmVhZCByZiBi dXN5IHN3c2kKTWFyICA1IDE0OjA2OjQ5IGFtZGZic2Qgc3lzbG9nZDogbGFzdCBtZXNzYWdlIHJl cGVhdGVkIDMwIHRpbWVzCk1hciAgNSAxNDowNzozMCBhbWRmYnNkIHN5c2xvZ2Q6IGxhc3QgbWVz c2FnZSByZXBlYXRlZCA0MSB0aW1lcwpNYXIgIDUgMTQ6MDc6MzAgYW1kZmJzZCBrZXJuZWw6IHJ0 dzg5MDogbm8gdHggZndjbWQgcmVzb3VyY2UKTWFyICA1IDE0OjA3OjMwIGFtZGZic2Qga2VybmVs OiBydHc4OTA6IGZhaWxlZCB0byBzZW5kIGgyYwpNYXIgIDUgMTQ6MDc6MzIgYW1kZmJzZCBrZXJu ZWw6IHJ0dzg5MDogcmVhZCByZiBidXN5IHN3c2kKTWFyICA1IDE0OjA3OjMyIGFtZGZic2Qgc3lz bG9nZDogbGFzdCBtZXNzYWdlIHJlcGVhdGVkIDEgdGltZXMKTWFyICA1IDE0OjA3OjMyIGFtZGZi c2Qga2VybmVsOiBydHc4OTA6IG5vIHR4IGZ3Y21kIHJlc291cmNlCk1hciAgNSAxNDowNzozMiBh bWRmYnNkIGtlcm5lbDogcnR3ODkwOiBmYWlsZWQgdG8gc2VuZCBoMmMKTWFyICA1IDE0OjA3OjM0 IGFtZGZic2Qga2VybmVsOiBydHc4OTA6IHJlYWQgcmYgYnVzeSBzd3NpCk1hciAgNSAxNDowNzoz NCBhbWRmYnNkIHN5c2xvZ2Q6IGxhc3QgbWVzc2FnZSByZXBlYXRlZCAxIHRpbWVzCgp3aGljaCBn b2VzIG9uIHdpdGhvdXQgZW5kCgpMYXN0bHksIGlmIHdoaWxlIGluIHRoZSBzdGF0ZSBhZnRlciBv cGVuaW5nIHRoZSBsaWQuIElmIEkgZXhlY3V0ZQpoYWx0IC1wLiBJJ20gZHJvcHBlZWQgdG8gdGhl IGRlYnVnZ2VyICggZGI+ICkgcHJvbXB0LiBXaGljaCByZXF1aXJlcwpwcmVzc2luZyB0aGUgcG93 ZXIgYnV0dG9uIHRvIHNodXQgZG93bi4K --=_0d021ee5db566580ced277e7b92ed6d1 Content-Transfer-Encoding: 7bit Content-Type: application/pgp-keys; name=0xE512722F.asc Content-Disposition: attachment; filename=0xE512722F.asc; size=3074 -----BEGIN PGP PUBLIC KEY BLOCK----- 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 TEM= =oj6y -----END PGP PUBLIC KEY BLOCK----- --=_0d021ee5db566580ced277e7b92ed6d1--