From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4267 invoked by alias); 6 Sep 2017 13:17:26 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 3624 invoked by uid 89); 6 Sep 2017 13:17:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-10.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR03-DB5-obe.outbound.protection.outlook.com Received: from mail-oln040092071034.outbound.protection.outlook.com (HELO EUR03-DB5-obe.outbound.protection.outlook.com) (40.92.71.34) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Sep 2017 13:17:17 +0000 Received: from DB5EUR03FT055.eop-EUR03.prod.protection.outlook.com (10.152.20.54) by DB5EUR03HT012.eop-EUR03.prod.protection.outlook.com (10.152.20.173) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1385.11; Wed, 6 Sep 2017 13:17:08 +0000 Received: from AM5PR0701MB2657.eurprd07.prod.outlook.com (10.152.20.53) by DB5EUR03FT055.mail.protection.outlook.com (10.152.21.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.13.11 via Frontend Transport; Wed, 6 Sep 2017 13:17:08 +0000 Received: from AM5PR0701MB2657.eurprd07.prod.outlook.com ([fe80::8c96:1341:5db1:7f8c]) by AM5PR0701MB2657.eurprd07.prod.outlook.com ([fe80::8c96:1341:5db1:7f8c%18]) with mapi id 15.20.0035.010; Wed, 6 Sep 2017 13:17:07 +0000 From: Bernd Edlinger To: "Richard Earnshaw (lists)" , Kyrill Tkachov , "gcc-patches@gcc.gnu.org" CC: Ramana Radhakrishnan , Wilco Dijkstra Subject: Re: [PATCH, ARM] correctly encode the CC reg data flow Date: Wed, 06 Sep 2017 13:17:00 -0000 Message-ID: References: <3f5e5538-5dd3-b416-904f-b87f115336fe@arm.com> <59AD5B44.2080509@foss.arm.com> <6f24b217-9131-6aef-0cdb-f9f26a538fe9@arm.com> In-Reply-To: <6f24b217-9131-6aef-0cdb-f9f26a538fe9@arm.com> x-incomingtopheadermarker: OriginalChecksum:1529389BE6083D1BECB5657473F24697E8AA6FE599C4CFBDA8697C6898B19741;UpperCasedChecksum:D85D3E9C41868F04F9680F2F73FEA8DB8AC5EE4C263FC45E926A10F74BA1E087;SizeAsReceived:7895;Count:47 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [UcxLe7njkEOHTCoS/QxbUqU9DMNbc45Z] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB5EUR03HT012;6:mhWI6dFEd1IJnOsnNDIrdFmqlvEN6i5goCk9JJtQNfRjWW86GDt59LJU94sTrPTwl++YDynb4G5FPh1xJ5bR1Hu0Wgfpk8ICp7DzcRYjabOXjr4z+No9eaXAvYAaN9XAhGw3hW5M3geOrCCojIYO++neopFMGOQ30Cc/ximFO06djN7IlZrBwMjqwW4Rx+mPAT3XeRwKeNcQAe5waU/Vc9NJTET57eMvmOFP8Q0/tdk7fA5vi7NL8MQItBJdw3DfBPcr1JfqedWLSL0RCoB8Q/mO1wx/ZQGpbgbCk06uowayJt1qv5EBhWyPaPhGKex/CNGxP2DJduv2GheqSK92pA==;5:PovOmggQb6yanJUusBJV1DF2XSnUSbsVgHmoepJKR0cov4KFcDSIgLiV9FSkkmvqVgqYrNdHwo9iRdDujRYV/t94yOMyV6IGpfdmA/z60k3l8IcIBnRso0wDBcTqrhiGRQUpylX2Xq0GMlqyQEM/DQ==;24:EfwaATGFbzSmTRzKCqVgqtMAos3SBQYBceYdIQ+THZJSyrTaJhSZNe2hM6Ogq5//VPKoFKtUT+U5STSPf47aP2NPq+G8ic7T0Yyr0+TxuV4=;7:oTqPiHnJLtP2JF/aQUgP7zOrEmAPYxxcuNcyD3ufNQer0/GT5eJbBm449LKuqRICX0+uM5a3W4c2aWn7SoS5xJmYAOdbZujMsn2vo13OcIdJJoYgExZTrOlNQlrsyWaBykq2mSIW9+N4XiZjKGMGvYsy5zVbb4pjhvji6Ox5Pfw0//zgKnJq0Nc/KvMUuOcDKZd16VKfPQDMb50b6PxrXDfpt+VXKJtkw53nKmpwv0A= x-incomingheadercount: 47 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 988160b3-4432-4ebf-5722-08d4f52992a9 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125374)(1603101448)(1701031045)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DB5EUR03HT012; x-ms-traffictypediagnostic: DB5EUR03HT012: authentication-results: outbound.protection.outlook.com; spf=skipped (originating message); dkim=none (message not signed) header.d=none; dmarc=none action=none header.from=hotmail.de; x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031);SRVR:DB5EUR03HT012;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB5EUR03HT012; x-forefront-prvs: 0422860ED4 x-forefront-antispam-report: SFV:NSPM;SFS:(7070007)(98901004);DIR:OUT;SFP:1901;SCL:1;SRVR:DB5EUR03HT012;H:AM5PR0701MB2657.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_AM5PR0701MB26579A51C8FEC1232A3F607EE4970AM5PR0701MB2657_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2017 13:17:07.8962 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5EUR03HT012 X-SW-Source: 2017-09/txt/msg00369.txt.bz2 --_002_AM5PR0701MB26579A51C8FEC1232A3F607EE4970AM5PR0701MB2657_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Content-length: 22420 T24gMDkvMDYvMTcgMTQ6NTEsIFJpY2hhcmQgRWFybnNoYXcgKGxpc3RzKSB3 cm90ZToNCj4gT24gMDYvMDkvMTcgMTM6NDQsIEJlcm5kIEVkbGluZ2VyIHdy b3RlOg0KPj4gT24gMDkvMDQvMTcgMjE6NTQsIEJlcm5kIEVkbGluZ2VyIHdy b3RlOg0KPj4+IEhpIEt5cmlsbCwNCj4+Pg0KPj4+IFRoYW5rcyBmb3IgeW91 ciByZXZpZXchDQo+Pj4NCj4+Pg0KPj4+IE9uIDA5LzA0LzE3IDE1OjU1LCBL eXJpbGwgVGthY2hvdiB3cm90ZToNCj4+Pj4gSGkgQmVybmQsDQo+Pj4+DQo+ Pj4+IE9uIDE4LzAxLzE3IDE1OjM2LCBCZXJuZCBFZGxpbmdlciB3cm90ZToN Cj4+Pj4+IE9uIDAxLzEzLzE3IDE5OjI4LCBCZXJuZCBFZGxpbmdlciB3cm90 ZToNCj4+Pj4+PiBPbiAwMS8xMy8xNyAxNzoxMCwgQmVybmQgRWRsaW5nZXIg d3JvdGU6DQo+Pj4+Pj4+IE9uIDAxLzEzLzE3IDE0OjUwLCBSaWNoYXJkIEVh cm5zaGF3IChsaXN0cykgd3JvdGU6DQo+Pj4+Pj4+PiBPbiAxOC8xMi8xNiAx Mjo1OCwgQmVybmQgRWRsaW5nZXIgd3JvdGU6DQo+Pj4+Pj4+Pj4gSGksDQo+ Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiB0aGlzIGlzIHJlbGF0ZWQgdG8gUFI3NzMw OCwgdGhlIGZvbGxvdy11cCBwYXRjaCB3aWxsIGRlcGVuZCBvbiB0aGlzDQo+ Pj4+Pj4+Pj4gb25lLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gV2hlbiB0cnlp bmcgdGhlIHNwbGl0IHRoZSAqYXJtX2NtcGRpX2luc24gYW5kICphcm1fY21w ZGlfdW5zaWduZWQNCj4+Pj4+Pj4+PiBiZWZvcmUgcmVsb2FkLCBhIG1pcy1j b21waWxhdGlvbiBpbiBsaWJnY2MgZnVuY3Rpb24NCj4+Pj4+Pj4+PiBfX2du dV9zYXRmcmFjdGRhc3ENCj4+Pj4+Pj4+PiB3YXMgZGlzY292ZXJlZCwgc2Vl IFsxXSBmb3IgbW9yZSBkZXRhaWxzLg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4g VGhlIHJlYXNvbiBzZWVtcyB0byBiZSB0aGF0IHdoZW4gdGhlICphcm1fY21w ZGlfaW5zbiBpcyBkaXJlY3RseQ0KPj4+Pj4+Pj4+IGZvbGxvd2VkIGJ5IGEg KmFybV9jbXBkaV91bnNpZ25lZCBpbnN0cnVjdGlvbiwgYm90aCBhcmUgc3Bs aXQNCj4+Pj4+Pj4+PiB1cCBpbnRvIHRoaXM6DQo+Pj4+Pj4+Pj4NCj4+Pj4+ Pj4+PiAgICAgIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KPj4+Pj4+Pj4+ ICAgICAgICAgICAgKGNvbXBhcmU6Q0MgKG1hdGNoX2R1cCAwKSAobWF0Y2hf ZHVwIDEpKSkNCj4+Pj4+Pj4+PiAgICAgICAocGFyYWxsZWwgWyhzZXQgKHJl ZzpDQyBDQ19SRUdOVU0pDQo+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAg ICAgIChjb21wYXJlOkNDIChtYXRjaF9kdXAgMykgKG1hdGNoX2R1cCA0KSkp DQo+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAoc2V0IChtYXRjaF9kdXAg MikNCj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgKG1pbnVzOlNJ IChtYXRjaF9kdXAgNSkNCj4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGx0dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKQ0KPj4+ Pj4+Pj4+IChjb25zdF9pbnQNCj4+Pj4+Pj4+PiAwKSkpKV0pXQ0KPj4+Pj4+ Pj4+DQo+Pj4+Pj4+Pj4gICAgICBbKHNldCAocmVnOkNDIENDX1JFR05VTSkN Cj4+Pj4+Pj4+PiAgICAgICAgICAgIChjb21wYXJlOkNDIChtYXRjaF9kdXAg MikgKG1hdGNoX2R1cCAzKSkpDQo+Pj4+Pj4+Pj4gICAgICAgKGNvbmRfZXhl YyAoZXE6U0kgKHJlZzpDQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpDQo+ Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAoc2V0IChyZWc6Q0MgQ0NfUkVH TlVNKQ0KPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAoY29tcGFy ZTpDQyAobWF0Y2hfZHVwIDApIChtYXRjaF9kdXAgMSkpKSldDQo+Pj4+Pj4+ Pj4NCj4+Pj4+Pj4+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSByZWc6Q0Mg ZnJvbSB0aGUgKnN1YnNpM19jYXJyeWluX2NvbXBhcmUNCj4+Pj4+Pj4+PiBp cyBub3QgbWVudGlvbmluZyB0aGF0IHRoZSByZWc6Q0MgaXMgYWxzbyBkZXBl bmRlbnQgb24gdGhlIHJlZzpDQw0KPj4+Pj4+Pj4+IGZyb20gYmVmb3JlLiAg VGhlcmVmb3JlIHRoZSAqYXJtX2NtcHNpX2luc24gYXBwZWFycyB0byBiZQ0K Pj4+Pj4+Pj4+IHJlZHVuZGFudCBhbmQgdGh1cyBnb3QgcmVtb3ZlZCwgYmVj YXVzZSB0aGUgZGF0YSB2YWx1ZXMgYXJlDQo+Pj4+Pj4+Pj4gaWRlbnRpY2Fs Lg0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gSSB0aGluayB0aGF0IGFwcGxpZXMg dG8gYSBudW1iZXIgb2Ygc2ltaWxhciBwYXR0ZXJuIHdoZXJlIGRhdGENCj4+ Pj4+Pj4+PiBmbG93IGlzIGhhcHBlbmluZyB0aHJvdWdoIHRoZSBDQyByZWcu DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBTbyB0aGlzIGlzIGEga2luZCBvZiBj b3JyZWN0bmVzcyBpc3N1ZSwgYW5kIHNob3VsZCBiZSBmaXhlZA0KPj4+Pj4+ Pj4+IGluZGVwZW5kZW50bHkgZnJvbSB0aGUgb3B0aW1pemF0aW9uIGlzc3Vl IFBSNzczMDguDQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBUaGVyZWZvcmUgSSB0 aGluayB0aGUgcGF0dGVybnMgbmVlZCB0byBzcGVjaWZ5IHRoZSB0cnVlDQo+ Pj4+Pj4+Pj4gdmFsdWUgdGhhdCB3aWxsIGJlIGluIHRoZSBDQyByZWcsIGlu IG9yZGVyIGZvciBjc2UgdG8NCj4+Pj4+Pj4+PiBrbm93IHdoYXQgdGhlIGlu c3RydWN0aW9ucyBhcmUgcmVhbGx5IGRvaW5nLg0KPj4+Pj4+Pj4+DQo+Pj4+ Pj4+Pj4NCj4+Pj4+Pj4+PiBCb290c3RyYXBwZWQgYW5kIHJlZy10ZXN0ZWQg b24gYXJtLWxpbnV4LWdudWVhYmloZi4NCj4+Pj4+Pj4+PiBJcyBpdCBPSyBm b3IgdHJ1bms/DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+IEkgYWdyZWUgeW91J3Zl IGZvdW5kIGEgdmFsaWQgcHJvYmxlbSBoZXJlLCBidXQgSSBoYXZlIHNvbWUg aXNzdWVzDQo+Pj4+Pj4+PiB3aXRoDQo+Pj4+Pj4+PiB0aGUgcGF0Y2ggaXRz ZWxmLg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiAoZGVmaW5lX2lu c25fYW5kX3NwbGl0ICJzdWJkaTNfY29tcGFyZTEiDQo+Pj4+Pj4+PiAgICAg WyhzZXQgKHJlZzpDQ19OQ1YgQ0NfUkVHTlVNKQ0KPj4+Pj4+Pj4gICAgICAg KGNvbXBhcmU6Q0NfTkNWDQo+Pj4+Pj4+PiAgICAgICAgIChtYXRjaF9vcGVy YW5kOkRJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJyIikNCj4+Pj4+Pj4+ICAg ICAgICAgKG1hdGNoX29wZXJhbmQ6REkgMiAicmVnaXN0ZXJfb3BlcmFuZCIg InIiKSkpDQo+Pj4+Pj4+PiAgICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REkg MCAicmVnaXN0ZXJfb3BlcmFuZCIgIj0mciIpDQo+Pj4+Pj4+PiAgICAgICAo bWludXM6REkgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSldDQo+Pj4+ Pj4+PiAgICAgIlRBUkdFVF8zMkJJVCINCj4+Pj4+Pj4+ICAgICAiIyINCj4+ Pj4+Pj4+ICAgICAiJiYgcmVsb2FkX2NvbXBsZXRlZCINCj4+Pj4+Pj4+ICAg ICBbKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KPj4+Pj4+ Pj4gICAgICAgICAgICAgIChjb21wYXJlOkNDIChtYXRjaF9kdXAgMSkgKG1h dGNoX2R1cCAyKSkpDQo+Pj4+Pj4+PiAgICAgICAgICAgICAoc2V0IChtYXRj aF9kdXAgMCkgKG1pbnVzOlNJIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cA0K Pj4+Pj4+Pj4gMikpKV0pDQo+Pj4+Pj4+PiAgICAgIChwYXJhbGxlbCBbKHNl dCAocmVnOkNDX0MgQ0NfUkVHTlVNKQ0KPj4+Pj4+Pj4gICAgICAgICAgICAg IChjb21wYXJlOkNDX0MNCj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICh6ZXJv X2V4dGVuZDpESSAobWF0Y2hfZHVwIDQpKQ0KPj4+Pj4+Pj4gICAgICAgICAg ICAgICAgKHBsdXM6REkgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAgNSkp DQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgIChsdHU6REkgKHJlZzpD Q19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkNCj4+Pj4+Pj4+ICAg ICAgICAgICAgIChzZXQgKG1hdGNoX2R1cCAzKQ0KPj4+Pj4+Pj4gICAgICAg ICAgICAgIChtaW51czpTSSAobWludXM6U0kgKG1hdGNoX2R1cCA0KSAobWF0 Y2hfZHVwIDUpKQ0KPj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIChsdHU6 U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKV0pXQ0K Pj4+Pj4+Pj4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBUaGlzIHBhdHRlcm4gaXMg bm93IG5vLWxvbmdlciBzZWxmIGNvbnNpc3RlbnQgaW4gdGhhdCBiZWZvcmUg dGhlDQo+Pj4+Pj4+PiBzcGxpdA0KPj4+Pj4+Pj4gdGhlIG92ZXJhbGwgcmVz dWx0IGZvciB0aGUgY29uZGl0aW9uIHJlZ2lzdGVyIGlzIGluIG1vZGUgQ0Nf TkNWLCBidXQNCj4+Pj4+Pj4+IGFmdGVyd2FyZHMgaXQgaXMganVzdCBDQ19D Lg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEkgdGhpbmsgQ0NfTkNWIGlzIGNvcnJl Y3QgbW9kZSAodGhlIE4sIEMgYW5kIFYgYml0cyBhbGwgY29ycmVjdGx5DQo+ Pj4+Pj4+PiByZWZsZWN0IHRoZSByZXN1bHQgb2YgdGhlIDY0LWJpdCBjb21w YXJpc29uKSwgYnV0IHRoYXQgdGhlbg0KPj4+Pj4+Pj4gaW1wbGllcyB0aGF0 DQo+Pj4+Pj4+PiB0aGUgY2MgbW9kZSBvZiBzdWJzaTNfY2Fycnlpbl9jb21w YXJlIGlzIGluY29ycmVjdCBhcyB3ZWxsIGFuZA0KPj4+Pj4+Pj4gc2hvdWxk IGluDQo+Pj4+Pj4+PiBmYWN0IGFsc28gYmUgQ0NfTkNWLiAgVGhpbmtpbmcg YWJvdXQgdGhpcyBwYXR0ZXJuLCBJJ20gaW5jbGluZWQgdG8NCj4+Pj4+Pj4+ IGFncmVlDQo+Pj4+Pj4+PiB0aGF0IENDX05DViBpcyB0aGUgY29ycmVjdCBt b2RlIGZvciB0aGlzIG9wZXJhdGlvbg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IEkn bSBub3Qgc3VyZSBpZiB0aGVyZSBhcmUgb3RoZXIgY29uc2VxdWVuY2VzIHRo YXQgd2lsbCBmYWxsIG91dCBmcm9tDQo+Pj4+Pj4+PiBmaXhpbmcgdGhpcyAo aXQncyBwb3NzaWJsZSB0aGF0IHdlIG1pZ2h0IG5lZWQgYSBjaGFuZ2UgdG8N Cj4+Pj4+Pj4+IHNlbGVjdF9jY19tb2RlDQo+Pj4+Pj4+PiBhcyB3ZWxsKS4N Cj4+Pj4+Pj4+DQo+Pj4+Pj4+IFllcywgdGhpcyBpcyBzdGlsbCBhIGJpdCBh d2t3YXJkLi4uDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFRoZSBOIGFuZCBWIGJpdCB3 aWxsIGJlIHRoZSBjb3JyZWN0IHJlc3VsdCBmb3IgdGhlIHN1YmRpM19jb21w YXJlMQ0KPj4+Pj4+PiBhIDY0LWJpdCBjb21wYXJpc29uLCBidXQgemVyb19l eHRlbmQ6REkgKG1hdGNoX2R1cCA0KSAocGx1czpESSAuLi4pDQo+Pj4+Pj4+ IG9ubHkgZ2V0cyB0aGUgQyBiaXQgY29ycmVjdCwgdGhlIGV4cHJlc3Npb24g Zm9yIE4gYW5kIFYgaXMgYSBkaWZmZXJlbnQNCj4+Pj4+Pj4gb25lLg0KPj4+ Pj4+Pg0KPj4+Pj4+PiBJdCBwcm9iYWJseSB3b3JrcywgYmVjYXVzZSB0aGUg c3Vic2kzX2NhcnJ5aW5fY29tcGFyZSBpbnN0cnVjdGlvbiBzZXRzDQo+Pj4+ Pj4+IG1vcmUgQ0MgYml0cyB0aGFuIHRoZSBwYXR0ZXJuIGRvZXMgZXhwbGlj aXRseSBzcGVjaWZ5IHRoZSB2YWx1ZS4NCj4+Pj4+Pj4gV2Uga25vdyB0aGUg c3Vic2kzX2NhcnJ5aW5fY29tcGFyZSBhbHNvIGNvbXB1dGVzIHRoZSBOViBi aXRzLCBidXQNCj4+Pj4+Pj4gaXQgaXMNCj4+Pj4+Pj4gaGFyZCB0byB3cml0 ZSBkb3duIHRoZSBjb3JyZWN0IHJ0bCBleHByZXNzaW9uIGZvciBpdC4NCj4+ Pj4+Pj4NCj4+Pj4+Pj4gSW4gdGhlb3J5IHRoZSBwYXR0ZXJuIHNob3VsZCBk ZXNjcmliZSBldmVyeXRoaW5nIGNvcnJlY3RseSwNCj4+Pj4+Pj4gbWF5YmUs IGxpa2U6DQo+Pj4+Pj4+DQo+Pj4+Pj4+IHNldCAocmVnOkNDX0MgQ0NfUkVH TlVNKQ0KPj4+Pj4+PiAgICAgICAoY29tcGFyZTpDQ19DDQo+Pj4+Pj4+ICAg ICAgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAgNCkpDQo+Pj4+Pj4+ ICAgICAgICAgKHBsdXM6REkgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAg NSkpDQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgKGx0dTpESSAocmVnOkND X0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpKQ0KPj4+Pj4+PiBzZXQg KHJlZzpDQ19OViBDQ19SRUdOVU0pDQo+Pj4+Pj4+ICAgICAgIChjb21wYXJl OkNDX05WDQo+Pj4+Pj4+ICAgICAgICAobWF0Y2hfZHVwIDQpKQ0KPj4+Pj4+ PiAgICAgICAgKHBsdXM6U0kgKG1hdGNoX2R1cCA1KSAobHR1OlNJIChyZWc6 Q0NfQyBDQ19SRUdOVU0pDQo+Pj4+Pj4+IChjb25zdF9pbnQgMCkpKQ0KPj4+ Pj4+PiBzZXQgKG1hdGNoX2R1cCAzKQ0KPj4+Pj4+PiAgICAgICAobWludXM6 U0kgKG1pbnVzOlNJIChtYXRjaF9kdXAgNCkgKG1hdGNoX2R1cCA1KSkNCj4+ Pj4+Pj4gICAgICAgICAgICAgICAgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JF R05VTSkgKGNvbnN0X2ludCAwKSkpKSkNCj4+Pj4+Pj4NCj4+Pj4+Pj4NCj4+ Pj4+Pj4gQnV0IEkgZG91YnQgdGhhdCB3aWxsIHdvcmsgdG8gc2V0IENDX1JF R05VTSB3aXRoIHR3byBkaWZmZXJlbnQgbW9kZXMNCj4+Pj4+Pj4gaW4gcGFy YWxsZWw/DQo+Pj4+Pj4+DQo+Pj4+Pj4+IEFub3RoZXIgaWRlYSB3b3VsZCBi ZSB0byBpbnZlbnQgYSBDQ19DTlZfTk9PViBtb2RlLCB0aGF0IGltcGxpY2l0 bHkNCj4+Pj4+Pj4gZGVmaW5lcyBDIGZyb20gdGhlIERJbW9kZSByZXN1bHQs IGFuZCBOViBmcm9tIHRoZSBTSW1vZGUgcmVzdWx0LA0KPj4+Pj4+PiBzaW1p bGFyIHRvIHRoZSBDQ19OT09WbW9kZSwgdGhhdCBhbHNvIGxlYXZlcyBzb21l dGhpbmcgb3BlbiB3aGF0DQo+Pj4+Pj4+IGJpdHMgaXQgcmVhbGx5IGRlZmlu ZXM/DQo+Pj4+Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+IFdoYXQgZG8geW91IHRo aW5rPw0KPj4+Pj4+Pg0KPj4+Pj4+Pg0KPj4+Pj4+PiBUaGFua3MNCj4+Pj4+ Pj4gQmVybmQuDQo+Pj4+Pj4gSSB0aGluayBtYXliZSB0aGUgcmlnaHQgc29s dXRpb24gaXMgdG8gaW52ZW50IGEgbmV3IENDbW9kZQ0KPj4+Pj4+IHRoYXQg ZGVmaW5lcyBDIGFzIGlmIHRoZSBjb21wYXJpc29uIGlzIGRvbmUgaW4gRElt b2RlDQo+Pj4+Pj4gYnV0IE4gYW5kIFYgYXMgaWYgdGhlIGNvbXBhcmlzb24g aXMgZG9uZSBpbiBTSW1vZGUuDQo+Pj4+Pj4NCj4+Pj4+PiBJIHRob3VnaHQg bWF5YmUgSSB3b3VsZCBjYWxsIGl0IENDX05DVl9DSUMgKENJQyA9IENhcnJ5 LUluLUNvbXBhcmUpLA0KPj4+Pj4+IGZ1cnRoZXJtb3JlIEkgdGhpbmsgdGhl IENDX05PT1Ygc2hvdWxkIGJlIHJlbmFtZWQgdG8gQ0NfTlogKGJlY2F1c2UN Cj4+Pj4+PiBvbmx5IE4gYW5kIFogYXJlIHNldCBjb3JyZWN0bHkpLCBidXQg aW4gYSBkaWZmZXJlbnQgcGF0Y2ggb2YgY291cnNlLg0KPj4+Pj4+DQo+Pj4+ Pj4gQXR0YWNoZWQgaXMgYSBuZXcgdmVyc2lvbiB0aGF0IGltcGxlbWVudHMg dGhlIG5ldyBDQ21vZGUuDQo+Pj4+Pj4NCj4+Pj4+PiBIb3cgZG8geW91IGxp a2UgdGhpcyBuZXcgdmVyc2lvbj8NCj4+Pj4+Pg0KPj4+Pj4+IEl0IHNlZW1z IHRvIGJlIGFibGUgdG8gYnVpbGQgYSBjcm9zcy1jb21waWxlciBhdCBsZWFz dC4NCj4+Pj4+Pg0KPj4+Pj4+IEkgd2lsbCBzdGFydCBhIG5ldyBib290c3Ry YXAgd2l0aCB0aGlzIG5ldyBwYXRjaCwgYnV0IHRoYXQgY2FuIHRha2UNCj4+ Pj4+PiBzb21lDQo+Pj4+Pj4gdGltZSB1bnRpbCBJIGhhdmUgZGVmaW5pdGl2 ZSByZXN1bHRzLg0KPj4+Pj4+DQo+Pj4+Pj4gSXMgdGhlcmUgc3RpbGwgYSBj aGFuY2UgdGhhdCBpdCBjYW4gZ28gaW50byBnY2MtNyBvciBzaG91bGQgaXQg d2FpdA0KPj4+Pj4+IGZvciB0aGUgbmV4dCBzdGFnZTE/DQo+Pj4+Pj4NCj4+ Pj4+PiBUaGFua3MNCj4+Pj4+PiBCZXJuZC4NCj4+Pj4+DQo+Pj4+PiBJIHRo b3VnaHQgSSBzaG91bGQgYWxzbyBsb29rIGF0IHdoZXJlIHRoZSBzdWJkaV9j b21wYXJlMSBhbWQgdGhlDQo+Pj4+PiBuZWdkaTJfY29tcGFyZSBwYXR0ZXJu cyBhcmUgdXNlZCwgYW5kIGxvb2sgaWYgdGhlIGNhbGxlciBpcyBmaW5lIHdp dGgNCj4+Pj4+IG5vdCBoYXZpbmcgYWxsIENDIGJpdHMgYXZhaWxhYmxlLg0K Pj4+Pj4NCj4+Pj4+IEFuZCBpbmRlZWQgdXN1YnY8bW9kZT40IHR1cm5zIG91 dCB0byBiZSBxdWVzdGlvbmFiZSwgYmVjYXVzZSBpdA0KPj4+Pj4gZW1pdHMg Z2VuX3N1Yjxtb2RlPjNfY29tcGFyZTEgYW5kIHVzZXMgYXJtX2dlbl91bmxp a2VseV9jYnJhbmNoIChMVFUsDQo+Pj4+PiBDQ21vZGUpIHdoaWNoIGlzIGlu Y29uc2lzdGVudCB3aGVuIHN1YmRpM19jb21wYXJlMSBubyBsb25nZXIgdXNl cw0KPj4+Pj4gQ0Ntb2RlLg0KPj4+Pj4NCj4+Pj4+IFRvIGNvcnJlY3QgdGhp cywgdGhlIGJyYW5jaCBzaG91bGQgdXNlIENDX0Ntb2RlIHdoaWNoIGlzIGFs d2F5cyBkZWZpbmVkLg0KPj4+Pj4NCj4+Pj4+IFNvIEkgdHJpZWQgdG8gdGVz dCB0aGlzIHBhdHRlcm4sIHdpdGggdGhlIGZvbGxvd2luZyB0ZXN0IHByb2dy YW1zLA0KPj4+Pj4gYW5kIGZvdW5kIHRoYXQgdGhlIGNvZGUgYWN0dWFsbHkg aW1wcm92ZXMgd2hlbiB0aGUgYnJhbmNoIHVzZXMgQ0NfQ21vZGUNCj4+Pj4+ IGluc3RlYWQgb2YgQ0Ntb2RlLCBib3RoIGZvciBTSW1vZGUgYW5kIERJbW9k ZSBkYXRhLCB3aGljaCB3YXMgYSBiaXQNCj4+Pj4+IHN1cnByaXNpbmcuDQo+ Pj4+Pg0KPj4+Pj4gSSB1c2VkIHRoaXMgdGVzdCBwcm9ncmFtIHRvIHNlZSBo b3cgdGhlIHVzdWJ2PG1vZGU+NCBwYXR0ZXJuIHdvcmtzOg0KPj4+Pj4NCj4+ Pj4+IGNhdCB0ZXN0LmMgKERJbW9kZSkNCj4+Pj4+IHVuc2lnbmVkIGxvbmcg bG9uZyB4LCB5LCB6Ow0KPj4+Pj4gaW50IGI7DQo+Pj4+PiB2b2lkIHRlc3Qo KQ0KPj4+Pj4gew0KPj4+Pj4gICAgICBiID0gX19idWlsdGluX3N1Yl9vdmVy ZmxvdyAoeSx6LCAmeCk7DQo+Pj4+PiB9DQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4+ IHVucGF0Y2hlZCBjb2RlIHVzZWQgOCBieXRlIG1vcmUgc3RhY2sgdGhhbiBw YXRjaGVkLA0KPj4+Pj4gYmVjYXVzZSB0aGUgREltb2RlIHN1YnRyYWN0aW9u IGlzIGVmZmVjdGl2ZWx5IGRvbmUgdHdpY2UuDQo+Pj4+Pg0KPj4+Pj4gY2F0 IHRlc3QxLmMgKFNJbW9kZSkNCj4+Pj4+IHVuc2lnbmVkIGxvbmcgeCwgeSwg ejsNCj4+Pj4+IGludCBiOw0KPj4+Pj4gdm9pZCB0ZXN0KCkNCj4+Pj4+IHsN Cj4+Pj4+ICAgICAgYiA9IF9fYnVpbHRpbl9zdWJfb3ZlcmZsb3cgKHkseiwg JngpOw0KPj4+Pj4gfQ0KPj4+Pj4NCj4+Pj4+IHdoaWNoIGdlbmVyYXRlcyAo dW5wYXRjaGVkKToNCj4+Pj4+ICAgICAgICAgICAgY21wICAgICByMywgcjAN Cj4+Pj4+ICAgICAgICAgICAgc3ViICAgICBpcCwgcjMsIHIwDQo+Pj4+Pg0K Pj4+Pj4gaW5zdGVhZCBvZiBleHBlY3RlZCAocGF0Y2hlZCk6DQo+Pj4+PiAg ICAgIHN1YnMgICAgcjMsIHIzLCByMg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiBU aGUgY29uZGl0aW9uIGlzIGV4dHJhY3RlZCBieSBpZmNvbnZlcnNpb24gYW5k L29yIGNvbWJpbmUNCj4+Pj4+IGFuZCBjb21wbGljYXRlcyB0aGUgcmVzdWx0 aW5nIGNvZGUgaW5zdGVhZCBvZiBzaW1wbGlmeWluZy4NCj4+Pj4+DQo+Pj4+ PiBJIHRoaW5rIHRoaXMgaGFwcGVucyBvbmx5IHdoZW4gdGhlIGJyYW5jaCBh bmQgdGhlIHN1YnNpL2RpM19jb21wYXJlMQ0KPj4+Pj4gaXMgdXNpbmcgdGhl IHNhbWUgQ0MgbW9kZS4NCj4+Pj4+DQo+Pj4+PiBUaGF0IGRvZXMgbm90IGhh cHBlbiB3aGVuIHRoZSBDQyBtb2RlcyBkaXNhZ3JlZSwgYXMgd2l0aCB0aGUN Cj4+Pj4+IHByb3Bvc2VkIHBhdGNoLiAgQWxsIG90aGVyIHVzZXMgb2YgdGhl IHBhdHRlcm4gYXJlIGFscmVhZHkgdXNpbmcNCj4+Pj4+IENDX0Ntb2RlIG9y IENDX1Ztb2RlIGluIHRoZSBicmFuY2gsIGFuZCB0aGVzZSBkbyBub3QgY2hh bmdlLg0KPj4+Pj4NCj4+Pj4+IEF0dGFjaGVkIGlzIGFuIHVwZGF0ZWQgdmVy c2lvbiBvZiB0aGUgcGF0Y2gsIHRoYXQgaGFwcGVucyB0bw0KPj4+Pj4gaW1w cm92ZSB0aGUgY29kZSBnZW5lcmF0aW9uIG9mIHRoZSB1c3Vic2k0IGFuZCB1 c3ViZGk0IHBhdHRlcm4sDQo+Pj4+PiBhcyBhIHNpZGUgZWZmZWN0Lg0KPj4+ Pj4NCj4+Pj4+DQo+Pj4+PiBCb290c3RyYXBwZWQgYW5kIHJlZy10ZXN0ZWQg b24gYXJtLWxpbnV4LWdudWVhYmloZi4NCj4+Pj4+IElzIGl0IE9LIGZvciB0 cnVuaz8NCj4+Pj4NCj4+Pj4gSSdtIHZlcnkgc29ycnkgaXQgaGFzIHRha2Vu IHNvIGxvbmcgdG8gcmV2aWV3Lg0KPj4+PiBJJ3ZlIGJlZW4gcmFtcGluZyB1 cCBvbiB0aGUgY29udGV4dCByZWNlbnRseSBub3cgc28gSSdsbCB0cnkgdG8g bW92ZQ0KPj4+PiB0aGlzIGFsb25nLi4uDQo+Pj4+DQo+Pj4+IFRoaXMgcGF0 Y2ggbG9va3MgbW9zdGx5IG9rIHRvIG1lIGZyb20gcmVhZGluZyB0aGUgcGF0 dGVybnMgYW5kIHRoZQ0KPj4+PiBkaXNjdXNzaW9uIGFyb3VuZCBpdC4NCj4+ Pj4gSSBoYXZlIG9uZSBjb25jZXJuOg0KPj4+Pg0KPj4+Pg0KPj4+PiAgICAo ZGVmaW5lX2luc25fYW5kX3NwbGl0ICJuZWdkaTJfY29tcGFyZSINCj4+Pj4g LSAgWyhzZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQo+Pj4+IC0gICAgKGNvbXBh cmU6Q0MNCj4+Pj4gKyAgWyhzZXQgKHJlZzpDQ19OQ1YgQ0NfUkVHTlVNKQ0K Pj4+PiArICAgIChjb21wYXJlOkNDX05DVg0KPj4+PiAgICAgICAgICAoY29u c3RfaW50IDApDQo+Pj4+ICAgICAgICAgIChtYXRjaF9vcGVyYW5kOkRJIDEg InJlZ2lzdGVyX29wZXJhbmQiICIwLHIiKSkpDQo+Pj4+ICAgICAgIChzZXQg KG1hdGNoX29wZXJhbmQ6REkgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yLCZy IikNCj4+Pj4gQEAgLTQ2NDcsOCArNDY1MCwxMiBAQA0KPj4+PiAgICAgICAg ICAgICAgIChjb21wYXJlOkNDIChjb25zdF9pbnQgMCkgKG1hdGNoX2R1cCAx KSkpDQo+Pj4+ICAgICAgICAgICAgICAoc2V0IChtYXRjaF9kdXAgMCkgKG1p bnVzOlNJIChjb25zdF9pbnQgMCkNCj4+Pj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAobWF0Y2hfZHVwIDEpKSldKQ0KPj4+PiAtICAgKHBhcmFsbGVs IFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KPj4+PiAtICAgICAgICAgICAo Y29tcGFyZTpDQyAoY29uc3RfaW50IDApIChtYXRjaF9kdXAgMykpKQ0KPj4+ PiArICAgKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0NfTkNWX0NJQyBDQ19SRUdO VU0pDQo+Pj4+ICsgICAgICAgICAgIChjb21wYXJlOkNDX05DVl9DSUMNCj4+ Pj4gKyAgICAgICAgICAgICAoY29uc3RfaW50IDApDQo+Pj4+ICsgICAgICAg ICAgICAgKHBsdXM6REkNCj4+Pj4gKyAgICAgICAgICAgICAgICh6ZXJvX2V4 dGVuZDpESSAobWF0Y2hfZHVwIDMpKQ0KPj4+PiArICAgICAgICAgICAgICAg KGx0dTpESSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkp KQ0KPj4+PiAgICAgICAgICAgICAoc2V0IChtYXRjaF9kdXAgMikNCj4+Pj4g ICAgICAgICAgICAgIChtaW51czpTSQ0KPj4+PiAgICAgICAgICAgICAgICht aW51czpTSSAoY29uc3RfaW50IDApIChtYXRjaF9kdXAgMykpDQo+Pj4+DQo+ Pj4+DQo+Pj4+IEkgd2FzIHNvbWV3aGF0IGNvbmNlcm5lZCB3aXRoIGhhdmlu ZyB0aGUgZmlyc3Qgb3BlcmFuZCBvZiB0aGUgQ09NUEFSRQ0KPj4+PiBiZWlu ZyBhIGNvbnN0X2ludCAwIGFuZCB0aGUgc2Vjb25kIGJlaW5nDQo+Pj4+IGEg Y29tcGxleCBleHByZXNzaW9uIGFzIHRoZSBSVEwgY2Fub25pY2FsaXphdGlv biBydWxlcyB1c3VhbGx5IHJlcXVpcmUNCj4+Pj4gdGhlIGNvbXBsZXggb3Bl cmFuZCBnb2luZyBmaXJzdCBpZiBwb3NzaWJsZS4NCj4+Pj4gUmVhZGluZyB0 aGUgUlRMIHJ1bGVzIGluIHJ0bC50ZXhpIEkgc2VlIGl0IHNheXMgdGhpczoN Cj4+Pj4gIklmIG9uZSBvZiB0aGUgb3BlcmFuZHMgaXMgYSBjb25zdGFudCwg aXQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUNCj4+Pj4gc2Vjb25kIG9wZXJh bmQgYW5kIHRoZSBjb21wYXJpc29uIGNvZGUgYWRqdXN0ZWQgYXMgYXBwcm9w cmlhdGUuIg0KPj4+PiBTbyBpdCBzZWVtcyB0aGF0IHRoZSBwcmUtZXhpc3Rp bmcgcGF0dGVybiB0aGF0IHB1dHMgY29uc3RfaW50IDAgYXMgdGhlDQo+Pj4+ IGZpcnN0IG9wZXJhbmQgYWxyZWFkeSBicmVha3MgdGhhdCBydWxlLg0KPj4+ PiBJIHRoaW5rIHdlIHNob3VsZCBmaXggdGhhdCBhbmQgdXBkYXRlIHRoZSB1 c2Ugb2YgY29uZGl0aW9uIGNvZGUgdG8gYQ0KPj4+PiBHRVUgcmF0aGVyIHRo YW4gTFRVIGFzIHdlbGwuDQo+Pj4+DQo+Pj4NCj4+DQo+PiBXZWxsLCB0aGUg c2VudGVuY2UgYmVmb3JlIHRoYXQgb25lIGlzIGV2ZW4gbW9yZSBleHBsaWNp dDoNCj4+DQo+PiAiTm9ybWFsbHksIEB2YXJ7eH0gYW5kIEB2YXJ7eX0gbXVz dCBoYXZlIHRoZSBzYW1lIG1vZGUuICBPdGhlcndpc2UsDQo+PiBAY29kZXtj b21wYXJlfSBpcyB2YWxpZCBvbmx5IGlmIHRoZSBtb2RlIG9mIEB2YXJ7eH0g aXMgaW4gY2xhc3MNCj4+IEBjb2Rle01PREVfSU5UfSBhbmQgQHZhcnt5fSBp cyBhIEBjb2Rle2NvbnN0X2ludH0gb3INCj4+IEBjb2Rle2NvbnN0X2RvdWJs ZX0gd2l0aCBtb2RlIEBjb2Rle1ZPSURtb2RlfS4iDQo+Pg0KPj4gU28gYmVj YXVzZSB0aGUgY29uc3RfaW50IDAgaGFzIFZPSURtb2RlIHRoZSBjb21wYXJp c29uIGlzIGRvbmUNCj4+IGluIHktbW9kZSBub3QgeC1tb2RlLg0KPj4NCj4+ IEJ1dCB1bmZvcnR1bmF0ZWx5IEkgc2VlIG5vIHdheSBob3cgdG8gYWNjb21w bGlzaCB0aGlzLA0KPj4gYmVjYXVzZSB0aGlzIGFzc3VtZXMgdGhhdCB0aGUg Y29tcGFyZSBjYW4gYmUgZWFzaWx5IHN3YXBwZWQNCj4+IGlmIHRoZSBjb25k aXRpb25hbCBpbnN0cnVjdGlvbiBqdXN0IHVzZXMgb25lIG9mIEdUL0dFL0xF L0xUDQo+PiBvciBHVFUvR0VVL0xFVS9MVFUuICBCdXQgdGhhdCBpcyBvbmx5 IHRoZSBjYXNlIGZvciBwbGFpbiBDQ21vZGUuDQo+Pg0KPj4gQW5kIGluIHRo aXMgZXhhbXBsZSB3ZSBhc2sgZm9yICJvdmVyZmxvdyIsIGJ1dCB3aGlsZSAw LVggY2FuDQo+PiBvdmVyZmxvdyBYLTAgc2ltcGx5IGNhbid0LiAgQW5kIG1v cmVvdmVyIHRoZXJlIGFyZSBub24tc3ltbWV0cmljDQo+PiBtb2RlcyBsaWtl IENDX05DVm1vZGUgd2hpY2ggb25seSBzdXBwb3J0IExUL0dFL0xUVS9HRVUg YnV0IG5vdA0KPj4gdGhlIHN3YXBwZWQgY29uZGl0aW9ucyBHVC9MRS9HVFUv TEVVLg0KPj4NCj4+IEkgdGhpbmsgdGhlIG9ubHkgc29sdXRpb24gd291bGQg YmUgdG8gYWRqdXN0IHRoZSBzcGVjIHRvDQo+PiByZWZsZWN0IHRoZSBpbXBs ZW1lbnRhdGlvbjoNCj4+DQo+PiBJbmRleDogcnRsLnRleGkNCj4+ID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCj4+IC0tLSBydGwudGV4aQkocmV2aXNpb24g MjUxNzUyKQ0KPj4gKysrIHJ0bC50ZXhpCSh3b3JraW5nIGNvcHkpDQo+PiBA QCAtMjI1Miw2ICsyMjUyLDEzIEBADQo+PiAgICBJZiBvbmUgb2YgdGhlIG9w ZXJhbmRzIGlzIGEgY29uc3RhbnQsIGl0IHNob3VsZCBiZSBwbGFjZWQgaW4g dGhlDQo+PiAgICBzZWNvbmQgb3BlcmFuZCBhbmQgdGhlIGNvbXBhcmlzb24g Y29kZSBhZGp1c3RlZCBhcyBhcHByb3ByaWF0ZS4NCj4+DQo+PiArVGhlcmUg bWF5IGJlIGV4Y2VwdGlvbnMgZnJvbSB0aGlzIHJ1bGUgaWYgdGhlIG1vZGUg QHZhcnttfSBjYXJyaWVzDQo+PiArbm90IGVub3VnaCBpbmZvcm1hdGlvbiBm b3IgdGhlIHN3YXBwZWQgY29tcGFyaXNvbiBvcGVyYXRvciwgb3INCj4gDQo+ IFRoZXJlIG1heSBiZSBleGNlcHRpb25zIF90b18gLi4uIGlmIG1vZGUgQHZh cnttfSBkb2VzIG5vdCBjYXJyeSBlbm91Z2guLi4NCj4gDQo+PiAraWYgd2Ug YXNrIGZvciBvdmVyZmxvdyBmcm9tIHRoZSBzdWJ0cmFjdGlvbi4NCj4gDQo+ IEFyZW4ndCB3ZSByZWFsbHkgdHJ5aW5nIHRvICdkZXRlY3Qgb3ZlcmZsb3cn IHJhdGhlciB0aGFuICdhc2snIGZvciBpdD8NCj4gDQo+PiBUaGF0IG1lYW5z LCB3aGlsZQ0KPj4gKzAtWCBtYXkgb3ZlcmZvdyBYLTAgY2FuIG5ldmVyIG92 ZXJmbG93LiAgVW5kZXIgdGhlc2UgY29uZGl0aW9ucw0KPj4gK2EgY29tcGFy ZSBtYXkgaGF2ZSB0aGUgY29uc3RhbnQgZXhwcmVzc2lvbiBhdCB0aGUgbGVm dCBzaWRlLg0KPiANCj4gSW4gdGhlc2UgY2lyY3Vtc3RhbmNlcyB0aGUgY29u c3RhbnQgd2lsbCBiZSBpbiB0aGUgZmlyc3Qgb3BlcmFuZCAuDQo+IA0KPiAo bGVmdCBhbmQgcmlnaHQgZG9uJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UgZm9yIFJU TCkuDQo+PiArRXhhbXBsZXMgYXJlIHRoZSBBUk0gbmVnZGkyX2NvbXBhcmUg cGF0dGVybiBhbmQgc2ltaWxhci4NCj4+ICsNCj4+ICAgIEEgQGNvZGV7Y29t cGFyZX0gc3BlY2lmeWluZyB0d28gQGNvZGV7Vk9JRG1vZGV9IGNvbnN0YW50 cyBpcyBub3QgdmFsaWQNCj4+ICAgIHNpbmNlIHRoZXJlIGlzIG5vIHdheSB0 byBrbm93IGluIHdoYXQgbW9kZSB0aGUgY29tcGFyaXNvbiBpcyB0byBiZQ0K Pj4gICAgcGVyZm9ybWVkOyB0aGUgY29tcGFyaXNvbiBtdXN0IGVpdGhlciBi ZSBmb2xkZWQgZHVyaW5nIHRoZSBjb21waWxhdGlvbg0KPj4NCj4+DQo+Pg0K Pj4gUGxlYXNlIGFkdmlzZS4NCj4+DQo+PiBUaGFua3MNCj4+IEJlcm5kLg0K Pj4NCj4+DQo+Pj4NCj4+PiBIbW1tLi4uDQo+Pj4NCj4+PiBJIHRoaW5rIHRo ZSBjb21wYXJlIGlzIG5vdCBhIGNvbW11dGF0aXZlIG9wZXJhdGlvbiwgYW5k IHN3YXBwaW5nDQo+Pj4gdGhlIGFyZ3VtZW50cyB3aWxsIGltcGx5IGEgZGlm ZmVyZW50IHZhbHVlIGluIHRoZSBmbGFncy4NCj4+Pg0KPj4+IFNvIGlmIEkg d3JpdGUNCj4+PiAoc2V0IChyZWc6Q0NfTkNWIENDX1JFR05VTSkNCj4+PiAg ICAgICAgKGNvbXBhcmU6Q0NfTkNWDQo+Pj4gICAgICAgICAgKGNvbnN0X2lu dCAwKQ0KPj4+ICAgICAgICAgIChyZWc6REkgMTIzKSkpDQo+Pj4NCj4+PiBJ IGhhdmUgQyxOLFYgc2V0IHRvIHRoZSByZXN1bHQgb2YgKDAgLSByMTIzKSwg QyA9IHVzYWJsZSBmb3IgTFRVIG9yIEdFVSwNCj4+PiBOLFYgPSB1c2FibGUg Zm9yIExULCBHRQ0KPj4+DQo+Pj4gQnV0IGlmIEkgd3JpdGUNCj4+PiAoc2V0 IChyZWc6Q0NfTkNWIENDX1JFR05VTSkNCj4+PiAgICAgICAgKGNvbXBhcmU6 Q0NfTkNWDQo+Pj4gICAgICAgICAgKHJlZzpESSAxMjMpDQo+Pj4gICAgICAg ICAgKGNvbnN0X2ludCAwKSkpDQo+Pj4NCj4+PiBJIGhhdmUgQyxOLFYgc2V0 IHRvIHRoZSByZXN1bHQgb2YgKHIxMjMgLSAwKSwgYnV0IHRoZSBleHBhbnNp b24gc3RheXMNCj4+PiB0aGUgc2FtZSBhbmQgdGhlIGFjdHVhbCB2YWx1ZSBp biB0aGUgZmxhZ3MgaXMgZGVmaW5lZCBieSB0aGUgZXhwYW5zaW9uLg0KPj4+ IE9mIGNvdXJzZSB0aGVyZSBleGlzdHMgcHJvYmFibHkgbm8gbWF0Y2hpbmcg ZXhwYW5zaW9uIGZvciB0aGF0Lg0KPj4+DQo+Pj4gTm90ZSB0aGF0IGJvdGgg TFRVIGluIHRoZSBhYm92ZSBodW5rIGFyZSBpbiBhIHBhcmFsbGVsLXN0bXQg YW5kIG9wZXJhdGUNCj4+PiBvbiB0aGUgZmxhZ3MgZnJvbSB0aGUgcHJldmlv dXMgcGF0dGVybiwgc28gY2hhbmdpbmcgdGhlc2UgdG8gR0VVDQo+Pj4gd2ls bCBwcm9iYWJseSBiZSB3cm9uZy4NCj4+Pg0KPj4+IEJvdGggKGx0dTpTSSAo cmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSBpbiB0aGUgbmVn ZGkyX2NvbXBhcmUNCj4+PiB1c2UgdGhlIGZsYWdzIGZyb20gdGhlIHByZXZp b3VzIChzZXQgKHJlZzpDQyBDQ19SRUdOVU0pIChjb21wYXJlOkNDDQo+Pj4g KGNvbnN0X2ludCAwKSAobWF0Y2hfZHVwIDEpKS4NCj4+Pg0KPj4+IE9uZSB1 c2Ugb2YgdGhlIHJlc3VsdGluZyBmbGFncyAoSSBrbm93IG9mKSBpcyBpbiBu ZWd2ZGkzIHdoZXJlIHdlDQo+Pj4gaGF2ZToNCj4+Pg0KPj4+ICAgICBlbWl0 X2luc24gKGdlbl9uZWdkaTJfY29tcGFyZSAob3BlcmFuZHNbMF0sIG9wZXJh bmRzWzFdKSk7DQo+Pj4gICAgIGFybV9nZW5fdW5saWtlbHlfY2JyYW5jaCAo TkUsIENDX1Ztb2RlLCBvcGVyYW5kc1syXSk7DQo+Pj4NCj4+PiBJIHRoaW5r IG9ubHkgMC14IGNhbiBvdmVyZmxvdyB3aGlsZSB4LTAgY2FuIG5ldmVyIG92 ZXJmbG93Lg0KPj4+DQo+Pj4gT2YgY291cnNlIHRoZSBDQ19OQ1ZfQ0lDIG1v ZGUgYmVuZHMgdGhlIGRlZmluaXRpb24gb2YgdGhlIFJUTCBjb21wYXJlDQo+ Pj4gYSBsb3QgYW5kIEkgZ3Vlc3MgaWYgdGhpcyBwYXR0ZXJuIGlzIGNyZWF0 ZWQgYnkgYSBzcGxpdHRlciwgdGhpcyBjYW4NCj4+PiBvbmx5IGJlIGV4cGFu ZGVkIGJ5IGFuIGV4YWN0bHkgbWF0Y2hpbmcgcGF0dGVybiwgdGhlcmUgaXMg KGhvcGVmdWxseSkNCj4+PiBubyB3YXkgaG93IGNvbWJpbmUgY291bGQgbWVz cyB3aXRoIHRoaXMgcGF0dGVybiBkdWUgdG8gdGhlIGV4b3RpYw0KPj4+IEND bW9kZS4gIFNvIHdoaWxlIEkgdGhpbmsgaXQgd291bGQgd29yayB0byBzd2Fw IG9ubHkgdGhlIG5vdGF0aW9uIG9mDQo+Pj4gYWxsIENDX05DVl9DSUMgcGF0 dGVybnMsIF93aXRob3V0XyBjaGFuZ2luZyB0aGUgYXNzZW1ibGVyLXBhcnRz IGFuZCB0aGUNCj4+PiBjb25zdW1pbmcgc3RhdGVtZW50cywgdGhhdCB3b3Vs ZCBtYWtlIGl0IHF1aXRlIGhhcmQgdG8gZm9sbG93IGZvciB0aGUNCj4+PiBo dW1hbiByZWFkZXIgYXQgbGVhc3QuDQo+Pj4NCj4+PiBXaGF0IGRvIHlvdSB0 aGluaz8NCj4+Pg0KPj4+DQo+Pj4gQmVybmQuDQo+IA0KDQpBdHRhY2hlZCBp cyB0aGUgcGF0Y2ggd2l0aCBhbiB1cGRhdGUgdG8gdGhlIHJ0bC50ZXhpIGRv Y3VtZW50YXRpb24uDQpUaGUgY29kZSBkb2VzIG5vdCBjaGFuZ2UsIHNvIEkg ZGlkIG5vIG5ldyBib290c3RyYXAuDQoNCg0KSXMgaXQgT0sgZm9yIHRydW5r Pw0KDQoNClRoYW5rcw0KQmVybmQuDQo= --_002_AM5PR0701MB26579A51C8FEC1232A3F607EE4970AM5PR0701MB2657_ Content-Type: text/x-patch; name="patch-pr77308-5.diff" Content-Description: patch-pr77308-5.diff Content-Disposition: attachment; filename="patch-pr77308-5.diff"; size=23015; creation-date="Wed, 06 Sep 2017 13:17:07 GMT"; modification-date="Wed, 06 Sep 2017 13:17:07 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 31200 MjAxNy0wOS0wNiAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBo b3RtYWlsLmRlPg0KDQoJUFIgdGFyZ2V0Lzc3MzA4DQoJKiBkb2MvcnRsLnRl eGk6IFVwZGF0ZSBkb2N1bWVudGF0aW9uLg0KCSogY29uZmlnL2FybS9hcm0t bW9kZXMuZGVmIChDQ19OQ1ZfQ0lDKTogTmV3IG1vZGUuDQoJKiBjb25maWcv YXJtL2FybS5tZCAoYWRkZGkzX2NvbXBhcmVWLCAqYWRkc2kzX2NvbXBhcmVW X3VwcGVyLA0KCWFkZGRpM19jb21wYXJlQywgKmFkZHNpM19jb21wYXJlQ191 cHBlciwgc3ViZGkzX2NvbXBhcmUxLA0KCXN1YnNpM19jYXJyeWluX2NvbXBh cmUsIHN1YnNpM19jYXJyeWluX2NvbXBhcmVfY29uc3QsDQoJbmVnZGkyX2Nv bXBhcmUsICpuZWdzaTJfY2Fycnlpbl9jb21wYXJlLA0KCSphcm1fY21wZGlf aW5zbik6IEZpeCB0aGUgQ0MgcmVnIGRhdGFmbG93Lg0KCSh1c3Vidjxtb2Rl PjQpOiBVc2UgQ0NfQ21vZGUgZm9yIHRoZSBicmFuY2guDQoNCkluZGV4OiBn Y2MvY29uZmlnL2FybS9hcm0tbW9kZXMuZGVmDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQotLS0gZ2NjL2NvbmZpZy9hcm0vYXJtLW1vZGVzLmRlZgkocmV2 aXNpb24gMjQ0NDM5KQ0KKysrIGdjYy9jb25maWcvYXJtL2FybS1tb2Rlcy5k ZWYJKHdvcmtpbmcgY29weSkNCkBAIC0zOCw2ICszOCw4IEBADQogICAgKHVz ZWQgZm9yIERJbW9kZSB1bnNpZ25lZCBjb21wYXJpc29ucykuDQogICAgQ0Nf TkNWbW9kZSBzaG91bGQgYmUgdXNlZCBpZiBvbmx5IHRoZSBOLCBDLCBhbmQg ViBmbGFncyBhcmUgY29ycmVjdA0KICAgICh1c2VkIGZvciBESW1vZGUgc2ln bmVkIGNvbXBhcmlzb25zKS4NCisgICBDQ19OQ1ZfQ0lDbW9kZSBkZWZpbmVz IE4gYW5kIFYgaW4gU0ltb2RlIGFuZCBDIGluIERJbW9kZQ0KKyAgICh1c2Vk IGZvciBjYXJyeWluX2NvbXBhcmUgcGF0dGVybnMpLg0KICAgIENDbW9kZSBz aG91bGQgYmUgdXNlZCBvdGhlcndpc2UuICAqLw0KIA0KIENDX01PREUgKEND X05PT1YpOw0KQEAgLTQ0LDYgKzQ2LDcgQEANCiBDQ19NT0RFIChDQ19aKTsN CiBDQ19NT0RFIChDQ19DWik7DQogQ0NfTU9ERSAoQ0NfTkNWKTsNCitDQ19N T0RFIChDQ19OQ1ZfQ0lDKTsNCiBDQ19NT0RFIChDQ19TV1ApOw0KIENDX01P REUgKENDRlApOw0KIENDX01PREUgKENDRlBFKTsNCkluZGV4OiBnY2MvY29u ZmlnL2FybS9hcm0ubWQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBn Y2MvY29uZmlnL2FybS9hcm0ubWQJKHJldmlzaW9uIDI0NDQzOSkNCisrKyBn Y2MvY29uZmlnL2FybS9hcm0ubWQJKHdvcmtpbmcgY29weSkNCkBAIC02Njks MTcgKzY2OSwxNSBAQA0KIAkgICAgICAoc2V0IChtYXRjaF9kdXAgMCkgKHBs dXM6U0kgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSldKQ0KICAgIChw YXJhbGxlbCBbKHNldCAocmVnOkNDX1YgQ0NfUkVHTlVNKQ0KIAkJICAgKG5l OkNDX1YNCi0JCSAgICAocGx1czpESSAocGx1czpESQ0KLQkJCSAgICAgIChz aWduX2V4dGVuZDpESSAobWF0Y2hfZHVwIDQpKQ0KLQkJCSAgICAgIChzaWdu X2V4dGVuZDpESSAobWF0Y2hfZHVwIDUpKSkNCi0JCQkgICAgIChsdHU6REkg KHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpDQotCQkgICAg KHBsdXM6REkgKHNpZ25fZXh0ZW5kOkRJDQotCQkJICAgICAgKHBsdXM6U0kg KG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKSkNCi0JCQkgICAgIChsdHU6 REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkNCi0J ICAgICAoc2V0IChtYXRjaF9kdXAgMykgKHBsdXM6U0kgKHBsdXM6U0kNCi0J CQkJCSAgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKQ0KLQkJCQkJIChs dHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkNCi0JCQkJCQkgKGNvbnN0X2lu dCAwKSkpKV0pXQ0KKwkJICAgICAocGx1czpESSAocGx1czpESSAoc2lnbl9l eHRlbmQ6REkgKG1hdGNoX2R1cCA0KSkNCisJCQkJICAgICAgIChzaWduX2V4 dGVuZDpESSAobWF0Y2hfZHVwIDUpKSkNCisJCQkgICAgICAobHR1OkRJIChy ZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKQ0KKwkJICAgIChz aWduX2V4dGVuZDpESQ0KKwkJICAgICAgKHBsdXM6U0kgKHBsdXM6U0kgKG1h dGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKQ0KKwkJCSAgICAgICAobHR1OlNJ IChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKSkpKQ0KKwkg ICAgICAoc2V0IChtYXRjaF9kdXAgMykgKHBsdXM6U0kgKHBsdXM6U0kgKG1h dGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKQ0KKwkJCQkJICAobHR1OlNJIChy ZWc6Q0NfQyBDQ19SRUdOVU0pDQorCQkJCQkJICAoY29uc3RfaW50IDApKSkp XSldDQogICAiDQogICB7DQogICAgIG9wZXJhbmRzWzNdID0gZ2VuX2hpZ2hw YXJ0IChTSW1vZGUsIG9wZXJhbmRzWzBdKTsNCkBAIC03MTMsMTMgKzcxMSwx MyBAQA0KICAgWyhzZXQgKHJlZzpDQ19WIENDX1JFR05VTSkNCiAJKG5lOkND X1YNCiAJICAocGx1czpESQ0KLQkgICAocGx1czpESQ0KLQkgICAgKHNpZ25f ZXh0ZW5kOkRJIChtYXRjaF9vcGVyYW5kOlNJIDEgInJlZ2lzdGVyX29wZXJh bmQiICJyIikpDQotCSAgICAoc2lnbl9leHRlbmQ6REkgKG1hdGNoX29wZXJh bmQ6U0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKSkpDQotCSAgIChsdHU6 REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpDQotCSAg KHBsdXM6REkgKHNpZ25fZXh0ZW5kOkRJDQotCQkgICAgKHBsdXM6U0kgKG1h dGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSkNCi0JCSAgIChsdHU6REkgKHJl ZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkNCisJICAgIChw bHVzOkRJDQorCSAgICAgIChzaWduX2V4dGVuZDpESSAobWF0Y2hfb3BlcmFu ZDpTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpKQ0KKwkgICAgICAoc2ln bl9leHRlbmQ6REkgKG1hdGNoX29wZXJhbmQ6U0kgMiAicmVnaXN0ZXJfb3Bl cmFuZCIgInIiKSkpDQorCSAgICAobHR1OkRJIChyZWc6Q0NfQyBDQ19SRUdO VU0pIChjb25zdF9pbnQgMCkpKQ0KKwkgIChzaWduX2V4dGVuZDpESSAocGx1 czpTSSAocGx1czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpDQor CQkJCSAgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkNCisJCQkJCSAg IChjb25zdF9pbnQgMCkpKSkpKQ0KICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6 U0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikNCiAJKHBsdXM6U0kNCiAJ IChwbHVzOlNJIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSkNCkBAIC03 NDgsMTcgKzc0NiwxNSBAQA0KIAkgICAgICAoc2V0IChtYXRjaF9kdXAgMCkg KHBsdXM6U0kgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSldKQ0KICAg IChwYXJhbGxlbCBbKHNldCAocmVnOkNDX0MgQ0NfUkVHTlVNKQ0KIAkJICAg KG5lOkNDX0MNCi0JCSAgICAocGx1czpESSAocGx1czpESQ0KLQkJCSAgICAg ICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfZHVwIDQpKQ0KLQkJCSAgICAgICh6 ZXJvX2V4dGVuZDpESSAobWF0Y2hfZHVwIDUpKSkNCi0JCQkgICAgIChsdHU6 REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpDQotCQkg ICAgKHBsdXM6REkgKHplcm9fZXh0ZW5kOkRJDQotCQkJICAgICAgKHBsdXM6 U0kgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKSkNCi0JCQkgICAgIChs dHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkN Ci0JICAgICAoc2V0IChtYXRjaF9kdXAgMykgKHBsdXM6U0kNCi0JCQkJIChw bHVzOlNJIChtYXRjaF9kdXAgNCkgKG1hdGNoX2R1cCA1KSkNCi0JCQkJIChs dHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkNCi0JCQkJCSAoY29uc3RfaW50 IDApKSkpXSldDQorCQkgICAgIChwbHVzOkRJIChwbHVzOkRJICh6ZXJvX2V4 dGVuZDpESSAobWF0Y2hfZHVwIDQpKQ0KKwkJCQkgICAgICAgKHplcm9fZXh0 ZW5kOkRJIChtYXRjaF9kdXAgNSkpKQ0KKwkJCSAgICAgIChsdHU6REkgKHJl ZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpDQorCQkgICAgKHpl cm9fZXh0ZW5kOkRJDQorCQkgICAgICAocGx1czpTSSAocGx1czpTSSAobWF0 Y2hfZHVwIDQpIChtYXRjaF9kdXAgNSkpDQorCQkJICAgICAgIChsdHU6U0kg KHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkpDQorCSAg ICAgIChzZXQgKG1hdGNoX2R1cCAzKSAocGx1czpTSSAocGx1czpTSSAobWF0 Y2hfZHVwIDQpIChtYXRjaF9kdXAgNSkpDQorCQkJCQkgIChsdHU6U0kgKHJl ZzpDQ19DIENDX1JFR05VTSkNCisJCQkJCQkgIChjb25zdF9pbnQgMCkpKSld KV0NCiAgICINCiAgIHsNCiAgICAgb3BlcmFuZHNbM10gPSBnZW5faGlnaHBh cnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pOw0KQEAgLTc3NywxNyArNzczLDE2 IEBADQogICBbKHNldCAocmVnOkNDX0MgQ0NfUkVHTlVNKQ0KIAkobmU6Q0Nf Qw0KIAkgIChwbHVzOkRJDQotCSAgIChwbHVzOkRJDQotCSAgICAoemVyb19l eHRlbmQ6REkgKG1hdGNoX29wZXJhbmQ6U0kgMSAicmVnaXN0ZXJfb3BlcmFu ZCIgInIiKSkNCi0JICAgICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfb3BlcmFu ZDpTSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpKSkNCi0JICAgKGx0dTpE SSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkNCi0JICAo cGx1czpESSAoemVyb19leHRlbmQ6REkNCi0JCSAgICAocGx1czpTSSAobWF0 Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpKQ0KLQkJICAgKGx0dTpESSAocmVn OkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpKQ0KKwkgICAgKHBs dXM6REkNCisJICAgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9vcGVyYW5k OlNJIDEgInJlZ2lzdGVyX29wZXJhbmQiICJyIikpDQorCSAgICAgICh6ZXJv X2V4dGVuZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAyICJyZWdpc3Rlcl9vcGVy YW5kIiAiciIpKSkNCisJICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05V TSkgKGNvbnN0X2ludCAwKSkpDQorCSAgKHplcm9fZXh0ZW5kOkRJDQorCSAg ICAocGx1czpTSSAocGx1czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAg MikpDQorCQkgICAgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNv bnN0X2ludCAwKSkpKSkpDQogICAgKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAw ICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQ0KLQkocGx1czpTSQ0KLQkgKHBs dXM6U0kgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKQ0KLQkgKGx0dTpT SSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpXQ0KKwko cGx1czpTSSAocGx1czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikp DQorCQkgKGx0dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50 IDApKSkpXQ0KICAgIlRBUkdFVF8zMkJJVCINCiAgICJhZGNzJT9cXHQlMCwg JTEsICUyIg0KICAgWyhzZXRfYXR0ciAiY29uZHMiICJzZXQiKQ0KQEAgLTEw ODAsMTQgKzEwNzUsMTQgQEANCiAgICJUQVJHRVRfMzJCSVQiDQogew0KICAg ZW1pdF9pbnNuIChnZW5fc3ViPG1vZGU+M19jb21wYXJlMSAob3BlcmFuZHNb MF0sIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1syXSkpOw0KLSAgYXJtX2dlbl91 bmxpa2VseV9jYnJhbmNoIChMVFUsIENDbW9kZSwgb3BlcmFuZHNbM10pOw0K KyAgYXJtX2dlbl91bmxpa2VseV9jYnJhbmNoIChFUSwgQ0NfQ21vZGUsIG9w ZXJhbmRzWzNdKTsNCiANCiAgIERPTkU7DQogfSkNCiANCiAoZGVmaW5lX2lu c25fYW5kX3NwbGl0ICJzdWJkaTNfY29tcGFyZTEiDQotICBbKHNldCAocmVn OkNDIENDX1JFR05VTSkNCi0JKGNvbXBhcmU6Q0MNCisgIFsoc2V0IChyZWc6 Q0NfTkNWIENDX1JFR05VTSkNCisJKGNvbXBhcmU6Q0NfTkNWDQogCSAgKG1h dGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKQ0KIAkg IChtYXRjaF9vcGVyYW5kOkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJyIikp KQ0KICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgIj0mciIpDQpAQCAtMTA5OCwxMCArMTA5MywxNCBAQA0KICAgWyhw YXJhbGxlbCBbKHNldCAocmVnOkNDIENDX1JFR05VTSkNCiAJCSAgIChjb21w YXJlOkNDIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSkpDQogCSAgICAg IChzZXQgKG1hdGNoX2R1cCAwKSAobWludXM6U0kgKG1hdGNoX2R1cCAxKSAo bWF0Y2hfZHVwIDIpKSldKQ0KLSAgIChwYXJhbGxlbCBbKHNldCAocmVnOkND IENDX1JFR05VTSkNCi0JCSAgIChjb21wYXJlOkNDIChtYXRjaF9kdXAgNCkg KG1hdGNoX2R1cCA1KSkpDQotCSAgICAgKHNldCAobWF0Y2hfZHVwIDMpICht aW51czpTSSAobWludXM6U0kgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUp KQ0KLQkJCSAgICAgICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChj b25zdF9pbnQgMCkpKSldKV0NCisgICAocGFyYWxsZWwgWyhzZXQgKHJlZzpD Q19OQ1ZfQ0lDIENDX1JFR05VTSkNCisJCSAgIChjb21wYXJlOkNDX05DVl9D SUMNCisJCSAgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAgNCkpDQor CQkgICAgIChwbHVzOkRJICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfZHVwIDUp KQ0KKwkJCSAgICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNv bnN0X2ludCAwKSkpKSkNCisJICAgICAgKHNldCAobWF0Y2hfZHVwIDMpDQor CQkgICAobWludXM6U0kgKG1pbnVzOlNJIChtYXRjaF9kdXAgNCkgKG1hdGNo X2R1cCA1KSkNCisJCQkgICAgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05V TSkgKGNvbnN0X2ludCAwKSkpKV0pXQ0KICAgew0KICAgICBvcGVyYW5kc1sz XSA9IGdlbl9oaWdocGFydCAoU0ltb2RlLCBvcGVyYW5kc1swXSk7DQogICAg IG9wZXJhbmRzWzBdID0gZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNb MF0pOw0KQEAgLTExNTcsMTMgKzExNTYsMTUgQEANCiApDQogDQogKGRlZmlu ZV9pbnNuICIqc3Vic2kzX2NhcnJ5aW5fY29tcGFyZSINCi0gIFsoc2V0IChy ZWc6Q0MgQ0NfUkVHTlVNKQ0KLSAgICAgICAgKGNvbXBhcmU6Q0MgKG1hdGNo X29wZXJhbmQ6U0kgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAiciIpDQotICAg ICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpTSSAyICJzX3JlZ2lz dGVyX29wZXJhbmQiICJyIikpKQ0KKyAgWyhzZXQgKHJlZzpDQ19OQ1ZfQ0lD IENDX1JFR05VTSkNCisJKGNvbXBhcmU6Q0NfTkNWX0NJQw0KKwkgICh6ZXJv X2V4dGVuZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAxICJzX3JlZ2lzdGVyX29w ZXJhbmQiICJyIikpDQorCSAgKHBsdXM6REkNCisJICAgICh6ZXJvX2V4dGVu ZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAyICJzX3JlZ2lzdGVyX29wZXJhbmQi ICJyIikpDQorCSAgICAobHR1OkRJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChj b25zdF9pbnQgMCkpKSkpDQogICAgKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAw ICJzX3JlZ2lzdGVyX29wZXJhbmQiICI9ciIpDQotICAgICAgICAobWludXM6 U0kgKG1pbnVzOlNJIChtYXRjaF9kdXAgMSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1hdGNoX2R1cCAyKSkNCi0gICAgICAgICAgICAgICAg ICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkp KSldDQorCShtaW51czpTSSAobWludXM6U0kgKG1hdGNoX2R1cCAxKSAobWF0 Y2hfZHVwIDIpKQ0KKwkJICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0p IChjb25zdF9pbnQgMCkpKSldDQogICAiVEFSR0VUXzMyQklUIg0KICAgInNi Y3NcXHQlMCwgJTEsICUyIg0KICAgWyhzZXRfYXR0ciAiY29uZHMiICJzZXQi KQ0KQEAgLTExNzEsMTMgKzExNzIsMTUgQEANCiApDQogDQogKGRlZmluZV9p bnNuICIqc3Vic2kzX2NhcnJ5aW5fY29tcGFyZV9jb25zdCINCi0gIFsoc2V0 IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KLSAgICAgICAgKGNvbXBhcmU6Q0MgKG1h dGNoX29wZXJhbmQ6U0kgMSAicmVnX29yX2ludF9vcGVyYW5kIiAiciIpDQot ICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpTSSAyICJhcm1f bm90X29wZXJhbmQiICJLIikpKQ0KKyAgWyhzZXQgKHJlZzpDQ19OQ1ZfQ0lD IENDX1JFR05VTSkNCisJKGNvbXBhcmU6Q0NfTkNWX0NJQw0KKwkgICh6ZXJv X2V4dGVuZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAxICJyZWdfb3JfaW50X29w ZXJhbmQiICJyIikpDQorCSAgKHBsdXM6REkNCisJICAgICh6ZXJvX2V4dGVu ZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAyICJhcm1fbm90X29wZXJhbmQiICJL IikpDQorCSAgICAobHR1OkRJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25z dF9pbnQgMCkpKSkpDQogICAgKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAwICJz X3JlZ2lzdGVyX29wZXJhbmQiICI9ciIpDQotICAgICAgICAobWludXM6U0kg KHBsdXM6U0kgKG1hdGNoX2R1cCAxKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIChtYXRjaF9kdXAgMikpDQotICAgICAgICAgICAgICAgICAgKGx0 dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpXQ0K KwkobWludXM6U0kgKHBsdXM6U0kgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVw IDIpKQ0KKwkJICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25z dF9pbnQgMCkpKSldDQogICAiVEFSR0VUXzMyQklUIg0KICAgInNiY3NcXHQl MCwgJTEsICMlQjIiDQogICBbKHNldF9hdHRyICJjb25kcyIgInNldCIpDQpA QCAtNDYzNCw4ICs0NjM3LDggQEANCiANCiANCiAoZGVmaW5lX2luc25fYW5k X3NwbGl0ICJuZWdkaTJfY29tcGFyZSINCi0gIFsoc2V0IChyZWc6Q0MgQ0Nf UkVHTlVNKQ0KLQkoY29tcGFyZTpDQw0KKyAgWyhzZXQgKHJlZzpDQ19OQ1Yg Q0NfUkVHTlVNKQ0KKwkoY29tcGFyZTpDQ19OQ1YNCiAJICAoY29uc3RfaW50 IDApDQogCSAgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFu ZCIgIjAsciIpKSkNCiAgICAoc2V0IChtYXRjaF9vcGVyYW5kOkRJIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9ciwmciIpDQpAQCAtNDY0Nyw4ICs0NjUwLDEy IEBADQogCQkgICAoY29tcGFyZTpDQyAoY29uc3RfaW50IDApIChtYXRjaF9k dXAgMSkpKQ0KIAkgICAgICAoc2V0IChtYXRjaF9kdXAgMCkgKG1pbnVzOlNJ IChjb25zdF9pbnQgMCkNCiAJCQkJCSAgIChtYXRjaF9kdXAgMSkpKV0pDQot ICAgKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KLQkJICAg KGNvbXBhcmU6Q0MgKGNvbnN0X2ludCAwKSAobWF0Y2hfZHVwIDMpKSkNCisg ICAocGFyYWxsZWwgWyhzZXQgKHJlZzpDQ19OQ1ZfQ0lDIENDX1JFR05VTSkN CisJCSAgIChjb21wYXJlOkNDX05DVl9DSUMNCisJCSAgICAgKGNvbnN0X2lu dCAwKQ0KKwkJICAgICAocGx1czpESQ0KKwkJICAgICAgICh6ZXJvX2V4dGVu ZDpESSAobWF0Y2hfZHVwIDMpKQ0KKwkJICAgICAgIChsdHU6REkgKHJlZzpD Q19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkNCiAJICAgICAoc2V0 IChtYXRjaF9kdXAgMikNCiAJCSAgKG1pbnVzOlNJDQogCQkgICAobWludXM6 U0kgKGNvbnN0X2ludCAwKSAobWF0Y2hfZHVwIDMpKQ0KQEAgLTQ3MDcsMTIg KzQ3MTQsMTQgQEANCiApDQogDQogKGRlZmluZV9pbnNuICIqbmVnc2kyX2Nh cnJ5aW5fY29tcGFyZSINCi0gIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0K LQkoY29tcGFyZTpDQyAoY29uc3RfaW50IDApDQotCQkgICAgKG1hdGNoX29w ZXJhbmQ6U0kgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAiciIpKSkNCisgIFso c2V0IChyZWc6Q0NfTkNWX0NJQyBDQ19SRUdOVU0pDQorCShjb21wYXJlOkND X05DVl9DSUMNCisJICAoY29uc3RfaW50IDApDQorCSAgKHBsdXM6REkNCisJ ICAgICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAxICJzX3Jl Z2lzdGVyX29wZXJhbmQiICJyIikpDQorCSAgICAobHR1OkRJIChyZWc6Q0Nf QyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKSkpDQogICAgKHNldCAobWF0 Y2hfb3BlcmFuZDpTSSAwICJzX3JlZ2lzdGVyX29wZXJhbmQiICI9ciIpDQot CShtaW51czpTSSAobWludXM6U0kgKGNvbnN0X2ludCAwKQ0KLQkJCSAgICAo bWF0Y2hfZHVwIDEpKQ0KKwkobWludXM6U0kgKG1pbnVzOlNJIChjb25zdF9p bnQgMCkgKG1hdGNoX2R1cCAxKSkNCiAJCSAgKGx0dTpTSSAocmVnOkNDX0Mg Q0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpXQ0KICAgIlRBUkdFVF9BUk0i DQogICAicnNjc1xcdCUwLCAlMSwgIzAiDQpAQCAtNzM2MSwxMiArNzM3MCwx NSBAQA0KICAgIiMiICAgOyAiY21wXFx0JVEwLCAlUTFcO3NiY3NcXHQlMiwg JVIwLCAlUjEiDQogICAiJiYgcmVsb2FkX2NvbXBsZXRlZCINCiAgIFsoc2V0 IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KLSAgICAgICAgKGNvbXBhcmU6Q0MgKG1h dGNoX2R1cCAwKSAobWF0Y2hfZHVwIDEpKSkNCi0gICAocGFyYWxsZWwgWyhz ZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQotICAgICAgICAgICAgICAgICAgIChj b21wYXJlOkNDIChtYXRjaF9kdXAgMykgKG1hdGNoX2R1cCA0KSkpDQotICAg ICAgICAgICAgICAoc2V0IChtYXRjaF9kdXAgMikNCi0gICAgICAgICAgICAg ICAgICAgKG1pbnVzOlNJIChtYXRjaF9kdXAgNSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGx0dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAo Y29uc3RfaW50IDApKSkpXSldDQorCShjb21wYXJlOkNDIChtYXRjaF9kdXAg MCkgKG1hdGNoX2R1cCAxKSkpDQorICAgKHBhcmFsbGVsIFsoc2V0IChyZWc6 Q0NfTkNWX0NJQyBDQ19SRUdOVU0pDQorCQkgICAoY29tcGFyZTpDQ19OQ1Zf Q0lDDQorCQkgICAgICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfZHVwIDMpKQ0K KwkJICAgICAocGx1czpESSAoemVyb19leHRlbmQ6REkgKG1hdGNoX2R1cCA0 KSkNCisJCQkgICAgICAobHR1OkRJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChj b25zdF9pbnQgMCkpKSkpDQorCSAgICAgIChzZXQgKG1hdGNoX2R1cCAyKQ0K KwkJICAgKG1pbnVzOlNJIChtYXRjaF9kdXAgNSkNCisJCQkgICAgIChsdHU6 U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKV0pXQ0K ICAgew0KICAgICBvcGVyYW5kc1szXSA9IGdlbl9oaWdocGFydCAoU0ltb2Rl LCBvcGVyYW5kc1swXSk7DQogICAgIG9wZXJhbmRzWzBdID0gZ2VuX2xvd3Bh cnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pOw0KSW5kZXg6IGdjYy9jb25maWcv YXJtL2FybS1tb2Rlcy5kZWYNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvY29uZmlnL2FybS9hcm0tbW9kZXMuZGVmCShyZXZpc2lvbiAyNTE3 NTIpDQorKysgZ2NjL2NvbmZpZy9hcm0vYXJtLW1vZGVzLmRlZgkod29ya2lu ZyBjb3B5KQ0KQEAgLTM4LDYgKzM4LDggQEANCiAgICAodXNlZCBmb3IgRElt b2RlIHVuc2lnbmVkIGNvbXBhcmlzb25zKS4NCiAgICBDQ19OQ1Ztb2RlIHNo b3VsZCBiZSB1c2VkIGlmIG9ubHkgdGhlIE4sIEMsIGFuZCBWIGZsYWdzIGFy ZSBjb3JyZWN0DQogICAgKHVzZWQgZm9yIERJbW9kZSBzaWduZWQgY29tcGFy aXNvbnMpLg0KKyAgIENDX05DVl9DSUNtb2RlIGRlZmluZXMgTiBhbmQgViBp biBTSW1vZGUgYW5kIEMgaW4gREltb2RlDQorICAgKHVzZWQgZm9yIGNhcnJ5 aW5fY29tcGFyZSBwYXR0ZXJucykuDQogICAgQ0Ntb2RlIHNob3VsZCBiZSB1 c2VkIG90aGVyd2lzZS4gICovDQogDQogQ0NfTU9ERSAoQ0NfTk9PVik7DQpA QCAtNDQsNiArNDYsNyBAQA0KIENDX01PREUgKENDX1opOw0KIENDX01PREUg KENDX0NaKTsNCiBDQ19NT0RFIChDQ19OQ1YpOw0KK0NDX01PREUgKENDX05D Vl9DSUMpOw0KIENDX01PREUgKENDX1NXUCk7DQogQ0NfTU9ERSAoQ0NGUCk7 DQogQ0NfTU9ERSAoQ0NGUEUpOw0KSW5kZXg6IGdjYy9jb25maWcvYXJtL2Fy bS5tZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy9jb25maWcv YXJtL2FybS5tZAkocmV2aXNpb24gMjUxNzUyKQ0KKysrIGdjYy9jb25maWcv YXJtL2FybS5tZAkod29ya2luZyBjb3B5KQ0KQEAgLTY2NCwxNyArNjY0LDE1 IEBADQogCSAgICAgIChzZXQgKG1hdGNoX2R1cCAwKSAocGx1czpTSSAobWF0 Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpKV0pDQogICAgKHBhcmFsbGVsIFso c2V0IChyZWc6Q0NfViBDQ19SRUdOVU0pDQogCQkgICAobmU6Q0NfVg0KLQkJ ICAgIChwbHVzOkRJIChwbHVzOkRJDQotCQkJICAgICAgKHNpZ25fZXh0ZW5k OkRJIChtYXRjaF9kdXAgNCkpDQotCQkJICAgICAgKHNpZ25fZXh0ZW5kOkRJ IChtYXRjaF9kdXAgNSkpKQ0KLQkJCSAgICAgKGx0dTpESSAocmVnOkNDX0Mg Q0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkNCi0JCSAgICAocGx1czpESSAo c2lnbl9leHRlbmQ6REkNCi0JCQkgICAgICAocGx1czpTSSAobWF0Y2hfZHVw IDQpIChtYXRjaF9kdXAgNSkpKQ0KLQkJCSAgICAgKGx0dTpESSAocmVnOkND X0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpKQ0KLQkgICAgIChzZXQg KG1hdGNoX2R1cCAzKSAocGx1czpTSSAocGx1czpTSQ0KLQkJCQkJICAobWF0 Y2hfZHVwIDQpIChtYXRjaF9kdXAgNSkpDQotCQkJCQkgKGx0dTpTSSAocmVn OkNDX0MgQ0NfUkVHTlVNKQ0KLQkJCQkJCSAoY29uc3RfaW50IDApKSkpXSld DQorCQkgICAgIChwbHVzOkRJIChwbHVzOkRJIChzaWduX2V4dGVuZDpESSAo bWF0Y2hfZHVwIDQpKQ0KKwkJCQkgICAgICAgKHNpZ25fZXh0ZW5kOkRJICht YXRjaF9kdXAgNSkpKQ0KKwkJCSAgICAgIChsdHU6REkgKHJlZzpDQ19DIEND X1JFR05VTSkgKGNvbnN0X2ludCAwKSkpDQorCQkgICAgKHNpZ25fZXh0ZW5k OkRJDQorCQkgICAgICAocGx1czpTSSAocGx1czpTSSAobWF0Y2hfZHVwIDQp IChtYXRjaF9kdXAgNSkpDQorCQkJICAgICAgIChsdHU6U0kgKHJlZzpDQ19D IENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKSkpDQorCSAgICAgIChzZXQg KG1hdGNoX2R1cCAzKSAocGx1czpTSSAocGx1czpTSSAobWF0Y2hfZHVwIDQp IChtYXRjaF9kdXAgNSkpDQorCQkJCQkgIChsdHU6U0kgKHJlZzpDQ19DIEND X1JFR05VTSkNCisJCQkJCQkgIChjb25zdF9pbnQgMCkpKSldKV0NCiAgICIN CiAgIHsNCiAgICAgb3BlcmFuZHNbM10gPSBnZW5faGlnaHBhcnQgKFNJbW9k ZSwgb3BlcmFuZHNbMF0pOw0KQEAgLTcwOCwxMyArNzA2LDEzIEBADQogICBb KHNldCAocmVnOkNDX1YgQ0NfUkVHTlVNKQ0KIAkobmU6Q0NfVg0KIAkgIChw bHVzOkRJDQotCSAgIChwbHVzOkRJDQotCSAgICAoc2lnbl9leHRlbmQ6REkg KG1hdGNoX29wZXJhbmQ6U0kgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKSkN Ci0JICAgIChzaWduX2V4dGVuZDpESSAobWF0Y2hfb3BlcmFuZDpTSSAyICJy ZWdpc3Rlcl9vcGVyYW5kIiAiciIpKSkNCi0JICAgKGx0dTpESSAocmVnOkND X0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkNCi0JICAocGx1czpESSAo c2lnbl9leHRlbmQ6REkNCi0JCSAgICAocGx1czpTSSAobWF0Y2hfZHVwIDEp IChtYXRjaF9kdXAgMikpKQ0KLQkJICAgKGx0dTpESSAocmVnOkNDX0MgQ0Nf UkVHTlVNKSAoY29uc3RfaW50IDApKSkpKQ0KKwkgICAgKHBsdXM6REkNCisJ ICAgICAgKHNpZ25fZXh0ZW5kOkRJIChtYXRjaF9vcGVyYW5kOlNJIDEgInJl Z2lzdGVyX29wZXJhbmQiICJyIikpDQorCSAgICAgIChzaWduX2V4dGVuZDpE SSAobWF0Y2hfb3BlcmFuZDpTSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIp KSkNCisJICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0 X2ludCAwKSkpDQorCSAgKHNpZ25fZXh0ZW5kOkRJIChwbHVzOlNJIChwbHVz OlNJIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSkNCisJCQkJICAgKGx0 dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKQ0KKwkJCQkJICAgKGNvbnN0X2lu dCAwKSkpKSkpDQogICAgKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAwICJyZWdp c3Rlcl9vcGVyYW5kIiAiPXIiKQ0KIAkocGx1czpTSQ0KIAkgKHBsdXM6U0kg KG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKQ0KQEAgLTc0MywxNyArNzQx LDE1IEBADQogCSAgICAgIChzZXQgKG1hdGNoX2R1cCAwKSAocGx1czpTSSAo bWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpKV0pDQogICAgKHBhcmFsbGVs IFsoc2V0IChyZWc6Q0NfQyBDQ19SRUdOVU0pDQogCQkgICAobmU6Q0NfQw0K LQkJICAgIChwbHVzOkRJIChwbHVzOkRJDQotCQkJICAgICAgKHplcm9fZXh0 ZW5kOkRJIChtYXRjaF9kdXAgNCkpDQotCQkJICAgICAgKHplcm9fZXh0ZW5k OkRJIChtYXRjaF9kdXAgNSkpKQ0KLQkJCSAgICAgKGx0dTpESSAocmVnOkND X0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkNCi0JCSAgICAocGx1czpE SSAoemVyb19leHRlbmQ6REkNCi0JCQkgICAgICAocGx1czpTSSAobWF0Y2hf ZHVwIDQpIChtYXRjaF9kdXAgNSkpKQ0KLQkJCSAgICAgKGx0dTpESSAocmVn OkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpKQ0KLQkgICAgIChz ZXQgKG1hdGNoX2R1cCAzKSAocGx1czpTSQ0KLQkJCQkgKHBsdXM6U0kgKG1h dGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKQ0KLQkJCQkgKGx0dTpTSSAocmVn OkNDX0MgQ0NfUkVHTlVNKQ0KLQkJCQkJIChjb25zdF9pbnQgMCkpKSldKV0N CisJCSAgICAgKHBsdXM6REkgKHBsdXM6REkgKHplcm9fZXh0ZW5kOkRJICht YXRjaF9kdXAgNCkpDQorCQkJCSAgICAgICAoemVyb19leHRlbmQ6REkgKG1h dGNoX2R1cCA1KSkpDQorCQkJICAgICAgKGx0dTpESSAocmVnOkNDX0MgQ0Nf UkVHTlVNKSAoY29uc3RfaW50IDApKSkNCisJCSAgICAoemVyb19leHRlbmQ6 REkNCisJCSAgICAgIChwbHVzOlNJIChwbHVzOlNJIChtYXRjaF9kdXAgNCkg KG1hdGNoX2R1cCA1KSkNCisJCQkgICAgICAgKGx0dTpTSSAocmVnOkNDX0Mg Q0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpKSkNCisJICAgICAgKHNldCAo bWF0Y2hfZHVwIDMpIChwbHVzOlNJIChwbHVzOlNJIChtYXRjaF9kdXAgNCkg KG1hdGNoX2R1cCA1KSkNCisJCQkJCSAgKGx0dTpTSSAocmVnOkNDX0MgQ0Nf UkVHTlVNKQ0KKwkJCQkJCSAgKGNvbnN0X2ludCAwKSkpKV0pXQ0KICAgIg0K ICAgew0KICAgICBvcGVyYW5kc1szXSA9IGdlbl9oaWdocGFydCAoU0ltb2Rl LCBvcGVyYW5kc1swXSk7DQpAQCAtNzcyLDE3ICs3NjgsMTYgQEANCiAgIFso c2V0IChyZWc6Q0NfQyBDQ19SRUdOVU0pDQogCShuZTpDQ19DDQogCSAgKHBs dXM6REkNCi0JICAgKHBsdXM6REkNCi0JICAgICh6ZXJvX2V4dGVuZDpESSAo bWF0Y2hfb3BlcmFuZDpTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpKQ0K LQkgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9vcGVyYW5kOlNJIDIgInJl Z2lzdGVyX29wZXJhbmQiICJyIikpKQ0KLQkgICAobHR1OkRJIChyZWc6Q0Nf QyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKQ0KLQkgIChwbHVzOkRJICh6 ZXJvX2V4dGVuZDpESQ0KLQkJICAgIChwbHVzOlNJIChtYXRjaF9kdXAgMSkg KG1hdGNoX2R1cCAyKSkpDQotCQkgICAobHR1OkRJIChyZWc6Q0NfQyBDQ19S RUdOVU0pIChjb25zdF9pbnQgMCkpKSkpDQorCSAgICAocGx1czpESQ0KKwkg ICAgICAoemVyb19leHRlbmQ6REkgKG1hdGNoX29wZXJhbmQ6U0kgMSAicmVn aXN0ZXJfb3BlcmFuZCIgInIiKSkNCisJICAgICAgKHplcm9fZXh0ZW5kOkRJ IChtYXRjaF9vcGVyYW5kOlNJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJyIikp KQ0KKwkgICAgKGx0dTpESSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3Rf aW50IDApKSkNCisJICAoemVyb19leHRlbmQ6REkNCisJICAgIChwbHVzOlNJ IChwbHVzOlNJIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSkNCisJCSAg ICAgKGx0dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDAp KSkpKSkNCiAgICAoc2V0IChtYXRjaF9vcGVyYW5kOlNJIDAgInJlZ2lzdGVy X29wZXJhbmQiICI9ciIpDQotCShwbHVzOlNJDQotCSAocGx1czpTSSAobWF0 Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpDQotCSAobHR1OlNJIChyZWc6Q0Nf QyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKSldDQorCShwbHVzOlNJIChw bHVzOlNJIChtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSkNCisJCSAobHR1 OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKSldDQog ICAiVEFSR0VUXzMyQklUIg0KICAgImFkY3MlP1xcdCUwLCAlMSwgJTIiDQog ICBbKHNldF9hdHRyICJjb25kcyIgInNldCIpDQpAQCAtMTA3NSwxNCArMTA3 MCwxNCBAQA0KICAgIlRBUkdFVF8zMkJJVCINCiB7DQogICBlbWl0X2luc24g KGdlbl9zdWI8bW9kZT4zX2NvbXBhcmUxIChvcGVyYW5kc1swXSwgb3BlcmFu ZHNbMV0sIG9wZXJhbmRzWzJdKSk7DQotICBhcm1fZ2VuX3VubGlrZWx5X2Ni cmFuY2ggKExUVSwgQ0Ntb2RlLCBvcGVyYW5kc1szXSk7DQorICBhcm1fZ2Vu X3VubGlrZWx5X2NicmFuY2ggKEVRLCBDQ19DbW9kZSwgb3BlcmFuZHNbM10p Ow0KIA0KICAgRE9ORTsNCiB9KQ0KIA0KIChkZWZpbmVfaW5zbl9hbmRfc3Bs aXQgInN1YmRpM19jb21wYXJlMSINCi0gIFsoc2V0IChyZWc6Q0MgQ0NfUkVH TlVNKQ0KLQkoY29tcGFyZTpDQw0KKyAgWyhzZXQgKHJlZzpDQ19OQ1YgQ0Nf UkVHTlVNKQ0KKwkoY29tcGFyZTpDQ19OQ1YNCiAJICAobWF0Y2hfb3BlcmFu ZDpESSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpDQogCSAgKG1hdGNoX29w ZXJhbmQ6REkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKSkpDQogICAgKHNl dCAobWF0Y2hfb3BlcmFuZDpESSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPSZy IikNCkBAIC0xMDkzLDEwICsxMDg4LDE0IEBADQogICBbKHBhcmFsbGVsIFso c2V0IChyZWc6Q0MgQ0NfUkVHTlVNKQ0KIAkJICAgKGNvbXBhcmU6Q0MgKG1h dGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSkNCiAJICAgICAgKHNldCAobWF0 Y2hfZHVwIDApIChtaW51czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAg MikpKV0pDQotICAgKHBhcmFsbGVsIFsoc2V0IChyZWc6Q0MgQ0NfUkVHTlVN KQ0KLQkJICAgKGNvbXBhcmU6Q0MgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVw IDUpKSkNCi0JICAgICAoc2V0IChtYXRjaF9kdXAgMykgKG1pbnVzOlNJICht aW51czpTSSAobWF0Y2hfZHVwIDQpIChtYXRjaF9kdXAgNSkpDQotCQkJICAg ICAgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAw KSkpKV0pXQ0KKyAgIChwYXJhbGxlbCBbKHNldCAocmVnOkNDX05DVl9DSUMg Q0NfUkVHTlVNKQ0KKwkJICAgKGNvbXBhcmU6Q0NfTkNWX0NJQw0KKwkJICAg ICAoemVyb19leHRlbmQ6REkgKG1hdGNoX2R1cCA0KSkNCisJCSAgICAgKHBs dXM6REkgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAgNSkpDQorCQkJICAg ICAgKGx0dTpESSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDAp KSkpKQ0KKwkgICAgICAoc2V0IChtYXRjaF9kdXAgMykNCisJCSAgIChtaW51 czpTSSAobWludXM6U0kgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUpKQ0K KwkJCSAgICAgKGx0dTpTSSAocmVnOkNDX0MgQ0NfUkVHTlVNKSAoY29uc3Rf aW50IDApKSkpXSldDQogICB7DQogICAgIG9wZXJhbmRzWzNdID0gZ2VuX2hp Z2hwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzBdKTsNCiAgICAgb3BlcmFuZHNb MF0gPSBnZW5fbG93cGFydCAoU0ltb2RlLCBvcGVyYW5kc1swXSk7DQpAQCAt MTE1MiwxMyArMTE1MSwxNSBAQA0KICkNCiANCiAoZGVmaW5lX2luc24gIipz dWJzaTNfY2Fycnlpbl9jb21wYXJlIg0KLSAgWyhzZXQgKHJlZzpDQyBDQ19S RUdOVU0pDQotICAgICAgICAoY29tcGFyZTpDQyAobWF0Y2hfb3BlcmFuZDpT SSAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICJyIikNCi0gICAgICAgICAgICAg ICAgICAgIChtYXRjaF9vcGVyYW5kOlNJIDIgInNfcmVnaXN0ZXJfb3BlcmFu ZCIgInIiKSkpDQorICBbKHNldCAocmVnOkNDX05DVl9DSUMgQ0NfUkVHTlVN KQ0KKwkoY29tcGFyZTpDQ19OQ1ZfQ0lDDQorCSAgKHplcm9fZXh0ZW5kOkRJ IChtYXRjaF9vcGVyYW5kOlNJIDEgInNfcmVnaXN0ZXJfb3BlcmFuZCIgInIi KSkNCisJICAocGx1czpESQ0KKwkgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRj aF9vcGVyYW5kOlNJIDIgInNfcmVnaXN0ZXJfb3BlcmFuZCIgInIiKSkNCisJ ICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAw KSkpKSkNCiAgICAoc2V0IChtYXRjaF9vcGVyYW5kOlNJIDAgInNfcmVnaXN0 ZXJfb3BlcmFuZCIgIj1yIikNCi0gICAgICAgIChtaW51czpTSSAobWludXM6 U0kgKG1hdGNoX2R1cCAxKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWF0Y2hfZHVwIDIpKQ0KLSAgICAgICAgICAgICAgICAgIChsdHU6U0kg KHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkpKV0NCisJKG1p bnVzOlNJIChtaW51czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikp DQorCQkgIChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2lu dCAwKSkpKV0NCiAgICJUQVJHRVRfMzJCSVQiDQogICAic2Jjc1xcdCUwLCAl MSwgJTIiDQogICBbKHNldF9hdHRyICJjb25kcyIgInNldCIpDQpAQCAtMTE2 NiwxMyArMTE2NywxNSBAQA0KICkNCiANCiAoZGVmaW5lX2luc24gIipzdWJz aTNfY2Fycnlpbl9jb21wYXJlX2NvbnN0Ig0KLSAgWyhzZXQgKHJlZzpDQyBD Q19SRUdOVU0pDQotICAgICAgICAoY29tcGFyZTpDQyAobWF0Y2hfb3BlcmFu ZDpTSSAxICJyZWdfb3JfaW50X29wZXJhbmQiICJyIikNCi0gICAgICAgICAg ICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlNJIDIgImFybV9ub3Rfb3BlcmFu ZCIgIksiKSkpDQorICBbKHNldCAocmVnOkNDX05DVl9DSUMgQ0NfUkVHTlVN KQ0KKwkoY29tcGFyZTpDQ19OQ1ZfQ0lDDQorCSAgKHplcm9fZXh0ZW5kOkRJ IChtYXRjaF9vcGVyYW5kOlNJIDEgInJlZ19vcl9pbnRfb3BlcmFuZCIgInIi KSkNCisJICAocGx1czpESQ0KKwkgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRj aF9vcGVyYW5kOlNJIDIgImFybV9ub3Rfb3BlcmFuZCIgIksiKSkNCisJICAg IChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkp KSkNCiAgICAoc2V0IChtYXRjaF9vcGVyYW5kOlNJIDAgInNfcmVnaXN0ZXJf b3BlcmFuZCIgIj1yIikNCi0gICAgICAgIChtaW51czpTSSAocGx1czpTSSAo bWF0Y2hfZHVwIDEpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1h dGNoX2R1cCAyKSkNCi0gICAgICAgICAgICAgICAgICAobHR1OlNJIChyZWc6 Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQgMCkpKSldDQorCShtaW51czpT SSAocGx1czpTSSAobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikpDQorCQkg IChsdHU6U0kgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAwKSkp KV0NCiAgICJUQVJHRVRfMzJCSVQiDQogICAic2Jjc1xcdCUwLCAlMSwgIyVC MiINCiAgIFsoc2V0X2F0dHIgImNvbmRzIiAic2V0IikNCkBAIC00Njg2LDgg KzQ2ODksOCBAQA0KIA0KIA0KIChkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIm5l Z2RpMl9jb21wYXJlIg0KLSAgWyhzZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQot CShjb21wYXJlOkNDDQorICBbKHNldCAocmVnOkNDX05DViBDQ19SRUdOVU0p DQorCShjb21wYXJlOkNDX05DVg0KIAkgIChjb25zdF9pbnQgMCkNCiAJICAo bWF0Y2hfb3BlcmFuZDpESSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCxyIikp KQ0KICAgIChzZXQgKG1hdGNoX29wZXJhbmQ6REkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgIj1yLCZyIikNCkBAIC00Njk5LDggKzQ3MDIsMTIgQEANCiAJCSAg IChjb21wYXJlOkNDIChjb25zdF9pbnQgMCkgKG1hdGNoX2R1cCAxKSkpDQog CSAgICAgIChzZXQgKG1hdGNoX2R1cCAwKSAobWludXM6U0kgKGNvbnN0X2lu dCAwKQ0KIAkJCQkJICAgKG1hdGNoX2R1cCAxKSkpXSkNCi0gICAocGFyYWxs ZWwgWyhzZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQotCQkgICAoY29tcGFyZTpD QyAoY29uc3RfaW50IDApIChtYXRjaF9kdXAgMykpKQ0KKyAgIChwYXJhbGxl bCBbKHNldCAocmVnOkNDX05DVl9DSUMgQ0NfUkVHTlVNKQ0KKwkJICAgKGNv bXBhcmU6Q0NfTkNWX0NJQw0KKwkJICAgICAoY29uc3RfaW50IDApDQorCQkg ICAgIChwbHVzOkRJDQorCQkgICAgICAgKHplcm9fZXh0ZW5kOkRJIChtYXRj aF9kdXAgMykpDQorCQkgICAgICAgKGx0dTpESSAocmVnOkNDX0MgQ0NfUkVH TlVNKSAoY29uc3RfaW50IDApKSkpKQ0KIAkgICAgIChzZXQgKG1hdGNoX2R1 cCAyKQ0KIAkJICAobWludXM6U0kNCiAJCSAgIChtaW51czpTSSAoY29uc3Rf aW50IDApIChtYXRjaF9kdXAgMykpDQpAQCAtNDc1OSwxMiArNDc2NiwxNCBA QA0KICkNCiANCiAoZGVmaW5lX2luc24gIipuZWdzaTJfY2Fycnlpbl9jb21w YXJlIg0KLSAgWyhzZXQgKHJlZzpDQyBDQ19SRUdOVU0pDQotCShjb21wYXJl OkNDIChjb25zdF9pbnQgMCkNCi0JCSAgICAobWF0Y2hfb3BlcmFuZDpTSSAx ICJzX3JlZ2lzdGVyX29wZXJhbmQiICJyIikpKQ0KKyAgWyhzZXQgKHJlZzpD Q19OQ1ZfQ0lDIENDX1JFR05VTSkNCisJKGNvbXBhcmU6Q0NfTkNWX0NJQw0K KwkgIChjb25zdF9pbnQgMCkNCisJICAocGx1czpESQ0KKwkgICAgKHplcm9f ZXh0ZW5kOkRJIChtYXRjaF9vcGVyYW5kOlNJIDEgInNfcmVnaXN0ZXJfb3Bl cmFuZCIgInIiKSkNCisJICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05V TSkgKGNvbnN0X2ludCAwKSkpKSkNCiAgICAoc2V0IChtYXRjaF9vcGVyYW5k OlNJIDAgInNfcmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikNCi0JKG1pbnVzOlNJ IChtaW51czpTSSAoY29uc3RfaW50IDApDQotCQkJICAgIChtYXRjaF9kdXAg MSkpDQorCShtaW51czpTSSAobWludXM6U0kgKGNvbnN0X2ludCAwKSAobWF0 Y2hfZHVwIDEpKQ0KIAkJICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0p IChjb25zdF9pbnQgMCkpKSldDQogICAiVEFSR0VUX0FSTSINCiAgICJyc2Nz XFx0JTAsICUxLCAjMCINCkBAIC03NDM4LDEyICs3NDQ3LDE1IEBADQogICAi IyIgICA7ICJjbXBcXHQlUTAsICVRMVw7c2Jjc1xcdCUyLCAlUjAsICVSMSIN CiAgICImJiByZWxvYWRfY29tcGxldGVkIg0KICAgWyhzZXQgKHJlZzpDQyBD Q19SRUdOVU0pDQotICAgICAgICAoY29tcGFyZTpDQyAobWF0Y2hfZHVwIDAp IChtYXRjaF9kdXAgMSkpKQ0KLSAgIChwYXJhbGxlbCBbKHNldCAocmVnOkND IENDX1JFR05VTSkNCi0gICAgICAgICAgICAgICAgICAgKGNvbXBhcmU6Q0Mg KG1hdGNoX2R1cCAzKSAobWF0Y2hfZHVwIDQpKSkNCi0gICAgICAgICAgICAg IChzZXQgKG1hdGNoX2R1cCAyKQ0KLSAgICAgICAgICAgICAgICAgICAobWlu dXM6U0kgKG1hdGNoX2R1cCA1KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobHR1OlNJIChyZWc6Q0NfQyBDQ19SRUdOVU0pIChjb25zdF9pbnQg MCkpKSldKV0NCisJKGNvbXBhcmU6Q0MgKG1hdGNoX2R1cCAwKSAobWF0Y2hf ZHVwIDEpKSkNCisgICAocGFyYWxsZWwgWyhzZXQgKHJlZzpDQ19OQ1ZfQ0lD IENDX1JFR05VTSkNCisJCSAgIChjb21wYXJlOkNDX05DVl9DSUMNCisJCSAg ICAgKHplcm9fZXh0ZW5kOkRJIChtYXRjaF9kdXAgMykpDQorCQkgICAgIChw bHVzOkRJICh6ZXJvX2V4dGVuZDpESSAobWF0Y2hfZHVwIDQpKQ0KKwkJCSAg ICAgIChsdHU6REkgKHJlZzpDQ19DIENDX1JFR05VTSkgKGNvbnN0X2ludCAw KSkpKSkNCisJICAgICAgKHNldCAobWF0Y2hfZHVwIDIpDQorCQkgICAobWlu dXM6U0kgKG1hdGNoX2R1cCA1KQ0KKwkJCSAgICAgKGx0dTpTSSAocmVnOkND X0MgQ0NfUkVHTlVNKSAoY29uc3RfaW50IDApKSkpXSldDQogICB7DQogICAg IG9wZXJhbmRzWzNdID0gZ2VuX2hpZ2hwYXJ0IChTSW1vZGUsIG9wZXJhbmRz WzBdKTsNCiAgICAgb3BlcmFuZHNbMF0gPSBnZW5fbG93cGFydCAoU0ltb2Rl LCBvcGVyYW5kc1swXSk7DQpJbmRleDogZ2NjL2RvYy9ydGwudGV4aQ0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy9kb2MvcnRsLnRleGkJKHJl dmlzaW9uIDI1MTc1MikNCisrKyBnY2MvZG9jL3J0bC50ZXhpCSh3b3JraW5n IGNvcHkpDQpAQCAtMjI1Miw2ICsyMjUyLDEzIEBADQogSWYgb25lIG9mIHRo ZSBvcGVyYW5kcyBpcyBhIGNvbnN0YW50LCBpdCBzaG91bGQgYmUgcGxhY2Vk IGluIHRoZQ0KIHNlY29uZCBvcGVyYW5kIGFuZCB0aGUgY29tcGFyaXNvbiBj b2RlIGFkanVzdGVkIGFzIGFwcHJvcHJpYXRlLg0KIA0KK1RoZXJlIG1heSBi ZSBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSBpZiB0aGUgbW9kZSBAdmFye219 IGRvZXMgbm90DQorY2FycnkgZW5vdWdoIGluZm9ybWF0aW9uIGZvciB0aGUg c3dhcHBlZCBjb21wYXJpc29uIG9wZXJhdG9yLCBvcg0KK2lmIHdlIHRyeSB0 byBkZXRlY3Qgb3ZlcmZsb3cgZnJvbSB0aGUgc3VidHJhY3Rpb24uICBUaGF0 IG1lYW5zLCB3aGlsZQ0KKzAtWCBtYXkgb3ZlcmZvdyBYLTAgY2FuIG5ldmVy IG92ZXJmbG93LiAgVW5kZXIgdGhlc2UgY29uZGl0aW9ucw0KK2EgY29tcGFy ZSBtYXkgaGF2ZSB0aGUgY29uc3RhbnQgZXhwcmVzc2lvbiBhdCB0aGUgZmly c3Qgb3BlcmFuZC4NCitFeGFtcGxlcyBhcmUgdGhlIEFSTSBuZWdkaTJfY29t cGFyZSBwYXR0ZXJuIGFuZCBzaW1pbGFyLg0KKw0KIEEgQGNvZGV7Y29tcGFy ZX0gc3BlY2lmeWluZyB0d28gQGNvZGV7Vk9JRG1vZGV9IGNvbnN0YW50cyBp cyBub3QgdmFsaWQNCiBzaW5jZSB0aGVyZSBpcyBubyB3YXkgdG8ga25vdyBp biB3aGF0IG1vZGUgdGhlIGNvbXBhcmlzb24gaXMgdG8gYmUNCiBwZXJmb3Jt ZWQ7IHRoZSBjb21wYXJpc29uIG11c3QgZWl0aGVyIGJlIGZvbGRlZCBkdXJp bmcgdGhlIGNvbXBpbGF0aW9uDQo= --_002_AM5PR0701MB26579A51C8FEC1232A3F607EE4970AM5PR0701MB2657_--