Return-Path: Subject: Re: SCO socket MTU problem in PulseAudio To: Marcel Holtmann , Tanu Kaskinen References: <1485867673.2993.5.camel@iki.fi> <1486380902.4774.4.camel@iki.fi> <6B0AC741-28BC-4F1A-90E2-5634246F591D@holtmann.org> Cc: linux-bluetooth , Renjith Thomas From: Georg Chini Message-ID: <6c9e9fed-8127-7f5b-e1a0-8e3ea574e175@chini.tk> Date: Fri, 10 Feb 2017 14:05:15 +0100 MIME-Version: 1.0 In-Reply-To: <6B0AC741-28BC-4F1A-90E2-5634246F591D@holtmann.org> Content-Type: multipart/mixed; boundary="------------22BEB07C780DD78BFFAA3B47" List-ID: This is a multi-part message in MIME format. --------------22BEB07C780DD78BFFAA3B47 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 10.02.2017 12:48, Marcel Holtmann wrote: > Hi Tanu, > >>>> PulseAudio recently started to use >>>> >>>> getsockopt(sock, SOL_SCO, SCO_OPTIONS, &sco_opt, &len); >>>> read_mtu = sco_opt.mtu; >>>> write_mtu = sco_opt.mtu; >>>> >>>> to query the MTU of the SCO socket. Previously we used a fixed value of >>>> 48, but that didn't work for some bluetooth chipsets (see the commit >>>> message[1]). Now, however, it was reported[2] that the new code doesn't >>>> work on some hardware where the old fixed MTU used to work. >>> can you share details here and btmon traces for the data buffer sizes >>> and the USB descriptor details. We would need to figure out where >>> this goes wrong and maybe introduce some driver quirks to ensure that >>> it returns usable values. >> Georg already provided a btmon dump. Did that contain everything you >> need? The way you put your words, it's not clear to me if the USB >> descriptor details are included in the btmon output or is the USB >> descriptor a separate thing? >> >> I'd like to provide clear instructions for users to get the necessary >> information, in case it turns out that Georg is not the only one with >> this problem. What options should be given to btmon? > < HCI Command: Read Local Version Info.. (0x04|0x0001) plen 0 >> HCI Event: Command Complete (0x0e) plen 12 > Read Local Version Information (0x04|0x0001) ncmd 1 > Status: Success (0x00) > HCI version: Bluetooth 2.0 (0x03) - Revision 5276 (0x149c) > LMP version: Bluetooth 2.0 (0x03) - Subversion 5276 (0x149c) > Manufacturer: Cambridge Silicon Radio (10) > < HCI Command: Read BD ADDR (0x04|0x0009) plen 0 >> HCI Event: Command Complete (0x0e) plen 10 > Read BD ADDR (0x04|0x0009) ncmd 1 > Status: Success (0x00) > Address: 00:15:83:73:FD:06 (IVT corporation) > < HCI Command: Read Buffer Size (0x04|0x0005) plen 0 >> HCI Event: Command Complete (0x0e) plen 11 > Read Buffer Size (0x04|0x0005) ncmd 1 > Status: Success (0x00) > ACL MTU: 384 ACL max packet: 8 > SCO MTU: 64 SCO max packet: 8 > > This seems to be CSR based hardware. Can we verify that this is the case with the /sys/kernel/debug/usb/devices info for this device. If this is a fake device, then all bets are off anyway. > > And yes, it reports 64 octets for the MTU. Which is most likely what you are getting back from the SCO socket. If this is all bogus and doesn’t work for CSR devices, we need to quirk it in the btusb driver to report a different value. > > As a side note, a newer btmon version will decode all the Unknown packet entries. > > Regards > > Marcel > Hi Marcel, I don't have /sys/kernel/debug/usb/devices, but lsusb -v also gives a lot of information. It is indeed a CSR device, I have two of them in my system (different dongles but both CSR), not sure which is the one the headset connects to. I attached the lsusb output. Regards Georg --------------22BEB07C780DD78BFFAA3B47 Content-Type: text/plain; charset=UTF-8; name="lsusb.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lsusb.txt" QnVzIDAwMyBEZXZpY2UgMDI3OiBJRCAwYTEyOjAwMDEgQ2FtYnJpZGdlIFNpbGljb24gUmFk aW8sIEx0ZCBCbHVldG9vdGggRG9uZ2xlIChIQ0kgbW9kZSkKRGV2aWNlIERlc2NyaXB0b3I6 CiAgYkxlbmd0aCAgICAgICAgICAgICAgICAxOAogIGJEZXNjcmlwdG9yVHlwZSAgICAgICAg IDEKICBiY2RVU0IgICAgICAgICAgICAgICAyLjAwCiAgYkRldmljZUNsYXNzICAgICAgICAg IDIyNCBXaXJlbGVzcwogIGJEZXZpY2VTdWJDbGFzcyAgICAgICAgIDEgUmFkaW8gRnJlcXVl bmN5CiAgYkRldmljZVByb3RvY29sICAgICAgICAgMSBCbHVldG9vdGgKICBiTWF4UGFja2V0 U2l6ZTAgICAgICAgIDY0CiAgaWRWZW5kb3IgICAgICAgICAgIDB4MGExMiBDYW1icmlkZ2Ug U2lsaWNvbiBSYWRpbywgTHRkCiAgaWRQcm9kdWN0ICAgICAgICAgIDB4MDAwMSBCbHVldG9v dGggRG9uZ2xlIChIQ0kgbW9kZSkKICBiY2REZXZpY2UgICAgICAgICAgIDUyLjc2CiAgaU1h bnVmYWN0dXJlciAgICAgICAgICAgMCAKICBpUHJvZHVjdCAgICAgICAgICAgICAgICAyIEVE UkNsYXNzb25lCiAgaVNlcmlhbCAgICAgICAgICAgICAgICAgMCAKICBiTnVtQ29uZmlndXJh dGlvbnMgICAgICAxCiAgQ29uZmlndXJhdGlvbiBEZXNjcmlwdG9yOgogICAgYkxlbmd0aCAg ICAgICAgICAgICAgICAgOQogICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgMgogICAgd1Rv dGFsTGVuZ3RoICAgICAgICAgIDE3NwogICAgYk51bUludGVyZmFjZXMgICAgICAgICAgMgog ICAgYkNvbmZpZ3VyYXRpb25WYWx1ZSAgICAgMQogICAgaUNvbmZpZ3VyYXRpb24gICAgICAg ICAgMCAKICAgIGJtQXR0cmlidXRlcyAgICAgICAgIDB4YzAKICAgICAgU2VsZiBQb3dlcmVk CiAgICBNYXhQb3dlciAgICAgICAgICAgICAgICAwbUEKICAgIEludGVyZmFjZSBEZXNjcmlw dG9yOgogICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA5CiAgICAgIGJEZXNjcmlwdG9y VHlwZSAgICAgICAgIDQKICAgICAgYkludGVyZmFjZU51bWJlciAgICAgICAgMAogICAgICBi QWx0ZXJuYXRlU2V0dGluZyAgICAgICAwCiAgICAgIGJOdW1FbmRwb2ludHMgICAgICAgICAg IDMKICAgICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIyNCBXaXJlbGVzcwogICAgICBiSW50 ZXJmYWNlU3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1ZW5jeQogICAgICBiSW50ZXJmYWNl UHJvdG9jb2wgICAgICAxIEJsdWV0b290aAogICAgICBpSW50ZXJmYWNlICAgICAgICAgICAg ICAwIAogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAg ICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAg YkVuZHBvaW50QWRkcmVzcyAgICAgMHg4MSAgRVAgMSBJTgogICAgICAgIGJtQXR0cmlidXRl cyAgICAgICAgICAgIDMKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJbnRl cnJ1cHQKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAgICAg ICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRTaXpl ICAgICAweDAwMTAgIDF4IDE2IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAg ICAgMQogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAg ICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAg YkVuZHBvaW50QWRkcmVzcyAgICAgMHgwMiAgRVAgMiBPVVQKICAgICAgICBibUF0dHJpYnV0 ZXMgICAgICAgICAgICAyCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAgICAgQnVs awogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVz YWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAg IDB4MDA0MCAgMXggNjQgYnl0ZXMKICAgICAgICBiSW50ZXJ2YWwgICAgICAgICAgICAgICAx CiAgICAgIEVuZHBvaW50IERlc2NyaXB0b3I6CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAg ICAgICAgNwogICAgICAgIGJEZXNjcmlwdG9yVHlwZSAgICAgICAgIDUKICAgICAgICBiRW5k cG9pbnRBZGRyZXNzICAgICAweDgyICBFUCAyIElOCiAgICAgICAgYm1BdHRyaWJ1dGVzICAg ICAgICAgICAgMgogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIEJ1bGsKICAg ICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAgICAgICBVc2FnZSBU eXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRTaXplICAgICAweDAw NDAgIDF4IDY0IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAgMQogICAg SW50ZXJmYWNlIERlc2NyaXB0b3I6CiAgICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDkK ICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNAogICAgICBiSW50ZXJmYWNlTnVtYmVy ICAgICAgICAxCiAgICAgIGJBbHRlcm5hdGVTZXR0aW5nICAgICAgIDAKICAgICAgYk51bUVu ZHBvaW50cyAgICAgICAgICAgMgogICAgICBiSW50ZXJmYWNlQ2xhc3MgICAgICAgMjI0IFdp cmVsZXNzCiAgICAgIGJJbnRlcmZhY2VTdWJDbGFzcyAgICAgIDEgUmFkaW8gRnJlcXVlbmN5 CiAgICAgIGJJbnRlcmZhY2VQcm90b2NvbCAgICAgIDEgQmx1ZXRvb3RoCiAgICAgIGlJbnRl cmZhY2UgICAgICAgICAgICAgIDAgCiAgICAgIEVuZHBvaW50IERlc2NyaXB0b3I6CiAgICAg ICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJEZXNjcmlwdG9yVHlwZSAg ICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAweDAzICBFUCAzIE9VVAog ICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5 cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAg ICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAg ICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAwMCAgMXggMCBieXRlcwogICAgICAgIGJJ bnRlcnZhbCAgICAgICAgICAgICAgIDEKICAgICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAg ICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBl ICAgICAgICAgNQogICAgICAgIGJFbmRwb2ludEFkZHJlc3MgICAgIDB4ODMgIEVQIDMgSU4K ICAgICAgICBibUF0dHJpYnV0ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBU eXBlICAgICAgICAgICAgSXNvY2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAg ICAgICAgICBOb25lCiAgICAgICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQog ICAgICAgIHdNYXhQYWNrZXRTaXplICAgICAweDAwMDAgIDF4IDAgYnl0ZXMKICAgICAgICBi SW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICBJbnRlcmZhY2UgRGVzY3JpcHRvcjoKICAg ICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgOQogICAgICBiRGVzY3JpcHRvclR5cGUgICAg ICAgICA0CiAgICAgIGJJbnRlcmZhY2VOdW1iZXIgICAgICAgIDEKICAgICAgYkFsdGVybmF0 ZVNldHRpbmcgICAgICAgMQogICAgICBiTnVtRW5kcG9pbnRzICAgICAgICAgICAyCiAgICAg IGJJbnRlcmZhY2VDbGFzcyAgICAgICAyMjQgV2lyZWxlc3MKICAgICAgYkludGVyZmFjZVN1 YkNsYXNzICAgICAgMSBSYWRpbyBGcmVxdWVuY3kKICAgICAgYkludGVyZmFjZVByb3RvY29s ICAgICAgMSBCbHVldG9vdGgKICAgICAgaUludGVyZmFjZSAgICAgICAgICAgICAgMCAKICAg ICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAgICAgICAgICAg ICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAgIGJFbmRwb2lu dEFkZHJlc3MgICAgIDB4MDMgIEVQIDMgT1VUCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAg ICAgICAgMQogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIElzb2Nocm9ub3Vz CiAgICAgICAgICBTeW5jaCBUeXBlICAgICAgICAgICAgICAgTm9uZQogICAgICAgICAgVXNh Z2UgVHlwZSAgICAgICAgICAgICAgIERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6ZSAgICAg MHgwMDA5ICAxeCA5IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAgMQog ICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAgICAgICAg ICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBv aW50QWRkcmVzcyAgICAgMHg4MyAgRVAgMyBJTgogICAgICAgIGJtQXR0cmlidXRlcyAgICAg ICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJc29jaHJvbm91 cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVz YWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAg IDB4MDAwOSAgMXggOSBieXRlcwogICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAgICAgIDEK ICAgIEludGVyZmFjZSBEZXNjcmlwdG9yOgogICAgICBiTGVuZ3RoICAgICAgICAgICAgICAg ICA5CiAgICAgIGJEZXNjcmlwdG9yVHlwZSAgICAgICAgIDQKICAgICAgYkludGVyZmFjZU51 bWJlciAgICAgICAgMQogICAgICBiQWx0ZXJuYXRlU2V0dGluZyAgICAgICAyCiAgICAgIGJO dW1FbmRwb2ludHMgICAgICAgICAgIDIKICAgICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIy NCBXaXJlbGVzcwogICAgICBiSW50ZXJmYWNlU3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1 ZW5jeQogICAgICBiSW50ZXJmYWNlUHJvdG9jb2wgICAgICAxIEJsdWV0b290aAogICAgICBp SW50ZXJmYWNlICAgICAgICAgICAgICAwIAogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgog ICAgICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5 cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHgwMyAgRVAgMyBP VVQKICAgICAgICBibUF0dHJpYnV0ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2Zl ciBUeXBlICAgICAgICAgICAgSXNvY2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAg ICAgICAgICAgICBOb25lCiAgICAgICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0 YQogICAgICAgIHdNYXhQYWNrZXRTaXplICAgICAweDAwMTEgIDF4IDE3IGJ5dGVzCiAgICAg ICAgYkludGVydmFsICAgICAgICAgICAgICAgMQogICAgICBFbmRwb2ludCBEZXNjcmlwdG9y OgogICAgICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRv clR5cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHg4MyAgRVAg MyBJTgogICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5z ZmVyIFR5cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAg ICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBE YXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAxMSAgMXggMTcgYnl0ZXMKICAg ICAgICBiSW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICBJbnRlcmZhY2UgRGVzY3JpcHRv cjoKICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgOQogICAgICBiRGVzY3JpcHRvclR5 cGUgICAgICAgICA0CiAgICAgIGJJbnRlcmZhY2VOdW1iZXIgICAgICAgIDEKICAgICAgYkFs dGVybmF0ZVNldHRpbmcgICAgICAgMwogICAgICBiTnVtRW5kcG9pbnRzICAgICAgICAgICAy CiAgICAgIGJJbnRlcmZhY2VDbGFzcyAgICAgICAyMjQgV2lyZWxlc3MKICAgICAgYkludGVy ZmFjZVN1YkNsYXNzICAgICAgMSBSYWRpbyBGcmVxdWVuY3kKICAgICAgYkludGVyZmFjZVBy b3RvY29sICAgICAgMSBCbHVldG9vdGgKICAgICAgaUludGVyZmFjZSAgICAgICAgICAgICAg MCAKICAgICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAgICAg ICAgICAgICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAgIGJF bmRwb2ludEFkZHJlc3MgICAgIDB4MDMgIEVQIDMgT1VUCiAgICAgICAgYm1BdHRyaWJ1dGVz ICAgICAgICAgICAgMQogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIElzb2No cm9ub3VzCiAgICAgICAgICBTeW5jaCBUeXBlICAgICAgICAgICAgICAgTm9uZQogICAgICAg ICAgVXNhZ2UgVHlwZSAgICAgICAgICAgICAgIERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6 ZSAgICAgMHgwMDE5ICAxeCAyNSBieXRlcwogICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAg ICAgIDEKICAgICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAg ICAgICAgICAgICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAg IGJFbmRwb2ludEFkZHJlc3MgICAgIDB4ODMgIEVQIDMgSU4KICAgICAgICBibUF0dHJpYnV0 ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAgICAgSXNv Y2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAg ICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRT aXplICAgICAweDAwMTkgIDF4IDI1IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAg ICAgICAgMQogICAgSW50ZXJmYWNlIERlc2NyaXB0b3I6CiAgICAgIGJMZW5ndGggICAgICAg ICAgICAgICAgIDkKICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNAogICAgICBiSW50 ZXJmYWNlTnVtYmVyICAgICAgICAxCiAgICAgIGJBbHRlcm5hdGVTZXR0aW5nICAgICAgIDQK ICAgICAgYk51bUVuZHBvaW50cyAgICAgICAgICAgMgogICAgICBiSW50ZXJmYWNlQ2xhc3Mg ICAgICAgMjI0IFdpcmVsZXNzCiAgICAgIGJJbnRlcmZhY2VTdWJDbGFzcyAgICAgIDEgUmFk aW8gRnJlcXVlbmN5CiAgICAgIGJJbnRlcmZhY2VQcm90b2NvbCAgICAgIDEgQmx1ZXRvb3Ro CiAgICAgIGlJbnRlcmZhY2UgICAgICAgICAgICAgIDAgCiAgICAgIEVuZHBvaW50IERlc2Ny aXB0b3I6CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJEZXNj cmlwdG9yVHlwZSAgICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAweDAz ICBFUCAzIE9VVAogICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAg IFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2gg VHlwZSAgICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAg ICAgICBEYXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAyMSAgMXggMzMgYnl0 ZXMKICAgICAgICBiSW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICAgIEVuZHBvaW50IERl c2NyaXB0b3I6CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJE ZXNjcmlwdG9yVHlwZSAgICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAw eDgzICBFUCAzIElOCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAgICAgICAgMQogICAgICAg ICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIElzb2Nocm9ub3VzCiAgICAgICAgICBTeW5j aCBUeXBlICAgICAgICAgICAgICAgTm9uZQogICAgICAgICAgVXNhZ2UgVHlwZSAgICAgICAg ICAgICAgIERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6ZSAgICAgMHgwMDIxICAxeCAzMyBi eXRlcwogICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAgICAgIDEKICAgIEludGVyZmFjZSBE ZXNjcmlwdG9yOgogICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA5CiAgICAgIGJEZXNj cmlwdG9yVHlwZSAgICAgICAgIDQKICAgICAgYkludGVyZmFjZU51bWJlciAgICAgICAgMQog ICAgICBiQWx0ZXJuYXRlU2V0dGluZyAgICAgICA1CiAgICAgIGJOdW1FbmRwb2ludHMgICAg ICAgICAgIDIKICAgICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIyNCBXaXJlbGVzcwogICAg ICBiSW50ZXJmYWNlU3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1ZW5jeQogICAgICBiSW50 ZXJmYWNlUHJvdG9jb2wgICAgICAxIEJsdWV0b290aAogICAgICBpSW50ZXJmYWNlICAgICAg ICAgICAgICAwIAogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGgg ICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAg ICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHgwMyAgRVAgMyBPVVQKICAgICAgICBibUF0 dHJpYnV0ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAg ICAgSXNvY2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25l CiAgICAgICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQ YWNrZXRTaXplICAgICAweDAwMzEgIDF4IDQ5IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAg ICAgICAgICAgICAgMQogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5n dGggICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1 CiAgICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHg4MyAgRVAgMyBJTgogICAgICAgIGJt QXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAg ICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5v bmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01h eFBhY2tldFNpemUgICAgIDB4MDAzMSAgMXggNDkgYnl0ZXMKICAgICAgICBiSW50ZXJ2YWwg ICAgICAgICAgICAgICAxCkRldmljZSBTdGF0dXM6ICAgICAweDAwMDEKICBTZWxmIFBvd2Vy ZWQKCkJ1cyAwMDMgRGV2aWNlIDAxMTogSUQgMGExMjowMDAxIENhbWJyaWRnZSBTaWxpY29u IFJhZGlvLCBMdGQgQmx1ZXRvb3RoIERvbmdsZSAoSENJIG1vZGUpCkRldmljZSBEZXNjcmlw dG9yOgogIGJMZW5ndGggICAgICAgICAgICAgICAgMTgKICBiRGVzY3JpcHRvclR5cGUgICAg ICAgICAxCiAgYmNkVVNCICAgICAgICAgICAgICAgMi4wMAogIGJEZXZpY2VDbGFzcyAgICAg ICAgICAyMjQgV2lyZWxlc3MKICBiRGV2aWNlU3ViQ2xhc3MgICAgICAgICAxIFJhZGlvIEZy ZXF1ZW5jeQogIGJEZXZpY2VQcm90b2NvbCAgICAgICAgIDEgQmx1ZXRvb3RoCiAgYk1heFBh Y2tldFNpemUwICAgICAgICA2NAogIGlkVmVuZG9yICAgICAgICAgICAweDBhMTIgQ2FtYnJp ZGdlIFNpbGljb24gUmFkaW8sIEx0ZAogIGlkUHJvZHVjdCAgICAgICAgICAweDAwMDEgQmx1 ZXRvb3RoIERvbmdsZSAoSENJIG1vZGUpCiAgYmNkRGV2aWNlICAgICAgICAgICAzMS42NAog IGlNYW51ZmFjdHVyZXIgICAgICAgICAgIDAgCiAgaVByb2R1Y3QgICAgICAgICAgICAgICAg MCAKICBpU2VyaWFsICAgICAgICAgICAgICAgICAwIAogIGJOdW1Db25maWd1cmF0aW9ucyAg ICAgIDEKICBDb25maWd1cmF0aW9uIERlc2NyaXB0b3I6CiAgICBiTGVuZ3RoICAgICAgICAg ICAgICAgICA5CiAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICAyCiAgICB3VG90YWxMZW5n dGggICAgICAgICAgMTc3CiAgICBiTnVtSW50ZXJmYWNlcyAgICAgICAgICAyCiAgICBiQ29u ZmlndXJhdGlvblZhbHVlICAgICAxCiAgICBpQ29uZmlndXJhdGlvbiAgICAgICAgICAwIAog ICAgYm1BdHRyaWJ1dGVzICAgICAgICAgMHg4MAogICAgICAoQnVzIFBvd2VyZWQpCiAgICBN YXhQb3dlciAgICAgICAgICAgICAgICAwbUEKICAgIEludGVyZmFjZSBEZXNjcmlwdG9yOgog ICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA5CiAgICAgIGJEZXNjcmlwdG9yVHlwZSAg ICAgICAgIDQKICAgICAgYkludGVyZmFjZU51bWJlciAgICAgICAgMAogICAgICBiQWx0ZXJu YXRlU2V0dGluZyAgICAgICAwCiAgICAgIGJOdW1FbmRwb2ludHMgICAgICAgICAgIDMKICAg ICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIyNCBXaXJlbGVzcwogICAgICBiSW50ZXJmYWNl U3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1ZW5jeQogICAgICBiSW50ZXJmYWNlUHJvdG9j b2wgICAgICAxIEJsdWV0b290aAogICAgICBpSW50ZXJmYWNlICAgICAgICAgICAgICAwIAog ICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAgICAgICAg ICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBv aW50QWRkcmVzcyAgICAgMHg4MSAgRVAgMSBJTgogICAgICAgIGJtQXR0cmlidXRlcyAgICAg ICAgICAgIDMKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJbnRlcnJ1cHQK ICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAgICAgICBVc2Fn ZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRTaXplICAgICAw eDAwMTAgIDF4IDE2IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAgMQog ICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAgICAgICAg ICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBv aW50QWRkcmVzcyAgICAgMHgwMiAgRVAgMiBPVVQKICAgICAgICBibUF0dHJpYnV0ZXMgICAg ICAgICAgICAyCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAgICAgQnVsawogICAg ICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5 cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDA0 MCAgMXggNjQgYnl0ZXMKICAgICAgICBiSW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICAg IEVuZHBvaW50IERlc2NyaXB0b3I6CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAg NwogICAgICAgIGJEZXNjcmlwdG9yVHlwZSAgICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRB ZGRyZXNzICAgICAweDgyICBFUCAyIElOCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAgICAg ICAgMgogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIEJ1bGsKICAgICAgICAg IFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAgICAgICBVc2FnZSBUeXBlICAg ICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRTaXplICAgICAweDAwNDAgIDF4 IDY0IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAgMQogICAgSW50ZXJm YWNlIERlc2NyaXB0b3I6CiAgICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDkKICAgICAg YkRlc2NyaXB0b3JUeXBlICAgICAgICAgNAogICAgICBiSW50ZXJmYWNlTnVtYmVyICAgICAg ICAxCiAgICAgIGJBbHRlcm5hdGVTZXR0aW5nICAgICAgIDAKICAgICAgYk51bUVuZHBvaW50 cyAgICAgICAgICAgMgogICAgICBiSW50ZXJmYWNlQ2xhc3MgICAgICAgMjI0IFdpcmVsZXNz CiAgICAgIGJJbnRlcmZhY2VTdWJDbGFzcyAgICAgIDEgUmFkaW8gRnJlcXVlbmN5CiAgICAg IGJJbnRlcmZhY2VQcm90b2NvbCAgICAgIDEgQmx1ZXRvb3RoCiAgICAgIGlJbnRlcmZhY2Ug ICAgICAgICAgICAgIDAgCiAgICAgIEVuZHBvaW50IERlc2NyaXB0b3I6CiAgICAgICAgYkxl bmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJEZXNjcmlwdG9yVHlwZSAgICAgICAg IDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAweDAzICBFUCAzIE9VVAogICAgICAg IGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAg ICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAg IE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAg d01heFBhY2tldFNpemUgICAgIDB4MDAwMCAgMXggMCBieXRlcwogICAgICAgIGJJbnRlcnZh bCAgICAgICAgICAgICAgIDEKICAgICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBi TGVuZ3RoICAgICAgICAgICAgICAgICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAg ICAgNQogICAgICAgIGJFbmRwb2ludEFkZHJlc3MgICAgIDB4ODMgIEVQIDMgSU4KICAgICAg ICBibUF0dHJpYnV0ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAg ICAgICAgICAgSXNvY2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAg ICBOb25lCiAgICAgICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAg IHdNYXhQYWNrZXRTaXplICAgICAweDAwMDAgIDF4IDAgYnl0ZXMKICAgICAgICBiSW50ZXJ2 YWwgICAgICAgICAgICAgICAxCiAgICBJbnRlcmZhY2UgRGVzY3JpcHRvcjoKICAgICAgYkxl bmd0aCAgICAgICAgICAgICAgICAgOQogICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA0 CiAgICAgIGJJbnRlcmZhY2VOdW1iZXIgICAgICAgIDEKICAgICAgYkFsdGVybmF0ZVNldHRp bmcgICAgICAgMQogICAgICBiTnVtRW5kcG9pbnRzICAgICAgICAgICAyCiAgICAgIGJJbnRl cmZhY2VDbGFzcyAgICAgICAyMjQgV2lyZWxlc3MKICAgICAgYkludGVyZmFjZVN1YkNsYXNz ICAgICAgMSBSYWRpbyBGcmVxdWVuY3kKICAgICAgYkludGVyZmFjZVByb3RvY29sICAgICAg MSBCbHVldG9vdGgKICAgICAgaUludGVyZmFjZSAgICAgICAgICAgICAgMCAKICAgICAgRW5k cG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA3CiAg ICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAgIGJFbmRwb2ludEFkZHJl c3MgICAgIDB4MDMgIEVQIDMgT1VUCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAgICAgICAg MQogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIElzb2Nocm9ub3VzCiAgICAg ICAgICBTeW5jaCBUeXBlICAgICAgICAgICAgICAgTm9uZQogICAgICAgICAgVXNhZ2UgVHlw ZSAgICAgICAgICAgICAgIERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6ZSAgICAgMHgwMDA5 ICAxeCA5IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAgMQogICAgICBF bmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDcK ICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAgYkVuZHBvaW50QWRk cmVzcyAgICAgMHg4MyAgRVAgMyBJTgogICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAg IDEKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAg ICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5 cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAw OSAgMXggOSBieXRlcwogICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAgICAgIDEKICAgIElu dGVyZmFjZSBEZXNjcmlwdG9yOgogICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA5CiAg ICAgIGJEZXNjcmlwdG9yVHlwZSAgICAgICAgIDQKICAgICAgYkludGVyZmFjZU51bWJlciAg ICAgICAgMQogICAgICBiQWx0ZXJuYXRlU2V0dGluZyAgICAgICAyCiAgICAgIGJOdW1FbmRw b2ludHMgICAgICAgICAgIDIKICAgICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIyNCBXaXJl bGVzcwogICAgICBiSW50ZXJmYWNlU3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1ZW5jeQog ICAgICBiSW50ZXJmYWNlUHJvdG9jb2wgICAgICAxIEJsdWV0b290aAogICAgICBpSW50ZXJm YWNlICAgICAgICAgICAgICAwIAogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAg IGJMZW5ndGggICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAg ICAgICA1CiAgICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHgwMyAgRVAgMyBPVVQKICAg ICAgICBibUF0dHJpYnV0ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBl ICAgICAgICAgICAgSXNvY2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAg ICAgICBOb25lCiAgICAgICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAg ICAgIHdNYXhQYWNrZXRTaXplICAgICAweDAwMTEgIDF4IDE3IGJ5dGVzCiAgICAgICAgYklu dGVydmFsICAgICAgICAgICAgICAgMQogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAg ICAgIGJMZW5ndGggICAgICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUg ICAgICAgICA1CiAgICAgICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHg4MyAgRVAgMyBJTgog ICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5 cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAg ICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAg ICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAxMSAgMXggMTcgYnl0ZXMKICAgICAgICBi SW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICBJbnRlcmZhY2UgRGVzY3JpcHRvcjoKICAg ICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgOQogICAgICBiRGVzY3JpcHRvclR5cGUgICAg ICAgICA0CiAgICAgIGJJbnRlcmZhY2VOdW1iZXIgICAgICAgIDEKICAgICAgYkFsdGVybmF0 ZVNldHRpbmcgICAgICAgMwogICAgICBiTnVtRW5kcG9pbnRzICAgICAgICAgICAyCiAgICAg IGJJbnRlcmZhY2VDbGFzcyAgICAgICAyMjQgV2lyZWxlc3MKICAgICAgYkludGVyZmFjZVN1 YkNsYXNzICAgICAgMSBSYWRpbyBGcmVxdWVuY3kKICAgICAgYkludGVyZmFjZVByb3RvY29s ICAgICAgMSBCbHVldG9vdGgKICAgICAgaUludGVyZmFjZSAgICAgICAgICAgICAgMCAKICAg ICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAgICAgICAgICAg ICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAgIGJFbmRwb2lu dEFkZHJlc3MgICAgIDB4MDMgIEVQIDMgT1VUCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAg ICAgICAgMQogICAgICAgICAgVHJhbnNmZXIgVHlwZSAgICAgICAgICAgIElzb2Nocm9ub3Vz CiAgICAgICAgICBTeW5jaCBUeXBlICAgICAgICAgICAgICAgTm9uZQogICAgICAgICAgVXNh Z2UgVHlwZSAgICAgICAgICAgICAgIERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6ZSAgICAg MHgwMDE5ICAxeCAyNSBieXRlcwogICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAgICAgIDEK ICAgICAgRW5kcG9pbnQgRGVzY3JpcHRvcjoKICAgICAgICBiTGVuZ3RoICAgICAgICAgICAg ICAgICA3CiAgICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNQogICAgICAgIGJFbmRw b2ludEFkZHJlc3MgICAgIDB4ODMgIEVQIDMgSU4KICAgICAgICBibUF0dHJpYnV0ZXMgICAg ICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAgICAgSXNvY2hyb25v dXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAgICAgICBV c2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRTaXplICAg ICAweDAwMTkgIDF4IDI1IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAgICAgICAg MQogICAgSW50ZXJmYWNlIERlc2NyaXB0b3I6CiAgICAgIGJMZW5ndGggICAgICAgICAgICAg ICAgIDkKICAgICAgYkRlc2NyaXB0b3JUeXBlICAgICAgICAgNAogICAgICBiSW50ZXJmYWNl TnVtYmVyICAgICAgICAxCiAgICAgIGJBbHRlcm5hdGVTZXR0aW5nICAgICAgIDQKICAgICAg Yk51bUVuZHBvaW50cyAgICAgICAgICAgMgogICAgICBiSW50ZXJmYWNlQ2xhc3MgICAgICAg MjI0IFdpcmVsZXNzCiAgICAgIGJJbnRlcmZhY2VTdWJDbGFzcyAgICAgIDEgUmFkaW8gRnJl cXVlbmN5CiAgICAgIGJJbnRlcmZhY2VQcm90b2NvbCAgICAgIDEgQmx1ZXRvb3RoCiAgICAg IGlJbnRlcmZhY2UgICAgICAgICAgICAgIDAgCiAgICAgIEVuZHBvaW50IERlc2NyaXB0b3I6 CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJEZXNjcmlwdG9y VHlwZSAgICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAweDAzICBFUCAz IE9VVAogICAgICAgIGJtQXR0cmlidXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5z ZmVyIFR5cGUgICAgICAgICAgICBJc29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAg ICAgICAgICAgICAgIE5vbmUKICAgICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBE YXRhCiAgICAgICAgd01heFBhY2tldFNpemUgICAgIDB4MDAyMSAgMXggMzMgYnl0ZXMKICAg ICAgICBiSW50ZXJ2YWwgICAgICAgICAgICAgICAxCiAgICAgIEVuZHBvaW50IERlc2NyaXB0 b3I6CiAgICAgICAgYkxlbmd0aCAgICAgICAgICAgICAgICAgNwogICAgICAgIGJEZXNjcmlw dG9yVHlwZSAgICAgICAgIDUKICAgICAgICBiRW5kcG9pbnRBZGRyZXNzICAgICAweDgzICBF UCAzIElOCiAgICAgICAgYm1BdHRyaWJ1dGVzICAgICAgICAgICAgMQogICAgICAgICAgVHJh bnNmZXIgVHlwZSAgICAgICAgICAgIElzb2Nocm9ub3VzCiAgICAgICAgICBTeW5jaCBUeXBl ICAgICAgICAgICAgICAgTm9uZQogICAgICAgICAgVXNhZ2UgVHlwZSAgICAgICAgICAgICAg IERhdGEKICAgICAgICB3TWF4UGFja2V0U2l6ZSAgICAgMHgwMDIxICAxeCAzMyBieXRlcwog ICAgICAgIGJJbnRlcnZhbCAgICAgICAgICAgICAgIDEKICAgIEludGVyZmFjZSBEZXNjcmlw dG9yOgogICAgICBiTGVuZ3RoICAgICAgICAgICAgICAgICA5CiAgICAgIGJEZXNjcmlwdG9y VHlwZSAgICAgICAgIDQKICAgICAgYkludGVyZmFjZU51bWJlciAgICAgICAgMQogICAgICBi QWx0ZXJuYXRlU2V0dGluZyAgICAgICA1CiAgICAgIGJOdW1FbmRwb2ludHMgICAgICAgICAg IDIKICAgICAgYkludGVyZmFjZUNsYXNzICAgICAgIDIyNCBXaXJlbGVzcwogICAgICBiSW50 ZXJmYWNlU3ViQ2xhc3MgICAgICAxIFJhZGlvIEZyZXF1ZW5jeQogICAgICBiSW50ZXJmYWNl UHJvdG9jb2wgICAgICAxIEJsdWV0b290aAogICAgICBpSW50ZXJmYWNlICAgICAgICAgICAg ICAwIAogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAgICAg ICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAgICAg YkVuZHBvaW50QWRkcmVzcyAgICAgMHgwMyAgRVAgMyBPVVQKICAgICAgICBibUF0dHJpYnV0 ZXMgICAgICAgICAgICAxCiAgICAgICAgICBUcmFuc2ZlciBUeXBlICAgICAgICAgICAgSXNv Y2hyb25vdXMKICAgICAgICAgIFN5bmNoIFR5cGUgICAgICAgICAgICAgICBOb25lCiAgICAg ICAgICBVc2FnZSBUeXBlICAgICAgICAgICAgICAgRGF0YQogICAgICAgIHdNYXhQYWNrZXRT aXplICAgICAweDAwMzEgIDF4IDQ5IGJ5dGVzCiAgICAgICAgYkludGVydmFsICAgICAgICAg ICAgICAgMQogICAgICBFbmRwb2ludCBEZXNjcmlwdG9yOgogICAgICAgIGJMZW5ndGggICAg ICAgICAgICAgICAgIDcKICAgICAgICBiRGVzY3JpcHRvclR5cGUgICAgICAgICA1CiAgICAg ICAgYkVuZHBvaW50QWRkcmVzcyAgICAgMHg4MyAgRVAgMyBJTgogICAgICAgIGJtQXR0cmli dXRlcyAgICAgICAgICAgIDEKICAgICAgICAgIFRyYW5zZmVyIFR5cGUgICAgICAgICAgICBJ c29jaHJvbm91cwogICAgICAgICAgU3luY2ggVHlwZSAgICAgICAgICAgICAgIE5vbmUKICAg ICAgICAgIFVzYWdlIFR5cGUgICAgICAgICAgICAgICBEYXRhCiAgICAgICAgd01heFBhY2tl dFNpemUgICAgIDB4MDAzMSAgMXggNDkgYnl0ZXMKICAgICAgICBiSW50ZXJ2YWwgICAgICAg ICAgICAgICAxCkRldmljZSBTdGF0dXM6ICAgICAweDAwMDAKICAoQnVzIFBvd2VyZWQpCg== --------------22BEB07C780DD78BFFAA3B47--