From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68EF0C48BDF for ; Fri, 11 Jun 2021 02:39:47 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3018761285 for ; Fri, 11 Jun 2021 02:39:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3018761285 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=u+Bdivzg32PGCmVsHMbWH0QxRff3tQgNxA0siyIjTLM=; b=dEDV+0+5a1fjCB 8iMls4T09EzluSyMEsCQbzD7dnsVkn0/acXq9CEa/CkEPg2h/Ned4f0bFSILzUZq3dghs+fburEvB MwHOaG+PF2Fs6Yz1sGaxZ4zbyFY3Wqo/vZEa3o+N6BoHK8UrNdHJNxPaG/0GPsvPGcnD0qTbvLLaK +kDLohgxkxKbYXAQ5k5vtpH17fjv9iqO8mhFl9LhaPIrAdRhaPtY3NNrzGwYUO4fvKOav2ZBt0NlO uF+8oTZtICCEnDFLuxtl+GJzLrrBW+yMXMjHTAq2iR8C+5NWiPzpyrjM8+e27ESahxyJi/jKCQlxq guIQ3G39kDlr6zMDPGBw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrX3a-003GSA-CC; Fri, 11 Jun 2021 02:38:02 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lrX3V-003GQy-3w; Fri, 11 Jun 2021 02:37:58 +0000 X-UUID: 1703e6daeca846f48e4f88374cf12861-20210610 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:From:Subject:Message-ID; bh=PtG+2BcBc6cqYhmbj0K8E4w6jwkJyv4HxrzYsEsiu10=; b=P7onfV5LMsntvyRcn5gMlYyNaZyrbFmFO+lrpmxv5Tvvl9g59g3y3qtz/7hoHkwk0dUWcUKAknyQrp0+pJCCUeyxL0d4ICaVOXTQdABwFpeCEbnOothDzPXQ9TkfMB6gBKVMtYwRSC2VIkgY1PZmMlmGyFPikrD/PbDCpF+SFB0=; X-UUID: 1703e6daeca846f48e4f88374cf12861-20210610 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 298470676; Thu, 10 Jun 2021 19:37:55 -0700 Received: from MTKMBS33N2.mediatek.inc (172.27.4.76) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 10 Jun 2021 19:37:53 -0700 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS33N2.mediatek.inc (172.27.4.76) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 11 Jun 2021 10:37:45 +0800 Received: from [10.16.6.141] (10.16.6.141) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 11 Jun 2021 10:37:43 +0800 Message-ID: <1623379063.24490.15.camel@mszsdaap41> Subject: Re: [PATCH v4 3/3] pwm: mtk-disp: Switch to atomic API From: Jitao Shi To: Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= CC: Thierry Reding , Matthias Brugger , , , , , , , , , , , , Date: Fri, 11 Jun 2021 10:37:43 +0800 In-Reply-To: <20210606212258.coki62b5vl7iaiyd@pengutronix.de> References: <20210603100531.161901-1-jitao.shi@mediatek.com> <20210603100531.161901-4-jitao.shi@mediatek.com> <20210606212258.coki62b5vl7iaiyd@pengutronix.de> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 3DE5E41DA1F7A35C5668D02837AFCB75266F855BD937200ABB6C1825A732FAD02000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210610_193757_189297_A21C4518 X-CRM114-Status: GOOD ( 27.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU3VuLCAyMDIxLTA2LTA2IGF0IDIzOjIyICswMjAwLCBVd2UgS2xlaW5lLUvDtm5pZyB3cm90 ZToNCj4gSGVsbG8sDQo+IA0KPiBPbiBUaHUsIEp1biAwMywgMjAyMSBhdCAwNjowNTozMVBNICsw ODAwLCBKaXRhbyBTaGkgd3JvdGU6DQo+ID4gQ29udmVydCB0aGUgbGVnYWN5IGFwaSB0byBhdG9t aWMgQVBJLg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IEppdGFvIFNoaSA8aml0YW8uc2hpQG1l ZGlhdGVrLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9wd20vcHdtLW10ay1kaXNwLmMgfCA3 OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiA+ICAxIGZpbGUgY2hh bmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvcHdtL3B3bS1tdGstZGlzcC5jIGIvZHJpdmVycy9wd20vcHdtLW10ay1k aXNwLmMNCj4gPiBpbmRleCBiODdiM2MwMGE2ODUuLmQ3NzM0OGQwNTI3YyAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL3B3bS9wd20tbXRrLWRpc3AuYw0KPiA+ICsrKyBiL2RyaXZlcnMvcHdtL3B3 bS1tdGstZGlzcC5jDQo+ID4gQEAgLTY3LDggKzY3LDggQEAgc3RhdGljIHZvaWQgbXRrX2Rpc3Bf cHdtX3VwZGF0ZV9iaXRzKHN0cnVjdCBtdGtfZGlzcF9wd20gKm1kcCwgdTMyIG9mZnNldCwNCj4g PiAgCXdyaXRlbCh2YWx1ZSwgYWRkcmVzcyk7DQo+ID4gIH0NCj4gPiAgDQo+ID4gLXN0YXRpYyBp bnQgbXRrX2Rpc3BfcHdtX2NvbmZpZyhzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBwd21f ZGV2aWNlICpwd20sDQo+ID4gLQkJCSAgICAgICBpbnQgZHV0eV9ucywgaW50IHBlcmlvZF9ucykN Cj4gPiArc3RhdGljIGludCBtdGtfZGlzcF9wd21fY29uZmlnKHN0cnVjdCBwd21fY2hpcCAqY2hp cCwNCj4gPiArCQkJICAgICAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0YXRlKQ0KPiA+ICB7 DQo+ID4gIAlzdHJ1Y3QgbXRrX2Rpc3BfcHdtICptZHAgPSB0b19tdGtfZGlzcF9wd20oY2hpcCk7 DQo+ID4gIAl1MzIgY2xrX2RpdiwgcGVyaW9kLCBoaWdoX3dpZHRoLCB2YWx1ZTsNCj4gPiBAQCAt MTAyLDcgKzEwMiw3IEBAIHN0YXRpYyBpbnQgbXRrX2Rpc3BfcHdtX2NvbmZpZyhzdHJ1Y3QgcHdt X2NoaXAgKmNoaXAsIHN0cnVjdCBwd21fZGV2aWNlICpwd20sDQo+ID4gIAkgKiBoaWdoX3dpZHRo ID0gKFBXTV9DTEtfUkFURSAqIGR1dHlfbnMpIC8gKDEwXjkgKiAoY2xrX2RpdiArIDEpKQ0KPiA+ ICAJICovDQo+ID4gIAlyYXRlID0gY2xrX2dldF9yYXRlKG1kcC0+Y2xrX21haW4pOw0KPiA+IC0J Y2xrX2RpdiA9IGRpdl91NjQocmF0ZSAqIHBlcmlvZF9ucywgTlNFQ19QRVJfU0VDKSA+Pg0KPiA+ ICsJY2xrX2RpdiA9IGRpdl91NjQocmF0ZSAqIHN0YXRlLT5wZXJpb2QsIE5TRUNfUEVSX1NFQykg Pj4NCj4gPiAgCQkJICBQV01fUEVSSU9EX0JJVF9XSURUSDsNCj4gPiAgCWlmIChjbGtfZGl2ID4g UFdNX0NMS0RJVl9NQVgpIHsNCj4gPiAgCQlkZXZfZXJyKGNoaXAtPmRldiwgImNsb2NrIHJhdGUg aXMgdG9vIGhpZ2g6IHJhdGUgPSAlZCBIelxuIiwNCj4gPiBAQCAtMTE0LDExICsxMTQsMTEgQEAg c3RhdGljIGludCBtdGtfZGlzcF9wd21fY29uZmlnKHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3Ry dWN0IHB3bV9kZXZpY2UgKnB3bSwNCj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAgCX0NCj4g PiAgCWRpdiA9IE5TRUNfUEVSX1NFQyAqIChjbGtfZGl2ICsgMSk7DQo+ID4gLQlwZXJpb2QgPSBk aXY2NF91NjQocmF0ZSAqIHBlcmlvZF9ucywgZGl2KTsNCj4gPiArCXBlcmlvZCA9IGRpdjY0X3U2 NChyYXRlICogc3RhdGUtPnBlcmlvZCwgZGl2KTsNCj4gPiAgCWlmIChwZXJpb2QgPiAwKQ0KPiA+ ICAJCXBlcmlvZC0tOw0KPiA+ICANCj4gPiAtCWhpZ2hfd2lkdGggPSBkaXY2NF91NjQocmF0ZSAq IGR1dHlfbnMsIGRpdik7DQo+ID4gKwloaWdoX3dpZHRoID0gZGl2NjRfdTY0KHJhdGUgKiBzdGF0 ZS0+ZHV0eV9jeWNsZSwgZGl2KTsNCj4gPiAgCXZhbHVlID0gcGVyaW9kIHwgKGhpZ2hfd2lkdGgg PDwgUFdNX0hJR0hfV0lEVEhfU0hJRlQpOw0KPiA+ICANCj4gPiAgCW10a19kaXNwX3B3bV91cGRh dGVfYml0cyhtZHAsIG1kcC0+ZGF0YS0+Y29uMCwNCj4gPiBAQCAtMTQ0LDM5ICsxNDQsNzkgQEAg c3RhdGljIGludCBtdGtfZGlzcF9wd21fY29uZmlnKHN0cnVjdCBwd21fY2hpcCAqY2hpcCwgc3Ry dWN0IHB3bV9kZXZpY2UgKnB3bSwNCj4gPiAgCQkJCQkgbWRwLT5kYXRhLT5jb24wX3NlbCk7DQo+ ID4gIAl9DQo+ID4gIA0KPiA+ICsJbXRrX2Rpc3BfcHdtX3VwZGF0ZV9iaXRzKG1kcCwgRElTUF9Q V01fRU4sIG1kcC0+ZGF0YS0+ZW5hYmxlX21hc2ssDQo+ID4gKwkJCQkgbWRwLT5kYXRhLT5lbmFi bGVfbWFzayk7DQo+ID4gKwltZHAtPmVuYWJsZWQgPSB0cnVlOw0KPiA+ICsNCj4gPiAgCXJldHVy biAwOw0KPiA+ICB9DQo+ID4gIA0KPiA+IC1zdGF0aWMgaW50IG10a19kaXNwX3B3bV9lbmFibGUo c3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQ0KPiA+ICtzdGF0 aWMgaW50IG10a19kaXNwX3B3bV9hcHBseShzdHJ1Y3QgcHdtX2NoaXAgKmNoaXAsIHN0cnVjdCBw d21fZGV2aWNlICpwd20sDQo+ID4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBwd21fc3RhdGUgKnN0 YXRlKQ0KPiA+ICB7DQo+ID4gIAlzdHJ1Y3QgbXRrX2Rpc3BfcHdtICptZHAgPSB0b19tdGtfZGlz cF9wd20oY2hpcCk7DQo+ID4gLQlpbnQgZXJyOw0KPiA+ICANCj4gPiAtCW10a19kaXNwX3B3bV91 cGRhdGVfYml0cyhtZHAsIERJU1BfUFdNX0VOLCBtZHAtPmRhdGEtPmVuYWJsZV9tYXNrLA0KPiA+ IC0JCQkJIG1kcC0+ZGF0YS0+ZW5hYmxlX21hc2spOw0KPiA+IC0JbWRwLT5lbmFibGVkID0gdHJ1 ZTsNCj4gPiArCWlmICghc3RhdGUtPmVuYWJsZWQpIHsNCj4gPiArCQltdGtfZGlzcF9wd21fdXBk YXRlX2JpdHMobWRwLCBESVNQX1BXTV9FTiwgbWRwLT5kYXRhLT5lbmFibGVfbWFzaywNCj4gPiAr CQkJCQkgMHgwKTsNCj4gPiAgDQo+ID4gLQlyZXR1cm4gMDsNCj4gPiArCQlpZiAobWRwLT5lbmFi bGVkKSB7DQo+ID4gKwkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZHAtPmNsa19tbSk7DQo+ID4g KwkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShtZHAtPmNsa19tYWluKTsNCj4gPiArCQl9DQo+ID4g KwkJbWRwLT5lbmFibGVkID0gZmFsc2U7DQo+ID4gKwkJcmV0dXJuIDA7DQo+ID4gKwl9DQo+ID4g Kw0KPiA+ICsJcmV0dXJuIG10a19kaXNwX3B3bV9jb25maWcoY2hpcCwgc3RhdGUpOw0KPiANCj4g UGxlYXNlIHVucm9sbCB0aGlzIGZ1bmN0aW9uIGNhbGwuIEhhdmluZyB0aGUgb2xkIG5hbWUgaXMg aXJyaXRhdGluZy4NCg0KSSdsbCBmaXggaXQgbmV4dCB2ZXJzaW9uLg0KDQpUaGFua3MgZm9yIHlv dXIgcmV2aWV3Lg0KPiANCj4gPiAgfQ0KPiA+ICANCj4gPiAtc3RhdGljIHZvaWQgbXRrX2Rpc3Bf cHdtX2Rpc2FibGUoc3RydWN0IHB3bV9jaGlwICpjaGlwLCBzdHJ1Y3QgcHdtX2RldmljZSAqcHdt KQ0KPiA+ICtzdGF0aWMgdm9pZCBtdGtfZGlzcF9wd21fZ2V0X3N0YXRlKHN0cnVjdCBwd21fY2hp cCAqY2hpcCwNCj4gPiArCQkJCSAgIHN0cnVjdCBwd21fZGV2aWNlICpwd20sDQo+ID4gKwkJCQkg ICBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkNCj4gDQo+IEFkZGluZyAuZ2V0X3N0YXRlKCkgaXMg Z3JlYXQgYW5kIHdhcnJhbnRzIGEgc2VwYXJhdGUgcGF0Y2guDQo+IA0KSSdsbCBzZXBhcmF0ZSAu Z2V0X3N0YXRlKCkgbmV4dCB2ZXJzaW9uLg0KDQpUaGFua3MgZm9yIHlvdXIgcmV2aWV3Lg0KDQo+ ID4gIHsNCj4gPiAgCXN0cnVjdCBtdGtfZGlzcF9wd20gKm1kcCA9IHRvX210a19kaXNwX3B3bShj aGlwKTsNCj4gPiArCXUzMiBjbGtfZGl2LCBwZXJpb2QsIGhpZ2hfd2lkdGgsIGNvbjAsIGNvbjE7 DQo+ID4gKwl1NjQgcmF0ZTsNCj4gPiArCWludCBlcnI7DQo+ID4gIA0KPiA+IC0JbXRrX2Rpc3Bf cHdtX3VwZGF0ZV9iaXRzKG1kcCwgRElTUF9QV01fRU4sIG1kcC0+ZGF0YS0+ZW5hYmxlX21hc2ss DQo+ID4gLQkJCQkgMHgwKTsNCj4gPiArCWlmICghbWRwLT5lbmFibGVkKSB7DQo+ID4gKwkJZXJy ID0gY2xrX3ByZXBhcmVfZW5hYmxlKG1kcC0+Y2xrX21haW4pOw0KPiA+ICsJCWlmIChlcnIgPCAw KSB7DQo+ID4gKwkJCWRldl9lcnIoY2hpcC0+ZGV2LCAiQ2FuJ3QgZW5hYmxlIG1kcC0+Y2xrX21h aW46ICVkXG4iLCBlcnIpOw0KPiA+ICsJCQlyZXR1cm47DQo+ID4gKwkJfQ0KPiA+ICsJCWVyciA9 IGNsa19wcmVwYXJlX2VuYWJsZShtZHAtPmNsa19tbSk7DQo+ID4gKwkJaWYgKGVyciA8IDApIHsN Cj4gPiArCQkJZGV2X2VycihjaGlwLT5kZXYsICJDYW4ndCBlbmFibGUgbWRwLT5jbGtfbW06ICVk XG4iLCBlcnIpOw0KPiA+ICsJCQljbGtfZGlzYWJsZV91bnByZXBhcmUobWRwLT5jbGtfbWFpbik7 DQo+ID4gKwkJCXJldHVybjsNCj4gPiArCQl9DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmF0ZSA9 IGNsa19nZXRfcmF0ZShtZHAtPmNsa19tYWluKTsNCj4gPiAgDQo+ID4gLQlpZiAobWRwLT5lbmFi bGVkKSB7DQo+ID4gKwljb24wID0gcmVhZGwobWRwLT5iYXNlICsgbWRwLT5kYXRhLT5jb24wKTsN Cj4gPiArCWNvbjEgPSByZWFkbChtZHAtPmJhc2UgKyBtZHAtPmRhdGEtPmNvbjEpOw0KPiA+ICsN Cj4gPiArCXN0YXRlLT5lbmFibGVkID0gISEoY29uMCAmIEJJVCgwKSk7DQo+ID4gKw0KPiA+ICsJ Y2xrX2RpdiA9IChjb24wICYgUFdNX0NMS0RJVl9NQVNLKSA+PiBQV01fQ0xLRElWX1NISUZUOw0K PiANCj4gY2xrX2RpdiA9IEZJRUxEX0dFVChQV01fQ0xLRElWX01BU0ssIGNvbjApOw0KDQpJJ2xs IGZpeCBpdCBuZXh0IHZlcnNpb24uDQoNCg0KPiANCj4gPiArCXBlcmlvZCA9IGNvbjEgJiBQV01f UEVSSU9EX01BU0s7DQo+ID4gKwlzdGF0ZS0+cGVyaW9kID0gZGl2X3U2NChwZXJpb2QgKiAoY2xr X2RpdiArIDEpICogTlNFQ19QRVJfU0VDLCByYXRlKTsNCj4gDQo+IENhbiB0aGlzIG11bHRpcGxp Y2F0aW9uIG92ZXJmbG93PyBOb3RlIHRoaXMgaXMgYSAzMmJpdCBtdWx0aXBsaWNhdGlvbg0KPiBv bmx5LiBBcyAuYXBwbHkoKSB1c2VzIHJvdW5kLWRvd24gaW4gdGhlIGRpdmlzaW9ucyAod2hpY2gg aXMgZ29vZCkNCj4gcGxlYXNlIHJvdW5kIHVwIHRoZXJlIHRvIGdldCBpZGVtcG90ZW5jeSBiZXR3 ZWVuIC5nZXRfc3RhdGUoKSBhbmQNCj4gLmFwcGx5KCkuDQo+IA0KDQpJJ2xsIGZpeCBpdCBuZXh0 IHZlcnNpb24uDQoNCg0KPiA+ICsJaGlnaF93aWR0aCA9IChjb24xICYgUFdNX0hJR0hfV0lEVEhf TUFTSykgPj4gUFdNX0hJR0hfV0lEVEhfU0hJRlQ7DQo+ID4gKwlzdGF0ZS0+ZHV0eV9jeWNsZSA9 IGRpdl91NjQoaGlnaF93aWR0aCAqIChjbGtfZGl2ICsgMSkgKiBOU0VDX1BFUl9TRUMsDQo+ID4g KwkJCQkgICAgcmF0ZSk7DQo+ID4gKw0KPiA+ICsJaWYgKCFtZHAtPmVuYWJsZWQpIHsNCj4gPiAg CQljbGtfZGlzYWJsZV91bnByZXBhcmUobWRwLT5jbGtfbW0pOw0KPiA+ICAJCWNsa19kaXNhYmxl X3VucHJlcGFyZShtZHAtPmNsa19tYWluKTsNCj4gPiAgCX0NCj4gPiAtCW1kcC0+ZW5hYmxlZCA9 IGZhbHNlOw0KPiA+ICB9DQo+IA0KPiBJZiBteSByZXZpZXcgY29tbWVudHMgY29udGFpbiB0b28g bGl0dGxlIGRldGFpbHMgZm9yIHlvdSB0byB1bmRlcnN0YW5kLA0KPiBwbGVhc2UgZmVlbCBmcmVl IHRvIGFzay4gSSdtIHdpbGxpbmcgdG8gZXhwbGFpbiBpbiBtb3JlIGRldGFpbC4NCj4gDQo+IEJl c3QgcmVnYXJkcw0KPiBVd2UNCj4gDQoNClRoYW5rcyBmb3IgeW91ciByZXZpZXcuDQoNCkJlc3Qg UmVnYXJkcw0KSml0YW8NCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==