From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 311FE4AADF for ; Thu, 29 May 2025 21:39:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 74C7B68DD0A; Fri, 30 May 2025 00:38:58 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2080.outbound.protection.outlook.com [40.92.91.80]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 15FA868DCF4 for ; Fri, 30 May 2025 00:38:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ENr6J/8gpJEmOcpKCyrYs2DdHRXt821CjdGrnn3wldLsSLD5vyDO4bna1eS/wu+W6HEY7ErD9oltyf/qooP/YSwvMJ3571DfjFrSOkyuz+w0o92tGtPKq/Fz+HNRpjfW2FMWa39Xt66WKme3i6OfwHmd8XLWKpuraz3usX04FJisahzpWP4qlnLpF3uC8EQ/J2Z6ixkahVUl+2GlUm5W2KA/svEb2BpoCmxlth/2qdp5EAujXieU6DnrfdQLpfVDPO9Iks7vn+s0/VxtVF4sT34p7+/RQEevJZlNDMjzpC1tU5x4b0BnMJ2GCpXdg84cUtZib/pwmtBkWcnzAuowtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=kGlDSYNct4DPzinaqo5uG5T0gmue3WXHIEVSD36hoqE=; b=wc3eNPD7SbCMbmADIH54lUaTiBMACoJbmQqQ0ecs2csnPyUJgg1FRNqpuvsDfMKDe4xxyzi179Y98I/5Ty7xrvBZ/n2P/3RzOAeh5iGX5uoPLLivWnNO+Ibv76gR/wF0296U5+KZhKwJUsBjZBd7efA83BMRZ93DQ5HVLJmGmGA+E1BKuD5IXQRDNayO2lLNnAEKcDeusw5Xpncnk5cnPra1XvgJWhRLR95IZ8MJt99ouPMShcBfCqumbcaW/rUl2NRVmDFSb+lUs1lk2mwvj2dCG5KrIh9UaBP2tse1qN3yAJ1mGww3m0Djozaxt3Bmekx8XsZajy00GYz2Vec68g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kGlDSYNct4DPzinaqo5uG5T0gmue3WXHIEVSD36hoqE=; b=QVXyyU+IzTLl/XrHNEaFBJE9cnB+wDSNsoO5O90FtgukUaR/tODcVVPayIWyxXx+KI5xfxG92Prk4uwtbrKpRAVZ0Hm5mXUFOYq6PJ5wI0CPQFPskRBOcCh3UXaWCi86A+9WEue25Ll1uVQhnhNnUXjoI1k8XKKJrsW8HMme2D1squ7aBk1ZC1aksoaVF+AK/5U9RlEUwIvci5RcfXQflFwTA3h63PR7sML0zjmjsMAtLJ+FCCnC6/pYTst7HCRQ/B/t3jUyTTXudw0X9SF/xzknjIUpn0j47XPk+4D9NoofVZvzsfsGoqEw7hlzEqmYlSeqjQHn1adr289XQRVsuQ== Received: from DBAP193MB0956.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:1c5::19) by DU2P193MB2211.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:2fe::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.31; Thu, 29 May 2025 21:38:55 +0000 Received: from DBAP193MB0956.EURP193.PROD.OUTLOOK.COM ([fe80::ed13:9f9d:e088:ae31]) by DBAP193MB0956.EURP193.PROD.OUTLOOK.COM ([fe80::ed13:9f9d:e088:ae31%3]) with mapi id 15.20.8769.022; Thu, 29 May 2025 21:38:55 +0000 From: Dmitriy Kovalenko To: =?utf-8?B?TWFydGluIFN0b3JzasO2?= Thread-Topic: [FFmpeg-devel] [PATCH 1/2] swscale: rgb_to_yuv neon optimizations Thread-Index: AQHbzyiNs+avbEkxA0S+lBEDhBz68LPp96gAgAAuIQA= Date: Thu, 29 May 2025 21:38:55 +0000 Message-ID: <2B10E794-CFC3-4CBA-9732-0E9B7C6A8CF5@outlook.com> References: <379d301d-1ee0-243a-256b-4a4b73e2ac99@martin.st> In-Reply-To: <379d301d-1ee0-243a-256b-4a4b73e2ac99@martin.st> Accept-Language: en-US, ru-RU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DBAP193MB0956:EE_|DU2P193MB2211:EE_ x-ms-office365-filtering-correlation-id: e2049d47-8639-4369-601a-08dd9ef93661 x-ms-exchange-slblob-mailprops: Cq7lScuPrnoSu68Y5FdRDlCPOBk43FEthNtKGl3veBcmBYfU2Uz+rk76HlmoqoktA4waQCAxCAdLYMsMhlHZYLbtL0eP65fxoY5F3BYds3Khxj6OsExJp8xYDvf7SuUfJgpjj0rouWYuhzBkraOp8rP7VLP/VjKl0r4d+LYYvppnEWXP/rb+WDCivw77gd8NxrVls4r4S2msJsNB+2MXd42ghet2Gn3+Wu2SiX/9qHCJZDVo2W9MX72/V1StLiXC3P8KZVCO8Kalb3+p/fFOyMI8tPPnHKiPbGNfzDfY+flXMx8hPhuSa7NXExYuh5pYp8hjMcHPRGei2nBNNWKSOxYD/wJP0f1mZz920lkID2m7hTWU1eUehI2ebOIqJv1zzSTd23cVral4pRj0DvipUQX9ovDKByT7CQLpq5C+yOZsJUHLbb20Pvt8zgb7bFo/8eaUr4YpHAuSIdHTawIaA3vf/NP7/O2DJzyyieLHTOYDi+vbFtdtmIks11yd7348OEo47wqEaZDLL9nBjFcd+c+cINJfn+KQN6YdPJRY/yCvtMdDHuMK2Tt8ZYohsWZSHzlsbyxPKggiyp9XKPH/dfr4f1JAQlLM/f3zona0sXi83L0VQWQealbIz+mDL22Lhj16v3Ny9YREb5FLdi27K0o5qvmVLlxgO/IUECpf62inWX+VwiLWmYcPvOgCIwEN71wFmxBPpNU2q+Gu97Wka/GFA/Sz9Hvzyf61pMY37e2P2owcsStyOJBnUAxzOKqSxALQBahRqqA= x-microsoft-antispam: BCL:0; ARA:14566002|19110799006|7092599006|8060799009|8062599006|15080799009|461199028|440099028|3412199025|102099032; x-microsoft-antispam-message-info: =?utf-8?B?dXR3dDJjWjNxcTVoV2ZMUHRsdjZQRW5jTlIyOGswdDlVc3dTbGI1YllqSEZC?= =?utf-8?B?SGo1WklNRjNkVm9XM2JpS1dpVDNncGxMTDNpOG12RFgvWVhRVTdDdHB6MERy?= =?utf-8?B?eFNhdW1zY0F2VTNTVnJFeVF1YSsvNjNUQTEybVpBT2hCd05RZVNhNlF0Q1pL?= =?utf-8?B?RnRIeitxSG0vcjUxdG10bjAyUW9WRlVrTEVQQlQyeGhlbVhzM3llWlFlYlha?= =?utf-8?B?WU1JSkNlOWpJRnQ0WFVhRWx4cGp2YzBHL3FkaG9Na2o4b05mYytzb2lWbGpt?= =?utf-8?B?d2wralQyOGwvVmkzMVR2RVcxLzFCVDRVVkxPSDYveENPVFhPdVRHcm5JeG1n?= =?utf-8?B?QW1XSm1wOVJyMmVKM1Z6Vnhub2hIalVTQ0JxQjg2N29HSzlLRUxVdG0rNWZH?= =?utf-8?B?T3VyWVBCc1ErcnVxVDMzUlU5NXlydGM5Qk0vNDd3OWtFNm9Pd2tBdi9lUFlY?= =?utf-8?B?K3FtWG9JY0RscTVUclFCTHQzSlRMVjdlc1l2QTN0QVo0cDlBUHdCdTVFRzJl?= =?utf-8?B?ekdxNk85Ulc3WU9QZ1F0WmhjRkFYM3FpR0hsak9KYjJBYVo5K1IrR2NzNjd3?= =?utf-8?B?NGYrR0JoQTlTdFJYelRseG42TTgxblRyRE9SQk5ZNzVMUlJFaThrVTBvTm1v?= =?utf-8?B?blkwR2NlRUxnYk05Tk1YWlIySkNWaWgzTm8vMjNLLzRISGplazV4T0FhMXdr?= =?utf-8?B?QWd1UDhIREhBMEs3SUsreG81Q2R3cnJMM0UrTCsva1I2cHZWck9CNEIxdVF2?= =?utf-8?B?SkltaXl0MFVCdlAwSkpRYWFpY29uNUdhQkw1RjcwZ2JwRjNqVmorVTA3WnJZ?= =?utf-8?B?cWhjYjVZZ1JMditGeHlEakhGUFRFaVNxdUxndXRKYUJHQWZuWEdFWTd6ZnFo?= =?utf-8?B?bVBHNjJPV3hyNC9tSDk4bjNkOWVJeExjVG44YWFqY0djOFp6WEdOZCtteldi?= =?utf-8?B?bmdMeWJkMWRncXU4aVBlR2JUSUlCQVFLUEdQWGMzOWtUbVBlNGJmNWFsdC81?= =?utf-8?B?QTQ0YmhIdnZLdGdxcGlNdXpLYWxqZm5ZUDBObnBoM01LQ0F4SzV6QUJ6TmNN?= =?utf-8?B?RnEwOTdHNHNxNk5HR0wvUGpZOFkrdEJhZW5LRkhSM21rZlJBT3kwN0pLUmV2?= =?utf-8?B?TnJyNnFQQUJ1dVRrWi9UYXdLM1dlMTV0Q1M5S0M3QXh6ZW1ScGM3SXl2TTVn?= =?utf-8?B?TmtUUldKbUxta3QyZ05YM1FNN2k1ODNuU21tVy9qaGRDR09zWXVpK25ZTmhX?= =?utf-8?B?SUhpZTNPOGczYS9xRlVEdnFXbkpEVlM5R0hQWlY5OGp1bHJDSVBmblAzcEtu?= =?utf-8?B?WnlFM2Rya2MzeUp5dytSaWlqMHBFUm5PcU1XRjRuQ1VWZTRzRXZVYjhtdDR5?= =?utf-8?B?cmJhRjRMZFlUcFJRa1VsdzJBejhWWGhiNlEvZXY2R0pzZTdid2h3MmdZUkFO?= =?utf-8?B?ZDFFdko5Y1orNnhEK0xBTEl3T0p2dm9mM2s1ZFduYVNpSFNjVTdDZWIyV1NB?= =?utf-8?Q?EfJ7L4=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NDFVWnh4OWNzaGxUcVNaenVTNXhoTzF1WlRXbGM3dXBNRTFFS2VtN1A5Mi9m?= =?utf-8?B?RllrZjdGUFA2NnpsSERIdXhYQ0NFSXFxd0ZnR1FRbVZlQXpXTlVtS2FGQlFV?= =?utf-8?B?dS9zTEU3Wlg4eCtTaHI5c3hWWTRjcW9DcVBkWGlQakhaVitNV3o3SVJSaWZi?= =?utf-8?B?dzM1WTJER290OVFZeTZZbXZ5SWlJUlZaVnE4OGtQODVnRzFhZk9IYUdmN0dt?= =?utf-8?B?SUNkd3VqSnJ1S0xPTjgvRC85UEk1WFgwSHlzdFBIV3kzNU9qaytaSkFMak16?= =?utf-8?B?ODJwcVFFTDlENWc5ZGkvV1l3K3RFeEtWeU02d3NGUTB2OFF1OU8zSWpRWVJC?= =?utf-8?B?bEdEaUVIMHVIc0pRZjYzVkUyaTlNMnNYRzl5NnkvU0R6Z1loUFhneU1JWFRX?= =?utf-8?B?aDduZ3c4WEgycFRHRWU4SmZzU09rTFRDbEJha2lsSjV5VnZQbU5QZFEzT2tD?= =?utf-8?B?cmtRSTdiMFVKcXg0THd0N24xWncrbWEzUkYyUC9naGp3UHV0eEhvTWJaQVNV?= =?utf-8?B?eklwOUZlSFIwdzhuOUI3ZlVHaGV5OVlCV1IxVTN5NjJVSFlCMXBzN2ZkOVVD?= =?utf-8?B?Tjg0bTVnU2RDWFFXMGZSV1JMbktaUVEwcFN4ZkM5VjlDdDZucjdKMkNCVXhE?= =?utf-8?B?aDhvaGovVXRzZmQ4QnFKMFVCVXZnSGRkZVNHWFNEVDB5WXVtWVptWDQzQU03?= =?utf-8?B?clVqb3JzaWlDa3lVdVVXNVVJY3NDdHlEcjk5RXRwODBZcnJlaVRkUWd3S3hQ?= =?utf-8?B?MkkzT3hLM3Z0RC9yMzFqcnZldGpXQnNsczlXcVdZQ1d6ZVdPaHdPMEx3b3A3?= =?utf-8?B?Ym8rT096T2NxeXVidm1PWVhQeFBwSUtoY0htbVdDYlBQMXV2STdOUDlPNHlN?= =?utf-8?B?ZkVheVhDRFFmNjVkK2twNEVpK3JUZE9vMmpCeVMzY2JWdUFxdys0ZEs3K1dD?= =?utf-8?B?Q20waC9naTJ3VVZoU1YyQy94ZThubnh2UVJ4QzZwZVhyUml1dWRpbWJDcW43?= =?utf-8?B?ZGo0MFFnWHRhWUtNVWlqU0MrVDFPbEdwTHErclBLdHRLbGtwUTEyc3JyaWFT?= =?utf-8?B?aU1rRDAyRVI4WmNaWXBLWTloQkFCWG5xcTRFN1BSTmNhc2E1RXdPcWhINENX?= =?utf-8?B?NkVlSGxtVUFDMnRGYTJlZk9xT29QVUdtTXdTSDhVQVRUY2VCR2NVVjdVdlY4?= =?utf-8?B?b0JlWmMyTUYwNGw1NWZTWDhOeXlkZ3dHRlFHQmhMVWZodHJheG00MjlVNFYw?= =?utf-8?B?blMvQStsV1pZZ052U3diaGVlbGRpQy9UQzRkY3hXMWVkMGhTM280OXBjVjFl?= =?utf-8?B?V1ZZeFN2aURPRmpIYXhvaVkxRFg3cWF6VkR3dGJwTDBHcStndXY0aVNuOVQ0?= =?utf-8?B?ZnpWeXAxTnRCTzVmbDV3S2MvdEd6elVDOE5pZUVYeUV4VE5zamRibDM5TTVV?= =?utf-8?B?RFUrVjJZbW1yNVZ4T0k3WTVjajJpS3JYMXUrRVZySUlKdm5NNWpPK1ZRQmZ4?= =?utf-8?B?K09zd2w4dndIRmMvQVBXR0dxTVZwMHRrZGlaWURhcDFNMnJCdVlDVFNISnEr?= =?utf-8?B?TnJRUlpsY0FOdzdiQVp4Qm9IY1J5TUVGTTZZMXFCbTh4MlR1Y0N6NFRrZmVH?= =?utf-8?B?bC8vZVAvR01ySndNcTh0M0F1VTZidUVxWWRDQ3hqbXRHZDdOUkp3bFdScSs3?= =?utf-8?Q?IiXoX+R+Yb2jysEpfECg?= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBAP193MB0956.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: e2049d47-8639-4369-601a-08dd9ef93661 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2025 21:38:55.2318 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2P193MB2211 Subject: Re: [FFmpeg-devel] [PATCH 1/2] swscale: rgb_to_yuv neon optimizations X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: SSBhcHByZWNpYXRlIHRoZSByZXZpZXcgZm9yIGJvdGggdGhlIGNvbW1pdHMuIEkgZGlkIGZpeCBh bGwgdGhlIHVucmVsYXRlZCBjaGFuZ2VzIGFuZCBpdGVyYXRlZCBpbiB0aGUgbmV3IHZlcnNpb24s IHdvdWxkIGFwcHJlY2lhdGUgdGhlIHJlYXJ2aWV3LiANCg0KPiBPbiBNYXkgMjksIDIwMjUsIGF0 IDIwOjUzLCBNYXJ0aW4gU3RvcnNqw7YgPG1hcnRpbkBtYXJ0aW4uc3Q+IHdyb3RlOg0KPiANCj4g T24gVHVlLCAyNyBNYXkgMjAyNSwgRG1pdHJpeSBLb3ZhbGVua28gd3JvdGU6DQo+IA0KPj4gVGhp cyBwYXJ0aWN1bGFyIHNldCBvZiBjaGFuZ2VzIGlzIGEgc21hbGwgaW1wcm92ZW1lbnQgdG8gYWxs IHRoZQ0KPj4gZXhpc3RpbmcgZnVuY3Rpb25zIGFuZCBtYWNyby4gVGhlIGJpZ2dlc3QgcGVyZm9y bWFuY2UgZ2FpbiBpcw0KPj4gY29taW5nIGZyb20gcG9zdCBsb2FkaW5nIGluY3JlbWVudCBvZiB0 aGUgcG9pbnRlciBhbmQgaW1tZWRpYXRlDQo+PiBwcmVmZXRjaGluZw0KPiANCj4gSG93IGNlcnRh aW4gYXJlIHlvdSBhYm91dCB0aGUgcHJlZmV0Y2hpbmcgYWN0dWFsbHkgbWFraW5nIGEgbm90YWJs ZSBkaWZmZXJlbmNlIGhlcmU/IEkgdHJpZWQgdGhpcyBwYXRjaCwgb24gYW4gTTMgUHJvLCBhbmQg SSBzZWUgbm8gZGlmZmVyZW5jZSBpbiB0aGUgYmVuY2htYXJrIG51bWJlcnMgZnJvbSBjaGVja2Fz bSBpZiBJIHJlbW92ZSB0aG9zZSBwcmVmZXRjaCBpbnN0cnVjdGlvbnMuIERvIHlvdSBoYXZlIGEg c2V0dXAgd2hlcmUgeW91IGNhbiBhY3R1YWxseSBtZWFzdXJlIHRoYXQgdGhleSBkbyBtYWtlIGEg ZGlmZmVyZW5jZT8NCj4gDQo+IFNvIGZhciwgbm90aGluZyB3aXRoaW4gZmZtcGVnIHVzZXMgcHJl ZmV0Y2ggaW5zdHJ1Y3Rpb25zIGFueXdoZXJlLCBhbmQgSSBoYXZlbid0IHNlZW4gYSBjYXNlIHdo ZXJlIHRoZXkgd291bGQgYWN0dWFsbHkgZG8gYW55dGhpbmcgYmVuZWZpY2lhbC4gKFRoZSBjb252 ZW50aW9uYWwgd2lzZG9tIEkndmUgaGVhcmQgaXMgdGhhdCB0aGV5IG1vc3RseSBkb24ndCBkbyBh bnl0aGluZyBvciBhY3R1YWxseSBlbmQgdXAgaGFybWZ1bC4gSW4gdGhpcyBjYXNlLCB0aGV5IGFs c28gYWRkIGEgZGlyZWN0IGRlcGVuZGVuY2Ugb24gdGhlIHVwZGF0ZWQgcG9pbnRlciByZWdpc3Rl ciBmcm9tIHRoZSBkaXJlY3RseSBwcmVjZWRpbmcgaW5zdHJ1Y3Rpb24sIHdoaWNoIF9pc18gaGFy bWZ1bCBvbiBpbi1vcmRlciBjb3JlcywgdW5sZXNzIGl0IGVudGlyZWx5IGlnbm9yZXMgdGhlIGlu c3RydWN0aW9uLikNCj4gDQo+PiBkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9hYXJjaDY0L2lucHV0 LlMgYi9saWJzd3NjYWxlL2FhcmNoNjQvaW5wdXQuUw0KPj4gaW5kZXggYzFjMGFkZmZjOC4uZWU4 ZWIyNGMxNCAxMDA2NDQNCj4+IC0tLSBhL2xpYnN3c2NhbGUvYWFyY2g2NC9pbnB1dC5TDQo+PiAr KysgYi9saWJzd3NjYWxlL2FhcmNoNjQvaW5wdXQuUw0KPj4gQEAgLTEsNSArMSw0IEBADQo+PiAt LyoNCj4+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMjQgWmhhbyBaaGlsaSA8cXVpbmtibGFja0Bmb3ht YWlsLmNvbT4NCj4+ICsvKiBDb3B5cmlnaHQgKGMpIDIwMjQgWmhhbyBaaGlsaSA8cXVpbmtibGFj a0Bmb3htYWlsLmNvbT4NCj4gDQo+IFRoaXMgaXMgYW4gdW5yZWxhdGVkIGNoYW5nZQ0KPiANCj4+ ICoNCj4+ICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLg0KPj4gKg0KPj4gQEAgLTU3LDIw ICs1Niw0MSBAQA0KPj4gICAgICAgIHNxc2hybjIgICAgICAgICBcZHN0XCgpLjhoLCBcZHN0Mlwo KS40cywgXHJpZ2h0X3NoaWZ0ICAgLy8gZHN0X2hpZ2hlcl9oYWxmID0gZHN0MiA+PiByaWdodF9z aGlmdA0KPj4gLmVuZG0NCj4+IA0KPj4gKy8vIGludGVybGVhdmVkIHByb2R1Y3QgdmVyc2lvbiBv ZiB0aGUgcmdiIHRvIHl1diBnaXZlcyBzbGlnaHRseSBiZXR0ZXIgcGVyZm9ybWFuY2Ugb24gbm9u LXBlcmZvcm1hbnQgbW9iaWxlDQo+PiArLm1hY3JvIHJnYl90b191dl9pbnRlcmxlYXZlZF9wcm9k dWN0IHIsIGcsIGIsIHVfY29lZjAsIHVfY29lZjEsIHVfY29lZjIsIHZfY29lZjAsIHZfY29lZjEs IHZfY29lZjIsIHVfZHN0MSwgdV9kc3QyLCB2X2RzdDEsIHZfZHN0MiwgdV9kc3QsIHZfZHN0LCBy aWdodF9zaGlmdA0KPj4gKyAgICBzbWxhbCAgIFx1X2RzdDFcKCkuNHMsIFx1X2NvZWYwXCgpLjRo LCBcclwoKS40aCAgICAgLy8gVSArPSBydSAqIHIgKGZpcnN0IDQpDQo+PiArICAgIHNtbGFsICAg XHZfZHN0MVwoKS40cywgXHZfY29lZjBcKCkuNGgsIFxyXCgpLjRoICAgICAvLyBWICs9IHJ2ICog ciAoZmlyc3QgNCkNCj4+ICsgICAgc21sYWwyICBcdV9kc3QyXCgpLjRzLCBcdV9jb2VmMFwoKS44 aCwgXHJcKCkuOGggICAgIC8vIFUgKz0gcnUgKiByIChzZWNvbmQgNCkNCj4+ICsgICAgc21sYWwy ICBcdl9kc3QyXCgpLjRzLCBcdl9jb2VmMFwoKS44aCwgXHJcKCkuOGggICAgIC8vIFYgKz0gcnYg KiByIChzZWNvbmQgNCkNCj4+ICsNCj4gDQo+IFRoZSBwYXRjaCBhZGRzIHRyYWlsaW5nIHdoaXRl c3BhY2UgaGVyZSBhbmQgaW4gbWFueSBvdGhlciBwbGFjZXM7IG1ha2Ugc3VyZSB5b3UgZG9uJ3Qg ZG8gdGhhdC4gKEl0IGlzIHZpc2libGUgYnkgZG9pbmcgZS5nLiAiZ2l0IHNob3ciLikNCj4gDQo+ IEFsc28sIGFzIGEgZ2VuZXJhbCBydWxlLCBpbmRlbnQgaW5zdHJ1Y3Rpb25zIHdpdGhpbiBtYWNy b3MgaW4gdGhlIHNhbWUgd2F5IGFzIGVsc2V3aGVyZS4NCj4gDQo+PiArICAgIHNtbGFsICAgXHVf ZHN0MVwoKS40cywgXHVfY29lZjFcKCkuNGgsIFxnXCgpLjRoICAgICAvLyBVICs9IGd1ICogZyAo Zmlyc3QgNCkNCj4+ICsgICAgc21sYWwgICBcdl9kc3QxXCgpLjRzLCBcdl9jb2VmMVwoKS40aCwg XGdcKCkuNGggICAgIC8vIFYgKz0gZ3YgKiBnIChmaXJzdCA0KQ0KPj4gKyAgICBzbWxhbDIgIFx1 X2RzdDJcKCkuNHMsIFx1X2NvZWYxXCgpLjhoLCBcZ1woKS44aCAgICAgLy8gVSArPSBndSAqIGcg KHNlY29uZCA0KQ0KPj4gKyAgICBzbWxhbDIgIFx2X2RzdDJcKCkuNHMsIFx2X2NvZWYxXCgpLjho LCBcZ1woKS44aCAgICAgLy8gViArPSBndiAqIGcgKHNlY29uZCA0KQ0KPiANCj4gSWYgeW91IHdp dGggIm5vbi1wZXJmb3JtYW50IG1vYmlsZSIgbWVhbiBzbWFsbCBpbi1vcmRlciBjb3JlcywgbW9z dCBvZiB0aGVtIGNhbiBoYW5kbGUgcmVwZWF0ZWQgYWNjdW11bGF0aW9uIGxpa2UgdGhlc2UgZXZl biBmYXN0ZXIsIGlmIHlvdSBzZXF1ZW5jZSB0aGVzZSBzbyB0aGF0IGFsbCBhY2N1bXVsYXRpb25z IHRvIG9uZSByZWdpc3RlciBpcyBzZXF1ZW50aWFsbHkuIEUuZy4gZmlyc3QgYWxsICJzbWxhbCBc dV9kc3QxXCgpLjRzIiwgZm9sbG93ZWQgYnkgYWxsICJzbWxhbCBcdV9kc3QyXCgpLjRzIiwgZm9s bG93ZWQgYnkgXHZfZHN0MSwgZm9sbG93ZWQgYnkgXHZfZHN0Mi4gSXQncyB3b3J0aCBiZW5jaG1h cmtpbmcgaWYgeW91IGRvIGhhdmUgYWNjZXNzIHRvIHN1Y2ggY29yZXMgKGUuZy4gQ29ydGV4LUE1 My9BNTU7IHBlcmhhcHMgdGhhdCdzIGFsc28gdGhlIGNhc2Ugb24gdGhlIENvcnRleC1SIHlvdSBt ZW50aW9uZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlKS4NCj4gDQo+IFRoYXQga2luZCBvZiBjb2Rl IHNlcXVlbmNlIGlzIHZlcnkgY291bnRlcmludHVpdGl2ZSwgd2hlbiBjb25zaWRlcmluZyBpbnN0 cnVjdGlvbiBzY2hlZHVsaW5nIGZvciBhbiBpbi1vcmRlciBjb3JlLCBidXQgdGhlcmUgaXMgYW4g ZXhwbGljaXQgbWVudGlvbiBvZiBpdCBpbiB0aGUgY29kZSBvcHRpbWl6YXRpb24gZ3VpZGVzIGZv ciB0aGVtOyBpdCdzIHVzdWFsbHkgd29ydGh3aGlsZSB0byB0ZXN0IG91dCBzdWNoIGEgZm9ybSBv ZiB0aGVzZSBhY2N1bXVsYXRpb25zLg0KPiANCj4+ICsNCj4+ICsgICAgc21sYWwgICBcdV9kc3Qx XCgpLjRzLCBcdV9jb2VmMlwoKS40aCwgXGJcKCkuNGggICAgIC8vIFUgKz0gYnUgKiBiIChmaXJz dCA0KQ0KPj4gKyAgICBzbWxhbCAgIFx2X2RzdDFcKCkuNHMsIFx2X2NvZWYyXCgpLjRoLCBcYlwo KS40aCAgICAgLy8gViArPSBidiAqIGIgKGZpcnN0IDQpDQo+PiArICAgIHNtbGFsMiAgXHVfZHN0 MlwoKS40cywgXHVfY29lZjJcKCkuOGgsIFxiXCgpLjhoICAgICAvLyBVICs9IGJ1ICogYiAoc2Vj b25kIDQpDQo+PiArICAgIHNtbGFsMiAgXHZfZHN0MlwoKS40cywgXHZfY29lZjJcKCkuOGgsIFxi XCgpLjhoICAgICAvLyBWICs9IGJ2ICogYiAoc2Vjb25kIDQpDQo+PiArDQo+PiArICAgIHNxc2hy biAgXHVfZHN0XCgpLjRoLCBcdV9kc3QxXCgpLjRzLCBccmlnaHRfc2hpZnQgICAvLyBVIGZpcnN0 IDQgcGl4ZWxzDQo+PiArICAgIHNxc2hybjIgXHVfZHN0XCgpLjhoLCBcdV9kc3QyXCgpLjRzLCBc cmlnaHRfc2hpZnQgICAvLyBVIGFsbCA4IHBpeGVscw0KPj4gKyAgICBzcXNocm4gIFx2X2RzdFwo KS40aCwgXHZfZHN0MVwoKS40cywgXHJpZ2h0X3NoaWZ0ICAgLy8gViBmaXJzdCA0IHBpeGVscw0K Pj4gKyAgICBzcXNocm4yIFx2X2RzdFwoKS44aCwgXHZfZHN0MlwoKS40cywgXHJpZ2h0X3NoaWZ0 ICAgLy8gViBhbGwgOCBwaXhlbHMNCj4+ICsuZW5kbQ0KPj4gKw0KPj4gLm1hY3JvIHJnYlRvWV9u ZW9uIGZtdF9iZ3IsIGZtdF9yZ2IsIGVsZW1lbnQsIGFscGhhX2ZpcnN0PTANCj4+IGZ1bmN0aW9u IGZmX1xmbXRfYmdyXCgpVG9ZX25lb24sIGV4cG9ydD0xDQo+PiAtICAgICAgICBjbXAgICAgICAg ICAgICAgdzQsICMwICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgd2lkdGggPiAwDQo+PiArICAg ICAgICBjYnogICAgICAgICAgICAgdzQsIDNmICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgd2lk dGggPiAwDQo+PiAgICAgICAgbGRwICAgICAgICAgICAgIHcxMiwgdzExLCBbeDVdICAgICAgICAg IC8vIHcxMjogcnksIHcxMTogZ3kNCj4+ICAgICAgICBsZHIgICAgICAgICAgICAgdzEwLCBbeDUs ICM4XSAgICAgICAgICAgLy8gdzEwOiBieQ0KPj4gLSAgICAgICAgYi5ndCAgICAgICAgICAgIDRm DQo+PiAtICAgICAgICByZXQNCj4+ICsgICAgICAgIGIgICAgICAgICAgICAgICA0Zg0KPj4gZW5k ZnVuYw0KPj4gDQo+PiBmdW5jdGlvbiBmZl9cZm10X3JnYlwoKVRvWV9uZW9uLCBleHBvcnQ9MQ0K Pj4gLSAgICAgICAgY21wICAgICAgICAgICAgIHc0LCAjMCAgICAgICAgICAgICAgICAgIC8vIGNo ZWNrIHdpZHRoID4gMA0KPj4gKyAgICAgICAgY2J6ICAgICAgICAgICAgIHc0LCAzZiAgICAgICAg ICAgICAgICAgIC8vIGNoZWNrIHdpZHRoID4gMA0KPj4gICAgICAgIGxkcCAgICAgICAgICAgICB3 MTAsIHcxMSwgW3g1XSAgICAgICAgICAvLyB3MTA6IHJ5LCB3MTE6IGd5DQo+PiAgICAgICAgbGRy ICAgICAgICAgICAgIHcxMiwgW3g1LCAjOF0gICAgICAgICAgIC8vIHcxMjogYnkNCj4+IC0gICAg ICAgIGIubGUgICAgICAgICAgICAzZg0KPj4gNDoNCj4+ICAgICAgICBtb3YgICAgICAgICAgICAg dzksICMyNTYgICAgICAgICAgICAgICAgLy8gdzkgPSAxIDw8IChSR0IyWVVWX1NISUZUIC0gNykN Cj4+ICAgICAgICBtb3ZrICAgICAgICAgICAgdzksICM4LCBsc2wgIzE2ICAgICAgICAgLy8gdzkg Kz0gMzIgPDwgKFJHQjJZVVZfU0hJRlQgLSAxKQ0KPj4gQEAgLTE1OCw4ICsxNzgsNyBAQCByZ2JU b1lfbmVvbiBhYmdyMzIsIGFyZ2IzMiwgZWxlbWVudD00LCBhbHBoYV9maXJzdD0xDQo+PiANCj4+ IC5tYWNybyByZ2JUb1VWX2hhbGZfbmVvbiBmbXRfYmdyLCBmbXRfcmdiLCBlbGVtZW50LCBhbHBo YV9maXJzdD0wDQo+PiBmdW5jdGlvbiBmZl9cZm10X2JnclwoKVRvVVZfaGFsZl9uZW9uLCBleHBv cnQ9MQ0KPj4gLSAgICAgICAgY21wICAgICAgICAgICAgIHc1LCAjMCAgICAgICAgICAvLyBjaGVj ayB3aWR0aCA+IDANCj4+IC0gICAgICAgIGIubGUgICAgICAgICAgICAzZg0KPj4gKyAgICAgICAg Y2J6ICAgICAgICAgICAgIHc1LCAzZiAgICAgICAgICAvLyBjaGVjayB3aWR0aCA+IDANCj4+IA0K Pj4gICAgICAgIGxkcCAgICAgICAgICAgICB3MTIsIHcxMSwgW3g2LCAjMTJdDQo+PiAgICAgICAg bGRwICAgICAgICAgICAgIHcxMCwgdzE1LCBbeDYsICMyMF0NCj4+IEBAIC0xNjgsNyArMTg3LDcg QEAgZnVuY3Rpb24gZmZfXGZtdF9iZ3JcKClUb1VWX2hhbGZfbmVvbiwgZXhwb3J0PTENCj4+IGVu ZGZ1bmMNCj4+IA0KPj4gZnVuY3Rpb24gZmZfXGZtdF9yZ2JcKClUb1VWX2hhbGZfbmVvbiwgZXhw b3J0PTENCj4+IC0gICAgICAgIGNtcCAgICAgICAgICAgICB3NSwgIzAgICAgICAgICAgLy8gY2hl Y2sgd2lkdGggPiAwDQo+PiArICAgICAgICBjbXAgICAgICAgICAgICAgdzUsICMwICAgICAgICAg ICAgICAgICAgLy8gY2hlY2sgd2lkdGggPiAwDQo+PiAgICAgICAgYi5sZSAgICAgICAgICAgIDNm DQo+PiANCj4+ICAgICAgICBsZHAgICAgICAgICAgICAgdzEwLCB3MTEsIFt4NiwgIzEyXSAgICAg Ly8gdzEwOiBydSwgdzExOiBndQ0KPj4gQEAgLTE3OCwzMiArMTk3LDQxIEBAIGZ1bmN0aW9uIGZm X1xmbXRfcmdiXCgpVG9VVl9oYWxmX25lb24sIGV4cG9ydD0xDQo+PiAgICAgICAgY21wICAgICAg ICAgICAgIHc1LCAjOA0KPj4gICAgICAgIHJnYl9zZXRfdXZfY29lZmYgaGFsZj0xDQo+PiAgICAg ICAgYi5sdCAgICAgICAgICAgIDJmDQo+PiAtMToNCj4+ICsxOiAgLy8gbG9hZCAxNiBwaXhlbHMg YW5kIHByZWZldGNoIG1lbW9yeSBmb3IgdGhlIG5leHQgYmxvY2sNCj4+ICAgIC5pZiBcZWxlbWVu dCA9PSAzDQo+PiAtICAgICAgICBsZDMgICAgICAgICAgICAgeyB2MTYuMTZiLCB2MTcuMTZiLCB2 MTguMTZiIH0sIFt4M10NCj4+ICsgICAgICAgIGxkMyAgICAgICAgICAgICB7IHYxNi4xNmIsIHYx Ny4xNmIsIHYxOC4xNmIgfSwgW3gzXSwgIzQ4DQo+PiArICAgICAgICBwcmZtICAgICAgICAgICAg cGxkbDFzdHJtLCBbeDMsICM0OF0NCj4+ICAgIC5lbHNlDQo+PiAtICAgICAgICBsZDQgICAgICAg ICAgICAgeyB2MTYuMTZiLCB2MTcuMTZiLCB2MTguMTZiLCB2MTkuMTZiIH0sIFt4M10NCj4+ICsg ICAgICAgIGxkNCAgICAgICAgICAgICB7IHYxNi4xNmIsIHYxNy4xNmIsIHYxOC4xNmIsIHYxOS4x NmIgfSwgW3gzXSwgIzY0DQo+PiArICAgICAgICBwcmZtICAgICAgICAgICAgcGxkbDFzdHJtLCBb eDMsICM2NF0NCj4+ICAgIC5lbmRpZg0KPj4gKw0KPj4gICAgLmlmIFxhbHBoYV9maXJzdA0KPj4g LSAgICAgICAgdWFkZGxwICAgICAgICAgIHYyMS44aCwgdjE5LjE2Yg0KPj4gLSAgICAgICAgdWFk ZGxwICAgICAgICAgIHYyMC44aCwgdjE4LjE2Yg0KPj4gLSAgICAgICAgdWFkZGxwICAgICAgICAg IHYxOS44aCwgdjE3LjE2Yg0KPj4gKyAgICAgICAgdWFkZGxwICAgICAgICAgIHYyMS44aCwgdjE5 LjE2YiAgICAgICAgIC8vIHYyMTogc3VtbWVkIGIgcGFpcnMNCj4+ICsgICAgICAgIHVhZGRscCAg ICAgICAgICB2MjAuOGgsIHYxOC4xNmIgICAgICAgICAvLyB2MjA6IHN1bW1lZCBnIHBhaXJzDQo+ PiArICAgICAgICB1YWRkbHAgICAgICAgICAgdjE5LjhoLCB2MTcuMTZiICAgICAgICAgLy8gdjE5 OiBzdW1tZWQgciBwYWlycw0KPj4gICAgLmVsc2UNCj4+IC0gICAgICAgIHVhZGRscCAgICAgICAg ICB2MTkuOGgsIHYxNi4xNmIgICAgICAgICAvLyB2MTk6IHINCj4+IC0gICAgICAgIHVhZGRscCAg ICAgICAgICB2MjAuOGgsIHYxNy4xNmIgICAgICAgICAvLyB2MjA6IGcNCj4+IC0gICAgICAgIHVh ZGRscCAgICAgICAgICB2MjEuOGgsIHYxOC4xNmIgICAgICAgICAvLyB2MjE6IGINCj4+ICsgICAg ICAgIHVhZGRscCAgICAgICAgICB2MTkuOGgsIHYxNi4xNmIgICAgICAgICAvLyB2MTk6IHN1bW1l ZCByIHBhaXJzDQo+PiArICAgICAgICB1YWRkbHAgICAgICAgICAgdjIwLjhoLCB2MTcuMTZiICAg ICAgICAgLy8gdjIwOiBzdW1tZWQgZyBwYWlycw0KPj4gKyAgICAgICAgdWFkZGxwICAgICAgICAg IHYyMS44aCwgdjE4LjE2YiAgICAgICAgIC8vIHYyMTogc3VtbWVkIGIgcGFpcnMNCj4+ICAgIC5l bmRpZg0KPj4gDQo+PiAtICAgICAgICByZ2JfdG9feXV2X3Byb2R1Y3QgdjE5LCB2MjAsIHYyMSwg djIyLCB2MjMsIHYxNiwgdjAsIHYxLCB2MiwgIzEwDQo+PiAtICAgICAgICByZ2JfdG9feXV2X3By b2R1Y3QgdjE5LCB2MjAsIHYyMSwgdjI0LCB2MjUsIHYxNywgdjMsIHY0LCB2NSwgIzEwDQo+PiAt ICAgICAgICBzdWIgICAgICAgICAgICAgdzUsIHc1LCAjOCAgICAgICAgICAgICAgLy8gd2lkdGgg LT0gOA0KPj4gLSAgICAgICAgYWRkICAgICAgICAgICAgIHgzLCB4MywgIygxNipcZWxlbWVudCkN Cj4+IC0gICAgICAgIGNtcCAgICAgICAgICAgICB3NSwgIzggICAgICAgICAgICAgICAgICAvLyB3 aWR0aCA+PSA4ID8NCj4+ICsgICAgICAgIG1vdiAgICAgICAgICAgICB2MjIuMTZiLCB2Ni4xNmIg ICAgICAgICAvLyBVIGZpcnN0IGhhbGYNCj4+ICsgICAgICAgIG1vdiAgICAgICAgICAgICB2MjMu MTZiLCB2Ni4xNmIgICAgICAgICAvLyBVIHNlY29uZCBoYWxmDQo+PiArICAgICAgICBtb3YgICAg ICAgICAgICAgdjI0LjE2YiwgdjYuMTZiICAgICAgICAgLy8gViBmaXJzdCBoYWxmDQo+PiArICAg ICAgICBtb3YgICAgICAgICAgICAgdjI1LjE2YiwgdjYuMTZiICAgICAgICAgLy8gViBzZWNvbmQg aGFsZg0KPj4gKw0KPj4gKyAgICAgICAgcmdiX3RvX3V2X2ludGVybGVhdmVkX3Byb2R1Y3QgdjE5 LCB2MjAsIHYyMSwgdjAsIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjIyLCB2MjMsIHYyNCwgdjI1LCB2 MTYsIHYxNywgIzEwDQo+PiArDQo+PiAgICAgICAgc3RyICAgICAgICAgICAgIHExNiwgW3gwXSwg IzE2ICAgICAgICAgIC8vIHN0b3JlIGRzdF91DQo+PiAgICAgICAgc3RyICAgICAgICAgICAgIHEx NywgW3gxXSwgIzE2ICAgICAgICAgIC8vIHN0b3JlIGRzdF92DQo+PiArDQo+PiArICAgICAgICBz dWIgICAgICAgICAgICAgdzUsIHc1LCAjOCAgICAgICAgICAgICAgLy8gd2lkdGggLT0gOA0KPj4g KyAgICAgICAgY21wICAgICAgICAgICAgIHc1LCAjOCAgICAgICAgICAgICAgICAgIC8vIHdpZHRo ID49IDggPw0KPj4gICAgICAgIGIuZ2UgICAgICAgICAgICAxYg0KPj4gLSAgICAgICAgY2J6ICAg ICAgICAgICAgIHc1LCAzZg0KPj4gLTI6DQo+PiArICAgICAgICBjYnogICAgICAgICAgICAgdzUs IDNmICAgICAgICAgICAgICAgICAgLy8gTm8gcGl4ZWxzIGxlZnQ/IEV4aXQNCj4+ICsNCj4+ICsy OiAgICAgIC8vIFNjYWxhciBmYWxsYmFjayBmb3IgcmVtYWluaW5nIHBpeGVscw0KPj4gLmlmIFxh bHBoYV9maXJzdA0KPj4gICAgICAgIHJnYl9sb2FkX2FkZF9oYWxmIDEsIDUsIDIsIDYsIDMsIDcN Cj4+IC5lbHNlDQo+PiBAQCAtMjEzLDIxICsyNDEsMjQgQEAgZnVuY3Rpb24gZmZfXGZtdF9yZ2Jc KClUb1VWX2hhbGZfbmVvbiwgZXhwb3J0PTENCj4+ICAgICAgICByZ2JfbG9hZF9hZGRfaGFsZiAw LCA0LCAxLCA1LCAyLCA2DQo+PiAgICAuZW5kaWYNCj4+IC5lbmRpZg0KPj4gLQ0KPj4gICAgICAg IHNtYWRkbCAgICAgICAgICB4OCwgdzIsIHcxMCwgeDkgICAgICAgICAvLyBkc3RfdSA9IHJ1ICog ciArIGNvbnN0X29mZnNldA0KPj4gKyAgICAgICAgc21hZGRsICAgICAgICAgIHgxNiwgdzIsIHcx MywgeDkgICAgICAgIC8vIGRzdF92ID0gcnYgKiByICsgY29uc3Rfb2Zmc2V0IChwYXJhbGxlbCkN Cj4+ICsNCj4+ICAgICAgICBzbWFkZGwgICAgICAgICAgeDgsIHc0LCB3MTEsIHg4ICAgICAgICAg Ly8gZHN0X3UgKz0gZ3UgKiBnDQo+PiArICAgICAgICBzbWFkZGwgICAgICAgICAgeDE2LCB3NCwg dzE0LCB4MTYgICAgICAgLy8gZHN0X3YgKz0gZ3YgKiBnIChwYXJhbGxlbCkNCj4+ICsNCj4+ICAg ICAgICBzbWFkZGwgICAgICAgICAgeDgsIHc3LCB3MTIsIHg4ICAgICAgICAgLy8gZHN0X3UgKz0g YnUgKiBiDQo+PiAtICAgICAgICBhc3IgICAgICAgICAgICAgeDgsIHg4LCAjMTAgICAgICAgICAg ICAgLy8gZHN0X3UgPj49IDEwDQo+PiArICAgICAgICBzbWFkZGwgICAgICAgICAgeDE2LCB3Nywg dzE1LCB4MTYgICAgICAgLy8gZHN0X3YgKz0gYnYgKiBiIChwYXJhbGxlbCkNCj4+ICsNCj4+ICsg ICAgICAgIGFzciAgICAgICAgICAgICB3OCwgdzgsICMxMCAgICAgICAgICAgICAvLyBkc3RfdSA+ Pj0gMTANCj4+ICsgICAgICAgIGFzciAgICAgICAgICAgICB3MTYsIHcxNiwgIzEwICAgICAgICAg ICAvLyBkc3RfdiA+Pj0gMTANCj4+ICsNCj4+ICAgICAgICBzdHJoICAgICAgICAgICAgdzgsIFt4 MF0sICMyICAgICAgICAgICAgLy8gc3RvcmUgZHN0X3UNCj4+IC0NCj4+IC0gICAgICAgIHNtYWRk bCAgICAgICAgICB4OCwgdzIsIHcxMywgeDkgICAgICAgICAvLyBkc3RfdiA9IHJ2ICogciArIGNv bnN0X29mZnNldA0KPj4gLSAgICAgICAgc21hZGRsICAgICAgICAgIHg4LCB3NCwgdzE0LCB4OCAg ICAgICAgIC8vIGRzdF92ICs9IGd2ICogZw0KPj4gLSAgICAgICAgc21hZGRsICAgICAgICAgIHg4 LCB3NywgdzE1LCB4OCAgICAgICAgIC8vIGRzdF92ICs9IGJ2ICogYg0KPj4gLSAgICAgICAgYXNy ICAgICAgICAgICAgIHg4LCB4OCwgIzEwICAgICAgICAgICAgIC8vIGRzdF92ID4+PSAxMA0KPj4g LSAgICAgICAgc3ViICAgICAgICAgICAgIHc1LCB3NSwgIzENCj4+IC0gICAgICAgIGFkZCAgICAg ICAgICAgICB4MywgeDMsICMoMipcZWxlbWVudCkNCj4+IC0gICAgICAgIHN0cmggICAgICAgICAg ICB3OCwgW3gxXSwgIzIgICAgICAgICAgICAvLyBzdG9yZSBkc3Rfdg0KPj4gLSAgICAgICAgY2Ju eiAgICAgICAgICAgIHc1LCAyYg0KPj4gKyAgICAgICAgc3RyaCAgICAgICAgICAgIHcxNiwgW3gx XSwgIzIgICAgICAgICAgIC8vIHN0b3JlIGRzdF92DQo+PiArDQo+PiArICAgICAgICBzdWIgICAg ICAgICAgICAgdzUsIHc1LCAjMSAgICAgICAgICAgICAgLy8gd2lkdGgtLQ0KPj4gKyAgICAgICAg YWRkICAgICAgICAgICAgIHgzLCB4MywgIygyKlxlbGVtZW50KSAgIC8vIEFkdmFuY2Ugc291cmNl IHBvaW50ZXINCj4+ICsgICAgICAgIGNibnogICAgICAgICAgICB3NSwgMmIgICAgICAgICAgICAg ICAgICAvLyBQcm9jZXNzIG5leHQgcGl4ZWwgaWYgYW55IGxlZnQNCj4+IDM6DQo+PiAgICAgICAg cmV0DQo+PiBlbmRmdW5jDQo+PiBAQCAtMjQ0LDkgKzI3NSw5IEBAIGZ1bmN0aW9uIGZmX1xmbXRf YmdyXCgpVG9VVl9uZW9uLCBleHBvcnQ9MQ0KPj4gICAgICAgIGNtcCAgICAgICAgICAgICB3NSwg IzAgICAgICAgICAgICAgICAgICAvLyBjaGVjayB3aWR0aCA+IDANCj4+ICAgICAgICBiLmxlICAg ICAgICAgICAgM2YNCj4+IA0KPj4gLSAgICAgICAgbGRwICAgICAgICAgICAgIHcxMiwgdzExLCBb eDYsICMxMl0NCj4+IC0gICAgICAgIGxkcCAgICAgICAgICAgICB3MTAsIHcxNSwgW3g2LCAjMjBd DQo+PiAtICAgICAgICBsZHAgICAgICAgICAgICAgdzE0LCB3MTMsIFt4NiwgIzI4XQ0KPj4gKyAg ICAgICAgbGRwICAgICAgICAgICAgIHcxMiwgdzExLCBbeDYsICMxMl0gICAgIC8vIGJ1LCBndQ0K Pj4gKyAgICAgICAgbGRwICAgICAgICAgICAgIHcxMCwgdzE1LCBbeDYsICMyMF0gICAgIC8vIHJ1 LCBidg0KPj4gKyAgICAgICAgbGRwICAgICAgICAgICAgIHcxNCwgdzEzLCBbeDYsICMyOF0gICAg IC8vIGd2LCBydg0KPj4gICAgICAgIGIgICAgICAgICAgICAgICA0Zg0KPj4gZW5kZnVuYw0KPj4g DQo+PiBAQCAtMjYzLDIxICsyOTQsNDggQEAgZnVuY3Rpb24gZmZfXGZtdF9yZ2JcKClUb1VWX25l b24sIGV4cG9ydD0xDQo+PiAgICAgICAgYi5sdCAgICAgICAgICAgIDJmDQo+PiAxOg0KPj4gICAg LmlmIFxhbHBoYV9maXJzdA0KPj4gLSAgICAgICAgYXJnYl90b195dXZfbG9hZF9yZ2IgeDMNCj4+ ICsgICAgICAgIGxkNCAgICAgICAgICAgICB7IHYxNi4xNmIsIHYxNy4xNmIsIHYxOC4xNmIsIHYx OS4xNmIgfSwgW3gzXSwgIzY0DQo+PiArICAgICAgICB1eHRsICAgICAgICAgICAgdjIxLjhoLCB2 MTkuOGIgICAgICAgICAgICAgLy8gdjIxOiBiDQo+PiArICAgICAgICB1eHRsMiAgICAgICAgICAg djI0LjhoLCB2MTkuMTZiICAgICAgICAgICAgLy8gdjI0OiBiDQo+PiArICAgICAgICB1eHRsICAg ICAgICAgICAgdjE5LjhoLCB2MTcuOGIgICAgICAgICAgICAgLy8gdjE5OiByDQo+PiArICAgICAg ICB1eHRsICAgICAgICAgICAgdjIwLjhoLCB2MTguOGIgICAgICAgICAgICAgLy8gdjIwOiBnDQo+ PiArICAgICAgICB1eHRsMiAgICAgICAgICAgdjIyLjhoLCB2MTcuMTZiICAgICAgICAgICAgLy8g djIyOiByDQo+PiArICAgICAgICB1eHRsMiAgICAgICAgICAgdjIzLjhoLCB2MTguMTZiICAgICAg ICAgICAgLy8gdjIzOiBnDQo+IA0KPiBUaGUgY29kZSBoZXJlLCBhbmQgYmVsb3csIGlzIGV4YWN0 bHkgdGhlIHNhbWUgYXMgYmVmb3JlLCBleGNlcHQgZm9yIHRoZSBwb3N0aW5jcmVtZW50IG9uIHRo ZSBsb2FkIChwbHVzIHRoZSBwcmVmZXRjaCkuIENhbiB3ZSBhZGQgdGhlIHBvc3RpbmNyZW1lbnQg dG8gdGhlIG1hY3JvIHJhdGhlciB0aGFuIHVubWFjcm9pbmcgdGhlIGNvZGU/DQo+IA0KPj4gICAg LmVsc2UNCj4+IC0gICAgICAgIHJnYl90b195dXZfbG9hZF9yZ2IgeDMsIFxlbGVtZW50DQo+PiAr ICAgICAgICAuaWYgXGVsZW1lbnQgPT0gMw0KPj4gKyAgICAgICAgICAgIGxkMyAgICAgICAgICAg ICB7IHYxNi4xNmIsIHYxNy4xNmIsIHYxOC4xNmIgfSwgW3gzXSwgIzQ4DQo+PiArICAgICAgICAg ICAgcHJmbSAgICAgICAgICAgIHBsZGwxc3RybSwgW3gzLCAjNDhdDQo+IA0KPiBJbnN0ZWFkIG9m IGFkZGluZyB1bnVzdWFsIGluZGVudGF0aW9uIG9mIHRoZSBpbnN0cnVjdGlvbnMgaGVyZSwgeW91 IGNvdWxkIHVzZSAyIGluc3RlYWQgb2YgNCBzcGFjZXMgZm9yIHRoZSAuaWYgZGlyZWN0aXZlcywg dG8ga2VlcCB0aGUgdmVydGljYWwgYWxpZ25tZW50IG9mIHRoZSBpbnN0cnVjdGlvbnMuDQo+IA0K Pj4gKyAgICAgICAgLmVsc2UgLy8gZWxlbWVudCA9PSA0DQo+PiArICAgICAgICAgICAgbGQ0ICAg ICAgICAgICAgIHsgdjE2LjE2YiwgdjE3LjE2YiwgdjE4LjE2YiwgdjE5LjE2YiB9LCBbeDNdLCAj NjQNCj4+ICsgICAgICAgICAgICBwcmZtICAgICAgICAgICAgcGxkbDFzdHJtLCBbeDMsICM2NF0N Cj4+ICsgICAgICAgIC5lbmRpZg0KPj4gKyAgICAgICAgdXh0bCAgICAgICAgICAgIHYxOS44aCwg djE2LjhiICAgICAgICAgICAgIC8vIHYxOTogcg0KPj4gKyAgICAgICAgdXh0bCAgICAgICAgICAg IHYyMC44aCwgdjE3LjhiICAgICAgICAgICAgIC8vIHYyMDogZw0KPj4gKyAgICAgICAgdXh0bCAg ICAgICAgICAgIHYyMS44aCwgdjE4LjhiICAgICAgICAgICAgIC8vIHYyMTogYg0KPj4gKyAgICAg ICAgdXh0bDIgICAgICAgICAgIHYyMi44aCwgdjE2LjE2YiAgICAgICAgICAgIC8vIHYyMjogcg0K Pj4gKyAgICAgICAgdXh0bDIgICAgICAgICAgIHYyMy44aCwgdjE3LjE2YiAgICAgICAgICAgIC8v IHYyMzogZw0KPj4gKyAgICAgICAgdXh0bDIgICAgICAgICAgIHYyNC44aCwgdjE4LjE2YiAgICAg ICAgICAgIC8vIHYyNDogYg0KPj4gICAgLmVuZGlmDQo+PiAtICAgICAgICByZ2JfdG9feXV2X3By b2R1Y3QgdjE5LCB2MjAsIHYyMSwgdjI1LCB2MjYsIHYxNiwgdjAsIHYxLCB2MiwgIzkNCj4+IC0g ICAgICAgIHJnYl90b195dXZfcHJvZHVjdCB2MjIsIHYyMywgdjI0LCB2MjcsIHYyOCwgdjE3LCB2 MCwgdjEsIHYyLCAjOQ0KPj4gLSAgICAgICAgcmdiX3RvX3l1dl9wcm9kdWN0IHYxOSwgdjIwLCB2 MjEsIHYyNSwgdjI2LCB2MTgsIHYzLCB2NCwgdjUsICM5DQo+PiAtICAgICAgICByZ2JfdG9feXV2 X3Byb2R1Y3QgdjIyLCB2MjMsIHYyNCwgdjI3LCB2MjgsIHYxOSwgdjMsIHY0LCB2NSwgIzkNCj4+ IC0gICAgICAgIHN1YiAgICAgICAgICAgICB3NSwgdzUsICMxNg0KPj4gLSAgICAgICAgYWRkICAg ICAgICAgICAgIHgzLCB4MywgIygxNipcZWxlbWVudCkNCj4+IC0gICAgICAgIGNtcCAgICAgICAg ICAgICB3NSwgIzE2DQo+PiAtICAgICAgICBzdHAgICAgICAgICAgICAgcTE2LCBxMTcsIFt4MF0s ICMzMiAgICAgLy8gc3RvcmUgdG8gZHN0X3UNCj4+IC0gICAgICAgIHN0cCAgICAgICAgICAgICBx MTgsIHExOSwgW3gxXSwgIzMyICAgICAvLyBzdG9yZSB0byBkc3Rfdg0KPj4gKyAgICAgICAgLy8g cHJvY2VzcyAyIGdyb3VwcyBvZiA4IHBpeGVscw0KPj4gKyAgICAgICAgbW92ICAgICAgICAgICAg IHYyNS4xNmIsIHY2LjE2YiAgICAgICAgIC8vIFVfZHN0MSA9IGNvbnN0X29mZnNldCAoMzItYml0 IGFjY3VtdWxhdG9ycykNCj4+ICsgICAgICAgIG1vdiAgICAgICAgICAgICB2MjYuMTZiLCB2Ni4x NmIgICAgICAgICAvLyBVX2RzdDIgPSBjb25zdF9vZmZzZXQNCj4+ICsgICAgICAgIG1vdiAgICAg ICAgICAgICB2MjcuMTZiLCB2Ni4xNmIgICAgICAgICAvLyBWX2RzdDEgPSBjb25zdF9vZmZzZXQN Cj4+ICsgICAgICAgIG1vdiAgICAgICAgICAgICB2MjguMTZiLCB2Ni4xNmIgICAgICAgICAvLyBW X2RzdDIgPSBjb25zdF9vZmZzZXQNCj4+ICsgICAgICAgIHJnYl90b191dl9pbnRlcmxlYXZlZF9w cm9kdWN0IHYxOSwgdjIwLCB2MjEsIHYwLCB2MSwgdjIsIHYzLCB2NCwgdjUsIHYyNSwgdjI2LCB2 MjcsIHYyOCwgdjE2LCB2MTgsICM5DQo+PiArDQo+PiArICAgICAgICBtb3YgICAgICAgICAgICAg djI1LjE2YiwgdjYuMTZiDQo+PiArICAgICAgICBtb3YgICAgICAgICAgICAgdjI2LjE2YiwgdjYu MTZiDQo+PiArICAgICAgICBtb3YgICAgICAgICAgICAgdjI3LjE2YiwgdjYuMTZiDQo+PiArICAg ICAgICBtb3YgICAgICAgICAgICAgdjI4LjE2YiwgdjYuMTZiDQo+PiArICAgICAgICByZ2JfdG9f dXZfaW50ZXJsZWF2ZWRfcHJvZHVjdCB2MjIsIHYyMywgdjI0LCB2MCwgdjEsIHYyLCB2MywgdjQs IHY1LCB2MjUsIHYyNiwgdjI3LCB2MjgsIHYxNywgdjE5LCAjOQ0KPj4gKw0KPj4gKyAgICAgICAg c3ViICAgICAgICAgICAgIHc1LCB3NSwgIzE2ICAgICAgICAgICAgIC8vIHdpZHRoIC09IDE2DQo+ PiArICAgICAgICBjbXAgICAgICAgICAgICAgdzUsICMxNiAgICAgICAgICAgICAgICAgLy8gd2lk dGggPj0gMTYgPw0KPj4gKyAgICAgICAgc3RwICAgICAgICAgICAgIHExNiwgcTE3LCBbeDBdLCAj MzIgICAgIC8vIHN0b3JlIHRvIGRzdF91IChwb3N0LWluY3JlbWVudCkNCj4+ICsgICAgICAgIHN0 cCAgICAgICAgICAgICBxMTgsIHExOSwgW3gxXSwgIzMyICAgICAvLyBzdG9yZSB0byBkc3RfdiAo cG9zdC1pbmNyZW1lbnQpDQo+PiAgICAgICAgYi5nZSAgICAgICAgICAgIDFiDQo+PiAtICAgICAg ICBjYnogICAgICAgICAgICAgdzUsIDNmDQo+PiArICAgICAgICBjYnogICAgICAgICAgICAgdzUs IDNmICAgICAgICAgICAgICAgICAgLy8gTm8gcGl4ZWxzIGxlZnQ/IEV4aXQNCj4+ICsNCj4+IDI6 DQo+PiAgICAuaWYgXGFscGhhX2ZpcnN0DQo+PiAgICAgICAgbGRyYiAgICAgICAgICAgIHcxNiwg W3gzLCAjMV0gICAgICAgICAgIC8vIHcxNjogcg0KPj4gQEAgLTI5MiwxMyArMzUwLDEzIEBAIGZ1 bmN0aW9uIGZmX1xmbXRfcmdiXCgpVG9VVl9uZW9uLCBleHBvcnQ9MQ0KPj4gICAgICAgIHNtYWRk bCAgICAgICAgICB4OCwgdzE2LCB3MTAsIHg5ICAgICAgICAvLyB4OCA9IHJ1ICogciArIGNvbnN0 X29mZnNldA0KPj4gICAgICAgIHNtYWRkbCAgICAgICAgICB4OCwgdzE3LCB3MTEsIHg4ICAgICAg ICAvLyB4OCArPSBndSAqIGcNCj4+ICAgICAgICBzbWFkZGwgICAgICAgICAgeDgsIHc0LCB3MTIs IHg4ICAgICAgICAgLy8geDggKz0gYnUgKiBiDQo+PiAtICAgICAgICBhc3IgICAgICAgICAgICAg dzgsIHc4LCAjOSAgICAgICAgICAgICAgLy8geDggPj49IDkNCj4+ICsgICAgICAgIGFzciAgICAg ICAgICAgICB4OCwgeDgsICM5ICAgICAgICAgICAgICAvLyB4OCA+Pj0gOQ0KPj4gICAgICAgIHN0 cmggICAgICAgICAgICB3OCwgW3gwXSwgIzIgICAgICAgICAgICAvLyBzdG9yZSB0byBkc3RfdQ0K PiANCj4gRG9lcyB0aGlzIG1ha2UgYW55IHByYWN0aWNhbCBkaWZmZXJlbmNlLCBhcyB3ZSdyZSBq dXN0IHN0b3JpbmcgdGhlIGxvd2VyIDMyIGJpdHMgYW55d2F5Pw0KPiANCj4gLy8gTWFydGluDQo+ IA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZp c2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==