Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp2659951ybh; Fri, 24 Jul 2020 20:15:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyD5Ljo0bK91OVWDx8iuWmZgLNOaeBaq5TwLjplFo8ORgRIjDG6qvxhikDmhDohPInLCYl7 X-Received: by 2002:a17:906:3acd:: with SMTP id z13mr12032585ejd.69.1595646911136; Fri, 24 Jul 2020 20:15:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595646911; cv=none; d=google.com; s=arc-20160816; b=dlPSysiGd4ELDLjvwSHyj/Ify1nQgoSmVmFkG6jKyj/sWGLgGgQLgQW0sBcvc8J8mI glXNVjYtWcZQJMdXSCrjYb38DvA4IK7nuvhj9P0FYceQEHYrtOwsQMc+x0iqVGKBkzFs XyAhulov+yBFbiodryNm5l7wa2GMmWGHdzoa0za9wmWvRYeMHncTIrQJ2RBwJ0PfTpuJ rve+NwywaQwMvi0kSkyYeGfpubnP3ewR8mvt2IwJs7uxhbRiV/NH7tzNQOq6wTdn4dhS D2QHBoj3Ad1lVuzZyRg+wOX9PpPQI61Zx0jK4HYNRxJ+bGJFFMczmUDGtvgpgZA3wzpJ TMCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:reply-to:from:subject:message-id :dkim-signature; bh=tK8Pao3qgssDGelXpNrXZs69bCM+67isGgiTjKF1JiY=; b=UjXaSTK4ZArbLinGbN9Ihpb/F7QOMDXlK3G75Hn5w6uF3Rx8GhaGyypyJocdL3p9Gz Gkp1TmZNe/KY4pJ3uLakrCbBdGFGlU8RubhmXgNzj+F3JYhlJssKa/uAzdwwde+12SlF NbHFnFPugwEcyVUA18zX6yMtjnrOTr+eAYopoOUkp+i1HU5v+mDlYXD/6BYKi4vT0wHH khFEPKaQKSSmLoC95sOnbqyq31J7DepgCBzZ9nB/sv6KxoWDom0OZz2W+JJghAJ8WHZg NCbMjM6FGJFDcNXfqI1Xbh9lTLkR1msCVLCJAYkMLzEGBdhH20FRFR7Q70N/h/xFhhIn lvNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=LLhgRIQ8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l9si1811549ejq.427.2020.07.24.20.14.48; Fri, 24 Jul 2020 20:15:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=LLhgRIQ8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726696AbgGYDO2 (ORCPT + 99 others); Fri, 24 Jul 2020 23:14:28 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:24221 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726572AbgGYDO2 (ORCPT ); Fri, 24 Jul 2020 23:14:28 -0400 X-UUID: f72db203a74f4a748dcb413e3488c189-20200725 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:Reply-To:From:Subject:Message-ID; bh=tK8Pao3qgssDGelXpNrXZs69bCM+67isGgiTjKF1JiY=; b=LLhgRIQ8gDE62iPXU/asokHysZROVSJE+eTLyr8OUvUvmVHBs3m+bJliZt1UW130fPAVrjE77fzD+EV0YvKs4vQruqPnejCjvU+9SmsbTSntlesnq2Kbr1OTOJl4rvACkxBSuwhItnIC68MQAw6qSGLnq8FeeChoRbG1Bvl+I2Y=; X-UUID: f72db203a74f4a748dcb413e3488c189-20200725 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 962045954; Sat, 25 Jul 2020 11:14:22 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 25 Jul 2020 11:14:20 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 25 Jul 2020 11:14:20 +0800 Message-ID: <1595646788.13250.9.camel@mhfsdcap03> Subject: Re: [v7, PATCH 2/7] mtk-mmsys: add mmsys private data From: Yongqiang Niu Reply-To: Yongqiang Niu To: Chun-Kuang Hu CC: CK Hu , Philipp Zabel , "Rob Herring" , Matthias Brugger , Mark Rutland , , "David Airlie" , linux-kernel , "DRI Development" , "moderated list:ARM/Mediatek SoC support" , Daniel Vetter , Linux ARM Date: Sat, 25 Jul 2020 11:13:08 +0800 In-Reply-To: References: <1595469798-3824-1-git-send-email-yongqiang.niu@mediatek.com> <1595469798-3824-3-git-send-email-yongqiang.niu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gU2F0LCAyMDIwLTA3LTI1IGF0IDEwOjExICswODAwLCBDaHVuLUt1YW5nIEh1IHdyb3RlOg0K PiBIaSwgWW9uZ3FpYW5nOg0KPiANCj4gWW9uZ3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5pdUBtZWRp YXRlay5jb20+IOaWvCAyMDIw5bm0N+aciDIz5pelIOmAseWbmyDkuIrljYgxMDowNeWvq+mBk++8 mg0KPiA+DQo+ID4gYWRkIG1tc3lzIHByaXZhdGUgZGF0YQ0KPiA+DQo+ID4gRmVhdHVyZTogZHJt L21lZGlhdGVrDQo+ID4gU2lnbmVkLW9mZi1ieTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5p dUBtZWRpYXRlay5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvc29jL21lZGlhdGVrL01ha2Vm aWxlICAgICAgICAgICAgIHwgICAxICsNCj4gPiAgZHJpdmVycy9zb2MvbWVkaWF0ZWsvbW1zeXMv TWFrZWZpbGUgICAgICAgfCAgIDIgKw0KPiA+ICBkcml2ZXJzL3NvYy9tZWRpYXRlay9tbXN5cy9t dDI3MDEtbW1zeXMuYyB8IDI1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgZHJp dmVycy9zb2MvbWVkaWF0ZWsvbXRrLW1tc3lzLmMgICAgICAgICAgfCAyNzEgKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIGluY2x1ZGUvbGludXgvc29jL21lZGlhdGVrL210ay1t bXN5cy5oICAgIHwgIDE1ICsrDQo+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMzE0IGluc2VydGlvbnMo KyksIDIyNSBkZWxldGlvbnMoLSkNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc29j L21lZGlhdGVrL21tc3lzL01ha2VmaWxlDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L3NvYy9tZWRpYXRlay9tbXN5cy9tdDI3MDEtbW1zeXMuYw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsvTWFr ZWZpbGUNCj4gPiBpbmRleCAyYWZhN2I5Li5iMzdhYzJjIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvc29jL21lZGlhdGVrL01ha2VmaWxlDQo+ID4gKysrIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsv TWFrZWZpbGUNCj4gPiBAQCAtMywzICszLDQgQEAgb2JqLSQoQ09ORklHX01US19DTURRKSArPSBt dGstY21kcS1oZWxwZXIubw0KPiA+ICBvYmotJChDT05GSUdfTVRLX1BNSUNfV1JBUCkgKz0gbXRr LXBtaWMtd3JhcC5vDQo+ID4gIG9iai0kKENPTkZJR19NVEtfU0NQU1lTKSArPSBtdGstc2Nwc3lz Lm8NCj4gPiAgb2JqLSQoQ09ORklHX01US19NTVNZUykgKz0gbXRrLW1tc3lzLm8NCj4gPiArb2Jq LSQoQ09ORklHX01US19NTVNZUykgKz0gbW1zeXMvDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv c29jL21lZGlhdGVrL21tc3lzL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbW1zeXMv TWFrZWZpbGUNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLjMz YjBkYWINCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsv bW1zeXMvTWFrZWZpbGUNCj4gPiBAQCAtMCwwICsxLDIgQEANCj4gPiArIyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQo+ID4gK29iai15ICs9IG10MjcwMS1tbXN5cy5vDQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL21lZGlhdGVrL21tc3lzL210MjcwMS1tbXN5cy5j IGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbW1zeXMvbXQyNzAxLW1tc3lzLmMNCj4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLmI4ZTUzYjANCj4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gKysrIGIvZHJpdmVycy9zb2MvbWVkaWF0ZWsvbW1zeXMvbXQyNzAxLW1tc3lzLmMN Cj4gPiBAQCAtMCwwICsxLDI1MCBAQA0KPiA+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMA0KPiA+ICsvLw0KPiA+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5j Lg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8 bGludXgvaW8uaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPg0KPiA+ICsjaW5j bHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9zb2Mv bWVkaWF0ZWsvbXRrLW1tc3lzLmg+DQo+ID4gKw0KPiA+ICsjZGVmaW5lIERJU1BfUkVHX0NPTkZJ R19ESVNQX09WTDBfTU9VVF9FTiAgICAgIDB4MDQwDQo+ID4gKyNkZWZpbmUgRElTUF9SRUdfQ09O RklHX0RJU1BfT1ZMMV9NT1VUX0VOICAgICAgMHgwNDQNCj4gPiArI2RlZmluZSBESVNQX1JFR19D T05GSUdfRElTUF9PRF9NT1VUX0VOICAgICAgICAgICAgICAgIDB4MDQ4DQo+ID4gKyNkZWZpbmUg RElTUF9SRUdfQ09ORklHX0RJU1BfR0FNTUFfTU9VVF9FTiAgICAgMHgwNGMNCj4gPiArI2RlZmlu ZSBESVNQX1JFR19DT05GSUdfRElTUF9VRk9FX01PVVRfRU4gICAgICAweDA1MA0KPiA+ICsjZGVm aW5lIERJU1BfUkVHX0NPTkZJR19ESVNQX0NPTE9SMF9TRUxfSU4gICAgIDB4MDg0DQo+ID4gKyNk ZWZpbmUgRElTUF9SRUdfQ09ORklHX0RJU1BfQ09MT1IxX1NFTF9JTiAgICAgMHgwODgNCj4gPiAr I2RlZmluZSBESVNQX1JFR19DT05GSUdfRFNJRV9TRUxfSU4gICAgICAgICAgICAweDBhNA0KPiA+ ICsjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19EU0lPX1NFTF9JTiAgICAgICAgICAgIDB4MGE4DQo+ ID4gKyNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RQSV9TRUxfSU4gICAgICAgICAgICAgMHgwYWMN Cj4gPiArI2RlZmluZSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMl9TT1VUICAgICAgICAgICAg ICAgIDB4MGI4DQo+ID4gKyNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RJU1BfUkRNQTBfU09VVF9F TiAgICAgMHgwYzQNCj4gPiArI2RlZmluZSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMV9TT1VU X0VOICAgICAweDBjOA0KPiA+ICsjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19NTVNZU19DR19DT04w ICAgICAgICAgIDB4MTAwDQo+ID4gKw0KPiA+ICsjZGVmaW5lIERJU1BfUkVHX0NPTkZJR19ESVNQ X09WTF9NT1VUX0VOICAgICAgIDB4MDMwDQo+ID4gKyNkZWZpbmUgRElTUF9SRUdfQ09ORklHX09V VF9TRUwgICAgICAgICAgICAgICAgICAgICAgICAweDA0Yw0KPiA+ICsjZGVmaW5lIERJU1BfUkVH X0NPTkZJR19EU0lfU0VMICAgICAgICAgICAgICAgICAgICAgICAgMHgwNTANCj4gPiArI2RlZmlu ZSBESVNQX1JFR19DT05GSUdfRFBJX1NFTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDY0DQo+ ID4gKw0KPiA+ICsjZGVmaW5lIE9WTDBfTU9VVF9FTl9DT0xPUjAgICAgICAgICAgICAgICAgICAg IDB4MQ0KPiA+ICsjZGVmaW5lIE9EX01PVVRfRU5fUkRNQTAgICAgICAgICAgICAgICAgICAgICAg IDB4MQ0KPiA+ICsjZGVmaW5lIE9EMV9NT1VUX0VOX1JETUExICAgICAgICAgICAgICAgICAgICAg IEJJVCgxNikNCj4gPiArI2RlZmluZSBVRk9FX01PVVRfRU5fRFNJMCAgICAgICAgICAgICAgICAg ICAgICAweDENCj4gPiArI2RlZmluZSBDT0xPUjBfU0VMX0lOX09WTDAgICAgICAgICAgICAgICAg ICAgICAweDENCj4gPiArI2RlZmluZSBPVkwxX01PVVRfRU5fQ09MT1IxICAgICAgICAgICAgICAg ICAgICAweDENCj4gPiArI2RlZmluZSBHQU1NQV9NT1VUX0VOX1JETUExICAgICAgICAgICAgICAg ICAgICAweDENCj4gPiArI2RlZmluZSBSRE1BMF9TT1VUX0RQSTAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4Mg0KPiA+ICsjZGVmaW5lIFJETUEwX1NPVVRfRFBJMSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgzDQo+ID4gKyNkZWZpbmUgUkRNQTBfU09VVF9EU0kxICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDENCj4gPiArI2RlZmluZSBSRE1BMF9TT1VU X0RTSTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NA0KPiA+ICsjZGVmaW5lIFJE TUEwX1NPVVRfRFNJMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1DQo+ID4gKyNk ZWZpbmUgUkRNQTFfU09VVF9EUEkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIN Cj4gPiArI2RlZmluZSBSRE1BMV9TT1VUX0RQSTEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4Mw0KPiA+ICsjZGVmaW5lIFJETUExX1NPVVRfRFNJMSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgxDQo+ID4gKyNkZWZpbmUgUkRNQTFfU09VVF9EU0kyICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDQNCj4gPiArI2RlZmluZSBSRE1BMV9TT1VUX0RTSTMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NQ0KPiA+ICsjZGVmaW5lIFJETUEyX1NPVVRf RFBJMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyDQo+ID4gKyNkZWZpbmUgUkRN QTJfU09VVF9EUEkxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDMNCj4gPiArI2Rl ZmluZSBSRE1BMl9TT1VUX0RTSTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MQ0K PiA+ICsjZGVmaW5lIFJETUEyX1NPVVRfRFNJMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg0DQo+ID4gKyNkZWZpbmUgUkRNQTJfU09VVF9EU0kzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDUNCj4gPiArI2RlZmluZSBEUEkwX1NFTF9JTl9SRE1BMSAgICAgICAgICAg ICAgICAgICAgICAweDENCj4gPiArI2RlZmluZSBEUEkwX1NFTF9JTl9SRE1BMiAgICAgICAgICAg ICAgICAgICAgICAweDMNCj4gPiArI2RlZmluZSBEUEkxX1NFTF9JTl9SRE1BMSAgICAgICAgICAg ICAgICAgICAgICAoMHgxIDw8IDgpDQo+ID4gKyNkZWZpbmUgRFBJMV9TRUxfSU5fUkRNQTIgICAg ICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQ0KPiA+ICsjZGVmaW5lIERTSTBfU0VMX0lOX1JE TUExICAgICAgICAgICAgICAgICAgICAgIDB4MQ0KPiA+ICsjZGVmaW5lIERTSTBfU0VMX0lOX1JE TUEyICAgICAgICAgICAgICAgICAgICAgIDB4NA0KPiA+ICsjZGVmaW5lIERTSTFfU0VMX0lOX1JE TUExICAgICAgICAgICAgICAgICAgICAgIDB4MQ0KPiA+ICsjZGVmaW5lIERTSTFfU0VMX0lOX1JE TUEyICAgICAgICAgICAgICAgICAgICAgIDB4NA0KPiA+ICsjZGVmaW5lIERTSTJfU0VMX0lOX1JE TUExICAgICAgICAgICAgICAgICAgICAgICgweDEgPDwgMTYpDQo+ID4gKyNkZWZpbmUgRFNJMl9T RUxfSU5fUkRNQTIgICAgICAgICAgICAgICAgICAgICAgKDB4NCA8PCAxNikNCj4gPiArI2RlZmlu ZSBEU0kzX1NFTF9JTl9SRE1BMSAgICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDE2KQ0KPiA+ ICsjZGVmaW5lIERTSTNfU0VMX0lOX1JETUEyICAgICAgICAgICAgICAgICAgICAgICgweDQgPDwg MTYpDQo+ID4gKyNkZWZpbmUgQ09MT1IxX1NFTF9JTl9PVkwxICAgICAgICAgICAgICAgICAgICAg MHgxDQo+ID4gKw0KPiA+ICsjZGVmaW5lIE9WTF9NT1VUX0VOX1JETUEgICAgICAgICAgICAgICAg ICAgICAgIDB4MQ0KPiA+ICsjZGVmaW5lIEJMU19UT19EU0lfUkRNQTFfVE9fRFBJMSAgICAgICAg ICAgICAgIDB4OA0KPiA+ICsjZGVmaW5lIEJMU19UT19EUElfUkRNQTFfVE9fRFNJICAgICAgICAg ICAgICAgICAgICAgICAgMHgyDQo+ID4gKyNkZWZpbmUgRFNJX1NFTF9JTl9CTFMgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwDQo+ID4gKyNkZWZpbmUgRFBJX1NFTF9JTl9CTFMgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwDQo+ID4gKyNkZWZpbmUgRFNJX1NFTF9JTl9SRE1BICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDENCj4gPiArDQo+ID4gK3N0YXRpYyB1bnNpZ25lZCBp bnQgbXRrX21tc3lzX2RkcF9tb3V0X2VuKGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIG10a19kZHBfY29t cF9pZCBuZXh0LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCAqYWRkcikNCj4gPiArew0KPiA+ICsgICAgICAgdW5zaWduZWQgaW50IHZh bHVlOw0KPiA+ICsNCj4gPiArICAgICAgIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwwICYm IG5leHQgPT0gRERQX0NPTVBPTkVOVF9DT0xPUjApIHsNCj4gPiArICAgICAgICAgICAgICAgKmFk ZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9PVkwwX01PVVRfRU47DQo+ID4gKyAgICAgICAgICAg ICAgIHZhbHVlID0gT1ZMMF9NT1VUX0VOX0NPTE9SMDsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAo Y3VyID09IEREUF9DT01QT05FTlRfT1ZMMCAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfUkRNQTAp IHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9PVkxf TU9VVF9FTjsNCj4gPiArICAgICAgICAgICAgICAgdmFsdWUgPSBPVkxfTU9VVF9FTl9SRE1BOw0K PiA+ICsgICAgICAgfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PRDAgJiYgbmV4dCA9 PSBERFBfQ09NUE9ORU5UX1JETUEwKSB7DQo+ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElT UF9SRUdfQ09ORklHX0RJU1BfT0RfTU9VVF9FTjsNCj4gPiArICAgICAgICAgICAgICAgdmFsdWUg PSBPRF9NT1VUX0VOX1JETUEwOw0KPiA+ICsgICAgICAgfSBlbHNlIGlmIChjdXIgPT0gRERQX0NP TVBPTkVOVF9VRk9FICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kwKSB7DQo+ID4gKyAgICAg ICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfVUZPRV9NT1VUX0VOOw0KPiA+ ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFVGT0VfTU9VVF9FTl9EU0kwOw0KPiA+ICsgICAgICAg fSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwxICYmIG5leHQgPT0gRERQX0NPTVBP TkVOVF9DT0xPUjEpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05G SUdfRElTUF9PVkwxX01PVVRfRU47DQo+ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gT1ZMMV9N T1VUX0VOX0NPTE9SMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05F TlRfR0FNTUEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX1JETUExKSB7DQo+ID4gKyAgICAgICAg ICAgICAgICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RJU1BfR0FNTUFfTU9VVF9FTjsNCj4gPiAr ICAgICAgICAgICAgICAgdmFsdWUgPSBHQU1NQV9NT1VUX0VOX1JETUExOw0KPiA+ICsgICAgICAg fSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PRDEgJiYgbmV4dCA9PSBERFBfQ09NUE9O RU5UX1JETUExKSB7DQo+ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09ORklH X0RJU1BfT0RfTU9VVF9FTjsNCj4gPiArICAgICAgICAgICAgICAgdmFsdWUgPSBPRDFfTU9VVF9F Tl9SRE1BMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRN QTAgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsNCj4gPiArICAgICAgICAgICAgICAg KmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMF9TT1VUX0VOOw0KPiA+ICsgICAgICAg ICAgICAgICB2YWx1ZSA9IFJETUEwX1NPVVRfRFBJMDsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAo Y3VyID09IEREUF9DT01QT05FTlRfUkRNQTAgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTEp IHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1B MF9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEwX1NPVVRfRFBJMTsN Cj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTAgJiYgbmV4 dCA9PSBERFBfQ09NUE9ORU5UX0RTSTEpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBE SVNQX1JFR19DT05GSUdfRElTUF9SRE1BMF9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2 YWx1ZSA9IFJETUEwX1NPVVRfRFNJMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IERE UF9DT01QT05FTlRfUkRNQTAgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTIpIHsNCj4gPiAr ICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMF9TT1VUX0VO Ow0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEwX1NPVVRfRFNJMjsNCj4gPiArICAg ICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTAgJiYgbmV4dCA9PSBERFBf Q09NUE9ORU5UX0RTSTMpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19D T05GSUdfRElTUF9SRE1BMF9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJE TUEwX1NPVVRfRFNJMzsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05F TlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTEpIHsNCj4gPiArICAgICAgICAg ICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMV9TT1VUX0VOOw0KPiA+ICsg ICAgICAgICAgICAgICB2YWx1ZSA9IFJETUExX1NPVVRfRFNJMTsNCj4gPiArICAgICAgIH0gZWxz ZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5U X0RTSTIpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElT UF9SRE1BMV9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUExX1NPVVRf RFNJMjsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEg JiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTMpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFk ZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMV9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAg ICAgICB2YWx1ZSA9IFJETUExX1NPVVRfRFNJMzsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3Vy ID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsN Cj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMV9T T1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUExX1NPVVRfRFBJMDsNCj4g PiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9 PSBERFBfQ09NUE9ORU5UX0RQSTEpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQ X1JFR19DT05GSUdfRElTUF9SRE1BMV9TT1VUX0VOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1 ZSA9IFJETUExX1NPVVRfRFBJMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9D T01QT05FTlRfUkRNQTIgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsNCj4gPiArICAg ICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMl9TT1VUOw0KPiA+ ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEyX1NPVVRfRFBJMDsNCj4gPiArICAgICAgIH0g ZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTIgJiYgbmV4dCA9PSBERFBfQ09NUE9O RU5UX0RQSTEpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdf RElTUF9SRE1BMl9TT1VUOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEyX1NPVVRf RFBJMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTIg JiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTEpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFk ZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMl9TT1VUOw0KPiA+ICsgICAgICAgICAgICAg ICB2YWx1ZSA9IFJETUEyX1NPVVRfRFNJMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09 IEREUF9DT01QT05FTlRfUkRNQTIgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTIpIHsNCj4g PiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9SRE1BMl9TT1VU Ow0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEyX1NPVVRfRFNJMjsNCj4gPiArICAg ICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTIgJiYgbmV4dCA9PSBERFBf Q09NUE9ORU5UX0RTSTMpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19D T05GSUdfRElTUF9SRE1BMl9TT1VUOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IFJETUEy X1NPVVRfRFNJMzsNCj4gPiArICAgICAgIH0gZWxzZSB7DQo+ID4gKyAgICAgICAgICAgICAgIHZh bHVlID0gMDsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICByZXR1cm4gdmFsdWU7 DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX21tc3lzX2RkcF9z ZWxfaW4oZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqYWRkcikN Cj4gPiArew0KPiA+ICsgICAgICAgdW5zaWduZWQgaW50IHZhbHVlOw0KPiA+ICsNCj4gPiArICAg ICAgIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwwICYmIG5leHQgPT0gRERQX0NPTVBPTkVO VF9DT0xPUjApIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdf RElTUF9DT0xPUjBfU0VMX0lOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IENPTE9SMF9T RUxfSU5fT1ZMMDsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRf UkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsNCj4gPiArICAgICAgICAgICAg ICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRFBJX1NFTF9JTjsNCj4gPiArICAgICAgICAgICAg ICAgdmFsdWUgPSBEUEkwX1NFTF9JTl9SRE1BMTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3Vy ID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTEpIHsN Cj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRFBJX1NFTF9JTjsN Cj4gPiArICAgICAgICAgICAgICAgdmFsdWUgPSBEUEkxX1NFTF9JTl9SRE1BMTsNCj4gPiArICAg ICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBf Q09NUE9ORU5UX0RTSTApIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19D T05GSUdfRFNJRV9TRUxfSU47DQo+ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gRFNJMF9TRUxf SU5fUkRNQTE7DQo+ID4gKyAgICAgICB9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JE TUExICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kxKSB7DQo+ID4gKyAgICAgICAgICAgICAg ICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RTSU9fU0VMX0lOOw0KPiA+ICsgICAgICAgICAgICAg ICB2YWx1ZSA9IERTSTFfU0VMX0lOX1JETUExOw0KPiA+ICsgICAgICAgfSBlbHNlIGlmIChjdXIg PT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFNJMikgew0K PiA+ICsgICAgICAgICAgICAgICAqYWRkciA9IERJU1BfUkVHX0NPTkZJR19EU0lFX1NFTF9JTjsN Cj4gPiArICAgICAgICAgICAgICAgdmFsdWUgPSBEU0kyX1NFTF9JTl9SRE1BMTsNCj4gPiArICAg ICAgIH0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBf Q09NUE9ORU5UX0RTSTMpIHsNCj4gPiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19D T05GSUdfRFNJT19TRUxfSU47DQo+ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gRFNJM19TRUxf SU5fUkRNQTE7DQo+ID4gKyAgICAgICB9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JE TUEyICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EUEkwKSB7DQo+ID4gKyAgICAgICAgICAgICAg ICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RQSV9TRUxfSU47DQo+ID4gKyAgICAgICAgICAgICAg IHZhbHVlID0gRFBJMF9TRUxfSU5fUkRNQTI7DQo+ID4gKyAgICAgICB9IGVsc2UgaWYgKGN1ciA9 PSBERFBfQ09NUE9ORU5UX1JETUEyICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EUEkxKSB7DQo+ ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RQSV9TRUxfSU47DQo+ ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gRFBJMV9TRUxfSU5fUkRNQTI7DQo+ID4gKyAgICAg ICB9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JETUEyICYmIG5leHQgPT0gRERQX0NP TVBPTkVOVF9EU0kwKSB7DQo+ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09O RklHX0RTSUVfU0VMX0lOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IERTSTBfU0VMX0lO X1JETUEyOw0KPiA+ICsgICAgICAgfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1B MiAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFNJMSkgew0KPiA+ICsgICAgICAgICAgICAgICAq YWRkciA9IERJU1BfUkVHX0NPTkZJR19EU0lPX1NFTF9JTjsNCj4gPiArICAgICAgICAgICAgICAg dmFsdWUgPSBEU0kxX1NFTF9JTl9SRE1BMjsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAoY3VyID09 IEREUF9DT01QT05FTlRfUkRNQTIgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RTSTIpIHsNCj4g PiArICAgICAgICAgICAgICAgKmFkZHIgPSBESVNQX1JFR19DT05GSUdfRFNJRV9TRUxfSU47DQo+ ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gRFNJMl9TRUxfSU5fUkRNQTI7DQo+ID4gKyAgICAg ICB9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JETUEyICYmIG5leHQgPT0gRERQX0NP TVBPTkVOVF9EU0kzKSB7DQo+ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09O RklHX0RTSUVfU0VMX0lOOw0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IERTSTNfU0VMX0lO X1JETUEyOw0KPiA+ICsgICAgICAgfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwx ICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9DT0xPUjEpIHsNCj4gPiArICAgICAgICAgICAgICAg KmFkZHIgPSBESVNQX1JFR19DT05GSUdfRElTUF9DT0xPUjFfU0VMX0lOOw0KPiA+ICsgICAgICAg ICAgICAgICB2YWx1ZSA9IENPTE9SMV9TRUxfSU5fT1ZMMTsNCj4gPiArICAgICAgIH0gZWxzZSBp ZiAoY3VyID09IEREUF9DT01QT05FTlRfQkxTICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kw KSB7DQo+ID4gKyAgICAgICAgICAgICAgICphZGRyID0gRElTUF9SRUdfQ09ORklHX0RTSV9TRUw7 DQo+ID4gKyAgICAgICAgICAgICAgIHZhbHVlID0gRFNJX1NFTF9JTl9CTFM7DQo+ID4gKyAgICAg ICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICB2YWx1ZSA9IDA7DQo+ID4gKyAgICAgICB9 DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIHZhbHVlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtz dGF0aWMgdm9pZCBtdGtfbW1zeXNfZGRwX3NvdXRfc2VsKHZvaWQgX19pb21lbSAqY29uZmlnX3Jl Z3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIG10a19kZHBf Y29tcF9pZCBjdXIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVt IG10a19kZHBfY29tcF9pZCBuZXh0KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBpZiAoY3VyID09IERE UF9DT01QT05FTlRfQkxTICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kwKSB7DQo+ID4gKyAg ICAgICAgICAgICAgIHdyaXRlbF9yZWxheGVkKEJMU19UT19EU0lfUkRNQTFfVE9fRFBJMSwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3JlZ3MgKyBESVNQX1JFR19D T05GSUdfT1VUX1NFTCk7DQo+ID4gKyAgICAgICB9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9O RU5UX0JMUyAmJiBuZXh0ID09IEREUF9DT01QT05FTlRfRFBJMCkgew0KPiA+ICsgICAgICAgICAg ICAgICB3cml0ZWxfcmVsYXhlZChCTFNfVE9fRFBJX1JETUExX1RPX0RTSSwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3JlZ3MgKyBESVNQX1JFR19DT05GSUdfT1VU X1NFTCk7DQo+ID4gKyAgICAgICAgICAgICAgIHdyaXRlbF9yZWxheGVkKERTSV9TRUxfSU5fUkRN QSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3JlZ3MgKyBESVNQ X1JFR19DT05GSUdfRFNJX1NFTCk7DQo+ID4gKyAgICAgICAgICAgICAgIHdyaXRlbF9yZWxheGVk KERQSV9TRUxfSU5fQkxTLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25m aWdfcmVncyArIERJU1BfUkVHX0NPTkZJR19EUElfU0VMKTsNCj4gPiArICAgICAgIH0NCj4gPiAr fQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBtdGtfbW1zeXNfY29ubl9mdW5jcyBtbXN5c19m dW5jcyA9IHsNCj4gPiArICAgICAgIC5tb3V0X2VuID0gbXRrX21tc3lzX2RkcF9tb3V0X2VuLA0K PiA+ICsgICAgICAgLnNlbF9pbiA9IG10a19tbXN5c19kZHBfc2VsX2luLA0KPiA+ICsgICAgICAg LnNvdXRfc2VsID0gbXRrX21tc3lzX2RkcF9zb3V0X3NlbCwNCj4gDQo+IEkgdGhpbmsgeW91IGNv dWxkIGltcGxlbWVudCB0aGVzZSB0aHJlZSBmdW5jdGlvbiB0byBiZSB0aGUgc2FtZSBhcyB0aGUN Cj4gdGhyZWUgb2YgbXQ4MTgzIHdpdGggbXQyNzAxIHZlcnNpb24gb2YgbW1zeXNfbW91dF9lbltd LA0KPiBtbXN5c19zZWxfaW5bXSwgbW1zeXNfc291dF9zZWxbXS4gSWYgeW91IHdvcnJ5IHRoYXQg eW91IGNvdWxkIG5vdCB0ZXN0DQo+IG9uIG10MjcwMSwgd2UgY291bGQgdGVtcG9yYXJpbHkgYWNj ZXB0IHRoaXMgYW5kIHdhaXQgZm9yIHNvbWVvbmUgaGFzDQo+IG10MjcwMSAob3IgbXQ4MTczKSB0 byByZXdyaXRlIHRoZXNlIHRocmVlIGZ1bmN0aW9uIHRvIGJlIHRoZSBzYW1lIGFzDQo+IG10ODE4 My4NCj4gDQo+IFJlZ2FyZHMsDQo+IENodW4tS3VhbmcuDQoNCmhpIENodW4tS3VhbmcuDQoNCnRo YW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgdW5kZXJzdGFuZC4NCmFjdHVhbGx5LCB0aGUgZGlzcGxh eSBwYXRoIGNvbm5lY3Rpb24gb2YgbXQyNzAxLCBtdDI3MTIsIG10ODE3MywgbXQ2Nzc5LA0KbXQ2 Nzk3IGFyZSBhbGwgZGlmZmVyZW50IHdpdGggZWFjaCBvdGhlci4NCnRoZXJlIHdpbGwgYmUgbXR4 eC1tbXN5cy5jIGZvciBldmVyeSBTb0MuDQphbmQgdGhlIGNvcnJlc3BvbmRlZCBTb0MgdXBzdHJl YW0gbWVtYmVyIHdpbGwgY29kaW5nIHRoZXNlIGFuZCB0ZXN0IGl0DQpvbiB0aGUgU29DIGlmIGl0 IGlzIG5lZWQuDQoNCg0KPiANCj4gPiArfTsNCj4gPiArDQoNCg==