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 253633858C33 for ; Wed, 19 Jul 2023 18:52:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 253633858C33 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 (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36JFOhvT025938; Wed, 19 Jul 2023 18:52:06 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=6IX+/U6lYHyDDVv3VzZhPiwIfHK/o3sD5kVc/V//ZQQ=; b=qfvXi+bQVROH2sgs8bH7f8ynm+QRVmYIcigCRWPUoPZSR3nHeV+XjdOWHbZGZygYKFdi /qKNlTd3RDiM1H0v4AqOzzS0LYlNrP3kPLIKp1YCTnWwDtzTKn5M0BHBGh74JGxKz2tZ 9/Sdm57Z3Kjxz95V8/2hHibFo3TbynIoN7bcCvBt772/oBGnrKOMJpSOFWiF/sex9QX0 LXYcx1OK/ka0fUV3LPig/271tvOuvVCQGveWy2SgxoSd01EmTphB6kkY24ebWMGZrV2u 8lxKR5X8EH4aB5ppIcyOEU6p/5Cux0hv642einaCZJWf9Au6LVruWF9J3QxrNYejwtpW qg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3run7708mp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2023 18:52:05 +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 36JI0tMr007852; Wed, 19 Jul 2023 18:52:04 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3ruhw739k8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Jul 2023 18:52:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VBs1OYEhXF/ERrVc+7OXlvI2P5GVmVnsOeD3vxAgoGnU+xZNl9RcXj0TV0ti273FnD9zxZ31idRlIYAjHP1er+3mZc42B86U8iFCjwqxQ5LmEk2bCvkSO6O/+uT0Hh/ej2Ru/wtdhl53EgFNvWEMFcK8n0sDpyobnJ0IheGuIIbDItB0O51iwrt7UYjww9DrXChYApREM4TZPfbLM49xuzRQ79pN25yVjb9eZu0IXnsWqUnREDnI5YCbHynHSkI59xnJJnJiQQWtqLBi8kEQoNEgMRdocilJjBmR1eFeiG8ViMzvAZ/s0uI9Nf8iQbxvrKxpurU1krFc2V6PeC83cg== 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=6IX+/U6lYHyDDVv3VzZhPiwIfHK/o3sD5kVc/V//ZQQ=; b=Ge49MVdvJMgQYL2rjnnzF3UIe2AVweYT9OA+ZVEt9pXC88u9ueXcWM4BpsJd7RybrjXnfLnPWVo3X7YqEzKD9I3FGrfFKHljEf3Kv9o7Clna0HPGgegkdbRCmpJsXoMHBMizdjEpY7rtqykl1z+TVTZktj2W67sExfytp02ftdESWSFxjXvy8cviAFBC+LdjTYELBsIxjbEnZuc5MhLVgMLdVNV3CEFlj3Pou7R5Gz6TJFDtEEy3E1NhxCz0Dfl8eX5KBxiM78+wrMUdH+zYiSfs0UuFsW3WLG3mkSSv3ONY0ln1OWIlKUQ1jrsJgOofIVhXBA+LLWjRR83wbgdrHQ== 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=6IX+/U6lYHyDDVv3VzZhPiwIfHK/o3sD5kVc/V//ZQQ=; b=vCpJcRbP+E1wRGTmEThCj/o2pWgTPYQVMhv2SJFZViva06FLXvEQkTzEu7z3Zcr4TsFtgOEqe6HBUTLv+g/eSISkUXwKUt45NjRgmC6SCoWXFAhyK6h4lQW1IqYlYvZApIZkOdtFVEuhdB6njHLP7zEM27fw2RZqHKddZw6qdhs= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SA1PR10MB6541.namprd10.prod.outlook.com (2603:10b6:806:2bd::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.24; Wed, 19 Jul 2023 18:52:01 +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 18:52:01 +0000 From: Qing Zhao To: Kees Cook CC: "joseph@codesourcery.com" , "richard.guenther@gmail.com" , "jakub@redhat.com" , "gcc-patches@gcc.gnu.org" , "siddhesh@gotplt.org" , "uecker@tugraz.at" , "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: AQHZjyQM4cZ0Nx0hq0Cg9tjYZZoL4q9tBmcAgEBSagCACxrkAIAGVkYAgAAnywCAAtQjgA== Date: Wed, 19 Jul 2023 18:52:01 +0000 Message-ID: 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_|SA1PR10MB6541:EE_ x-ms-office365-filtering-correlation-id: ad98c9bd-05ee-4b8d-8a0d-08db88893ccd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: n3b6f5s9wJQhZvZ9KwN+EX45PwrHUDDdYgFfaXvkzaqMkOqc71pjlwTaa6C1woA1VQ4y0iiPVlZF7903gc63S6GTfb0+IiCQDh/+Xv4hRg1jNzo6T2aRxAs8si1guviV0bwjjtKZu1LxrJy0WcBhPouPieG8mUINFCpL0Qv3Wv8bHVdUM1tpSnsN8N9y7YvfEjT1CAEyfJpatP/u7GX/zBZXrOveTuf+Oek27TWwlJCMVkPD8yjZZkFB92QNRGGU3b2JbTGOi5QzDXJ4sdT4QfmERu/t4oTgwFHOUKlppnDPKPfpJfvAzliNrovSbk+KnRIGD6bX0m5Gvp77hgh4lnrSJZ7dwjk7BK/05k4KJTNtVjFsSlpxhFe+3gs9oXt9UaCDmAm586dJ2U8uSE0W0QjKaH3a2LCx2/Cc15r5n+faYfP5aw3wErJ8zv3xmT4SJ4U6KgL+5bhPB223gNW/Hcp8AXTsBlKyNGuV0uzRc15FMoCI9YkqtUtW+4YhOMFA10Mz8dMtlkAgq59J/yDGAOOsdP8NXiBCYmz5W2eVxX+PhgLVUb6lXFAEpPcSNwjjU+Rw8Jgq5WP/jlVLYlhT682bEXmyHZLEG/OFJN6UtIAqv/MKxKQGwfKSQ7m0xpc3UajvFqOceDtrfutj/epAmg== 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)(376002)(366004)(39860400002)(396003)(136003)(346002)(451199021)(36756003)(54906003)(478600001)(6512007)(6486002)(966005)(186003)(26005)(6506007)(71200400001)(86362001)(41300700001)(122000001)(6916009)(4326008)(316002)(66946007)(76116006)(64756008)(66446008)(66556008)(66476007)(8936002)(44832011)(8676002)(38100700002)(38070700005)(5660300002)(2616005)(2906002)(33656002)(91956017)(83380400001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VlZvS2d2WUcyMnRZeHJXeVZOd3hFcWdvaHczejVEbCtxMC9yZkhnUWNKWXJW?= =?utf-8?B?djkxSzBmRko2d3Y0ek4yTENvUG8yeTVQQUJuc2VsK1h6Z21udUQraXRxT3o3?= =?utf-8?B?N3VRQ0xaS2Nxd1h6cGFIMXRRL0drNzFLY05RMnFrQU1hZjN4YUdvSjNXNThT?= =?utf-8?B?ZmpmMFA2Q0JXRFNjUTNjNHFUZUN4eTZ5ZlplaFJMTHNQZWFTZjRZQmoyQnA5?= =?utf-8?B?b3d2OThMZFFUYjllSHAzclB1U2t4dStrK21aSW0vME1KZi9BZmZaenJuaVgx?= =?utf-8?B?RnRiajlWRlhtU2dTMHF6ekZDZHB3V3pyNXRXY1V1aEFhUHhuMjZUeERhM2w1?= =?utf-8?B?SDJkQWpTMGVFTHprSE95YmR0TTZVaEdRa0JsTy93cmtqelNJMUdUUzhzeXdp?= =?utf-8?B?Vkx3cTdhSHdrWUd5N20zc2xnUGxwRktjMVFiMkpBd1RQekJDb1hGb1FuSjRt?= =?utf-8?B?WEhIdldHeVI0My9RUXR1WGYxUkRqUEpqUmRKSWpXazNqbkZWMlFWT1RPK25X?= =?utf-8?B?bllEWWd6Y3JRYzRKQjNZcERQTzgxa2lLdkl2RUdNYzFVS3dsVGFUQXQ1WS9j?= =?utf-8?B?OVpBWW14QVkxMnNmdmplTmpsT1ZHSSs4Ry9USFNOZGc4anpFb1NRb2owelA3?= =?utf-8?B?Q1IrY3liQjkvc2FsbG9Wb1lCbFpKWGhKTldHbjVVc3FaSXZQZTJlVEtFejU3?= =?utf-8?B?VDdxamFUSnpzUnZsMFRqNFdWQ1p4M0V4S0oyKzFkZkRmL1RPZkRkRS9CRWha?= =?utf-8?B?bmFGRHdOOE5CVDUxV2pObUhYU2xaQ1RVeno4ZStkbXBFWERkRWRSTklrRTIv?= =?utf-8?B?RWY0K0UvQXl6QlBiNUpXYTBxWE11TW43VjZxSVNLN1VPTnNhS1RjYUIzVWJi?= =?utf-8?B?dk9ITTdDbTFBcGY4ckYrbTlKT2gvamZ5a2tOUGlXWTA3bjNNZC9QT0ltVmxJ?= =?utf-8?B?a0Rua1VtWitTYzd1SzlLRVl4ZklQZHJPMThDek1IdEZlSXptZURXU0JsSnJP?= =?utf-8?B?Tk5wQXRkTDF2ZEhkSitUU2N6RVp1WGE3NkhmaHNzem54dFNXYTJBZUdQdTVa?= =?utf-8?B?RkFzSFNDQ3pYb05xRkVUcndlcnFHdDNRWFBjd0FrTFR0S2gwWDNURVBndkdL?= =?utf-8?B?Mlo0WnRDR0FxQ05DRktLM2o2S2RwdW92SVUwYXJDZVNsTWxwOVNOUHlaOEFG?= =?utf-8?B?ZzN5ODFrajRYaTk4b0VudDRUQTJLTHNDWU1MdkJUbWVBcndZRmFLbGoxRWZt?= =?utf-8?B?bXlyNkRmRWdpQXNlTmtMVzQydXQ4d1YxSGFwOVY4UHBUck84RTllY2pHWDg1?= =?utf-8?B?U0RDL3ZYUkQxU1o1MzBMMDFya2RuMTJlOGV4d1lRSHE5WVhRellUb2VLM0JZ?= =?utf-8?B?c3UwcW0xTGY4N2RnQ2k5cGh6d0pnaFh4aHZFd0lCQXFOWjJwL2RNOVI5bHhM?= =?utf-8?B?QTlHZnBJOEVKUnk2MEYrbzY0Zm1vVG5HeXJzeUJQNUJCaGRRbEM2bW9nTTVz?= =?utf-8?B?eDBEdnAxRGltN2o0ZktEZzhXa0RpeVA3MW12NmVxK2RtZ1RrWFNhdlJXNStQ?= =?utf-8?B?VG5RTGRiT2ZiNTg4OExnOEszSzZVUitmSXU0RGhIYjB0bWo1QUlDZ0krd01U?= =?utf-8?B?YTIwZFBlQzI0RjNRMDJkaDZQd1hoUEtWUEZvVVozMnJNeUQ1blVSSzRQZElj?= =?utf-8?B?WDFvL3lqbGlKaGZlU1VFeGZJaFBScTB3Q0lqcWJBWDJVZXl1cXI5NDh1d2lq?= =?utf-8?B?QmdJS1ZUSkdNL3JlZDlVaTZ0T2dhRjZmSjcxcUJFR0hhNW5Cdlk1WUl6ak1i?= =?utf-8?B?a3ZVN3BJeERrRHhpcmVJZ1ArMG9QNjNEZ1RhdEhhSk90alJBaWhoL2pYMHBG?= =?utf-8?B?blovSERjcCtWb2liRk90RTcxSGJGaFBNdXIzOSsyc0xFMXlXenJPanlmYzBP?= =?utf-8?B?ZTVtcFFnV2daM09vd0dWS1drTndNbktXNENYbHlnMExUbHh3NDZLU0FSejlp?= =?utf-8?B?a21SenRGQWsvajVERDUxUW5hTGRrNEpJQXNUa0dUa0hKTzlEZkk4ZExVd1Nk?= =?utf-8?B?ckhULzBnU1Qxb0w5QzlCZkpOM2t0OTA0aWdqNms3WEtyRlBkQjRWOVR3NzJo?= =?utf-8?Q?m0opoIxvPBrq4b4PSJRw0Mh7k?= Content-Type: text/plain; charset="utf-8" Content-ID: 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?dkdZcmlTbHQ2UW5zZlNsUE1walVWREZ1M2FtRDZVRTRuMjdnMmhBMzRPa3pS?= =?utf-8?B?MU1rZGYrVm5RTTNNMHA5UERzYmFFMk80ZWNkcmMzRnk5eitRd09SeTBRSUtT?= =?utf-8?B?WndaNTNHaE5pY1ptckloZnhxQ1N5QWlnSFAxNE5yd0FXSWx0QnFvcE4yUHFH?= =?utf-8?B?ZjN6VUlKNzR3K2d2T2JBbFdhNXF5czdDYTJaQnBKZXdPZUh2TnBNNTZYK0Fo?= =?utf-8?B?ek1KVm1CRzYrSm9VN0RaRVFEN0k1N2R1VWVtaWlzMVlsM0xYaTdoQ0JybkVp?= =?utf-8?B?aGZZbzhMTkdoUkN3SXpqZDBBQ1lxcHd4MURpN0QyamVUVUtLd0FqZ3dMM3ZP?= =?utf-8?B?WjdVb0JiRllHWTlhaklHVTN3bTl1amRJckw1aFIrQmdwZDhoVXBpWXhObFlJ?= =?utf-8?B?c0hIK2xjdDRtdTRLK0gzZ0hHU2x4QW9sc1JkT0VGL1Y1OCt6VERKTUIxTWRR?= =?utf-8?B?eVNHckhxZ054Ny9Rdlk2MHovb0xPV2ViZDhJVGRIYng5S2FoWllXWFJXd0JV?= =?utf-8?B?cGFxaitPWm5maDJwaWVDVzlLOHpGL0FRSngxOGRRejRNbmVCTjlDNTR5WWRR?= =?utf-8?B?RWltaHkxSXd1eDVZbzZQR0dVWER4OEh6SDVjaHJORUR4anFVNlZVbmNsTlo0?= =?utf-8?B?b0VzVHBCRWd3R0JacWZ1SzVjQURwNU40RGJySUs4L3l5ZS95ZXRGQ3FheDhw?= =?utf-8?B?azNNMG5ZRkQ3K1ZkK3N1VGdwc3o0TllUNDgrY0orOXQyZkQrWHM1Z05nYzJZ?= =?utf-8?B?K0xUS3JYcUpCT2xGVExxSHNEUi93Y0hPQ0RKZHpkVG91NGNXSVZKV2hGOUYv?= =?utf-8?B?d3JHSDZOTjlwWFZZSXl2YTRWdERuZHhucXQ3OEEvM2FVVFZwTE1adVArb0th?= =?utf-8?B?OUVQSXdMQzFrNTRuT2ppaFE1aCtrMkd3UzJwdmFHRGEzNUk4WHV0VVZZNWFO?= =?utf-8?B?aE4vVUdQb2t2MFQ3NC9CekEzOTlnNzROK0grMk4zLzhnK0FhVnRoekpHZ0c5?= =?utf-8?B?akpVSXlWQklnSTFQa2FkZC9RZFl6ZnYwdCszajJsRDFLOFBrQzJlUVdsZGZn?= =?utf-8?B?WU9naFBLa1ovTDNOdlJDa3E3b2xyL05TenZ2WFNWZjNOZEV1bHJDVnVadGtr?= =?utf-8?B?MXEzelp5VFFLWUQ3d1hIV2Y0MmVNZkRDaHhOWWZqZXJZZUs3MkJ1NVUveDli?= =?utf-8?B?U1ZKbXI3UUtWTDVzNE1HN2N3bFZ4Z3VGcllqVlNwWXBuTXVMVnBrOWg2MVlp?= =?utf-8?Q?3nkqoIu3tjYGWYB?= 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: ad98c9bd-05ee-4b8d-8a0d-08db88893ccd X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2023 18:52:01.4501 (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: RGPUwZkROgKJ+KLL+ehB08gd/iKlHPbId0opwHGeaK4gcSZ9Ld0ydDS3/L61BKzrNwwl1M2dx+BDYe0+gKVBrA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB6541 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_13,2023-07-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 suspectscore=0 mlxscore=0 mlxlogscore=703 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307190170 X-Proofpoint-GUID: 8oCsR9c-dpB6kf7h1plyrDfI_PaYOz5f X-Proofpoint-ORIG-GUID: 8oCsR9c-dpB6kf7h1plyrDfI_PaYOz5f X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: DQo+PiANCj4+IFRoZSBwb2ludCBpczogYWxsb2NhdGlvbiBzaXplIHNob3VsZCBzeW5jZWQgd2l0 aCB0aGUgdmFsdWUgb2Yg4oCcY291bnRlZF9ieeKAnS4gTExWTeKAmXMgUkZDIGFsc28gaGF2ZSB0 aGUgc2ltaWxhciByZXF1aXJlbWVudDoNCj4+IGh0dHBzOi8vZGlzY291cnNlLmxsdm0ub3JnL3Qv cmZjLWVuZm9yY2luZy1ib3VuZHMtc2FmZXR5LWluLWMtZmJvdW5kcy1zYWZldHkvNzA4NTQjbWFp bnRhaW5pbmctY29ycmVjdG5lc3Mtb2YtYm91bmRzLWFubm90YXRpb25zLTE4DQo+IA0KPiBSaWdo dCwgSSdtIHNheWluZyBpdCB3b3VsZCBiZSBuaWNlIGlmIF9fYWxsb2Nfc2l6ZSB3YXMgY2hlY2tl ZCBhcyB3ZWxsLA0KPiBpbiB0aGUgc2Vuc2UgdGhhdCBpZiBpdCBpcyBhdmFpbGFibGUsIGl0IGtu b3dzIHdpdGhvdXQgcXVlc3Rpb24gd2hhdCB0aGUNCj4gc2l6ZSBvZiB0aGUgYWxsb2NhdGlvbiBp cy4gSWYgX19hbGxvY19zaXplIGFuZCBfX2NvdW50ZWRfYnkgY29uZmxpY3QsDQo+IHRoZSBzbWFs bGVyIG9mIHRoZSB0d28gc2hvdWxkIGJlIHRoZSB0cnV0aC4NCg0KSSBkb27igJl0IHRoaW5rIHRo YXQgIOKAnGlmIF9fYWxsb2Nfc2l6ZSBhbmQgX19jb3VudGVkX2J5IGNvbmZsaWN0LCB0aGUgc21h bGxlciBvZiB0aGUgdHdvIHNob3VsZCBiZSB0aGUgdHJ1dGjigJ0gd2lsbCB3b3JrIGNvcnJlY3Rs eS4NCg0KV2hlbiBfX2FsbG9jX3NpemUgaXMgbGFyZ2VyIHRoYW4gdGhlIHZhbHVlIG9mIF9fY291 bnRlZF9ieSwgaXTigJlzIG9rYXkuIA0KQnV0IHdoZW4gdGhlIHZhbHVlIG9mIF9fY291bnRlZF9i eSBpcyBsYXJnZXIgdGhhbiB0aGUgX19hbGxvY19zaXplLCB0aGUgYXJyYXkgYm91bmQgY2hlY2sg b3Igb2JqZWN0IHNpemUgc2FuaXRpemVyIG1pZ2h0IG5vdCB3b3JrIGNvcnJlY3RseS4NCg0KDQpQ bGVhc2Ugc2VlIHRoZSBmb2xsb3dpbmcgZXhhbXBsZToNCg0Kc3RydWN0IGdyb3dzIHsNCglpbnQg YWxsb2NfY291bnQ7DQoJaW50IHZhbGlkX2NvdW50Ow0KCWludCAgaXRlbVtdIF9fY291bnRlZF9i eSh2YWxpZF9jb3VudCk7DQp9ICpwOw0KDQp2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVf XykpIHNvbWV0aGluZyAoaW50IG4pDQp7DQoJcCA9IG1hbGxvYyhzaXplb2YoKnApICsgc2l6ZW9m KCpwLT5pdGVtKSAqIDEwMCk7DQoJcC0+YWxsb2NfY291bnQgPSAxMDA7DQoJcC0+dmFsaWRfY291 bnQgPSAxMDI7DQoJcC0+aXRlbVtuXSA9IDEwOwkJLy8gYm90aCBfYWxsb2Nfc2l6ZSBhbmQgdGhl IHZhbHVlIG9mIF9fY291bnRlZF9ieSBhcmUgYXZhaWxhYmxlIGluIHRoaXMgcm91dGluZSwgdGhl IHNtYWxsZXIgb25lIGlzICwgMTAwOw0KICAgICAgICAgICAgICAgICAgICANCn0NCg0Kdm9pZCBf X2F0dHJpYnV0ZV9fKChfX25vaW5saW5lX18pKSAgc29tZXRoaW5nXzIgKGludCBuKQ0Kew0KICAg cC0+aXRlbVtuXSA9IDEwOyAgIC8vIG9ubHkgdGhlIHZhbHVlIG9mICBfX2NvdW50ZWRfYnkgaXMg YXZhaWxhYmxlIGluIHRoaXMgcm91dGluZSwgd2hpY2ggaXMgMTAyOyAgDQp9DQoNCkludCBtYWlu DQp7DQogICBTb21ldGhpbmcgKDEwMSk7DQogICBTb21ldGhpbmdfMiAoMTAxKTsNCn0NCg0KDQpG b3IgdGhlIGFib3ZlIGV4YW1wbGUsIHRoZSBvdXQtb2YtYm91bmQgYXJyYXkgYWNjZXNzIGluIHJv dXRpbmUg4oCcc29tZXRoaW5n4oCdIHNob3VsZCBiZSBhYmxlIHRvIGJlIGNhdWdodCBieSB0aGUg Y29tcGlsZXIuDQpIb3dldmVyLCB0aGUgb3V0LW9mLWJvdW5kIGFycmF5IGFjY2VzcyBpbiB0aGUg cm91dGluZSDigJxzb21ldGhpbmdfMuKAnSB3aWxsIE5PVCBiZSBhYmxlIHRvIGJlIGNhdWdodCBi eSB0aGUgY29tcGlsZXIuDQoNClNpbmNlIGluIHRoZSByb3V0aW5lIOKAnHNvbWV0aGluZ18y4oCd ICwgdGhlIGNvbXBpbGVyIGRvbuKAmXQga25vdyB0aGUgYWxsb2Nfc2l6ZSwgdGhlIG9ubHkgYXZh aWxhYmxlIGluZm8gaXMgdGhlIGNvdW50ZWRfYnkgdmFsdWUNCiB0aHJvdWdoIHRoZSBhdHRyaWJ1 dGUuICBCdXQgdGhpcyB2YWx1ZSBpcyBiaWdnZXIgdGhhbiB0aGUgUkVBTCBzaXplIG9mIHRoZSBh cnJheS4gVGhlcmVmb3JlIHRoZSBjb21waWxlciBjYW5ub3QgZGV0ZWN0IHRoZSANCm91dC1vZi1i b3VuZCBhcnJheSBhY2Nlc3MgaW4gdGhlIHJvdXRpbmUgc29tZXRoaW5nXzINCg0KDQpCYXNlZCBv biB0aGUgYWJvdmUgb2JzZXJ2YXRpb24sIEkgdGhpbmsgd2Ugc2hvdWxkIGFkZCB0aGUgZm9sbG93 aW5nIHJlcXVpcmVtZW50OiANCg0KVGhlIHZhbHVlIG9mIOKAnGNvdW50ZWRfYnnigJ0gc2hvdWxk IGJlIGVxdWFsIG9yIFNNQUxMRVIgdGhhbiB0aGUgcmVhbCBhbGxvY19zaXplIGZvciB0aGUgZmxl eGlibGUgYXJyYXkgbWVtYmVyLiANCg0KVGhpcyBpcyB0aGUgc2FtZSByZXF1aXJlbWVudCBhcyB0 aGUgTExWTSBSRkMuIA0KaHR0cHM6Ly9kaXNjb3Vyc2UubGx2bS5vcmcvdC9yZmMtZW5mb3JjaW5n LWJvdW5kcy1zYWZldHktaW4tYy1mYm91bmRzLXNhZmV0eS83MDg1NCNtYWludGFpbmluZy1jb3Jy ZWN0bmVzcy1vZi1ib3VuZHMtYW5ub3RhdGlvbnMtMTgNCg0KInRoZSBjb21waWxlciBpbnNlcnRz IGFkZGl0aW9uYWwgY2hlY2tzIHRvIGVuc3VyZSB0aGUgbmV3IGJ1ZiBoYXMgYXQgbGVhc3QgYXMg bWFueSBlbGVtZW50cyBhcyB0aGUgbmV3IGNvdW50IGluZGljYXRlcy7igJ0NCkxMVk0gaGFzIGFk ZGl0aW9uYWwgcmVxdWlyZW1lbnQgaW4gYWRkaXRpb24gdG8gdGhpcywgd2UgbWlnaHQgbmVlZCB0 byBjb25zaWRlciB0aG9zZSByZXF1aXJlbWVudCB0b28uIA0KDQpRaW5nDQoNCj4gQnV0LCBhcyBJ IHNhaWQsIGlmIHRoZXJlIGlzIHNvbWUgbmVlZCB0byBleHBsaWNpdGx5IGlnbm9yZSBfX2FsbG9j X3NpemUNCj4gd2hlbiBfX2NvdW50ZWRfYnkgaXMgcHJlc2VudCwgSSBjYW4gbGl2ZSB3aXRoIGl0 OyB3ZSBqdXN0IG5lZWQgdG8NCj4gZG9jdW1lbnQgaXQuDQo+IA0KPiBJZiB0aGUgUkZDIGFuZCB5 b3UgYWdyZWUgdGhhdCB0aGUgX19jb3VudGVkX2J5IHZhcmlhYmxlIGNhbiBvbmx5IGV2ZXIgYmUN Cj4gKHJlKWFzc2lnbmVkIGFmdGVyIHRoZSBmbGV4IGFycmF5IGhhcyBiZWVuIChyZSlhbGxvY2F0 ZWQsIHRoZW4gSSBndWVzcw0KPiB3ZSdsbCBzZWUgaG93IGl0IGdvZXMuIDopIEkgdGhpbmsgbW9z dCBwbGFjZXMgaW4gdGhlIGtlcm5lbCB1c2luZw0KPiBfX2NvdW50ZWRfYnkgd2lsbCBiZSBmaW5l LCBidXQgSSBzdXNwZWN0IHdlIG1heSBoYXZlIGNhc2VzIHdoZXJlIHdlIG5lZWQNCj4gdG8gdXBk YXRlIGl0IGxpa2UgaW4gdGhlIGxvb3AgSSBkZXNjcmliZWQgYWJvdmUuIElmIHRoYXQncyB0cnVl LCB3ZSBjYW4NCj4gcmV2aXNpdCB0aGUgcmVxdWlyZW1lbnQgdGhlbi4gOikNCj4gDQo+IC1LZWVz DQo+IA0KPiAtLSANCj4gS2VlcyBDb29rDQoNCg==