From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 31 May 2023 10:06:58 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q4GrD-003zXj-Lj for lore@lore.pengutronix.de; Wed, 31 May 2023 10:06:58 +0200 Received: from bombadil.infradead.org ([2607:7c80:54:3::133]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q4Gr9-0005VQ-DM for lore@pengutronix.de; Wed, 31 May 2023 10:06:57 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Message-ID:Date :Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AMMJxkL/JpbT65aRnTw7eAcTZTCiRGtOV9afuONyuJM=; b=fHJMv+tbUZeXzgDZmBd1OQIQWp aaZdhCLwY0Ce5DeDf5pn3QKGed+NEJ0/SuKpEFyraeWK2S3TGkUtafzL6D/k+/lRIZ48Wd8sbvUwp dSb55ajVR/pMhcsRyB1hI4BqzLPWXDfsPDhDE3Vb822vfZHjF+Rz+edpIj8AMjnNd7w4aBdTYOdhf AYE+MePEJJJSeJg8GEa5nkyO/4KMA0jNF3hZzCBgHhlORTBiPpx3ioA83+gaZ0b2YIuYqzcG7KIZF t9GxfudKuGY0zTs/U18Ti0uIBjcSNvYNkm6Ud55PtWkqPgBPoFH5tPjPh73cCQO/U2eeGXnA7I2xI EwU9ssew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q4Gpd-00GYuz-09; Wed, 31 May 2023 08:05:21 +0000 Received: from mail-db5eur01on0626.outbound.protection.outlook.com ([2a01:111:f400:fe02::626] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q4GpX-00GYrv-0p for barebox@lists.infradead.org; Wed, 31 May 2023 08:05:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RT3G7DUmoZtMFq22FqZpFf/1JY19ySbniR9jXhe4IsNwvPw9dqGeXEmX0wasL5DIGIKm05q+oHf/iMQKCDTGNnk/brCm562NOQdSz6zEJBVH6XG3H15+YjzIlHAKl8baMYYV2PUJYxOEFXD1x+Om1h8drAkpWIJRFFi5gjQWYveGAmDOO6eq4ngYS1kwofjK0lS9BtYxL+l/egBKo6KElfdE6DKwFt0wNKrST1rZuP9J7aksxOdx/2GFLW4KAEzLsoQg5uTLw2nk2tpR9rjLrlnyNNCsgrXbInjxSWrTX3Xnrlvh2/KDXXTMs8F2xXod1lelnRcpwwzp1MCQ2qyLpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AMMJxkL/JpbT65aRnTw7eAcTZTCiRGtOV9afuONyuJM=; b=B96xyfzvza5fwMBHmAUB7ZwgwbwG7Axkt4I+tqW1Jy6MKEl1Pn0XDDkWofmF9Y6fpKWC34CH6H1MRrsUiZeMi54m8ohvRBn5sUuKrqu8pN4CPTttaJaKg16jolY4JJGVhGLl4PWI906+6jCESzuyRGVG2PPejQNMW1915z2zWFmzYSo7h/vTQpzhlNgZRWC9EZ6PqR8hJNQW3EoZpEEQGsR9PCQam+fH/So5nMAVoONEjzvfFrjgiMHPWZ0jZ2Kno4WSW2UEKCNgmbUi/YvqHOaYmzTfAS0am2S6lPf1kZc3+J9W9JlrSvZdmaB9GRmtWlceVYrsZAc0ztVPAjuRrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=pliops.com; dmarc=pass action=none header.from=pliops.com; dkim=pass header.d=pliops.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pliops.onmicrosoft.com; s=selector2-pliops-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AMMJxkL/JpbT65aRnTw7eAcTZTCiRGtOV9afuONyuJM=; b=KYHEPki7kS80i3612bXElGSdUwXp2WFZGrvpeYVmOLTBsE/oLvw42gR8t+vPj+MwpSggC96NPmIabWuRZ6Wo5d8swsW5wrNYA4pQy3VPw4/TQqfNZVdku7ayG4FFF3YclgSX+tt83oCS6o23o5q7mQb0Qxy5qiroIv6SEe1XhbU= Received: from AM0P195MB0548.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:16e::8) by DB9P195MB2086.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:3c4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.23; Wed, 31 May 2023 08:05:02 +0000 Received: from AM0P195MB0548.EURP195.PROD.OUTLOOK.COM ([fe80::bc40:ff5c:97a7:177c]) by AM0P195MB0548.EURP195.PROD.OUTLOOK.COM ([fe80::bc40:ff5c:97a7:177c%7]) with mapi id 15.20.6455.020; Wed, 31 May 2023 08:05:01 +0000 From: Lior Weintraub To: Ahmad Fatoum , Ahmad Fatoum , "barebox@lists.infradead.org" Thread-Topic: [PATCH v2] Porting barebox to a new SoC Thread-Index: AdmRYNrtRrBKX5DDRQGPzQVQ7b/lvQAGThgAAAAP8YAACFyNQAAg73hQABAveYAAJavNEAAj7YeAAALjkCA= Date: Wed, 31 May 2023 08:05:01 +0000 Message-ID: References: <20230528153735.3315271-1-ahmad@a3f.at> <49afe89e-6e87-d003-119a-223344b6c4c9@pengutronix.de> <23017859-57ee-8df3-cd8d-c7e4f2094cfe@pengutronix.de> In-Reply-To: <23017859-57ee-8df3-cd8d-c7e4f2094cfe@pengutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=pliops.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM0P195MB0548:EE_|DB9P195MB2086:EE_ x-ms-office365-filtering-correlation-id: 4dca267a-e872-41d1-b3b3-08db61adbc3c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KhcOcImdHawFiDyvnRgp+W0r+ldGdRmlMqsETL8KLwM+NhNkLbpqy0kYG8LgF/UdhxD1Nlm9hnsWSgW/O0bN8hvAaW2XFzSEm5L7YY0d9gi9y40FcLMzzKcs0wSbComKxc5xydr4RDukQ8Rpj1Hcq8S4+nFIbK18LUh5vf/F6k+DDr0SdbA6RnCe69XUybdriYHU2HwLCz0Ddcq20Wb9GbaLQdLnrEsaHFtT639aHkwDlaNx0oDu69ms/QkR1X0yVSOLm5AcfXjuHMa9yGuVdZq5I0QhMEFs0avwHJo6QXNQ+AuQHXBMTDomDW5FxRH0e+xd9xgtK9ucu8Ugo1D5PhaAhoRpDZXIZWXXKSwQImKbXh2BQZfir6wqym8laFB/WpNKc22hM0+XIyKsS2L43YylH//RphXSYEdzg8qW3ODSdgIMI9UjHT+VJ9urkE5fs/fvPL4RbDbsexBXclxxtRqDKAe2s1sz1Omfpsq7E0enJhJqLvASEwLI90bKW9XXCwyclW45t6LPDhIBca910Kxz4pTZ1B8H31jFuGSPn0aEdmrx5MRVT65iVCseCspfOLYm+K00v1osH/cmIw/FTRHCy2TUxhJGFf83gV3amZE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0P195MB0548.EURP195.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230028)(39840400004)(136003)(376002)(366004)(396003)(346002)(451199021)(186003)(966005)(38100700002)(41300700001)(83380400001)(9686003)(26005)(53546011)(6506007)(7696005)(478600001)(71200400001)(45080400002)(110136005)(122000001)(64756008)(66446008)(66556008)(66476007)(66946007)(76116006)(55016003)(316002)(52536014)(8676002)(5660300002)(8936002)(2906002)(33656002)(30864003)(38070700005)(86362001)(559001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cDRCUXhCMkk0TXpCNjRFMm9Nem1kZnNXSHRBR0kyem85bUdtOVhoRlVxbnRH?= =?utf-8?B?YmxLdUpEUE53U0pzbkFKZTdKeVpnMzNCTWpaVHpBU2s4dTRpUGZDMVI5cS9s?= =?utf-8?B?S0lwN1B4YVdtUU9wT1VTa3pVcUhxWDV5NTFyVVR3RHlXSWR6cjZiSEpRNGZl?= =?utf-8?B?aHVOQlRCSmdHWWNhMXE0aUZENTc3MFBLVjNpbmk4TEpvRk1yVGIreEl5VGpl?= =?utf-8?B?bitHdjNSVjBYVVd3Y1FTSUp0OXYzVkZUQXd6enRLS2ZoeEc1TmIyVXdjWisr?= =?utf-8?B?YTg1SEZSZUlUWDltUndLV1F4S01zSks0eEtOanErQnpBZ2l0dGlBV3IzMnBG?= =?utf-8?B?OWlFa2tBQmpOMnZnWjdqRzQyTE0yckw5Z0JYOVVGUE02VkpqaE9QdlJKZEox?= =?utf-8?B?cEhZZ283NkJ0Sk5ZYXNJY2Y3OGwvQ3dGcjV6T3dTbTZuUHRrbU56MXVKYmFv?= =?utf-8?B?bkZZV25rRVFWUlhsdC9aR0hQMlgySjhqeWF5VTVZeEowZmZVemdBMHovV0hZ?= =?utf-8?B?cS8rUy9BaHZSK1NLQzNMMmhHZHVIeFh4TmFIY3FGeGtBR1lobkxlU293NTds?= =?utf-8?B?T2x6SlMyVW03NFlWZjlkU0p1eTFFdVdHdTdBajRDTCt5Tmx5RllzSUhjdmtj?= =?utf-8?B?UWV2aDNUa3o3Mmt0NkZPbDJlSWROSG5TVWs4cVkvMU82clBMVStQSE1QeXg1?= =?utf-8?B?dk5HeHMrK2RnZ0Y3cVZNOWNqNnBXSldTM2U5ckdiWFN2aDNEVHM5N1VFd3JX?= =?utf-8?B?L0F5MnYzN2U1b3Y0KzZtWkh0K2pkRU1tODFwZWprVnNYekhjTzltV3EzbGsz?= =?utf-8?B?UjI0LzFraDEzVGI2d0xrRjEyc0JHaTNLK29GTm4zMFBzaEVVamlGVW5JeGlH?= =?utf-8?B?L0VvNitQVk4xbDhlb29iMVpnMWhvVEJsMGxmcEVrRmtKZDRoSHRQNVROMndo?= =?utf-8?B?OHVaTktYNGMwOXRmZVZpZll4VkZJc2JaT0FZTlgzTjJveWoyck10U1pGeVhi?= =?utf-8?B?NFhEQWd6QlY4ZGFscGpITXFyUEZucWYxd1RlTU1MaHdSeEhqRXkweUgveVEx?= =?utf-8?B?TXlzbENNVGJEY3pWbVFydHVHdXQ2VEFONXVjRUpGN25xdFhpNVEwdTVSMUJs?= =?utf-8?B?WTZQMnBSQyt6QXZ4OHVWd0RlcVNXTXZzdjV2ancxYm5wUXJjdkxqOGQyNHJy?= =?utf-8?B?RDdEVFlVM1R4M1hpTjdIdWs0dkYzNXhFa21SQSs3R3hnNjFoNTdtMm9yZ3Zz?= =?utf-8?B?b1U4ZU5MMk9vOFBkTi9XZVYxMUNuRHE5a2tDbnFxaFFiNFNIN0Q4OXd5RGFM?= =?utf-8?B?WTVtcUZJcTAyUThUM2YrVUp1ZEdTdExmbkV3SEpjQ2RXOTM4SHR6cjNRNjVa?= =?utf-8?B?ZzhOcjYrejludmtvbUZZazhSMXU5NzViY3RLV3MyMCtkVUMzSzlrajZwQWE4?= =?utf-8?B?WW00OS85aUxQQWxnc0dybmQyQkxHOEVpWkFhSEJZMnBzd2pjbnFLVXBvZXFX?= =?utf-8?B?RExrSWtxYnV1OUZLbjRTZ2R0eDBlSCtUaUdVeTZpMU9aMEkzNVRQZTlSeEd0?= =?utf-8?B?N3ZsNFlCWkxCa0dQRHBjQ042T1RaaTJHQVdTemJOYkp0WDRGd0dwZ1RJNmYz?= =?utf-8?B?bXNZVjJmL1V0RmFvSkxENXRqQUo0MllwSUNzUE5QSkUvTzUzT3VxTHZnQ0N5?= =?utf-8?B?a05kVzN0YkJTUVd1ZmxFU0pMdnRIYjIrZURZamJ2bHdyQjBvL21lVkorZ0Fy?= =?utf-8?B?TnEvRWJJbmJXK0VqUzhTMVlkMnlnYXRuampYcjhDbVVIbnE2T0ppTFU3UEJk?= =?utf-8?B?SGRoTytNaDV3aEU4aHRpN0RjVkhwWG5NM3pQUjdVcFZjRS82MXdHZmhFOEo4?= =?utf-8?B?L2VYWm94RHNtSE9Telh6bVlRdVlOVnl4RS9RMGNOa2N4MERzZVQvRWVLTnBl?= =?utf-8?B?ZzlHbFhuWEpJTHJWNGdyZmRaSGNRMW5pek9qWDFZWlhLRFdpdVd1SjBRWXFQ?= =?utf-8?B?VnVCQmk1eHVYR3NrcU82cnRHYW9WaEFKcml2allNdTh1dGZKMXdVMXZ0Smhh?= =?utf-8?B?c0JMeGRERi9nREVOekN1Yk9GTkNaeXk4eDhVT2hKam5rTUdMVUxXbjVHQzhk?= =?utf-8?Q?mxLQ=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: pliops.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0P195MB0548.EURP195.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4dca267a-e872-41d1-b3b3-08db61adbc3c X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2023 08:05:01.7825 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 40fe8f47-55ac-403a-a5ab-1be3dd209cf8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ngSOy/E4StA2ZEdpgs04mys9cKEGmyoMDPazBvDU90o0wfTYHaphgqK0NE9BB6wjHehItqXrKDofI8MHu+htZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P195MB2086 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230531_010515_608732_D6CE58CA X-CRM114-Status: UNSURE ( 6.23 ) X-CRM114-Notice: Please train this message. X-BeenThere: barebox@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "barebox" X-SA-Exim-Connect-IP: 2607:7c80:54:3::133 X-SA-Exim-Mail-From: barebox-bounces+lore=pengutronix.de@lists.infradead.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.ext.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.8 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,LONGWORDS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Subject: RE: [PATCH v2] Porting barebox to a new SoC X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on metis.ext.pengutronix.de) SGkgQWhtYWQsDQoNClRoYW5rcyBhZ2FpbiBmb3IgeW91ciBwcm9tcHQgcmVwbHkgYW5kIGFjY3Vy YXRlIHRpcHMhDQpUb29rIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoNCjEuIEluY3JlYXNpbmcgdGhl IERSQU0gc2l6ZSB0byAxMjhNQiAobGV0IGJhcmVib3ggc3RhcnQgZnJvbSAwKS4NCjIuIFNldCBQ Qkwgc3RhY2sgdG8gb2Zmc2V0IDJNQiBmcm9tIERSQU0NCjMuIEZpeCB0aGUgZGV2aWNlIHRyZWUg Im1lbW9yeSIgZW50cnkgdG8gaGF2ZSAxMjhNQi4NCjQuIExvYWQgYmFyZWJveC1zcGlkZXItbWsx LWV2ay5pbWcgdG8gU1JBTSBhbmQgcnVuIGZyb20gdGhlcmUuDQoNCk5vdyBJIGNhbiBzZWUgdGhl IGZvbGxvd2luZyBsb2dzOg0KdW5jb21wcmVzcy5jOiBtZW1vcnkgYXQgMHgwMDAwMDAwMCwgc2l6 ZSAweDA4MDAwMDAwDQp1bmNvbXByZXNzLmM6IHVuY29tcHJlc3NpbmcgYmFyZWJveCBiaW5hcnkg YXQgMHgwMDAwMDBjMDAwMDAyMWMwIChzaXplIDB4MDAwMWUzYTQpIHRvIDB4MDdlMDAwMDAgKHVu Y29tcHJlc3NlZCBzaXplOiAweDAwMDM5MGQwKQ0KdW5jb21wcmVzcy5jOiBqdW1waW5nIHRvIHVu Y29tcHJlc3NlZCBpbWFnZSBhdCAweDAwMDAwMDAwMDdlMDAwMDANCnN0YXJ0LmM6IG1lbW9yeSBh dCAweDAwMDAwMDAwLCBzaXplIDB4MDgwMDAwMDANCnN0YXJ0LmM6IGZvdW5kIERUQiBpbiBib2Fy ZGRhdGEsIGNvcHlpbmcgdG8gMHgwN2RmZmNjMA0Kc3RhcnQuYzogaW5pdGlhbGl6aW5nIG1hbGxv YyBwb29sIGF0IDB4MDc5ZmZjYzAgKHNpemUgMHgwMDQwMDAwMCkNCnN0YXJ0LmM6IHN0YXJ0aW5n IGJhcmVib3guLi4NCmluaXRjYWxsLT4gY29tbWFuZF9zbGljZV9pbml0KzB4MC8weDNjDQppbml0 Y2FsbC0+IGdsb2JhbHZhcl9pbml0KzB4MC8weDgwDQpyZWdpc3Rlcl9kZXZpY2U6IGdsb2JhbA0K cmVnaXN0ZXJfZGV2aWNlOiBudg0KaW5pdGNhbGwtPiBwbGF0Zm9ybV9pbml0KzB4MC8weDFjDQpy ZWdpc3Rlcl9kZXZpY2U6IHBsYXRmb3JtDQppbml0Y2FsbC0+IGFtYmFfYnVzX2luaXQrMHgwLzB4 MWMNCnJlZ2lzdGVyX2RldmljZTogYW1iYQ0KaW5pdGNhbGwtPiBzcGlfYnVzX2luaXQrMHgwLzB4 MWMNCnJlZ2lzdGVyX2RldmljZTogc3BpDQppbml0Y2FsbC0+IGdwaW9fZGVzY19hbGxvYysweDAv MHgyNA0KaW5pdGNhbGwtPiBmc19idXNfaW5pdCsweDAvMHgxYw0KcmVnaXN0ZXJfZGV2aWNlOiBm cw0KaW5pdGNhbGwtPiBhYXJjaDY0X2luaXRfdmVjdG9ycysweDAvMHg1MA0KaW5pdGNhbGwtPiBn cGlvX2dhdGVfY2xvY2tfZHJpdmVyX3JlZ2lzdGVyKzB4MC8weDFjDQpyZWdpc3Rlcl9kcml2ZXI6 IGdwaW8tZ2F0ZS1jbG9jaw0KaW5pdGNhbGwtPiBvZl9hcm1faW5pdCsweDAvMHg1Yw0Kc3RhcnQu YzogYmFyZWJveF9hcm1fYm9vdF9kdGI6IHVzaW5nIGJhcmVib3hfYm9hcmRkYXRhDQp1c2luZyBi b2FyZGRhdGEgcHJvdmlkZWQgRFRCDQphZGRpbmcgRFQgYWxpYXM6c2VyaWFsMDogc3RlbT1zZXJp YWwgaWQ9MCBub2RlPS9zb2Mvc2VyaWFsQGQwMDAzMDcwMDANCnJlZ2lzdGVyX2RldmljZTogbWFj aGluZQ0Kb2ZfcGxhdGZvcm1fYnVzX2NyZWF0ZSgpIC0gc2tpcHBpbmcgL2Nob3Nlbiwgbm8gY29t cGF0aWJsZSBwcm9wDQpvZl9wbGF0Zm9ybV9idXNfY3JlYXRlKCkgLSBza2lwcGluZyAvYWxpYXNl cywgbm8gY29tcGF0aWJsZSBwcm9wDQpvZl9wbGF0Zm9ybV9idXNfY3JlYXRlKCkgLSBza2lwcGlu ZyAvY3B1cywgbm8gY29tcGF0aWJsZSBwcm9wDQpvZl9wbGF0Zm9ybV9idXNfY3JlYXRlKCkgLSBz a2lwcGluZyAvbWVtb3J5QDAsIG5vIGNvbXBhdGlibGUgcHJvcA0Kb2ZfcGxhdGZvcm1fYnVzX2Ny ZWF0ZSgpIC0gc2tpcHBpbmcgL3NvYywgbm8gY29tcGF0aWJsZSBwcm9wDQppbml0Y2FsbC0+IHJl Z2lzdGVyX2F1dG9ib290X3ZhcnMrMHgwLzB4NzANCmluaXRjYWxsLT4gYXJtX2FyY2hfdGltZXJf ZHJpdmVyX3JlZ2lzdGVyKzB4MC8weDFjDQpyZWdpc3Rlcl9kcml2ZXI6IGFybS1hcmNoaXRlY3Rl ZC10aW1lcg0KaW5pdGNhbGwtPiBvZl90aW1lcl9pbml0KzB4MC8weDIwDQppbml0Y2FsbC0+IGlu aXRfZnMrMHgwLzB4M2MNCmluaXRjYWxsLT4gcGwwMTFfZHJpdmVyX3JlZ2lzdGVyKzB4MC8weDFj DQpyZWdpc3Rlcl9kcml2ZXI6IHVhcnQtcGwwMTENCmluaXRjYWxsLT4gb2Zfc3Rkb3V0cGF0aF9p bml0KzB4MC8weDI4DQppbml0Y2FsbC0+IG9mX3Byb2JlX21lbW9yeSsweDAvMHg2MA0KX19yZXF1 ZXN0X3JlZ2lvbiBvazogMHgwMDAwMDAwMDoweDA3ZmZmZmZmIGZsYWdzPTB4MA0KaW5pdGNhbGwt PiBfX2JhcmVfaW5pdF9lbmQrMHgwLzB4NmMNCnJlZ2lzdGVyX2RldmljZTogbWVtMA0KaW5pdGNh bGwtPiBvZl9yZXNlcnZlZF9tZW1fd2FsaysweDAvMHgxYWMNCmluaXRjYWxsLT4gbWVtX21hbGxv Y19yZXNvdXJjZSsweDAvMHhhOA0KX19yZXF1ZXN0X3JlZ2lvbiBvazogMHgwNzlmZmNjMDoweDA3 ZGZmY2JmIGZsYWdzPTB4MjAwDQpfX3JlcXVlc3RfcmVnaW9uIG9rOiAweDA3ZTAwMDAwOjB4MDdl MmFlZmYgZmxhZ3M9MHgyMDANCl9fcmVxdWVzdF9yZWdpb24gb2s6IDB4MDdlMmFmMDA6MHgwN2Uz OTBjZiBmbGFncz0weDIwMA0KX19yZXF1ZXN0X3JlZ2lvbiBvazogMHgwN2UzOTBkMDoweDA3ZTNh ZGFmIGZsYWdzPTB4MjAwDQppbml0Y2FsbC0+IGJvb3Rzb3VyY2VfaW5pdCsweDAvMHg0MA0KaW5p dGNhbGwtPiByYW1mc19pbml0KzB4MC8weDFjDQpyZWdpc3Rlcl9kcml2ZXI6IHJhbWZzDQppbml0 Y2FsbC0+IGRldmZzX2luaXQrMHgwLzB4MWMNCnJlZ2lzdGVyX2RyaXZlcjogZGV2ZnMNCmluaXRj YWxsLT4gYXJtX3JlcXVlc3Rfc3RhY2srMHgwLzB4Mzk4DQpfX3JlcXVlc3RfcmVnaW9uIG9rOiAw eDA3ZmYwMDAwOjB4MDdmZjdmZmYgZmxhZ3M9MHgyMDANCmluaXRjYWxsLT4gbW91bnRfcm9vdCsw eDAvMHg3Yw0KbW91bnQ6IG5vbmUgb24gLyB0eXBlIHJhbWZzLCBvcHRpb25zPQ0KcmVnaXN0ZXJf ZGV2aWNlOiByYW1mczANCiAgICBwcm9iZS0+IHJhbWZzMA0KbW91bnQ6IG5vbmUgb24gL2RldiB0 eXBlIGRldmZzLCBvcHRpb25zPQ0KcmVnaXN0ZXJfZGV2aWNlOiBkZXZmczANCiAgICBwcm9iZS0+ IGRldmZzMA0KaW5pdGNhbGwtPiBiaW5mbXRfc2hfaW5pdCsweDAvMHgxYw0KaW5pdGNhbGwtPiBi aW5mbXRfdWltYWdlX2luaXQrMHgwLzB4MWMNCmluaXRjYWxsLT4gY29uc29sZV9jb21tb25faW5p dCsweDAvMHg0OA0KaW5pdGNhbGwtPiBvZl9rZXJuZWxfaW5pdCsweDAvMHgyOA0KaW5pdGNhbGwt PiBjb25zb2xlX2N0cmxjX2luaXQrMHgwLzB4MzANCmluaXRjYWxsLT4gbWVtX2luaXQrMHgwLzB4 OTANCnJlZ2lzdGVyX2RldmljZTogbWVtMQ0KcmVnaXN0ZXJfZHJpdmVyOiBtZW0NCiAgICBwcm9i ZS0+IG1lbTANCiAgICBwcm9iZS0+IG1lbTENCmluaXRjYWxsLT4gb2ZfcGFydGl0aW9uX2luaXQr MHgwLzB4NDgNCmluaXRjYWxsLT4gcHJuZ19pbml0KzB4MC8weDQwDQppbml0Y2FsbC0+IG51bGxf aW5pdCsweDAvMHg0MA0KaW5pdGNhbGwtPiBmdWxsX2luaXQrMHgwLzB4NDANCmluaXRjYWxsLT4g emVyb19pbml0KzB4MC8weDQwDQppbml0Y2FsbC0+IHNwaWRlcl9ib2FyZF9kcml2ZXJfcmVnaXN0 ZXIrMHgwLzB4MWMNCnJlZ2lzdGVyX2RyaXZlcjogYm9hcmQtc3BpZGVyDQogICAgcHJvYmUtPiBt YWNoaW5lDQppbml0Y2FsbC0+IGJhcmVib3hfbWVtb3J5X2FyZWFzX2luaXQrMHgwLzB4NDANCl9f cmVxdWVzdF9yZWdpb24gb2s6IDB4MDdkZmZjYzA6MHgwN2RmZmZjZSBmbGFncz0weDIwMA0KaW5p dGNhbGwtPiBiYXJlYm94X29mX3BvcHVsYXRlKzB4MC8weDI4DQppbml0Y2FsbC0+IG9mX3JlZ2lz dGVyX21lbW9yeV9maXh1cCsweDAvMHgyMA0KaW5pdGNhbGwtPiBkdW1teV9jc3JjX3dhcm4rMHgw LzB4NDQNCldBUk5JTkc6IFdhcm5pbmc6IFVzaW5nIGR1bW15IGNsb2Nrc291cmNlDQppbml0Y2Fs bC0+IGJvb3RtX2luaXQrMHgwLzB4ZjQNCmluaXRjYWxsLT4gaW5pdF9jb21tYW5kX2xpc3QrMHgw LzB4NDANCnJlZ2lzdGVyIGNvbW1hbmQgYm9vdG0NCnJlZ2lzdGVyIGNvbW1hbmQgY2F0DQpyZWdp c3RlciBjb21tYW5kIGNkDQpyZWdpc3RlciBjb21tYW5kIGNsZWFyDQpyZWdpc3RlciBjb21tYW5k IGNwDQpyZWdpc3RlciBjb21tYW5kIGNwdWluZm8NCnJlZ2lzdGVyIGNvbW1hbmQgZGV2aW5mbw0K cmVnaXN0ZXIgY29tbWFuZCBkcnZpbmZvDQpyZWdpc3RlciBjb21tYW5kIGVjaG8NCnJlZ2lzdGVy IGNvbW1hbmQgZXhpdA0KcmVnaXN0ZXIgY29tbWFuZCBmYWxzZQ0KcmVnaXN0ZXIgY29tbWFuZCBo ZWxwDQpyZWdpc3RlciBjb21tYW5kID8NCnJlZ2lzdGVyIGNvbW1hbmQgbGwNCnJlZ2lzdGVyIGNv bW1hbmQgbHMNCnJlZ2lzdGVyIGNvbW1hbmQgbWQNCnJlZ2lzdGVyIGNvbW1hbmQgbWVtY21wDQpy ZWdpc3RlciBjb21tYW5kIG1lbWNweQ0KcmVnaXN0ZXIgY29tbWFuZCBtZW1zZXQNCnJlZ2lzdGVy IGNvbW1hbmQgbWtkaXINCnJlZ2lzdGVyIGNvbW1hbmQgbW91bnQNCnJlZ2lzdGVyIGNvbW1hbmQg bXcNCnJlZ2lzdGVyIGNvbW1hbmQgcHdkDQpyZWdpc3RlciBjb21tYW5kIHJtDQpyZWdpc3RlciBj b21tYW5kIHJtZGlyDQpyZWdpc3RlciBjb21tYW5kIHNldGVudg0KcmVnaXN0ZXIgY29tbWFuZCBz aA0KcmVnaXN0ZXIgY29tbWFuZCBzb3VyY2UNCnJlZ2lzdGVyIGNvbW1hbmQgLg0KcmVnaXN0ZXIg Y29tbWFuZCB0ZXN0DQpyZWdpc3RlciBjb21tYW5kIFsNCnJlZ2lzdGVyIGNvbW1hbmQgdHJ1ZQ0K cmVnaXN0ZXIgY29tbWFuZCA6DQpyZWdpc3RlciBjb21tYW5kIHVtb3VudA0KcmVnaXN0ZXIgY29t bWFuZCB2ZXJzaW9uDQppbml0Y2FsbC0+IGRpc3BsYXlfbWVtaW5mbysweDAvMHhhOA0KYmFyZWJv eCBjb2RlOiAweDdlMDAwMDAgLT4gMHg3ZTJhZWZmDQpic3Mgc2VnbWVudDogIDB4N2UzOTBkMCAt PiAweDdlM2FkYWYNCm1hbGxvYyBzcGFjZTogMHgwNzlmZmNjMCAtPiAweDA3ZGZmY2JmIChzaXpl IDQgTWlCKQ0KaW5pdGNhbGwtPiBvZl9yZWdpc3Rlcl9ib290YXJnc19maXh1cCsweDAvMHgzYw0K aW5pdGNhbGwtPiBkZXZpY2VfcHJvYmVfZGVmZXJyZWQrMHgwLzB4MTRjDQppbml0Y2FsbC0+IG9m X2luaXRfaG9zdG5hbWUrMHgwLzB4MjgNCmluaXRjYWxsLT4gYWFyY2g2NF9yZWdpc3Rlcl9pbWFn ZV9oYW5kbGVyKzB4MC8weDJjDQppbml0Y2FsbC0+IGxvYWRfZW52aXJvbm1lbnQrMHgwLzB4NGMN CmxvYWRpbmcgZGVmYXVsdGVudg0KZW52aXJvbm1lbnQgbG9hZCAvZGV2L2VudjA6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkNCk1heWJlIHlvdSBoYXZlIHRvIGNyZWF0ZSB0aGUgcGFydGl0aW9u Lg0KaW5pdGNhbGxzIGRvbmUNCg0KSGl0IGFueSB0byBzdG9wIGF1dG9ib290OiAgICAwDQpib290 OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpiYXJlYm94Oi8gDQoNCg0KRmV3IHF1ZXN0aW9u czoNCjEuIFRoZSBzZXJpYWwgaW5wdXQgZG9lc24ndCB3b3JrLiBpLmUuIEkgY2Fubm90IHR5cGUg YW55dGhpbmcgaGVuY2UgY2Fubm90IGludGVyYWN0IHdpdGggYmFyZWJveCB0ZXJtaW5hbC4NCiAg ICAgRG9lcyBpdCByZXF1aXJlIEdJQyBhbmQgc2V0dGluZyBpbnRlcnJ1cHRzIGZvciBpdCB0byB3 b3JrPw0KMi4gV2hhdCBkb2VzICJvZl9wbGF0Zm9ybV9idXNfY3JlYXRlKCkgLSBza2lwcGluZyIg bWVhbnM/IERvIEkgbmVlZCB0byBmaXggdGhhdD8NCjMuIExvb2tzIGxpa2UgSSBhbSBzdGlsbCBt aXNzaW5nIHNvbWUgc3R1ZmYgKHJvb3Rmcz8gRW52aXJvbm1lbnQ/IE1vdW50aW5nPyBQYXJ0aXRp b25zPykNCg0KVGhhbmtzLCANCkhhdmUgYSBncmVhdCBkYXksDQpMaW9yLg0KDQoNCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWhtYWQgRmF0b3VtIDxhLmZhdG91bUBwZW5n dXRyb25peC5kZT4NCj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMzEsIDIwMjMgOToxMSBBTQ0KPiBU bzogTGlvciBXZWludHJhdWIgPGxpb3J3QHBsaW9wcy5jb20+OyBBaG1hZCBGYXRvdW0gPGFobWFk QGEzZi5hdD47DQo+IGJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBTdWJqZWN0OiBSZTog W1BBVENIIHYyXSBQb3J0aW5nIGJhcmVib3ggdG8gYSBuZXcgU29DDQo+IA0KPiBDQVVUSU9OOiBF eHRlcm5hbCBTZW5kZXINCj4gDQo+IEhpIExpb3IsDQo+IA0KPiBPbiAzMC4wNS4yMyAyMjoxMCwg TGlvciBXZWludHJhdWIgd3JvdGU6DQo+ID4gSGVsbG8gQWhtYWQsDQo+ID4NCj4gPiBUaGFua3Mg YWdhaW4gZm9yIHlvdXIga2luZCBzdXBwb3J0IQ0KPiA+IFlvdXIgY29tbWVudHMgaGVscGVkIG1l IHByb2dyZXNzIGFuZCB0aGUgY3VycmVudCBzaXR1YXRpb24gaXMgYXMgZm9sbG93czoNCj4gPiBP dXIgUUVNVSBTcGlkZXIgbWFjaGluZSBpcyBydW5uaW5nIGEgQkwxLmVsZiBmaWxlIHVzaW5nIHRo ZSBmb2xsb3dpbmcNCj4gY29tbWFuZDoNCj4gPiBRRU1VX0FVRElPX0RSVj1ub25lIHFlbXUtc3lz dGVtLWFhcmNoNjQgLU0gc3BpZGVyLXNvYyAtc21wIDEgLW0NCj4gMTI4TSAtbm9ncmFwaGljIFwN Cj4gPiAgICAgICAtZGV2aWNlIGxvYWRlcixmaWxlPUJMMS5lbGYgLWNwdSBjb3J0ZXgtYTUzLHJ2 YmFyPTB4QzAwNDAwMDAwMCBcDQo+ID4gICAgICAgLWQgdW5pbXAgLXNlbWlob3N0aW5nLWNvbmZp ZyBlbmFibGU9b24sdGFyZ2V0PW5hdGl2ZSBcDQo+ID4gICAgICAgLW1vbml0b3IgdGVsbmV0Omxv Y2FsaG9zdDoxMjM1LHNlcnZlcixub3dhaXQgXA0KPiA+ICAgICAgIC1nZGIgdGNwOjoxMjM2DQo+ ID4NCj4gPiBUaGUgQkwxLmVsZiBpcyBvdXIgQm9vdFJPTSBhcHBsaWNhdGlvbiB0aGF0IHJ1bnMg ZnJvbSBST00gYWRkcmVzcw0KPiAweEMwMDQwMDAwMDAuDQo+ID4gSnVzdCBmb3IgZGVidWdnaW5n IHB1cnBvc2Ugd2UndmUgaW5jcmVhc2VkIHRoZSBST00gc2l6ZSBzbyBpdCBjYW4gaW5jbHVkZQ0K PiB0aGUgaW1hZ2VzL2JhcmVib3gtc3BpZGVyLW1rMS1ldmsuaW1nIChhcyBhIGNvbnN0IGFycmF5 KS4NCj4gPiBCTDEgdGhlbiBjb3B5IGl0ICh1c2luZyBtZW1jcHkpIHRvIGFkZHJlc3MgMCBhbmQg anVtcHMgdGhlcmUgZm9yDQo+IGV4ZWN1dGlvbi4NCj4gDQo+IFNvdW5kcyBvay4NCj4gDQo+ID4g T24gdGhlIHJlYWwgQVNJQyB0aGlzIGFkZHJlc3Mgd2lsbCBiZSB0aGUgRFJBTSBhbmQgaW5kZWVk IHdpbGwgbmVlZCB0byBiZQ0KPiBpbml0aWFsaXplZCBiZWZvcmUgdGhlIGNvcHkgYnV0IGhlcmUg b24gUUVNVSBpdCBpcyBub3QgcmVxdWlyZWQuDQo+IA0KPiBJIHNlZS4gWW91IGNvdWxkIHN0aWxs IGhhdmUgeW91ciBib290cm9tIG1vdmUgYmFyZWJveCBpbnRvIFNSQU0gYW5kIHRoZW4NCj4gDQo+ ICAgYmFyZWJveF9hcm1fZW50cnkoRFJBTV9BRERSLCBTWl8xMjhNLCBfX2R0Yl9zcGlkZXJfbWsx X2V2a19zdGFydCk7DQo+IA0KPiBUbyBoYXZlIFBCTCBleHRyYWN0IGJhcmVib3ggdG8gRFJBTS4g RXZlbiBpZiB5b3UgZG9uJ3QgbmVlZCBuZWVkIERSQU0NCj4gc2V0dXAgaW4gUUVNVSwgdGhlIGZs b3cgd291bGQgYmUgc2ltaWxhciB0byB3aGF0IHlvdSB3aWxsIGhhdmUgb24gYWN0dWFsDQo+IHNp bGljb24uDQo+IA0KPiA+IFRoZSBsb3dsZXZlbC5jIG9mIHNwaWRlci1ldmsgd2FzIG1vZGlmaWVk IHRvIHVzZSBEUkFNX0FERFIgMHg0MDAwMDANCj4gKDRNQiBmcm9tIHN0YXJ0KSBhbmQgTVlfU1RB Q0tfVE9QIHdhcyBzZXQgdG8gMHg4MDAwMDAwICgxMjhNKS4NCj4gDQo+IFRoYXQncyBub3QgbmVl ZGVkLiBXaGlsZSB5b3UgZG9uJ3QgaGF2ZSBjb250cm9sIHdoZXJlIGJhcmVib3ggUEJMIHdpbGwg YmUNCj4gbG9jYXRlZA0KPiAoZGVwZW5kcyBvbiBCb290Uk9NKSwgYmFyZWJveCB3aWxsIGV4dHJh Y3QgaXRzZWxmIHRvIHRoZSBlbmQgb2YgRFJBTQ0KPiB3aXRob3V0DQo+IG92ZXJ3cml0aW5nIGl0 c2VsZiwgc28geW91IGNhbiBqdXN0IHVzZSBEUkFNX0FERFIgMCBub3JtYWxseS4gRXZlbnR1YWxs eSwNCj4gc3RhY2sNCj4gdG9wIHNob3VsZCBnbyBpbnRvIFNSQU0sIGJ1dCBhbnl3aGVyZSB0aGF0 IHdvcmtzIGlzIG9rLg0KPiANCj4gPiBJbiBhZGRpdGlvbiwgSSBpbXBsZW1lbnRlZCBwdXRjX2xs IChjdXJyZW50bHkgaGFyZC1jb2RlZCBpbg0KPiBpbmNsdWRlL2RlYnVnX2xsLmgpIGFuZCBvcGVu ZWQgbG9nIGxldmVsIHRvIFZFUkJPU0VfREVCVUcgKGN1cnJlbnRseSBqdXN0DQo+IGhhcmQtY29k ZWQgaW4gcHJpbnRrLmgpLg0KPiANCj4gVGhlcmUncyBDT05GSUdfREVCVUdfUEJMIHlvdSBjYW4g ZW5hYmxlIHRvIGdldCBhbGwgdGhlc2UgbWVzc2FnZXMgYnkNCj4gZGVmYXVsdC4NCj4gDQo+ID4g SSBzZWUgdGhlIGZvbGxvd2luZyAod2hpY2ggbWFrZXMgc2Vuc2UpIGxvZ3Mgb24gUUVNVSB0ZXJt aW5hbDoNCj4gPiB1bmNvbXByZXNzLmM6IG1lbW9yeSBhdCAweDAwNDAwMDAwLCBzaXplIDB4MDAy MDAwMDANCj4gPiB1bmNvbXByZXNzLmM6IHVuY29tcHJlc3NpbmcgYmFyZWJveCBiaW5hcnkgYXQg MHgwMDAwMDAwMDAwMDAyMjAwDQo+IChzaXplIDB4MDAwMWQzYjIpIHRvIDB4MDA0MDAwMDAgKHVu Y29tcHJlc3NlZCBzaXplOiAweDAwMDM3M2QwKQ0KPiANCj4gV2h5IHBhc3Mgb25seSAyTSB0byBi YXJlYm94X2FybV9lbnRyeT8gV2hpbGUgdGhpcyBuZWVkIG5vdCBiZSB0aGUgd2hvbGUNCj4gb2Yg UkFNLCB0aGlzDQo+IGluaXRpYWwgbWVtb3J5IGlzIHdoYXQgYmFyZWJveCB3aWxsIHVzZSBmb3Ig aXRzZWxmIGluY2x1ZGluZyBpdHMgZmluYWwgc3RhY2sgYW5kDQo+IG1hbGxvYyBhcmVhLiBiYXJl Ym94IHdpbGwgYWxzbyBub3QgcGxhY2UgaXRzZWxmIGludG8gdGhlIGxhc3QgMU0gQUZBSUssIHNv IDJNDQo+IG1heSBub3Qgd29yayBvay4gWW91IHNob3VsZCB1c2UgdGhlIG1pbmltdW0gcG9zc2li bGUgUkFNIGhlcmUgb3IgaWYgeW91DQo+IGNhbiBkZXRlY3QNCj4gaW4gUEJMIGhvdyBtdWNoIFJB TSB5b3UgaGF2ZSBvciBqdXN0IHRoZSB3aG9sZSBSQU0gYmFuay4gSSBhbSBub3Qgc3VyZQ0KPiBh bnl0aGluZyBsb3dlcg0KPiB0aGFuIFNaXzRNIHdvdWxkIHdvcmsgb2suIChOb3RlIHRoaXMgaXMg RFJBTSBzaXplLCBub3QgU1JBTS4gYmFyZWJveCBQQkwNCj4gaXMgZmluZSBiZWluZw0KPiBjYWxs ZWQgZnJvbSA2NEsgU1JBTXMsIGl0IGp1c3QgbmVlZHMgRFJBTSB0byBleHRyYWN0IHRvKS4NCj4g DQo+ID4gSSB0aGVuIGNvbm5lY3Qgd2l0aCBhYXJjaDY0LW5vbmUtZWxmLWdkYiwgbG9hZCB0aGUg YmFyZWJveCBzeW1ib2xzICh0bw0KPiAweDQwMDAwMCkgYW5kIGNoZWNrIHRoZSBjdXJyZW50IGV4 ZWN1dGlvbiBzdGF0ZSAocHJvZ3JhbSBjb3VudGVyIGFuZA0KPiBzdGFjaykuDQo+ID4gTG9va3Mg bGlrZSB0aGUgY29kZSBpcyBzdHVjayBvbiBmdW5jdGlvbiByZWdpc3Rlcl9hdXRvYm9vdF92YXJz Og0KPiA+IHNwICAgICAgICAgICAgIDB4NWY3ZTYwICAgICAgICAgICAgMHg1ZjdlNjANCj4gPiBw YyAgICAgICAgICAgICAweDQwMTI2NCAgICAgICAgICAgIDB4NDAxMjY0IDxyZWdpc3Rlcl9hdXRv Ym9vdF92YXJzKzI0Pg0KPiA+DQo+ID4gRmV3IG9ic2VydmF0aW9uczoNCj4gPiAxLiBUaGUgUEJM IHdhcyB1c2luZyBzdGFjayB0b3AgbG9jYXRlZCBvbiAweDgwMDAwMDAgKHdoaWNoIGlzDQo+IE1Z X1NUQUNLX1RPUCkuIEZvdW5kIGl0IGJlIGNhdXNpbmcgYSBicmVha3BvaW50IG9uIHRoZSBQQkwu DQo+ID4gMi4gQmFyZWJveCB1c2VzIGEgc3RhY2sgdG9wIG9uIDB4NjAwMDAwIHdoaWNoIGlzIHBy b2JhYmx5IGNhbGN1bGF0ZWQgZnJvbQ0KPiBteSBuZXcgRFJBTV9BRERSIGFuZCBTWl8yTSBnaXZl biB0byB0aGUgZnVuY3Rpb24gY2FsbDoNCj4gPiAgICAgYmFyZWJveF9hcm1fZW50cnkoRFJBTV9B RERSLCBTWl8yTSwgX19kdGJfc3BpZGVyX21rMV9ldmtfc3RhcnQpOw0KPiA+DQo+ID4gVGhpcyBp cyBncmVhdCEgSSBhbSBzdGFydGluZyB0byBmaW5kIG15IHdheS4NCj4gDQo+IDopIFllLCB0aGUg RU5UUllfRlVOQ1RJT05fV0lUSFNUQUNLIGlzIG9ubHkgd2hlbiB0aGUgQm9vdFJPTSBkb2Vzbid0 DQo+IGVudGVyDQo+IHdpdGggYSB2YWxpZCBzdGFjayBwb2ludGVyLiBJdCdzIG92ZXJ3cml0dGVu IGFzIHNvb24gYXMgYmFyZWJveCBpcyB0b2xkDQo+IGFib3V0IHRoZSBpbml0aWFsIG1lbW9yeSBs YXlvdXQgKHdpdGggYmFyZWJveF9hcm1fZW50cnkpLg0KPiANCj4gPiBXaGVuIHRoZSBiYXJlYm94 IGV4ZWN1dGlvbiBkaWRuJ3QgcHJpbnQgYW55dGhpbmcgdG8gdGhlIHRlcm1pbmFsIEkNCj4gcmVt ZW1iZXJlZCB0aGF0IHdlIHVzZWQgYSBwbGFjZSBob2xkZXIgb24gdGhlIGR0c2kgZm9yIHRoZSB1 YXJ0Lg0KPiA+IFNvIG5vdyBJIGNoYW5nZWQgaXQgdG86DQo+ID4gdWFydDA6IHNlcmlhbEBkMDAw MzA3MDAwIHsNCj4gPiAgICAgICAgY29tcGF0aWJsZSA9ICJhcm0scGwwMTEiLCAiYXJtLHByaW1l Y2VsbCI7DQo+ID4gICAgICAgIHJlZyA9IDwweGQwIDB4MzA3MDAwIDAgMHgxMDAwPjsNCj4gPiB9 DQo+ID4gKE91ciBRRU1VIFVBUlQgaXMgY3VycmVudGx5IHVzaW5nIHBsMDExIGRldmljZS4pDQo+ IA0KPiBMb29rcyBvay4gRG9uJ3QgZm9yZ2V0IHRvIGVuYWJsZSB0aGUgZHJpdmVyICh2aWEgbWFr ZSBtZW51Y29uZmlnKS4NCj4gDQo+ID4gQWZ0ZXIgc29tZSB0aW1lICh0cnlpbmcgdG8gZGVidWcg YnkgZW5hYmxpbmcgTU1VIGJ1dCB0aGVuIHJldmVydGVkIHRoZQ0KPiBjb2RlIGJhY2spLCBJIGdv dCB0byBhIHBvaW50IHRoYXQgd2hlbiBJIHRyeSB0byBydW4gYWdhaW4gSSBhbSBnZXR0aW5nIGFu DQo+IGV4Y2VwdGlvbi4NCj4gPiBJIGNhbiBzd2VhciBhbGwgY29kZSBjaGFuZ2VzIHdlcmUgcmV2 ZXJ0ZWQgYmFjayB0byB0aGUgcG9pbnQgd2hlcmUgSSBzYXcgdGhlDQo+IGJhcmVib3ggc3R1Y2sg b24gcmVnaXN0ZXJfYXV0b2Jvb3RfdmFycyBidXQgbm93IGl0IGp1c3QgY2FzZXMgYW4gZXhjZXB0 aW9uLg0KPiA+IFRoZSBleGNlcHRpb24gdmVjdG9yIGNvZGUgaXMgbG9jYXRlZCBvbiBvdXIgUk9N IChwYXJ0IG9mIEJMMSBjb2RlKSBhbmQgdGhlDQo+IGxvZ3Mgc2hvd3MgdGhhdCB0aGUgbGluayBy ZWdpc3RlciBoYXMgdGhlIHZhbHVlIDB4NDAxMjE4IHdoaWNoIHN1Z2dlc3QgdGhlDQo+IGZvbGxv d2luZyBjb2RlOg0KPiA+IDAwMDAwMDAwMDAwMDEyMDAgPGxvYWRfZW52aXJvbm1lbnQ+Og0KPiA+ IDEyMDA6IGE5YmU3YmZkICAgICAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMzJdIQ0KPiA+ IDEyMDQ6IDkxMDAwM2ZkICAgICAgICBtb3YgICAgIHgyOSwgc3ANCj4gPiAxMjA4OiBhOTAxNTNm MyAgICAgICAgc3RwICAgICB4MTksIHgyMCwgW3NwLCAjMTZdDQo+ID4gMTIwYzogOTQwMDBhMDcg ICAgICAgIGJsICAgICAgM2EyOCA8ZGVmYXVsdF9lbnZpcm9ubWVudF9wYXRoX2dldD4NCj4gPiAx MjEwOiBkMDAwMDBmMyAgICAgICAgYWRycCAgICB4MTksIDFmMDAwIDxkb19jcHVpbmZvKzB4MWYw Pg0KPiA+IDEyMTQ6IDkxMmE3MjczICAgICAgICBhZGQgICAgIHgxOSwgeDE5LCAjMHhhOWMNCj4g PiAxMjE4OiBhYTAwMDNmNCAgICAgICAgbW92ICAgICB4MjAsIHgwDQo+ID4NCj4gPiBBbnkgaWRl YXMgb3Igc3VnZ2VzdGlvbnMgaG93IHRvIHByb2NlZWQgd2l0aCB0aGUgZGVidWdnaW5nPw0KPiAN Cj4gWW91IHNob3VsZG4ndCBuZWVkIHRvIHRvdWNoIHRoZSBNTVUgY29kZS4gSWYgeW91ciBpbml0 aWFsIG1lbW9yeSBzZXR1cA0KPiBpcyB3b25reSwgeW91IG1heSBlbmQgdXAgb3ZlcndyaXRpbmcg c3R1ZmYuIFRyeSBhZ2FpbiB3aXRoIGJpZ2dlciBtZW1vcnkuDQo+IA0KPiA+IEJUVywgdG8gYW5z d2VyIHlvdXIgcXVlc3Rpb25zOg0KPiA+IFRoZSBTUkFNIG9mIDRNQiBpcyB0aGUgb25seSBvbmUg d2UgaGF2ZSBiZWNhdXNlIHdlIGFzc3VtZWQgaXQgaXMgb25seSBmb3INCj4gQm9vdFJPTSB0byBs b2FkIGEgUEJMDQo+IA0KPiBPay4gU29tZXRpbWVzIHRoZXJlIGFyZSBTUkFNcyBmb3IgdXNlIHdp dGggRE1BLiBJIGFza2VkLCBiZWNhdXNlIGEgU1JBTQ0KPiBpbiB0aGUgZmlyc3QgNE0NCj4gd291 bGQgbGVuZCBpdHNlbGYgbmljZWx5IGFzIHN0YWNrLCBidXQgaWYgdGhlcmUgaXMgbm9uZSwgd2Ug Y2FuIGFkanVzdA0KPiBFTlRSWV9GVU5DVElPTl9XSVRIU1RBQ0sgdG8gYWNjZXB0IGEgNjQtYml0 IHBhcmFtZXRlci4NCj4gDQo+IENoZWVycywNCj4gQWhtYWQNCj4gDQo+ID4gVGhhbmsgeW91IHZl cnkgbXVjaCwNCj4gPiBDaGVlcnMsDQo+ID4gTGlvci4NCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEFobWFkIEZhdG91bSA8YS5mYXRvdW1AcGVu Z3V0cm9uaXguZGU+DQo+ID4+IFNlbnQ6IE1vbmRheSwgTWF5IDI5LCAyMDIzIDEwOjAzIFBNDQo+ ID4+IFRvOiBMaW9yIFdlaW50cmF1YiA8bGlvcndAcGxpb3BzLmNvbT47IEFobWFkIEZhdG91bSA8 YWhtYWRAYTNmLmF0PjsNCj4gPj4gYmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+ID4+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFBvcnRpbmcgYmFyZWJveCB0byBhIG5ldyBTb0MNCj4gPj4N Cj4gPj4gQ0FVVElPTjogRXh0ZXJuYWwgU2VuZGVyDQo+ID4+DQo+ID4+IEhlbGxvIExpb3IsDQo+ ID4+DQo+ID4+IE9uIDI5LjA1LjIzIDE1OjM0LCBMaW9yIFdlaW50cmF1YiB3cm90ZToNCj4gPj4+ IEhpIEFobWFkLA0KPiA+Pj4NCj4gPj4+IEkgaGF2ZSByZXZpc2VkIHRoZSBhZGRyZXNzZXMgYW5k IHVzZWQgRFJBTSBhZGRyZXNzIEAgMCBpbnN0ZWFkOg0KPiA+Pj4gI2RlZmluZSBVQVJUQkFTRSAg ICAgICAgKDB4RDAwMDMwNzAwMCkNCj4gPj4+ICNkZWZpbmUgRFJBTV9BRERSICAgICAgICgweDAw MDAwMDAwKQ0KPiA+Pj4gI2RlZmluZSBNWV9TVEFDS19UT1AgICAgKDB4MDAwMDAwMDAgKyBTWl8y TSkgLy8gU2V0IHRoZSBzdGFjayAyTUINCj4gZnJvbQ0KPiA+PiBEUkFNIHN0YXJ0DQo+ID4+DQo+ ID4+IElzIERSQU0gY29uZmlndXJlZCBieSB0aGUgdGltZSBiYXJlYm94IHJ1bnM/IElmIG5vdCwg eW91IHNob3VsZCBrZWVwDQo+IHN0YWNrDQo+ID4+IHRvcA0KPiA+PiBpbiBTUkFNLCB1bnRpbCB5 b3UgaGF2ZSBzZXR1cCBtZW1vcnkgaW4gcHJlYm9vdGxvYWRlciAoUEJMKS4gSXMgdGhlIDRNDQo+ ID4+IFNSQU0NCj4gPj4gdGhlIG9ubHkgb24tY2hpcCBTUkFNIHlvdSBoYXZlPw0KPiA+Pg0KPiA+ Pj4gc3RhdGljIGlubGluZSB2b2lkIHNwaWRlcl9zZXJpYWxfcHV0Yyh2b2lkICpiYXNlLCBpbnQg YykNCj4gPj4+IHsNCj4gPj4+ICAgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCAqKWJhc2UpID0gYzsN Cj4gPj4NCj4gPj4gVGhlcmUncyBhIGhlbHBlciBmb3IgdGhhdDogd3JpdGVsKGMsIGJhc2UpOyBJ biBiYXJlYm94LCBpdCdzIGVxdWl2YWxlbnQNCj4gPj4gdG8gdGhlIHZvbGF0aWxlIGFjY2Vzcywg YnV0IGluIExpbnV4IGl0IGludm9sdmVzIGEgd3JpdGUgbWVtb3J5IGJhcnJpZXIuDQo+ID4+IFdl IHRyeSB0byB3cml0ZSBjb2RlIGluIGJhcmVib3gsIHNvIGl0J3MgZWFzaWx5IHJldXNhYmxlIGlu IExpbnV4IChhbmQNCj4gPj4gdGhlIG90aGVyIHdheSByb3VuZCkuDQo+ID4+DQo+ID4+PiB9DQo+ ID4+Pg0KPiA+Pj4gSSB3aWxsIHRyeSB0byB0ZXN0IGl0IG9uIFFFTVUgdXNpbmcgYW4gaW5pdGlh bCBRRU1VIG1hY2hpbmUgd2UgbWFkZSBmb3INCj4gPj4gU3BpZGVyLg0KPiA+Pj4gSW4gdGhpcyBt YWNoaW5lIHdlIG9ubHkgaGF2ZSAzIG1lbW9yeSByZWdpb25zIGFuZCBhIFBMMDExIFVBUlQ6DQo+ ID4+PiBzcGlkZXJfc29jX21lbW9yaWVzIHNvY19tZW1vcmllc1tdID0gew0KPiA+Pj4gICAgIHsu bmFtZSA9ICJTUElERVJfR1BSQU0iLCAgIC5hZGQgPSAweEMwMDAwMDAwMDBVTEwsIC5zaXplID0g NCAqIE1pQn0sDQo+ID4+PiAgICAgey5uYW1lID0gIlNQSURFUl9ST00iLCAgICAgLmFkZCA9IDB4 QzAwNDAwMDAwMFVMTCwgLnNpemUgPSAxMjggKg0KPiBLaUJ9LA0KPiA+Pj4gICAgIHsubmFtZSA9 ICJTUElERVJfRFJBTSIsICAgIC5hZGQgPSAweDAwMDAwMDAwMDBVTEwsIC5zaXplID0gMSAqIEdp Qn0sDQo+ID4+PiB9Ow0KPiA+Pj4NCj4gPj4+IFRoaXMgc3BlY2lhbCBRRU1VIG1hY2hpbmUgY2Fu IHJ1biBvdXIgQkwxIGNvZGUgZnJvbSAiUk9NIiBhZGRyZXNzDQo+ICh3ZQ0KPiA+PiBzZXQgdGhl IFJWQkFSIHRvIHBvaW50IHRoZXJlKS4NCj4gPj4+IFNvIG15IGlkZWEgaXMgdG8gdGVzdCB0aGUg YmFyZWJveCBpbWFnZSBieSB0aGUgZm9sbG93aW5nIHN0ZXBzOg0KPiA+Pj4gMS4gTW9kaWZ5IHRo ZSBRRU1VIGNvZGUgdG8gaGF2ZSBhICJST00iIHdpdGggdGhlIHNpemUgb2YgMTI4TS4NCj4gPj4+ IDIuIENvbXBpbGUgb3VyIEJMMSBjb2RlIHRvIGluY2x1ZGUgdGhlIGJhcmVib3guYmluIGFzIGEg Y29uc3QgYXJyYXksIGNvcHkNCj4gaXQNCj4gPj4gdG8gIkRSQU0iIEAgYWRkcmVzcyAwIGFuZCBq dW1wIHRoZXJlLg0KPiA+Pg0KPiA+PiBXaHkgbm90IG1hcCBRRU1VIC1iaW9zIG9wdGlvbiB0byBT UkFNPyAoT3IgRFJBTSBkaXJlY3RseSwgaWYgaXQgbmVlZHMNCj4gbm8NCj4gPj4gc3BlY2lhbCBz ZXR1cCBmcm9tDQo+ID4+IGJhcmVib3ggc2lkZSkuDQo+ID4+DQo+ID4+PiBGb3IgdGhpcyB0byB3 b3JrIEkgd2FudGVkIHRvIHVuZGVyc3RhbmQgaG93IHRvIGNhbGwgKGkuZS4gd2hhdCBhcmd1bWVu dHMNCj4gdG8NCj4gPj4gcGFzcykgdG8gYmFyZWJveC4NCj4gPj4NCj4gPj4gYmFyZWJveCBkb2Vz bid0IGV4cGVjdCBhbnkgYXJndW1lbnRzLCBiZWNhdXNlIG1vc3QgQm9vdFJPTXMgZG9uJ3QNCj4g cGFzcw0KPiA+PiBhbnl0aGluZyB1c2VmdWwuDQo+ID4+IFNvbWUgcGFzcyBpbmZvcm1hdGlvbiBh Ym91dCBib290c291cmNlIHRob3VnaCwgc28gdGhhdCdzIHdoeSB0aGUNCj4gPj4gRU5UUllfRlVO Q1RJT04gaGFzDQo+ID4+IHIwLCByMSBhbmQgcjIgYXMgcGFyYW1ldGVycywgYnV0IHlvdSBuZWVk IG5vdCB1c2UgdGhlbS4NCj4gPj4NCj4gPj4+IFNvIEkgY2hlY2tlZCB0aGUgYmFyZWJveC5tYXAg YW5kIGZvdW5kIHRoZSBmdW5jdGlvbiAic3RhcnQiIG9uIGFkZHJlc3MNCj4gMC4NCj4gPj4NCj4g Pj4gWW91IG1heSBrbm93IHRoYXQgTGludXggb24gc29tZSBwbGF0Zm9ybXMgY29tZXMgd2l0aCBh IGRlY29tcHJlc3Nvcg0KPiB0aGF0DQo+ID4+IGlzIGdsdWVkIHRvIHRoZQ0KPiA+PiBmcm9udCBv ZiB0aGUga2VybmVsIGltYWdlIGFuZCBleHRyYWN0cyB0aGUgY29tcHJlc3NlZCBrZXJuZWwgaW1h Z2UuDQo+IGJhcmVib3gNCj4gPj4gaGFzIHRoZSBzYW1lDQo+ID4+IGNvbmNlcHQuIFRoZSBwcmVi b290bG9hZGVyIGlzIHVuY29tcHJlc3NlZCBhbmQgcnVucyAoc3RhcnRpbmcgZnJvbQ0KPiA+PiBF TlRSWV9GVU5DVElPTikgYW5kDQo+ID4+IHRoZW4gZG9lcyBzb21lIGVhcmx5IHNldHVwIChlLmcu IGVuYWJsZSBjbG9ja3MsIGNvbmZpZ3VyZSBQTUlDLCBzZXR1cA0KPiBEUkFNLA0KPiA+PiBsb2Fk IHNlY3VyZQ0KPiA+PiBtb25pdG9yIChCTDMxKSwgLi4uZXRjLikgYW5kIHRoZW4gaXQgZGVjb21w cmVzc2VzIGJhcmVib3ggcHJvcGVyIGludG8NCj4gRFJBTS4NCj4gPj4NCj4gPj4gYmFyZWJveC5i aW4gPC0gYmFyZWJveCBwcm9wZXIuIFlvdSBkb24ndCB1c3VhbGx5IG5lZWQgdGhhdC4NCj4gPj4g YmFyZWJveC5lbGYgPC0gRUxGIGJpbmFyeSBmb3IgdGhlIGFib3ZlIChmb3IgZ2RiKQ0KPiA+PiBi YXJlYm94Lm1hcCA8LSBtYXAgZmlsZSBvZiB0aGUgYWJvdmUNCj4gPj4NCj4gPj4gaW1hZ2VzL2Jh cmVib3gtc3BpZGVyLW1rMS1ldmsuaW1nICAgPC0gY29tcGxldGUgYmFyZWJveCBpbWFnZSAoUEJM ICsNCj4gPj4gYmFyZWJveCBwcm9wZXIpDQo+ID4+IGltYWdlcy9zdGFydF9zcGlkZXJfbWsxX2V2 ay5wYmwgICAgIDwtIEVMRiBpbWFnZSBmb3IgdGhlIGFib3ZlDQo+ID4+IGltYWdlcy9zdGFydF9z cGlkZXJfbWsxX2V2ay5wYmwubWFwIDwtIG1hcCBmaWxlIG9mIHRoZSBhYm92ZQ0KPiA+Pg0KPiA+ PiBJZiB5b3Ugd2FudCB0byBmb2xsb3cgYmFyYmVveCBmcm9tIHRoZSBzdGFydCwgYmVnaW4gYXQN Cj4gc3RhcnRfc3BpZGVyX21rMV9ldmsuDQo+ID4+DQo+ID4+PiBUaGVuIEkgd2VudCB0byBhcmNo L2FybS9jcHUvc3RhcnQuYyBhbmQgcmVhbGl6ZWQgdGhhdCB0aGUgY29kZSBpcyBjb21waWxlZA0K PiA+PiB3aXRoIENPTkZJR19QQkxfSU1BR0UuDQo+ID4+PiBJbiB0aGF0IGNhc2UgSSBhc3N1bWUg SSBuZWVkIHRvIHBhc3MgMyBhcmd1bWVudHMgYW5kIHVzZSB0aGlzIGZ1bmN0aW9uDQo+ID4+IHBy b3RvdHlwZToNCj4gPj4+IHZvaWQgc3RhcnQodW5zaWduZWQgbG9uZyBtZW1iYXNlLCB1bnNpZ25l ZCBsb25nIG1lbXNpemUsIHZvaWQNCj4gPj4gKmJvYXJkZGF0YSk7DQo+ID4+DQo+ID4+IGJhcmVi b3ggcHJlYm9vdGxvYWRlciB0YWtlcyBjYXJlIG9mIHRoaXMsIHNvIHlvdSBkb24ndCBuZWVkIHRv IGRvIGFueXRoaW5nLg0KPiA+Pg0KPiA+Pj4gRmV3IHF1ZXN0aW9uczoNCj4gPj4+IDEuIFdpbGwg dGhhdCBjYWxsIHdvcms6DQo+ID4+PiAgICAgdHlwZWRlZiB2b2lkICgqYmFyZWJveF9zdGFydCko dW5zaWduZWQgbG9uZyAsIHVuc2lnbmVkIGxvbmcgLCB2b2lkICopOw0KPiA+Pj4gICAgICNkZWZp bmUgRFJBTV9TVEFSVCAgKDApDQo+ID4+PiAgICAgYmFyZWJveF9zdGFydCBwX2JhcmVib3ggPSAo YmFyZWJveF9zdGFydClEUkFNX1NUQVJUOw0KPiA+Pj4gICAgIHBfYmFyZWJveChEUkFNX1NUQVJU LCBEUkFNX1NUQVJUK1NaXzJNLCAodm9pZA0KPiA+PiAqKShEUkFNX1NUQVJUK1NaXzRNKSk7DQo+ ID4+PiAgICAgVGhpcyBhc3N1bWVzIHRoYXQgbXkgQkwxIGNvZGUgYWxzbyBjb3BpZWQgdGhlIGRl dmljZSB0cmVlIChiYXJlYm94LWR0LQ0KPiA+PiAybmQuaW1nPyBzdGFydF9kdF8ybmQucGJsYj8g c3RhcnRfc3BpZGVyX21rMV9ldmsucGJsYj8pDQo+ID4+DQo+ID4+IFRoZSBkZXZpY2UgdHJlZSBp cyBidWlsdCBpbnRvIHRoZSBQQkwgYW5kIHBhc3NlZCB0byBiYXJlYm94IHByb3Blci4gVGhpcw0K PiA+PiBhbGxvd3MgdXMgdG8gdXNlIHRoZSBzYW1lIGJhcmVib3ggcHJvcGVyIGJpbmFyeSBhbmQg bGluayBpdCB3aXRoIGEgZGlmZmVyZW50DQo+ID4+IHByZWJvb3Rsb2FkZXIgZm9yIGVhY2ggU29D L2JvYXJkLCBhbGwgaW4gdGhlIHNhbWUgYnVpbGQuDQo+ID4+DQo+ID4+IGJhcmVib3gtZHQtMm5k LmltZyBpcyBhIHNwZWNpYWwgaW1hZ2UgdGhhdCBsb29rcyBleGFjdGx5IGxpa2UgYSBMaW51eCBr ZXJuZWw6DQo+ID4+DQo+ID4+ICAgaW1hZ2VzL2JhcmVib3gtZHQtMm5kLmltZzogTGludXgga2Vy bmVsIEFSTTY0IGJvb3QgZXhlY3V0YWJsZSBJbWFnZSwNCj4gPj4gbGl0dGxlLWVuZGlhbiwgNEsg cGFnZXMNCj4gPj4NCj4gPj4gYW5kIGNhbiB0aHVzIGJlIHVzZWQgZm9yIGJvb3RpbmcgZm9yIGVh c3kgY2hhaW5sb2FkaW5nIGZyb20gb3RoZXINCj4gPj4gYm9vdGxvYWRlcnMgb3IgZm9yIHJ1bm5p bmcNCj4gPj4gd2l0aCBRRU1VIC1rZXJuZWwuIFlvdSBzaG91bGRuJ3QgbmVlZCBpdCByaWdodCBu b3cuDQo+ID4+DQo+ID4+PiAyLiBEbyBJIHdhbnQgdG8gaGF2ZSBteSBjb2RlIGNvbXBpbGVkIHdp dGggQ09ORklHX1BCTF9JTUFHRT8NCj4gPj4+ICAgICBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5 LCBpdCBtZWFucyB0aGF0IG15IGNvZGUgd2lsbCBwcm92aWRlIGEgUEJMIChhLmsuYQ0KPiA+PiBC TDIpIHdoaWNoIHdpbGwgc2V0IHRoZSBEUkFNIGFuZCBTVEFDSyBhbW9uZyBvdGhlciB0aGluZ3Mg KE1NVT8pLg0KPiA+Pg0KPiA+PiBUaGUgcGF0Y2ggSSBzZW50IGFscmVhZHkgYnVpbGRzIGEgUEJM LiBZb3Ugd2lsbCBuZWVkIHRvIGZpbGwgb3V0DQo+ID4+IHN0YXJ0X3NwaWRlcl9tazFfZXZrDQo+ ID4+IHRvIGRvIGFsbCB0aGUgb3RoZXIgZWFybHkgaW5pdGlhbGl6YXRpb24geW91IG5lZWQuIFRo ZW4geW91IGNhbGwNCj4gPj4gYmFyZWJveF9hcm1fZW50cnkNCj4gPj4gd2l0aCBkZXZpY2UgdHJl ZSBhbmQgbWVtb3J5IHNpemUgYW5kIGl0IHdpbGwgdGFrZSBjYXJlIHRvIGRvIHN0YWNrIHNldHVw IGluDQo+IG5ldw0KPiA+PiBtZW1vcnkgcmVnaW9uLCBNTVUgc2V0dXAgKGlmIGVuYWJsZWQpIGFu ZCBjaGFpbmxvYWRpbmcgYmFyZWJveCBwcm9wZXIuDQo+ID4+DQo+ID4+IE5vdGUgdGhhdCBQQkwg aXNuJ3QgbmVjZXNzYXJ5IEJMMi4gWW91IGNhbiBjaGFpbmxvYWQgYmFyZWJveCBmcm9tIHdpdGhp bg0KPiA+PiBiYXJlYm94IChpLmUuDQo+ID4+IGluIEVMMiBvciBFTDEpLCB3aGljaCBpcyB1c2Vm dWwgZm9yIGRlYnVnZ2luZy4gWW91IHdpbGwgdGh1cyBvZnRlbiBmaW5kIFBCTA0KPiBjb2RlDQo+ ID4+IHRoYXQNCj4gPj4gZG9lcw0KPiA+Pg0KPiA+PiAgIGlmIChjdXJyZW50X2VsKCkgPT0gMykg ew0KPiA+PiAgICAgICAgIC8qIERvIEJMMiBzZXR1cCAqLw0KPiA+PiAgICAgICAgIGNoYWlubG9h ZCgpOw0KPiA+PiAgICAgICAgIF9fYnVpbHRpbl91bnJlYWNoYWJsZSgpOw0KPiA+PiAgIH0NCj4g Pj4NCj4gPj4gICBiYXJlYm94X2FybV9lbnRyeSguLi4pDQo+ID4+DQo+ID4+IFNlZSBmb3IgZXhh bXBsZSBhcmNoL2FybS9ib2FyZHMvaW5ub2NvbW0taW14OG1tLXdiMTUvbG93bGV2ZWwuYw0KPiA+ Pg0KPiA+PiB0byBzZWUgYSByZWFsLXdvcmxkIGV4YW1wbGUgb2YgYW5vdGhlciBDb3J0ZXgtQTUz Lg0KPiA+Pg0KPiA+Pj4gICAgIEluIHRoYXQgY2FzZSBJIGFzc3VtZSBpdCBpcyBPSy4NCj4gPj4+ IDMuIElmIEkgdHJ5IHRvIHJlbW92ZSBpdCBieSBoYXZpbmcgQ09ORklHX1BCTF9JTUFHRT1uIG9u DQo+IHNwaWRlcl9kZWZjb25maWcNCj4gPj4gdGhpcyBkb2Vzbid0IGRvIGFueXRoaW5nDQo+ID4+ PiAgICAgVGhlIGJ1aWxkIChtYWtlIHNwaWRlcl9kZWZjb25maWcpIGlnbm9yZXMgaXQgYW5kIHNh eSB0aGF0ICIgTm8gY2hhbmdlIHRvDQo+ID4+IC5jb25maWcgIi4NCj4gPj4NCj4gPj4gQW5vdGhl ciBzeW1ib2wgZm9yY2VzIGl0IHRvIGJlIGVuYWJsZWQuIElmIHlvdSBhcmUgY3VyaW91cywgcnVu IG1ha2UNCj4gPj4gbWVudWNvbmZpZw0KPiA+PiBhbmQgdGhlbiBzZWFyY2ggKC8pIGZvciB0aGUg c3ltYm9sIGFuZCBpdCB3aWxsIGxpc3QsIHdoZXRoZXIgaXQncyBlbmFibGVkIGFuZA0KPiA+PiB3 aHk6DQo+ID4+DQo+ID4+ICAgU2VsZWN0ZWQgYnkgW3ldOg0KPiA+PiAgICAgLSBQQkxfTVVMVElf SU1BR0VTIFs9eV0gJiYgSEFWRV9QQkxfTVVMVElfSU1BR0VTIFs9eV0NCj4gPj4NCj4gPj4gSSdk IHN1Z2dlc3QgeW91IGF2b2lkIG1vZGlmeWluZyB0aGUgLmNvbmZpZyBmaWxlIG1hbnVhbGx5LiBh bHdheXMgdXNlDQo+ID4+IG1lbnVjb25maWcuDQo+ID4+DQo+ID4+PiA0LiBJIGFsc28gdHJpZWQg dG8gdW5kZXJzdGFuZCBob3cgdG8gaW1wbGVtZW50IFBVVENfTEwgYnV0IG5vdCBzdXJlIEkNCj4g Pj4gdW5kZXJzdGFuZC4NCj4gPj4+ICAgIDQuMSBXaGVuIEkgc2V0ICJDT05GSUdfREVCVUdfTEw9 eSIgb24gc3BpZGVyX2RlZmNvbmZpZyBpdCBpcyBhZ2Fpbg0KPiBub3QNCj4gPj4gd3JpdHRlbiB0 byAuY29uZmlnIGFuZCBJIGdldCAiIE5vIGNoYW5nZSB0byAuY29uZmlnICIgbWVzc2FnZS4NCj4g Pj4NCj4gPj4gWW91IG11c3Q6DQo+ID4+DQo+ID4+ICAgLSBzZWxlY3QgSEFTX0RFQlVHX0xMIGZy b20gTUFDSF9TUElERVINCj4gPj4gICAtIEFkZCB5b3VyIGFyY2ggdG8gYXJjaC9hcm0vaW5jbHVk ZS9hc20vZGVidWdfbGwuaA0KPiA+PiAgIC0gVGhlbiBpbXBsZW1lbnQgUFVUQ19MTCBpbiBlLmcu IG1hY2gvc3BpZGVyL2RlYnVnX2xsLmgNCj4gPj4NCj4gPj4+ICAgIDQuMiBEbyBJIG5lZWQgdG8g aGF2ZSBteSBvd24gZGVidWdfbGwuaCBmaWxlPw0KPiA+Pg0KPiA+PiBZZXMuIFNlZSBhYm92ZS4N Cj4gPj4NCj4gPj4+IDUuIFdoZW4gSSBtYWtlIGNoYW5nZXMgdG8gc3BpZGVyX2RlZmNvbmZpZyBh bmQgdHJ5IHRvIHJlZ2VuZXJhdGUgdGhlDQo+ID4+IC5jb25maWcgYW5kIEkgZ2V0ICIgTm8gY2hh bmdlIHRvIC5jb25maWcgIiBtZXNzYWdlLCBkb2VzIGl0IG1lYW4gdGhhdCB0aG9zZQ0KPiA+PiBt YWNyb3MgYXJlICJoaWRkZW4iIHN5bWJvbHMgbGlrZSB5b3Ugc2FpZCBhYm91dCB0aGUgQ09ORklH X0NQVV9WOD8NCj4gPj4NCj4gPj4gWWVzLiBKdXN0IGNoZWNrIG1lbnVjb25maWcgdG8gc2VlIGhv dyBzeW1ib2xzIHJlbGF0ZSB0byBlYWNoIG90aGVyLg0KPiA+PiBUaGlzIGlzIDE6MSBsaWtlIGl0 J3MgaW4gTGludXgsIHNvIGl0J2xsIGNvbWUgaW4gaGFuZHkgd2hlbiB5b3UgZG8NCj4gPj4gdGhl IGtlcm5lbCBwb3J0IHRvbyA7KQ0KPiA+Pg0KPiA+Pj4gQXBvbG9naXplIGZvciBzbyBtYW55IHF1 ZXN0aW9ucyA6LSkNCj4gPj4NCj4gPj4gTm8gcHJvYmxlbS4gTG9va2luZyBmb3J3YXJkIHRvIHlv dXIgcGF0Y2hlcyA7KQ0KPiA+Pg0KPiA+Pg0KPiA+PiBDaGVlcnMsDQo+ID4+IEFobWFkDQo+ID4+ DQo+ID4+PiBDaGVlcnMsDQo+ID4+PiBMaW9yLg0KPiA+Pj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBMaW9yIFdlaW50cmF1Yg0KPiA+Pj4gU2VudDogU3Vu ZGF5LCBNYXkgMjgsIDIwMjMgMTE6MTYgUE0NCj4gPj4+IFRvOiBBaG1hZCBGYXRvdW0gPGFobWFk QGEzZi5hdD47IGJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiA+Pj4gU3ViamVjdDogUkU6 IFtQQVRDSCB2Ml0gUG9ydGluZyBiYXJlYm94IHRvIGEgbmV3IFNvQw0KPiA+Pj4NCj4gPj4+IEhp IEFobWFkLA0KPiA+Pj4NCj4gPj4+IFRoYW5rIHlvdSBzbyBtdWNoIGZvciB5b3VyIGtpbmQgc3Vw cG9ydCENCj4gPj4+DQo+ID4+PiBJbmRlZWQgd2UgYWxzbyBoYXZlIGEgMTZHQiBEUkFNIHRoYXQg c3RhcnRzIGZyb20gYWRkcmVzcyAwICh0aG91Z2gNCj4gPj4gY3VycmVudGx5IHdlIGRvbid0IGhh dmUgdGhlIGNvbnRyb2xsZXIgc2V0dGluZ3MgKHVuZGVyIGRldmVsb3BtZW50KSkuDQo+ID4+Pg0K PiA+Pj4gSSBhbHNvIHdyb3RlIHRoZSBCb290Uk9NIChCTDEpIGZvciB0aGlzIFNvQyAoMTI4S0Ig Uk9NIEAgYWRkcmVzcw0KPiA+PiAweEMwMDQwMDAwMDApLg0KPiA+Pj4gSSB1bmRlcnN0YW5kIG5v dyB0aGF0IGl0IHdvdWxkIGJlIGJlc3QgZm9yIG1lIHRvIGRldmVsb3AgQkwyIHRoYXQgd2lsbCBy dW4NCj4gPj4gZnJvbSBvdXIgU1JBTS4NCj4gPj4+DQo+ID4+PiBBcyB0aGlzIEJMMiBjb2RlIGlz IGJhcmUtbWV0YWwgSSBoYXZlIG5vIHByb2JsZW0gb3IgbGltaXRhdGlvbnMgd2l0aCB0aGUgNDAN Cj4gPj4gYml0IGFkZHJlc3Nlcy4NCj4gPj4+IFRoZSBCTDIgY29kZSB3aWxsIGluaXRpYWxpemUg dGhlIERSQU0gY29udHJvbGxlciBhbmQgdGhlbiBjb3B5IEJhcmVib3gNCj4gaW1hZ2UNCj4gPj4g ZnJvbSBOT1IgRmxhc2ggdG8gYWRkcmVzcyAwIG9mIHRoZSBEUkFNLg0KPiA+Pj4gT3VyIE5PUiBG bGFzaCBpcyAxMjhNQiBpbiBzaXplIGFuZCBpdCBpcyBhY2Nlc3NlZCB2aWEgUVNQSSBjb250cm9s bGVyLg0KPiA+Pj4NCj4gPj4+IEkgdHJpZWQgYXBwbHlpbmcgeW91ciBzdWdnZXN0ZWQgcGF0Y2gg YnV0IGdvdCBhbiBlcnJvciB3aGlsZSBkb2luZyBzbzoNCj4gPj4+ICRnaXQgYXBwbHkgMDAwMi1B aG1hZC5wYXRjaA0KPiA+Pj4gMDAwMi1BaG1hZC5wYXRjaDoxMTU6IHRyYWlsaW5nIHdoaXRlc3Bh Y2UuDQo+ID4+PiAgICAgICAub2ZfY29tcGF0aWJsZSA9IHNwaWRlcl9ib2FyZF9vZl9tYXRjaCwg fTsNCj4gPj4+IGVycm9yOiBjb3JydXB0IHBhdGNoIGF0IGxpbmUgMTE3DQo+ID4+Pg0KPiA+Pj4g QWZ0ZXIgc29tZSBkaWdnaW5nIEkgZm91bmQgdGhhdCBteSBPdXRsb29rIHByb2JhYmx5IG1lc3Nl ZCB3aXRoIHRoZQ0KPiBwYXRjaA0KPiA+PiBmb3JtYXQgKGV2ZW4gdGhvdWdoIEkgYW0gdXNpbmcg dGV4dCBvbmx5IGFuZCBubyBIVE1MIGZvcm1hdCkuDQo+ID4+PiBXaGVuIEkgd2VudCB0byB0aGUg d2ViIGFuZCBjb3BpZWQgdGhlIHBhdGNoIGZyb20gdGhlcmUgKG1haWxpbmcgbGlzdA0KPiA+PiBh cmNoaXZlKSBpdCB3YXMgd29ya2luZyB3ZWxsIChpLmUuIG5vIGNvbXBpbGF0aW9uIGVycm9yKS4N Cj4gPj4+DQo+ID4+PiBDaGVlcnMsDQo+ID4+PiBMaW9yLg0KPiA+Pj4NCj4gPj4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBBaG1hZCBGYXRvdW0gPGFobWFkQGEzZi5h dD4NCj4gPj4+IFNlbnQ6IFN1bmRheSwgTWF5IDI4LCAyMDIzIDY6MzggUE0NCj4gPj4+IFRvOiBi YXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gPj4+IENjOiBMaW9yIFdlaW50cmF1YiA8bGlv cndAcGxpb3BzLmNvbT4NCj4gPj4+IFN1YmplY3Q6IFtQQVRDSCB2Ml0gUG9ydGluZyBiYXJlYm94 IHRvIGEgbmV3IFNvQw0KPiA+Pj4NCj4gPj4+IENBVVRJT046IEV4dGVybmFsIFNlbmRlcg0KPiA+ Pj4NCj4gPj4+IEZyb206IExpb3IgV2VpbnRyYXViIDxsaW9yd0BwbGlvcHMuY29tPg0KPiA+Pj4N Cj4gPj4+IEhpLA0KPiA+Pj4NCj4gPj4+IEkgdHJpZWQgdG8gZm9sbG93IHRoZSBwb3J0aW5nIGd1 aWRlIG9uIGh0dHBzOi8vZGRlYzEtMC1lbi0NCj4gPj4NCj4gY3RwLnRyZW5kbWljcm8uY29tOjQ0 My93aXMvY2xpY2t0aW1lL3YxL3F1ZXJ5P3VybD1odHRwcyUzYSUyZiUyZnd3dy4NCj4gPj4NCj4g YmFyZWJveC5vcmclMmZkb2MlMmZsYXRlc3QlMmZkZXZlbCUyZnBvcnRpbmcuaHRtbCUyMyZ1bWlk PTYwMDk3ZWRhDQo+ID4+IC1mMTM2LTQ1YTEtOWM4ZS0NCj4gPj4gY2Y2YTc2ZTQ1Y2Y4JmF1dGg9 ODYwYTdlYmI5ZmViYTI2NGFjYzc5YjZlMzhlYjU5NTgyMzQ5MzYyYy0NCj4gPj4gNDgwYWUyMzcz NmFkZDQxYzg4YWI4ZDMwYzA5MGE3NTUxN2NhN2Y5ZSBidXQgY291bGRuJ3QgZm9sbG93IHRoZQ0K PiA+PiBpbnN0cnVjdGlvbnMuDQo+ID4+PiBJIHdvdWxkIGxpa2UgdG8gcG9ydCBiYXJlYm94IHRv IGEgbmV3IFNvQyAod2hpY2ggaXMgbm90IGEgZGVyaXZhdGl2ZSBvZiBhbnkNCj4gPj4ga25vd24g U29DKS4NCj4gPj4+IEl0IGhhcyB0aGUgZm9sbG93aW5nOg0KPiA+Pj4gKiBTaW5nbGUgQ29ydGV4 IEE1Mw0KPiA+Pj4gKiBTUkFNICg0TUIpIGxvY2F0ZWQgb24gYWRkcmVzcyAweEMwMDAwMDAwMDAN Cj4gPj4+DQo+ID4+PiBUaGUgYmVsb3cgcGF0Y2ggc2hvd3MgbXkgaW5pdGlhbCB0ZXN0IHRvIHRy eSBhbmQgaGF2ZSBhIHN0YXJ0aW5nIHBvaW50Lg0KPiA+Pj4gSSBhbSBzZXR0aW5nIGVudiB2YXJp YWJsZXM6DQo+ID4+PiBleHBvcnQgQVJDSD1hcm02NA0KPiA+Pj4gZXhwb3J0IENST1NTX0NPTVBJ TEU9L2hvbWUvcGxpb3BzL3dvcmtzcGFjZS9BUk0vYXJtLWdudS0NCj4gPj4gdG9vbGNoYWluL2Jp bi9hYXJjaDY0LW5vbmUtZWxmLQ0KPiA+Pj4NCj4gPj4+IFRoZW4gSSBidWlsZCB3aXRoOg0KPiA+ Pj4gbWFrZSBzcGlkZXJfZGVmY29uZmlnICYmIG1ha2UNCj4gPj4+DQo+ID4+PiBUaGlzIGdpdmVz IGFuIGVycm9yOg0KPiA+Pj4gYWFyY2g2NC1ub25lLWVsZi1nY2M6IGVycm9yOiB1bnJlY29nbml6 ZWQgYXJndW1lbnQgaW4gb3B0aW9uICctDQo+IG1hYmk9YXBjcy0NCj4gPj4gZ251Jw0KPiA+Pj4g YWFyY2g2NC1ub25lLWVsZi1nY2M6IG5vdGU6IHZhbGlkIGFyZ3VtZW50cyB0byAnLW1hYmk9JyBh cmU6IGlscDMyIGxwNjQNCj4gPj4+IGFhcmNoNjQtbm9uZS1lbGYtZ2NjOiBlcnJvcjogdW5yZWNv Z25pemVkIGNvbW1hbmQtbGluZSBvcHRpb24gJy1tc29mdC0NCj4gPj4gZmxvYXQnDQo+ID4+PiBh YXJjaDY0LW5vbmUtZWxmLWdjYzogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0 aW9uICctbW5vLQ0KPiA+PiB1bmFsaWduZWQtYWNjZXNzJw0KPiA+Pj4gL2hvbWUvcGxpb3BzL3dv cmtzcGFjZS9zaW1wbGVzdC1saW51eC0NCj4gPj4gZGVtby9iYXJlYm94L3NjcmlwdHMvTWFrZWZp bGUuYnVpbGQ6MTQwOiByZWNpcGUgZm9yIHRhcmdldA0KPiA+PiAnc2NyaXB0cy9tb2QvZW1wdHku bycgZmFpbGVkDQo+ID4+PiBtYWtlWzJdOiAqKiogW3NjcmlwdHMvbW9kL2VtcHR5Lm9dIEVycm9y IDENCj4gPj4+DQo+ID4+PiBOb3Qgc3VyZSB3aHkgdGhlIGNvbXBpbGVyIGZsYWdzIGdldCAtbWFi aT1hcGNzLWdudSB3aGVuIEkgZXhwbGljaXRseSBzZXQNCj4gPj4gQ09ORklHX0NQVV9WOCBhbmQg dGhlIGFyY2gvYXJtL01ha2VmaWxlIGhhczoNCj4gPj4+IGlmZXEgKCQoQ09ORklHX0NQVV9WOCks IHkpDQo+ID4+PiBDRkxBR1NfQUJJICAgICAgOj0tbWFiaT1scDY0DQo+ID4+Pg0KPiA+Pj4gVGhl IGNoYW5nZXMgSSBkaWQ6DQo+ID4+PiA+RnJvbSA4NDhiNWY5YjE4YmIxYmI5NmQxOTdjYmMxYjM2 OGVlMGE3MjlkNTgxIE1vbiBTZXAgMTcNCj4gPj4gMDA6MDA6MDAgMjAwMQ0KPiA+Pj4gLS0tDQo+ ID4+PiAgYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysr DQo+ID4+PiAgYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICB8ICAxICsNCj4g Pj4+ICBhcmNoL2FybS9ib2FyZHMvTWFrZWZpbGUgICAgICAgICAgICAgIHwgIDEgKw0KPiA+Pj4g IGFyY2gvYXJtL2JvYXJkcy9zcGlkZXItZXZrL01ha2VmaWxlICAgfCAgNCArKysNCj4gPj4+ICBh cmNoL2FybS9ib2FyZHMvc3BpZGVyLWV2ay9ib2FyZC5jICAgIHwgMjYgKysrKysrKysrKysrKysr DQo+ID4+PiAgYXJjaC9hcm0vYm9hcmRzL3NwaWRlci1ldmsvbG93bGV2ZWwuYyB8IDMwICsrKysr KysrKysrKysrKysrDQo+ID4+PiAgYXJjaC9hcm0vY29uZmlncy9zcGlkZXJfZGVmY29uZmlnICAg ICB8ICA4ICsrKysrDQo+ID4+PiAgYXJjaC9hcm0vZHRzL01ha2VmaWxlICAgICAgICAgICAgICAg ICB8ICAxICsNCj4gPj4+ICBhcmNoL2FybS9kdHMvc3BpZGVyLW1rMS1ldmsuZHRzICAgICAgIHwg MTAgKysrKysrDQo+ID4+PiAgYXJjaC9hcm0vZHRzL3NwaWRlci1tazEuZHRzaSAgICAgICAgICB8 IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+Pj4gIGFyY2gvYXJtL21hY2gtc3Bp ZGVyL0tjb25maWcgICAgICAgICAgfCAxNiArKysrKysrKysrDQo+ID4+PiAgYXJjaC9hcm0vbWFj aC1zcGlkZXIvTWFrZWZpbGUgICAgICAgICB8ICAxICsNCj4gPj4+ICBhcmNoL2FybS9tYWNoLXNw aWRlci9sb3dsZXZlbC5jICAgICAgIHwgMTQgKysrKysrKysNCj4gPj4+ICBpbWFnZXMvTWFrZWZp bGUgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+Pj4gIGltYWdlcy9NYWtlZmlsZS5z cGlkZXIgICAgICAgICAgICAgICAgfCAgNSArKysNCj4gPj4+ICBpbmNsdWRlL21hY2gvc3BpZGVy L2xvd2xldmVsLmggICAgICAgIHwgIDcgKysrKw0KPiA+Pj4gIDE2IGZpbGVzIGNoYW5nZWQsIDE4 NCBpbnNlcnRpb25zKCspDQo+ID4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJk cy9zcGlkZXItZXZrL01ha2VmaWxlDQo+ID4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJt L2JvYXJkcy9zcGlkZXItZXZrL2JvYXJkLmMNCj4gPj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJj aC9hcm0vYm9hcmRzL3NwaWRlci1ldmsvbG93bGV2ZWwuYw0KPiA+Pj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBhcmNoL2FybS9jb25maWdzL3NwaWRlcl9kZWZjb25maWcgIGNyZWF0ZSBtb2RlDQo+ID4+ IDEwMDY0NCBhcmNoL2FybS9kdHMvc3BpZGVyLW1rMS1ldmsuZHRzICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gPj4gYXJjaC9hcm0vZHRzL3NwaWRlci1tazEuZHRzaSAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGFyY2gvYXJtL21hY2gtDQo+ID4+IHNwaWRlci9LY29uZmlnICBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9hcm0vbWFjaC1zcGlkZXIvTWFrZWZpbGUNCj4gY3JlYXRlDQo+ID4+IG1vZGUgMTAwNjQ0 IGFyY2gvYXJtL21hY2gtc3BpZGVyL2xvd2xldmVsLmMgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+ PiBpbWFnZXMvTWFrZWZpbGUuc3BpZGVyICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gaW5jbHVkZS9t YWNoL3NwaWRlci9sb3dsZXZlbC5oDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJt L0tjb25maWcgYi9hcmNoL2FybS9LY29uZmlnIGluZGV4DQo+ID4+IGU3NmVlMGY2ZGZlMS4uZTVk Y2YxMjg0NDdlIDEwMDY0NA0KPiA+Pj4gLS0tIGEvYXJjaC9hcm0vS2NvbmZpZw0KPiA+Pj4gKysr IGIvYXJjaC9hcm0vS2NvbmZpZw0KPiA+Pj4gQEAgLTI1NSw2ICsyNTUsMTggQEAgY29uZmlnIEFS Q0hfUk9DS0NISVANCj4gPj4+ICAgICAgICAgc2VsZWN0IEhBU19ERUJVR19MTA0KPiA+Pj4gICAg ICAgICBpbXBseSBHUElPX1JPQ0tDSElQDQo+ID4+Pg0KPiA+Pj4gK2NvbmZpZyBBUkNIX1NQSURF Ug0KPiA+Pj4gKyAgICAgICBib29sICJQbGlvcHMgU3BpZGVyIGJhc2VkIg0KPiA+Pj4gKyAgICAg ICBkZXBlbmRzIG9uIDY0QklUDQo+ID4+PiArICAgICAgIGRlcGVuZHMgb24gQVJDSF9NVUxUSUFS Q0gNCj4gPj4+ICsgICAgICAgc2VsZWN0IEdQSU9MSUINCj4gPj4+ICsgICAgICAgc2VsZWN0IEhB VkVfUEJMX01VTFRJX0lNQUdFUw0KPiA+Pj4gKyAgICAgICBzZWxlY3QgQ09NTU9OX0NMSw0KPiA+ Pj4gKyAgICAgICBzZWxlY3QgQ0xLREVWX0xPT0tVUA0KPiA+Pj4gKyAgICAgICBzZWxlY3QgQ09N TU9OX0NMS19PRl9QUk9WSURFUg0KPiA+Pj4gKyAgICAgICBzZWxlY3QgT0ZUUkVFDQo+ID4+PiAr ICAgICAgIHNlbGVjdCBPRkRFVklDRQ0KPiA+Pj4gKw0KPiA+Pj4gIGNvbmZpZyBBUkNIX1NUTTMy TVANCj4gPj4+ICAgICAgICAgYm9vbCAiU1RNaWNyb2VsZWN0cm9uaWNzIFNUTTMyTVAiDQo+ID4+ PiAgICAgICAgIGRlcGVuZHMgb24gMzJCSVQNCj4gPj4+IEBAIC0zMzEsNiArMzQzLDcgQEAgc291 cmNlICJhcmNoL2FybS9tYWNoLW9tYXAvS2NvbmZpZyINCj4gPj4+ICBzb3VyY2UgImFyY2gvYXJt L21hY2gtcHhhL0tjb25maWciDQo+ID4+PiAgc291cmNlICJhcmNoL2FybS9tYWNoLXJvY2tjaGlw L0tjb25maWciDQo+ID4+PiAgc291cmNlICJhcmNoL2FybS9tYWNoLXNvY2ZwZ2EvS2NvbmZpZyIN Cj4gPj4+ICtzb3VyY2UgImFyY2gvYXJtL21hY2gtc3BpZGVyL0tjb25maWciDQo+ID4+PiAgc291 cmNlICJhcmNoL2FybS9tYWNoLXN0bTMybXAvS2NvbmZpZyINCj4gPj4+ICBzb3VyY2UgImFyY2gv YXJtL21hY2gtdmVyc2F0aWxlL0tjb25maWciDQo+ID4+PiAgc291cmNlICJhcmNoL2FybS9tYWNo LXZleHByZXNzL0tjb25maWciDQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vTWFrZWZpbGUg Yi9hcmNoL2FybS9NYWtlZmlsZSBpbmRleA0KPiA+PiAzNWViYzcwZjQ0ZTIuLjRjNjNkZmVlNDhm NCAxMDA2NDQNCj4gPj4+IC0tLSBhL2FyY2gvYXJtL01ha2VmaWxlDQo+ID4+PiArKysgYi9hcmNo L2FybS9NYWtlZmlsZQ0KPiA+Pj4gQEAgLTEwMSw2ICsxMDEsNyBAQCBtYWNoaW5lLSQoQ09ORklH X0FSQ0hfTVhTKSAgICAgICAgICArPSBteHMNCj4gPj4+ICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hf TVZFQlUpICAgICAgICAgICArPSBtdmVidQ0KPiA+Pj4gIG1hY2hpbmUtJChDT05GSUdfQVJDSF9O T01BRElLKSAgICAgICAgICs9IG5vbWFkaWsNCj4gPj4+ICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hf T01BUCkgICAgICAgICAgICArPSBvbWFwDQo+ID4+PiArbWFjaGluZS0kKENPTkZJR19BUkNIX1NQ SURFUikgICAgICAgICAgKz0gc3BpZGVyDQo+ID4+PiAgbWFjaGluZS0kKENPTkZJR19BUkNIX1BY QSkgICAgICAgICAgICAgKz0gcHhhDQo+ID4+PiAgbWFjaGluZS0kKENPTkZJR19BUkNIX1JPQ0tD SElQKSAgICAgICAgICAgICAgICArPSByb2NrY2hpcA0KPiA+Pj4gIG1hY2hpbmUtJChDT05GSUdf QVJDSF9TQU1TVU5HKSAgICAgICAgICs9IHNhbXN1bmcNCj4gPj4+IGRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvTWFrZWZpbGUgYi9hcmNoL2FybS9ib2FyZHMvTWFrZWZpbGUgaW5kZXgNCj4g Pj4gMjg3N2RlYmFkNTM1Li42ZmUwYTkwYzgxZWEgMTAwNjQ0DQo+ID4+PiAtLS0gYS9hcmNoL2Fy bS9ib2FyZHMvTWFrZWZpbGUNCj4gPj4+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9NYWtlZmlsZQ0K PiA+Pj4gQEAgLTEzNSw2ICsxMzUsNyBAQCBvYmotDQo+ID4+ICQoQ09ORklHX01BQ0hfU09DRlBH QV9URVJBU0lDX0RFMTBfTkFOTykgICAgICAgICs9IHRlcmFzaWMtZGUxMC0NCj4gPj4gbmFuby8N Cj4gPj4+ICBvYmotJChDT05GSUdfTUFDSF9TT0NGUEdBX1RFUkFTSUNfU09DS0lUKSAgICAgICs9 IHRlcmFzaWMtc29ja2l0Lw0KPiA+Pj4gIG9iai0kKENPTkZJR19NQUNIX1NPTElEUlVOX0NVQk9Y KSAgICAgICAgICAgICAgKz0gc29saWRydW4tY3Vib3gvDQo+ID4+PiAgb2JqLSQoQ09ORklHX01B Q0hfU09MSURSVU5fTUlDUk9TT00pICAgICAgICAgICArPSBzb2xpZHJ1bi0NCj4gPj4gbWljcm9z b20vDQo+ID4+PiArb2JqLSQoQ09ORklHX01BQ0hfU1BJREVSX01LMV9FVkspICAgICAgICAgICAg ICArPSBzcGlkZXItZXZrLw0KPiA+Pj4gIG9iai0kKENPTkZJR19NQUNIX1NUTTMyTVAxNVhYX0RL WCkgICAgICAgICAgICAgKz0gc3RtMzJtcDE1eHgtDQo+IGRreC8NCj4gPj4+ICBvYmotJChDT05G SUdfTUFDSF9TVE0zMk1QMTNYWF9ESykgICAgICAgICAgICAgICs9IHN0bTMybXAxM3h4LWRrLw0K PiA+Pj4gIG9iai0kKENPTkZJR19NQUNIX0xYQV9NQzEpICAgICAgICAgICAgICAgICAgICAgKz0g bHhhLW1jMS8NCj4gPj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvc3BpZGVyLWV2ay9N YWtlZmlsZQ0KPiA+PiBiL2FyY2gvYXJtL2JvYXJkcy9zcGlkZXItZXZrL01ha2VmaWxlDQo+ID4+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi5kYTYzZDI2 MjVmN2ENCj4gPj4+IC0tLSAvZGV2L251bGwNCj4gPj4+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9z cGlkZXItZXZrL01ha2VmaWxlDQo+ID4+PiBAQCAtMCwwICsxLDQgQEANCj4gPj4+ICsjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gPj4+ICsNCj4gPj4+ICtvYmoteSAr PSBib2FyZC5vDQo+ID4+PiArbHdsLXkgKz0gbG93bGV2ZWwubw0KPiA+Pj4gZGlmZiAtLWdpdCBh L2FyY2gvYXJtL2JvYXJkcy9zcGlkZXItZXZrL2JvYXJkLmMNCj4gYi9hcmNoL2FybS9ib2FyZHMv c3BpZGVyLQ0KPiA+PiBldmsvYm9hcmQuYw0KPiA+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g Pj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMzkyMGU4M2I0NTdkDQo+ID4+PiAtLS0gL2Rldi9udWxs DQo+ID4+PiArKysgYi9hcmNoL2FybS9ib2FyZHMvc3BpZGVyLWV2ay9ib2FyZC5jDQo+ID4+PiBA QCAtMCwwICsxLDI2IEBADQo+ID4+PiArI2luY2x1ZGUgPGJidS5oPg0KPiA+Pj4gKyNpbmNsdWRl IDxib290Lmg+DQo+ID4+PiArI2luY2x1ZGUgPGJvb3RtLmg+DQo+ID4+PiArI2luY2x1ZGUgPGNv bW1vbi5oPg0KPiA+Pj4gKyNpbmNsdWRlIDxkZWVwLXByb2JlLmg+DQo+ID4+PiArI2luY2x1ZGUg PGVudmlyb25tZW50Lmg+DQo+ID4+PiArI2luY2x1ZGUgPGZjbnRsLmg+DQo+ID4+PiArI2luY2x1 ZGUgPGdsb2JhbHZhci5oPg0KPiA+Pj4gKw0KPiA+Pj4gK3N0YXRpYyBpbnQgc3BpZGVyX2JvYXJk X3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldikgew0KPiA+Pj4gKyAgICAgIC8qIERvIHNvbWUgYm9h cmQtc3BlY2lmaWMgc2V0dXAgKi8NCj4gPj4+ICsgICAgICByZXR1cm4gMDsNCj4gPj4+ICt9DQo+ ID4+PiArDQo+ID4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3BpZGVyX2Jv YXJkX29mX21hdGNoW10gPSB7DQo+ID4+PiArICAgICAgeyAuY29tcGF0aWJsZSA9ICJwbGlvcHMs c3BpZGVyLW1rMS1ldmsiIH0sDQo+ID4+PiArICAgICAgeyAvKiBzZW50aW5lbCAqLyB9LA0KPiA+ Pj4gK307DQo+ID4+PiArDQo+ID4+PiArc3RhdGljIHN0cnVjdCBkcml2ZXIgc3BpZGVyX2JvYXJk X2RyaXZlciA9IHsNCj4gPj4+ICsgICAgICAubmFtZSA9ICJib2FyZC1zcGlkZXIiLA0KPiA+Pj4g KyAgICAgIC5wcm9iZSA9IHNwaWRlcl9ib2FyZF9wcm9iZSwNCj4gPj4+ICsgICAgICAub2ZfY29t cGF0aWJsZSA9IHNwaWRlcl9ib2FyZF9vZl9tYXRjaCwgfTsNCj4gPj4+ICtkZXZpY2VfcGxhdGZv cm1fZHJpdmVyKHNwaWRlcl9ib2FyZF9kcml2ZXIpOw0KPiA+Pj4gZGlmZiAtLWdpdCBhL2FyY2gv YXJtL2JvYXJkcy9zcGlkZXItZXZrL2xvd2xldmVsLmMNCj4gPj4gYi9hcmNoL2FybS9ib2FyZHMv c3BpZGVyLWV2ay9sb3dsZXZlbC5jDQo+ID4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+Pj4g aW5kZXggMDAwMDAwMDAwMDAwLi5lMzZmY2RlNDIwOGUNCj4gPj4+IC0tLSAvZGV2L251bGwNCj4g Pj4+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9zcGlkZXItZXZrL2xvd2xldmVsLmMNCj4gPj4+IEBA IC0wLDAgKzEsMzAgQEANCj4gPj4+ICsjaW5jbHVkZSA8Y29tbW9uLmg+DQo+ID4+PiArI2luY2x1 ZGUgPGFzbS9iYXJlYm94LWFybS5oPg0KPiA+Pj4gKyNpbmNsdWRlIDxtYWNoL3NwaWRlci9sb3ds ZXZlbC5oPg0KPiA+Pj4gKw0KPiA+Pj4gKyNkZWZpbmUgQkFTRV9BRERSICAgICAgICgweEQwMDAz MDcwMDApDQo+ID4+PiArI2RlZmluZSBHUFJBTV9BRERSICAgICAgKDB4QzAwMDAwMDAwMCkNCj4g Pj4+ICsjZGVmaW5lIE1ZX1NUQUNLX1RPUCAgICAoMHhDMDAwMDAwMDAwICsgU1pfMk0pIC8vIFNl dCB0aGUgc3RhY2sNCj4gMk1CDQo+ID4+IGZyb20gR1BSQU0gc3RhcnQgKGV4Y2F0bHkgaW4gdGhl IG1pZGRsZSkNCj4gPj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgc3BpZGVyX3NlcmlhbF9wdXRjKHZv aWQgKmJhc2UsIGludCBjKSB7DQo+ID4+PiArLy8gICAgIGlmICghKHJlYWRsKGJhc2UgKyBVQ1Ix KSAmIFVDUjFfVUFSVEVOKSkNCj4gPj4+ICsvLyAgICAgICAgICAgICByZXR1cm47DQo+ID4+PiAr Ly8NCj4gPj4+ICsvLyAgICAgd2hpbGUgKCEocmVhZGwoYmFzZSArIFVTUjIpICYgVVNSMl9UWERD KSk7DQo+ID4+PiArLy8NCj4gPj4+ICsvLyAgICAgd3JpdGVsKGMsIGJhc2UgKyBVUlRYMCk7DQo+ ID4+PiArfQ0KPiA+Pj4gKw0KPiA+Pj4gK0VOVFJZX0ZVTkNUSU9OX1dJVEhTVEFDSyhzdGFydF9z cGlkZXJfbWsxX2V2aywgTVlfU1RBQ0tfVE9QLA0KPiA+PiByMCwgcjEsDQo+ID4+PiArcjIpIHsN Cj4gPj4+ICsgICAgICAgZXh0ZXJuIGNoYXIgX19kdGJfc3BpZGVyX21rMV9ldmtfc3RhcnRbXTsN Cj4gPj4+ICsNCj4gPj4+ICsgICAgICAgc3BpZGVyX2xvd2xldmVsX2luaXQoKTsNCj4gPj4+ICsN Cj4gPj4+ICsgICAgICAgcmVsb2NhdGVfdG9fY3VycmVudF9hZHIoKTsNCj4gPj4+ICsgICAgICAg c2V0dXBfYygpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICBwYmxfc2V0X3B1dGMoc3BpZGVyX3Nl cmlhbF9wdXRjLCAodm9pZCAqKUJBU0VfQUREUik7DQo+ID4+PiArDQo+ID4+PiArICAgICAgIGJh cmVib3hfYXJtX2VudHJ5KEdQUkFNX0FERFIsIFNaXzJNLA0KPiA+Pj4gK19fZHRiX3NwaWRlcl9t azFfZXZrX3N0YXJ0KTsgfQ0KPiA+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3Bp ZGVyX2RlZmNvbmZpZw0KPiA+PiBiL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpZGVyX2RlZmNvbmZpZw0K PiA+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYzkx YmI4ODlkOTdmDQo+ID4+PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9hcmNoL2FybS9jb25m aWdzL3NwaWRlcl9kZWZjb25maWcNCj4gPj4+IEBAIC0wLDAgKzEsOCBAQA0KPiA+Pj4gK0NPTkZJ R19BUkNIX1NQSURFUj15DQo+ID4+PiArQ09ORklHX01BQ0hfU1BJREVSX01LMV9FVks9eQ0KPiA+ Pj4gK0NPTkZJR19CT0FSRF9BUk1fR0VORVJJQ19EVD15DQo+ID4+PiArQ09ORklHX01BTExPQ19U TFNGPXkNCj4gPj4+ICtDT05GSUdfS0FMTFNZTVM9eQ0KPiA+Pj4gK0NPTkZJR19SRUxPQ0FUQUJM RT15DQo+ID4+PiArQ09ORklHX0NPTlNPTEVfQUxMT1dfQ09MT1I9eQ0KPiA+Pj4gK0NPTkZJR19Q QkxfQ09OU09MRT15DQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vZHRzL01ha2VmaWxlIGIv YXJjaC9hcm0vZHRzL01ha2VmaWxlIGluZGV4DQo+ID4+IDk4ZjRjNGUwMTk0Yi4uOTRiMzA0ZDQ4 NzhmIDEwMDY0NA0KPiA+Pj4gLS0tIGEvYXJjaC9hcm0vZHRzL01ha2VmaWxlDQo+ID4+PiArKysg Yi9hcmNoL2FybS9kdHMvTWFrZWZpbGUNCj4gPj4+IEBAIC0xMzQsNiArMTM0LDcgQEAgbHdsLSQo Q09ORklHX01BQ0hfU09MSURSVU5fQ1VCT1gpICs9DQo+IGRvdmUtDQo+ID4+IGN1Ym94LWJiLmR0 Yi5vDQo+ID4+PiAgbHdsLSQoQ09ORklHX01BQ0hfU09MSURSVU5fTUlDUk9TT00pICs9IGlteDZk bC0NCj4gPj4gaHVtbWluZ2JvYXJkLmR0Yi5vIGlteDZxLWh1bW1pbmdib2FyZC5kdGIubyBcDQo+ ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlteDZkbC1odW1taW5nYm9hcmQy LmR0Yi5vIGlteDZxLQ0KPiA+PiBodW1taW5nYm9hcmQyLmR0Yi5vIFwNCj4gPj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW14NnEtaDEwMC5kdGIubw0KPiA+Pj4gK2x3bC0kKENP TkZJR19NQUNIX1NQSURFUl9NSzFfRVZLKSArPSBzcGlkZXItbWsxLWV2ay5kdGIubw0KPiA+Pj4g IGx3bC0kKENPTkZJR19NQUNIX1NLT1ZfSU1YNikgKz0gaW14NnMtc2tvdi1pbXg2LmR0Yi5vIGlt eDZkbC0NCj4gc2tvdi0NCj4gPj4gaW14Ni5kdGIubyBpbXg2cS1za292LWlteDYuZHRiLm8NCj4g Pj4+ICBsd2wtJChDT05GSUdfTUFDSF9TS09WX0FSTTlDUFUpICs9IGF0OTEtc2tvdi1hcm05Y3B1 LmR0Yi5vDQo+ID4+PiAgbHdsLSQoQ09ORklHX01BQ0hfU0VFRURfT0RZU1NFWSkgKz0gc3RtMzJt cDE1N2Mtb2R5c3NleS5kdGIubw0KPiA+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vZHRzL3NwaWRl ci1tazEtZXZrLmR0cyBiL2FyY2gvYXJtL2R0cy9zcGlkZXItbWsxLQ0KPiA+PiBldmsuZHRzIG5l dyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4IDAwMDAwMDAwMDAwMC4uYjgwODFjYjg1YmY4DQo+ID4+ PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9hcmNoL2FybS9kdHMvc3BpZGVyLW1rMS1ldmsu ZHRzDQo+ID4+PiBAQCAtMCwwICsxLDEwIEBADQo+ID4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAgT1IgWDExDQo+ID4+PiArDQo+ID4+PiArL2R0cy12MS87DQo+ID4+PiAr DQo+ID4+PiArI2luY2x1ZGUgInNwaWRlci1tazEuZHRzaSINCj4gPj4+ICsNCj4gPj4+ICsvIHsN Cj4gPj4+ICsgICAgICAgbW9kZWwgPSAiUGxpb3BzIFNwaWRlciBNSy1JIEVWSyI7DQo+ID4+PiAr ICAgICAgIGNvbXBhdGlibGUgPSAicGxpb3BzLHNwaWRlci1tazEtZXZrIjsgfTsNCj4gPj4+IGRp ZmYgLS1naXQgYS9hcmNoL2FybS9kdHMvc3BpZGVyLW1rMS5kdHNpIGIvYXJjaC9hcm0vZHRzL3Nw aWRlci1tazEuZHRzaQ0KPiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwMDAw MDAuLmQ0NjEzODQ4MTY5ZA0KPiA+Pj4gLS0tIC9kZXYvbnVsbA0KPiA+Pj4gKysrIGIvYXJjaC9h cm0vZHRzL3NwaWRlci1tazEuZHRzaQ0KPiA+Pj4gQEAgLTAsMCArMSw0NiBAQA0KPiA+Pj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIFgxMQ0KPiA+Pj4gKw0KPiA+Pj4g Ky8gew0KPiA+Pj4gKyAgICAgICAjYWRkcmVzcy1jZWxscyA9IDwyPjsNCj4gPj4+ICsgICAgICAg I3NpemUtY2VsbHMgPSA8Mj47DQo+ID4+PiArDQo+ID4+PiArICAgICAgIGNob3NlbiB7DQo+ID4+ PiArICAgICAgICAgICAgICAgc3Rkb3V0LXBhdGggPSAmdWFydDA7DQo+ID4+PiArICAgICAgIH07 DQo+ID4+PiArDQo+ID4+PiArICAgICAgIGFsaWFzZXMgew0KPiA+Pj4gKyAgICAgICAgICAgICAg IHNlcmlhbDAgPSAmdWFydDA7DQo+ID4+PiArICAgICAgIH07DQo+ID4+PiArDQo+ID4+PiArICAg ICAgIGNwdXMgew0KPiA+Pj4gKyAgICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDE+Ow0K PiA+Pj4gKyAgICAgICAgICAgICAgICNzaXplLWNlbGxzID0gPDA+Ow0KPiA+Pj4gKw0KPiA+Pj4g KyAgICAgICAgICAgICAgIGNwdTA6IGNwdUAwIHsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIGRldmljZV90eXBlID0gImNwdSI7DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICBj b21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIHJlZyA9IDwweDA+Ow0KPiA+Pj4gKyAgICAgICAgICAgICAgIH07DQo+ID4+PiArICAgICAg IH07DQo+ID4+PiArDQo+ID4+PiArICAgICAgIG1lbW9yeUAxMDAwMDAwIHsNCj4gPj4+ICsgICAg ICAgICAgICAgICByZWcgPSA8MHgwIDB4MTAwMDAwMCAweDAgMHg0MDAwMDA+OyAvKiAxMjhNICov DQo+ID4+PiArICAgICAgICAgICAgICAgZGV2aWNlX3R5cGUgPSAibWVtb3J5IjsNCj4gPj4+ICsg ICAgICAgfTsNCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgc29jIHsNCj4gPj4+ICsgICAgICAgICAg ICAgICAjYWRkcmVzcy1jZWxscyA9IDwyPjsNCj4gPj4+ICsgICAgICAgICAgICAgICAjc2l6ZS1j ZWxscyA9IDwyPjsNCj4gPj4+ICsgICAgICAgICAgICAgICByYW5nZXM7DQo+ID4+PiArDQo+ID4+ PiArICAgICAgICAgICAgICAgc3JhbUBjMDAwMDAwMDAwIHsNCj4gPj4+ICsgICAgICAgICAgICAg ICAgICAgICAgIGNvbXBhdGlibGUgPSAibW1pby1zcmFtIjsNCj4gPj4+ICsgICAgICAgICAgICAg ICAgICAgICAgIHJlZyA9IDwweGMwIDB4MCAweDAgMHg0MDAwMDA+Ow0KPiA+Pj4gKyAgICAgICAg ICAgICAgIH07DQo+ID4+PiArDQo+ID4+PiArICAgICAgICAgICAgICAgdWFydDA6IHNlcmlhbEBk MDAwMzA3MDAwIHsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAi cGxpb3BzLHNwaWRlci11YXJ0IjsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9 IDwweGQwIDB4MzA3MDAwIDAgMHgxMDAwPjsNCj4gPj4+ICsgICAgICAgICAgICAgICB9Ow0KPiA+ Pj4gKyAgICAgICB9Ow0KPiA+Pj4gK307DQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFj aC1zcGlkZXIvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtDQo+IHNwaWRlci9LY29uZmlnDQo+ID4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4IDAwMDAwMDAwMDAwMC4uNmQyZjg4OGE1ZmQ4DQo+ ID4+PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9hcmNoL2FybS9tYWNoLXNwaWRlci9LY29u ZmlnDQo+ID4+PiBAQCAtMCwwICsxLDE2IEBADQo+ID4+PiArIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5DQo+ID4+PiArDQo+ID4+PiAraWYgQVJDSF9TUElERVINCj4gPj4+ ICsNCj4gPj4+ICtjb25maWcgQVJDSF9TUElERVJfTUsxDQo+ID4+PiArICAgICAgIGJvb2wNCj4g Pj4+ICsgICAgICAgc2VsZWN0IENQVV9WOA0KPiA+Pj4gKyAgICAgICBoZWxwDQo+ID4+PiArICAg ICAgICAgVGhlIGZpcnN0IENvcnRleC1BNTMtYmFzZWQgU29DIG9mIHRoZSBzcGlkZXIgZmFtaWx5 Lg0KPiA+Pj4gKyAgICAgICAgIFRoaXMgc3ltYm9sIGlzIGludmlzYmxlIGFuZCBzZWxlY3QgYnkg Ym9hcmRzDQo+ID4+PiArDQo+ID4+PiArY29uZmlnIE1BQ0hfU1BJREVSX01LMV9FVksNCj4gPj4+ ICsgICAgICAgYm9vbCAiUGxpb3BzIFNwaWRlciBSZWZlcmVuY2UgRGVzaWduIEJvYXJkIg0KPiA+ Pj4gKyAgICAgICBzZWxlY3QgQVJDSF9TUElERVJfTUsxDQo+ID4+PiArDQo+ID4+PiArZW5kaWYN Cj4gPj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXNwaWRlci9NYWtlZmlsZSBiL2FyY2gv YXJtL21hY2gtDQo+ID4+IHNwaWRlci9NYWtlZmlsZSBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRl eA0KPiAwMDAwMDAwMDAwMDAuLmIwOGM0YTkzY2EyNw0KPiA+Pj4gLS0tIC9kZXYvbnVsbA0KPiA+ Pj4gKysrIGIvYXJjaC9hcm0vbWFjaC1zcGlkZXIvTWFrZWZpbGUNCj4gPj4+IEBAIC0wLDAgKzEg QEANCj4gPj4+ICtsd2wteSArPSBsb3dsZXZlbC5vDQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vbWFjaC1zcGlkZXIvbG93bGV2ZWwuYyBiL2FyY2gvYXJtL21hY2gtDQo+ID4+IHNwaWRlci9s b3dsZXZlbC5jIG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4DQo+ID4+IDAwMDAwMDAwMDAwMC4u NWQ2MmVmMGYzOWU1DQo+ID4+PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9hcmNoL2FybS9t YWNoLXNwaWRlci9sb3dsZXZlbC5jDQo+ID4+PiBAQCAtMCwwICsxLDE0IEBADQo+ID4+PiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6ICAgICBHUEwtMi4wKw0KPiA+Pj4gKw0KPiA+Pj4gKyNp bmNsdWRlIDxsaW51eC90eXBlcy5oPg0KPiA+Pj4gKyNpbmNsdWRlIDxtYWNoL3NwaWRlci9sb3ds ZXZlbC5oPg0KPiA+Pj4gKyNpbmNsdWRlIDxhc20vYmFyZWJveC1hcm0taGVhZC5oPg0KPiA+Pj4g Kw0KPiA+Pj4gK3ZvaWQgc3BpZGVyX2xvd2xldmVsX2luaXQodm9pZCkNCj4gPj4+ICt7DQo+ID4+ PiArICAgICAgIGFybV9jcHVfbG93bGV2ZWxfaW5pdCgpOw0KPiA+Pj4gKyAgICAgICAvKg0KPiA+ Pj4gKyAgICAgICAgKiBub3QgeWV0IHJlbG9jYXRlZCwgb25seSBkbyB3cml0ZWwvcmVhZGwgZm9y IHN0dWZmIHRoYXQncw0KPiA+Pj4gKyAgICAgICAgKiBjcml0aWNhbCB0byBydW4gZWFybHkuIE5v IGdsb2JhbCB2YXJpYWJsZXMgYWxsb3dlZC4NCj4gPj4+ICsgICAgICAgICovDQo+ID4+PiArfQ0K PiA+Pj4gZGlmZiAtLWdpdCBhL2ltYWdlcy9NYWtlZmlsZSBiL2ltYWdlcy9NYWtlZmlsZSBpbmRl eA0KPiA+PiBjOTNmOWUyNjg5NzguLjk3NTIxZTcxMzIyOCAxMDA2NDQNCj4gPj4+IC0tLSBhL2lt YWdlcy9NYWtlZmlsZQ0KPiA+Pj4gKysrIGIvaW1hZ2VzL01ha2VmaWxlDQo+ID4+PiBAQCAtMTUw LDYgKzE1MCw3IEBAIGluY2x1ZGUgJChzcmN0cmVlKS9pbWFnZXMvTWFrZWZpbGUubXhzICBpbmNs dWRlDQo+ID4+ICQoc3JjdHJlZSkvaW1hZ2VzL01ha2VmaWxlLm9tYXAzICBpbmNsdWRlDQo+ID4+ ICQoc3JjdHJlZSkvaW1hZ2VzL01ha2VmaWxlLnJvY2tjaGlwDQo+ID4+PiAgaW5jbHVkZSAkKHNy Y3RyZWUpL2ltYWdlcy9NYWtlZmlsZS5zb2NmcGdhDQo+ID4+PiAraW5jbHVkZSAkKHNyY3RyZWUp L2ltYWdlcy9NYWtlZmlsZS5zcGlkZXINCj4gPj4+ICBpbmNsdWRlICQoc3JjdHJlZSkvaW1hZ2Vz L01ha2VmaWxlLnN0bTMybXANCj4gPj4+ICBpbmNsdWRlICQoc3JjdHJlZSkvaW1hZ2VzL01ha2Vm aWxlLnRlZ3JhICBpbmNsdWRlDQo+ID4+ICQoc3JjdHJlZSkvaW1hZ2VzL01ha2VmaWxlLnZlcnNh dGlsZQ0KPiA+Pj4gZGlmZiAtLWdpdCBhL2ltYWdlcy9NYWtlZmlsZS5zcGlkZXIgYi9pbWFnZXMv TWFrZWZpbGUuc3BpZGVyIG5ldyBmaWxlDQo+IG1vZGUNCj4gPj4gMTAwNjQ0IGluZGV4IDAwMDAw MDAwMDAwMC4uYzMyZjI3NjJkZjA0DQo+ID4+PiAtLS0gL2Rldi9udWxsDQo+ID4+PiArKysgYi9p bWFnZXMvTWFrZWZpbGUuc3BpZGVyDQo+ID4+PiBAQCAtMCwwICsxLDUgQEANCj4gPj4+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gPj4+ICsNCj4gPj4+ICtwYmxi LSQoQ09ORklHX01BQ0hfU1BJREVSX01LMV9FVkspICs9IHN0YXJ0X3NwaWRlcl9tazFfZXZrDQo+ ID4+PiArRklMRV9iYXJlYm94LXNwaWRlci1tazEtZXZrLmltZyA9IHN0YXJ0X3NwaWRlcl9tazFf ZXZrLnBibGINCj4gPj4+ICtpbWFnZS0kKENPTkZJR19NQUNIX1NQSURFUl9NSzFfRVZLKSArPSBi YXJlYm94LXNwaWRlci1tazEtDQo+ID4+IGV2ay5pbWcNCj4gPj4+IGRpZmYgLS1naXQgYS9pbmNs dWRlL21hY2gvc3BpZGVyL2xvd2xldmVsLmgNCj4gPj4gYi9pbmNsdWRlL21hY2gvc3BpZGVyL2xv d2xldmVsLmggbmV3IGZpbGUgbW9kZSAxMDA2NDQgaW5kZXgNCj4gPj4gMDAwMDAwMDAwMDAwLi42 ZTBjZTFjNzdmN2UNCj4gPj4+IC0tLSAvZGV2L251bGwNCj4gPj4+ICsrKyBiL2luY2x1ZGUvbWFj aC9zcGlkZXIvbG93bGV2ZWwuaA0KPiA+Pj4gQEAgLTAsMCArMSw3IEBADQo+ID4+PiArLyogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjArICovICNpZm5kZWYgX19NQUNIX1NQSURFUl9I Xw0KPiA+Pj4gKyNkZWZpbmUgX19NQUNIX1NQSURFUl9IXw0KPiA+Pj4gKw0KPiA+Pj4gK3ZvaWQg c3BpZGVyX2xvd2xldmVsX2luaXQodm9pZCk7DQo+ID4+PiArDQo+ID4+PiArI2VuZGlmDQo+ID4+ PiAtLQ0KPiA+Pj4gMi4zOC40DQo+ID4+Pg0KPiA+Pj4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gUGVu Z3V0cm9uaXggZS5LLiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4gPj4gU3RldWVyd2FsZGVyIFN0ci4gMjEgICAgICAgICAgICAgICAg ICAgICAgIHwgaHR0cDovL3d3dy5wZW5ndXRyb25peC5kZS8gIHwNCj4gPj4gMzExMzcgSGlsZGVz aGVpbSwgR2VybWFueSAgICAgICAgICAgICAgICAgIHwgUGhvbmU6ICs0OS01MTIxLTIwNjkxNy0w ICAgIHwNCj4gPj4gQW10c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2ODYgICAgICAgICAgIHwg RmF4OiAgICs0OS01MTIxLTIwNjkxNy01NTU1IHwNCj4gPg0KPiANCj4gLS0NCj4gUGVuZ3V0cm9u aXggZS5LLiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwNCj4gU3RldWVyd2FsZGVyIFN0ci4gMjEgICAgICAgICAgICAgICAgICAgICAgIHwg aHR0cDovL3d3dy5wZW5ndXRyb25peC5kZS8gIHwNCj4gMzExMzcgSGlsZGVzaGVpbSwgR2VybWFu eSAgICAgICAgICAgICAgICAgIHwgUGhvbmU6ICs0OS01MTIxLTIwNjkxNy0wICAgIHwNCj4gQW10 c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2ODYgICAgICAgICAgIHwgRmF4OiAgICs0OS01MTIx LTIwNjkxNy01NTU1IHwNCg0K