NetBSD Problem Report #43570

From paul@whooppee.com  Sun Jul  4 14:14:59 2010
Return-Path: <paul@whooppee.com>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 1718663BA6F
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  4 Jul 2010 14:14:59 +0000 (UTC)
Message-Id: <20100704125548.2C25492657@quicky.whooppee.com>
Date: Sun,  4 Jul 2010 05:55:48 -0700 (PDT)
From: paul@whooppee.com
Reply-To: paul@whooppee.com
To: gnats-bugs@gnats.NetBSD.org
Subject: Avoid multiple interrupt routing lists for a bus
X-Send-Pr-Version: 3.95

>Number:         43570
>Category:       kern
>Synopsis:       Avoid multiple interrupt routing lists for a bus
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 04 14:15:00 +0000 2010
>Closed-Date:    Mon Aug 01 00:10:16 +0000 2016
>Last-Modified:  Mon Aug 01 00:10:16 +0000 2016
>Originator:     Paul Goyette
>Release:        NetBSD 5.99.31
>Organization:
-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer |                          | pgoyette at netbsd.org  |
-------------------------------------------------------------------------
>Environment:


System: NetBSD quicky.whooppee.com 5.99.31 NetBSD 5.99.31 (QUICKY (XFX nForce 790i ULTRA) 2010-06-20 00:30:00) #0: Sat Jun 19 18:19:27 PDT 2010 paul@speedy.whooppee.com:/build-out/netbsd-local/obj/amd64/sys/arch/amd64/compile/QUICKY amd64
Architecture: x86_64
Machine: amd64
>Description:
	Some BIOS have "spurious" routing tables, for PCI busses that 
	are not actually enabled.  One such motherboard is the SuperMicro
	H8QGi-F, which reports a host bridge at PC40 with two child busses
	2 and 3, in addition to the real host bridge at PC0 (which has
	child busses 2 and 3 as well as 1).  The routing tables for the
	spurious busses 2 and 3 _override_ the real routing tables for
	the valid bus2 and bus 3 entries.
>How-To-Repeat:
	Boot NetBSD on a SuperMicro H8QGi-F.
>Fix:
	The following patch is most likely not a correct solution, but
	it does avoid having the second routing table (for the spurious
	instances of bus 2 and bus 3) overwrite the first, real, table.

Index: mpacpi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/mpacpi.c,v
retrieving revision 1.87
diff -u -p -r1.87 mpacpi.c
--- mpacpi.c	27 Apr 2010 05:34:14 -0000	1.87
+++ mpacpi.c	3 Jul 2010 22:39:34 -0000
@@ -783,6 +783,13 @@ mpacpi_pciroute(struct mpacpi_pcibus *mp
 		    mpr->mpr_bus);

 	mpb = &mp_busses[mpr->mpr_bus];
+
+	if (mpb->mb_name != NULL) { /* PRG */
+		printf("mpacpi: PCI bus %d int routing already done!\n",
+		    mpr->mpr_bus);
+		return 0;
+	}
+
 	mpb->mb_intrs = NULL;
 	mpb->mb_name = "pci";
 	mpb->mb_idx = mpr->mpr_bus;

>Release-Note:

