From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56656 invoked by alias); 17 Aug 2015 10:49:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 56647 invoked by uid 89); 17 Aug 2015 10:49:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_50,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: na01-bn1-obe.outbound.protection.outlook.com Received: from mail-bn1bon0094.outbound.protection.outlook.com (HELO na01-bn1-obe.outbound.protection.outlook.com) (157.56.111.94) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Mon, 17 Aug 2015 10:49:33 +0000 Received: from BN1BFFO11FD004.protection.gbl (10.58.144.32) by BN1BFFO11HUB041.protection.gbl (10.58.144.188) with Microsoft SMTP Server (TLS) id 15.1.243.9; Mon, 17 Aug 2015 10:49:29 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; arm.com; dkim=none (message not signed) header.d=none; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BN1BFFO11FD004.mail.protection.outlook.com (10.58.144.67) with Microsoft SMTP Server (TLS) id 15.1.243.9 via Frontend Transport; Mon, 17 Aug 2015 10:49:29 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1ZRHyp-0007QJ-Ur; Mon, 17 Aug 2015 03:49:28 -0700 Received: from [127.0.0.1] (helo=xsj-smtp-dlp2.xlnx.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1ZRHyp-0004ct-Q1; Mon, 17 Aug 2015 03:49:27 -0700 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id t7HAn2Bx032671; Mon, 17 Aug 2015 03:49:02 -0700 Received: from [172.22.159.26] (helo=XAP-PVEXCAS02.xlnx.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1ZRHyo-0004cf-FG; Mon, 17 Aug 2015 03:49:26 -0700 Received: from XAP-PVEXMBX02.xlnx.xilinx.com ([fe80::6c95:7dae:8014:5ca1]) by XAP-PVEXCAS02.xlnx.xilinx.com ([::1]) with mapi id 14.03.0195.001; Mon, 17 Aug 2015 18:49:25 +0800 From: Ajit Kumar Agarwal To: Bin.Cheng , Richard Biener CC: Bin Cheng , GCC Patches , Vinod Kathail , Shail Aditya Gupta , Vidhumouli Hunsigida , Nagaraju Mekala Subject: RE: [PATCH GCC]Improve bound information in loop niter analysis Date: Mon, 17 Aug 2015 11:16:00 -0000 Message-ID: <37378DC5BCD0EE48BA4B082E0B55DFAA4295B753@XAP-PVEXMBX02.xlnx.xilinx.com> References: <000401d0c918$d7a2e780$86e8b680$@arm.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-RCIS-Action: ALLOW X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD004;1:sRDeW2/4Y82kzVr27igSwVY96mEb9KfLIOp4X5e0xr6MIFID7MFo7vtMOt70GSjhzKP09If5q8Y1GZirryKi9LzdJb0lbWftCWlBqNIqd8b4hvXtJ/yLqboaX2WMCh62uBFqD1tVRxRV1c8jJX5S5gVc4OCgnLBAnLZDndi0GIyB2pFALtK3Vrpd7MAYGurjUljJmeOw/aroz1dcZPrav45bQklpU9uQcEMeOCdFOJNVAT3wlZwNtEWy1ZChvngeKW2KcY15ClonAU5hwTDjQYv/yDqcnEn1JYaqqn7hxpii8dq+5xscRcKrXPKXt3873nEaf0KgLhRFhTnnJsB4BvKg+7G/lyF7303Jqqt7g2H2IHsXyMuyPSHEdi1DhMYN X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(3050300001)(199003)(13464003)(54534003)(377454003)(164054003)(377424004)(189002)(69224002)(24454002)(5001830100001)(23676002)(106116001)(5250100002)(64706001)(47776003)(5001770100001)(86362001)(5001960100002)(4001540100001)(81156007)(107886002)(87936001)(92566002)(2656002)(5003600100002)(77156002)(46102003)(50986999)(102836002)(19580395003)(62966003)(2950100001)(50466002)(2900100001)(5001860100001)(2920100001)(55846006)(54356999)(63266004)(76176999)(5890100001)(33656002)(106466001)(19580405001)(6806004)(189998001)(107986001)(4001430100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN1BFFO11HUB041;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11HUB041;2:VWg9vuRl/T5ZsrlF3cmVUzdPTlUJExVQOfSOvdJfymdi2mneHxmRq6zJVUMXqovww7h0xmiRcWkQueGAnnfSS8fHCEx8ZTlkrzvDVdARE6VaTwtKZLRHAX2YX+UWWqC6wrOOtvEzUL4r3pVC2IxCgwF79KVZSwUoKV6T6Na5EW4=;3:Cv4VE4u8kMBsBVr8vxVlsFG23ZoOd3RHzV4UQPDWIQSdNAx9AVHpfSWVDI+R7lu3/hbK9UJRyU35ToJPZzElZZkniy4Yqpxm3ZH3wYZxD/JyX8WQQXrJbKpKH/IlNOFTfdqIi9LvpgaUb2TfI6DG7ywfcah96PqnK1ghWmP9JGJ0aocXQF/3nay6TwpKMUdfjfhSnM3GndInTsDbJ9PBX1sSR+I9loL1mVtuIrc+D+s=;25:bYyIGiNYV1wRETZzPNZKqvDXP34/sxael805EAEoe2Pvvuwd+gHpb/NXcsvxZ3GdWqdByvyDZRiZv3TRPeUzmnAa5thFi6NnupQQKU6cgn+1pVivNgn5UYll7elQcQlOg6ytq56uwJMwu+SdHowy/35pzqKl9P69delV+wLtILKu152a4Vp3Yha1ujk9EE6T1ekVv87sx88ayd66IG4YWPDt9ybRdyRSxyFewGVL1v7JUXjxQDbRwil3Egngd9E2ZVDWmWxiqM6CHjzuX6o1aw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1BFFO11HUB041; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11HUB041;20:yJvNu+zZwk0SVU+FLWOWCFVCTrOHEYo6nVv31s7jpTtOjreH6r4JcS9nkfAcGvsdJc0n0J5aTSRtVC8ow5Aw/D4V+netJrIaAaMS43pWkz4cx9DO79MmmN8no0FfyRHGe5vxJMxf9RjooXnljnQf820b6scDTdO08JElpz0+r5zGH5ARuUCFprB4xBs0KV7g4Gar82nxhPhfTDS2dqUv8RQt/CBp7uAKAA24WGmEjf0CcAhnoTmDqealbwKMkfRpXChi8QFVszXxE/3QkPX+Ubhz6CpQUWTkW9Hi7yqIJk5pEgKpw/EKChJsZdBEU2qxo5/w3hm4a6F/ErnJo6HNB1CaF7F79VMtOLOxmH4j1PNObw9ybjzufa2nxmMAOblLvDmrcN7NtWBLf6e8+IrHPPc2DalnSAEJ/38IKgLJELrZfXh5q4FEVJZEz3YuC6g1D8Qvhr3MuMj6WJtbzieUcql/x7fCVR9SDk7+h9JR2BBkWjbLXpKH7NGBZK2/BcMt;4:JZPRg7pZW7C18hoz3sbvDLUHxRpwlknky7PtJ/npwXj8BaDi/b3jD5PwxMm6/EWn+MzXb2wVaMbqCPPKp3K1m5Wk+2TtYndrtdNTmVJU8EEYKVs1pPzfALFVLimpP1F1P0ypZswhmkkQwuNDVENEq9sINlWjKajgeIkvlK7JxG8lAgwp+8yLoGMTsAaCZR5aQfaUa8XQWXewOxqVwYCua35a9m58KObjueh18BYH+pYxODsNdsufApXJVfgC6hy26BgbZzZGseGM1YPwKfv9qsUS1mwVQzDJSoPQqeBPJRJbsFcGKuJobCfGAj4Fv+EpZD1VmX6DoprnJkArBhxZC/jko4rM+ByNJsUCJbB0ZNN70ICbCSuVfto+7NjFXg6F X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(8121501027)(5005006)(8121501016)(3002001);SRVR:BN1BFFO11HUB041;BCL:0;PCL:0;RULEID:;SRVR:BN1BFFO11HUB041; X-Forefront-PRVS: 0671F32598 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjFCRkZPMTFIVUIwNDE7MjM6ZVpxSzRXOW5odk1RTnFHc0ZWVFVydlN1?= =?utf-8?B?QWlrSmdiM3U2SWsvdy9aeUl0ZDZGRVQrR2VabDdBOUMwT2VkQnMyZGVaTFk4?= =?utf-8?B?ZTF2alpNK2xYVWNTRGpzV0RkWGoxYTNxbHd0Qi83RXVDWkdPbytQenhhb1JC?= =?utf-8?B?SDhaVmx2RVEySUV5TmppSTJLMExuR1ROSCt3bnJEMHNkU2VIU3VhQ1hrNTZs?= =?utf-8?B?VExCUldDT0FWRHIwekY1N1VDY3prc3FVMmtnZnd5WGFJWHBRMW9UZm5Dd0Za?= =?utf-8?B?cHJNOHVIR2hsaGhMTmRqNHNVWWJRTHpwNHd3RS9oQ0FQMXRLTDF4WDFuQmpL?= =?utf-8?B?L09Hd0VHMndXNGFseG94QmZKTkVDelBocmxPZ0ZMZzRPTEFFYm1Pb3ZUY05Q?= =?utf-8?B?UGcxbWxOc29LcWMzWXE5RHJHTG5iMXRTTVV2Z3RPWUZZTUM2NVFkY1E1ZTFI?= =?utf-8?B?ZktFWmhuN3BVZTdEczEwR29GQ3ZnZnBabGtNU1pMV2NQaVh4Vi9nYktOVWYx?= =?utf-8?B?TjNGbnJSQmZ3ZEc0Z1h3VnRuM094UTk3eG1paDYydDdXaERBNTkrTnAzS3hW?= =?utf-8?B?YWtzOXd2blZnckZIOU0yMnkvTVJqL0g4ZE5xemo2SjhPejFUS1B4ZzZGT2hu?= =?utf-8?B?ZExHK2pBQmZnTnRmRllCcVV4YjlDS3EweDk1TTBXYUs1OWt5eUkrNkJVT2xz?= =?utf-8?B?Y0IyZHpyU3pYQnM0U1dTbERqeWh4S2piUk01ay9nRGxKdWZtRkJYUnBsVWsz?= =?utf-8?B?V01ubkhvWFlLU1llR0ZKb1Y2NS9teHlJa0hlLzdqK3lQK3ZWZVNIZFdScStn?= =?utf-8?B?S3F0cmE2M2RMQVpkTm9rUTliTzZ3SFNFMHpVYjN5U0ZJcHZvNmJrcVNqbFNj?= =?utf-8?B?VEZnSWV5Z0xUbStQYldnMEE4ZXJiRUJnektEeTMwejEzRndmWHNPdWVVR3Jr?= =?utf-8?B?bTZIMTVqdXNrOVluczQyUDVIbkxnSGVDazdoSUZwTWhSR3dxM2lHdG41WWN5?= =?utf-8?B?TnVwa213Um51dzZOa2Y1aDluMGhSMVVZUitUQng3U0dmU2tiT0VoMGpGMnF6?= =?utf-8?B?VXhmU0lWQ1ROZnVBNjZQVGVmWkVNanZrU1BLb1lsYlN5aTk1WEsvMmZ0Yjdw?= =?utf-8?B?L0ZoamdkajR6SzZjcHJHWVJ1ZUdvdmRsOUhINVlKc1dpN2p2TmFqNUQyM1Zj?= =?utf-8?B?R214QlBncEwwM0tuSHBJbmI4R0NzeEduUjhEUXR5RElzUCsyMUFtYTdJZUp1?= =?utf-8?B?WjAzdkx0TGNnVERIUnlyM2hsZk1lZnhyc2ZUVTBJeFpqRjM2L2hPU2gwTzF3?= =?utf-8?B?QTlLRHFZb3g1WEVFWmJvKy9TUmVXdUtkczFielJQdTVzOFRhVDlTaHhDbi91?= =?utf-8?B?ZWRQR0JsS2lmc2NiQk52dEg2ZlNSaGVpMGMvZnpydEtZZjhKYnk1THhsNmtu?= =?utf-8?B?bmtSbFpPbFFoUktBWDU2QkhGdU9DbTgxSnlvVVdweEZqQzJSVmxicjBqYzV0?= =?utf-8?B?NGZmR252QnVweW1ZTFZRVy8vazVsbGtzalg2dkdERStqb2lXVlBHS3pxNXh5?= =?utf-8?B?WW9KUmNRNFZ6d3JaRlBpUGp5bGpjUngwVnk5empPMjJ5aVRPSkNHQXQ2VkN5?= =?utf-8?B?aU5QTkNpeHpBTjlhTk9GRm43N3U0Sk1DcXoxWmlyS3I2SXhHWllMVFZWbVk1?= =?utf-8?B?ZWQxMndjeTBRSW1xZWg3SmhlL1g3bnJqL3BOUXJ4Q1J5QUtOYlE3ZHpZdVJG?= =?utf-8?B?Z3BRU1NqMzhhZzIybHJxM1ZQREdYWlQvNVdtWjNOOWx6a3ZGZFp6T2pLMzFM?= =?utf-8?B?YkFCWVlSamRxYTlSbjdIMGJ6L2IzQnlyYU9mZVkxTmNSKythVXRaY1YzbXl2?= =?utf-8?Q?7+6oknEPN/QhQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11HUB041;5:Do6A3kSbEenF21s7hhz+5P1GxN57UImJVWdIjzrA4QWTaeVU4+V1yMG8UfSAl147T15km8NXukCbi50V/cFZIcHuT50Sgnks4Wxm/4DSoxKuFmiceFjwIBTrpuK1PjU+2+3QomSt4KQ0Q9TQfort1g==;24:Ll1+YFmwC9vMLU+DAcT/zxSz/rrHj+OBGDssFYXbR26h7yegqlv8JtNim6C2wQILrsk/uD+PanWjDJgs4AKD6GoYZQdGvrry5MMyqVLMGE4= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2015 10:49:29.4015 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1BFFO11HUB041 X-SW-Source: 2015-08/txt/msg00888.txt.bz2 QWxsOg0KDQpEb2VzIHRoZSBMb2dpYyB0byBjYWxjdWxhdGUgdGhlIExvb3Ag Ym91bmQgaW5mb3JtYXRpb24gdGhyb3VnaCBWYWx1ZSBSYW5nZSBBbmFseWlz IHVzZXMgdGhlIHBvc3QgZG9taW5hdG9yIGFuZA0KRG9taW5hdG9yIGluZm8u IFRoZSBpdGVyYXRpb24gYnJhbmNoZXMgaW5zdGVhZCBvZiBMb29wIGV4aXQg Y29uZGl0aW9uIGNhbiBiZSBjYWxjdWxhdGVkIHRocm91Z2ggcG9zdCBkb21p bmF0b3IgaW5mby4NCklmIHRoZSBub2RlIGluIHRoZSBMb29wIGhhcyB0d28g c3VjY2Vzc29ycyBhbmQgcG9zdCBkb21pbmF0ZXMgdGhlIHR3byBzdWNjZXNz b3JzIHRoZW4gdGhlIGl0ZXJhdGlvbiBicmFuY2ggY2FuIGJlDQpUaGUgc2Ft ZSBub2RlLiANCg0KRm9yIEFsbCB0aGUgbm9kZXMgTCBpbiB0aGUgTG9vcCBC DQpJZiAoTDEsIEwyICBiZWxvbmdzIHRvIHN1Y2Nlc3NvcnMgb2YgKEwpICYm IEwxLEwyIGJlbG9uZ3MgdG8gUG9zRG9tKEhlYWRlciBvZiBMb29wKSkNCnsN CiAgSSA9IEkgdW5pb24gTDENCn0NCg0KVGh1cyAiSSIgd2lsbCBoYXZlIGFs bCBzZXQgb2YgaXRlcmF0aW9uIGJyYW5jaGVzLiBUaGlzIHdpbGwgaGFuZGxl IG1vcmUgY2FzZXMgb2YgTG9vcCBib3VuZCBpbmZvcm1hdGlvbiB0aGF0IA0K V2lsbCBiZSBhY2N1cmF0ZSB0aHJvdWdoIHRoZSBleGFjdCBpdGVyYXRpb24g Y291bnQgdGhhdCBhcmUga25vd24gY2FzZXMgYWxvbmcgd2l0aCBWYWx1ZSBS YW5nZSBJbmZvcm1hdGlvbg0KV2hlcmUgdGhlIGNvbmRpdGlvbiBpcyBpbnN0 ZWFkIG5vdCB0aGUgTG9vcCBleGl0cyBidXQgb3RoZXIgbm9kZXMgaW4gdGhl IExvb3AuDQoNClRoYW5rcyAmIFJlZ2FyZHMNCkFqaXQNCiANCg0KLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGdjYy1wYXRjaGVzLW93bmVy QGdjYy5nbnUub3JnIFttYWlsdG86Z2NjLXBhdGNoZXMtb3duZXJAZ2NjLmdu dS5vcmddIE9uIEJlaGFsZiBPZiBCaW4uQ2hlbmcNClNlbnQ6IE1vbmRheSwg QXVndXN0IDE3LCAyMDE1IDM6MzIgUE0NClRvOiBSaWNoYXJkIEJpZW5lcg0K Q2M6IEJpbiBDaGVuZzsgR0NDIFBhdGNoZXMNClN1YmplY3Q6IFJlOiBbUEFU Q0ggR0NDXUltcHJvdmUgYm91bmQgaW5mb3JtYXRpb24gaW4gbG9vcCBuaXRl ciBhbmFseXNpcw0KDQpUaGFua3MgZm9yIGFsbCB5b3VyIHJldmlld3MuDQoN Ck9uIEZyaSwgQXVnIDE0LCAyMDE1IGF0IDQ6MTcgUE0sIFJpY2hhcmQgQmll bmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4gd3JvdGU6DQo+IE9u IFR1ZSwgSnVsIDI4LCAyMDE1IGF0IDExOjM2IEFNLCBCaW4gQ2hlbmcgPGJp bi5jaGVuZ0Bhcm0uY29tPiB3cm90ZToNCj4+IEhpLA0KPj4gTG9vcCBuaXRl ciBjb21wdXRlcyBpbmFjY3VyYXRlIGJvdW5kIGluZm9ybWF0aW9uIGZvciBk aWZmZXJlbnQgbG9vcHMuICANCj4+IFRoaXMgcGF0Y2ggaXMgdG8gaW1wcm92 ZSBpdCBieSB1c2luZyBsb29wIGluaXRpYWwgY29uZGl0aW9uIGluIA0KPj4g ZGV0ZXJtaW5lX3ZhbHVlX3JhbmdlLiAgR2VuZXJhbGx5LCBsb29wIG5pdGVy IGlzIGNvbXB1dGVkIGJ5IA0KPj4gc3VidHJhY3Rpbmcgc3RhcnQgdmFyIGZy b20gZW5kIHZhciBpbiBsb29wIGV4aXQgY29uZGl0aW9uLiAgTW9yZW92ZXIs IA0KPj4gbG9vcCBib3VuZCBpcyBjb21wdXRlZCB1c2luZyB2YWx1ZSByYW5n ZSBpbmZvcm1hdGlvbiBvZiBib3RoIHN0YXJ0IGFuZCBlbmQgdmFyaWFibGVz Lg0KPj4gQmFzaWMgaWRlYSBvZiB0aGlzIHBhdGNoIGlzIHRvIGNoZWNrIGlm IGxvb3AgaW5pdGlhbCBjb25kaXRpb24gDQo+PiBpbXBsaWVzIG1vcmUgcmFu Z2UgaW5mb3JtYXRpb24gZm9yIGJvdGggc3RhcnQvZW5kIHZhcmlhYmxlcy4g IElmIHllcywgDQo+PiB3ZSByZWZpbmUgcmFuZ2UgaW5mb3JtYXRpb24gYW5k IHVzZSB0aGF0IHRvIGNvbXB1dGUgbG9vcCBib3VuZC4NCj4+IFdpdGggdGhp cyBpbXByb3ZlbWVudCwgbW9yZSBhY2N1cmF0ZSBsb29wIGJvdW5kIGluZm9y bWF0aW9uIGlzIA0KPj4gY29tcHV0ZWQgZm9yIHRlc3QgY2FzZXMgYWRkZWQg YnkgdGhpcyBwYXRjaC4NCj4NCj4gKyAgICAgIGMwID0gZm9sZF9jb252ZXJ0 ICh0eXBlLCBjMCk7DQo+ICsgICAgICBjMSA9IGZvbGRfY29udmVydCAodHlw ZSwgYzEpOw0KPiArDQo+ICsgICAgICBpZiAob3BlcmFuZF9lcXVhbF9wICh2 YXIsIGMwLCAwKSkNCj4NCj4gSSBiZWxpZXZlIGlmIGMwIGlzIG5vdCBhbHJl YWR5IG9mIHR5cGUgdHlwZSBvcGVyYW5kLWVxdWFsX3Agd2lsbCBuZXZlciBz dWNjZWVkLg0KSXQncyBxdWl0ZSBzcGVjaWZpYyBjYXNlIHRhcmdldGluZyBj b21wYXJpc29uIGJldHdlZW4gdmFyIGFuZCBpdCdzIHJhbmdlIGJvdW5kcy4g IEdpdmVuIGMwIGlzIGluIGZvcm0gb2YgInZhciArIG9mZmMwIiwgdGhlbiB0 aGUgY29tcGFyaXNvbiAidmFyICsgb2ZmYzAgIT0gcmFuZ2UgYm91bmRzIiBk b2Vzbid0IGhhdmUgYW55IHVzZWZ1bCBpbmZvcm1hdGlvbi4gIE1heWJlIHVz ZWxlc3MgdHlwZSBjb252ZXJzaW9uIGNhbiBiZSBoYW5kbGVkIGhlcmUgdGhv dWdoLCBpdCBtaWdodCBiZSBldmVuIGNvcm5lciBjYXNlLg0KDQo+DQo+IChz aWRlLW5vdGU6IHdlIHNob3VsZCBnZXQgcmlkIG9mIHRoZSBHTVAgdXNlLCB0 aGF0J3MgZXhwZW5zaXZlIGFuZCBub3cgDQo+IHdlIGhhdmUgd2lkZS1pbnQg YXZhaWxhYmxlIHdoaWNoIHNob3VsZCBkbyB0aGUgdHJpY2sgYXMgd2VsbCkN Cj4NCj4gKyAgICAgICAgIC8qIENhc2Ugb2YgY29tcGFyaW5nIHdpdGggdGhl IGJvdW5kcyBvZiB0aGUgdHlwZS4gICovDQo+ICsgICAgICAgICBpZiAoVFlQ RV9NSU5fVkFMVUUgKHR5cGUpDQo+ICsgICAgICAgICAgICAgJiYgb3BlcmFu ZF9lcXVhbF9wIChjMSwgVFlQRV9NSU5fVkFMVUUgKHR5cGUpLCAwKSkNCj4g KyAgICAgICAgICAgY21wID0gR1RfRVhQUjsNCj4gKyAgICAgICAgIGlmIChU WVBFX01BWF9WQUxVRSAodHlwZSkNCj4gKyAgICAgICAgICAgICAmJiBvcGVy YW5kX2VxdWFsX3AgKGMxLCBUWVBFX01BWF9WQUxVRSAodHlwZSksIDApKQ0K PiArICAgICAgICAgICBjbXAgPSBMVF9FWFBSOw0KPg0KPiBkb24ndCB1c2Ug VFlQRV9NSU4vTUFYX1ZBTFVFLiAgSW5zdGVhZCB1c2UgdGhlIHR5cGVzIHBy ZWNpc2lvbiBhbmQgYWxsIA0KPiB3aWRlX2ludCBvcGVyYXRpb25zIChzZWUg bWF0Y2gucGQgd2k6Om1heF92YWx1ZSB1c2UpLg0KRG9uZS4NCg0KPg0KPiAr ICBlbHNlIGlmICghb3BlcmFuZF9lcXVhbF9wICh2YXIsIHZhcmMwLCAwKSkN Cj4gKyAgICBnb3RvIGVuZF8yOw0KPg0KPiBpY2sgLSBnb3RvLiAgV2UgbmVl ZCBzdGggbGlrZSBhIGF1dG9fbXB6IGNsYXNzIHdpdGggYSBkZXN0cnVjdG9y Lg0KTGFiZWwgZW5kXzIgcmVtb3ZlZC4NCg0KPg0KPiBzdHJ1Y3QgYXV0b19t cHoNCj4gew0KPiAgIGF1dG9fbXB6ICgpIHsgbXB6X2luaXQgKG1fdmFsKTsg fQ0KPiAgIH5hdXRvX21weiAoKSB7IG1wel9jbGVhciAobV92YWwpOyB9DQo+ ICAgbXB6JiBvcGVyYXRvcigpIHsgcmV0dXJuIG1fdmFsOyB9DQo+ICAgbXB6 IG1fdmFsOw0KPiB9Ow0KPg0KPj4gSXMgaXQgT0s/DQo+DQo+IEkgc2VlIHRo ZSBjb2RlIGZvbGxvd3MgZXhpc3RpbmcgcHJhY3RpY2UgaW4gbml0ZXIgYW5h bHlzaXMgZXZlbiB0aG91Z2ggDQo+IG15IG92ZXJhbGwgcGxhbiB3YXMgdG8g dHJhbnNpdGlvbiBpdHMgY29weWluZyBvZiB2YWx1ZS1yYW5nZSByZWxhdGVk IA0KPiBvcHRpbWl6YXRpb25zIHRvIHVzZSBWUlAgaW5mcmFzdHJ1Y3R1cmUu DQpZZXMsIEkgdGhpbmsgaXQncyBlYXN5IHRvIHB1c2ggaXQgdG8gVlJQIGlu ZnJhc3RydWN0dXJlLiAgQWN0dWFsbHkgZnJvbSB0aGUgbmFtZSBvZiB0aGUg ZnVuY3Rpb24sIGl0J3MgbW9yZSB2cnAgcmVsYXRlZC4gIEZvciBub3csIHRo ZSBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBieSBib3VuZF9kaWZmZXJlbmNl LCBub3Qgc28gbWFueSBhcyB2cnAgcXVlcmllcy4gIFdlIG5lZWQgY2FjaGUg ZmFjaWxpdHkgaW4gdnJwIG90aGVyd2lzZSBpdCB3b3VsZCBiZSBleHBlbnNp dmUuDQoNCj4NCj4gSSdtIHN0aWxsIG9rIHdpdGggaW1wcm92aW5nIHRoZSBl eGlzdGluZyBjb2RlIG9uIHRoZSBiYXNpcyB0aGF0IEkgDQo+IHdvbid0IGdl dCB0byB0aGF0IGZvciBHQ0MgNi4NCj4NCj4gU28gLSBvayB3aXRoIHRoZSBU WVBFX01JTi9NQVhfVkFMVUUgY2hhbmdlIHN1Z2dlc3RlZCBhYm92ZS4NCj4N Cj4gUmVmYWN0b3Jpbmcgd2l0aCBhdXRvX21weiB3ZWxjb21lLg0KVGhhdCB3 aWxsIGJlIGFuIGluZGVwZW5kZW50IHBhdGNoLCBzbyBJIHNraXBwZWQgaXQg aW4gdGhpcyBvbmUuDQoNCk5ldyB2ZXJzaW9uIGF0dGFjaGVkLiAgQm9vdHN0 cmFwIGFuZCB0ZXN0IG9uIHg4Nl82NC4NCg0KVGhhbmtzLA0KYmluDQo+DQo+ IFRoYW5rcywNCj4gUkljaGFyZC4NCj4NCj4+IFRoYW5rcywNCj4+IGJpbg0K Pj4NCj4+IDIwMTUtMDctMjggIEJpbiBDaGVuZyAgPGJpbi5jaGVuZ0Bhcm0u Y29tPg0KPj4NCj4+ICAgICAgICAgKiB0cmVlLXNzYS1sb29wLW5pdGVyLmMg KHJlZmluZV92YWx1ZV9yYW5nZV91c2luZ19ndWFyZCk6IE5ldy4NCj4+ICAg ICAgICAgKGRldGVybWluZV92YWx1ZV9yYW5nZSk6IENhbGwgcmVmaW5lX3Zh bHVlX3JhbmdlX3VzaW5nX2d1YXJkIGZvcg0KPj4gICAgICAgICBlYWNoIGxv b3AgaW5pdGlhbCBjb25kaXRpb24gdG8gaW1wcm92ZSB2YWx1ZSByYW5nZS4N Cj4+DQo+PiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZw0KPj4gMjAxNS0wNy0y OCAgQmluIENoZW5nICA8YmluLmNoZW5nQGFybS5jb20+DQo+Pg0KPj4gICAg ICAgICAqIGdjYy5kZy90cmVlLXNzYS9sb29wLWJvdW5kLTEuYzogTmV3IHRl c3QuDQo+PiAgICAgICAgICogZ2NjLmRnL3RyZWUtc3NhL2xvb3AtYm91bmQt My5jOiBOZXcgdGVzdC4NCj4+ICAgICAgICAgKiBnY2MuZGcvdHJlZS1zc2Ev bG9vcC1ib3VuZC01LmM6IE5ldyB0ZXN0Lg0K