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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4DC5EC433FE for ; Sat, 19 Nov 2022 03:30:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230271AbiKSDai (ORCPT ); Fri, 18 Nov 2022 22:30:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229946AbiKSDah (ORCPT ); Fri, 18 Nov 2022 22:30:37 -0500 Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23690A6589; Fri, 18 Nov 2022 19:30:35 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R931e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=20;SR=0;TI=SMTPD_---0VV7ZO4r_1668828630; Received: from 192.168.0.105(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VV7ZO4r_1668828630) by smtp.aliyun-inc.com; Sat, 19 Nov 2022 11:30:32 +0800 Message-ID: Date: Sat, 19 Nov 2022 11:30:29 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH RFC 0/6] Add metrics for neoverse-n2 To: James Clark , nick Forrington , Jumana MP , John Garry Cc: Will Deacon , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Andrew Kilroy , Shuai Xue , Zhuo Song , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org References: <1667214694-89839-1-git-send-email-renyu.zj@linux.alibaba.com> From: Jing Zhang In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org 在 2022/11/16 下午7:19, James Clark 写道: > > > On 31/10/2022 11:11, Jing Zhang wrote: >> This series add six metricgroups for neoverse-n2, among which, the >> formula of topdown L1 is from the document: >> https://documentation-service.arm.com/static/60250c7395978b529036da86?token= >> >> Since neoverse-n2 does not yet support topdown L2, metricgroups such >> as Cache, TLB, Branch, InstructionsMix, and PEutilization are added to >> help further analysis of performance bottlenecks. >> > > Hi Jing, > > Thanks for working on this, these metrics look ok to me in general, > although we're currently working on publishing standardised metrics > across all new cores as part of a new project in Arm. This will include > N2, and our ones are very similar (or almost identical) to yours, > barring slightly different group names, metric names, and differences in > things like outputting topdown metrics as percentages. > > We plan to publish our standard metrics some time in the next 2 months. > Would you consider holding off on merging this change so that we have > consistant group names and units going forward? Otherwise N2 would be > the odd one out. I will send you the metrics when they are ready, and we > will have a script to generate perf jsons from them, so you can review. > > We also have a slightly different forumula for one of the top down > metrics which I think would be slightly more accurate. We don't have > anything for your "PE utilization" metrics, which I can raise > internally. It could always be added to perf on top of the standardised > ones if we don't add it to our standard ones. > > Thanks > James > Hi James, Regarding the arm n2 standard metrics last time, is my understanding correct, and does it meet your meaning? If so, may I ask when you will send me the standards you formulate so that I can align with you in time over my patchset. Please communicate this matter so that we can understand each other's schedule. Thanks, Jing >> with this series on neoverse-n2: >> >> $./perf list metricgroup >> >> List of pre-defined events (to be used in -e): >> >> >> Metric Groups: >> >> Branch >> Cache >> InstructionMix >> PEutilization >> TLB >> TopDownL1 >> >> >> $./perf list >> >> ... >> Metric Groups: >> >> Branch: >> branch_miss_pred_rate >> [The rate of branches mis-predited to the overall branches] >> branch_mpki >> [The rate of branches mis-predicted per kilo instructions] >> branch_pki >> [The rate of branches retired per kilo instructions] >> Cache: >> l1d_cache_miss_rate >> [The rate of L1 D-Cache misses to the overall L1 D-Cache] >> l1d_cache_mpki >> [The rate of L1 D-Cache misses per kilo instructions] >> ... >> >> >> $sudo ./perf stat -a -M TLB sleep 1 >> >> Performance counter stats for 'system wide': >> >> 35,861,936 L1I_TLB # 0.00 itlb_walk_rate (74.91%) >> 5,661 ITLB_WALK (74.91%) >> 97,279,240 INST_RETIRED # 0.07 itlb_mpki (74.91%) >> 6,851 ITLB_WALK (74.91%) >> 26,391 DTLB_WALK # 0.00 dtlb_walk_rate (75.07%) >> 35,585,545 L1D_TLB (75.07%) >> 85,923,244 INST_RETIRED # 0.35 dtlb_mpki (75.11%) >> 29,992 DTLB_WALK (75.11%) >> >> 1.003450755 seconds time elapsed >> >> >> Jing Zhang (6): >> perf vendor events arm64: Add topdown L1 metrics for neoverse-n2 >> perf vendor events arm64: Add TLB metrics for neoverse-n2 >> perf vendor events arm64: Add cache metrics for neoverse-n2 >> perf vendor events arm64: Add branch metrics for neoverse-n2 >> perf vendor events arm64: Add PE utilization metrics for neoverse-n2 >> perf vendor events arm64: Add instruction mix metrics for neoverse-n2 >> >> .../arch/arm64/arm/neoverse-n2/metrics.json | 247 +++++++++++++++++++++ >> 1 file changed, 247 insertions(+) >> create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/metrics.json >> 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 E520DC4332F for ; Sat, 19 Nov 2022 03:31:50 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pP94FCWNCqFC8TwREBLAgLFJDxnAi1md8Ac8ZaWzj9s=; b=fkW29iQeqCoL1K mEx2CeP8nOx0Wcp8Tk18Q0anAYLjOoPMfMdcYlZ4w6Wv6Q1I240ne39vFCbTQRsQWaYU69yo7YgpQ N/xxE+uWvFSerOx3JbE7G4HkZRVD8+g9bKjNNJYe7uAJhWjeBF65eU73O3Hs2QjpjH8CE50AfhSy4 4YpTw94hGsfxKAws9dlsR7MKXCwuyN52bJusKU15pTY0rOWyNc/yjSOOLvXMI3Giomra3P36Zo9tr /X+BhVDn7iF386ndyWjbHACSiynCn8MWty0tnnhA4IJ0P1ybgW19dbSoKNAz7nPDgLNOeks3ix0m4 kjUQ5SE7vbiwVlLAX0ig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1owEZ2-00Ai06-Sn; Sat, 19 Nov 2022 03:30:44 +0000 Received: from out30-44.freemail.mail.aliyun.com ([115.124.30.44]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1owEYz-00Ahz2-3M for linux-arm-kernel@lists.infradead.org; Sat, 19 Nov 2022 03:30:44 +0000 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R931e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046056;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=20;SR=0;TI=SMTPD_---0VV7ZO4r_1668828630; Received: from 192.168.0.105(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VV7ZO4r_1668828630) by smtp.aliyun-inc.com; Sat, 19 Nov 2022 11:30:32 +0800 Message-ID: Date: Sat, 19 Nov 2022 11:30:29 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH RFC 0/6] Add metrics for neoverse-n2 To: James Clark , nick Forrington , Jumana MP , John Garry Cc: Will Deacon , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Andrew Kilroy , Shuai Xue , Zhuo Song , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org References: <1667214694-89839-1-git-send-email-renyu.zj@linux.alibaba.com> From: Jing Zhang In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221118_193041_356012_34E75DD9 X-CRM114-Status: GOOD ( 20.29 ) 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 CgrlnKggMjAyMi8xMS8xNiDkuIvljYg3OjE5LCBKYW1lcyBDbGFyayDlhpnpgZM6Cj4gCj4gCj4g T24gMzEvMTAvMjAyMiAxMToxMSwgSmluZyBaaGFuZyB3cm90ZToKPj4gVGhpcyBzZXJpZXMgYWRk IHNpeCBtZXRyaWNncm91cHMgZm9yIG5lb3ZlcnNlLW4yLCBhbW9uZyB3aGljaCwgdGhlCj4+IGZv cm11bGEgb2YgdG9wZG93biBMMSBpcyBmcm9tIHRoZSBkb2N1bWVudDoKPj4gaHR0cHM6Ly9kb2N1 bWVudGF0aW9uLXNlcnZpY2UuYXJtLmNvbS9zdGF0aWMvNjAyNTBjNzM5NTk3OGI1MjkwMzZkYTg2 P3Rva2VuPQo+Pgo+PiBTaW5jZSBuZW92ZXJzZS1uMiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCB0b3Bk b3duIEwyLCBtZXRyaWNncm91cHMgc3VjaAo+PiBhcyBDYWNoZSwgVExCLCBCcmFuY2gsIEluc3Ry dWN0aW9uc01peCwgYW5kIFBFdXRpbGl6YXRpb24gYXJlIGFkZGVkIHRvCj4+IGhlbHAgZnVydGhl ciBhbmFseXNpcyBvZiBwZXJmb3JtYW5jZSBib3R0bGVuZWNrcy4KPj4KPiAKPiBIaSBKaW5nLAo+ IAo+IFRoYW5rcyBmb3Igd29ya2luZyBvbiB0aGlzLCB0aGVzZSBtZXRyaWNzIGxvb2sgb2sgdG8g bWUgaW4gZ2VuZXJhbCwKPiBhbHRob3VnaCB3ZSdyZSBjdXJyZW50bHkgd29ya2luZyBvbiBwdWJs aXNoaW5nIHN0YW5kYXJkaXNlZCBtZXRyaWNzCj4gYWNyb3NzIGFsbCBuZXcgY29yZXMgYXMgcGFy dCBvZiBhIG5ldyBwcm9qZWN0IGluIEFybS4gVGhpcyB3aWxsIGluY2x1ZGUKPiBOMiwgYW5kIG91 ciBvbmVzIGFyZSB2ZXJ5IHNpbWlsYXIgKG9yIGFsbW9zdCBpZGVudGljYWwpIHRvIHlvdXJzLAo+ IGJhcnJpbmcgc2xpZ2h0bHkgZGlmZmVyZW50IGdyb3VwIG5hbWVzLCBtZXRyaWMgbmFtZXMsIGFu ZCBkaWZmZXJlbmNlcyBpbgo+IHRoaW5ncyBsaWtlIG91dHB1dHRpbmcgdG9wZG93biBtZXRyaWNz IGFzIHBlcmNlbnRhZ2VzLgo+IAo+IFdlIHBsYW4gdG8gcHVibGlzaCBvdXIgc3RhbmRhcmQgbWV0 cmljcyBzb21lIHRpbWUgaW4gdGhlIG5leHQgMiBtb250aHMuCj4gV291bGQgeW91IGNvbnNpZGVy IGhvbGRpbmcgb2ZmIG9uIG1lcmdpbmcgdGhpcyBjaGFuZ2Ugc28gdGhhdCB3ZSBoYXZlCj4gY29u c2lzdGFudCBncm91cCBuYW1lcyBhbmQgdW5pdHMgZ29pbmcgZm9yd2FyZD8gT3RoZXJ3aXNlIE4y IHdvdWxkIGJlCj4gdGhlIG9kZCBvbmUgb3V0LiBJIHdpbGwgc2VuZCB5b3UgdGhlIG1ldHJpY3Mg d2hlbiB0aGV5IGFyZSByZWFkeSwgYW5kIHdlCj4gd2lsbCBoYXZlIGEgc2NyaXB0IHRvIGdlbmVy YXRlIHBlcmYganNvbnMgZnJvbSB0aGVtLCBzbyB5b3UgY2FuIHJldmlldy4KPiAKPiBXZSBhbHNv IGhhdmUgYSBzbGlnaHRseSBkaWZmZXJlbnQgZm9ydW11bGEgZm9yIG9uZSBvZiB0aGUgdG9wIGRv d24KPiBtZXRyaWNzIHdoaWNoIEkgdGhpbmsgd291bGQgYmUgc2xpZ2h0bHkgbW9yZSBhY2N1cmF0 ZS4gV2UgZG9uJ3QgaGF2ZQo+IGFueXRoaW5nIGZvciB5b3VyICJQRSB1dGlsaXphdGlvbiIgbWV0 cmljcywgd2hpY2ggSSBjYW4gcmFpc2UKPiBpbnRlcm5hbGx5LiBJdCBjb3VsZCBhbHdheXMgYmUg YWRkZWQgdG8gcGVyZiBvbiB0b3Agb2YgdGhlIHN0YW5kYXJkaXNlZAo+IG9uZXMgaWYgd2UgZG9u J3QgYWRkIGl0IHRvIG91ciBzdGFuZGFyZCBvbmVzLgo+IAo+IFRoYW5rcwo+IEphbWVzCj4gCgpI aSBKYW1lcywKClJlZ2FyZGluZyB0aGUgYXJtIG4yIHN0YW5kYXJkIG1ldHJpY3MgbGFzdCB0aW1l LCBpcyBteSB1bmRlcnN0YW5kaW5nIGNvcnJlY3QsCmFuZCBkb2VzIGl0IG1lZXQgeW91ciBtZWFu aW5nPyBJZiBzbywgbWF5IEkgYXNrIHdoZW4geW91IHdpbGwgc2VuZCBtZSB0aGUKc3RhbmRhcmRz IHlvdSBmb3JtdWxhdGUgc28gdGhhdCBJIGNhbiBhbGlnbiB3aXRoIHlvdSBpbiB0aW1lIG92ZXIg bXkgcGF0Y2hzZXQuClBsZWFzZSBjb21tdW5pY2F0ZSB0aGlzIG1hdHRlciBzbyB0aGF0IHdlIGNh biB1bmRlcnN0YW5kIGVhY2ggb3RoZXIncyBzY2hlZHVsZS4KClRoYW5rcywKSmluZwoKCj4+IHdp dGggdGhpcyBzZXJpZXMgb24gbmVvdmVyc2UtbjI6Cj4+Cj4+ICQuL3BlcmYgbGlzdCBtZXRyaWNn cm91cAo+Pgo+PiBMaXN0IG9mIHByZS1kZWZpbmVkIGV2ZW50cyAodG8gYmUgdXNlZCBpbiAtZSk6 Cj4+Cj4+Cj4+IE1ldHJpYyBHcm91cHM6Cj4+Cj4+IEJyYW5jaAo+PiBDYWNoZQo+PiBJbnN0cnVj dGlvbk1peAo+PiBQRXV0aWxpemF0aW9uCj4+IFRMQgo+PiBUb3BEb3duTDEKPj4KPj4KPj4gJC4v cGVyZiBsaXN0Cj4+Cj4+IC4uLgo+PiBNZXRyaWMgR3JvdXBzOgo+Pgo+PiBCcmFuY2g6Cj4+ICAg YnJhbmNoX21pc3NfcHJlZF9yYXRlCj4+ICAgICAgICBbVGhlIHJhdGUgb2YgYnJhbmNoZXMgbWlz LXByZWRpdGVkIHRvIHRoZSBvdmVyYWxsIGJyYW5jaGVzXQo+PiAgIGJyYW5jaF9tcGtpCj4+ICAg ICAgICBbVGhlIHJhdGUgb2YgYnJhbmNoZXMgbWlzLXByZWRpY3RlZCBwZXIga2lsbyBpbnN0cnVj dGlvbnNdCj4+ICAgYnJhbmNoX3BraQo+PiAgICAgICAgW1RoZSByYXRlIG9mIGJyYW5jaGVzIHJl dGlyZWQgcGVyIGtpbG8gaW5zdHJ1Y3Rpb25zXQo+PiBDYWNoZToKPj4gICBsMWRfY2FjaGVfbWlz c19yYXRlCj4+ICAgICAgICBbVGhlIHJhdGUgb2YgTDEgRC1DYWNoZSBtaXNzZXMgdG8gdGhlIG92 ZXJhbGwgTDEgRC1DYWNoZV0KPj4gICBsMWRfY2FjaGVfbXBraQo+PiAgICAgICAgW1RoZSByYXRl IG9mIEwxIEQtQ2FjaGUgbWlzc2VzIHBlciBraWxvIGluc3RydWN0aW9uc10KPj4gLi4uCj4+Cj4+ Cj4+ICRzdWRvIC4vcGVyZiBzdGF0IC1hIC1NIFRMQiBzbGVlcCAxCj4+Cj4+ICBQZXJmb3JtYW5j ZSBjb3VudGVyIHN0YXRzIGZvciAnc3lzdGVtIHdpZGUnOgo+Pgo+PiAgICAgICAgIDM1LDg2MSw5 MzYgICAgICBMMUlfVExCICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAwLjAwIGl0bGJf d2Fsa19yYXRlICAgICAgICAgICAoNzQuOTElKQo+PiAgICAgICAgICAgICAgNSw2NjEgICAgICBJ VExCX1dBTEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoNzQuOTElKQo+PiAgICAgICAgIDk3LDI3OSwyNDAgICAgICBJTlNUX1JFVElS RUQgICAgICAgICAgICAgICAgICAgICAjICAgICAwLjA3IGl0bGJfbXBraSAgICAgICAgICAgICAg ICAoNzQuOTElKQo+PiAgICAgICAgICAgICAgNiw4NTEgICAgICBJVExCX1dBTEsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNzQuOTEl KQo+PiAgICAgICAgICAgICAyNiwzOTEgICAgICBEVExCX1dBTEsgICAgICAgICAgICAgICAgICAg ICAgICAjICAgICAwLjAwIGR0bGJfd2Fsa19yYXRlICAgICAgICAgICAoNzUuMDclKQo+PiAgICAg ICAgIDM1LDU4NSw1NDUgICAgICBMMURfVExCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNzUuMDclKQo+PiAgICAgICAgIDg1LDky MywyNDQgICAgICBJTlNUX1JFVElSRUQgICAgICAgICAgICAgICAgICAgICAjICAgICAwLjM1IGR0 bGJfbXBraSAgICAgICAgICAgICAgICAoNzUuMTElKQo+PiAgICAgICAgICAgICAyOSw5OTIgICAg ICBEVExCX1dBTEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoNzUuMTElKQo+Pgo+PiAgICAgICAgMS4wMDM0NTA3NTUgc2Vjb25kcyB0 aW1lIGVsYXBzZWQKPj4gICAgICAgIAo+Pgo+PiBKaW5nIFpoYW5nICg2KToKPj4gICBwZXJmIHZl bmRvciBldmVudHMgYXJtNjQ6IEFkZCB0b3Bkb3duIEwxIG1ldHJpY3MgZm9yIG5lb3ZlcnNlLW4y Cj4+ICAgcGVyZiB2ZW5kb3IgZXZlbnRzIGFybTY0OiBBZGQgVExCIG1ldHJpY3MgZm9yIG5lb3Zl cnNlLW4yCj4+ICAgcGVyZiB2ZW5kb3IgZXZlbnRzIGFybTY0OiBBZGQgY2FjaGUgbWV0cmljcyBm b3IgbmVvdmVyc2UtbjIKPj4gICBwZXJmIHZlbmRvciBldmVudHMgYXJtNjQ6IEFkZCBicmFuY2gg bWV0cmljcyBmb3IgbmVvdmVyc2UtbjIKPj4gICBwZXJmIHZlbmRvciBldmVudHMgYXJtNjQ6IEFk ZCBQRSB1dGlsaXphdGlvbiBtZXRyaWNzIGZvciBuZW92ZXJzZS1uMgo+PiAgIHBlcmYgdmVuZG9y IGV2ZW50cyBhcm02NDogQWRkIGluc3RydWN0aW9uIG1peCBtZXRyaWNzIGZvciBuZW92ZXJzZS1u Mgo+Pgo+PiAgLi4uL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLW4yL21ldHJpY3MuanNvbiAgICAg ICAgfCAyNDcgKysrKysrKysrKysrKysrKysrKysrCj4+ICAxIGZpbGUgY2hhbmdlZCwgMjQ3IGlu c2VydGlvbnMoKykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9wZXJmL3BtdS1ldmVudHMv YXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtbjIvbWV0cmljcy5qc29uCj4+CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==