From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id 6AFBC385C400 for ; Fri, 30 Sep 2022 09:36:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6AFBC385C400 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664530578; x=1696066578; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Gb7nH7+6hyww0JKhsnIDwL2bY2WzRbxGvgdCMGrXUJA=; b=Bff1+AP6qkZZWlj6vHT6tkranW0n7qARd6QwT3c5AsBgd7xJCJhlN9zH QqHUcbyfati6zgDi8xYJrvChRJY97+rqGqNcwg2eScvB7a07I0s0gzGcg zGOpvnY4cYNPkcLS/D3z93doi6krkFc72xUlAJlkSUXzxLU3DMnw613BC L9Cm6zbMsBekwY2lt6ZYieaZ5DbShqdaRTw28iGdGKJWHCf8bNW73nVdc /x9+EWqB0JQTXg0QolVh0qHQ8tPSXPQq/2a7Cxt9pZ1bKpHifqOXkpn7i 4fgpxF57ITOxpHm4HpT0WPdNqwYm3f+lRB+7mfiY1zcgkOMNwf+/NHRiE w==; X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="285287808" X-IronPort-AV: E=Sophos;i="5.93,358,1654585200"; d="scan'208";a="285287808" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Sep 2022 02:36:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="573809293" X-IronPort-AV: E=Sophos;i="5.93,358,1654585200"; d="scan'208";a="573809293" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 30 Sep 2022 02:36:17 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 30 Sep 2022 02:36:16 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 30 Sep 2022 02:36:16 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Fri, 30 Sep 2022 02:36:16 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Fri, 30 Sep 2022 02:36:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EU+95HfKe10EqgDvYWeKL12i0DFN9fmeaRqgO4/9iom6+J5fuNR0BKgFPtqdJISbsvA8Kv/dhgx3t9QLpy+prK1Y6fjbwqF8CPum2PJL+LbVQX2sVHLOQr3KuN/b60dSIe0M6tI/9lXjYgk1xJyCQyUMGOUyeLNYZK+4dpxmQmYWLVgz7ue+aonuZ1FwvVWhvS5e50sGI742H7bQP/XPi6lVep6aIUSIgVlGM7haF+H0Ylx949ImcSP3lkATB9Rx5tR/xc8UYSa5CnRB3mMISdtcqd4fasaxbjE0bOYqh0vQRZP4vpcMjTcKxB5VpUfEMdsb8kM5YcnTrZTYXhCLvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Gb7nH7+6hyww0JKhsnIDwL2bY2WzRbxGvgdCMGrXUJA=; b=DrWRgNDJhyWIRDTA7lqHp1p4SzLCYUQzw63IwoFh8AIllj7SmtRIWGRgIBSchM3Iif1p2ICAVRrZu6NciHplbkU9N2iJLf/LEIs7l2wF+dhJlvqBnXIsiIlGT0Jhm+tUZVLBz0F4eDlzjA2KFzSiVCCXcsvpDebgUqdKrljqAqtKajAWAQhmdara2UPYYiYW5dxeT7/JYKjxWfG0izgPBMZUn9ZzaupO4jqMZSrX7+o8LJ60KLR8TtqaMIZrarNAGmhHedU2Q2CBsG4LMQYmhxXlZbIjOaMlpFZtpPDgkZNNfRbHvyzc5diByOkN24YUZ7nRmc8Aq9SJA1QCp00qow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB3114.namprd11.prod.outlook.com (2603:10b6:5:6d::11) by BN9PR11MB5434.namprd11.prod.outlook.com (2603:10b6:408:11f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Fri, 30 Sep 2022 09:36:14 +0000 Received: from DM6PR11MB3114.namprd11.prod.outlook.com ([fe80::d995:3f1a:be54:8749]) by DM6PR11MB3114.namprd11.prod.outlook.com ([fe80::d995:3f1a:be54:8749%6]) with mapi id 15.20.5676.023; Fri, 30 Sep 2022 09:36:14 +0000 From: "Xu, Liwei" To: Richard Sandiford CC: Richard Biener , "gcc-patches@gcc.gnu.org" , "wilson@tuliptree.org" , "admin@levyhsu.com" Subject: Re: [PATCH] Optimize nested permutation to single VEC_PERM_EXPR [PR54346] Thread-Topic: [PATCH] Optimize nested permutation to single VEC_PERM_EXPR [PR54346] Thread-Index: AQHY0YD55hupk3y350+Z/WGhBQ0FOa33uAi/gAAFHwM= Date: Fri, 30 Sep 2022 09:36:14 +0000 Message-ID: References: <20220926065604.783193-1-liwei.xu@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB3114:EE_|BN9PR11MB5434:EE_ x-ms-office365-filtering-correlation-id: 45506848-ff6e-436f-c99f-08daa2c73798 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gsbw0MnKc7CagZb30UQ1lS90yHLSbEYAsl7eEGMl0xe+4Auo13GiRGkfbTBCJlu6jKPvJfKTxTyVF+oRfXV42MCdYR9VJAybcQ41Sp9RehdPzWbTJQ/+zWzjjEn8Jy/YUSkZwHt6lGRgvcYItl7ejDCcKOezLoQjj19elUddqxmDycEF72rb2jgzM9Md5IJLY0xGXbhfPmDFiTot5GR6JUZxi0C85Q27HdDmyMnh4snhxHk/NdBZV3rDv5VK/qEilCzEp1QcbrXqJXMV3mCA04LpC0ftNHTp26YiBT/1gS6s9cte2XUHrs9EpmkKrR/cF5DxQ8zyUx2IWV1Nx4VNdAmJdNWDBPu9TDMiOGOP1w0INGg9BOzG7Y4RE8VptgrLi919z2gR6dEtAiq+8dgFh4ai2grqltDxfCItKXB0LbSGEA0z0llzMZjxEi6l7zJirNKdrzeGziOakvSBt0E/Pe7ts0UrMMHtQ+JhMz8BO5uMiiLPgjqHKi+ybrJZzfJ9bnClTJ2elujEqRXSx7FJmqIvK0IDC/qNCjf8hoF8hMziI6duOyenfRIOlAgS0IEuBMymSTmIt6d7Y8lCjIdmuId6dA0j21OTZXbxE0JbKtORQRB4ZC5mdRvCrLDLeQSf9TARk95VU/3mOl2TFqsARQGrJDk/gs4Cmx31WoBVTwRy2BID+HaLsv/dSipryHw+3WJjFcA7IBPYOEpu0zCsPPxhmyIP+Jc7NN/3pbi57zqHhYcbh1dpfok8Bmu+ZLR5VFnIVPdKlMnbWUYZ94vgYzFbCLlk1dldT2RTt63SBesvpMiMGkigDPcgYd+rZrm9KENRQ8pTiRsDRQbNz6kNDw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3114.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199015)(8676002)(6916009)(316002)(54906003)(41300700001)(84970400001)(8936002)(66476007)(6506007)(53546011)(26005)(33656002)(5660300002)(66446008)(6512007)(66556008)(55236004)(66946007)(64756008)(4326008)(36756003)(76116006)(91956017)(38070700005)(82960400001)(38100700002)(122000001)(86362001)(2906002)(186003)(2616005)(6486002)(478600001)(71200400001)(66899015)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eHlqMVRsazlxRUovcWVtRkF3WG5VVG5JSURoNElPUEFsckFCc0RwUFRnTDd5?= =?utf-8?B?WmNwcGxOY21WTVBHMGcxcS9WMHdia3BQYUd0VUJzbnJoazU2SUg2MGxZRU85?= =?utf-8?B?cDdKMEZnbkhVS0tVZ056YmNCSDBtS2dyeTdDeUJybFlKM2lWMkhOM1hOZHFT?= =?utf-8?B?OU9hRDVGOEhvUUpNU3NDd0hhQUVDZEdGTm11bnJSZTcvenp6dG43NUY1VEYw?= =?utf-8?B?VWtxUHZ1OTRJdThOTXNTVU4wdEI5SXdzQTRIMzBxWTlXcWxFWEpPWE1YMngz?= =?utf-8?B?ck1lSS9SS3JkbGNhTWtJbmRMUkdCbEdUbFV2bFYxaHpNV25uSXJnQWVXSmNx?= =?utf-8?B?MHYxUUZYRVpWczlVelJZV013WnVQUjROQU5YdjhkbXpLSmZJSFpRang0dUk4?= =?utf-8?B?eEhCbU1KOW5pVUsrL2RGcVhXZFF6L1ZCQjRyVWhydm1UcW9XYWxKa0lHNGEv?= =?utf-8?B?eE5ZQWV2NlVGYldjWDkrTGlHK2w2b2cwY0J2ZElUZXlsRnBoV0hXd2hNNFk2?= =?utf-8?B?TlZEUEh1Vi9rQ05FTUtRNW1FZW5oYmRHWFJ6djRkWURwbC9odW93QTU0cXZL?= =?utf-8?B?UE5nbittSTNKRk1TS1JyUVcxSXlBUStmeTdvdzNTNDV1NHU4NjJCbS9hUEp6?= =?utf-8?B?Vk16dGVRci9WNXdRT0p1ZXd1czJBTHJ0ZE9WMkdqMXBpTDdaMEtEdWFRRzA1?= =?utf-8?B?UkpVU3o4VGpqYzl6Q3doMEw5RlpLQ0puNkhNaEwxTGJwVDRjYmN1cE5OUm9M?= =?utf-8?B?eFBOQ0hTdlFvenVFMys0NkFyTjdmYkNGMHRIRlB0eDFDSllKSStIOUFpck1q?= =?utf-8?B?UklXYS9QZE9xNGlWTUpQYWpjeVNzMVVvOXZYVDNpQUM4bC91ZC80RTZMR2Q1?= =?utf-8?B?WkpQMEJCWWlCbXpUY3ZqVkRjT2swVFNCa1RyYnlMcVc0LytVeUV4bjU0WFEy?= =?utf-8?B?dWVSbXE0RExPd2lYMTJoRWkrVWZBbEtLSzFmOGVyeGp3dXVSeW9MUW1Yc3ht?= =?utf-8?B?VmlkMjZaL0Nya0xPd3F2MWxHWncrMG5SR2N1b0ppeXJzTG5OZVNtenJzaEFG?= =?utf-8?B?SkVteVFTR1lTTmt1V3VJNG5HVHFOR28wZjBJL2o5L1RScHN1UFJQNm5tbStw?= =?utf-8?B?clZHNi9VaGtFbWsvMXd0c1oraXZYZk5Bdk9jWW1uNEV6N2xrMCtFWVpOb2hS?= =?utf-8?B?NVZoK3gveXhJT2hzQm5qUnhZM25pQ1h0ZXVzNTBHOFpVTjNVMGJZY09nODhW?= =?utf-8?B?eG1nRHlaSVExUEh1SmhqQlg1N1ByTExRMXlYQUJocnNCclZiS0NMaTBXRzFK?= =?utf-8?B?QndrWXVhR0ZnVEhiVVh3djVicUREdXRvbjdudmxLTTZydndxSFhtd01VTFBq?= =?utf-8?B?bE1TenR0eUxuWkh4d1pPbSszajBNMllXMHQzTkpqN251cHFaY0hRVGpySmlG?= =?utf-8?B?VTBQbE9lNEowdXZZR3hVU3MzU3p2N0p1OWxOdzlzL2prRldJanpoRnc4OXBV?= =?utf-8?B?eVRxY2hLZHF5RWJoZ3lnRlZYNSswd3grZlpKQWxGNE5uWUF5M1RsTkJuUUhr?= =?utf-8?B?UzR4Q0VPbzNuV1BzSHkzTDEzdHgxOGg5aGcyN2ltdko2dlcxTW5hRmJjNFFS?= =?utf-8?B?VmRpbldIREJJaThycStITVAyS0FjL3BkWEVEWXNXSGdoVWVlUG03dmF1VUFy?= =?utf-8?B?aHUyMno4cmhEVEFMekJtNXJncVJQQkZoVk1VejdRa0JXaUE3QVU4ZE05bDdy?= =?utf-8?B?QlhYYzVUUW9CVHRPVm5JTTNmOWZxcmJuR2RpYlZEMEU4QUFWQmpnV2NhZDV0?= =?utf-8?B?a0pzOWQweWdiNEVRdS9HVnd5emkrUzJ0S2k1QkpQTDlxSExuUEUrZ1VMb1NE?= =?utf-8?B?RFliNjlpOVpHNjBRNk1rWmVCSldCZTlrYUdJODlYMzliQXAwMTVYZS9LVFBR?= =?utf-8?B?dGFvQ0hhZ05KajM3WmFaOTR5SzBycmsyV1ltVi9iZEtTRmZkOUpXMDMvN29X?= =?utf-8?B?YVB0eGtQUUpVYklYdytDRk5jc3FMSE5ZVU5hbWpmcld6M1ArYmYyVUFkYzVv?= =?utf-8?B?c2dvZGFORjB2dktHVW5kSlJDRFZidlNYcnhIdjhXSElnU0xKN2RPNGZhU2hy?= =?utf-8?Q?z40XPGpZg+Fft9cWLg1W7Y4pv?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3114.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45506848-ff6e-436f-c99f-08daa2c73798 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Sep 2022 09:36:14.0829 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6oYNxB9Nf0Aye5U0JiOUMu5da0P8Omxqmq27r7tYRzqA5KD6zZfcqNRULVe4RgPzsWOmErqpKgrrc/3hS7ZkKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5434 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGkgUmljaGFyZCANCg0KU3VyZSwgSeKAmWxsIGFsc28gY2hlY2sgdGhlIFZMQSBjYXNlIG9uY2Ug SeKAmW0gYmFjayBmcm9tIHZhY2F0aW9uLCB0aGFuayB5b3UgZm9yIHlvdXIgaGVscC4NCg0KQmVz dCBSZWdhcmRzDQpMaXdlaQ0KDQo+IE9uIDMwIFNlcCAyMDIyLCBhdCA1OjE3IHBtLCBSaWNoYXJk IFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4gd3JvdGU6DQo+IA0KPiDvu79S aWNoYXJkIEJpZW5lciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+IHdyaXRlczoNCj4+PiBP biBNb24sIFNlcCAyNiwgMjAyMiBhdCA4OjU4IEFNIExpd2VpIFh1IDxsaXdlaS54dUBpbnRlbC5j b20+IHdyb3RlOg0KPj4+IA0KPj4+ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudGVkIHRoZSBv cHRpbWl6YXRpb24gaW4gUFIgNTQzNDYsIHdoaWNoIE1lcmdlcw0KPj4+IA0KPj4+ICAgICAgICBj ID0gVkVDX1BFUk1fRVhQUiA8YSwgYiwgVkNTVDA+Ow0KPj4+ICAgICAgICBkID0gVkVDX1BFUk1f RVhQUiA8YywgYywgVkNTVDE+Ow0KPj4+ICAgICAgICAgICAgICAgIHRvDQo+Pj4gICAgICAgIGQg PSBWRUNfUEVSTV9FWFBSIDxhLCBiLCBORVdfVkNTVD47DQo+Pj4gDQo+Pj4gICAgICAgIEJvb3Rz dHJhcHBlZCBhbmQgcmVndGVzdGVkIG9uIHg4Nl82NC1wYy1saW51eC1nbnV7LW0zMix9DQo+Pj4g ICAgICAgIHRyZWUtc3NhL2Zvcndwcm9wLTE5LmMgZmFpbCB0byBwYXNzIGJ1dCBJJ20gbm90IHN1 cmUgd2hldGhlciBpdA0KPj4+ICAgICAgICBpcyBvayB0byByZW1vdmVkIGl0Lg0KPj4gDQo+PiBM b29rcyBnb29kLCBidXQgbGVhdmUgUmljaGFyZCBhIGNoYW5jZSB0byBhc2sgZm9yIFZMQSB2ZWN0 b3Igc3VwcG9ydCB3aGljaA0KPj4gbWlnaHQgYmUgdHJpdmlhbCB0byBkby4NCj4gDQo+IFNvcnJ5 IGZvciB0aGUgc2xvdyByZXBseS4gIEl0IG1pZ2h0IGJlIHRyaWNreSB0byBoYW5kbGUgdGhlIGdl bmVyYWwgY2FzZSwNCj4gc28gSSdkIHN1Z2dlc3QgZ29pbmcgd2l0aCB0aGlzIGZvciBub3cgYW5k IGRlYWxpbmcgd2l0aCBWTEEgYXMgYSBmb2xsb3ctdXAuDQo+IChQcm9iYWJseSBhZnRlciBQcmF0 aGFtZXNoJ3MgY2hhbmdlcyB0byBmb2xkX3ZlY19wZXJtX2V4cHIuKQ0KPiANCj4gVGhhbmtzLA0K PiBSaWNoYXJkDQo+IA0KPj4gQnR3LCBkb2Vzbid0IHRoaXMgaGFuZGxlIHRoZSBWRUNfUEVSTSAr IFZFQ19QRVJNIGNhc2UgaW4NCj4+IHRyZWUtc3NhLWZvcndwcm9wLmNjOnNpbXBsaWZ5X3Blcm11 dGF0aW9uIGFzIHdlbGw/ICBOb3RlIF90aGF0XyBkb2VzDQo+PiBzZWVtIHRvIGhhbmRsZSBWTEEg dmVjdG9ycy4NCj4+IA0KPj4gVGhhbmtzLA0KPj4gUmljaGFyZC4NCj4+IA0KPj4+IGdjYy9DaGFu Z2VMb2c6DQo+Pj4gDQo+Pj4gICAgICAgIFBSIHRhcmdldC81NDM0Ng0KPj4+ICAgICAgICAqIG1h dGNoLnBkOiBNZXJnZSB0aGUgaW5kZXggb2YgVkNTVCB0aGVuIGdlbmVyYXRlcyB0aGUgbmV3IHZl Y19wZXJtLg0KPj4+IA0KPj4+IGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KPj4+IA0KPj4+ICAg ICAgICBQUiB0YXJnZXQvNTQzNDYNCj4+PiAgICAgICAgKiBnY2MuZGcvcHI1NDM0Ni5jOiBOZXcg dGVzdC4NCj4+PiANCj4+PiBDby1hdXRob3JlZC1ieTogbGl1aG9uZ3QgPGhvbmd0YW8ubGl1QGlu dGVsLmNvbT4NCj4+PiAtLS0NCj4+PiBnY2MvbWF0Y2gucGQgICAgICAgICAgICAgICAgICAgfCA0 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4gZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvcHI1NDM0Ni5jIHwgMTMgKysrKysrKysrKysNCj4+PiAyIGZpbGVzIGNoYW5nZWQsIDU0 IGluc2VydGlvbnMoKykNCj4+PiBjcmVhdGUgbW9kZSAxMDA3NTUgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcHI1NDM0Ni5jDQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBhL2djYy9tYXRjaC5wZCBiL2djYy9t YXRjaC5wZA0KPj4+IGluZGV4IDM0NWJjYjcwMWE1Li45MjE5YjBhMTBlMSAxMDA2NDQNCj4+PiAt LS0gYS9nY2MvbWF0Y2gucGQNCj4+PiArKysgYi9nY2MvbWF0Y2gucGQNCj4+PiBAQCAtODA4Niw2 ICs4MDg2LDQ3IEBAIGFuZCwNCj4+PiAgIChtaW51cyAobXVsdCAodmVjX3Blcm0gQDEgQDEgQDMp IEAyKSBANCkpKQ0KPj4+IA0KPj4+IA0KPj4+ICsvKiAoUFI1NDM0NikgTWVyZ2UNCj4+PiArICAg YyA9IFZFQ19QRVJNX0VYUFIgPGEsIGIsIFZDU1QwPjsNCj4+PiArICAgZCA9IFZFQ19QRVJNX0VY UFIgPGMsIGMsIFZDU1QxPjsNCj4+PiArICAgdG8NCj4+PiArICAgZCA9IFZFQ19QRVJNX0VYUFIg PGEsIGIsIE5FV19WQ1NUPjsgKi8NCj4+PiArDQo+Pj4gKyhzaW1wbGlmeQ0KPj4+ICsgKHZlY19w ZXJtICh2ZWNfcGVybUAwIEAxIEAyIFZFQ1RPUl9DU1RAMykgQDAgVkVDVE9SX0NTVEA0KQ0KPj4+ ICsgKHdpdGgNCj4+PiArICB7DQo+Pj4gKyAgICBpZighVFlQRV9WRUNUT1JfU1VCUEFSVFMgKHR5 cGUpLmlzX2NvbnN0YW50KCkpDQo+Pj4gKyAgICAgIHJldHVybiBOVUxMX1RSRUU7DQo+Pj4gKw0K Pj4+ICsgICAgdHJlZSBvcDA7DQo+Pj4gKyAgICBtYWNoaW5lX21vZGUgcmVzdWx0X21vZGUgPSBU WVBFX01PREUgKHR5cGUpOw0KPj4+ICsgICAgbWFjaGluZV9tb2RlIG9wX21vZGUgPSBUWVBFX01P REUgKFRSRUVfVFlQRSAoQDEpKTsNCj4+PiArICAgIGludCBuZWx0cyA9IFRZUEVfVkVDVE9SX1NV QlBBUlRTICh0eXBlKS50b19jb25zdGFudCgpOw0KPj4+ICsgICAgdmVjX3Blcm1fYnVpbGRlciBi dWlsZGVyMDsNCj4+PiArICAgIHZlY19wZXJtX2J1aWxkZXIgYnVpbGRlcjE7DQo+Pj4gKyAgICB2 ZWNfcGVybV9idWlsZGVyIGJ1aWxkZXIyIChuZWx0cywgbmVsdHMsIDEpOw0KPj4+ICsNCj4+PiAr ICAgIGlmICghdHJlZV90b192ZWNfcGVybV9idWlsZGVyICgmYnVpbGRlcjAsIEAzKQ0KPj4+ICsg ICAgfHwgIXRyZWVfdG9fdmVjX3Blcm1fYnVpbGRlciAoJmJ1aWxkZXIxLCBANCkpDQo+Pj4gKyAg ICAgIHJldHVybiBOVUxMX1RSRUU7DQo+Pj4gKw0KPj4+ICsgICAgdmVjX3Blcm1faW5kaWNlcyBz ZWwwIChidWlsZGVyMCwgMiwgbmVsdHMpOw0KPj4+ICsgICAgdmVjX3Blcm1faW5kaWNlcyBzZWwx IChidWlsZGVyMSwgMSwgbmVsdHMpOw0KPj4+ICsNCj4+PiArICAgIGZvciAoaW50IGkgPSAwOyBp IDwgbmVsdHM7IGkrKykNCj4+PiArICAgICAgYnVpbGRlcjIucXVpY2tfcHVzaCAoc2VsMFtzZWwx W2ldLnRvX2NvbnN0YW50KCldKTsNCj4+PiArDQo+Pj4gKyAgICB2ZWNfcGVybV9pbmRpY2VzIHNl bDIgKGJ1aWxkZXIyLCAyLCBuZWx0cyk7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCFjYW5fdmVjX3Bl cm1fY29uc3RfcCAocmVzdWx0X21vZGUsIG9wX21vZGUsIHNlbDIsIGZhbHNlKSkNCj4+PiArICAg ICAgcmV0dXJuIE5VTExfVFJFRTsNCj4+PiArDQo+Pj4gKyAgICBvcDAgPSB2ZWNfcGVybV9pbmRp Y2VzX3RvX3RyZWUgKFRSRUVfVFlQRSAoQDQpLCBzZWwyKTsNCj4+PiArICB9DQo+Pj4gKyAgKHZl Y19wZXJtIEAxIEAyIHsgb3AwOyB9KSkpDQo+Pj4gKw0KPj4+ICsNCj4+PiAvKiBNYXRjaCBjb3Vu dCB0cmFpbGluZyB6ZXJvZXMgZm9yIHNpbXBsaWZ5X2NvdW50X3RyYWlsaW5nX3plcm9lcyBpbiBm d3Byb3AuDQo+Pj4gICAgVGhlIGNhbm9uaWNhbCBmb3JtIGlzIGFycmF5WygoeCAmIC14KSAqIEMp ID4+IFNISUZUXSB3aGVyZSBDIGlzIGEgbWFnaWMNCj4+PiAgICBjb25zdGFudCB3aGljaCB3aGVu IG11bHRpcGxpZWQgYnkgYSBwb3dlciBvZiAyIGNvbnRhaW5zIGEgdW5pcXVlIHZhbHVlDQo+Pj4g ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTQzNDYuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3ByNTQzNDYuYw0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNzU1DQo+Pj4gaW5kZXgg MDAwMDAwMDAwMDAuLmQ4N2RjM2E3OWE1DQo+Pj4gLS0tIC9kZXYvbnVsbA0KPj4+ICsrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTQzNDYuYw0KPj4+IEBAIC0wLDAgKzEsMTMgQEANCj4+PiAr LyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4+PiArLyogeyBkZy1vcHRpb25zICItTyAtZmR1bXAt dHJlZS1kc2UxIiB9ICovDQo+Pj4gKw0KPj4+ICt0eXBlZGVmIGludCB2ZWNpIF9fYXR0cmlidXRl X18gKCh2ZWN0b3Jfc2l6ZSAoNCAqIHNpemVvZiAoaW50KSkpKTsNCj4+PiArDQo+Pj4gK3ZvaWQg ZnVuICh2ZWNpIGEsIHZlY2kgYiwgdmVjaSAqaSkNCj4+PiArew0KPj4+ICsgIHZlY2kgYyA9IF9f YnVpbHRpbl9zaHVmZmxlIChhLCBiLCBfX2V4dGVuc2lvbl9fICh2ZWNpKSB7MSwgNCwgMiwgN30p Ow0KPj4+ICsgICppID0gX19idWlsdGluX3NodWZmbGUgKGMsIF9fZXh0ZW5zaW9uX18gKHZlY2kp IHsgNywgMiwgMSwgNSB9KTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tdHJlZS1kdW1wICJWRUNfUEVSTV9FWFBSLip7IDMsIDYsIDAsIDAgfSIgImRzZTEiIH0gfSAq Lw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIlZFQ19QRVJNX0VY UFIiIDEgImRzZTEiIH0gfSAqLw0KPj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KPj4+ IC0tDQo+Pj4gMi4xOC4yDQo+Pj4gDQo=