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 CEA33385E013 for ; Mon, 29 Jan 2024 19:32:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CEA33385E013 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CEA33385E013 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706556735; cv=pass; b=BdstqC3TOHJ/XkB3vfy81dmto/muSbcyBnoU4YLwldQRMQ7SdbL7c56PSmkddTmFH6eEVOl+5Ni/oHIdVslXRgoTGqx0z9FQbhrQ4dcSZ4UUr+5Dyez1CgEBt2iex5XE54Byore2AdE68q/k4nhHfMIJBWFRb6AWp0JlDGlRe3o= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706556735; c=relaxed/simple; bh=lXjfOK+eLsRRPkhNrrNZWf97VqWHJ6Wij2vODV6pb1I=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=TbX0jTZMTE3ES8umGRh+G/LTH1ag026AXyaIbaX2Xo78Ufg9WFhN5aBdq0WIXtMjXjIchR5OufEuOepjoQFMyO720NS5GKik/Mx1fYrDrmzOy9t8iIAvvL5IiSytjuD4v5YPxawQptHzjZlsrRRs5oC7OcV4V+4M3GAQCSUW/6c= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40TGniuX026046; Mon, 29 Jan 2024 19:32:12 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-11-20; bh=lXjfOK+eLsRRPkhNrrNZWf97VqWHJ6Wij2vODV6pb1I=; b=g+DXeH8oNWR+Zcf70gtgRSp9aOmPJz4p8dE1RNMJdzx6zOu4U5QcqUrReEeR/EElWlKf Oc1HFCPiduJDFawNKSqfTRzTmlX5KYquFa53UWVQYmDYUvF0Pown6QeK5bd6onxDn9kS 4cVe7GSDWDDIw1HdwCJB5/SKnsmD7ja36iZXuDSw5WVWxceCwI6JE/UIqmWw7Pp2P0IH FomHqM/2HNfSNddG8bv300RMc2sgWC3lzGEz59qQUt/YMOSWkr26EKkHrSfmiukRkdwK M06oyjmnuZqDhHqg+/LjGfXOMRwCmpfxNRWySQOaZ05zPFwyie6vZsm9Re35p0+wAnBG yg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvre2cvfp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 29 Jan 2024 19:32:11 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40TJ1hEq035280; Mon, 29 Jan 2024 19:32:10 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2169.outbound.protection.outlook.com [104.47.56.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9c43d6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 29 Jan 2024 19:32:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hO2hcUaxDq+ClHxWqv4+tUi0a2z61Oy7wFyvrWAy9irKnKPEKxW1ghR3IpzHsGctafv6Kih88G3EJvxWs7BjomWTei2hUlIRBDKoFCiPd6ELMqambUe7se6WwrPI4gN2dcRjrW6nRhEvbI2K0PGVa5LOinEIpUxjkYijKV1koh0In5hdDqHSSPuxtQKA1EDdoHFpjeLroL+3Rrk9mxV1xApMPBGIeFDynmwnbTOgSTMoXjbUS5cLQj059LKx2bEC8Xbv5FdgU8svdmdRFoteMFmziTzXFDHMRUvkC20bImkaavsXZ5qVFGcsGQEgc3WS2xb7WxC5Q/ZM7ItnKBp/kQ== 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=lXjfOK+eLsRRPkhNrrNZWf97VqWHJ6Wij2vODV6pb1I=; b=F2FJTq0wmJtZbe7oPMMnx/yfMLLPzp+f3FIE+obfUvkwahVO5eO7f7qvHTf6KDzUHI7YLH8HPT84H2EZJFJafEGUc79PNnglNj2cIyaXenzG0wZGWb9qOU0XCD3IDyNM+BaSOH1W+VvZhr31XZyVaDLjlKlBmk/RuWu0VmbUZxNKtGTWv+53t9XdOW47ZFvzC48fdqfxQrkJ/DDODRQXIBR3FHuLHb52LpTtkh755Zsfj3jqQSFBn7Rm426kqDaRkZs/Zu0MdY8AjGJaIGiDtPM/ezqdt5EnKEkq3PMGHIWRtlgdlI0dW7o+o06lA/KySsxD5KiVlONrH7n2K2CsRQ== 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=lXjfOK+eLsRRPkhNrrNZWf97VqWHJ6Wij2vODV6pb1I=; b=L2TQfLqhoL4dMRyIsni6R+qF51QFi5DLa2Cg1VZTFZ7nWDW+YimLmjh6x4z42gdl4/708jKRe7ZAdFRVYxjQKbd6ZEFW3g13v93B0eBZVRzG6vTp6NBEE8qIXzQtNztWjgaClapRDSFO5JVcpgC5+ZZB61sDBpkJLPrhYlpLAhE= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by PH7PR10MB7851.namprd10.prod.outlook.com (2603:10b6:510:30d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Mon, 29 Jan 2024 19:32:07 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::6234:e7a1:b517:c44]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::6234:e7a1:b517:c44%6]) with mapi id 15.20.7228.029; Mon, 29 Jan 2024 19:32:06 +0000 From: Qing Zhao To: Kees Cook CC: Martin Uecker , "josmyers@redhat.com" , Richard Biener , "jakub@redhat.com" , "siddhesh@gotplt.org" , "isanbard@gmail.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v4 0/4]New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Topic: [PATCH v4 0/4]New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Index: AQHaTlx75DG1HCeLGUCpchPuevMS7bDptGoAgAFEIwCABgMxgIAAF7oAgAAjcAA= Date: Mon, 29 Jan 2024 19:32:06 +0000 Message-ID: <1373A559-FF53-47E0-B690-DB49650FA068@oracle.com> References: <20240124002955.3387096-1-qing.zhao@oracle.com> <202401241624.4DC3D829@keescook> <202401290911.FEF85CC6@keescook> In-Reply-To: <202401290911.FEF85CC6@keescook> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3731.700.6) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR10MB7957:EE_|PH7PR10MB7851:EE_ x-ms-office365-filtering-correlation-id: e08580e6-fcfa-4189-d59e-08dc2100fa82 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ILEsvw27ofGrQvOVWy0eoo4IjDlzHPHDoPZVyolGfa3BiEuUDCl/NtLQxiojvlCDsYOrM02eCDUrO48E/igJazuSKFDKXVbXxmImFxKDIZT/dOlxuVlD43oWjbqmaFVJC+mPeMvfrpdjg9EI/0vld9dj022mPINRHhPq5HsBPrNi2FfkG0s6xoN2ECcL2jpzv/GaTcsrmnYYsSGU/2DHlwu9X7FnIlNVW7Ia+i+Qz0OPGRVIMsh54yHpA4tooGtPaAPbBTBFAVrez128yu9RcoZ+IGl0LEAFhoRMYfMf8au2pFiuo2v0sdtbKuH44qxC/UryJGVtBhZxGagcfKEpQsWk15OYegqnh6jouEUge1oA80GzN8YVoLXILlO867hYG9zBTSRl/Jnr9YXGzsra/chAzc8sYtT4BRz6hfzYGWHE+2XdVjfR2V4my+nBi/AmxYsfcUgqbokBW/8dUWlKmOVrnaonfUSiEsCiq9LtgMxFsVFWyC65eoCrBhgq+fOiVtr4HBPOrnTJdt8Fo2rS32UnI4UgiM52pWAMV2m/AU6lQsJ74KGEXxogeAI5EqQ2tBrpr0zAXvSWCHZbnVgfYrmK/3C4B+bxkIxJ88Q13AUb3bHi0pnUK5zzGif8B6ez82Szba1t/AHmniKSZHt5b+nu8Wj4RTsievEucYewSONme/COjsOJAvQXWBhaR7mq x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7957.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(376002)(136003)(366004)(396003)(230173577357003)(230273577357003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(83380400001)(86362001)(6506007)(53546011)(71200400001)(6486002)(6916009)(478600001)(316002)(66946007)(66556008)(76116006)(66446008)(54906003)(64756008)(66476007)(2616005)(6512007)(8936002)(4326008)(8676002)(44832011)(38100700002)(122000001)(33656002)(5660300002)(2906002)(38070700009)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eDk3N0o3THZZZHF1Z0prOE8xYm04QXJLbWZIaUN4YTJvNEZsaXphSDRlcXhh?= =?utf-8?B?N0JSREZSdG9Qc3RxSXNrN2NSK3M1YllDUUw3NEJYRG1mRTJxZm5LbWovMEto?= =?utf-8?B?ZlR0L0NMdUdabEJISU5Ha25JbzhWZ2lra3hvdGxGdS9YMTMxenFFRHd3TEpR?= =?utf-8?B?emh1TUt1OHFaaUtIZ003ZzJlaXUzdWRHUEYxalh0L1F4dXkrZFQvb0RRZ296?= =?utf-8?B?QyszOG5EVnJja09VMllqcHhxZ1FlSW1lU2dZVFdsc0NTWnEwTVhQK0Zjb1dO?= =?utf-8?B?bGl5aWE0SDFEMEFqaVJjR09LKzBzY3dGaEtpck0zcGNkbExhUk11WWp1UjA1?= =?utf-8?B?b0Vod0F4ODRlYmp0NDZiSExUOVQwMTdDbmdldGoyeGVFazk0WmM1ZDNGUHN3?= =?utf-8?B?dXdWL2xzbVZNdHRQY3BnWmhIRmE2OWJwUmhKL1FGZUljOVo1UlhHaGJpb3FW?= =?utf-8?B?RDRJS2NaaTI0MWVLdDNrSjgwOGJqWDVzYWhRWXFXTHpjSE90dHlBQndrUW9m?= =?utf-8?B?WGJVcU80SFlyMHRVZ0s0TmpwTFhIdjA5NmhXcGpaMWlVVGtncXdkdVFtdE5E?= =?utf-8?B?WWcraXdTMHUyNXNBR0xpUGloaEJ4cGZ3OGJwQ0h1NGUyTkp4QkNvZndOeFph?= =?utf-8?B?YnU4YUE1WHRtWGdndDV4SVVSL21FTVl3M0EySmlCWkdJY2dPOExFZThLVXhC?= =?utf-8?B?NnhJRERHcGZHOEpyVC9wSDVmWFZuQXdBMGR6a0NwVWZadnRhVy9wQldaLzEv?= =?utf-8?B?NDNHbTJ1L1RNUXFhMjg0bUFYaWhGU2dXdXVKVlduT1YrTVhmQTBpNUYwTlYx?= =?utf-8?B?dU1LNkU0dW5HRXdtbXJlVXFtS0JRVFlBTGt4ZHliajAxVnduZTFsY3NMRFFK?= =?utf-8?B?c0w1ajdpQmhHU05NUmI2RHI5QStpNkx3Rks3OVRybGFWcG94UWx6akttd1ln?= =?utf-8?B?MXFBT0pJV2JYaUF4Nk9GcFlaQjI4NnZpRXh5cnVyZk15MGVlLzNINVBhSTZ3?= =?utf-8?B?Vkh0Ry82Qzh3Vjhxd1kwL1k1UGZQVGVhc2xXMVFOOENzTkVwVXpRcVVocEo3?= =?utf-8?B?eExaOXRSNndwS2VHSU9DM29hMWFuYnFmMmdNR3JNKzhwOGhVbUtDc1l2RnRE?= =?utf-8?B?MWxkSnhobXhHRnZvVEt2Z1BENElBSnFUVzFJSzg4WUE1NmJPZGRtNUxGd0Z6?= =?utf-8?B?WmYwWlE3OHI0WmQyd29VekNmbDl0MjJlN0lHM3FLT1owcFI1SCtZcWZ4amwz?= =?utf-8?B?M2RGdDBDNzVFdC9hNWJqRlBVcnVxblAvMWRFWkJwejErVVh5U3V3VWk0MDZW?= =?utf-8?B?d3hVcVNCZlNCN2ZvaEM4eGJ4NTZHWVgxdXdoQ0Ewdk16T0k4VmtUREQ5UmNK?= =?utf-8?B?d2ZUTkJ3MnBGWkZDT2JtdlVEZ0YxQXBnSHd1K1hrL2cwUUVJVEUrSzJteXFI?= =?utf-8?B?TXkzNlhaNk1XSVZsVnN6eWUxVTZPU1NiYzI1amJLbjhGMlhLSFBYSlFQY0hr?= =?utf-8?B?MzZjb05scVNhaHMxakRuUzkrZGM0cDluZDRIVld6aDl2aW43eEVkQnlVVVpQ?= =?utf-8?B?VGJ5TkRQWjZPK2xDcjNlTVR2K0lWUjE1RHJMeUJtVmdubFMrclNmY0FVazNY?= =?utf-8?B?UlQwOXpRUUliT2RYWlRVRis1WExTK3pGSW5xam1ZeUo1eXhRZlkyNVkwc0g4?= =?utf-8?B?RytZSEJuaGdrZDQ3UEpIR0RiV1JOU2hsT1cwaWFEMWRqVGpNa1BQY0pxb3RN?= =?utf-8?B?R25IK28vdWQzM2lzS3ZnRk5TdWpjOXVOMHZnK3JINU81aWlIbW5RenBIWHYx?= =?utf-8?B?REpVN1JmRG03ZE50bTRBbEh6NW5EYU4yL3FUWFlmQ2Q0dmg3T3ZjeXMyRm45?= =?utf-8?B?YWlxVmtjK1RGdDJHUGpVb0hOZGF6dVlUZGc3SnpvSWJQSHM2QklDNmgwVEtQ?= =?utf-8?B?S0VlUlJHQUpsTkVXRXdVQ0F6amw0V0s3dFhxZHVRRWVJVGpEQVZKcHdrWnQ0?= =?utf-8?B?QjVubU5EdG45SmxSd3NGb2JTcm9MWWVxbHlCb1h4VjVPeEtsVkVuM2x2ZEFO?= =?utf-8?B?bXVqQ0drMXpFRHEyOTFwNzFhQ2VUS2dYMlFQeFpPTTU4RmhFenJ1MkxvYUlm?= =?utf-8?B?MDdZRU5wNW5xb0xOSFhOUEpWK0ZzMmp1bllOSEs5UFE0TTk1bzVEekpFMHFC?= =?utf-8?Q?CQlSvBDscELpcAkRaxvQcug=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <48671561A7A72E41B8C3C5F3B6A48FC9@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: dkEpnRYpQvHkv3X+/Fsd8QR6mySO4Sv5NtZwuYxojzpsGBhtkYbd9cUo7UsVQWsIHMJCWITDFof0qdGXWtrFjfQC0D80RiN1Eh8S13aHDw/B1gMFGgKJgpT9h8b7VFLRwYaBDt1yvx7VD7fJdi/TbnLQdrZSpdaddfVTcEKIzna/6CX4D0ZQH3i/kBuvRXMazKS7fCdk+xQX+WtuLQlhQFPNYWP78CE2CCz1lz3i2ZShB0bayIIfJT5qcNXmIS60MCgjIq/2uPAvsWiy8Yrt+UN1utyq8HAlTe6/gBZg1KpkNgpOH7Ni67YhlcowdGL6bi8686W6v9ObXddFaz60QruAkIZQskxTx3k2+w+V6kziOTSl8wqXe+ETWx+ITr0x4ZToDkfFXmB8pklAITMAe6kro27fXVfca6VtDMCi49E5nnpTTF6JGfBwddkbkmlwaaypDOJn7E6O2H62rSPxuviKZfQsQs1h/iS8y7sX3th0iozCGrrAakiHjLQkK7zhAvKKaRZ5asP8wm3LTrv7Sn3x5DULQaud59Hpq9UvSXhf2mYqWvgYr/BE4kmF1o+fYScLLLPnID08FwBTq6jdvZ48yW46XxTGYtpseULX8XE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7957.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e08580e6-fcfa-4189-d59e-08dc2100fa82 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2024 19:32:06.6081 (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: 80HxdGTMydJC2OIktgETfBzLQ+wmBV6CqCmCkbu3o7CRO2PQcaWEoquySFbHRtYXXbScOBI8Wkm7+i3yGeqFxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7851 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-29_12,2024-01-29_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401290145 X-Proofpoint-GUID: o95HV4014BWQChNHF7idzmD5Hokkzi6U X-Proofpoint-ORIG-GUID: o95HV4014BWQChNHF7idzmD5Hokkzi6U X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: DQoNCj4gT24gSmFuIDI5LCAyMDI0LCBhdCAxMjoyNSBQTSwgS2VlcyBDb29rIDxrZWVzY29va0Bj aHJvbWl1bS5vcmc+IHdyb3RlOg0KPiANCj4gT24gTW9uLCBKYW4gMjksIDIwMjQgYXQgMDQ6MDA6 MjBQTSArMDAwMCwgUWluZyBaaGFvIHdyb3RlOg0KPj4gQW4gdXBkYXRlIG9uIHRoZSBrZXJuZWwg YnVpbGRpbmcgd2l0aCBteSB2ZXJzaW9uIDQgcGF0Y2guDQo+PiANCj4+IEtlZXMgcmVwb3J0ZWQg dHdvIEZFIGlzc3VlcyB3aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gNCBwYXRjaDoNCj4+IA0KPj4g MS4gVGhlIG9wZXJhdG9yIOKAnHR5cGVvZuKAnSBjYW5ub3QgcmV0dXJuIGNvcnJlY3QgdHlwZSBm b3IgYS0+YXJyYXk7DQo+PiAyLiBUaGUgb3BlcmF0b3Ig4oCcJuKAnSBjYW5ub3QgcmV0dXJuIGNv cnJlY3QgYWRkcmVzcyBmb3IgYS0+YXJyYXk7DQo+PiANCj4+IEkgZml4ZWQgYm90aCBpbiBteSBs b2NhbCByZXBvc2l0b3J5LiANCj4+IA0KPj4gV2l0aCB0aGVzZSBhZGRpdGlvbmFsIGZpeC4gIEtl cm5lbCB3aXRoIGNvdW50ZWQtYnkgYW5ub3RhdGlvbiBjYW4gYmUgYnVpbHQgc3VjY2Vzc2Z1bGx5 LiANCj4gDQo+IFRoYW5rcyBmb3IgdGhlIGZpeGVzIQ0KPiANCj4+IA0KPj4gQW5kIHRoZW4sIEtl ZXMgcmVwb3J0ZWQgb25lIGJlaGF2aW9yYWwgaXNzdWUgd2l0aCB0aGUgY3VycmVudCBjb3VudGVk LWJ5Og0KPj4gDQo+PiBXaGVuIHRoZSBjb3VudGVkLWJ5IHZhbHVlIGlzIGJlbG93IHplcm8sIG15 IGN1cnJlbnQgcGF0Y2ggDQo+PiANCj4+IEEuIERpZG7igJl0IHJlcG9ydCBhbnkgd2FybmluZyBm b3IgaXQuDQo+PiBCLiBBY2NlcHRlZCB0aGUgbmVnYXRpdmUgdmFsdWUgYXMgYSB3cmFwcGVkIHNp emUuDQo+PiANCj4+IGkuZS4gZm9yOg0KPj4gDQo+PiBzdHJ1Y3QgZm9vIHsNCj4+IHNpZ25lZCBj aGFyIHNpemU7DQo+PiB1bnNpZ25lZCBjaGFyIGFycmF5W10gX19jb3VudGVkX2J5KHNpemUpOw0K Pj4gfSAqYTsNCj4+IA0KPj4gLi4uDQo+PiBhLT5zaXplID0gLTM7DQo+PiByZXBvcnQoX19idWls dGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDEpKTsNCj4+IA0KPj4gdGhpcyByZXBv cnRzIDI1MywgcmF0aGVyIHRoYW4gMC4NCj4+IA0KPj4gQW5kIHRoZSBhcnJheS1ib3VuZHMgc2Fu aXRpemVyIGRvZXNu4oCZdCBjYXRjaCBuZWdhdGl2ZSBpbmRleCBib3VuZHMgbmVpdGhlci4gDQo+ PiANCj4+IGEtPnNpemUgPSAtMzsNCj4+IHJlcG9ydChhLT5hcnJheVsxXSk7IC8vIGRvZXMgbm90 IHRyYXANCj4+IA0KPj4gDQo+PiBTbywgbXkgcXVlc3Rpb25zIGFyZToNCj4+IA0KPj4gSG93IHNo b3VsZCB3ZSBoYW5kbGUgdGhlIG5lZ2F0aXZlIGNvdW50ZWQtYnkgdmFsdWU/DQo+IA0KPiBUcmVh dCBpdCBhcyBhbHdheXMgMC1ib3VuZGVkOiBjb3VudCA8IDAgPyAwIDogY291bnQNCg0KVGhlbiB0 aGUgc2l6ZSBvZiB0aGUgb2JqZWN0IGlzIDA/DQoNCj4gDQo+PiANCj4+IE15IGFwcHJvYWNoIGlz Og0KPj4gDQo+PiAgIEkgdGhpbmsgdGhhdCB0aGlzIGlzIGEgdXNlciBlcnJvciwgdGhlIGNvbXBp bGVyIG5lZWQgdG8gSXNzdWUgd2FybmluZyBkdXJpbmcgcnVudGltZSBhYm91dCB0aGlzIHVzZXIg ZXJyb3IuDQo+PiANCj4+IFNpbmNlIEkgaGF2ZSBvbmUgcmVtYWluaW5nIHBhdGNoIHRoYXQgaGFz IG5vdCBiZWVuIGZpbmlzaGVkIHlldDoNCj4+IA0KPj4gNiAgRW1pdCB3YXJuaW5ncyB3aGVuIHRo ZSB1c2VyIGJyZWFrcyB0aGUgcmVxdWlybWVudHMgZm9yIHRoZSBuZXcgY291bnRlZF9ieSBhdHRy aWJ1dGUNCj4+ICBjb21waWxhdGlvbiB0aW1lOiAtV2NvdW50ZWQtYnkNCj4+ICBydW4gdGltZTog LWZzYW5pdGl6ZXI9Y291bnRlZC1ieQ0KPj4gICAgICogVGhlIGluaXRpYWxpemF0aW9uIHRvIHRo ZSBzaXplIGZpZWxkIHNob3VsZCBiZSBkb25lIGJlZm9yZSB0aGUgZmlyc3QgcmVmZXJlbmNlIHRv IHRoZSBGQU0gZmllbGQuDQo+IA0KPiBJIHdvdWxkIGhvcGUgdGhhdCByZWd1bGFyIGNvbXBpbGUt dGltZSB3YXJuaW5ncyB3b3VsZCBjYXRjaCB0aGlzLg0KSWYgdGhlIHZhbHVlIGlzIGtub3duIGF0 IGNvbXBpbGUtdGltZSwgdGhlbiBjb21waWxlLXRpbWUgc2hvdWxkIGNhdGNoIGl0Lg0KDQo+IA0K Pj4gICAgICogdGhlIGFycmF5IGhhcyBhdCBsZWFzdCAjIG9mIGVsZW1lbnRzIHNwZWNpZmllZCBi eSB0aGUgc2l6ZSBmaWVsZCBhbGwgdGhlIHRpbWUgZHVyaW5nIHRoZSBwcm9ncmFtLg0KPj4gICAg ICogdGhlIHZhbHVlIG9mIGNvdW50ZWQtYnkgc2hvdWxkIG5vdCBiZSBuZWdhdGl2ZS4NCj4gDQo+ IFRoaXMgc2VlbXMgcmVhc29uYWJsZSBmb3IgYSB2ZXJ5IHN0cmljdCBwcm9ncmFtLCBidXQgaXQg d29uJ3Qgd29yayBmb3INCj4gdGhlIGtlcm5lbCBhcy1pczogYSBuZWdhdGl2ZSAiY291bnQiIGlz IHNvbWV0aW1lcyB1c2VkIHRvIGNhcnJ5IGZhaWx1cmUNCj4gZGV0YWlscyBiYWNrIHRvIG90aGVy IHVzZXJzIG9mIHRoZSBzdHJ1Y3R1cmUuIFRoaXMgY291bGQgYmUgcmVmYWN0b3JlZCBpbg0KPiB0 aGUga2VybmVsLCBidXQgSSdkIHByZWZlciB0aGF0IGV2ZW4gd2l0aG91dCAtZnNhbml0aXplcj1j b3VudGVkLWJ5IHRoZQ0KPiBydW50aW1lIGJlaGF2aW9ycyB3aWxsIGJlICJzYWZlIi4NCg0KU28s IEluIHRoZSBrZXJuZWzigJlzIHNvdXJjZSBjb2RlLCBmb3IgZXhhbXBsZToNCg0Kc3RydWN0IGZv byB7DQogIGludCBjb3VudDsNCiAgc2hvcnQgYXJyYXlbXSBfX2NvdW50ZWRfYnkoY291bnQpOw0K fTsNCg0KVGhlIGZpZWxkIOKAnGNvdW504oCdIHdpbGwgYmUgdXNlZCBmb3IgdHdvIHB1cnBvc2Vz Og0KQS4gQXMgdGhlIGNvdW50ZWRfYnkgZm9yIHRoZSDigJxhcnJheeKAnSB3aGVuIGl0cyB2YWx1 ZSA+IDA7DQpCLiBBcyBhbiBlcnJubyB3aGVuIGl0cyB2YWx1ZSA8IDA7ICB1bmRlciBzdWNoIGNv bmRpdGlvbiwgdGhlIHNpemUgb2Yg4oCcYXJyYXnigJ0gaXMgemVyby4gDQoNCklzIHRoZSB1bmRl cnN0YW5kaW5nIGNvcnJlY3Q/DQoNCklzIGRvaW5nIHRoaXMgZm9yIHNhdmluZyBzcGFjZT8gIChD dXJpb3VzIC06KQ0KDQoNCj4gDQo+IEl0IGRvZXMgbm90IHNlZW0gc2Vuc2libGUgdG8gbWUgdGhh dCBhZGRpbmcgYSBidWZmZXIgc2l6ZSB2YWxpZGF0aW9uDQo+IHByaW1pdGl2ZSB0byBHQ0Mgd2ls bCByZXN1bHQgaW4gY29uZGl0aW9ucyB3aGVyZSBhIHNpemUgY2FsY3VsYXRpb24NCj4gd2lsbCB3 cmFwIGFyb3VuZC4gSSBwcmVmZXIgbm8gc3VycHJpc2VzLiA6KQ0KDQpNaWdodCBiZSBhIGJ1ZyBo ZXJlLiBJIGd1ZXNzLiANCj4gDQo+PiBMZXQgbWUga25vdyB5b3VyIGNvbW1lbnQgYW5kIHN1Z2dl c3Rpb25zLg0KPiANCj4gQ2xhbmcgaGFzIGltcGxlbWVudGVkIHRoZSBzYWZldHkgbG9naWMgSSdk IHByZWZlcjoNCj4gDQo+ICogX19iZG9zIHdpbGwgcmVwb3J0IDAgZm9yIGFueSBzaXppbmcgd2hl cmUgdGhlICJjb3VudGVkX2J5IiBjb3VudA0KPiAgdmFyaWFibGUgaXMgbmVnYXRpdmUuIEVmZmVj dGl2ZWx5LCB0aGUgY291bnQgdmFyaWFibGUgaXMgYWx3YXlzDQo+ICBwcm9jZXNzZWQgYXM6IGNv dW50IDwgMCA/IDAgOiBjb3VudA0KPiANCj4gIHN0cnVjdCBmb28gew0KPiBpbnQgY291bnQ7DQo+ IHNob3J0IGFycmF5W10gX19jb3VudGVkX2J5KGNvdW50KTsNCj4gIH0gKnA7DQo+IA0KPiAgX19i ZG9zKHAtPmFycmF5LCAxKSA9PT4gc2l6ZW9mKCpwLT5hcnJheSkgKiAoY291bnQgPCAwID8gMCA6 IGNvdW50KQ0KDQpOT1RFLCAgX19iZG8gd2lsbCB1c2UgdmFsdWUgMCBhcyBVTktOT1dOX1NJWkUg Zm9yIE1JTk1VTSBTSVpFIHF1ZXJ5LCBpLmU6DQoNCnNpemVfdCBfX2J1aWx0aW5fb2JqZWN0X3Np emUgKGNvbnN0IHZvaWQgKiBwdHIsIGludCB0eXBlKQ0KDQpXaWxsIHJldHVybiAwIGFzIFVOS05P V19TSVpFIHdoZW4gdHlwZT0gMiBvciAzLg0KDQpTbywgSSBhbSB3b25kZXJpbmc6IHNob3VsZCAg dGhlIDAgaGVyZSBpcyAgVU5LTk9XTl9TSVpFIG9yIDAgc2l6ZT8NCg0KSSBndWVzcyBzaG91bGQg YmUgdGhlIFVOS05PV05fU0laRT8gIChJLGUsIC0xIGZvciBNQVhJTVVNIHR5cGUsICAwIGZvciBN SU5JTVVNIHR5cGUpLg0KDQppLmUsIHdoZW4gdGhlIHZhbHVlIG9mIOKAnGNvdW504oCdIGlzIDAg b3IgbmVnYXRpdmUsICB0aGUgX19iZG9zIHdpbGwgcmV0dXJuIFVOS05PV05fU0laRS4gIElzIHRo aXMgY29ycmVjdD8NCg0KPiANCj4gIFRoZSBsb2dpYyBmb3IgdGhpcyBpcyB0aGF0IF9fYmRvcyBj YW4gYmUgX2NlcnRhaW5fIHRoYXQgdGhlIHNpemUgaXMgMA0KPiAgd2hlbiB0aGUgY291bnQgdmFy aWFibGUgaXMgcGF0aG9sb2dpY2FsLg0KDQoNCj4gDQo+ICogLWZzYW5pdGl6ZT1hcnJheS1ib3Vu ZHMgc2ltaWxhcmx5IHRyZWF0cyBjb3VudCBhcyBhYm92ZSwgc28gdGhhdDoNCj4gDQo+ICBwcmlu dGYoIiVkXG4iLCBwLT5hcnJheVtpbmRleF0pOyA9PT4gdHJhcCB3aGVuIGluZGV4ID4gKGNvdW50 IDwgMCA/IDAgOiBjb3VudCkNCj4gDQo+ICBTYW1lIGxvZ2ljIGZvciB0aGUgc2FuaXRpemVyOiBh bnkgYWNjZXNzIHRvIHRoZSBhcnJheSB3aGVuIGNvdW50IGlzDQo+ICBpbnZhbGlkIG1lYW5zIHRo ZSBhY2Nlc3MgaXMgaW52YWxpZCBhbmQgbXVzdCBiZSB0cmFwcGVkLg0KDQpPa2F5LCB3aGVuIHRo ZSB2YWx1ZSBvZiDigJxjb3VudOKAnSBpcyAwIG9yIG5lZ2F0aXZlLCBib3VuZCBzYW5pdGl6ZXIg d2lsbCByZXBvcnQgb3V0LW9mLWJvdW5kIChvciB0cmFwKSBmb3IgYW55IGFjY2VzcyB0byB0aGUg YXJyYXkuIA0KVGhpcyBzaG91bGQgYmUgcmVhc29uYWJsZS4NCg0KUWluZw0KDQoNCj4gDQo+IA0K PiBUaGlzIG1lYW5zIHRoYXQgc29mdHdhcmUgY2FuIHJ1biBzYWZlbHkgZXZlbiBpbiBwYXRob2xv Z2ljYWwgY29uZGl0aW9ucy4NCj4gDQo+IC1LZWVzDQo+IA0KPiAtLSANCj4gS2VlcyBDb29rDQoN Cg0K