>Audit-Trail:
From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Sun, 4 Jul 2010 16:07:35 -0700 (PDT)

   This message is in MIME format.  The first part should be readable text,
   while the remaining parts are likely unreadable without MIME-aware tools.

 --0-1422454298-1278284855=:9810
 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

 Attached is the dmesg from the machine, with ACPIVERBOSE enabled.
 --0-1422454298-1278284855=:9810
 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=dmesg.20100629
 Content-Transfer-Encoding: BASE64
 Content-ID: <Pine.NEB.4.64.1007041607350.9810@quicky.whooppee.com>
 Content-Description: 
 Content-Disposition: attachment; filename=dmesg.20100629

 Q29weXJpZ2h0IChjKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAy
 MDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LA0KICAgIDIwMDYsIDIwMDcs
 IDIwMDgsIDIwMDksIDIwMTANCiAgICBUaGUgTmV0QlNEIEZvdW5kYXRpb24s
 IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQpDb3B5cmlnaHQgKGMpIDE5
 ODIsIDE5ODYsIDE5ODksIDE5OTEsIDE5OTMNCiAgICBUaGUgUmVnZW50cyBv
 ZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyBy
 ZXNlcnZlZC4NCg0KTmV0QlNEIDUuOTkuMzMgKFNDUkVBTUVSIChTdXBlcm1p
 Y3JvIEg4UUdpLUYpIDIwMTAtMDYtMjkgMTQ6MjE6NDEpICMxOiBUdWUgSnVu
 IDI5IDA3OjI3OjA3IFBEVCAyMDEwDQoJcGF1bEBzcGVlZHkud2hvb3BwZWUu
 Y29tOi9idWlsZC1vdXQvbmV0YnNkLWxvY2FsL29iai9hbWQ2NC9zeXMvYXJj
 aC9hbWQ2NC9jb21waWxlL1NDUkVBTUVSDQp0b3RhbCBtZW1vcnkgPSAzNDU0
 IE1CDQphdmFpbCBtZW1vcnkgPSAzMzQwIE1CDQpQcmVwIG1vZHVsZSBwYXRo
 PWFjcGl2ZXJib3NlIGxlbj00MDk5MyBwYT01ZjQwMDANClByZXAgbW9kdWxl
 IHBhdGg9cGNpdmVyYm9zZSBsZW49Nzc4MTggcGE9NWZmMDAwDQpQcmVwIG1v
 ZHVsZSBwYXRoPWZmcyBsZW49MjU1NzQwIHBhPTYxMjAwMA0KdGltZWNvdW50
 ZXI6IFRpbWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEwLjAwMCBtc2VjDQp0aW1l
 Y291bnRlcjogVGltZWNvdW50ZXIgImk4MjU0IiBmcmVxdWVuY3kgMTE5MzE4
 MiBIeiBxdWFsaXR5IDEwMA0KU01CSU9TIHJldi4gMi42IEAgMHg5ZTgwMCAo
 MTE0IGVudHJpZXMpDQpTdXBlcm1pY3JvIEg4UUc2ICgxMjM0NTY3ODkwKQ0K
 bWFpbmJ1czAgKHJvb3QpDQpBQ1BJIFdhcm5pbmc6IE9wdGlvbmFsIGZpZWxk
 IFBtMkNvbnRyb2xCbG9jayBoYXMgemVybyBhZGRyZXNzIG9yIGxlbmd0aDog
 MHgwMDAwMDAwMDAwMDAwMDAwLzB4MSAoMjAxMDA1MjgvdGJmYWR0LTY1NSkN
 CmNwdTAgYXQgbWFpbmJ1czAgYXBpZCAxNmNwdTA6IDggcGFnZSBjb2xvcnMN
 CmNwdTA6IHByZWxpbnQwIDB4NzAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDcs
 ZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MDogcHJlbGludDEgMHg0
 MDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4NCxkZXN0PTB4MD4gMHgwPHRhcmdl
 dD0weDA+DQpjcHUwOiB0aW1lcjAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1v
 ZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUw
 OiBwY2ludDAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tl
 ZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUwOiBsaW50MCAweDcw
 MDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHg3LGRlc3Q9MHgwPiAweDA8dGFyZ2V0
 PTB4MD4NCmNwdTA6IGxpbnQxIDB4NDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0w
 eDQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MDogZXJyMCAweDEw
 MDBmPHZlY3Rvcj0weGYsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAw
 eDA8dGFyZ2V0PTB4MD4NCmNwdTA6IGNhbGlicmF0aW5nIGxvY2FsIHRpbWVy
 DQpjcHUwOiBhcGljIGNsb2NrIHJ1bm5pbmcgYXQgMjAwIE1Ieg0KdGltZWNv
 dW50ZXI6IFRpbWVjb3VudGVyICJsYXBpYyIgZnJlcXVlbmN5IDIwMDA3OTU4
 MiBIeiBxdWFsaXR5IC0xMDANCjogQU1EIDY4Ni1jbGFzcywgMjEwME1Ieiwg
 aWQgMHgxMDBmOTENCmNwdTA6IGlkbGUgbHdwIGF0IDB4ZmZmZjgwMDA0OWY1
 MmMwMCwgaWRsZSBzcCBhdCAweGZmZmY4MDAwNGEwYWVjNTANCmNwdTEgYXQg
 bWFpbmJ1czAgYXBpZCAxN3g4Nl9pcGlfaW5pdDogRVNSIDAwMDAwMDA0DQo6
 IEFNRCA2ODYtY2xhc3MsIDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHUxOiBp
 ZGxlIGx3cCBhdCAweGZmZmY4MDAwNDlmNWZjMDAsIGlkbGUgc3AgYXQgMHhm
 ZmZmODAwMDRhYjZhYzUwDQpjcHUyIGF0IG1haW5idXMwIGFwaWQgMTg6IEFN
 RCA2ODYtY2xhc3MsIDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHUyOiBpZGxl
 IGx3cCBhdCAweGZmZmY4MDAwNGFiODA0MDAsIGlkbGUgc3AgYXQgMHhmZmZm
 ODAwMDRhYmFjYzUwDQpjcHUzIGF0IG1haW5idXMwIGFwaWQgMTk6IEFNRCA2
 ODYtY2xhc3MsIDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHUzOiBpZGxlIGx3
 cCBhdCAweGZmZmY4MDAwNGFiODVjMDAsIGlkbGUgc3AgYXQgMHhmZmZmODAw
 MDRhYmM5YzUwDQpjcHU0IGF0IG1haW5idXMwIGFwaWQgMjA6IEFNRCA2ODYt
 Y2xhc3MsIDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHU0OiBpZGxlIGx3cCBh
 dCAweGZmZmY4MDAwNGFiODY0MDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRh
 YmU4YzUwDQpjcHU1IGF0IG1haW5idXMwIGFwaWQgMjE6IEFNRCA2ODYtY2xh
 c3MsIDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHU1OiBpZGxlIGx3cCBhdCAw
 eGZmZmY4MDAwNGFiOGFjMDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRhYzA1
 YzUwDQpjcHU2IGF0IG1haW5idXMwIGFwaWQgMjI6IEFNRCA2ODYtY2xhc3Ms
 IDIxMDBNSHosIGlkIDB4MTAwZjkxDQpjcHU2OiBpZGxlIGx3cCBhdCAweGZm
 ZmY4MDAwNGFiOGI0MDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRhYzIzYzUw
 DQpjcHU3IGF0IG1haW5idXMwIGFwaWQgMjM6IEFNRCA2ODYtY2xhc3MsIDIx
 MDBNSHosIGlkIDB4MTAwZjkxDQpjcHU3OiBpZGxlIGx3cCBhdCAweGZmZmY4
 MDAwNGFiOTBjMDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRhYzQwYzUwDQpj
 cHU4IGF0IG1haW5idXMwIGFwaWQgMjQ6IEFNRCA2ODYtY2xhc3MsIDIxMDBN
 SHosIGlkIDB4MTAwZjkxDQpjcHU4OiBpZGxlIGx3cCBhdCAweGZmZmY4MDAw
 NGFiOTE0MDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRhYzVmYzUwDQpjcHU5
 IGF0IG1haW5idXMwIGFwaWQgMjU6IEFNRCA2ODYtY2xhc3MsIDIxMDBNSHos
 IGlkIDB4MTAwZjkxDQpjcHU5OiBpZGxlIGx3cCBhdCAweGZmZmY4MDAwNGFi
 OTVjMDAsIGlkbGUgc3AgYXQgMHhmZmZmODAwMDRhYzdjYzUwDQpjcHUxMCBh
 dCBtYWluYnVzMCBhcGlkIDI2OiBBTUQgNjg2LWNsYXNzLCAyMTAwTUh6LCBp
 ZCAweDEwMGY5MQ0KY3B1MTA6IGlkbGUgbHdwIGF0IDB4ZmZmZjgwMDA0YWI5
 NjQwMCwgaWRsZSBzcCBhdCAweGZmZmY4MDAwNGFjOWFjNTANCmNwdTExIGF0
 IG1haW5idXMwIGFwaWQgMjc6IEFNRCA2ODYtY2xhc3MsIDIxMDBNSHosIGlk
 IDB4MTAwZjkxDQpjcHUxMTogaWRsZSBsd3AgYXQgMHhmZmZmODAwMDRhYjlh
 YzAwLCBpZGxlIHNwIGF0IDB4ZmZmZjgwMDA0YWNiOGM1MA0KaW9hcGljMCBh
 dCBtYWluYnVzMCBhcGlkIDA6IHBhIDB4ZmVjMDAwMDAsIHZpcnR1YWwgd2ly
 ZSBtb2RlLCB2ZXJzaW9uIDIxLCAyNCBwaW5zDQppb2FwaWMxIGF0IG1haW5i
 dXMwIGFwaWQgMTogcGEgMHhmZWMyMDAwMCwgdmlydHVhbCB3aXJlIG1vZGUs
 IHZlcnNpb24gMjEsIDMyIHBpbnMNCmlvYXBpYzIgYXQgbWFpbmJ1czAgYXBp
 ZCAyOiBwYSAweGZlYzMwMDAwLCB2aXJ0dWFsIHdpcmUgbW9kZSwgdmVyc2lv
 biBmZiwgMjU2IHBpbnMNCmlvYXBpYzI6IG1pc2NvbmZpZ3VyZWQgYXMgYXBp
 YyAxNQ0KaW9hcGljMjogY2FuJ3QgcmVtYXAgdG8gYXBpZCAyDQphY3BpMCBh
 dCBtYWluYnVzMDogSW50ZWwgQUNQSUNBIDIwMTAwNTI4DQphY3BpMDogWC9S
 U0RUOiBPZW1JZCA8MDQyMTEwLFhTRFQxNzI5LDIwMTAwNDIxPiwgQXNsSWQg
 PE1TRlQsMDAwMDAwOTc+DQptcGFjcGk6IGZvdW5kIHJvb3QgUENJIGJ1cyAw
 IGF0IGxldmVsIDENCm1wYWNwaTogZmFpbGVkIHRvIGRlcml2ZSBidXMgbnVt
 YmVyLCBpZ25vcmluZw0KbXBhY3BpOiBmYWlsZWQgdG8gZGVyaXZlIGJ1cyBu
 dW1iZXIsIGlnbm9yaW5nDQptcGFjcGk6IGZhaWxlZCB0byBkZXJpdmUgYnVz
 IG51bWJlciwgaWdub3JpbmcNCm1wYWNwaTogZmFpbGVkIHRvIGRlcml2ZSBi
 dXMgbnVtYmVyLCBpZ25vcmluZw0KbXBhY3BpOiBmYWlsZWQgdG8gZGVyaXZl
 IGJ1cyBudW1iZXIsIGlnbm9yaW5nDQptcGFjcGk6IGZhaWxlZCB0byBkZXJp
 dmUgYnVzIG51bWJlciwgaWdub3JpbmcNCm1wYWNwaTogZmFpbGVkIHRvIGRl
 cml2ZSBidXMgbnVtYmVyLCBpZ25vcmluZw0KbXBhY3BpOiBmYWlsZWQgdG8g
 ZGVyaXZlIGJ1cyBudW1iZXIsIGlnbm9yaW5nDQptcGFjcGk6IGZhaWxlZCB0
 byBkZXJpdmUgYnVzIG51bWJlciwgaWdub3JpbmcNCm1wYWNwaTogZm91bmQg
 c3Vib3JkaW5hdGUgYnVzIDMgYXQgbGV2ZWwgMg0KbXBhY3BpOiBmb3VuZCBz
 dWJvcmRpbmF0ZSBidXMgMiBhdCBsZXZlbCAyDQptcGFjcGk6IGZvdW5kIHN1
 Ym9yZGluYXRlIGJ1cyAxIGF0IGxldmVsIDINCm1wYWNwaTogZmFpbGVkIHRv
 IGRlcml2ZSBidXMgbnVtYmVyLCBpZ25vcmluZw0KbXBhY3BpOiBmYWlsZWQg
 dG8gZGVyaXZlIGJ1cyBudW1iZXIsIGlnbm9yaW5nDQptcGFjcGk6IGZhaWxl
 ZCB0byBkZXJpdmUgYnVzIG51bWJlciwgaWdub3JpbmcNCm1wYWNwaTogZmFp
 bGVkIHRvIGRlcml2ZSBidXMgbnVtYmVyLCBpZ25vcmluZw0KbXBhY3BpOiBm
 YWlsZWQgdG8gZGVyaXZlIGJ1cyBudW1iZXIsIGlnbm9yaW5nDQptcGFjcGk6
 IGZhaWxlZCB0byBkZXJpdmUgYnVzIG51bWJlciwgaWdub3JpbmcNCm1wYWNw
 aTogZmFpbGVkIHRvIGRlcml2ZSBidXMgbnVtYmVyLCBpZ25vcmluZw0KbXBh
 Y3BpOiBmYWlsZWQgdG8gZGVyaXZlIGJ1cyBudW1iZXIsIGlnbm9yaW5nDQpt
 cGFjcGk6IGZhaWxlZCB0byBkZXJpdmUgYnVzIG51bWJlciwgaWdub3JpbmcN
 Cm1wYWNwaTogZm91bmQgc3Vib3JkaW5hdGUgYnVzIDMgYXQgbGV2ZWwgMg0K
 bXBhY3BpOiBmb3VuZCBzdWJvcmRpbmF0ZSBidXMgMiBhdCBsZXZlbCAyDQpt
 cGFjcGk6IDYgUENJIGJ1c3Nlcw0KbXBhY3BpOiBJU0EgaW50ZXJydXB0IG92
 ZXJyaWRlIDAgLT4gMiAoMC8wKQ0KbXBhY3BpOiBJU0EgaW50ZXJydXB0IG92
 ZXJyaWRlIDkgLT4gOSAoMy8zKQ0KbXBhY3BpOiBjb25maWd1cmluZyBQQ0kg
 YnVzIDAgaW50IHJvdXRpbmcNCm1wYWNwaTogY29uZmlndXJpbmcgUENJIGJ1
 cyAzIGludCByb3V0aW5nDQptcGFjcGk6IGNvbmZpZ3VyaW5nIFBDSSBidXMg
 MiBpbnQgcm91dGluZw0KbXBhY3BpOiBjb25maWd1cmluZyBQQ0kgYnVzIDEg
 aW50IHJvdXRpbmcNCm1wYWNwaTogY29uZmlndXJpbmcgUENJIGJ1cyAzIGlu
 dCByb3V0aW5nDQptcGFjcGk6IGNvbmZpZ3VyaW5nIFBDSSBidXMgMiBpbnQg
 cm91dGluZw0KaW9hcGljMDogcGluIDIgYXR0YWNoZWQgdG8gaXNhMCBpcnEg
 MCAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9
 MHgwPikNCmlvYXBpYzA6IHBpbiAxIGF0dGFjaGVkIHRvIGlzYTAgaXJxIDEg
 KHR5cGUgMHgwPHR5cGU9MHgwPiBmbGFncyAweDA8cG9sPTB4MCx0cmlnPTB4
 MD4pDQppb2FwaWMwOiBwaW4gMyBhdHRhY2hlZCB0byBpc2EwIGlycSAzICh0
 eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHgwPHBvbD0weDAsdHJpZz0weDA+
 KQ0KaW9hcGljMDogcGluIDQgYXR0YWNoZWQgdG8gaXNhMCBpcnEgNCAodHlw
 ZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgwPikN
 CmlvYXBpYzA6IHBpbiA1IGF0dGFjaGVkIHRvIGlzYTAgaXJxIDUgKHR5cGUg
 MHgwPHR5cGU9MHgwPiBmbGFncyAweDA8cG9sPTB4MCx0cmlnPTB4MD4pDQpp
 b2FwaWMwOiBwaW4gNiBhdHRhY2hlZCB0byBpc2EwIGlycSA2ICh0eXBlIDB4
 MDx0eXBlPTB4MD4gZmxhZ3MgMHgwPHBvbD0weDAsdHJpZz0weDA+KQ0KaW9h
 cGljMDogcGluIDcgYXR0YWNoZWQgdG8gaXNhMCBpcnEgNyAodHlwZSAweDA8
 dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgwPikNCmlvYXBp
 YzA6IHBpbiA4IGF0dGFjaGVkIHRvIGlzYTAgaXJxIDggKHR5cGUgMHgwPHR5
 cGU9MHgwPiBmbGFncyAweDA8cG9sPTB4MCx0cmlnPTB4MD4pDQppb2FwaWMw
 OiBwaW4gOSBhdHRhY2hlZCB0byBpc2EwIGlycSA5ICh0eXBlIDB4MDx0eXBl
 PTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVs
 PikNCmlvYXBpYzA6IHBpbiAxMCBhdHRhY2hlZCB0byBpc2EwIGlycSAxMCAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmlvYXBpYzA6IHBpbiAxMSBhdHRhY2hlZCB0byBpc2EwIGlycSAxMSAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmlvYXBpYzA6IHBpbiAxMiBhdHRhY2hlZCB0byBpc2EwIGlycSAxMiAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmlvYXBpYzA6IHBpbiAxMyBhdHRhY2hlZCB0byBpc2EwIGlycSAxMyAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmlvYXBpYzA6IHBpbiAxNCBhdHRhY2hlZCB0byBpc2EwIGlycSAxNCAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmlvYXBpYzA6IHBpbiAxNSBhdHRhY2hlZCB0byBpc2EwIGlycSAxNSAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4MDxwb2w9MHgwLHRyaWc9MHgw
 PikNCmxvY2FsIGFwaWM6IHBpbiAxIGF0dGFjaGVkIHRvIE5NSSAodHlwZSAw
 eDE8dHlwZT0weDE9Tk1JPiBmbGFncyAweDA8cG9sPTB4MCx0cmlnPTB4MD4p
 DQppb2FwaWMxOiBwaW4gMzEgYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgMCBJ
 TlRfQSAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFj
 dCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMxOiBwaW4gMjggYXR0YWNo
 ZWQgdG8gcGNpMCBkZXZpY2UgMiBJTlRfQSAodHlwZSAweDA8dHlwZT0weDA+
 IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQpp
 b2FwaWMxOiBwaW4gMjggYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgMyBJTlRf
 QSAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBM
 byx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMxOiBwaW4gMjggYXR0YWNoZWQg
 dG8gcGNpMCBkZXZpY2UgNCBJTlRfQSAodHlwZSAweDA8dHlwZT0weDA+IGZs
 YWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2Fw
 aWMxOiBwaW4gMjggYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgNSBJTlRfQSAo
 dHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0
 cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMxOiBwaW4gMjkgYXR0YWNoZWQgdG8g
 cGNpMCBkZXZpY2UgNiBJTlRfQSAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdz
 IDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMx
 OiBwaW4gMjkgYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgNyBJTlRfQSAodHlw
 ZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmln
 PTB4Mz1MZXZlbD4pDQppb2FwaWMxOiBwaW4gMjkgYXR0YWNoZWQgdG8gcGNp
 MCBkZXZpY2UgOSBJTlRfQSAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4
 Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMxOiBw
 aW4gMjkgYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgMTAgSU5UX0EgKHR5cGUg
 MHgwPHR5cGU9MHgwPiBmbGFncyAweGY8cG9sPTB4Mz1BY3QgTG8sdHJpZz0w
 eDM9TGV2ZWw+KQ0KaW9hcGljMTogcGluIDI5IGF0dGFjaGVkIHRvIHBjaTAg
 ZGV2aWNlIDExIElOVF9BICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhm
 PHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzE6IHBp
 biAyOSBhdHRhY2hlZCB0byBwY2kwIGRldmljZSAxMiBJTlRfQSAodHlwZSAw
 eDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4
 Mz1MZXZlbD4pDQppb2FwaWMxOiBwaW4gMjkgYXR0YWNoZWQgdG8gcGNpMCBk
 ZXZpY2UgMTMgSU5UX0EgKHR5cGUgMHgwPHR5cGU9MHgwPiBmbGFncyAweGY8
 cG9sPTB4Mz1BY3QgTG8sdHJpZz0weDM9TGV2ZWw+KQ0KaW9hcGljMDogcGlu
 IDE2IGF0dGFjaGVkIHRvIHBjaTAgZGV2aWNlIDIwIElOVF9BICh0eXBlIDB4
 MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgz
 PUxldmVsPikNCmlvYXBpYzA6IHBpbiAxNyBhdHRhY2hlZCB0byBwY2kwIGRl
 dmljZSAyMCBJTlRfQiAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxw
 b2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMwOiBwaW4g
 MTggYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgMjAgSU5UX0MgKHR5cGUgMHgw
 PHR5cGU9MHgwPiBmbGFncyAweGY8cG9sPTB4Mz1BY3QgTG8sdHJpZz0weDM9
 TGV2ZWw+KQ0KaW9hcGljMDogcGluIDE5IGF0dGFjaGVkIHRvIHBjaTAgZGV2
 aWNlIDIwIElOVF9EICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBv
 bD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzA6IHBpbiAx
 NiBhdHRhY2hlZCB0byBwY2kwIGRldmljZSAxOCBJTlRfQSAodHlwZSAweDA8
 dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1M
 ZXZlbD4pDQppb2FwaWMwOiBwaW4gMTcgYXR0YWNoZWQgdG8gcGNpMCBkZXZp
 Y2UgMTggSU5UX0IgKHR5cGUgMHgwPHR5cGU9MHgwPiBmbGFncyAweGY8cG9s
 PTB4Mz1BY3QgTG8sdHJpZz0weDM9TGV2ZWw+KQ0KaW9hcGljMDogcGluIDE4
 IGF0dGFjaGVkIHRvIHBjaTAgZGV2aWNlIDE4IElOVF9DICh0eXBlIDB4MDx0
 eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxl
 dmVsPikNCmlvYXBpYzA6IHBpbiAxOSBhdHRhY2hlZCB0byBwY2kwIGRldmlj
 ZSAxOCBJTlRfRCAodHlwZSAweDA8dHlwZT0weDA+IGZsYWdzIDB4Zjxwb2w9
 MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZlbD4pDQppb2FwaWMwOiBwaW4gMTgg
 YXR0YWNoZWQgdG8gcGNpMCBkZXZpY2UgMTkgSU5UX0EgKHR5cGUgMHgwPHR5
 cGU9MHgwPiBmbGFncyAweGY8cG9sPTB4Mz1BY3QgTG8sdHJpZz0weDM9TGV2
 ZWw+KQ0KaW9hcGljMDogcGluIDE5IGF0dGFjaGVkIHRvIHBjaTAgZGV2aWNl
 IDE5IElOVF9CICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0w
 eDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzA6IHBpbiAxNiBh
 dHRhY2hlZCB0byBwY2kwIGRldmljZSAxOSBJTlRfQyAodHlwZSAweDA8dHlw
 ZT0weDA+IGZsYWdzIDB4Zjxwb2w9MHgzPUFjdCBMbyx0cmlnPTB4Mz1MZXZl
 bD4pDQppb2FwaWMwOiBwaW4gMTcgYXR0YWNoZWQgdG8gcGNpMCBkZXZpY2Ug
 MTkgSU5UX0QgKHR5cGUgMHgwPHR5cGU9MHgwPiBmbGFncyAweGY8cG9sPTB4
 Mz1BY3QgTG8sdHJpZz0weDM9TGV2ZWw+KQ0KaW9hcGljMDogcGluIDIyIGF0
 dGFjaGVkIHRvIHBjaTAgZGV2aWNlIDE3IElOVF9BICh0eXBlIDB4MDx0eXBl
 PTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVs
 PikNCmlvYXBpYzE6IHBpbiAxMiBhdHRhY2hlZCB0byBwY2kzIGRldmljZSAw
 IElOVF9BICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9
 QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzE6IHBpbiAxMyBhdHRh
 Y2hlZCB0byBwY2kzIGRldmljZSAwIElOVF9CICh0eXBlIDB4MDx0eXBlPTB4
 MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikN
 CmlvYXBpYzE6IHBpbiAxNCBhdHRhY2hlZCB0byBwY2kzIGRldmljZSAwIElO
 VF9DICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0
 IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzE6IHBpbiAxNSBhdHRhY2hl
 ZCB0byBwY2kzIGRldmljZSAwIElOVF9EICh0eXBlIDB4MDx0eXBlPTB4MD4g
 ZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlv
 YXBpYzE6IHBpbiAxNiBhdHRhY2hlZCB0byBwY2kyIGRldmljZSAwIElOVF9B
 ICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExv
 LHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzE6IHBpbiAxNyBhdHRhY2hlZCB0
 byBwY2kyIGRldmljZSAwIElOVF9CICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxh
 Z3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBp
 YzE6IHBpbiAxOCBhdHRhY2hlZCB0byBwY2kyIGRldmljZSAwIElOVF9DICh0
 eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRy
 aWc9MHgzPUxldmVsPikNCmlvYXBpYzE6IHBpbiAxOSBhdHRhY2hlZCB0byBw
 Y2kyIGRldmljZSAwIElOVF9EICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3Mg
 MHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzA6
 IHBpbiAyMCBhdHRhY2hlZCB0byBwY2kxIGRldmljZSA0IElOVF9BICh0eXBl
 IDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9
 MHgzPUxldmVsPikNCmlvYXBpYzI6IHBpbiAxMiBhdHRhY2hlZCB0byBwY2kz
 IGRldmljZSAwIElOVF9BICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhm
 PHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzI6IHBp
 biAxMyBhdHRhY2hlZCB0byBwY2kzIGRldmljZSAwIElOVF9CICh0eXBlIDB4
 MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgz
 PUxldmVsPikNCmlvYXBpYzI6IHBpbiAxNCBhdHRhY2hlZCB0byBwY2kzIGRl
 dmljZSAwIElOVF9DICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBv
 bD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzI6IHBpbiAx
 NSBhdHRhY2hlZCB0byBwY2kzIGRldmljZSAwIElOVF9EICh0eXBlIDB4MDx0
 eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxl
 dmVsPikNCmlvYXBpYzI6IHBpbiAxNiBhdHRhY2hlZCB0byBwY2kyIGRldmlj
 ZSAwIElOVF9BICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0w
 eDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzI6IHBpbiAxNyBh
 dHRhY2hlZCB0byBwY2kyIGRldmljZSAwIElOVF9CICh0eXBlIDB4MDx0eXBl
 PTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVs
 PikNCmlvYXBpYzI6IHBpbiAxOCBhdHRhY2hlZCB0byBwY2kyIGRldmljZSAw
 IElOVF9DICh0eXBlIDB4MDx0eXBlPTB4MD4gZmxhZ3MgMHhmPHBvbD0weDM9
 QWN0IExvLHRyaWc9MHgzPUxldmVsPikNCmlvYXBpYzI6IHBpbiAxOSBhdHRh
 Y2hlZCB0byBwY2kyIGRldmljZSAwIElOVF9EICh0eXBlIDB4MDx0eXBlPTB4
 MD4gZmxhZ3MgMHhmPHBvbD0weDM9QWN0IExvLHRyaWc9MHgzPUxldmVsPikN
 CmlvYXBpYzA6IGludDkgMHhhMDYwPHZlY3Rvcj0weDYwLGRlbG1vZGU9MHgw
 LGFjdGxvLGxldmVsLGRlc3Q9MHgwPiAweDEwMDAwMDAwPHRhcmdldD0weDEw
 Pg0KQUNQSSBFcnJvciAoZHN3bG9hZC0wNzcyKTogW1BDSTBdIE5hbWVzcGFj
 ZSBsb29rdXAgZmFpbHVyZSwgQUVfTk9UX0ZPVU5EDQpBQ1BJIEV4Y2VwdGlv
 bjogQUVfTk9UX0ZPVU5ELCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAo
 MjAxMDA1MjgvcHNsb29wLTMyNikNCkFDUEkgRXJyb3IgKHBzcGFyc2UtMDYz
 Myk6IE1ldGhvZCBwYXJzZS9leGVjdXRpb24gZmFpbGVkIFtcXSAoTm9kZSAw
 eGZmZmZmZmZmODA1NmY0NDApLCBBRV9OT1RfRk9VTkQNCmFjcGkwOiBTQ0kg
 aW50ZXJydXB0aW5nIGF0IGludCA5DQphY3BpMDogZml4ZWQgcG93ZXIgYnV0
 dG9uIHByZXNlbnQNCnRpbWVjb3VudGVyOiBUaW1lY291bnRlciAiQUNQSS1G
 YXN0IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFsaXR5IDEwMDANCkFDUEkt
 RmFzdCAzMi1iaXQgdGltZXINCmF0dGltZXIwIGF0IGFjcGkwIChUTVIsIFBO
 UDAxMDApOiBpbyAweDQwLTB4NDMgaXJxIDANCnBjcHBpMCBhdCBhY3BpMCAo
 U1BLUiwgUE5QMDgwMCk6IGlvIDB4NjENCm1pZGkwIGF0IHBjcHBpMDogUEMg
 c3BlYWtlcg0Kc3lzYmVlcDAgYXQgcGNwcGkwDQpjb20wIGF0IGFjcGkwIChV
 QVIxLCBQTlAwNTAxLTEpOiBpbyAweDNmOC0weDNmZiBpcnEgNA0KY29tMDog
 bnMxNjU1MGEsIHdvcmtpbmcgZmlmbw0KaW9hcGljMDogaW50NCAweDgxPHZl
 Y3Rvcj0weDgxLGRlbG1vZGU9MHgwLGRlc3Q9MHgwPiAweDEwMDAwMDAwPHRh
 cmdldD0weDEwPg0KY29tMSBhdCBhY3BpMCAoVUFSMiwgUE5QMDUwMS0yKTog
 aW8gMHgyZjgtMHgyZmYgaXJxIDMNCmNvbTE6IG5zMTY1NTBhLCB3b3JraW5n
 IGZpZm8NCmlvYXBpYzA6IGludDMgMHg4Mjx2ZWN0b3I9MHg4MixkZWxtb2Rl
 PTB4MCxkZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgxMD4NCmNvbTIg
 YXQgYWNwaTAgKFVBUjMsIFBOUDA1MDEtMyk6IGlvIDB4ZmZmZg0KY29tMjog
 dW5hYmxlIHRvIGZpbmQgaXJxIHJlc291cmNlDQpjb20yOiBXQVJOSU5HOiBw
 b3dlciBtYW5hZ2VtZW50IG5vdCBzdXBwb3J0ZWQNCnBja2JjMCBhdCBhY3Bp
 MCAoUFMySywgUE5QMDMwMykgKGtiZCBwb3J0KTogaW8gMHg2MCwweDY0IGly
 cSAxDQpocGV0MCBhdCBhY3BpMCAoSFBFVCwgUE5QMDEwMyk6IG1lbSAweGZl
 ZDAwMDAwLTB4ZmVkMDAzZmYNCnRpbWVjb3VudGVyOiBUaW1lY291bnRlciAi
 aHBldDAiIGZyZXF1ZW5jeSAxNDMxODE4MCBIeiBxdWFsaXR5IDIwMDANCmFj
 cGlidXQwIGF0IGFjcGkwIChQV1JCLCBQTlAwQzBDLTE3MCk6IEFDUEkgUG93
 ZXIgQnV0dG9uDQphY3BpMDogXCAgICAgSElEIC0gICAgICAgICAgVUlEIC0g
 ICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDAxICBISUQgLSAg
 ICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6
 IFAwMDIgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZG
 IEFEUiAtDQphY3BpMDogUDAwMyAgSElEIC0gICAgICAgICAgVUlEIC0gICAg
 U1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDA0ICBISUQgLSAgICAg
 ICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAw
 MDUgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFE
 UiAtDQphY3BpMDogUDAwNiAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RB
 IDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDA3ICBISUQgLSAgICAgICAg
 ICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMDgg
 IEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAt
 DQphY3BpMDogUDAwOSAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4
 RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDBBICBISUQgLSAgICAgICAgICBV
 SUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMEIgIEhJ
 RCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQph
 Y3BpMDogUDAwQyAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZG
 RkZGRkYgQURSIC0NCmFjcGkwOiBQMDBEICBISUQgLSAgICAgICAgICBVSUQg
 LSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMEUgIEhJRCAt
 ICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3Bp
 MDogUDAwRiAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZG
 RkYgQURSIC0NCmFjcGkwOiBQMDEwICBISUQgLSAgICAgICAgICBVSUQgLSAg
 ICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMTEgIEhJRCAtICAg
 ICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDog
 UDAxMiAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYg
 QURSIC0NCmFjcGkwOiBQMDEzICBISUQgLSAgICAgICAgICBVSUQgLSAgICBT
 VEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMTQgIEhJRCAtICAgICAg
 ICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAx
 NSAgSElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURS
 IC0NCmFjcGkwOiBQMDE2ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEg
 MHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMTcgIEhJRCAtICAgICAgICAg
 IFVJRCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAxOCAg
 SElEIC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0N
 CmFjcGkwOiBQMDE5ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhG
 RkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFAwMUEgIEhJRCAtICAgICAgICAgIFVJ
 RCAtICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAxQiAgSElE
 IC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFj
 cGkwOiBQMDFDICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZG
 RkZGRiBBRFIgLQ0KYWNwaTA6IFAwMUQgIEhJRCAtICAgICAgICAgIFVJRCAt
 ICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAxRSAgSElEIC0g
 ICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkw
 OiBQMDFGICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZG
 RiBBRFIgLQ0KYWNwaTA6IFAwMjAgIEhJRCAtICAgICAgICAgIFVJRCAtICAg
 IFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAyMSAgSElEIC0gICAg
 ICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQ
 MDIyICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBB
 RFIgLQ0KYWNwaTA6IFAwMjMgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNU
 QSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAyNCAgSElEIC0gICAgICAg
 ICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDI1
 ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 LQ0KYWNwaTA6IFAwMjYgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAw
 eEZGRkZGRkZGIEFEUiAtDQphY3BpMDogUDAyNyAgSElEIC0gICAgICAgICAg
 VUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDI4ICBI
 SUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0K
 YWNwaTA6IFAwMjkgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZG
 RkZGRkZGIEFEUiAtDQphY3BpMDogUDAyQSAgSElEIC0gICAgICAgICAgVUlE
 IC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDJCICBISUQg
 LSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNw
 aTA6IFAwMkMgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZG
 RkZGIEFEUiAtDQphY3BpMDogUDAyRCAgSElEIC0gICAgICAgICAgVUlEIC0g
 ICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMDJFICBISUQgLSAg
 ICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6
 IFAwMkYgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZG
 IEFEUiAtDQphY3BpMDogUDAzMCAgSElEIC0gICAgICAgICAgVUlEIC0gICAg
 U1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBfU0IgICBISUQgLSAgICAg
 ICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNwaTA6IFBD
 STAgIEhJRCBQTlAwQTAzICAgIFVJRCAwICAgIFNUQSAweEZGRkZGRkZGIEFE
 UiAweDAwMDAwMDAwMDAxODAwMDMNCmFjcGkwOiBSRDhBICBISUQgLSAgICAg
 ICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAwMDAwMDAw
 MDAwMDAwDQphY3BpMDogTk1FTSAgSElEIFBOUDBDMDIgICAgVUlEIDIwICAg
 U1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBJT01BICBISUQgLSAgICAg
 ICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAwMDAwMDAw
 MDAwMDAyDQphY3BpMDogVU1FTSAgSElEIFBOUDBDMDIgICAgVUlEIDIxICAg
 U1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQQzAyICBISUQgLSAgICAg
 ICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAwMDAwMDAw
 MDIwMDAwDQphY3BpMDogUEMwMyAgSElEIC0gICAgICAgICAgVUlEIC0gICAg
 U1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDAzMDAwMA0KYWNwaTA6
 IFBDMDQgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZGRkZG
 IEFEUiAweDAwMDAwMDAwMDAwNDAwMDANCmFjcGkwOiBQQzA1ICBISUQgLSAg
 ICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAwMDAw
 MDAwMDUwMDAwDQphY3BpMDogUEMwNiAgSElEIC0gICAgICAgICAgVUlEIC0g
 ICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDA2MDAwMA0KYWNw
 aTA6IFBDMDcgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZG
 RkZGIEFEUiAweDAwMDAwMDAwMDAwNzAwMDANCmFjcGkwOiBQQzA5ICBISUQg
 LSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAw
 MDAwMDAwMDkwMDAwDQphY3BpMDogUEMwQSAgSElEIC0gICAgICAgICAgVUlE
 IC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDBBMDAwMA0K
 YWNwaTA6IFBDMEIgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZG
 RkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwQjAwMDANCmFjcGkwOiBQQzBDICBI
 SUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgw
 MDAwMDAwMDAwMEMwMDAwDQphY3BpMDogUEMwRCAgSElEIC0gICAgICAgICAg
 VUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDBEMDAw
 MA0KYWNwaTA6IFNNQlMgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAw
 eEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAxNDAwMDANCmFjcGkwOiBJREVD
 ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 MHgwMDAwMDAwMDAwMTQwMDAxDQphY3BpMDogUFJJRCAgSElEIC0gICAgICAg
 ICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDAw
 MDAwMA0KYWNwaTA6IFBfRDAgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNU
 QSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwMDAwMDANCmFjcGkwOiBQ
 X0QxICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBB
 RFIgMHgwMDAwMDAwMDAwMDAwMDAxDQphY3BpMDogU0VDRCAgSElEIC0gICAg
 ICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAw
 MDAwMDAwMQ0KYWNwaTA6IFNfRDAgIEhJRCAtICAgICAgICAgIFVJRCAtICAg
 IFNUQSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwMDAwMDANCmFjcGkw
 OiBTX0QxICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZG
 RiBBRFIgMHgwMDAwMDAwMDAwMDAwMDAxDQphY3BpMDogU0JBWiAgSElEIC0g
 ICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAw
 MDAwMDE0MDAwMg0KYWNwaTA6IFNCUkcgIEhJRCAtICAgICAgICAgIFVJRCAt
 ICAgIFNUQSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAxNDAwMDMNCmFj
 cGkwOiBQSUMgICBISUQgUE5QMDAwMCAgICBVSUQgLSAgICBTVEEgMHhGRkZG
 RkZGRiBBRFIgLQ0KYWNwaTA6IERNQUQgIEhJRCBQTlAwMjAwICAgIFVJRCAt
 ICAgIFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogVE1SICAgSElEIFBO
 UDAxMDAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkw
 OiBSVEMwICBISUQgUE5QMEIwMCAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZG
 RiBBRFIgLQ0KYWNwaTA6IFNQS1IgIEhJRCBQTlAwODAwICAgIFVJRCAtICAg
 IFNUQSAweEZGRkZGRkZGIEFEUiAtDQphY3BpMDogQ09QUiAgSElEIFBOUDBD
 MDQgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBV
 QVIxICBISUQgUE5QMDUwMSAgICBVSUQgMSAgICBTVEEgMHgwMDAwMDAwRiBB
 RFIgLQ0KYWNwaTA6IFVBUjIgIEhJRCBQTlAwNTAxICAgIFVJRCAyICAgIFNU
 QSAweDAwMDAwMDBGIEFEUiAtDQphY3BpMDogVUFSMyAgSElEIFBOUDA1MDEg
 ICAgVUlEIDMgICAgU1RBIDB4MDAwMDAwMEYgQURSIC0NCmFjcGkwOiBGREMg
 ICBISUQgUE5QMDcwMCAgICBVSUQgLSAgICBTVEEgMHgwMDAwMDAwMCBBRFIg
 LQ0KYWNwaTA6IExQVEUgIEhJRCBQTlAwNDAwICAgIFVJRCAtICAgIFNUQSAw
 eDAwMDAwMDAwIEFEUiAtDQphY3BpMDogUFMySyAgSElEIFBOUDAzMDMgICAg
 VUlEIC0gICAgU1RBIDB4MDAwMDAwMEYgQURSIC0NCmFjcGkwOiBQUzJNICBI
 SUQgUE5QMEYwMyAgICBVSUQgLSAgICBTVEEgMHgwMDAwMDAwMCBBRFIgLQ0K
 YWNwaTA6IFNJT1IgIEhJRCBQTlAwQzAyICAgIFVJRCA0NiAgIFNUQSAweEZG
 RkZGRkZGIEFEUiAtDQphY3BpMDogSFBFVCAgSElEIFBOUDAxMDMgICAgVUlE
 IC0gICAgU1RBIDB4MDAwMDAwMEYgQURSIC0NCmFjcGkwOiBPTVNDICBISUQg
 UE5QMEMwMiAgICBVSUQgMCAgICBTVEEgMHhGRkZGRkZGRiBBRFIgLQ0KYWNw
 aTA6IFJNU0MgIEhJRCBQTlAwQzAyICAgIFVJRCAxNiAgIFNUQSAweEZGRkZG
 RkZGIEFEUiAtDQphY3BpMDogUENJRSAgSElEIFBOUDBDMDIgICAgVUlEIDE3
 ICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQMFBDICBISUQgLSAg
 ICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAwMDAw
 MDAwMTQwMDA0DQphY3BpMDogVUhDMSAgSElEIC0gICAgICAgICAgVUlEIC0g
 ICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDEyMDAwMA0KYWNw
 aTA6IFVIQzIgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZGRkZG
 RkZGIEFEUiAweDAwMDAwMDAwMDAxMjAwMDENCmFjcGkwOiBVSEMzICBISUQg
 LSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgwMDAw
 MDAwMDAwMTIwMDAyDQphY3BpMDogVVNCNCAgSElEIC0gICAgICAgICAgVUlE
 IC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDEzMDAwMA0K
 YWNwaTA6IFVIQzUgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAweEZG
 RkZGRkZGIEFEUiAweDAwMDAwMDAwMDAxMzAwMDENCmFjcGkwOiBVSEM2ICBI
 SUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIgMHgw
 MDAwMDAwMDAwMTMwMDAyDQphY3BpMDogVUhDNyAgSElEIC0gICAgICAgICAg
 VUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDE0MDAw
 NQ0KYWNwaTA6IFNBVEEgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNUQSAw
 eEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAxMTAwMDANCmFjcGkwOiBSTUVN
 ICBISUQgUE5QMEMwMSAgICBVSUQgMSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 LQ0KYWNwaTA6IFBDNDAgIEhJRCBQTlAwQTAzICAgIFVJRCA2NCAgIFNUQSAw
 eDAwMDAwMDAwIEFEUiAweDAwMDAwMDAwMDAxQTAwMDMNCmFjcGkwOiBSRDhC
 ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 MHgwMDAwMDAwMDAwMDAwMDAwDQphY3BpMDogTk1FTSAgSElEIFBOUDBDMDIg
 ICAgVUlEIDY4ICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBJT01C
 ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 MHgwMDAwMDAwMDAwMDAwMDAyDQphY3BpMDogVU1FTSAgSElEIFBOUDBDMDIg
 ICAgVUlEIDY5ICAgU1RBIDB4RkZGRkZGRkYgQURSIC0NCmFjcGkwOiBQQzEy
 ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBBRFIg
 MHgwMDAwMDAwMDAwMDIwMDAwDQphY3BpMDogUEMxMyAgSElEIC0gICAgICAg
 ICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAwMDAz
 MDAwMA0KYWNwaTA6IFBDMTQgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNU
 QSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwNDAwMDANCmFjcGkwOiBQ
 QzE1ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZGRiBB
 RFIgMHgwMDAwMDAwMDAwMDUwMDAwDQphY3BpMDogUEMxNiAgSElEIC0gICAg
 ICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAwMDAw
 MDA2MDAwMA0KYWNwaTA6IFBDMTcgIEhJRCAtICAgICAgICAgIFVJRCAtICAg
 IFNUQSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwNzAwMDANCmFjcGkw
 OiBQQzE5ICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZGRkZG
 RiBBRFIgMHgwMDAwMDAwMDAwMDkwMDAwDQphY3BpMDogUEMxQSAgSElEIC0g
 ICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAwMDAw
 MDAwMDBBMDAwMA0KYWNwaTA6IFBDMUIgIEhJRCAtICAgICAgICAgIFVJRCAt
 ICAgIFNUQSAweEZGRkZGRkZGIEFEUiAweDAwMDAwMDAwMDAwQjAwMDANCmFj
 cGkwOiBQQzFDICBISUQgLSAgICAgICAgICBVSUQgLSAgICBTVEEgMHhGRkZG
 RkZGRiBBRFIgMHgwMDAwMDAwMDAwMEMwMDAwDQphY3BpMDogUEMxRCAgSElE
 IC0gICAgICAgICAgVUlEIC0gICAgU1RBIDB4RkZGRkZGRkYgQURSIDB4MDAw
 MDAwMDAwMDBEMDAwMA0KYWNwaTA6IFBXUkIgIEhJRCBQTlAwQzBDICAgIFVJ
 RCAxNzAgIFNUQSAweDAwMDAwMDBCIEFEUiAtDQphY3BpMDogTE5LQSAgSElE
 IFBOUDBDMEYgICAgVUlEIDEgICAgU1RBIDB4MDAwMDAwMEIgQURSIC0NCmFj
 cGkwOiBMTktCICBISUQgUE5QMEMwRiAgICBVSUQgMiAgICBTVEEgMHgwMDAw
 MDAwQiBBRFIgLQ0KYWNwaTA6IExOS0MgIEhJRCBQTlAwQzBGICAgIFVJRCAz
 ICAgIFNUQSAweDAwMDAwMDBCIEFEUiAtDQphY3BpMDogTE5LRCAgSElEIFBO
 UDBDMEYgICAgVUlEIDQgICAgU1RBIDB4MDAwMDAwMEIgQURSIC0NCmFjcGkw
 OiBMTktFICBISUQgUE5QMEMwRiAgICBVSUQgNSAgICBTVEEgMHgwMDAwMDAw
 QiBBRFIgLQ0KYWNwaTA6IExOS0YgIEhJRCBQTlAwQzBGICAgIFVJRCAyICAg
 IFNUQSAweDAwMDAwMDA5IEFEUiAtDQphY3BpMDogTE5LRyAgSElEIFBOUDBD
 MEYgICAgVUlEIDMgICAgU1RBIDB4MDAwMDAwMEIgQURSIC0NCmFjcGkwOiBM
 TktIICBISUQgUE5QMEMwRiAgICBVSUQgNCAgICBTVEEgMHgwMDAwMDAwOSBB
 RFIgLQ0KYWNwaTA6IF9UWiAgIEhJRCAtICAgICAgICAgIFVJRCAtICAgIFNU
 QSAgICAgICAgICAtIEFEUiAtDQoNClwgICAgIFswNl0gWyAgXSANCiAgICBQ
 MDAxICBbMTJdIFsgIF0gDQogICAgUDAwMiAgWzEyXSBbICBdIA0KICAgIFAw
 MDMgIFsxMl0gWyAgXSANCiAgICBQMDA0ICBbMTJdIFsgIF0gDQogICAgUDAw
 NSAgWzEyXSBbICBdIA0KICAgIFAwMDYgIFsxMl0gWyAgXSANCiAgICBQMDA3
 ICBbMTJdIFsgIF0gDQogICAgUDAwOCAgWzEyXSBbICBdIA0KICAgIFAwMDkg
 IFsxMl0gWyAgXSANCiAgICBQMDBBICBbMTJdIFsgIF0gDQogICAgUDAwQiAg
 WzEyXSBbICBdIA0KICAgIFAwMEMgIFsxMl0gWyAgXSANCiAgICBQMDBEICBb
 MTJdIFsgIF0gDQogICAgUDAwRSAgWzEyXSBbICBdIA0KICAgIFAwMEYgIFsx
 Ml0gWyAgXSANCiAgICBQMDEwICBbMTJdIFsgIF0gDQogICAgUDAxMSAgWzEy
 XSBbICBdIA0KICAgIFAwMTIgIFsxMl0gWyAgXSANCiAgICBQMDEzICBbMTJd
 IFsgIF0gDQogICAgUDAxNCAgWzEyXSBbICBdIA0KICAgIFAwMTUgIFsxMl0g
 WyAgXSANCiAgICBQMDE2ICBbMTJdIFsgIF0gDQogICAgUDAxNyAgWzEyXSBb
 ICBdIA0KICAgIFAwMTggIFsxMl0gWyAgXSANCiAgICBQMDE5ICBbMTJdIFsg
 IF0gDQogICAgUDAxQSAgWzEyXSBbICBdIA0KICAgIFAwMUIgIFsxMl0gWyAg
 XSANCiAgICBQMDFDICBbMTJdIFsgIF0gDQogICAgUDAxRCAgWzEyXSBbICBd
 IA0KICAgIFAwMUUgIFsxMl0gWyAgXSANCiAgICBQMDFGICBbMTJdIFsgIF0g
 DQogICAgUDAyMCAgWzEyXSBbICBdIA0KICAgIFAwMjEgIFsxMl0gWyAgXSAN
 CiAgICBQMDIyICBbMTJdIFsgIF0gDQogICAgUDAyMyAgWzEyXSBbICBdIA0K
 ICAgIFAwMjQgIFsxMl0gWyAgXSANCiAgICBQMDI1ICBbMTJdIFsgIF0gDQog
 ICAgUDAyNiAgWzEyXSBbICBdIA0KICAgIFAwMjcgIFsxMl0gWyAgXSANCiAg
 ICBQMDI4ICBbMTJdIFsgIF0gDQogICAgUDAyOSAgWzEyXSBbICBdIA0KICAg
 IFAwMkEgIFsxMl0gWyAgXSANCiAgICBQMDJCICBbMTJdIFsgIF0gDQogICAg
 UDAyQyAgWzEyXSBbICBdIA0KICAgIFAwMkQgIFsxMl0gWyAgXSANCiAgICBQ
 MDJFICBbMTJdIFsgIF0gDQogICAgUDAyRiAgWzEyXSBbICBdIA0KICAgIFAw
 MzAgIFsxMl0gWyAgXSANCiAgICBfU0IgICBbMDZdIFsgIF0gDQogICAgICAg
 IFBDSTAgIFswNl0gWyAgXSAoUENJKSBAIDB4MDA6MHgwMDoweDE4OjB4MDMg
 W1JdIFtCXSAtPiAweDAwDQogICAgICAgICAgICBSRDhBICBbMDZdIFsgIF0g
 KFBDSSkgQCAweDAwOjB4MDA6MHgwMDoweDAwIA0KICAgICAgICAgICAgICAg
 IE5NRU0gIFswNl0gWyAgXSANCiAgICAgICAgICAgIElPTUEgIFswNl0gWyAg
 XSAoUENJKSBAIDB4MDA6MHgwMDoweDAwOjB4MDIgDQogICAgICAgICAgICAg
 ICAgVU1FTSAgWzA2XSBbICBdIA0KICAgICAgICAgICAgUEMwMiAgWzA2XSBb
 IFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MDI6MHgwMCANCiAgICAgICAgICAg
 IFBDMDMgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDAzOjB4MDAg
 DQogICAgICAgICAgICBQQzA0ICBbMDZdIFsgV10gKFBDSSkgQCAweDAwOjB4
 MDA6MHgwNDoweDAwIA0KICAgICAgICAgICAgUEMwNSAgWzA2XSBbIFddIChQ
 Q0kpIEAgMHgwMDoweDAwOjB4MDU6MHgwMCANCiAgICAgICAgICAgIFBDMDYg
 IFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDA2OjB4MDAgDQogICAg
 ICAgICAgICBQQzA3ICBbMDZdIFsgV10gKFBDSSkgQCAweDAwOjB4MDA6MHgw
 NzoweDAwIA0KICAgICAgICAgICAgUEMwOSAgWzA2XSBbIFddIChQQ0kpIEAg
 MHgwMDoweDAwOjB4MDk6MHgwMCANCiAgICAgICAgICAgIFBDMEEgIFswNl0g
 WyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDBBOjB4MDAgDQogICAgICAgICAg
 ICBQQzBCICBbMDZdIFsgV10gKFBDSSkgQCAweDAwOjB4MDA6MHgwQjoweDAw
 IA0KICAgICAgICAgICAgUEMwQyAgWzA2XSBbIFddIChQQ0kpIEAgMHgwMDow
 eDAwOjB4MEM6MHgwMCBbQl0gLT4gMHgwMw0KICAgICAgICAgICAgUEMwRCAg
 WzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MEQ6MHgwMCBbQl0gLT4g
 MHgwMg0KICAgICAgICAgICAgU01CUyAgWzA2XSBbICBdIChQQ0kpIEAgMHgw
 MDoweDAwOjB4MTQ6MHgwMCANCiAgICAgICAgICAgIElERUMgIFswNl0gWyAg
 XSAoUENJKSBAIDB4MDA6MHgwMDoweDE0OjB4MDEgDQogICAgICAgICAgICAg
 ICAgUFJJRCAgWzA2XSBbICBdIA0KICAgICAgICAgICAgICAgICAgICBQX0Qw
 ICBbMDZdIFsgIF0gDQogICAgICAgICAgICAgICAgICAgIFBfRDEgIFswNl0g
 WyAgXSANCiAgICAgICAgICAgICAgICBTRUNEICBbMDZdIFsgIF0gDQogICAg
 ICAgICAgICAgICAgICAgIFNfRDAgIFswNl0gWyAgXSANCiAgICAgICAgICAg
 ICAgICAgICAgU19EMSAgWzA2XSBbICBdIA0KICAgICAgICAgICAgU0JBWiAg
 WzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MTQ6MHgwMiANCiAgICAg
 ICAgICAgIFNCUkcgIFswNl0gWyAgXSAoUENJKSBAIDB4MDA6MHgwMDoweDE0
 OjB4MDMgDQogICAgICAgICAgICAgICAgUElDICAgWzA2XSBbICBdIA0KICAg
 ICAgICAgICAgICAgIERNQUQgIFswNl0gWyAgXSANCiAgICAgICAgICAgICAg
 ICBUTVIgICBbMDZdIFsgIF0gDQogICAgICAgICAgICAgICAgUlRDMCAgWzA2
 XSBbICBdIA0KICAgICAgICAgICAgICAgIFNQS1IgIFswNl0gWyAgXSANCiAg
 ICAgICAgICAgICAgICBDT1BSICBbMDZdIFsgIF0gDQogICAgICAgICAgICAg
 ICAgVUFSMSAgWzA2XSBbIFddIA0KICAgICAgICAgICAgICAgIFVBUjIgIFsw
 Nl0gWyBXXSANCiAgICAgICAgICAgICAgICBVQVIzICBbMDZdIFsgV10gDQog
 ICAgICAgICAgICAgICAgRkRDICAgWzA2XSBbICBdIA0KICAgICAgICAgICAg
 ICAgIExQVEUgIFswNl0gWyAgXSANCiAgICAgICAgICAgICAgICBQUzJLICBb
 MDZdIFsgV10gDQogICAgICAgICAgICAgICAgUFMyTSAgWzA2XSBbIFddIA0K
 ICAgICAgICAgICAgICAgIFNJT1IgIFswNl0gWyAgXSANCiAgICAgICAgICAg
 ICAgICBIUEVUICBbMDZdIFsgIF0gDQogICAgICAgICAgICAgICAgT01TQyAg
 WzA2XSBbICBdIA0KICAgICAgICAgICAgICAgIFJNU0MgIFswNl0gWyAgXSAN
 CiAgICAgICAgICAgIFBDSUUgIFswNl0gWyAgXSANCiAgICAgICAgICAgIFAw
 UEMgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDE0OjB4MDQgW0Jd
 IC0+IDB4MDENCiAgICAgICAgICAgIFVIQzEgIFswNl0gWyBXXSAoUENJKSBA
 IDB4MDA6MHgwMDoweDEyOjB4MDAgDQogICAgICAgICAgICBVSEMyICBbMDZd
 IFsgV10gKFBDSSkgQCAweDAwOjB4MDA6MHgxMjoweDAxIA0KICAgICAgICAg
 ICAgVUhDMyAgWzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MTI6MHgw
 MiANCiAgICAgICAgICAgIFVTQjQgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6
 MHgwMDoweDEzOjB4MDAgDQogICAgICAgICAgICBVSEM1ICBbMDZdIFsgV10g
 KFBDSSkgQCAweDAwOjB4MDA6MHgxMzoweDAxIA0KICAgICAgICAgICAgVUhD
 NiAgWzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MTM6MHgwMiANCiAg
 ICAgICAgICAgIFVIQzcgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDow
 eDE0OjB4MDUgDQogICAgICAgICAgICBTQVRBICBbMDZdIFsgIF0gKFBDSSkg
 QCAweDAwOjB4MDA6MHgxMToweDAwIA0KICAgICAgICBSTUVNICBbMDZdIFsg
 IF0gDQogICAgICAgIFBDNDAgIFswNl0gWyAgXSAoUENJKSBAIDB4MDA6MHgw
 MDoweDFBOjB4MDMgW1JdIFtCXSAtPiAweDAwDQogICAgICAgICAgICBSRDhC
 ICBbMDZdIFsgIF0gKFBDSSkgQCAweDAwOjB4MDA6MHgwMDoweDAwIA0KICAg
 ICAgICAgICAgICAgIE5NRU0gIFswNl0gWyAgXSANCiAgICAgICAgICAgIElP
 TUIgIFswNl0gWyAgXSAoUENJKSBAIDB4MDA6MHgwMDoweDAwOjB4MDIgDQog
 ICAgICAgICAgICAgICAgVU1FTSAgWzA2XSBbICBdIA0KICAgICAgICAgICAg
 UEMxMiAgWzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MDI6MHgwMCAN
 CiAgICAgICAgICAgIFBDMTMgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgw
 MDoweDAzOjB4MDAgDQogICAgICAgICAgICBQQzE0ICBbMDZdIFsgV10gKFBD
 SSkgQCAweDAwOjB4MDA6MHgwNDoweDAwIA0KICAgICAgICAgICAgUEMxNSAg
 WzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MDU6MHgwMCANCiAgICAg
 ICAgICAgIFBDMTYgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDA2
 OjB4MDAgDQogICAgICAgICAgICBQQzE3ICBbMDZdIFsgV10gKFBDSSkgQCAw
 eDAwOjB4MDA6MHgwNzoweDAwIA0KICAgICAgICAgICAgUEMxOSAgWzA2XSBb
 IFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MDk6MHgwMCANCiAgICAgICAgICAg
 IFBDMUEgIFswNl0gWyBXXSAoUENJKSBAIDB4MDA6MHgwMDoweDBBOjB4MDAg
 DQogICAgICAgICAgICBQQzFCICBbMDZdIFsgV10gKFBDSSkgQCAweDAwOjB4
 MDA6MHgwQjoweDAwIA0KICAgICAgICAgICAgUEMxQyAgWzA2XSBbIFddIChQ
 Q0kpIEAgMHgwMDoweDAwOjB4MEM6MHgwMCBbQl0gLT4gMHgwMw0KICAgICAg
 ICAgICAgUEMxRCAgWzA2XSBbIFddIChQQ0kpIEAgMHgwMDoweDAwOjB4MEQ6
 MHgwMCBbQl0gLT4gMHgwMg0KICAgICAgICBQV1JCICBbMDZdIFsgV10gDQog
 ICAgICAgIExOS0EgIFswNl0gWyAgXSANCiAgICAgICAgTE5LQiAgWzA2XSBb
 ICBdIA0KICAgICAgICBMTktDICBbMDZdIFsgIF0gDQogICAgICAgIExOS0Qg
 IFswNl0gWyAgXSANCiAgICAgICAgTE5LRSAgWzA2XSBbICBdIA0KICAgICAg
 ICBMTktGICBbMDZdIFsgIF0gDQogICAgICAgIExOS0cgIFswNl0gWyAgXSAN
 CiAgICAgICAgTE5LSCAgWzA2XSBbICBdIA0KICAgIF9UWiAgIFsxM10gWyAg
 XSANCmF0dGltZXIwOiBhdHRhY2hlZCB0byBwY3BwaTANCnBja2JkMCBhdCBw
 Y2tiYzAgKGtiZCBzbG90KQ0KaW9hcGljMDogaW50MSAweDYxPHZlY3Rvcj0w
 eDYxLGRlbG1vZGU9MHgwLGRlc3Q9MHgwPiAweDEwMDAwMDAwPHRhcmdldD0w
 eDEwPg0KcGNrYmMwOiB1c2luZyBpcnEgMSBmb3Iga2JkIHNsb3QNCndza2Jk
 MCBhdCBwY2tiZDA6IGNvbnNvbGUga2V5Ym9hcmQNCnBtc3Byb2JlOiByZXNl
 dCBlcnJvciA1DQppcG1pMCBhdCBtYWluYnVzMA0KaXBtaTA6IFdBUk5JTkc6
 IHBvd2VyIG1hbmFnZW1lbnQgbm90IHN1cHBvcnRlZA0KcGNpMCBhdCBtYWlu
 YnVzMCBidXMgMDogY29uZmlndXJhdGlvbiBtb2RlIDENCm1haW5idXMwOiBh
 ZGRlZCB0byBsaXN0IGFzIGJ1cyAwDQpwY2kwOiBpL28gc3BhY2UsIG1lbW9y
 eSBzcGFjZSBlbmFibGVkLCByZC9saW5lLCByZC9tdWx0LCB3ci9pbnYgb2sN
 CnBjaGIwIGF0IHBjaTAgZGV2IDAgZnVuY3Rpb24gMDogQVRJIFRlY2hub2xv
 Z2llcyBSRDg5MCBOb3J0aCBCcmlkZ2UgRHVhbCBTbG90IDJ4MTYgR0ZYIChy
 ZXYuIDB4MDIpDQpwcGIwIGF0IHBjaTAgZGV2IDEyIGZ1bmN0aW9uIDA6IEFU
 SSBUZWNobm9sb2dpZXMgcHJvZHVjdCAweDVhMjAgKHJldi4gMHgwMCkNCnBw
 YjA6IHVuc3VwcG9ydGVkIFBDSSBFeHByZXNzIHZlcnNpb24NCnBjaTEgYXQg
 cHBiMCBidXMgMw0KcHBiMDogYWRkZWQgdG8gbGlzdCBhcyBidXMgMw0KcGNp
 MTogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxlZCwgcmQvbGluZSwg
 d3IvaW52IG9rDQptc2tjMCBhdCBwY2kxIGRldiAwIGZ1bmN0aW9uIDBpb2Fw
 aWMyOiBpbnQxMiAweGZmZmZmZmZmPHZlY3Rvcj0weGZmLGRlbG1vZGU9MHg3
 LGxvZ2ljYWwscGVuZGluZyxhY3RsbyxpcnJwZW5kaW5nLGxldmVsLG1hc2tl
 ZCxkZXN0PTB4MT1zZWxmPV5CYWxsPV5DYWxsLW90aGVycz4NCiwgWXVrb24t
 MiBFQyByZXYuIEEzICgweDIpOiBpb2FwaWMyIHBpbiAxMg0KbXNrMCBhdCBt
 c2tjMCBwb3J0IEE6IEV0aGVybmV0IGFkZHJlc3MgMDA6NTA6NDM6MDA6YWY6
 MTENCm1ha3BoeTAgYXQgbXNrMCBwaHkgMDogTWFydmVsbCA4OEUxMTExIEdp
 Z2FiaXQgUEhZLCByZXYuIDINCm1ha3BoeTA6IDEwYmFzZVQsIDEwYmFzZVQt
 RkRYLCAxMDBiYXNlVFgsIDEwMGJhc2VUWC1GRFgsIDEwMDBiYXNlVCwgMTAw
 MGJhc2VULUZEWCwgYXV0bw0KcHBiMSBhdCBwY2kwIGRldiAxMyBmdW5jdGlv
 biAwOiBBVEkgVGVjaG5vbG9naWVzIFJEODkwIFBDSSBCcmlkZ2UgR0ZYMSBQ
 b3J0IEIgKHJldi4gMHgwMCkNCnBwYjE6IHVuc3VwcG9ydGVkIFBDSSBFeHBy
 ZXNzIHZlcnNpb24NCnBjaTIgYXQgcHBiMSBidXMgMg0KcHBiMTogYWRkZWQg
 dG8gbGlzdCBhcyBidXMgMg0KcGNpMjogaS9vIHNwYWNlLCBtZW1vcnkgc3Bh
 Y2UgZW5hYmxlZCwgcmQvbGluZSwgd3IvaW52IG9rDQp3bTAgYXQgcGNpMiBk
 ZXYgMCBmdW5jdGlvbiAwOiA4MjU3NiAxMDAwQmFzZVQgRXRoZXJuZXQsIHJl
 di4gMQ0KaW9hcGljMjogaW50MTYgMHhmZmZmZmZmZjx2ZWN0b3I9MHhmZixk
 ZWxtb2RlPTB4Nyxsb2dpY2FsLHBlbmRpbmcsYWN0bG8saXJycGVuZGluZyxs
 ZXZlbCxtYXNrZWQsZGVzdD0weDE9c2VsZj1eQmFsbD1eQ2FsbC1vdGhlcnM+
 DQp3bTA6IGludGVycnVwdGluZyBhdCBpb2FwaWMyIHBpbiAxNg0Kd20wOiBQ
 Q0ktRXhwcmVzcyBidXMNCndtMDogNjU1MzYgd29yZCAoMTYgYWRkcmVzcyBi
 aXRzKSBTUEkgRUVQUk9NDQp3bTA6IEV0aGVybmV0IGFkZHJlc3MgMDA6MzA6
 NDg6ZmU6NDI6YjYNCmlncGh5MCBhdCB3bTAgcGh5IDE6IGk4MjU2NiAxMC8x
 MDAvMTAwMCBtZWRpYSBpbnRlcmZhY2UsIHJldi4gMQ0KaWdwaHkwOiAxMGJh
 c2VULCAxMGJhc2VULUZEWCwgMTAwYmFzZVRYLCAxMDBiYXNlVFgtRkRYLCAx
 MDAwYmFzZVQsIDEwMDBiYXNlVC1GRFgsIGF1dG8NCndtMSBhdCBwY2kyIGRl
 diAwIGZ1bmN0aW9uIDE6IDgyNTc2IDEwMDBCYXNlVCBFdGhlcm5ldCwgcmV2
 LiAxDQppb2FwaWMyOiBpbnQxNyAweGZmZmZmZmZmPHZlY3Rvcj0weGZmLGRl
 bG1vZGU9MHg3LGxvZ2ljYWwscGVuZGluZyxhY3RsbyxpcnJwZW5kaW5nLGxl
 dmVsLG1hc2tlZCxkZXN0PTB4MT1zZWxmPV5CYWxsPV5DYWxsLW90aGVycz4N
 CndtMTogaW50ZXJydXB0aW5nIGF0IGlvYXBpYzIgcGluIDE3DQp3bTE6IFBD
 SS1FeHByZXNzIGJ1cw0Kd20xOiA2NTUzNiB3b3JkICgxNiBhZGRyZXNzIGJp
 dHMpIFNQSSBFRVBST00NCndtMTogRXRoZXJuZXQgYWRkcmVzcyAwMDozMDo0
 ODpmZTo0MjpiNw0KaWdwaHkxIGF0IHdtMSBwaHkgMTogaTgyNTY2IDEwLzEw
 MC8xMDAwIG1lZGlhIGludGVyZmFjZSwgcmV2LiAxDQppZ3BoeTE6IDEwYmFz
 ZVQsIDEwYmFzZVQtRkRYLCAxMDBiYXNlVFgsIDEwMGJhc2VUWC1GRFgsIDEw
 MDBiYXNlVCwgMTAwMGJhc2VULUZEWCwgYXV0bw0KYWhjaXNhdGEwIGF0IHBj
 aTAgZGV2IDE3IGZ1bmN0aW9uIDA6IEFUSSBUZWNobm9sb2dpZXMgU0I3MDAv
 U0I4MDAgRkMgU0FUQSBDb250cm9sbGVyDQppb2FwaWMwOiBpbnQyMiAweGEw
 NjU8dmVjdG9yPTB4NjUsZGVsbW9kZT0weDAsYWN0bG8sbGV2ZWwsZGVzdD0w
 eDA+IDB4MTAwMDAwMDA8dGFyZ2V0PTB4MTA+DQphaGNpc2F0YTA6IGludGVy
 cnVwdGluZyBhdCBpb2FwaWMwIHBpbiAyMg0KYWhjaXNhdGEwOiBBSENJIHJl
 dmlzaW9uIDEuMSwgNCBwb3J0cywgMzIgY29tbWFuZCBzbG90cywgZmVhdHVy
 ZXMgMHhmNzIyZTA4MA0KYXRhYnVzMCBhdCBhaGNpc2F0YTAgY2hhbm5lbCAw
 DQphdGFidXMxIGF0IGFoY2lzYXRhMCBjaGFubmVsIDENCmF0YWJ1czIgYXQg
 YWhjaXNhdGEwIGNoYW5uZWwgMg0KYXRhYnVzMyBhdCBhaGNpc2F0YTAgY2hh
 bm5lbCAzDQpvaGNpMCBhdCBwY2kwIGRldiAxOCBmdW5jdGlvbiAwOiBBVEkg
 VGVjaG5vbG9naWVzIFNCNzAwL1NCODAwIFVTQiBPSENJIENvbnRyb2xsZXIg
 KHJldi4gMHgwMCkNCmlvYXBpYzA6IGludDE2IDB4YTA2Njx2ZWN0b3I9MHg2
 NixkZWxtb2RlPTB4MCxhY3RsbyxsZXZlbCxkZXN0PTB4MD4gMHgxMDAwMDAw
 MDx0YXJnZXQ9MHgxMD4NCm9oY2kwOiBpbnRlcnJ1cHRpbmcgYXQgaW9hcGlj
 MCBwaW4gMTYNCm9oY2kwOiBPSENJIHZlcnNpb24gMS4wLCBsZWdhY3kgc3Vw
 cG9ydA0KdXNiMCBhdCBvaGNpMDogVVNCIHJldmlzaW9uIDEuMA0KdXNiMDog
 V0FSTklORzogcG93ZXIgbWFuYWdlbWVudCBub3Qgc3VwcG9ydGVkDQpvaGNp
 MSBhdCBwY2kwIGRldiAxOCBmdW5jdGlvbiAxOiBBVEkgVGVjaG5vbG9naWVz
 IFNCNzAwL1NCODAwIFVTQiBPSENJIENvbnRyb2xsZXIgKHJldi4gMHgwMCkN
 CmlvYXBpYzA6IGludDE2IDB4YTA2Njx2ZWN0b3I9MHg2NixkZWxtb2RlPTB4
 MCxhY3RsbyxsZXZlbCxkZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgx
 MD4NCm9oY2kxOiBpbnRlcnJ1cHRpbmcgYXQgaW9hcGljMCBwaW4gMTYNCm9o
 Y2kxOiBPSENJIHZlcnNpb24gMS4wLCBsZWdhY3kgc3VwcG9ydA0KdXNiMSBh
 dCBvaGNpMTogVVNCIHJldmlzaW9uIDEuMA0KdXNiMTogV0FSTklORzogcG93
 ZXIgbWFuYWdlbWVudCBub3Qgc3VwcG9ydGVkDQplaGNpMCBhdCBwY2kwIGRl
 diAxOCBmdW5jdGlvbiAyOiBBVEkgVGVjaG5vbG9naWVzIFNCNzAwL1NCODAw
 IFVTQiBFSENJIENvbnRyb2xsZXIgKHJldi4gMHgwMCkNCmlvYXBpYzA6IGlu
 dDE3IDB4YTA2Nzx2ZWN0b3I9MHg2NyxkZWxtb2RlPTB4MCxhY3RsbyxsZXZl
 bCxkZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgxMD4NCmVoY2kwOiBp
 bnRlcnJ1cHRpbmcgYXQgaW9hcGljMCBwaW4gMTcNCmVoY2kwOiBkcm9wcGVk
 IGludHIgd29ya2Fyb3VuZCBlbmFibGVkDQplaGNpMDogRUhDSSB2ZXJzaW9u
 IDEuMA0KZWhjaTA6IGNvbXBhbmlvbiBjb250cm9sbGVycywgMyBwb3J0cyBl
 YWNoOiBvaGNpMCBvaGNpMQ0KdXNiMiBhdCBlaGNpMDogVVNCIHJldmlzaW9u
 IDIuMA0KdXNiMjogV0FSTklORzogcG93ZXIgbWFuYWdlbWVudCBub3Qgc3Vw
 cG9ydGVkDQpvaGNpMiBhdCBwY2kwIGRldiAxOSBmdW5jdGlvbiAwOiBBVEkg
 VGVjaG5vbG9naWVzIFNCNzAwL1NCODAwIFVTQiBPSENJIENvbnRyb2xsZXIg
 KHJldi4gMHgwMCkNCmlvYXBpYzA6IGludDE4IDB4YTA2ODx2ZWN0b3I9MHg2
 OCxkZWxtb2RlPTB4MCxhY3RsbyxsZXZlbCxkZXN0PTB4MD4gMHgxMDAwMDAw
 MDx0YXJnZXQ9MHgxMD4NCm9oY2kyOiBpbnRlcnJ1cHRpbmcgYXQgaW9hcGlj
 MCBwaW4gMTgNCm9oY2kyOiBPSENJIHZlcnNpb24gMS4wLCBsZWdhY3kgc3Vw
 cG9ydA0KdXNiMyBhdCBvaGNpMjogVVNCIHJldmlzaW9uIDEuMA0KdXNiMzog
 V0FSTklORzogcG93ZXIgbWFuYWdlbWVudCBub3Qgc3VwcG9ydGVkDQpvaGNp
 MyBhdCBwY2kwIGRldiAxOSBmdW5jdGlvbiAxOiBBVEkgVGVjaG5vbG9naWVz
 IFNCNzAwL1NCODAwIFVTQiBPSENJIENvbnRyb2xsZXIgKHJldi4gMHgwMCkN
 CmlvYXBpYzA6IGludDE4IDB4YTA2ODx2ZWN0b3I9MHg2OCxkZWxtb2RlPTB4
 MCxhY3RsbyxsZXZlbCxkZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgx
 MD4NCm9oY2kzOiBpbnRlcnJ1cHRpbmcgYXQgaW9hcGljMCBwaW4gMTgNCm9o
 Y2kzOiBPSENJIHZlcnNpb24gMS4wLCBsZWdhY3kgc3VwcG9ydA0KdXNiNCBh
 dCBvaGNpMzogVVNCIHJldmlzaW9uIDEuMA0KdXNiNDogV0FSTklORzogcG93
 ZXIgbWFuYWdlbWVudCBub3Qgc3VwcG9ydGVkDQplaGNpMSBhdCBwY2kwIGRl
 diAxOSBmdW5jdGlvbiAyOiBBVEkgVGVjaG5vbG9naWVzIFNCNzAwL1NCODAw
 IFVTQiBFSENJIENvbnRyb2xsZXIgKHJldi4gMHgwMCkNCmlvYXBpYzA6IGlu
 dDE5IDB4YTA2OTx2ZWN0b3I9MHg2OSxkZWxtb2RlPTB4MCxhY3RsbyxsZXZl
 bCxkZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgxMD4NCmVoY2kxOiBp
 bnRlcnJ1cHRpbmcgYXQgaW9hcGljMCBwaW4gMTkNCmVoY2kxOiBkcm9wcGVk
 IGludHIgd29ya2Fyb3VuZCBlbmFibGVkDQplaGNpMTogRUhDSSB2ZXJzaW9u
 IDEuMA0KZWhjaTE6IGNvbXBhbmlvbiBjb250cm9sbGVycywgMyBwb3J0cyBl
 YWNoOiBvaGNpMiBvaGNpMw0KdXNiNSBhdCBlaGNpMTogVVNCIHJldmlzaW9u
 IDIuMA0KdXNiNTogV0FSTklORzogcG93ZXIgbWFuYWdlbWVudCBub3Qgc3Vw
 cG9ydGVkDQpwaWl4cG0wIGF0IHBjaTAgZGV2IDIwIGZ1bmN0aW9uIDANCnBp
 aXhwbTA6IEFUSSBUZWNobm9sb2dpZXMgU0I2MDAvU0I3MDAvU0I4MDAgU01C
 dXMgQ29udHJvbGxlciAocmV2LiAweDNkKQ0KcGlpeHBtMDogaW50ZXJydXB0
 aW5nIGF0IFNNSSwgcG9sbGluZw0KaWljMCBhdCBwaWl4cG0wOiBJMkMgYnVz
 DQppaWMwOiBkZXZpY2VzIGF0IDB4MmQgMHgyZiAweDM4IDB4NjkgMHg2ZQ0K
 c3BkIGNoZWNrc3VtIGZhaWxlZCwgY2FsYyA9IDB4MDAsIHNwZCA9IDB4MDAN
 CnNwZCBjaGVja3N1bSBmYWlsZWQsIGNhbGMgPSAweDAwLCBzcGQgPSAweDAw
 DQpzcGQgY2hlY2tzdW0gZmFpbGVkLCBjYWxjID0gMHgwMCwgc3BkID0gMHgw
 MA0Kc3BkIGNoZWNrc3VtIGZhaWxlZCwgY2FsYyA9IDB4MDAsIHNwZCA9IDB4
 MDANCnNwZCBjaGVja3N1bSBmYWlsZWQsIGNhbGMgPSAweDAwLCBzcGQgPSAw
 eDAwDQpzcGQgY2hlY2tzdW0gZmFpbGVkLCBjYWxjID0gMHgwMCwgc3BkID0g
 MHgwMA0Kc3BkIGNoZWNrc3VtIGZhaWxlZCwgY2FsYyA9IDB4MDAsIHNwZCA9
 IDB4MDANCnNwZCBjaGVja3N1bSBmYWlsZWQsIGNhbGMgPSAweDAwLCBzcGQg
 PSAweDAwDQpkYmNvb2xfY2hpcF9pZGVudDogYWRkciAweDJkIGNfaWQgMHhm
 ZiBkX2lkIDB4ZmYgcl9pZCAweGZmOiBObyBtYXRjaC4NCmRiY29vbF9jaGlw
 X2lkZW50OiBhZGRyIDB4MmUgY19pZCAweDAwIGRfaWQgMHgwMCByX2lkIDB4
 MDA6IE5vIG1hdGNoLg0KZGJjb29sX2NoaXBfaWRlbnQ6IGFkZHIgMHgyZiBj
 X2lkIDB4ZmYgZF9pZCAweGZmIHJfaWQgMHhmZjogTm8gbWF0Y2guDQppeHBp
 ZGUwIGF0IHBjaTAgZGV2IDIwIGZ1bmN0aW9uIDE6IEFUSSBUZWNobm9sb2dp
 ZXMgSVhQIElERSBDb250cm9sbGVyIChyZXYuIDB4MDApDQppeHBpZGUwOiBi
 dXMtbWFzdGVyIERNQSBzdXBwb3J0IHByZXNlbnQNCml4cGlkZTA6IHByaW1h
 cnkgY2hhbm5lbCBjb25maWd1cmVkIHRvIGNvbXBhdGliaWxpdHkgbW9kZQ0K
 aW9hcGljMDogaW50MTQgMHg2YTx2ZWN0b3I9MHg2YSxkZWxtb2RlPTB4MCxk
 ZXN0PTB4MD4gMHgxMDAwMDAwMDx0YXJnZXQ9MHgxMD4NCml4cGlkZTA6IHBy
 aW1hcnkgY2hhbm5lbCBpbnRlcnJ1cHRpbmcgYXQgaW9hcGljMCBwaW4gMTQN
 CmF0YWJ1czQgYXQgaXhwaWRlMCBjaGFubmVsIDANCml4cGlkZTA6IHNlY29u
 ZGFyeSBjaGFubmVsIGNvbmZpZ3VyZWQgdG8gY29tcGF0aWJpbGl0eSBtb2Rl
 DQppb2FwaWMwOiBpbnQxNSAweDZiPHZlY3Rvcj0weDZiLGRlbG1vZGU9MHgw
 LGRlc3Q9MHgwPiAweDEwMDAwMDAwPHRhcmdldD0weDEwPg0KaXhwaWRlMDog
 c2Vjb25kYXJ5IGNoYW5uZWwgaW50ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGlu
 IDE1DQphdGFidXM1IGF0IGl4cGlkZTAgY2hhbm5lbCAxDQpwY2liMCBhdCBw
 Y2kwIGRldiAyMCBmdW5jdGlvbiAzOiBBVEkgVGVjaG5vbG9naWVzIFNCNzAw
 L1NCODAwIExQQyBIb3N0IENvbnRyb2xsZXIgKHJldi4gMHgwMCkNCnBwYjIg
 YXQgcGNpMCBkZXYgMjAgZnVuY3Rpb24gNDogQVRJIFRlY2hub2xvZ2llcyBT
 QjYwMCBQQ0kgdG8gUENJIEJyaWRnZSAocmV2LiAweDAwKQ0KcGNpMyBhdCBw
 cGIyIGJ1cyAxDQpwcGIyOiBhZGRlZCB0byBsaXN0IGFzIGJ1cyAxDQpwY2kz
 OiBpL28gc3BhY2UsIG1lbW9yeSBzcGFjZSBlbmFibGVkDQp2Z2EwIGF0IHBj
 aTMgZGV2IDQgZnVuY3Rpb24gMDogTWF0cm94IHByb2R1Y3QgMHgwNTMyIChy
 ZXYuIDB4MGEpDQp3c2Rpc3BsYXkwIGF0IHZnYTAga2JkbXV4IDE6IGNvbnNv
 bGUgKDgweDI1LCB2dDEwMCBlbXVsYXRpb24pLCB1c2luZyB3c2tiZDANCndz
 bXV4MTogY29ubmVjdGluZyB0byB3c2Rpc3BsYXkwDQpkcm0gYXQgdmdhMCBu
 b3QgY29uZmlndXJlZA0KcGNoYjEgYXQgcGNpMCBkZXYgMjQgZnVuY3Rpb24g
 MDogQU1EIEFNRDY0IEZhbWlseTEwaCBIeXBlclRyYW5zcG9ydCBDb25maWd1
 cmF0aW9uIChyZXYuIDB4MDApDQpwY2hiMiBhdCBwY2kwIGRldiAyNCBmdW5j
 dGlvbiAxOiBBTUQgQU1ENjQgRmFtaWx5MTBoIEFkZHJlc3MgTWFwIENvbmZp
 Z3VyYXRpb24gKHJldi4gMHgwMCkNCnBjaGIzIGF0IHBjaTAgZGV2IDI0IGZ1
 bmN0aW9uIDI6IEFNRCBBTUQ2NCBGYW1pbHkxMGggRFJBTSBDb25maWd1cmF0
 aW9uIChyZXYuIDB4MDApDQphbWR0ZW1wMCBhdCBwY2kwIGRldiAyNCBmdW5j
 dGlvbiAzOiBBTUQgQ1BVIFRlbXBlcmF0dXJlIFNlbnNvcnMgKEZhbWlseTEw
 aCAvIEZhbWlseTExaCkNCnBjaGI0IGF0IHBjaTAgZGV2IDI0IGZ1bmN0aW9u
 IDQ6IEFNRCBBTUQ2NCBGYW1pbHkxMGggTGluayBDb25maWd1cmF0aW9uIChy
 ZXYuIDB4MDApDQpwY2hiNSBhdCBwY2kwIGRldiAyNSBmdW5jdGlvbiAwOiBB
 TUQgQU1ENjQgRmFtaWx5MTBoIEh5cGVyVHJhbnNwb3J0IENvbmZpZ3VyYXRp
 b24gKHJldi4gMHgwMCkNCnBjaGI2IGF0IHBjaTAgZGV2IDI1IGZ1bmN0aW9u
 IDE6IEFNRCBBTUQ2NCBGYW1pbHkxMGggQWRkcmVzcyBNYXAgQ29uZmlndXJh
 dGlvbiAocmV2LiAweDAwKQ0KcGNoYjcgYXQgcGNpMCBkZXYgMjUgZnVuY3Rp
 b24gMjogQU1EIEFNRDY0IEZhbWlseTEwaCBEUkFNIENvbmZpZ3VyYXRpb24g
 KHJldi4gMHgwMCkNCmFtZHRlbXAxIGF0IHBjaTAgZGV2IDI1IGZ1bmN0aW9u
 IDM6IEFNRCBDUFUgVGVtcGVyYXR1cmUgU2Vuc29ycyAoRmFtaWx5MTBoIC8g
 RmFtaWx5MTFoKQ0KcGNoYjggYXQgcGNpMCBkZXYgMjUgZnVuY3Rpb24gNDog
 QU1EIEFNRDY0IEZhbWlseTEwaCBMaW5rIENvbmZpZ3VyYXRpb24gKHJldi4g
 MHgwMCkNCmlzYTAgYXQgcGNpYjANCkluaXRpYWxpemluZyBTU1A6IGU2Mjhh
 MWNjYTM5MjlhYzIgZDM4ZGUyNTcwMTJhOTcxNCBiNzFjMzNiMWYzMmUzNGU5
 IDU5YmE5YTk0YjA0YmZhMDAgZDM5Y2Y2YjlmZGRmZGUzNyBlYjcxZjEwODI3
 NDYxZWQzIDc1NTY0Y2Q0OWQ1MzA4NjUgNzdhNDQ0NTA3OWY1NWI4NCANCnRp
 bWVjb3VudGVyOiBUaW1lY291bnRlciAiY2xvY2tpbnRlcnJ1cHQiIGZyZXF1
 ZW5jeSAxMDAgSHogcXVhbGl0eSAwDQpjcHUxOiBwcmVsaW50MCAweDEwMDAw
 PHZlY3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8
 dGFyZ2V0PTB4MD4NCmNwdTE6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4
 MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgw
 Pg0KY3B1MTogdGltZXIwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4
 MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MTogcGNp
 bnQwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MTogbGludDAgMHgxMDcwMDx2
 ZWN0b3I9MHgwLGRlbG1vZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRh
 cmdldD0weDA+DQpjcHUxOiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVs
 bW9kZT0weDQsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNw
 dTE6IGVycjAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tl
 ZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUxOiBUU0Mgc2tldz0z
 IGRyaWZ0PS0yDQpjcHUyOiBwcmVsaW50MCAweDEwMDAwPHZlY3Rvcj0weDAs
 ZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4N
 CmNwdTI6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4
 MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MjogdGlt
 ZXIwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MjogcGNpbnQwIDB4MTAwMDA8
 dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0
 YXJnZXQ9MHgwPg0KY3B1MjogbGludDAgMHgxMDcwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHUyOiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDQsbWFz
 a2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTI6IGVycjAgMHgx
 MDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4g
 MHgwPHRhcmdldD0weDA+DQpjcHUyOiBUU0Mgc2tldz03IGRyaWZ0PTANCmNw
 dTM6IHByZWxpbnQwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxt
 YXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MzogcHJlbGlu
 dDEgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0
 PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUzOiB0aW1lcjAgMHgxMDAwMDx2
 ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRh
 cmdldD0weDA+DQpjcHUzOiBwY2ludDAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHUzOiBsaW50MCAweDEwNzAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDcsbWFz
 a2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTM6IGxpbnQxIDB4
 MTA0MDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4NCxtYXNrZWQsZGVzdD0weDA+
 IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MzogZXJyMCAweDEwMDAwPHZlY3Rvcj0w
 eDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4
 MD4NCmNwdTM6IFRTQyBza2V3PTYgZHJpZnQ9LTMNCmNwdTQ6IHByZWxpbnQw
 IDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0w
 eDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NDogcHJlbGludDEgMHgxMDAwMDx2
 ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRh
 cmdldD0weDA+DQpjcHU0OiB0aW1lcjAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHU0OiBwY2ludDAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1h
 c2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHU0OiBsaW50MCAw
 eDEwNzAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDcsbWFza2VkLGRlc3Q9MHgw
 PiAweDA8dGFyZ2V0PTB4MD4NCmNwdTQ6IGxpbnQxIDB4MTA0MDA8dmVjdG9y
 PTB4MCxkZWxtb2RlPTB4NCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9
 MHgwPg0KY3B1NDogZXJyMCAweDEwMDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0w
 eDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTQ6IFRT
 QyBza2V3PTI1IGRyaWZ0PS02DQpjcHU1OiBwcmVsaW50MCAweDEwMDAwPHZl
 Y3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFy
 Z2V0PTB4MD4NCmNwdTU6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxk
 ZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0K
 Y3B1NTogdGltZXIwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxt
 YXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NTogcGNpbnQw
 IDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0w
 eDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NTogbGludDAgMHgxMDcwMDx2ZWN0
 b3I9MHgwLGRlbG1vZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdl
 dD0weDA+DQpjcHU1OiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVsbW9k
 ZT0weDQsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTU6
 IGVycjAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxk
 ZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHU1OiBUU0Mgc2tldz04IGRy
 aWZ0PS0zDQpjcHU2OiBwcmVsaW50MCAweDEwMDAwPHZlY3Rvcj0weDAsZGVs
 bW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNw
 dTY6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxt
 YXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NjogdGltZXIw
 IDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0w
 eDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NjogcGNpbnQwIDB4MTAwMDA8dmVj
 dG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJn
 ZXQ9MHgwPg0KY3B1NjogbGludDAgMHgxMDcwMDx2ZWN0b3I9MHgwLGRlbG1v
 ZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUx
 OiBydW5uaW5nDQpjcHU2OiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVs
 bW9kZT0weDQsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNw
 dTY6IGVycjAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tl
 ZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHU2OiBUU0Mgc2tldz01
 NSBkcmlmdD01DQpjcHU3OiBwcmVsaW50MCAweDEwMDAwPHZlY3Rvcj0weDAs
 ZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4N
 CmNwdTc6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4
 MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NzogdGlt
 ZXIwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1NzogcGNpbnQwIDB4MTAwMDA8
 dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0
 YXJnZXQ9MHgwPg0KY3B1NzogbGludDAgMHgxMDcwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHU3OiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDQsbWFz
 a2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTc6IGVycjAgMHgx
 MDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4g
 MHgwPHRhcmdldD0weDA+DQpjcHU3OiBUU0Mgc2tldz00NCBkcmlmdD0wDQpj
 cHU4OiBwcmVsaW50MCAweDEwMDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDAs
 bWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTg6IHByZWxp
 bnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1ODogdGltZXIwIDB4MTAwMDA8
 dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0
 YXJnZXQ9MHgwPg0KY3B1ODogcGNpbnQwIDB4MTAwMDA8dmVjdG9yPTB4MCxk
 ZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0K
 Y3B1ODogbGludDAgMHgxMDcwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHg3LG1h
 c2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHU4OiBsaW50MSAw
 eDEwNDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDQsbWFza2VkLGRlc3Q9MHgw
 PiAweDA8dGFyZ2V0PTB4MD4NCmNwdTg6IGVycjAgMHgxMDAwMDx2ZWN0b3I9
 MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0w
 eDA+DQpjcHUyOiBydW5uaW5nDQpjcHU4OiBUU0Mgc2tldz01OSBkcmlmdD0t
 MTUNCmNwdTk6IHByZWxpbnQwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2Rl
 PTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1OTog
 cHJlbGludDEgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tl
 ZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHU5OiB0aW1lcjAgMHgx
 MDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4g
 MHgwPHRhcmdldD0weDA+DQpjcHU5OiBwY2ludDAgMHgxMDAwMDx2ZWN0b3I9
 MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0w
 eDA+DQpjcHU5OiBsaW50MCAweDEwNzAwPHZlY3Rvcj0weDAsZGVsbW9kZT0w
 eDcsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTk6IGxp
 bnQxIDB4MTA0MDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4NCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1OTogZXJyMCAweDEwMDAwPHZl
 Y3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFy
 Z2V0PTB4MD4NCmNwdTM6IHJ1bm5pbmcNCmNwdTk6IFRTQyBza2V3PTQ0IGRy
 aWZ0PS0zDQpjcHUxMDogcHJlbGludDAgMHgxMDAwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHUxMDogcHJlbGludDEgMHgxMDAwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHgw
 LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUxMDogdGlt
 ZXIwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVz
 dD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MTA6IHBjaW50MCAweDEwMDAw
 PHZlY3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgwPiAweDA8
 dGFyZ2V0PTB4MD4NCmNwdTEwOiBsaW50MCAweDEwNzAwPHZlY3Rvcj0weDAs
 ZGVsbW9kZT0weDcsbWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4N
 CmNwdTEwOiBsaW50MSAweDEwNDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDQs
 bWFza2VkLGRlc3Q9MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTEwOiBlcnIw
 IDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxtYXNrZWQsZGVzdD0w
 eDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MTA6IFRTQyBza2V3PTQ2IGRyaWZ0
 PS0xNQ0KY3B1MTE6IHByZWxpbnQwIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxt
 b2RlPTB4MCxtYXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1
 MTE6IHByZWxpbnQxIDB4MTAwMDA8dmVjdG9yPTB4MCxkZWxtb2RlPTB4MCxt
 YXNrZWQsZGVzdD0weDA+IDB4MDx0YXJnZXQ9MHgwPg0KY3B1MTE6IHRpbWVy
 MCAweDEwMDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9
 MHgwPiAweDA8dGFyZ2V0PTB4MD4NCmNwdTExOiBwY2ludDAgMHgxMDAwMDx2
 ZWN0b3I9MHgwLGRlbG1vZGU9MHgwLG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRh
 cmdldD0weDA+DQpjcHUxMTogbGludDAgMHgxMDcwMDx2ZWN0b3I9MHgwLGRl
 bG1vZGU9MHg3LG1hc2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpj
 cHUxMTogbGludDEgMHgxMDQwMDx2ZWN0b3I9MHgwLGRlbG1vZGU9MHg0LG1h
 c2tlZCxkZXN0PTB4MD4gMHgwPHRhcmdldD0weDA+DQpjcHUxMTogZXJyMCAw
 eDEwMDAwPHZlY3Rvcj0weDAsZGVsbW9kZT0weDAsbWFza2VkLGRlc3Q9MHgw
 PiAweDA8dGFyZ2V0PTB4MD4NCmNwdTQ6IHJ1bm5pbmcNCmNwdTExOiBUU0Mg
 c2tldz01NSBkcmlmdD0tMTINCnRpbWVjb3VudGVyOiBUaW1lY291bnRlciAi
 VFNDIiBmcmVxdWVuY3kgMjEwMDE5MjM2MCBIeiBxdWFsaXR5IDMwMDANCnVo
 dWIwIGF0IHVzYjA6IEFUSSBUZWNobm9sb2dpZSBPSENJIHJvb3QgaHViLCBj
 bGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMQ0KdWh1YjA6IDMgcG9y
 dHMgd2l0aCAzIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkDQp1aHViMSBhdCB1
 c2IxOiBBVEkgVGVjaG5vbG9naWUgT0hDSSByb290IGh1YiwgY2xhc3MgOS8w
 LCByZXYgMS4wMC8xLjAwLCBhZGRyIDENCnVodWIxOiAzIHBvcnRzIHdpdGgg
 MyByZW1vdmFibGUsIHNlbGYgcG93ZXJlZA0KdWh1YjIgYXQgdXNiMjogQVRJ
 IFRlY2hub2xvZ2llcyBFSENJIHJvb3QgaHViLCBjbGFzcyA5LzAsIHJldiAy
 LjAwLzEuMDAsIGFkZHIgMQ0KdWh1YjI6IDYgcG9ydHMgd2l0aCA2IHJlbW92
 YWJsZSwgc2VsZiBwb3dlcmVkDQp1aHViMyBhdCB1c2IzOiBBVEkgVGVjaG5v
 bG9naWUgT0hDSSByb290IGh1YiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAw
 LCBhZGRyIDENCnVodWIzOiAzIHBvcnRzIHdpdGggMyByZW1vdmFibGUsIHNl
 bGYgcG93ZXJlZA0KdWh1YjQgYXQgdXNiNDogQVRJIFRlY2hub2xvZ2llIE9I
 Q0kgcm9vdCBodWIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRkciAx
 DQp1aHViNDogMyBwb3J0cyB3aXRoIDMgcmVtb3ZhYmxlLCBzZWxmIHBvd2Vy
 ZWQNCnVodWI1IGF0IHVzYjU6IEFUSSBUZWNobm9sb2dpZXMgRUhDSSByb290
 IGh1YiwgY2xhc3MgOS8wLCByZXYgMi4wMC8xLjAwLCBhZGRyIDENCnVodWI1
 OiA2IHBvcnRzIHdpdGggNiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZA0KY3B1
 NTogcnVubmluZw0KYWhjaXNhdGEwIHBvcnQgMDogZGV2aWNlIHByZXNlbnQs
 IHNwZWVkOiAzLjBHYi9zDQphaGNpc2F0YTAgcG9ydCAzOiBkZXZpY2UgcHJl
 c2VudCwgc3BlZWQ6IDMuMEdiL3MNCmNwdTY6IHJ1bm5pbmcNCmNwdTk6IHJ1
 bm5pbmcNCmNwdTc6IHJ1bm5pbmcNCmNwdTEwOiBydW5uaW5nDQpjcHUxMTog
 cnVubmluZw0KY3B1ODogcnVubmluZw0Kd2QwIGF0IGF0YWJ1czAgZHJpdmUg
 MDogPFdEQyBXRDUwMDBBQUtTLTAwVE1BMD4NCndkMDogZHJpdmUgc3VwcG9y
 dHMgMTYtc2VjdG9yIFBJTyB0cmFuc2ZlcnMsIExCQTQ4IGFkZHJlc3NpbmcN
 CndkMDogNDY1IEdCLCA5NjkwMjEgY3lsLCAxNiBoZWFkLCA2MyBzZWMsIDUx
 MiBieXRlcy9zZWN0IHggOTc2NzczMTY4IHNlY3RvcnMNCndkMDogZHJpdmUg
 c3VwcG9ydHMgUElPIG1vZGUgNCwgRE1BIG1vZGUgMiwgVWx0cmEtRE1BIG1v
 ZGUgNiAoVWx0cmEvMTMzKQ0Kd2QwKGFoY2lzYXRhMDowOjApOiB1c2luZyBQ
 SU8gbW9kZSA0LCBETUEgbW9kZSAyLCBVbHRyYS1ETUEgbW9kZSA2IChVbHRy
 YS8xMzMpICh1c2luZyBETUEpDQp3ZDEgYXQgYXRhYnVzMyBkcml2ZSAwOiA8
 V0RDIFdEMTYwMEFBSlMtMDBMN0EwPg0Kd2QxOiBkcml2ZSBzdXBwb3J0cyAx
 Ni1zZWN0b3IgUElPIHRyYW5zZmVycywgTEJBNDggYWRkcmVzc2luZw0Kd2Qx
 OiAxNDkgR0IsIDMxMDEwMSBjeWwsIDE2IGhlYWQsIDYzIHNlYywgNTEyIGJ5
 dGVzL3NlY3QgeCAzMTI1ODE4MDggc2VjdG9ycw0Kd2QxOiBkcml2ZSBzdXBw
 b3J0cyBQSU8gbW9kZSA0LCBETUEgbW9kZSAyLCBVbHRyYS1ETUEgbW9kZSA2
 IChVbHRyYS8xMzMpDQp3ZDEoYWhjaXNhdGEwOjM6MCk6IHVzaW5nIFBJTyBt
 b2RlIDQsIERNQSBtb2RlIDIsIFVsdHJhLURNQSBtb2RlIDYgKFVsdHJhLzEz
 MykgKHVzaW5nIERNQSkNCnVoaWRldjAgYXQgdWh1YjAgcG9ydCAxIGNvbmZp
 Z3VyYXRpb24gMSBpbnRlcmZhY2UgMA0KdWhpZGV2MDogSnVzdGNvbSBUZWNo
 bm9sb2d5IFVTQiBLVk0gU3dpdGNoLCByZXYgMS4xMC8xLjAwLCBhZGRyIDIs
 IGljbGFzcyAzLzENCnVrYmQwIGF0IHVoaWRldjANCnVtYXNzMCBhdCB1aHVi
 MiBwb3J0IDIgY29uZmlndXJhdGlvbiAxIGludGVyZmFjZSAwDQp1bWFzczA6
 IEdlbmVyaWMgTWFzcyBTdG9yYWdlIERldmljZSwgcmV2IDIuMDAvMS40MSwg
 YWRkciAyDQp1bWFzczA6IHVzaW5nIFNDU0kgb3ZlciBCdWxrLU9ubHkNCnNj
 c2lidXMwIGF0IHVtYXNzMDogMiB0YXJnZXRzLCAxIGx1biBwZXIgdGFyZ2V0
 DQpzZDAgYXQgc2NzaWJ1czAgdGFyZ2V0IDAgbHVuIDA6IDxBVTY5ODIsIEZs
 YXNoIERpc2ssIDguMDc+IGRpc2sgcmVtb3ZhYmxlDQpzZDA6IGZhYnJpY2F0
 aW5nIGEgZ2VvbWV0cnkNCnNkMDogMTAwMCBNQiwgMTAwMCBjeWwsIDY0IGhl
 YWQsIDMyIHNlYywgNTEyIGJ5dGVzL3NlY3QgeCAyMDQ4MDAwIHNlY3RvcnMN
 CnNkMDogZmFicmljYXRpbmcgYSBnZW9tZXRyeQ0KY3J5cHRvOiBhc3NpZ24g
 ZHJpdmVyIDAsIGZsYWdzIDINCmNyeXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJz
 IGFsZyAxIGZsYWdzIDAgbWF4b3BsZW4gMA0KY3J5cHRvOiBkcml2ZXIgMCBy
 ZWdpc3RlcnMgYWxnIDIgZmxhZ3MgMCBtYXhvcGxlbiAwDQpjcnlwdG86IGRy
 aXZlciAwIHJlZ2lzdGVycyBhbGcgMyBmbGFncyAwIG1heG9wbGVuIDANCmNy
 eXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyA0IGZsYWdzIDAgbWF4b3Bs
 ZW4gMA0KY3J5cHRvOiBkcml2ZXIgMCByZWdpc3RlcnMgYWxnIDUgZmxhZ3Mg
 MCBtYXhvcGxlbiAwDQpjcnlwdG86IGRyaXZlciAwIHJlZ2lzdGVycyBhbGcg
 MTcgZmxhZ3MgMCBtYXhvcGxlbiAwDQpjcnlwdG86IGRyaXZlciAwIHJlZ2lz
 dGVycyBhbGcgNiBmbGFncyAwIG1heG9wbGVuIDANCmNyeXB0bzogZHJpdmVy
 IDAgcmVnaXN0ZXJzIGFsZyAxOSBmbGFncyAwIG1heG9wbGVuIDANCmNyeXB0
 bzogZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyA3IGZsYWdzIDAgbWF4b3BsZW4g
 MA0KY3J5cHRvOiBkcml2ZXIgMCByZWdpc3RlcnMgYWxnIDIwIGZsYWdzIDAg
 bWF4b3BsZW4gMA0KY3J5cHRvOiBkcml2ZXIgMCByZWdpc3RlcnMgYWxnIDE1
 IGZsYWdzIDAgbWF4b3BsZW4gMA0KY3J5cHRvOiBkcml2ZXIgMCByZWdpc3Rl
 cnMgYWxnIDggZmxhZ3MgMCBtYXhvcGxlbiAwDQpjcnlwdG86IGRyaXZlciAw
 IHJlZ2lzdGVycyBhbGcgMjEgZmxhZ3MgMCBtYXhvcGxlbiAwDQpjcnlwdG86
 IGRyaXZlciAwIHJlZ2lzdGVycyBhbGcgMTYgZmxhZ3MgMCBtYXhvcGxlbiAw
 DQpjcnlwdG86IGRyaXZlciAwIHJlZ2lzdGVycyBhbGcgOSBmbGFncyAwIG1h
 eG9wbGVuIDANCmNyeXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyAxMCBm
 bGFncyAwIG1heG9wbGVuIDANCmNyeXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJz
 IGFsZyAxMyBmbGFncyAwIG1heG9wbGVuIDANCmNyeXB0bzogZHJpdmVyIDAg
 cmVnaXN0ZXJzIGFsZyAxNCBmbGFncyAwIG1heG9wbGVuIDANCmNyeXB0bzog
 ZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyAxMSBmbGFncyAwIG1heG9wbGVuIDAN
 CmNyeXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyAxOCBmbGFncyAwIG1h
 eG9wbGVuIDANCmNyeXB0bzogZHJpdmVyIDAgcmVnaXN0ZXJzIGFsZyAyMiBm
 bGFncyAwIG1heG9wbGVuIDANCmJvb3QgZGV2aWNlOiB3ZDANCnJvb3Qgb24g
 d2QwYSBkdW1wcyBvbiB3ZDBiDQp3c2tiZDEgYXQgdWtiZDAgbXV4IDENCndz
 a2JkMTogY29ubmVjdGluZyB0byB3c2Rpc3BsYXkwDQp1aGlkZXYxIGF0IHVo
 dWIwIHBvcnQgMSBjb25maWd1cmF0aW9uIDEgaW50ZXJmYWNlIDENCnVoaWRl
 djE6IEp1c3Rjb20gVGVjaG5vbG9neSBVU0IgS1ZNIFN3aXRjaCwgcmV2IDEu
 MTAvMS4wMCwgYWRkciAyLCBpY2xhc3MgMy8xDQp1bXMwIGF0IHVoaWRldjE6
 IDUgYnV0dG9ucyBhbmQgWiBkaXINCndzbW91c2UwIGF0IHVtczAgbXV4IDAN
 CmlwbWkwOiB2ZXJzaW9uIDIuMCBpbnRlcmZhY2UgS0NTIGlvYmFzZSAweGNh
 Mi8yIHNwYWNpbmcgMQ0K

 --0-1422454298-1278284855=:9810--

From: Jukka Ruohonen <jruohonen@iki.fi>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Sat, 10 Jul 2010 10:25:23 +0300

 On Sun, Jul 04, 2010 at 02:15:00PM +0000, paul@whooppee.com wrote:
 > 	Some BIOS have "spurious" routing tables, for PCI busses that 
 > 	are not actually enabled.  One such motherboard is the SuperMicro
 > 	H8QGi-F, which reports a host bridge at PC40 with two child busses
 > 	2 and 3, in addition to the real host bridge at PC0 (which has
 > 	child busses 2 and 3 as well as 1).  The routing tables for the
 > 	spurious busses 2 and 3 _override_ the real routing tables for
 > 	the valid bus2 and bus 3 entries.

 I'll note here the conclusion we reached with Paul and Gregoire after a long
 discussion. The right solution is likely to skip all devices downstream of
 an absent, non-working, or inactive (according to _STA in the ACPI jargon)
 PCI bridges.

 The following patch from Gregoire Sutre addresses the problem in a way that
 is likely to be closer to the correct solution. The earlier patch from Paul
 should probably go in as well, at least to print a warning if the code tries
 to overwrite something.

 Index: sys/arch/x86/x86/mpacpi.c
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/x86/x86/mpacpi.c,v
 retrieving revision 1.87
 diff -u -r1.87 mpacpi.c
 --- sys/arch/x86/x86/mpacpi.c	27 Apr 2010 05:34:14 -0000	1.87
 +++ sys/arch/x86/x86/mpacpi.c	5 Jul 2010 13:28:42 -0000
 @@ -622,7 +622,9 @@
  		if (ACPI_FAILURE(rv))
  			goto out;

 -		if (acpi_match_hid(devinfo, pciroot_hid)) {
 +		if (acpi_match_hid(devinfo, pciroot_hid) &&
 +		    ((devinfo->Valid & ACPI_VALID_STA) == 0 ||
 +		     (devinfo->CurrentStatus & ACPI_STA_OK) == ACPI_STA_OK)) {
  			rv = mpacpi_get_bbn(acpi, parent, &bus);
  			if (ACPI_FAILURE(rv))
  				bus = 0;

State-Changed-From-To: open->analyzed
State-Changed-By: jruoho@NetBSD.org
State-Changed-When: Sat, 10 Jul 2010 10:52:30 +0000
State-Changed-Why:

Analyzed. These patches need some testing on other machines.



From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@NetBSD.org
Cc: jruoho@netbsd.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 04:38:43 -0700 (PDT)

 Some time ago, Jukka made the following comment on this PR:

 > The following patch from Gregoire Sutre addresses the problem in a way
 > that is likely to be closer to the correct solution. The earlier patch
 > from Paul should probably go in as well, at least to print a warning
 > if the code tries to overwrite something.
 > ...
 > These patches need some testing on other machines.


 Just wondering if anyone has had any futher thoughts on what additional 
 action, if any, is needed on this PR?

 Gregoire's patch was committed some time ago, with ill effects, and I've 
 been running my original patch on all of my systems, including the 
 affected SuperMicro, several ASUS, and one XFX motherboard;  all are 
 working fine.


 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

From: Jukka Ruohonen <jruohonen@iki.fi>
To: Paul Goyette <paul@whooppee.com>
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 15:44:38 +0300

 On Tue, Apr 05, 2011 at 04:38:43AM -0700, Paul Goyette wrote:
 > Just wondering if anyone has had any futher thoughts on what additional 
 > action, if any, is needed on this PR?

 As you wrote, this does not seem like the right thing to do. It always
 choses, more or less arbitrarily, the first routing information. That is,
 the idea is right, but the fix should be done much earlier, when scanning
 for the buses.

 - Jukka.

From: Paul Goyette <paul@whooppee.com>
To: Jukka Ruohonen <jruohonen@iki.fi>
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 05:58:24 -0700 (PDT)

 On Tue, 5 Apr 2011, Jukka Ruohonen wrote:

 > On Tue, Apr 05, 2011 at 04:38:43AM -0700, Paul Goyette wrote:
 >> Just wondering if anyone has had any futher thoughts on what additional
 >> action, if any, is needed on this PR?
 >
 > As you wrote, this does not seem like the right thing to do. It always
 > choses, more or less arbitrarily, the first routing information. That is,
 > the idea is right, but the fix should be done much earlier, when scanning
 > for the buses.

 Gregoire's patch seems to have fixed the underlying cause of the 
 specific problem with the SuperMicro motherboard.  But I'm more 
 interested in in your additional comment in the PR, about displaying 
 some sort of warning that the duplication exists:

  	The earlier patch from Paul should probably go in as well, at
  	least to print a warning if the code tries to overwrite
  	something.


 In other words, something like this:

 +	if (mpb->mb_name != NULL)
 +		aprint_error("mpacpi: PCI bus %d int routing already done!\n",
 +		    mpr->mpr_bus);


 If we don't think that this is useful or appropriate, maybe we should 
 just close the PR?


 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

From: Jukka Ruohonen <jruohonen@iki.fi>
To: Paul Goyette <paul@whooppee.com>
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 16:04:46 +0300

 On Tue, Apr 05, 2011 at 05:58:24AM -0700, Paul Goyette wrote:
 > In other words, something like this:
 > 
 > +	if (mpb->mb_name != NULL)
 > +		aprint_error("mpacpi: PCI bus %d int routing already 
 > done!\n",
 > +		    mpr->mpr_bus);
 > 
 > 
 > If we don't think that this is useful or appropriate, maybe we should 
 > just close the PR?

 Sure, the warning is entirely appropriate. But please let the bug report
 remain open; this is quite critical bug. Generally, trying to fix these
 issues in the current code base is however a lost cause, IMO.

From: Paul Goyette <paul@whooppee.com>
To: Jukka Ruohonen <jruohonen@iki.fi>
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 06:13:13 -0700 (PDT)

 On Tue, 5 Apr 2011, Jukka Ruohonen wrote:

 > Sure, the warning is entirely appropriate. But please let the bug report
 > remain open; this is quite critical bug. Generally, trying to fix these
 > issues in the current code base is however a lost cause, IMO.

 Gregoire's earlier patch (which also has not been committed) seems to 
 avoid the underlying issue.

 I will commit the warning message, and let others decide if Gregoire's 
 patch should also be committed.

 Thanks for the discussion!


 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

From: "Paul Goyette" <pgoyette@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/43570 CVS commit: src/sys/arch/x86/x86
Date: Tue, 5 Apr 2011 13:17:05 +0000

 Module Name:	src
 Committed By:	pgoyette
 Date:		Tue Apr  5 13:17:05 UTC 2011

 Modified Files:
 	src/sys/arch/x86/x86: mpacpi.c

 Log Message:
 Display a warning message if an attempt is made to process interrupt
 routing for a bus that has previously been processed.

 From PR kern/43570 - doesn't fix the problem but at least lets you
 know it exists.


 To generate a diff of this commit:
 cvs rdiff -u -r1.90 -r1.91 src/sys/arch/x86/x86/mpacpi.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@NetBSD.org
Cc: jruoho@netbsd.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 06:22:26 -0700 (PDT)

 On Tue, 5 Apr 2011, Paul Goyette wrote:

 > Gregoire's patch was committed some time ago, with ill effects, and
 > I've been running my original patch on all of my systems, including
 > the affected SuperMicro, several ASUS, and one XFX motherboard;  all
 > are working fine.

 Please note that in the first line above, it should read

  	... with NO ill effects, ...

 :)




 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

From: Jukka Ruohonen <jruohonen@iki.fi>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 15:50:30 +0300

 On Tue, Apr 05, 2011 at 11:40:05AM +0000, Paul Goyette wrote:
 >  Gregoire's patch was committed some time ago, with ill effects

 NB: as far as I know, this was made to the dev/acpi code that is not
 (yet) used by "mpacpi".

From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Tue, 5 Apr 2011 06:57:40 -0700 (PDT)

 On Tue, 5 Apr 2011, Jukka Ruohonen wrote:
 > >  Gregoire's patch was committed some time ago, with ill effects
 >
 > NB: as far as I know, this was made to the dev/acpi code that is not
 > (yet) used by "mpacpi".

 It seems that I was initially mistaken - Gregoire's patch to mpacpi.c 
 (as logged in the PR's audit trail) was not committed.  It does, 
 however, work quite nicely on the board in question.  :)


 -------------------------------------------------------------------------
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
 | Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
 | Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
 | Kernel Developer |                          | pgoyette at netbsd.org  |
 -------------------------------------------------------------------------

From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Sun, 31 Jul 2016 23:14:28 +0000

 back in 2011:

 On Tue, Apr 05, 2011 at 02:00:07PM +0000, Paul Goyette wrote:
  >  It seems that I was initially mistaken - Gregoire's patch to mpacpi.c 
  >  (as logged in the PR's audit trail) was not committed.  It does, 
  >  however, work quite nicely on the board in question.  :)

 If that's still uncommitted, want to commit it? :-)

 -- 
 David A. Holland
 dholland@netbsd.org

From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
Date: Mon, 1 Aug 2016 08:01:31 +0800 (PHT)

 On Sun, 31 Jul 2016, David Holland wrote:

 > The following reply was made to PR kern/43570; it has been noted by GNATS.
 >
 > From: David Holland <dholland-bugs@netbsd.org>
 > To: gnats-bugs@NetBSD.org
 > Cc:
 > Subject: Re: kern/43570: Avoid multiple interrupt routing lists for a bus
 > Date: Sun, 31 Jul 2016 23:14:28 +0000
 >
 > back in 2011:
 >
 > On Tue, Apr 05, 2011 at 02:00:07PM +0000, Paul Goyette wrote:
 >  >  It seems that I was initially mistaken - Gregoire's patch to mpacpi.c
 >  >  (as logged in the PR's audit trail) was not committed.  It does,
 >  >  however, work quite nicely on the board in question.  :)
 >
 > If that's still uncommitted, want to commit it? :-)

 My "warning message" was already committed.

 The other patch (from Gregoire Sutre) was not committed, and is now no 
 longer relevant.  (Routine acpi_match_hid() no longer exists!)

 I guess we should just close this PR?


 +------------------+--------------------------+------------------------+
 | Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
 | (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
 | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
 +------------------+--------------------------+------------------------+

State-Changed-From-To: analyzed->closed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Mon, 01 Aug 2016 00:10:16 +0000
State-Changed-Why:
The code in question was re-done in rev 1.95 (nearly 4 years ago).


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.