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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id A2815C433EF for ; Tue, 5 Jul 2022 18:08:12 +0000 (UTC) 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: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=4gPeI2KUB/GfvIqzHXpt7NyWs4WVlX7sOqF2Bu7LY9k=; b=nwe1CjJK1N3gn8 kTYwdvu80xqIZMhEVcSOrhNooC7UJitRYCRWWkl4VtUaAyFQti6N6l0gOCU1ZFxnX+wPNnyzgnORM qalZT7nWjphjPGkB/Yq/jhK7bopy9JRwiwykawhGPrIktdHpdzJPiLJcXpoFwZEjDyigO8cEJ6yAc ASmx3md/4VpDo3gejTK+yszhZ8HdjA77VksnVA2EgWxanxt6ElkiR1Wih9qSOeofEZHWQz/PIi7SQ FmSbwrfpURMak6b/zsy/fPc807asaSCcbh9obkCC+xi0oXEN3SEnhw4QtAEQY3TGLgDm1UWnIicxK zwfMvLAqKK3ncUIkymQg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o8mx3-0021mK-3g; Tue, 05 Jul 2022 18:07:09 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o8mwz-0021l1-FY for linux-arm-kernel@lists.infradead.org; Tue, 05 Jul 2022 18:07:07 +0000 Received: by mail-ej1-x632.google.com with SMTP id dn9so17734770ejc.7 for ; Tue, 05 Jul 2022 11:07:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=C3MBhx1ORlPHZ9G4+h8YaWQcZ6SFmshxeCeN90vs+Vg=; b=EvCJru21FJDLrFNyWj1mt6ib9bZnl2/sCGMrbEAyt2dFLQM9z6JYnPe83RNIeK60bV jI3YqKyUUy7/e43JZ9kE7tQvoBV0i4VJAswQjggNUtK2t9l7DwCFzBTt/BvZ3Hed7JbS 01WbxSx+AERck5U4pG3q+2Zh0FAryO1S//6DP9HRrWgEa8/wjs8DOM4aGwF+HZ0KfH/J T+vOc0MaW1I37t0/qaZLY3e2a6RgJDhOVqrxCiM1WzaPmaINtCRJyR8hiFDdGrmSHW0J 5pbPx2B2yFUrBwNoH1NOBYzhRJCaGYhKxXygvGXPMF+TRwwtoY7wt6c5iiLDOvbQl5tB 80Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=C3MBhx1ORlPHZ9G4+h8YaWQcZ6SFmshxeCeN90vs+Vg=; b=aNrhzQVmHqMARQZaflnhD+waA3IhKVwyi27y3wMZM+0iAZ6leKreZRAarBYowZh9Tv NZxHHNZD/49MDmifX7iSG+JIB3ZlV11ue8rZQKExXiw4VFAgzTYJ6l6sRiJRqOH9UUEh nIOFgjhqbg1I5sNomMyGCY/FJSm+u2qtucnGjXp1lF6mt6UnPIkDoLcaBzjk8hChFMuA f/S1UiQoPL5pTXfx4htXukIjQsFQfsqvrG99hUgGdsoMrIdQRrxLF1ySdyVzmwDH/xJ9 mPUc3UPKg2L33u26f4oRA3G1sEgp8Buzxm/WAyO30NIQVq2GHMT5hWeyZyEV+EHI1vgp dtsA== X-Gm-Message-State: AJIora9eBJO7crYd173HhQECXXYOPGCdLO+ry4vUTXkKFb4jxAW3a67w wnvPuESOgoHjSchWM82sevI= X-Google-Smtp-Source: AGRyM1uftWZ7uUb2RAX1JiED29UVN81QgJ+i9XK4890u80u5UWT4LYY7hJr9VUBrTSDO3BmPWgydmQ== X-Received: by 2002:a17:907:968f:b0:726:9f9b:ab0f with SMTP id hd15-20020a170907968f00b007269f9bab0fmr35971875ejc.237.1657044421330; Tue, 05 Jul 2022 11:07:01 -0700 (PDT) Received: from kista.localnet (213-161-3-76.dynamic.telemach.net. [213.161.3.76]) by smtp.gmail.com with ESMTPSA id n18-20020a05640204d200b00435a08a3557sm23880887edw.27.2022.07.05.11.07.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Jul 2022 11:07:00 -0700 (PDT) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Roman Stratiienko Cc: Samuel Holland , =?ISO-8859-1?Q?Cl=E9ment_P=E9ron?= , Michael Turquette , sboyd@kernel.org, mripard@kernel.org, wens@csie.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: Re: [PATCH v3] clk: sunxi-ng: sun50i: h6: Modify GPU clock configuration to support DFS Date: Tue, 05 Jul 2022 20:06:59 +0200 Message-ID: <2562485.k3LOHGUjKi@kista> In-Reply-To: References: <20220705075226.359475-1-r.stratiienko@gmail.com> <5580615.DvuYhMxLoT@kista> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220705_110705_570869_6A4C7D9A X-CRM114-Status: GOOD ( 39.36 ) 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 RG5lIHRvcmVrLCAwNS4ganVsaWogMjAyMiBvYiAxODoyOTozOSBDRVNUIGplIFJvbWFuIFN0cmF0 aWllbmtvIG5hcGlzYWwoYSk6Cj4gSGkgSmVybmVqLAo+IAo+INCy0YIsIDUg0LjRjtC7LiAyMDIy INCzLiDQsiAxOTowNywgSmVybmVqIMWga3JhYmVjIDxqZXJuZWouc2tyYWJlY0BnbWFpbC5jb20+ Ogo+ID4gSGkgUm9tYW4sCj4gPiAKPiA+IERuZSB0b3JlaywgMDUuIGp1bGlqIDIwMjIgb2IgMDk6 NTI6MjYgQ0VTVCBqZSBSb21hbiBTdHJhdGlpZW5rbyAKbmFwaXNhbChhKToKPiA+ID4gVXNpbmcg c2ltcGxlIGJhc2ggc2NyaXB0IGl0IHdhcyBkaXNjb3ZlcmVkIHRoYXQgbm90IGFsbCBDQ1UgcmVn aXN0ZXJzCj4gPiA+IAo+ID4gPiBjYW4gYmUgc2FmZWx5IHVzZWQgZm9yIERGUywgZS5nLjoKPiA+ ID4gICAgIHdoaWxlIHRydWUKPiA+ID4gICAgIGRvCj4gPiA+ICAgICAKPiA+ID4gICAgICAgICBk ZXZtZW0gMHgzMDAxMDMwIDQgMHhiMDAwM2UwMgo+ID4gPiAgICAgICAgIGRldm1lbSAweDMwMDEw MzAgNCAweGIwMDAxZTAyCj4gPiA+ICAgICAKPiA+ID4gICAgIGRvbmUKPiA+ID4gCj4gPiA+IFNj cmlwdCBhYm92ZSBjaGFuZ2VzIHRoZSBHUFVfUExMIG11bHRpcGxpZXIgcmVnaXN0ZXIgdmFsdWUu IFdoaWxlIHRoZQo+ID4gPiBzY3JpcHQgaXMgcnVubmluZywgdGhlIHVzZXIgc2hvdWxkIGludGVy YWN0IHdpdGggdGhlIHVzZXIgaW50ZXJmYWNlLgo+ID4gPiAKPiA+ID4gVXNpbmcgdGhpcyBtZXRo b2QgdGhlIGZvbGxvd2luZyByZXN1bHRzIHdlcmUgb2J0YWluZWQ6Cj4gPiA+IHwgUmVnaXN0ZXIg IHwgTmFtZSAgICAgICAgICAgfCBCaXRzICB8IFZhbHVlcyB8IFJlc3VsdCB8Cj4gPiA+IHwgLS0g ICAgICAgIHwgLS0gICAgICAgICAgICAgfCAtLSAgICB8IC0tICAgICB8IC0tICAgICB8Cj4gPiA+ IHwgMHgzMDAxMDMwIHwgR1BVX1BMTC5NVUxUICAgfCAxNS4uOCB8IDIwLTYyICB8IE9LICAgICB8 Cj4gPiA+IHwgMHgzMDAxMDMwIHwgR1BVX1BMTC5JTkRJViAgfCAgICAgMSB8IDAtMSAgICB8IE9L ICAgICB8Cj4gPiA+IHwgMHgzMDAxMDMwIHwgR1BVX1BMTC5PVVRESVYgfCAgICAgMCB8IDAtMSAg ICB8IEZBSUwgICB8Cj4gPiA+IHwgMHgzMDAxNjcwIHwgR1BVX0NMSy5ESVYgICAgfCAgMy4uMCB8 IEFOWSAgICB8IEZBSUwgICB8Cj4gPiA+IAo+ID4gPiBEVkZTIHN0YXJ0ZWQgdG8gd29yayBzZWFt bGVzc2x5IG9uY2UgZGl2aWRlcnMgd2hpY2ggY2F1c2VkIHRoZQo+ID4gPiBnbGl0Y2hlcyB3ZXJl IHNldCB0byBmaXhlZCB2YWx1ZXMuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb21hbiBT dHJhdGlpZW5rbyA8ci5zdHJhdGlpZW5rb0BnbWFpbC5jb20+Cj4gPiA+IAo+ID4gPiAtLS0KPiA+ ID4gCj4gPiA+IENoYW5nZWxvZzoKPiA+ID4gCj4gPiA+IFYyOgo+ID4gPiAtIERyb3AgY2hhbmdl cyByZWxhdGVkIHRvIG11eAo+ID4gPiAtIERyb3AgZnJlcXVlbmN5IGxpbWl0aW5nCj4gPiA+IC0g QWRkIHVudXNlZCBkaXZpZGVycyBpbml0aWFsaXphdGlvbgo+ID4gPiAKPiA+ID4gVjM6Cj4gPiA+ IC0gQWRqdXN0IGNvbW1lbnRzCj4gPiAKPiA+IEkgZG9uJ3Qgc2VlIGFueSBjb21tZW50IGZpeGVk LCBhdCBsZWFzdCBub3QgdG8gIjEiLCBhcyB3ZSBkaXNjdXNzZWQuIERpZCBJCj4gPiBtaXNzIGFu eXRoaW5nPwo+IAo+IEkndmUgYWRkZWQgdGhlICJiaXRzIiB3b3JkLCBzbyBub3cgaXQgc2hvdWxk IHNvdW5kIGNvcnJlY3QuCgpUZWNobmljYWxseSBpdCdzIGNvcnJlY3QsIGJ1dCB0aGlzIHdvdWxk IGJlIHRoaXJkIGZvcm0gb2YgY29tbWVudHMgZm9yIGZpeGVkIApiaXRzLiBMZXQncyBzdGljayB0 byB0aGUgZm9ybSB3aGljaCBpcyBtb3N0IGluZm9ybWF0aXZlICgiRm9yY2UgUExMX0dQVSBvdXRw dXQgCmRpdmlkZXIgdG8gMSIpLiBJZGVhbGx5LCBjb21tZW50IHdvdWxkIGFsc28gcG9pbnQgdG8g Z3B1X2NsayBjb21tZW50IGZvciAKcmVhc29uIHdoeSwgbGlrZSBpdCdzIGRvbmUgZm9yIHZpZGVv IFBMTCBibG9jayBhbHJlYWR5LgoKPiAKPiA+IEFsc28sIHBsZWFzZSBhZGQgbWluIGFuZCBtYXgu Cj4gCj4gV2hhdCBpcyB0aGUgcmF0aW9uYWxlIGZvciBhZGRpdGlvbmFsIGxpbWl0cz8KCklmIGxp bWl0cyBhcmUgc3BlY2lmaWVkIGluIHdoYXRldmVyIGZvcm0sIHRoZXkgc2hvdWxkIGJlIGFkZGVk LiBBcyBJIHNhaWQgCnNldmVyYWwgdGltZXMgYWxyZWFkeSwgdmVuZG9yIGNvZGUgbGltaXRzIFBM TCBmcmVxdWVuY3kgdG8gMjg4IE1IeiBtaW5pbXVtIGFuZCAKbGlzdHMgbWF4aW11bS4gQXMgZXhw ZXJpZW5jZWQgYSBmZXcgdGltZXMgYmVmb3JlIHdpdGggdmlkZW8gUExMcywgdGhlc2UgYXJlIApp bXBvcnRhbnQsIG90aGVyd2lzZSBQTEwgaXMgdW5zdGFibGUuIEZvciBleGFtcGxlLCBPUFAgdGFi bGUgaW4gdmVuZG9yIERUIGhhcyAKdHdvIG9wZXJhdGluZyBwb2ludHMgbG93ZXIgdGhhbiAyODgg TUh6LCB3aGljaCBtZWFucyBpdCB3b3VsZCBlaXRoZXIgbG9jayB1cCAKb3IgYmUgdW5zdGFibGUu IEluIHN1Y2ggY2FzZXMsIHZlbmRvciBjb2RlIGFjdHVhbGx5IHNldHMgR1BVX0NMSyBkaXZpZGVy IHRvIDIsIApidXQgd2UgY2FuIHNraXAgdGhlbSwgYmVjYXVzZSBHUFVfQ0xLIGRpdmlkZXIgd2ls bCBiZSBoYXJkY29kZWQgdG8gMSB3aXRoIHRoaXMgCnBhdGNoLgoKPiBDUFVfUExMIGRvZXNuJ3Qg aGF2ZSB0aGVzZSBsaW1pdHMuIEkgZG9uJ3Qgd2FudCB0byBtYWtlIHRoZW0gZGlmZmVyZW50LgoK V2h5IENQVV9QTEw/IFdoeSBub3QgdmlkZW8gUExMPyBJbiBhbnkgY2FzZSwgaXQgZG9lc24ndCBt YXR0ZXIgaWYgc3RydWN0IGxvb2tzIApzaW1pbGFyIHRvIHNvbWUgb3RoZXIgb3IgaXMgdW5pcXVl LiBPbmx5IGltcG9ydGFudCB0aGluZyBpcyB0aGF0IHN0cnVjdCAKZGVzY3JpYmVzIFBMTCBhcyBi ZXN0IGFzIHBvc3NpYmxlLgoKPiAKPiA+IEkgYWxzbyBjb25zZW50IHRvIFItQiwgd2hpY2ggeW91 Cj4gPiBkaWRuJ3QgaW5jbHVkZS4KPiAKPiBJIHdhcyBleHBlY3RpbmcgYW4gZXhwbGljaXQgJ3Jl dmlldy1ieScgbGluZS4gQW55d2F5IEkgY2FuIGFkZCBpdCBhbmQKPiByZXNlbmQgdjQgaWYgaXQn cyBuZWNlc3NhcnkuCgpJZiB5b3UgYXQgbGVhc3QgYWRkIG1pbiBhbmQgbWF4IGxpbWl0cywgeW91 IGNhbiBhZGQgZm9sbG93aW5nIHRhZzoKUmV2aWV3ZWQtYnk6IEplcm5laiBTa3JhYmVjIDxqZXJu ZWouc2tyYWJlY0BnbWFpbC5jb20+CgpJZiB5b3Ugc2VuZCBpdCBiZWZvcmUgRnJpZGF5LCBpdCB3 aWxsIGJlIGluIDUuMjAuCgpCZXN0IHJlZ2FyZHMsCkplcm5lagoKPiAKPiBSZWdhcmRzLAo+IFJv bWFuCj4gCj4gPiBEaWQgeW91IHJlc2VuZCB2MiBpbnN0ZWFkIG9mIHYzPwo+ID4gCj4gPiBCZXN0 IHJlZ2FyZHMsCj4gPiBKZXJuZWoKPiA+IAo+ID4gPiAtLS0KPiA+ID4gCj4gPiA+ICBkcml2ZXJz L2Nsay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2LmMgfCAxNiArKysrKysrKysrKysrLS0tCj4gPiA+ ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+ID4g Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2LmMK PiA+ID4gYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Utc3VuNTBpLWg2LmMgaW5kZXgKPiA+ID4g MmRkZjBhMGRhNTI2Zi4uMDY4ZDFhNmIyZWJmMwo+ID4gPiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjUwaS1oNi5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvY2xr L3N1bnhpLW5nL2NjdS1zdW41MGktaDYuYwo+ID4gPiBAQCAtOTUsMTMgKzk1LDEzIEBAIHN0YXRp YyBzdHJ1Y3QgY2N1X25rbXAgcGxsX3BlcmlwaDFfY2xrID0gewo+ID4gPiAKPiA+ID4gICAgICAg fSwKPiA+ID4gIAo+ID4gPiAgfTsKPiA+ID4gCj4gPiA+ICsvKiBGb3IgR1BVIFBMTCwgdXNpbmcg YW4gb3V0cHV0IGRpdmlkZXIgZm9yIERGUyBjYXVzZXMgc3lzdGVtIHRvIGZhaWwKPiA+ID4gKi8K PiA+ID4gCj4gPiA+ICAjZGVmaW5lIFNVTjUwSV9INl9QTExfR1BVX1JFRyAgICAgICAgICAgICAg ICAweDAzMAo+ID4gPiAgc3RhdGljIHN0cnVjdCBjY3VfbmttcCBwbGxfZ3B1X2NsayA9IHsKPiA+ ID4gIAo+ID4gPiAgICAgICAuZW5hYmxlICAgICAgICAgPSBCSVQoMzEpLAo+ID4gPiAgICAgICAu bG9jayAgICAgICAgICAgPSBCSVQoMjgpLAo+ID4gPiAgICAgICAubiAgICAgICAgICAgICAgPSBf U1VOWElfQ0NVX01VTFRfTUlOKDgsIDgsIDEyKSwKPiA+ID4gICAgICAgLm0gICAgICAgICAgICAg ID0gX1NVTlhJX0NDVV9ESVYoMSwgMSksIC8qIGlucHV0IGRpdmlkZXIgKi8KPiA+ID4gCj4gPiA+ IC0gICAgIC5wICAgICAgICAgICAgICA9IF9TVU5YSV9DQ1VfRElWKDAsIDEpLCAvKiBvdXRwdXQg ZGl2aWRlcgo+ID4gCj4gPiAqLwo+ID4gCj4gPiA+ICAgICAgIC5jb21tb24gICAgICAgICA9IHsK PiA+ID4gICAgICAgCj4gPiA+ICAgICAgICAgICAgICAgLnJlZyAgICAgICAgICAgID0gMHgwMzAs Cj4gPiA+ICAgICAgICAgICAgICAgLmh3LmluaXQgICAgICAgID0gQ0xLX0hXX0lOSVQoInBsbC1n cHUiLCAib3NjMjRNIiwKPiA+ID4gCj4gPiA+IEBAIC0yOTQsOSArMjk0LDkgQEAgc3RhdGljIFNV TlhJX0NDVV9NX1dJVEhfTVVYX0dBVEUoZGVpbnRlcmxhY2VfY2xrLAo+ID4gPiAiZGVpbnRlcmxh Y2UiLCBzdGF0aWMgU1VOWElfQ0NVX0dBVEUoYnVzX2RlaW50ZXJsYWNlX2NsaywKPiA+ID4gImJ1 cy1kZWludGVybGFjZSIsICJwc2ktYWhiMS1haGIyIiwgMHg2MmMsIEJJVCgwKSwgMCk7Cj4gPiA+ IAo+ID4gPiArLyogS2VlcCBHUFVfQ0xLIGRpdmlkZXIgY29uc3QgdG8gYXZvaWQgREZTIGluc3Rh YmlsaXR5LiAqLwo+ID4gPiAKPiA+ID4gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZ3B1X3Bh cmVudHNbXSA9IHsgInBsbC1ncHUiIH07Cj4gPiA+IAo+ID4gPiAtc3RhdGljIFNVTlhJX0NDVV9N X1dJVEhfTVVYX0dBVEUoZ3B1X2NsaywgImdwdSIsIGdwdV9wYXJlbnRzLCAweDY3MCwKPiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDMsICAgIC8qIE0gKi8KPiA+ ID4gK3N0YXRpYyBTVU5YSV9DQ1VfTVVYX1dJVEhfR0FURShncHVfY2xrLCAiZ3B1IiwgZ3B1X3Bh cmVudHMsIDB4NjcwLAo+ID4gPiAKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDI0LCAxLCAgIC8qIG11eCAqLwo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQklUKDMxKSwgLyogZ2F0ZSAqLwo+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ0xLX1NFVF9SQVRFX1BBUkVOVCk7Cj4gPiA+IAo+ID4gPiBAQCAt MTE5Myw2ICsxMTkzLDE2IEBAIHN0YXRpYyBpbnQgc3VuNTBpX2g2X2NjdV9wcm9iZShzdHJ1Y3QK PiA+ID4gcGxhdGZvcm1fZGV2aWNlICpwZGV2KSBpZiAoSVNfRVJSKHJlZykpCj4gPiA+IAo+ID4g PiAgICAgICAgICAgICAgIHJldHVybiBQVFJfRVJSKHJlZyk7Cj4gPiA+IAo+ID4gPiArICAgICAv KiBGb3JjZSBQTExfR1BVIG91dHB1dCBkaXZpZGVyIGJpdHMgdG8gMCAqLwo+ID4gPiArICAgICB2 YWwgPSByZWFkbChyZWcgKyBTVU41MElfSDZfUExMX0dQVV9SRUcpOwo+ID4gPiArICAgICB2YWwg Jj0gfkJJVCgwKTsKPiA+ID4gKyAgICAgd3JpdGVsKHZhbCwgcmVnICsgU1VONTBJX0g2X1BMTF9H UFVfUkVHKTsKPiA+ID4gKwo+ID4gPiArICAgICAvKiBGb3JjZSBHUFVfQ0xLIGRpdmlkZXIgYml0 cyB0byAwICovCj4gPiA+ICsgICAgIHZhbCA9IHJlYWRsKHJlZyArIGdwdV9jbGsuY29tbW9uLnJl Zyk7Cj4gPiA+ICsgICAgIHZhbCAmPSB+R0VOTUFTSygzLCAwKTsKPiA+ID4gKyAgICAgd3JpdGVs KHZhbCwgcmVnICsgZ3B1X2Nsay5jb21tb24ucmVnKTsKPiA+ID4gKwo+ID4gPiAKPiA+ID4gICAg ICAgLyogRW5hYmxlIHRoZSBsb2NrIGJpdHMgb24gYWxsIFBMTHMgKi8KPiA+ID4gICAgICAgZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGxsX3JlZ3MpOyBpKyspIHsKPiA+ID4gICAgICAgCj4g PiA+ICAgICAgICAgICAgICAgdmFsID0gcmVhZGwocmVnICsgcGxsX3JlZ3NbaV0pOwo+ID4gPiAK PiA+ID4gLS0KPiA+ID4gMi4zNC4xCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK