From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id E8CCE3858C33 for ; Wed, 19 Jul 2023 16:16:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E8CCE3858C33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36JFOqmu008999; Wed, 19 Jul 2023 16:16:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=CAdgMVFreK40iaQnEU1rFiTce5TsXyKPjTg7IalWDd4=; b=uE/GHZkelI3Y9A/tKsZPTz1nefTl3KVQGxIMyVZy8yu/ll/E5cHVrxHYflTnbTSeRFER 4n/YkWvy9NnsXLZD8A8v1IDrEqhQiElhF9Ye6QR4S75reh1Pk4YTHPbuXyc78A1y6DZS 2F6ZbMpp11Ao1lK/z0fs9qjS7rxjh1zo65Z+J1axSmtadO2lmarY4SZvC0OZ114OEIVd MDSxR+EC5vnj1zgTwdyOnqUQfkQsvK+XP4LEUH9G3e3PhrFj7MDQWfbNQhSHrJAOaejp ESGZm+l9lSBdcxHSpcmHPj/R6mlmcFFTSbhYKKvHT1/0etI79bdqAiAoPOpQD2PedCu5 rw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run77yvjr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2023 16:16:08 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36JEjn54038262; Wed, 19 Jul 2023 16:16:08 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2042.outbound.protection.outlook.com [104.47.74.42]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhw73476-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2023 16:16:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mlRN3fuTSQUKnFS+0jpa8A0Px6s9QyOckZEh+AX4GsrqwFZ3OH4OkEVi4njXCT7iI3oGk1kBW2uxwj26PAbVz2hkmQ/Y8G8rU+k2KmHoxUYk26vr2FMBLQBmpHdhxkP/fkIut0WLQFGF9XvkHcOCP6XnOrz7pULxNrtpStEOWEbAXEOWk/8dVblO8+8PP+KI0TDrGMQQewGqlQkG66lDAZU+Wn8mVHprFF6WLt57l1S3GE8ZOYgPAbdstmo73c67uxxSkjWXvA50C1vX0BUOsZrfzlEGgQ3lH/oFpaGFRfDdrBLzEcSnlqPyfnBtMjw2bjx3q6bgsOIzPDr4WL6Vzg== 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=CAdgMVFreK40iaQnEU1rFiTce5TsXyKPjTg7IalWDd4=; b=X4wPt9yXM6vsPgzDr+0FOKqpHu6U/HfNE0L7IlOzuppuspwfu3FBy+vFXYhYtZv9Xo7U5wDMLkN41YYWru6AQVW7lL+tdnmW9MuVAwOlcwKJ2MQatu/NH9QtUa1NqGlFmIy7peFz0MGyxbF2nA8yS0ZezsIn89P1t1LFs6pVNcAFPK2BJpzb922rB8KoKuoB3A4txgMwe1oGh5K2/GcjXtZLjQ0xg743Vo0uBsoogLBSYWw/t/o5cmR2zhFQ9dWVkp/Bl2v9QlbsneI/53TbkUK2TeqSF+Zn9Ggn65zo+y2MslFVryAlsK7PvBa+Vk8443K2gYjtF/GT8l0TblBiKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CAdgMVFreK40iaQnEU1rFiTce5TsXyKPjTg7IalWDd4=; b=vbq/134TwCWXldVUtFMTycFICkgLM0SB9UPr2U8uCXSkpjr6iu/UUGTaELjERHLKh1KtJz7gpo+2WbehfJV0BTzYvm4wpDQiItgAIGuQgIRuWlwQu/NyQgMiKQV2IZT0Hx4Pa5AN7ebBMZAT4/r0mXZRkngggRokjUPbSn++Jh8= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SN7PR10MB6521.namprd10.prod.outlook.com (2603:10b6:806:2a4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Wed, 19 Jul 2023 16:16:05 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba%7]) with mapi id 15.20.6588.031; Wed, 19 Jul 2023 16:16:05 +0000 From: Qing Zhao To: Kees Cook , Martin Uecker CC: "joseph@codesourcery.com" , "richard.guenther@gmail.com" , "jakub@redhat.com" , "gcc-patches@gcc.gnu.org" , "siddhesh@gotplt.org" , "isanbard@gmail.com" Subject: Re: [V1][PATCH 0/3] New attribute "element_count" to annotate bounds for C99 FAM(PR108896) Thread-Topic: [V1][PATCH 0/3] New attribute "element_count" to annotate bounds for C99 FAM(PR108896) Thread-Index: AQHZjyQM4cZ0Nx0hq0Cg9tjYZZoL4q9tBmcAgEBSagCACxrkAIAGVkYAgAAnywCAAqiRAA== Date: Wed, 19 Jul 2023 16:16:05 +0000 Message-ID: <1B7B7B42-2366-4029-9A5E-13506A767228@oracle.com> References: <20230525161450.3704901-1-qing.zhao@oracle.com> <202305261218.2420AB8E0@keescook> <202307131311.1F30C4357@keescook> <202307171612.406D82C39@keescook> In-Reply-To: <202307171612.406D82C39@keescook> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.3) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|SN7PR10MB6521:EE_ x-ms-office365-filtering-correlation-id: e1d0f6f6-c6a3-4ae2-55d9-08db8873740c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3dJnLbdNZBOHpBEkhtScrgBBVga7RGN46C8dslW8vp2PdJlP662m5SvPt1n3P364P6j39k3lNJgXCfKl0KaiKey6eOPC11k8N6Qj2oh+bldiwtztI/wPcsGPxfj8Se4Y+uLRRefOVXZkhSfiUWG+hywjgIGEe2aFJn0gg3wWo96pWzBvi8fO9POq/0wwHLopXLqDLRjA/p8V/79vvQHt8XZYOZIF1wzaO7QuwshxaUraLDCia8rSWze6jakLIbnRFQgxzS1TliKK0sjCvwIyIF+vpydl4Vfh9vWS3seOUfLhbBxk7kvQzMAmcQ15lFLBOcFai2CC9Hx4JATbUGIan854xoN6mJSMH+xusCp1ChfPTHJfniWYASVo986KXAOgQLhLqeH2pcfpe+pYwb/rpEv3RWV2Y3P3WGrer0DfTcZ8N7bM/WKGwDa3DdFsSVzjdBKK8O0DvIhU0d13tgsvua7MmnQvt0Dldcc/P9XSjnpZOmyoYQsoCfXvoQA11SMDnUx22WMmxRr7evQm/rFpjxTKpfJcB7vhhRqpySxLAKRsqqeMPbHXtMKFmVaTScFs4h1gInaoyCtWuz8ttqSrgI2VqskFa4XWkQUK3715upPtYR0vUsS83ovfGBVDrotA x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4344.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(86362001)(36756003)(2906002)(33656002)(44832011)(38070700005)(2616005)(186003)(6512007)(83380400001)(6506007)(26005)(53546011)(38100700002)(6486002)(110136005)(122000001)(71200400001)(54906003)(66446008)(64756008)(91956017)(66556008)(478600001)(316002)(66946007)(66476007)(5660300002)(4326008)(76116006)(41300700001)(8936002)(8676002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QkFTWXZuUkNybWx5ZjB4T1BiVkVjSFdJOG1QN3k5ZWk2NzFtbFNoSExKZE1t?= =?utf-8?B?ZkY1MkxVK1dZelQ5alNpQWhKcEJmL3duTkhaQlJlSkJkQ05YNjNrcCtVTktz?= =?utf-8?B?aEJ2UjEvT2trVG1IUktiU243WHpKSjZ3eU1lMmkzWkRqR011aVpqeWJpTmFQ?= =?utf-8?B?endJNG1nb3VlNFp1RVd1ckRua2Y1L0h2ZGVIaCs4by9ackFpMjZzUUxqM0Jh?= =?utf-8?B?SzZ5bzQrbVI0S1dTeFlsZTB0SFBVL2JZRGQ1YldEaFB4NGNlc05pZHd5ZENM?= =?utf-8?B?QmdnODFWU2dOanFOUS9PQVRDTU9wTnpObFBhVlFFanFSVDMzS2dCU3ZVelIy?= =?utf-8?B?ekpFQnBoazhhc3hwbjFyVlBoVnRYNWhmK095OXZnWWVFVk12Tk9JZ3ltdWVj?= =?utf-8?B?blM5U1p0NWc1ZjIwVEhvQWNyNTNjblBGUnVac2V1TVU0bnlYSWFhTE1rd28x?= =?utf-8?B?Y3JkQk5kUEIrUzkrQkpyN2YzRTBPOVJsbGJ1ZlJHS3FzZzBGSzlldXJVZ2lG?= =?utf-8?B?LzJBcWZ4RWxZc1JKdFIybnZhRUR2dEhqY3hmUnNteXQ1WTZsTUF2WW1zemFv?= =?utf-8?B?Nmo1MEYwZDMwd0JOUU9mby9XdDFheHZTbTZIVWpJbGZBejQ4d2I5NVBlUGp5?= =?utf-8?B?UEFFbld0emZFMnQvZ3d4aW1NVlRETmRpUEJHT3FqZ3lBRHd5bmpjL3RaNnV2?= =?utf-8?B?VUN2WUpCRXNxYm5BbGlzcDBXTmt0aDE2Qy9qeWJtbFNZVW5MMVMwUUpoZWNU?= =?utf-8?B?c3VnQ3FmSWphL3h1SU5Md2w2dXFjbzVWTmRma3l6NFlhTVc0clVUaGJGanlj?= =?utf-8?B?QjdXemVCUDVjODZoTnpjcHhGdDJiZ1JtTHphVklRQ1drNjE5eEJacEdNVUR1?= =?utf-8?B?QWYrVC9GL1d1MEF2REpZNm44elRrRml2Yld6bU1QbXA4Y3gwQy9RT1ljcFpU?= =?utf-8?B?eXRPM3drMEUwbC93QUtyc0xDWVhaMitwTmdXcDR3bDNHOHpCRHpUc1hRZXcz?= =?utf-8?B?SENPbUp4UEw0ZDdPWlRnR3NSTDc0Q2Fia0RSZzhEMzVXTGUxcTVUSFlXMHhN?= =?utf-8?B?M1NGcUhvdnloNzdidnNaN1NNTFVjUk9LTmtVUjdhMFZCdUR3Y1E1MGR0WDZi?= =?utf-8?B?a3pBQXVBUEZrVnd0MWJjRUVsOHVnQnI0Q3d0eTUyeU1CTDhBVzF4bG4vTUE3?= =?utf-8?B?UDNoWHBreDRvT2tmcHdHVmg2bVFMenFpNk82aDVZLzByNUpQRm84RkVZYU5J?= =?utf-8?B?dnJQU1RwRFV5bWR2cVR4UDZ0bytSVmdkQmhZMnI1aU1vTk9QV1F0U21iOHY1?= =?utf-8?B?Nm1vNGNkcXczOTZmVi9qd0M4Yng5aHNJd3BxMjJ2MTBBY0ErNWdna0t4OUVM?= =?utf-8?B?alc3Z2ltOGxCbWJzNTY4YUU4dk9oaVQyWUZuOVVueXMrOSs0ajNTRnE2azZH?= =?utf-8?B?L2g3cC84T0tMc1NmRldGYU80MlVKbUg0SWNvKzEzL3RZcHduWlZMNVNUL0hp?= =?utf-8?B?anNGN2cwSnFLYlExNEUvV3Rrb29PS25QUE4vL0cxOHdyZlFLTDkvaFpRZDlo?= =?utf-8?B?eFlOVmJaTkJwRWVVVDRWZk9KQ2VlM2Ixd0NObnB6ZlpRZHdiakZCWEIyZHBE?= =?utf-8?B?V3Bndld2aU85ZFpaellRQTBjRXZFbFBrOStNdXI1VDRKZGFTVWdxZXFSL01l?= =?utf-8?B?by92MXY1WjdTMHVkaVBnajlKdUVzSERIOGJLNDU0NUlUcnJaYk1heUpseENw?= =?utf-8?B?dVVhR1gxWGhPUTBOMjMrcWw1S2NwTDJnc1FIWHl4elNEMC9NUGFlQTZQUWIw?= =?utf-8?B?ckdLR0w3YW5sVTZvek1BUFBOYytKMThsSGUzNTloQU9lcGYrSy9QTHVvTEZn?= =?utf-8?B?dEVxTEFwZ1JuaFJKQzlMdThIbUVrSWJBT2pBTmdZc25Xd1REV1IxUUQwODBZ?= =?utf-8?B?emxWamZ5RXBMaDdpVmozS0R2OTlCTVJsNUVIUE91eUhwc0tPbTlpeTFwQmZz?= =?utf-8?B?UXVaZzhPNGhhQmpsL1ZMamFjN2hRQXhxWXdHMCtYWnltRWZJcHI1OGg3YnhZ?= =?utf-8?B?Q0dobXRWREszcllrVi9xR2RmUXRBQnkyTmthRkU3ZFR3c0kzK3NpUjJyTGgx?= =?utf-8?Q?3xtlYmdqpH7NRS9hI9vRZFhVR?= Content-Type: text/plain; charset="utf-8" Content-ID: <6EF0366F37132F4DAF4C214F6433A0B2@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?cFE2aEl1dVhvN0hZbGVpTG14WTI5UjhibG4vWDdkM1FEeTZDdGZ4b2E3VzFx?= =?utf-8?B?R2toRDhKUDFpaEdkcTBHbHBUd2tXR2JhcW9rZEUrN0NhYmpHU3c4UnRqWWZG?= =?utf-8?B?RHpGT0h0OFdjdGJsQ2JDQ1lnY3JmS3ZaV0JkQ3J3TGt1OTF6eDVnYm1YZ3RB?= =?utf-8?B?aTV5SGxtaFlGV3Y2bG9WaStET2NLZ04zMGdWc1RnT0lYQy9ycEVqSHNwQzVH?= =?utf-8?B?MzY5ZkRKOG1SV0syejdnZE1hQWE2L1ZIVjg4WjROYzNoRG1KdUxSTUtvT1E3?= =?utf-8?B?ajBybFhTY3RjaEY2L09nMkIxcVlNS2RjNThEajRjWW9zUmUzY0F0TFlXaWZN?= =?utf-8?B?WDhQQk02ZXpEZlI1MzBiQm8zWS9jK0grNHFxWGJzN2ppTC9MeHAwaUdtMmN1?= =?utf-8?B?SVBBR1pYdjRKNFRPUzFFTjlLUGZRUGdRZXV2M0V1N3V6TXlWNDJsOXNQdWx5?= =?utf-8?B?a3dHYXF5N0lSbjNkVG9WWTF4bFdOT0hmNGRVK3NoL2Zrc3IvL1hLS0I4S1Vo?= =?utf-8?B?amVCbVZCWTQxS25tclNoYmZzdEUxdUlMQVhQbHQ2TXJTcXFJQk9RdEVYZW95?= =?utf-8?B?WTEvYXh0QjN2NndnY3M0Nk5ZN3pNZU5oTFVVRjFYVHM2Q0hMQStxME02VTla?= =?utf-8?B?bDM1N3pUbmZCb3gyVFc3cUU4V0JpVWZ5QkJVZFF3b2JKTU81ZDhZeVk5cXJ3?= =?utf-8?B?amIwMFNCaDIxSG52QnAwb0Q2bVlxRkRDa0IyUlFDelBIcHBXU3RuUE1JL2Zs?= =?utf-8?B?MDdYcFpMYk1ObS81Q1dtNHhlVm5IRDNtb1ZUMk9Cd3NuVFR3Nkl3RVpUOEhu?= =?utf-8?B?NmpCRzVBM25YMGs4cUhZNU9jbFJRcDA4WnRSeHJHZ1pFV2JuL3BybWhFZ3R4?= =?utf-8?B?VE1WM3F3ZHBEcCtCRHJydDBoUmZaeVY1bkRDbXNCNU1LYXlMQjZJdTBSaUVO?= =?utf-8?B?MW12THk1S3N2bXpDNENlR054MUJCMVJKQnFzZitzRVdIeFh4L25ib0c5RkhQ?= =?utf-8?B?RnlYRitRUXpCYmRPMFJHVU0xNWpaOUVMSFB3T3R0NGxFcUxkVGRLcjI0SUM4?= =?utf-8?B?TXVseU5xdlpabHhKU1dGRHlwWjI2d0VDZkE2RDNLVVlYNCtjbTVqeFM0QnZj?= =?utf-8?B?SWhUTDE0YTUrNXhhM1lIMzZNaUNkZm9xOVYySFNMa0l3bXMwa2ZzRmJib1ZJ?= =?utf-8?B?L1k3T2g5WHZtZVJJUnd3SWVsb0p4UTZUZ2UyM3h6NzV4cW5LejRDNlRXQ0JS?= =?utf-8?Q?jK2CLCp2iKQqhbB?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1d0f6f6-c6a3-4ae2-55d9-08db8873740c X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2023 16:16:05.2358 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yepyFIOO6luFBRIQlD0kU8gMRg6nInIGm/P5xd7aUwKTArAQP8edtLcfWlT4GpKDh/XNb4VqMfXPsYSyiVML0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6521 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-19_11,2023-07-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190146 X-Proofpoint-GUID: t1zTciMXq0o8QRAgstO2XQEYxF3MQKwW X-Proofpoint-ORIG-GUID: t1zTciMXq0o8QRAgstO2XQEYxF3MQKwW X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: TW9yZSB0aG91Z2h0cyBvbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUgS2VlcyBwcm92aWRlZDogDQoN Cj4gT24gSnVsIDE3LCAyMDIzLCBhdCA3OjQwIFBNLCBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9t aXVtLm9yZz4gd3JvdGU6DQo+PiANCj4+IFRoZSBjb3VudGVkX2J5IGF0dHJpYnV0ZSBpcyB1c2Vk IHRvIGFubm90YXRlIGEgRmxleGlibGUgYXJyYXkgbWVtYmVyIG9uIGhvdyBtYW55IGVsZW1lbnRz IGl0IHdpbGwgaGF2ZS4NCj4+IEhvd2V2ZXIsIGlmIHRoaXMgaW5mb3JtYXRpb24gY2FuIG5vdCBh Y2N1cmF0ZWx5IHJlZmxlY3QgdGhlIHJlYWwgbnVtYmVyIG9mIGVsZW1lbnRzIGZvciB0aGUgYXJy YXkgYWxsb2NhdGVkLCANCj4+IFdoYXTigJlzIHRoZSBwdXJwb3NlIG9mIHN1Y2ggaW5mb3JtYXRp b24/IA0KPiANCj4gRm9yIGV4YW1wbGUsIGltYWdpbmUgY29kZSB0aGF0IGFsbG9jYXRlcyBzcGFj ZSBmb3IgMTAwIGVsZW1lbnRzIHNpbmNlDQo+IHRoZSBjb21tb24gY2FzZSBpcyB0aGF0IHRoZSBu dW1iZXIgb2YgZWxlbWVudHMgd2lsbCBncm93IG92ZXIgdGltZS4NCj4gRWxlbWVudHMgYXJlIGFk ZGVkIGFzIGl0IGdvZXMuIEZvciBleGFtcGxlOg0KPiANCj4gc3RydWN0IGdyb3dzIHsNCj4gCWlu dCBhbGxvY19jb3VudDsNCj4gCWludCB2YWxpZF9jb3VudDsNCj4gCXN0cnVjdCBlbGVtZW50IGl0 ZW1bXSBfX2NvdW50ZWRfYnkodmFsaWRfY291bnQpOw0KPiB9ICpwOw0KPiANCj4gdm9pZCBzb21l dGhpbmcodm9pZCkNCj4gew0KPiAJcCA9IG1hbGxvYyhzaXplb2YoKnApICsgc2l6ZW9mKCpwLT5p dGVtKSAqIDEwMCk7DQo+IAlwLT5hbGxvY19jb3VudCA9IDEwMDsNCj4gCXAtPnZhbGlkX2NvdW50 ID0gMDsNCj4gDQo+IAkvKiB0aGlzIGxvb3AgZG9lc24ndCBjaGVjayB0aGF0IHdlIGRvbid0IGdv IG92ZXIgMTAwLiAqLw0KPiAJd2hpbGUgKGl0ZW1zX3RvX2NvcHkpIHsNCj4gCQlzdHJ1Y3QgZWxl bWVudCAqaXRlbV9wdHIgPSBnZXRfbmV4dF9pdGVtKCk7DQo+IAkJLyogX19jb3VudGVkX2J5IHN0 YXlzIGluIHN5bmM6ICovDQo+IAkJcC0+dmFsaWRfY291bnQrKzsNCj4gCQlwLT5pdGVtW3AtPnZh bGlkX2NvdW50IC0gMV0gPSAqaXRlbV9wdHI7DQo+IAl9DQo+IH0NCj4gDQo+IFdlIHdvdWxkIHdh bnQgdG8gY2F0Y2ggY2FzZXMgdGhlcmUgcC0+aXRlbVtdIGlzIGFjY2Vzc2VkIHdpdGggYW4gaW5k ZXgNCj4gdGhhdCBpcyA+PSBwLT52YWxpZF9jb3VudCwgZXZlbiB0aG91Z2ggdGhlIGFsbG9jYXRp b24gaXMgKGN1cnJlbnRseSkNCj4gbGFyZ2VyLg0KPiANCj4gSG93ZXZlciwgaWYgd2UgZXZlciBy ZWFjaGVkIHZhbGlkX2NvdW50ID49IGFsbG9jX2NvdW50LCB3ZSBuZWVkIHRvIHRyYXANCj4gdG9v LCBzaW5jZSB3ZSBjYW4gc3RpbGwgInNlZSIgdGhlIHRydWUgYWxsb2NhdGlvbiBzaXplLg0KPiAN Cj4gTm93LCB0aGUgX19hbGxvY19zaXplIGhpbnQgaXMgdmlzaWJsZSBpbiB2ZXJ5IGZldyBwbGFj ZXMsIHNvIGlmIHRoZXJlIGlzDQo+IGEgc3Ryb25nIHJlYXNvbiB0byBkbyBzbywgSSBjYW4gbGl2 ZSB3aXRoIHNheWluZyB0aGF0IF9fY291bnRlZF9ieSB0YWtlcw0KPiBmdWxsIHByZWNlZGVuY2Ug b3ZlciBfX2FsbG9jX3NpemUuIEl0IHNlZW1zIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0bw0KPiBj b21wYXJlIHdoZW4gYm90aCBhcmUgcHJlc2VudCwgYnV0IEkgY2FuIGxpdmUgd2l0aCBfX2NvdW50 ZWRfYnkgYmVpbmcNCj4gdGhlIHVuaXZlcnNhbCB0cnV0aC4gOikNCg0KSW4gdGhlIGFib3ZlIHVz ZSBjYXNlIChub3Qgc3VyZSBob3cgcG9wdWxhciBzdWNoIHVzZXIgY2FzZSBpcz8pLCB0aGUgbWFq b3IgcXVlc3Rpb25zIGFyZToNCg0KZm9yIG9uZSBvYmplY3Qgd2l0aCBmbGV4aWJsZSBhcnJheSBt ZW1iZXIsIA0KDQoxLiBTaGFsbCB3ZSBhbGxvdyB0aGUgc2l0dWF0aW9uIHdoZW4gIHRoZSBhbGxv Y2F0ZWQgc2l6ZSBmb3IgdGhlIG9iamVjdCANCmFuZCB0aGUgbnVtYmVyIG9mIGVsZW1lbnQgZm9y IHRoZSBjb250YWluZWQgRkFNIGFyZSBtaXNtYXRjaGVkPw0KDQpJZiB0aGUgYW5zd2VyIHRvIDEg aXMgWUVTICh0byBzdXBwb3J0IHN1Y2ggdXNlciBjYXNlcyksIHRoZW4NCg0KMi4gIElmIHRoZXJl IGlzIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGVzZSB0d28sIHNob3VsZCB0aGUgbnVtYmVyIG9mIGVs ZW1lbnQgaW1wYWN0IHRoZSBhbGxvY2F0ZWQNCnNpemUgZm9yIHRoZSBvYmplY3Q/IChfX2J1aWx0 aW5fb2JqZWN0X3NpemUoKSkNCg0KRnJvbSB0aGUgZG9jIG9mIG9iamVjdCBzaXplIGNoZWNraW5n OiAoaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9PYmplY3QtU2l6ZS1DaGVja2lu Zy5odG1sKQ0KDQo9PT09PQ0KQnVpbHQtaW4gRnVuY3Rpb246IHNpemVfdCBfX2J1aWx0aW5fb2Jq ZWN0X3NpemUgKGNvbnN0IHZvaWQgKiBwdHIsIGludCB0eXBlKQ0KaXMgYSBidWlsdC1pbiBjb25z dHJ1Y3QgdGhhdCByZXR1cm5zIGEgY29uc3RhbnQgbnVtYmVyIG9mIGJ5dGVzIGZyb20gcHRyIHRv IHRoZSBlbmQgb2YgdGhlIG9iamVjdCBwdHIgcG9pbnRlciBwb2ludHMgdG8gKGlmIGtub3duIGF0 IGNvbXBpbGUgdGltZSkuIFRvIGRldGVybWluZSB0aGUgc2l6ZXMgb2YgZHluYW1pY2FsbHkgYWxs b2NhdGVkIG9iamVjdHMgdGhlIGZ1bmN0aW9uIHJlbGllcyBvbiB0aGUgYWxsb2NhdGlvbiBmdW5j dGlvbnMgY2FsbGVkIHRvIG9idGFpbiB0aGUgc3RvcmFnZSB0byBiZSBkZWNsYXJlZCB3aXRoIHRo ZSBhbGxvY19zaXplIGF0dHJpYnV0ZSAoc2VlIENvbW1vbiBGdW5jdGlvbiBBdHRyaWJ1dGVzKS4g X19idWlsdGluX29iamVjdF9zaXplIG5ldmVyIGV2YWx1YXRlcyBpdHMgYXJndW1lbnRzIGZvciBz aWRlIGVmZmVjdHMuIElmIHRoZXJlIGFyZSBhbnkgc2lkZSBlZmZlY3RzIGluIHRoZW0sIGl0IHJl dHVybnMgKHNpemVfdCkgLTEgZm9yIHR5cGUgMCBvciAxIGFuZCAoc2l6ZV90KSAwIGZvciB0eXBl IDIgb3IgMy4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIG9iamVjdHMgcHRyIGNhbiBwb2ludCB0byBh bmQgYWxsIG9mIHRoZW0gYXJlIGtub3duIGF0IGNvbXBpbGUgdGltZSwgdGhlIHJldHVybmVkIG51 bWJlciBpcyB0aGUgbWF4aW11bSBvZiByZW1haW5pbmcgYnl0ZSBjb3VudHMgaW4gdGhvc2Ugb2Jq ZWN0cyBpZiB0eXBlICYgMiBpcyAwIGFuZCBtaW5pbXVtIGlmIG5vbnplcm8uIElmIGl0IGlzIG5v dCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgd2hpY2ggb2JqZWN0cyBwdHIgcG9pbnRzIHRvIGF0IGNv bXBpbGUgdGltZSwgX19idWlsdGluX29iamVjdF9zaXplIHNob3VsZCByZXR1cm4gKHNpemVfdCkg LTEgZm9yIHR5cGUgMCBvciAxIGFuZCAoc2l6ZV90KSAwIGZvciB0eXBlIDIgb3IgMy4NCg0KPT09 PT0NCg0KQmFzZWQgb24gdGhlIGN1cnJlbnQgZG9jdW1lbnRhdGlvbiBmb3IgX19ib3MsIEkgdGhp bmsgdGhhdCB0aGUgYW5zd2VyIHNob3VsZCBiZSBOTywgaS5lLCB3ZSBzaG91bGQgbm90IHVzZSB0 aGUgY291bnRlZF9ieSBpbmZvIHRvIGNoYW5nZSB0aGUgUkVBTCBhbGxvY2F0ZWQgc2l6ZSBmb3Ig dGhlIG9iamVjdC4gDQoNCg0KMy4gVGhlbiwgQXMgcG9pbnRlZCBvdXQgYWxzbyBieSBNYXJ0aW4s IG9ubHkgdGhlIGJvdW5kcyBjaGVjayAoaW5jbHVkaW5nICAtV2FycmF5LWJvdW5kcyBvciAtZnNh bml0aXplcj1ib3VuZHMpIHNob3VsZCBiZSBpbXBhY3RlZCBieSB0aGUgY291bnRlZF9ieSBpbmZv cm1hdGlvbiwgc2luY2UgdGhlc2UgY2hlY2tzIGFyZSBiYXNlZCBvbiB0aGUgVFlQRSBzeXN0ZW0s IGFuZCDigJxjb3VudGVkX2J54oCdIGluZm8gc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSBjb21wbGVt ZW50IHRvIHRoZSBUWVBFIHN5c3RlbS4gDQoNCkxldCBtZSBrbm93IHlvdXIgb3BpbmlvbnMuDQoN ClFpbmc=