From owner-freebsd-arm@freebsd.org Sun Jul 21 14:14:30 2019 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CEE76B49FE for ; Sun, 21 Jul 2019 14:14:30 +0000 (UTC) (envelope-from crowston@protonmail.com) Received: from mail-40132.protonmail.ch (mail-40132.protonmail.ch [185.70.40.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.protonmail.ch", Issuer "SwissSign Server Silver CA 2014 - G22" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DB84824D9 for ; Sun, 21 Jul 2019 14:14:29 +0000 (UTC) (envelope-from crowston@protonmail.com) Date: Sun, 21 Jul 2019 14:14:12 +0000 To: "freebsd-arm@freebsd.org" From: Robert Crowston Reply-To: Robert Crowston Subject: Raspberry Pi 4 boot hangs in sched_idletd. Message-ID: Feedback-ID: 2OVbcR1yHYpdkD8cgQllkFwcuMVZg_LiVMMPvptooFDfHD_03MuQO4ZaF626jWHZYFEhNR2cmIbZ53j4QGWMBQ==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_52ddbc48b3c09239cdcadbfd6134490a" X-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.protonmail.ch X-Rspamd-Queue-Id: 1DB84824D9 X-Spamd-Bar: ------ X-Spamd-Result: default: False [-6.67 / 15.00]; HAS_REPLYTO(0.00)[crowston@protonmail.com]; R_SPF_ALLOW(-0.20)[+ip4:185.70.40.0/24]; FREEMAIL_FROM(0.00)[protonmail.com]; HAS_ATTACHMENT(0.00)[]; DKIM_TRACE(0.00)[protonmail.com:+]; MIME_BASE64_TEXT(0.10)[]; DMARC_POLICY_ALLOW(-0.50)[protonmail.com,quarantine]; MX_GOOD(-0.01)[mailsec.protonmail.ch,mail.protonmail.ch]; CTYPE_MIXED_BOGUS(1.00)[]; NEURAL_HAM_SHORT(-0.93)[-0.928,0]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; FREEMAIL_ENVFROM(0.00)[protonmail.com]; ASN(0.00)[asn:19905, ipnet:185.70.40.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[132.40.70.185.list.dnswl.org : 127.0.5.1]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[protonmail.com:s=default]; REPLYTO_EQ_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; HAS_PHPMAILER_SIG(0.00)[]; FREEMAIL_REPLYTO(0.00)[protonmail.com]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(-3.73)[ip: (-9.81), ipnet: 185.70.40.0/24(-4.90), asn: 19905(-3.91), country: US(-0.05)]; TO_DN_EQ_ADDR_ALL(0.00)[]; RCVD_TLS_ALL(0.00)[] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jul 2019 14:14:30 -0000 This is a multi-part message in MIME format. --b1_52ddbc48b3c09239cdcadbfd6134490a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I need a bit of a hand with this. I've been working on getting FreeBSD 13.0= -Current up and running on my pi4. I'm using the GENERIC configuration for = now. I have a JTAG hardware debugger so I've got a pretty good introspectio= n on what's going on at the detail level, but I'm missing some of the bigge= r picture. The first problem is, this board has two interrupt controllers on the FDT; = the bcm2836-l1-intc local interrupt controller (local_intc) that was presen= t on the RPi3, and also a new gic400. Both the drivers call intr_pic_claim_= root(), which causes a panic. If I remove the gic400 from the FDT, very lit= tle of the hardware enumeration succeeds and the kernel panics because ther= e is no event timer. If I remove the local_intc, a few devices, including t= he BCM2835 DMA controller, the SD card controllers, and the GPIO drivers fa= il to start, but the rest of the hardware enumeration finishes. I don't kno= w enough about the hardware topology to figure out which one is the real ro= ot and fix the drivers accordingly. So, without local_intc, we get another problem. Late in the boot sequence, = the idle thread gets swapped in, and there are still threads on the sleep q= ueue, including thread0, but no other threads get put on the run queue, and= the Pi loops through sched_idletd thread forever instead of finishing the = boot. By poking things in the debugger I can progress as far as vfs_mountroot_wai= t(), and I think there is a race condition because the behaviour is differe= nt if I step through manually without changing anything, but whatever happe= ns, eventually I end up stuck in the sched_idletd loop. I think perhaps event timer interrupts are not being delivered so the sleep= queue never gets moved to the run queue?, but I'm guessing here. More detail: So far I'm in mi_startup(), and about ~1150 out of ~1200 SYSINIT tasks are = done. Eventually we get to initialize the usbus. One of its worker threads = calls _sleep(): Breakpoint 6, _sleep (ident=3D0xffff000000c5eb28 , lock=3D0x0,= priority=3D0, wmesg=3D0xffff000000775d55 "USBWAIT", sbt=3D47244637, pr=3D0, flags=3D2= 56) at /skeleton/root/sandbox/src/sys/kern/kern_synch.c:139 139 td =3D curthread; (gdb) bt #0 _sleep (ident=3D0xffff000000c5eb28 , lock=3D0x0, priority= =3D0, wmesg=3D0xffff000000775d55 "USBWAIT", sbt=3D47244637, pr=3D0, flags=3D2= 56) at /skeleton/root/sandbox/src/sys/kern/kern_synch.c:139 #1 0xffff00000029db08 in usbd_req_set_address (udev=3D0xfffffd0000d23000, = mtx=3D0x0, addr=3D) at /skeleton/root/sandbox/src/sys/dev/usb/usb_r= equest.c:1580 #2 0xffff00000028d05c in usb_alloc_device (parent_dev=3D, b= us=3D0xffff0000405fe000, parent_hub=3D0x0, depth=3D, port_index=3D= , port_no=3D, speed=3DUSB_SPEED_HIGH, mode=3D) at /skeleton/root/sandbox/src/sys/dev/usb/usb_device.c:1824 #3 0xffff000000281524 in usb_bus_attach (pm=3D) at /skeleton/root/sandbox/src/sys/dev/usb/controller/usb_controller.c:7= 67 #4 0xffff00000029b750 in usb_process (arg=3D0xffff0000405fe130) at /skeleton/root/sandbox/src/sys/dev/usb/usb_process.c:178 #5 0xffff0000003b78c0 in fork_exit (callout=3D0xffff00000029b65c , arg=3D0xffff0000405fe130, frame=3D0xffff00004024cba0) at /skeleton/root/sandbox/src/sys/kern/kern_fork.c:1056 #6 0xffff00000071fe88 in fork_trampoline () at /skeleton/root/sandbox/src/sys/arm64/arm64/swtch.S:214 _sleep() swaps the usb_process thread off the CPU. If I step through, anoth= er few threads are put on the CPU, including taskqueue_thread_loop, soaio_k= proc_loop, random_kthread. Sometimes I also see the interrupt event thread,= but not always. Sometimes if I step, I'll find thread0 does get back on th= e CPU, in which case we can progress as far as release_aps(), but then the = other CPUs get stuck in sched_idletd and eventually CPU0 will hang in smp_r= endezvous() waiting for the other CPUs. Does anyone have any ideas what I should investigate next? Boot log attached. --b1_52ddbc48b3c09239cdcadbfd6134490a Content-Type: text/plain; name="rpi4 boot log GENERIC 2019-07-21T1440.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="rpi4 boot log GENERIC 2019-07-21T1440.txt" TG9hZGluZyBrZXJuZWwuLi4KL2Jvb3Qva2VybmVsL2tlcm5lbCB0ZXh0PTB4OTM3M2I0IGRhdGE9 MHgxOTEwNDgrMHg4NGFiMWMgc3ltcz1bMHg4KzB4MTM4Nzk4KzB4OCsweDEyNGEzMF0KTG9hZGlu ZyBjb25maWd1cmVkIG1vZHVsZXMuLi4KY2FuJ3QgZmluZCAnL2Jvb3QvZW50cm9weScKVXNpbmcg RFRCIHByb3ZpZGVkIGJ5IEVGSSBhdCAweDdmMDQwMDAuCi0tLTw8Qk9PVD4+LS0tCktEQjogZGVi dWdnZXIgYmFja2VuZHM6IGRkYgpLREI6IGN1cnJlbnQgYmFja2VuZDogZGRiCiAgICAgICAgICAg ICAgICAgICBUeXBlICAgICBQaHlzaWNhbCAgICAgIFZpcnR1YWwgICAjUGFnZXMgQXR0cgogICAg ICAgICAgICAgICBSZXNlcnZlZCAwMDAwMDAwMDAwMDAgICAgICAgICAgICAwIDAwMDAwMDAxIFdC CiAgICAgQ29udmVudGlvbmFsTWVtb3J5IDAwMDAwMDAwNDAwMCAgICAgICAgIDQwMDAgMDAwMDdm MDAgV0IKICAgICAgIEJvb3RTZXJ2aWNlc0RhdGEgMDAwMDA3ZjA0MDAwICAgICAgN2YwNDAwMCAw MDAwMDAwOSBXQgogICAgIENvbnZlbnRpb25hbE1lbW9yeSAwMDAwMDdmMGQwMDAgICAgICA3ZjBk MDAwIDAwMDI3ZGU0IFdCCiAgICAgICAgICAgICBMb2FkZXJEYXRhIDAwMDAyZmNmMTAwMCAgICAg MmZjZjEwMDAgMDAwMDQwMDEgV0IKICAgICAgIEJvb3RTZXJ2aWNlc0RhdGEgMDAwMDMzY2YyMDAw ICAgICAzM2NmMjAwMCAwMDAwMDAwMiBXQgogICAgICAgICAgICAgTG9hZGVyRGF0YSAwMDAwMzNj ZjQwMDAgICAgIDMzY2Y0MDAwIDAwMDA0MDAwIFdCCiAgICAgICAgICAgICBMb2FkZXJDb2RlIDAw MDAzN2NmNDAwMCAgICAgMzdjZjQwMDAgMDAwMDAwOWMgV0IKICAgICAgICAgICAgICAgUmVzZXJ2 ZWQgMDAwMDM3ZDkwMDAwICAgICAzN2Q5MDAwMCAwMDAwMDAwMiBXQgogICAgICAgICAgICAgTG9h ZGVyRGF0YSAwMDAwMzdkOTIwMDAgICAgIDM3ZDkyMDAwIDAwMDAyMWExIFdCCiAgICAgICAgICAg ICBMb2FkZXJDb2RlIDAwMDAzOWYzMzAwMCAgICAgMzlmMzMwMDAgMDAwMDAwMTUgV0IKICAgICAg ICAgICAgICAgUmVzZXJ2ZWQgMDAwMDM5ZjQ4MDAwICAgICAzOWY0ODAwMCAwMDAwMDAwNiBXQgog ICAgUnVudGltZVNlcnZpY2VzRGF0YSAwMDAwMzlmNGUwMDAgICAgIDM5ZjRlMDAwIDAwMDAwMDAx IFdCIFJVTlRJTUUKICAgICAgICAgICAgICAgUmVzZXJ2ZWQgMDAwMDM5ZjRmMDAwICAgICAzOWY0 ZjAwMCAwMDAwMDAwNSBXQgogICAgUnVudGltZVNlcnZpY2VzRGF0YSAwMDAwMzlmNTQwMDAgICAg IDM5ZjU0MDAwIDAwMDAwMDAxIFdCIFJVTlRJTUUKICAgICAgICAgICAgICAgUmVzZXJ2ZWQgMDAw MDM5ZjU1MDAwICAgICAzOWY1NTAwMCAwMDAwMDAwMSBXQgogICAgICAgICAgICAgTG9hZGVyRGF0 YSAwMDAwMzlmNTYwMDAgICAgIDM5ZjU2MDAwIDAwMDAxM2ZhIFdCCiAgICBSdW50aW1lU2Vydmlj ZXNDb2RlIDAwMDAzYjM1MDAwMCAgICAgM2IzNTAwMDAgMDAwMDAwMTAgV0IgUlVOVElNRQogICAg ICAgICAgICAgTG9hZGVyRGF0YSAwMDAwM2IzNjAwMDAgICAgIDNiMzYwMDAwIDAwMDAwMGEwIFdC CiAgICAgICAgIE1lbW9yeU1hcHBlZElPIDAwMDBmZTEwMDAwMCAgICAgZmUxMDAwMDAgMDAwMDAw MDEgUlVOVElNRQpQaHlzaWNhbCBtZW1vcnkgY2h1bmsocyk6CiAgMHgwMDAwNDAwMCAtIDB4Mzdk OGZmZmYsICAgODkzIE1CICggMjI4NzQ4IHBhZ2VzKQogIDB4MzdkOTIwMDAgLSAweDM5ZjQ3ZmZm LCAgICAzMyBNQiAoICAgODYzMCBwYWdlcykKICAweDM5ZjRlMDAwIC0gMHgzOWY0ZWZmZiwgICAg IDAgTUIgKCAgICAgIDEgcGFnZXMpCiAgMHgzOWY1NDAwMCAtIDB4MzlmNTRmZmYsICAgICAwIE1C ICggICAgICAxIHBhZ2VzKQogIDB4MzlmNTYwMDAgLSAweDNiMzRmZmZmLCAgICAxOSBNQiAoICAg NTExNCBwYWdlcykKICAweDNiMzYwMDAwIC0gMHgzYjNmZmZmZiwgICAgIDAgTUIgKCAgICAxNjAg cGFnZXMpCkV4Y2x1ZGVkIG1lbW9yeSByZWdpb25zOgogIDB4MDAwMDAwMDAgLSAweDAwMDAwZmZm LCAgICAgMCBNQiAoICAgICAgMSBwYWdlcykgTm9BbGxvYwogIDB4MmZlMDAwMDAgLSAweDMxNWEz ZmZmLCAgICAyMyBNQiAoICAgNjA1MiBwYWdlcykgTm9BbGxvYwogIDB4MzdkOTAwMDAgLSAweDM3 ZDkxZmZmLCAgICAgMCBNQiAoICAgICAgMiBwYWdlcykgTm9BbGxvYwogIDB4MzlmNDgwMDAgLSAw eDM5ZjU1ZmZmLCAgICAgMCBNQiAoICAgICAxNCBwYWdlcykgTm9BbGxvYwogIDB4M2IzNTAwMDAg LSAweDNiMzVmZmZmLCAgICAgMCBNQiAoICAgICAxNiBwYWdlcykgTm9BbGxvYwogIDB4ZmUxMDAw MDAgLSAweGZlMTAwZmZmLCAgICAgMCBNQiAoICAgICAgMSBwYWdlcykgTm9BbGxvYwpGb3VuZCA0 IENQVXMgaW4gdGhlIGRldmljZSB0cmVlCkNvcHlyaWdodCAoYykgMTk5Mi0yMDE5IFRoZSBGcmVl QlNEIFByb2plY3QuCkNvcHlyaWdodCAoYykgMTk3OSwgMTk4MCwgMTk4MywgMTk4NiwgMTk4OCwg MTk4OSwgMTk5MSwgMTk5MiwgMTk5MywgMTk5NAogICAgICAgIFRoZSBSZWdlbnRzIG9mIHRoZSBV bml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkZyZWVCU0QgaXMg YSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBUaGUgRnJlZUJTRCBGb3VuZGF0aW9uLgpGcmVlQlNE IDEzLjAtQ1VSUkVOVCAjMCAyNDc0YTY4MjE2ZihtYXN0ZXIpLWRpcnR5OiBTYXQgSnVsIDEzIDIx OjE5OjM1IEJTVCAyMDE5CiAgICByb290QGNyb3NzYnVpbGQudGliZXJpdXM6L3NrZWxldG9uL3Jv b3Qvc2FuZGJveC93b3JrLXJwaTQuMS9vYmovc2tlbGV0b24vcm9vdC9zYW5kYm94L3NyYy9hcm02 NC5hYXJjaDY0L3N5cy9HRU5FUklDIGFybTY0CkZyZWVCU0QgY2xhbmcgdmVyc2lvbiA4LjAuMSAo YnJhbmNoZXMvcmVsZWFzZV84MCAzNjMwMzApIChiYXNlZCBvbiBMTFZNIDguMC4xKQpXQVJOSU5H OiBXSVRORVNTIG9wdGlvbiBlbmFibGVkLCBleHBlY3QgcmVkdWNlZCBwZXJmb3JtYW5jZS4KVlQ6 IGluaXQgd2l0aG91dCBkcml2ZXIuClByZWxvYWRlZCBlbGYga2VybmVsICIvYm9vdC9rZXJuZWwv a2VybmVsIiBhdCAweGZmZmYwMDAwMDE1NzkwMDAuClN0YXJ0aW5nIENQVSAxICgxKQpTdGFydGlu ZyBDUFUgMiAoMikKU3RhcnRpbmcgQ1BVIDMgKDMpCkZyZWVCU0QvU01QOiBNdWx0aXByb2Nlc3Nv ciBTeXN0ZW0gRGV0ZWN0ZWQ6IDQgQ1BVcwphcmM0cmFuZG9tOiBXQVJOSU5HOiBpbml0aWFsIHNl ZWRpbmcgYnlwYXNzZWQgdGhlIGNyeXB0b2dyYXBoaWMgcmFuZG9tIGRldmljZSBiZWNhdXNlIGl0 IHdhcyBub3QgeWV0IHNlZWRlZCBhbmQgdGhlIGtub2IgJ2J5cGFzc19iZWZvcmVfc2VlZGluZycg d2FzIGVuYWJsZWQuClZJTUFHRSAodmlydHVhbGl6ZWQgbmV0d29yayBzdGFjaykgZW5hYmxlZApV TEU6IHNldHVwIGNwdSAwClVMRTogc2V0dXAgY3B1IDEKVUxFOiBzZXR1cCBjcHUgMgpVTEU6IHNl dHVwIGNwdSAzCnJhbmRvbTogZW50cm9weSBkZXZpY2UgZXh0ZXJuYWwgaW50ZXJmYWNlCnNuZF91 bml0X2luaXQoKSB1PTB4MDBmZjgwMDAgWzUxMl0gZD0weDAwMDA3YzAwIFszMl0gYz0weDAwMDAw M2ZmIFsxMDI0XQpmZWVkZXJfcmVnaXN0ZXI6IHNuZF91bml0PS0xIHNuZF9tYXhhdXRvdmNoYW5z PTE2IGxhdGVuY3k9NSBmZWVkZXJfcmF0ZV9taW49MSBmZWVkZXJfcmF0ZV9tYXg9MjAxNjAwMCBm ZWVkZXJfcmF0ZV9yb3VuZD0yNQpNQVAgMzlmNGUwMDAgbW9kZSAyIHBhZ2VzIDEKTUFQIDM5ZjU0 MDAwIG1vZGUgMiBwYWdlcyAxCk1BUCAzYjM1MDAwMCBtb2RlIDIgcGFnZXMgMTYKRUZJIFJ1bnRp bWUgZW50cnkgMTkgbWFwcGluZyBhdHRyaWJ1dGVzIHVuc3VwcG9ydGVkCk1BUCBmZTEwMDAwMCBt b2RlIDEgcGFnZXMgMQpuZnNsb2NrOiBwc2V1ZG8tZGV2aWNlCmNyeXB0bzogPGNyeXB0byBjb3Jl PgprYmQwIGF0IGtiZG11eDAKbWVtOiA8bWVtb3J5PgpudWxsOiA8ZnVsbCBkZXZpY2UsIG51bGwg ZGV2aWNlLCB6ZXJvIGRldmljZT4Kb3BlbmZpcm06IDxPcGVuIEZpcm13YXJlIGNvbnRyb2wgZGV2 aWNlPgpvZndidXMwOiA8T3BlbiBGaXJtd2FyZSBEZXZpY2UgVHJlZT4Kc2ltcGxlYnVzMDogPEZs YXR0ZW5lZCBkZXZpY2UgdHJlZSBzaW1wbGUgYnVzPiBvbiBvZndidXMwCm9md19jbGtidXMwOiA8 T0ZXIGNsb2NrcyBidXM+IG9uIG9md2J1czAKY2xrX2ZpeGVkMDogPEZpeGVkIGNsb2NrPiBvbiBv ZndfY2xrYnVzMApjbGtfZml4ZWQxOiA8Rml4ZWQgY2xvY2s+IG9uIG9md19jbGtidXMwCnNpbXBs ZWJ1czE6IDxGbGF0dGVuZWQgZGV2aWNlIHRyZWUgc2ltcGxlIGJ1cz4gb24gb2Z3YnVzMApzaW1w bGVidXMyOiA8RmxhdHRlbmVkIGRldmljZSB0cmVlIHNpbXBsZSBidXM+IG9uIG9md2J1czAKcmVn Zml4MDogPEZpeGVkIFJlZ3VsYXRvcj4gb24gb2Z3YnVzMApyZWdmaXgxOiA8Rml4ZWQgUmVndWxh dG9yPiBvbiBvZndidXMwCnBzY2kwOiA8QVJNIFBvd2VyIFN0YXRlIENvLW9yZGluYXRpb24gSW50 ZXJmYWNlIERyaXZlcj4gb24gb2Z3YnVzMApwc2NpMDogUFNDSSB2ZXJzaW9uIDAuMiBjb21wYXRp YmxlCmdpYzA6IDxBUk0gR2VuZXJpYyBJbnRlcnJ1cHQgQ29udHJvbGxlcj4gbWVtIDB4NDAwNDEw MDAtMHg0MDA0MWZmZiwweDQwMDQyMDAwLTB4NDAwNDNmZmYsMHg0MDA0NDAwMC0weDQwMDQ1ZmZm LDB4NDAwNDYwMDAtMHg0MDA0N2ZmZiBvbiBzaW1wbGVidXMwCnNpbXBsZWJ1czA6IG5vIGRlZmF1 bHQgcmVzb3VyY2VzIGZvciByaWQgPSAwLCB0eXBlID0gMQpnaWMwOiBwbiAweDIsIGFyY2ggMHgy LCByZXYgMHgxLCBpbXBsZW1lbnRlciAweDQzYiBpcnFzIDI1NgpncGlvMDogPEJDTTI3MDgvMjgz NSBHUElPIGNvbnRyb2xsZXI+IG1lbSAweDdlMjAwMDAwLTB4N2UyMDAwYjMgaXJxIDIyLDIzLDI0 LDI1IG9uIHNpbXBsZWJ1czAKZ3Bpb2J1czA6IDxPRlcgR1BJTyBidXM+IG9uIGdwaW8wClByb2Nl c3NpbmcgMyBwaW4tY29uZmlnIG5vZGUocykgaW4gcGluY3RybC0wIGZvciBzZXJpYWxAN2UyMDEw MDAKZ3BpbzA6IHNldCBwaW4gMzAgdG8gZnVuYyA3LCBwdWxsIDIKZ3BpbzA6IHNldCBwaW4gMzEg dG8gZnVuYyA3LCBwdWxsIDAKZ3BpbzA6IHNldCBwaW4gMzIgdG8gZnVuYyA3LCBwdWxsIDAKZ3Bp bzA6IHNldCBwaW4gMzIgdG8gZnVuYyA3LCBwdWxsIDAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzEz My85MTM0XQpncGlvMDogc2V0IHBpbiAzMyB0byBmdW5jIDcsIHB1bGwgMgpncGlvMDogc2V0IHBp biA0MyB0byBmdW5jIDQsIHB1bGwgMApQcm9jZXNzaW5nIDEgcGluLWNvbmZpZyBub2RlKHMpIGlu IHBpbmN0cmwtMCBmb3IgaTJjQDdlMjA1MDAwCmdwaW8wOiBzZXQgcGluIDAgdG8gZnVuYyA0Cmdw aW8wOiBzZXQgcGluIDEgdG8gZnVuYyA0ClByb2Nlc3NpbmcgMSBwaW4tY29uZmlnIG5vZGUocykg aW4gcGluY3RybC0wIGZvciBzZXJpYWxAN2UyMTUwNDAKZ3BpbzA6IHNldCBwaW4gMTQgdG8gZnVu YyAyCmdwaW8wOiBzZXQgcGluIDE1IHRvIGZ1bmMgMgpQcm9jZXNzaW5nIDEgcGluLWNvbmZpZyBu b2RlKHMpIGluIHBpbmN0cmwtMCBmb3Igc2RoY2lAN2UzMDAwMDAKZ3BpbzA6IHNldCBwaW4gMzQg dG8gZnVuYyA3LCBwdWxsIDAKZ3BpbzA6IHNldCBwaW4gMzUgdG8gZnVuYyA3LCBwdWxsIDIKZ3Bp bzA6IHNldCBwaW4gMzYgdG8gZnVuYyA3LCBwdWxsIDIKZ3BpbzA6IHNldCBwaW4gMzcgdG8gZnVu YyA3LCBwdWxsIDIKZ3BpbzA6IHNldCBwaW4gMzggdG8gZnVuYyA3LCBwdWxsIDIKZ3BpbzA6IHNl dCBwaW4gMzkgdG8gZnVuYyA3LCBwdWxsIDIKUHJvY2Vzc2luZyAxIHBpbi1jb25maWcgbm9kZShz KSBpbiBwaW5jdHJsLTAgZm9yIGkyY0A3ZTgwNDAwMApncGlvMDogc2V0IHBpbiAyIHRvIGZ1bmMg NApncGlvMDogc2V0IHBpbiAzIHRvIGZ1bmMgNApQcm9jZXNzaW5nIDIgcGluLWNvbmZpZyBub2Rl KHMpIGluIHBpbmN0cmwtMCBmb3IgcHdtQDdlMjBjODAwCmdwaW8wOiBzZXQgcGluIDQwIHRvIGZ1 bmMgNApncGlvMDogc2V0IHBpbiA0MSB0byBmdW5jIDQKZ3Bpb3JlZ3VsYXRvcjA6IDxHUElPIGNv bnRyb2xsZWQgcmVndWxhdG9yPiBvbiBvZndidXMwCmdwaW9yZWd1bGF0b3IwOiBjYW5ub3QgZ2V0 IHBpbiAwCmdwaW9yZWd1bGF0b3IwOiBjYW5ub3QgcGFyc2UgcGFyYW1ldGVycwpkZXZpY2VfYXR0 YWNoOiBncGlvcmVndWxhdG9yMCBhdHRhY2ggcmV0dXJuZWQgNgpnZW5lcmljX3RpbWVyMDogPEFS TXY3IEdlbmVyaWMgVGltZXI+IGlycSA0LDUsNiw3IG9uIG9md2J1czAKVGltZWNvdW50ZXIgIkFS TSBNUENvcmUgVGltZWNvdW50ZXIiIGZyZXF1ZW5jeSA1NDAwMDAwMCBIeiBxdWFsaXR5IDEwMDAK RXZlbnQgdGltZXIgIkFSTSBNUENvcmUgRXZlbnR0aW1lciIgZnJlcXVlbmN5IDU0MDAwMDAwIEh6 IHF1YWxpdHkgMTAwMApncGlvcmVndWxhdG9yMDogPEdQSU8gY29udHJvbGxlZCByZWd1bGF0b3I+ IG9uIG9md2J1czAKZ3Bpb3JlZ3VsYXRvcjA6IGNhbm5vdCBnZXQgcGluIDAKZ3Bpb3JlZ3VsYXRv cjA6IGNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzCmRldmljZV9hdHRhY2g6IGdwaW9yZWd1bGF0b3Iw IGF0dGFjaCByZXR1cm5lZCA2CnVzYl9ub3BfeGNlaXYwOiA8VVNCIE5PUCBQSFk+IG9uIG9md2J1 czAKZ3Bpb3JlZ3VsYXRvcjA6IDxHUElPIGNvbnRyb2xsZWQgcmVndWxhdG9yPiBvbiBvZndidXMw CmdwaW9yZWd1bGF0b3IwOiBjYW5ub3QgZ2V0IHBpbiAwCmdwaW9yZWd1bGF0b3IwOiBjYW5ub3Qg cGFyc2UgcGFyYW1ldGVycwpkZXZpY2VfYXR0YWNoOiBncGlvcmVndWxhdG9yMCBhdHRhY2ggcmV0 dXJuZWQgNgplZmlydGMwOiBjYW5ub3QgcmVhZCBFRkkgcmVhbHRpbWUgY2xvY2ssIGVycm9yIDc4 Cm9md2J1czA6IDxmcmFtZWJ1ZmZlcj4gZGlzYWJsZWQgY29tcGF0IHNpbXBsZS1mcmFtZWJ1ZmZl ciAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8dHhwQDdlMDA0MDAwPiBtZW0gMHg3 ZTAwNDAwMC0weDdlMDA0MDFmIGlycSA4IGNvbXBhdCBicmNtLGJjbTI4MzUtdHhwIChubyBkcml2 ZXIgYXR0YWNoZWQpCmJjbV9kbWEwOiA8QkNNMjgzNSBETUEgQ29udHJvbGxlcj4gbWVtIDB4N2Uw MDcwMDAtMHg3ZTAwN2FmZiBpcnEgOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSBvbiBz aW1wbGVidXMwCmJjbV9kbWEwOiBjYW5ub3Qgc2V0dXAgaW50ZXJydXB0IGhhbmRsZXIKZGV2aWNl X2F0dGFjaDogYmNtX2RtYTAgYXR0YWNoIHJldHVybmVkIDYKYmNtd2QwOiA8QkNNMjcwOC8yODM1 IFdhdGNoZG9nPiBtZW0gMHg3ZTEwMDAwMC0weDdlMTAwMTEzLDB4N2UwMGEwMDAtMHg3ZTAwYTAy MywweDdlYzExMDAwLTB4N2VjMTEwMWYgb24gc2ltcGxlYnVzMApzaW1wbGVidXMwOiA8Y3BybWFu QDdlMTAxMDAwPiBtZW0gMHg3ZTEwMTAwMC0weDdlMTAyZmZmIGNvbXBhdCBicmNtLGJjbTI4Mzgt Y3BybWFuIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxybmdAN2UxMDQwMDA+IG1l bSAweDdlMTA0MDAwLTB4N2UxMDQwMGYgaXJxIDIwIGNvbXBhdCBicmNtLGJjbTI4Mzgtcm5nMjAw IChubyBkcml2ZXIgYXR0YWNoZWQpCm1ib3gwOiA8QkNNMjgzNSBWaWRlb0NvcmUgTWFpbGJveD4g bWVtIDB4N2UwMGI4ODAtMHg3ZTAwYjhiZiBpcnEgMjEgb24gc2ltcGxlYnVzMApncGlvYzA6IDxH UElPIGNvbnRyb2xsZXI+IG9uIGdwaW8wCnVhcnQwOiA8UHJpbWVDZWxsIFVBUlQgKFBMMDExKT4g bWVtIDB4N2UyMDEwMDAtMHg3ZTIwMTFmZiBpcnEgMjYgb24gc2ltcGxlYnVzMAp1YXJ0MDogZmFz dCBpbnRlcnJ1cHQKdWFydDA6IFBQUyBjYXB0dXJlIG1vZGU6IERDRApzaW1wbGVidXMwOiA8bW1j QDdlMjAyMDAwPiBtZW0gMHg3ZTIwMjAwMC0weDdlMjAyMGZmIGlycSAyNyBkaXNhYmxlZCBjb21w YXQgYnJjbSxiY20yODM1LXNkaG9zdCAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8 aTJzQDdlMjAzMDAwPiBtZW0gMHg3ZTIwMzAwMC0weDdlMjAzMDIzIGRpc2FibGVkIGNvbXBhdCBi cmNtLGJjbTI4MzUtaTJzIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxzcGlAN2Uy MDQwMDA+IG1lbSAweDdlMjA0MDAwLTB4N2UyMDQxZmYgaXJxIDI4IGRpc2FibGVkIGNvbXBhdCBi cmNtLGJjbTI4MzUtc3BpIChubyBkcml2ZXIgYXR0YWNoZWQpCmlpY2hiMDogPEJDTTI3MDgvMjgz NSBCU0MgY29udHJvbGxlcj4gbWVtIDB4N2UyMDUwMDAtMHg3ZTIwNTFmZiBpcnEgMjkgb24gc2lt cGxlYnVzMApzaW1wbGVidXMwOiA8cGl4ZWx2YWx2ZUA3ZTIwNjAwMD4gbWVtIDB4N2UyMDYwMDAt MHg3ZTIwNjBmZiBpcnEgMzAgY29tcGF0IGJyY20sYmNtMjgzNS1waXhlbHZhbHZlMCAobm8gZHJp dmVyIGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8cGl4ZWx2YWx2ZUA3ZTIwNzAwMD4gbWVtIDB4N2Uy MDcwMDAtMHg3ZTIwNzBmZiBpcnEgMzEgY29tcGF0IGJyY20sYmNtMjgzNS1waXhlbHZhbHZlMSAo bm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8ZHBpQDdlMjA4MDAwPiBtZW0gMHg3ZTIw ODAwMC0weDdlMjA4MDhiIGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtZHBpIChubyBkcml2 ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxkc2lAN2UyMDkwMDA+IG1lbSAweDdlMjA5MDAwLTB4 N2UyMDkwNzcgaXJxIDMyIGNvbXBhdCBicmNtLGJjbTI4MzUtZHNpMCAobm8gZHJpdmVyIGF0dGFj aGVkKQpzaW1wbGVidXMwOiA8YXV4QDdlMjE1MDAwPiBtZW0gMHg3ZTIxNTAwMC0weDdlMjE1MDA3 IGNvbXBhdCBicmNtLGJjbTI4MzUtYXV4IChubyBkcml2ZXIgYXR0YWNoZWQpCnVhcnQxOiA8QkNN MjgzNSBNaW5pLVVBUlQ+IG1lbSAweDdlMjE1MDQwLTB4N2UyMTUwN2YgaXJxIDMzIG9uIHNpbXB1 YXJ0MTogY29uc29sZSAoMTE1MjAwLG4sOCwxKQp1YXJ0MTogZmFzdCBpbnRlcnJ1cHQKdWFydDE6 IFBQUyBjYXB0dXJlIG1vZGU6IERDRApzaW1wbGVidXMwOiA8c3BpQDdlMjE1MDgwPiBtZW0gMHg3 ZTIxNTA4MC0weDdlMjE1MGJmIGlycSAzNCBkaXNhYmxlZCBjb21wYXQgYnJjbSxiY20yODM1LWF1 eC1zcGkgKG5vIGRyaXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMDogPHNwaUA3ZTIxNTBjMD4gbWVt IDB4N2UyMTUwYzAtMHg3ZTIxNTBmZiBpcnEgMzUgZGlzYWJsZWQgY29tcGF0IGJyY20sYmNtMjgz NS1hdXgtc3BpIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxwd21AN2UyMGMwMDA+ IG1lbSAweDdlMjBjMDAwLTB4N2UyMGMwMjcgZGlzYWJsZWQgY29tcGF0IGJyY20sYmNtMjgzNS1w d20gKG5vIGRyaXZlciBhdHRhY2hlZCkKc2RoY2lfYmNtMDogPEJyb2FkY29tIDI3MDggU0RIQ0kg Y29udHJvbGxlcj4gbWVtIDB4N2UzMDAwMDAtMHg3ZTMwMDBmZiBpcnEgMzYgb24gc2ltcGxlYnVz MApkZXZpY2VfYXR0YWNoOiBzZGhjaV9iY20wIGF0dGFjaCByZXR1cm5lZCA2CnNpbXBsZWJ1czA6 IDxodnNAN2U0MDAwMDA+IG1lbSAweDdlNDAwMDAwLTB4N2U0MDVmZmYgaXJxIDM3IGNvbXBhdCBi cmNtLGJjbTI4MzUtaHZzIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxkc2lAN2U3 MDAwMDA+IG1lbSAweDdlNzAwMDAwLTB4N2U3MDAwOGIgaXJxIDM4IGRpc2FibGVkIGNvbXBhdCBi cmNtLGJjbTI4MzUtZHNpMSAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8Y3NpQDdl ODAwMDAwPiBtZW0gMHg3ZTgwMDAwMC0weDdlODAwN2ZmLDB4N2U4MDIwMDAtMHg3ZTgwMjAwMyBp cnEgMzkgZGlzYWJsZWQgY29tcGF0IGJyY20sYmNtMjgzNS11bmljYW0gKG5vIGRyaXZlciBhdHRh Y2hlZCkKc2ltcGxlYnVzMDogPGNzaUA3ZTgwMTAwMD4gbWVtIDB4N2U4MDEwMDAtMHg3ZTgwMTdm ZiwweDdlODAyMDA0LTB4N2U4MDIwMDcgaXJxIDQwIGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4 MzUtdW5pY2FtIChubyBkcml2ZXIgYXR0YWNoZWQpCmlpY2hiMTogPEJDTTI3MDgvMjgzNSBCU0Mg Y29udHJvbGxlcj4gbWVtIDB4N2U4MDQwMDAtMHg3ZTgwNGZmZiBpcnEgNDEgb24gc2ltcGxlYnVz MAppaWNoYjI6IDxCQ00yNzA4LzI4MzUgQlNDIGNvbnRyb2xsZXI+IG1lbSAweDdlODA1MDAwLTB4 N2U4MDVmZmYgaXJxIDQyIG9uIHNpbXBsZWJ1czAKc2ltcGxlYnVzMDogPHZlY0A3ZTgwNjAwMD4g bWVtIDB4N2U4MDYwMDAtMHg3ZTgwNmZmZiBpcnEgNDMgY29tcGF0IGJyY20sYmNtMjgzNS12ZWMg KG5vIGRyaXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMDogPHBpeGVsdmFsdmVAN2U4MDcwMDA+IG1l bSAweDdlODA3MDAwLTB4N2U4MDcwZmYgaXJxIDQ0IGNvbXBhdCBicmNtLGJjbTI4MzUtcGl4ZWx2 YWx2ZTIgKG5vIGRyaXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMDogPGhkbWlAN2U5MDIwMDA+IG1l bSAweDdlOTAyMDAwLTB4N2U5MDI1ZmYsMHg3ZTgwODAwMC0weDdlODA4MGZmIGlycSA0NSw0NiBj b21wYXQgYnJjbSxiY20yODM1LWhkbWkgKG5vIGRyaXZlciBhdHRhY2hlZCkKYmNtMjgzeF9kd2Nv dGcwOiA8RFdDIE9URyAyLjAgaW50ZWdyYXRlZCBVU0IgY29udHJvbGxlciAoYmNtMjgzeCk+IG1l bSAweDdlOTgwMDAwLTB4N2U5OGZmZmYgaXJxIDQ3IG9uIHNpbXBsZWJ1czAKdXNidXMwIG9uIGJj bTI4M3hfZHdjb3RnMApiY20yODN4X2R3Y290ZzA6IHVzYnBmOiBBdHRhY2hlZApzaW1wbGVidXMw OiA8Z3B1PiBjb21wYXQgYnJjbSxiY20yODM1LXZjNCAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1w bGVidXMwOiA8dGhlcm1hbEA3ZDVkMjIwMD4gbWVtIDB4N2Q1ZDIyMDAtMHg3ZDVkMjIyYiBpcnEg NDggY29tcGF0IGJyY20sYXZzLXRtb24tYmNtMjgzOCAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1w bGVidXMwOiA8c2VyaWFsQDdlMjAxNDAwPiBtZW0gMHg3ZTIwMTQwMC0weDdlMjAxNWZmIGlycSA0 OSBkaXNhYmxlZCBjb21wYXQgYnJjbSxiY20yODM1LXBsMDExIChubyBkcml2ZXIgYXR0YWNoZWQp CnNpbXBsZWJ1czA6IDxzZXJpYWxAN2UyMDE2MDA+IG1lbSAweDdlMjAxNjAwLTB4N2UyMDE3ZmYg aXJxIDUwIGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtcGwwMTEgKG5vIGRyaXZlciBhdHRh Y2hlZCkKc2ltcGxlYnVzMDogPHNlcmlhbEA3ZTIwMTgwMD4gbWVtIDB4N2UyMDE4MDAtMHg3ZTIw MTlmZiBpcnEgNTEgZGlzYWJsZWQgY29tcGF0IGJyY20sYmNtMjgzNS1wbDAxMSAobm8gZHJpdmVy IGF0dGFjaGVkKQpzaW1wbGVidXMwOiA8c2VyaWFsQDdlMjAxYTAwPiBtZW0gMHg3ZTIwMWEwMC0w eDdlMjAxYmZmIGlycSA1MiBkaXNhYmxlZCBjb21wYXQgYnJjbSxiY20yODM1LXBsMDExIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxzcGlAN2UyMDQ2MDA+IG1lbSAweDdlMjA0NjAw LTB4N2UyMDQ3ZmYgaXJxIDUzIGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtc3BpIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxzcGlAN2UyMDQ4MDA+IG1lbSAweDdlMjA0ODAw LTB4N2UyMDQ5ZmYgaXJxIDU0IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtc3BpIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxzcGlAN2UyMDRhMDA+IG1lbSAweDdlMjA0YTAw LTB4N2UyMDRiZmYgaXJxIDU1IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtc3BpIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxzcGlAN2UyMDRjMDA+IG1lbSAweDdlMjA0YzAw LTB4N2UyMDRkZmYgaXJxIDU2IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtc3BpIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxpMmNAN2UyMDU2MDA+IG1lbSAweDdlMjA1NjAw LTB4N2UyMDU3ZmYgaXJxIDU3IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtaTJjIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxpMmNAN2UyMDU4MDA+IG1lbSAweDdlMjA1ODAw LTB4N2UyMDU5ZmYgaXJxIDU4IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtaTJjIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxpMmNAN2UyMDVhMDA+IG1lbSAweDdlMjA1YTAw LTB4N2UyMDViZmYgaXJxIDU5IGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtaTJjIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxpMmNAN2UyMDVjMDA+IG1lbSAweDdlMjA1YzAw LTB4N2UyMDVkZmYgaXJxIDYwIGRpc2FibGVkIGNvbXBhdCBicmNtLGJjbTI4MzUtaTJjIChubyBk cml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czA6IDxwd21AN2UyMGM4MDA+IG1lbSAweDdlMjBjODAw LTB4N2UyMGM4MjcgY29tcGF0IGJyY20sYmNtMjgzNS1wd20gKG5vIGRyaXZlciBhdHRhY2hlZCkK c2RoY2lfYmNtMDogPEJyb2FkY29tIDI3MDggU0RIQ0kgY29udHJvbGxlcj4gbWVtIDB4N2UzNDAw MDAtMHg3ZTM0MDBmZiBpcnEgNjEgb24gc2ltcGxlYnVzMApkZXZpY2VfYXR0YWNoOiBzZGhjaV9i Y20wIGF0dGFjaCByZXR1cm5lZCA2CnNpbXBsZWJ1czA6IDxmaXJtd2FyZT4gY29tcGF0IHJhc3Bi ZXJyeXBpLGJjbTI4MzUtZmlybXdhcmUgKG5vIGRyaXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMDog PHBvd2VyPiBjb21wYXQgcmFzcGJlcnJ5cGksYmNtMjgzNS1wb3dlciAobm8gZHJpdmVyIGF0dGFj aGVkKQpvZndidXMwOiA8YXJtLXBtdT4gaXJxIDAsMSwyLDMgY29tcGF0IGFybSxjb3J0ZXgtYTcy LXBtdSAobm8gZHJpdmVyIGF0dGFjaGVkKQpjcHVsaXN0MDogPE9wZW4gRmlybXdhcmUgQ1BVIEdy b3VwPiBvbiBvZndidXMwCmNwdTA6IDxPcGVuIEZpcm13YXJlIENQVT4gb24gY3B1bGlzdDAKY3B1 MDogbWlzc2luZyAnY2xvY2stZnJlcXVlbmN5JyBwcm9wZXJ0eQpjcHUxOiA8T3BlbiBGaXJtd2Fy ZSBDUFU+IG9uIGNwdWxpc3QwCmNwdTE6IG1pc3NpbmcgJ2Nsb2NrLWZyZXF1ZW5jeScgcHJvcGVy dHkKY3B1MjogPE9wZW4gRmlybXdhcmUgQ1BVPiBvbiBjcHVsaXN0MApjcHUyOiBtaXNzaW5nICdj bG9jay1mcmVxdWVuY3knIHByb3BlcnR5CmNwdTM6IDxPcGVuIEZpcm13YXJlIENQVT4gb24gY3B1 bGlzdDAKY3B1MzogbWlzc2luZyAnY2xvY2stZnJlcXVlbmN5JyBwcm9wZXJ0eQpzaW1wbGVidXMx OiA8djNkQDdlYzA0MDAwPiBtZW0gMHg3ZWMwMDAwMC0weDdlYzAzZmZmLDB4N2VjMDQwMDAtMHg3 ZWMwN2ZmZiBpcnEgNjIgY29tcGF0IGJyY20sMjcxMS12M2QgKG5vIGRyaXZlciBhdHRhY2hlZCkK c2ltcGxlYnVzMjogPHBjaWVAN2Q1MDAwMDA+IG1lbSAweDdkNTAwMDAwLTB4N2Q1MDkzMGYsMHg3 ZTAwZjMwMC0weDdlMDBmMzFmIGlycSA2Myw2NCBjb21wYXQgYnJjbSxiY203MjExLXBjaWUgKG5v IGRyaXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMjogPGdlbmV0QDdkNTgwMDAwPiBtZW0gMHg3ZDU4 MDAwMC0weDdkNThmZmZmIGlycSA2NSw2NiBjb21wYXQgYnJjbSxnZW5ldC12NSAobm8gZHJpdmVy IGF0dGFjaGVkKQpzaW1wbGVidXMyOiA8ZG1hQDdlMDA3YjAwPiBtZW0gMHg3ZTAwN2IwMC0weDdl MDA3ZWZmIGlycSA2Nyw2OCw2OSw3MCBjb21wYXQgYnJjbSxiY20yODM4LWRtYSAobm8gZHJpdmVy IGF0dGFjaGVkKQpzaW1wbGVidXMyOiA8eGhjaUA3ZTljMDAwMD4gbWVtIDB4N2U5YzAwMDAtMHg3 ZWFiZmZmZiBpcnEgNzEgZGlzYWJsZWQgY29tcGF0IGdlbmVyaWMteGhjaSAobm8gZHJpdmVyIGF0 dGFjaGVkKQpzaW1wbGVidXMyOiA8aGV2Yy1kZWNvZGVyQDdlYjAwMDAwPiBtZW0gMHg3ZWIwMDAw MC0weDdlYjBmZmZmIGNvbXBhdCByYXNwYmVycnlwaSxhcmdvbi1oZXZjLWRlY29kZXIgKG5vIGRy aXZlciBhdHRhY2hlZCkKc2ltcGxlYnVzMjogPGFyZ29uLWxvY2FsLWludGNAN2ViMTAwMDA+IG1l bSAweDdlYjEwMDAwLTB4N2ViMTBmZmYgaXJxIDcyIGNvbXBhdCByYXNwYmVycnlwaSxhcmdvbi1s b2NhbC1pbnRjIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czI6IDxoMjY0LWRlY29kZXJA N2ViMjAwMDA+IG1lbSAweDdlYjIwMDAwLTB4N2ViMmZmZmYgY29tcGF0IHJhc3BiZXJyeXBpLGFy Z29uLWgyNjQtZGVjb2RlciAobm8gZHJpdmVyIGF0dGFjaGVkKQpzaW1wbGVidXMyOiA8dnA5LWRl Y29kZXJAN2ViMzAwMDA+IG1lbSAweDdlYjMwMDAwLTB4N2ViM2ZmZmYgY29tcGF0IHJhc3BiZXJy eXBpLGFyZ29uLXZwOS1kZWNvZGVyIChubyBkcml2ZXIgYXR0YWNoZWQpCnNpbXBsZWJ1czI6IDxt YWlsYm94QDdlMDBiODQwPiBtZW0gMHg3ZTAwYjg0MC0weDdlMDBiODdiIGlycSA3MyBjb21wYXQg YnJjbSxiY20yODM4LXZjaGlxIChubyBkcml2ZXIgYXR0YWNoZWQpCmdwaW9sZWQwOiA8R1BJTyBM RURzPiBvbiBvZndidXMwCmdwaW9sZWQwOiA8UFdSPiBmYWlsZWQgdG8gbWFwIHBpbgpvZndidXMw OiA8d2lmaS1wd3JzZXE+IGNvbXBhdCBtbWMtcHdyc2VxLXNpbXBsZSAobm8gZHJpdmVyIGF0dGFj aGVkKQpncGlvcmVndWxhdG9yMDogPEdQSU8gY29udHJvbGxlZCByZWd1bGF0b3I+IG9uIG9md2J1 czAKZ3Bpb3JlZ3VsYXRvcjA6IGNhbm5vdCBnZXQgcGluIDAKZ3Bpb3JlZ3VsYXRvcjA6IGNhbm5v dCBwYXJzZSBwYXJhbWV0ZXJzCmRldmljZV9hdHRhY2g6IGdwaW9yZWd1bGF0b3IwIGF0dGFjaCBy ZXR1cm5lZCA2CmNyeXB0b3NvZnQwOiA8c29mdHdhcmUgY3J5cHRvPgpjcnlwdG86IGFzc2lnbiBj cnlwdG9zb2Z0MCBkcml2ZXIgaWQgMCwgZmxhZ3MgMHg2MDAwMDAwCmNyeXB0bzogY3J5cHRvc29m dDAgcmVnaXN0ZXJzIGFsZyAxIGZsYWdzIDAgbWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQw IHJlZ2lzdGVycyBhbGcgMiBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCBy ZWdpc3RlcnMgYWxnIDMgZmxhZ3MgMCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVn aXN0ZXJzIGFsZyA0IGZsYWdzIDAgbWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lz dGVycyBhbGcgNSBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3Rl cnMgYWxnIDE2IGZsYWdzIDAgbWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVy cyBhbGcgNiBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMg YWxnIDcgZmxhZ3MgMCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFs ZyAzMiBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxn IDE4IGZsYWdzIDAgbWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcg MTkgZmxhZ3MgMCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAy MCBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDgg ZmxhZ3MgMCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAxNSBm bGFncyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDkgZmxh Z3MgMCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAxMCBmbGFn cyAwIG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDEzIGZsYWdz IDAgbWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMTQgZmxhZ3Mg MCBtYXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAzNCBmbGFncyAw IG1heG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDM1IGZsYWdzIDAg bWF4b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMzYgZmxhZ3MgMCBt YXhvcGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAzNyBmbGFncyAwIG1h eG9wbGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDExIGZsYWdzIDAgbWF4 b3BsZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMjIgZmxhZ3MgMCBtYXhv cGxlbiAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAyMyBmbGFncyAwIG1heG9w bGVuIDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDI1IGZsYWdzIDAgbWF4b3Bs ZW4gMApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMjQgZmxhZ3MgMCBtYXhvcGxl biAwCmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAyNiBmbGFncyAwIG1heG9wbGVu IDAKY3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDI3IGZsYWdzIDAgbWF4b3BsZW4g MApjcnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMjggZmxhZ3MgMCBtYXhvcGxlbiAw CmNyeXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAyMSBmbGFncyAwIG1heG9wbGVuIDAK Y3J5cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDE3IGZsYWdzIDAgbWF4b3BsZW4gMApj cnlwdG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgMjkgZmxhZ3MgMCBtYXhvcGxlbiAwCmNy eXB0bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAzMCBmbGFncyAwIG1heG9wbGVuIDAKY3J5 cHRvOiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDMxIGZsYWdzIDAgbWF4b3BsZW4gMApjcnlw dG86IGNyeXB0b3NvZnQwIHJlZ2lzdGVycyBhbGcgNDAgZmxhZ3MgMCBtYXhvcGxlbiAwCmNyeXB0 bzogY3J5cHRvc29mdDAgcmVnaXN0ZXJzIGFsZyAzOSBmbGFncyAwIG1heG9wbGVuIDAKY3J5cHRv OiBjcnlwdG9zb2Z0MCByZWdpc3RlcnMgYWxnIDM4IGZsYWdzIDAgbWF4b3BsZW4gMApEZXZpY2Ug Y29uZmlndXJhdGlvbiBmaW5pc2hlZC4KRm91bmQgU01DQ0MgdmVyc2lvbiAxLjAKcHJvY2ZzIHJl Z2lzdGVyZWQKVGltZWNvdW50ZXJzIHRpY2sgZXZlcnkgMS4wMDAgbXNlYwpsbzA6IGJwZiBhdHRh Y2hlZAp2bGFuOiBpbml0aWFsaXplZCwgdXNpbmcgaGFzaCB0YWJsZXMgd2l0aCBjaGFpbmluZwpJ UHNlYzogSW5pdGlhbGl6ZWQgU2VjdXJpdHkgQXNzb2NpYXRpb24gUHJvY2Vzc2luZy4KdGNwX2lu aXQ6IG5ldC5pbmV0LnRjcC50Y2JoYXNoc2l6ZSBhdXRvIHR1bmVkIHRvIDgxOTIKaWljYnVzMDog PE9GVyBJMkMgYnVzPiBvbiBpaWNoYjAKaWljMDogPEkyQyBnZW5lcmljIEkvTz4gb24gaWljYnVz MAppaWNidXMxOiA8T0ZXIEkyQyBidXM+IG9uIGlpY2hiMQppaWMxOiA8STJDIGdlbmVyaWMgSS9P PiBvbiBpaWNidXMxCmlpY2J1czI6IDxPRlcgSTJDIGJ1cz4gb24gaWljaGIyCmlpYzI6IDxJMkMg Z2VuZXJpYyBJL08+IG9uIGlpY2J1czIKdXNidXMwOiA0ODBNYnBzIEhpZ2ggU3BlZWQgVVNCIHYy LjAK --b1_52ddbc48b3c09239cdcadbfd6134490a--