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 B7BA63839DFA for ; Fri, 17 Feb 2023 13:58:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B7BA63839DFA 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 31H7in7Y009221; Fri, 17 Feb 2023 13:57:58 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-2022-7-12; bh=S9fPBjn4StZBfXq87hfK4h590ziLDOugPRzqO1HLcEM=; b=ILWyTW5t3+nwD48VCIDSUsRscLseeYB+21VnOFLeSdPfuWeQctjkZ1Ht5tdKSF/HiCcR K1thpmqRi/vZ00KfMGEeXUVqf79d01Rz6ur2kJY4K7QbNphgcR0DL/rH0f/KTs84qdK4 4R0rykdx5HQfsH1bd9k9Q7TywzDr3P7z7fqNzm35Fm4Mt/ZnoM68clp9vZ8b07wGHYMv 3CO40OHIZmIOuRaVbDzZ0XNgcja4/oiJipvmqGf8I2bzUIbtGyfLtLFJb3f9dt4TMXw/ Q+3WuUqU0ky1Kb8MoRMPdD+zCgN2ZDGWFZr4968hNRWg+MTVasnx48I0JZFGcbG6BMev /A== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3np1m162b7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 17 Feb 2023 13:57:58 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 31HCexkB022773; Fri, 17 Feb 2023 13:57:57 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3np1fa4qk9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 17 Feb 2023 13:57:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JusHEGVkyzadlbdDovFHDQVUoJNZA/oeHxc/WJEsYS3ORj0ldPW6TjdnMVvWhh8JzpTQ1/ZA4eQrrdmbCPqPQ0HeZDfJh1c+nye9dgtdVJJZlOgROVBzlqDDbmMopf1QLhQuPUaculAktHLpJCBaKc0jc4uIXA16eA696WAbgiUgk1JG3cTfUSOx/wU1ew/aAtCXQYoiUovSET8yXnyGB94Pl5XyM8BpHRtUKfveikvQtUPFvaokUHvnClAthifM/LrmZ/WZLLJHUBSxMO7bpaHEAn/fp5hO9R9nv8OgV8/6rRlyqJcbtR3jf2LCARsDjUSI0r/w43Q8RwYZBLqsFg== 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=S9fPBjn4StZBfXq87hfK4h590ziLDOugPRzqO1HLcEM=; b=jABlvgGPfBINc2YAta69kfG2TreypKRiG+CuTNozDhs6bCiLQWr/spxzYPJZ0/VTw816LvM3XtdZj1w8gqLXM8ZED+NyCT28mkSRYXNPfQo1JbPMRNcCyL/4FO5zqKUOarbq2vluX1ZvL/iA7pfW6xouALAJCJxmOQnpBG3k/fB9xsreMULi1JatawCY/8K87w+6bDF+eX/M5+GwEyuLYIBQiCeGw33GDsHpIkFFCTM5r3Q9/4n/Z16CVWMBW2poYHfYWZVAZilNBOTEVO/PP9CtbE1We08MdmBqYTmYtP7k7nN98oyFg2zFzvsqE0oDlQKUHFPbZwq744pbfxTYqw== 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=S9fPBjn4StZBfXq87hfK4h590ziLDOugPRzqO1HLcEM=; b=djvKwAYF84iO0qRSvSVqIN26o+heRHXyBt8mIQQiPF0opbaTWUsKurJP/a7MHmT6UEKQgrRW3L4tckoJBpgXTtdizR4cxg1j42wbM6F7W8IFmkSXc4A+XzIP977x/MCgdA4FJvdoNWirt1d/HFOB9eKb9cWdYw4lynIUl73qrbg= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by MW4PR10MB6324.namprd10.prod.outlook.com (2603:10b6:303:1ee::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.10; Fri, 17 Feb 2023 13:57:55 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::7030:ed2e:20d0:cd5b]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::7030:ed2e:20d0:cd5b%7]) with mapi id 15.20.6134.013; Fri, 17 Feb 2023 13:57:54 +0000 From: Qing Zhao To: Joseph Myers , Richard Biener CC: "siddhesh@gotplt.org" , "keescook@chromium.org" , "gcc-patches@gcc.gnu.org" Subject: Re: [v3][PATCH 1/2] Handle component_ref to a structre/union field including C99 FAM [PR101832] Thread-Topic: [v3][PATCH 1/2] Handle component_ref to a structre/union field including C99 FAM [PR101832] Thread-Index: AQHZPbLSt5lslUPPHEie79FC54/Lt67TNEMA Date: Fri, 17 Feb 2023 13:57:54 +0000 Message-ID: <4D13B414-9807-40B2-8070-0DE9FD3E828E@oracle.com> References: <20230211005013.789161-1-qing.zhao@oracle.com> <20230211005013.789161-2-qing.zhao@oracle.com> In-Reply-To: <20230211005013.789161-2-qing.zhao@oracle.com> 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.2) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|MW4PR10MB6324:EE_ x-ms-office365-filtering-correlation-id: 456a9572-74a5-49fd-5c45-08db10eef7d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dYF1pcqypqp4xXy0o0ySIijt16VPsFnPfew+Np3qqbFZp5mWzLMTyEpDCt3oyS5OWNdFyDcj0QvFZ68iZweEJO+MVd8rZk+Rl4EiXqAoaq3ljTm9U89/nv3zl/ID6HTXQgNLB+3QX5pOiTmBx4NG2l0SrrzHxgjYwkTq7Y2FwCtdFpADavq5xQWJCBBCaDdjqX+RdOKUKI+pxIvD3HoYZXeKIi8GLUZrwno1OU3OlhT37yr0b16lUSKQWq6MCbIoBO+jpBsC6Rey6VXWImjoStSZKWCOAtOfH7WlnShhulquDRMI678+kLmXHxUJky0ohU4lGWtGThByUsGkoywVKiJJm7VNaMyo56bV4EM3Lf0JgGWQ8aVqsMA5jUZZY1zPkBybF2K7jUHFIMrJASXtYg6dvvK+lFVMBNoB1LPLEY1zoKcIal0WhIKmsOkDpE8Y/VGfpCG74T7zTlZgVKpjDh8D355usa2aNDnob5KPPXeTxqX1gOcQbojb8RpI5Xn3c1h+qLw9PcL01zjeTXD8XeTrF43rPpLgEjjZjFB+i/7cDGeWzwp67vqJhM31DKdwzrjBEL9Ln1oCtyREw0+9QfvXMx8c5t1pu0S9YkDsf0UslowQyg7w7/my4sXYKXwoAuDcns0wJ/VhnZAsAgesFMFEGGOo3ii7iSYfJoJXusQ2rNkuv1SWWCIXFwosT3KGu2iH5f3956Gv562gqCOqFPcKTfm1UAQrZYbKosGnkZA= 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:(13230025)(136003)(39860400002)(376002)(366004)(396003)(346002)(451199018)(6486002)(6512007)(76116006)(83380400001)(122000001)(38100700002)(91956017)(30864003)(8936002)(5660300002)(36756003)(8676002)(66946007)(4326008)(41300700001)(44832011)(64756008)(66556008)(66446008)(53546011)(2906002)(66476007)(71200400001)(6506007)(186003)(38070700005)(54906003)(33656002)(110136005)(86362001)(316002)(84970400001)(478600001)(2616005)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RnVpNG1hKzdVZU81VGF6VHhjRnZ6TGhVa1dGRXJBVUFGZmp5bktENUEvdXlt?= =?utf-8?B?dksvcEMrN3I5ckFrVzAxU2xqbmdQNEl3UmpWSXFtYXlCcFltcDdac0g0R01i?= =?utf-8?B?bUR5YVNobTdRTjZEVGVDa2hiWjhpZGkyQzYvRWpBakV6WEIvZnBrV0ZFT3NQ?= =?utf-8?B?UUhXakkvRmxtcHlMTExhOEdRNkwxYVh0SzBldkdBOEVVeGVqeWVZS01Nc1Iy?= =?utf-8?B?Q1B6WkRkSTRmMW9rMGZZVUQwSGRpQm1wck4wVU9VL1lpNXBNVlBkWDlCQjhF?= =?utf-8?B?RDUvMzZkeHlaYXNWdTBVRjREam1raVp3RnROVXd6Zlpkc2RwdXBzTWNsa3l0?= =?utf-8?B?SkRZTFFGUWdyVFRIUElGV1NpZk1pWE85MUhoSnV2NUJuajkwQWRxbWtXWTFj?= =?utf-8?B?bUpKMlNnMllpQVg0Wk9XcHVDR0lZWTZBWUE5bSsvbjVTTFZnNkNVWnRtSHpm?= =?utf-8?B?YkN5VmdWTlVMckw3Z1EzZTFrcVB5eEJpNWtJM25ZUDRyaVdXSkFjOWpXL05D?= =?utf-8?B?UnNObmsxeXdqRjZ3aGowV0RPNTgrckJPK2FpOUhMWDl5cm14Rk1OTGxZdWVI?= =?utf-8?B?RDN3MjIyUktEY1l1bnVlcHVmaVNJMENIY09Tb0ZIZkp1V3g2am1rRkxEZWo1?= =?utf-8?B?Tm4zSVpCanNsZlVKUmZwRi9WN3ZSNlNzVWpnNXk1dEZuY1d6Zyt5aUJHMFdj?= =?utf-8?B?YUVPK1FFb2VpdERGMmlsOG9pSlhUbm1nRVBVQzRBUVZJUUIzZjJ6QkRscGdv?= =?utf-8?B?M0dyb2lvcEVpNUdnQXE1Z1VFR0FGc1k0aVEyYVZqNmJvV0NQWlhNalhyNmpo?= =?utf-8?B?UEpOWldvaWlDQnNFMUk5N0t0WjJ4OCtzLzYxNHpJbnBtMGdSY01NdGEvZWly?= =?utf-8?B?T3IyMWRTTGdNK0F2aEEvcXc0Rk11L085QkNLSVhYa3haeUk4NVpocjRHWHVK?= =?utf-8?B?RHZVWCtpS1JYOEVKYlZwRStEODFLajg5b1dqQU0yNUlGa0wwcm02dnpBNFVX?= =?utf-8?B?Y2Yza05YZEFQNjNzWkRFcFNIako1Qm1sL3JZSklVQTg4bDNYczlQVXU5UTA4?= =?utf-8?B?eitaeGpmZGF6VDVvcGdFQ25ST0VZZnZTYVJHR1Yzb1F5ODJpMmR2enpJVlBo?= =?utf-8?B?L1JXQTd2bUtydWJpb3Nzc20xTm5qSXpGb1FpOVRsVjdDUytMMXhZU2MrTkts?= =?utf-8?B?bjR6UTFCTjlOdENNdFYwczhOSGpIL2VwSng2RkxzS1VvK3k5bzUvWWJoZTQy?= =?utf-8?B?VDhvWnN0bTR1M04zM3lZejlCTFJucnh3RTZJRGZyNGU5cXd6YkFDTWtGdWV5?= =?utf-8?B?Uk5UaEdyeE5lTWhnYXRMdVVVZjRYMDNWUkdmdmxOZWcvZVZKQnNmUVBpaDY4?= =?utf-8?B?Wit4Z2FndzBCQ2dYU3BicjNKK093UTlIcmFZUXM1blc1aVNkbnJVMS8zUGJF?= =?utf-8?B?NW1nS0JNZ044c2dCTUs0dGpLYm9EMTI0MHpZNURFRzZxNWVXakJRZjlrTnFp?= =?utf-8?B?RGlueUNtbUp2V01mMlhYQU5ERDlPYld2VWRJd2FUMFBza0tqSUt1WGNlaGVl?= =?utf-8?B?clkyM1V3UmJTb1pnbFJxQ01xWFlvYzJsT3AySktiMXRoZlRDbHlUUFY0L0dh?= =?utf-8?B?aWsyR21Fd0wrUTNSaE9nTXBEOW9DYWVDdEVrVnZmRXdQZlVYTHRPand6U2F6?= =?utf-8?B?Y25CeUxyQkFnNm1UekRMUjNlMEE4dWRxWkMvZDVKN0VRUlNobDVRSHEwMDkr?= =?utf-8?B?L1c0RUJJNUFQRFRET0s1MTAvVmVNcE9JbEVJS0J1R2J2L3VjRUFTTnRteThL?= =?utf-8?B?QXVPUU1YRmJYdERNMXlJNjZPLzlOTVAxaFNxUUlBZHIwY3pWUHlrK2JLblRp?= =?utf-8?B?WDJHZzFxSTgvR0tkTTh5U096ZUdoa1dXUTVVN0Y5MTJwU1N6MXBCZDJ6YWxa?= =?utf-8?B?QmVER2FkQy9ic2NBbkFwbWNPdDAyK0pXaFhpb050aHd0cUtyaS9UMGs3TlpK?= =?utf-8?B?SlRCYnN5T21kS2xRQzkwWEI0V3hFRU5VcDlCR0NmcXpOalZEVVo3UnNPcndW?= =?utf-8?B?b2laMXY1Tm01bzBjdy9VZXVFWXc1VFNXeWx2ejArVkhtMjcrenBSZUxrT3c0?= =?utf-8?B?NHdtMDlWc3M0cGJiU0gwWnFHNXFrazJBUGxnTEFheHgxZlB2L3UyTXVPRndo?= =?utf-8?Q?iKXeb8fC1PXPtiFUIx6JXH0=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <3D291C9673A24141B4DBA93962E808C5@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: WjdxhP6gOUPm32Ajix2eURhDycJcVvFc0HglSrKdL4H1bFIqcuKSJWhabyNuJRkvOeLciYA/IkWPqYNWiLP4ZLUiGc1mP0QHg3LDSH2AtQf6Bgd/VVASrHrx4kPiZs0rsmCBlT1/nmVjE5gQ6VGsLpoA9oYis7SqmEUK9GPcrUF3Zb2DeYRZWxSKXob5HubnLDfrw26nnwplXSjz+AYdsmaQmXyNF+AD4nGbc1ka2UpTIjQInZi3AtexHSfV9ZCTbKkcWb5Mwv91uR7uzC5zO6BVnO2fFAl4/ndr8weRijIV+JLrCE/lyH+TtwwSbcD78Co9dUTRuXXFCpPsZ7mnZlkyA8KZ+0s1tSFXKY7x+lU1RtD/CH6d09YrqTvE+LUxIe7IwIc5OXoAt4dQpqCDb42PNHYaJcj+k91bCS0N8MB5VVJScUr9JEWmNPO5DpopHHaElA2eYJp8XCq/jZnRv/UnAIElQPOqJcnQnK4kqC9PzdB8fc7uDeFafBU1SkteypSRC+RZpsEsKjqy3nMcvB3heMShT19vOlqqb2M9+vrnykwDFqu2GaRMFwoC3Sc1bvrHy/Wu0XJYKX0u6NQ3Fq4+CATi6Zj/B4XWv3m8jG6dKczApRGbeeuKkUrkmvVTBCYmGv5gAx2KhlT2lMFWzW5mbtYe4Mfumhz3Ljv7myFME9FVI4EqBZwk9kKfPXqNb9JNJQWHmCEWi6Vc/E6ngNtV3Sf+PCBNlP45lEWFsP7QvH3jrFXcyeMS6oPnaBwNwaFNZjpRg2KEt0quxYi7K7ix9l6fnt0l21XHNUxw+KwDav9WdnrpIn10D9ZHeiYqTN/HrMrvhgSsrdlTXDYJRb8Jm+c8VIWCbIsHs1RN/9Yln5XFtVbsvBEkFP0+atFp 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: 456a9572-74a5-49fd-5c45-08db10eef7d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2023 13:57:54.8804 (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: g8ZRsi7DhvPdjJfN1DyP4y/vhSYwCuwA2kuUEmQjOPs7IMKdf1JIiHcV4wibX0zOhOXFf3TJhj5LS6IxCnPlkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR10MB6324 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-17_08,2023-02-17_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302170126 X-Proofpoint-GUID: Xy0x2dig6gdlfgErRAg0gRcEX9YeenEo X-Proofpoint-ORIG-GUID: Xy0x2dig6gdlfgErRAg0gRcEX9YeenEo X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_STOCKGEN,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP 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: UGluZ+KApg0KDQpRaW5nDQoNCj4gT24gRmViIDEwLCAyMDIzLCBhdCA3OjUwIFBNLCBRaW5nIFpo YW8gPHFpbmcuemhhb0BvcmFjbGUuY29tPiB3cm90ZToNCj4gDQo+IEdDQyBleHRlbnNpb24gYWNj ZXB0cyB0aGUgY2FzZSB3aGVuIGEgc3RydWN0IHdpdGggYSBDOTkgZmxleGlibGUgYXJyYXkgbWVt YmVyDQo+IGlzIGVtYmVkZGVkIGludG8gYW5vdGhlciBzdHJ1Y3Qgb3IgdW5pb24gKHBvc3NpYmx5 IHJlY3Vyc2l2ZWx5KS4NCj4gX19idWlsdGluX29iamVjdF9zaXplIHNob3VsZCB0cmVhdCBzdWNo IHN0cnVjdCBhcyBmbGV4aWJsZSBzaXplLg0KPiANCj4gZ2NjL2MvQ2hhbmdlTG9nOg0KPiANCj4g CVBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMTgzMg0KPiAJKiBjLWRlY2wuY2MgKGZpbmlzaF9zdHJ1 Y3QpOiBTZXQgVFlQRV9JTkNMVURFX0ZMRVhBUlJBWSBmb3INCj4gCXN0cnVjdC91bmlvbiB0eXBl Lg0KPiANCj4gZ2NjL2NwL0NoYW5nZUxvZzoNCj4gDQo+IAlQUiB0cmVlLW9wdGltaXphdGlvbi8x MDE4MzINCj4gCSogbW9kdWxlLmNjICh0cmVlc19vdXQ6OmNvcmVfYm9vbHMpOiBTdHJlYW0gb3V0 IG5ldyBiaXQNCj4gCXR5cGVfaW5jbHVkZV9mbGV4YXJyYXkuDQo+IAkodHJlZXNfaW46OmNvcmVf Ym9vbHMpOiBTdHJlYW0gaW4gbmV3IGJpdCB0eXBlX2luY2x1ZGVfZmxleGFycmF5Lg0KPiANCj4g Z2NjL0NoYW5nZUxvZzoNCj4gDQo+IAlQUiB0cmVlLW9wdGltaXphdGlvbi8xMDE4MzINCj4gCSog cHJpbnQtdHJlZS5jYyAocHJpbnRfbm9kZSk6IFByaW50IG5ldyBiaXQgdHlwZV9pbmNsdWRlX2Zs ZXhhcnJheS4NCj4gCSogdHJlZS1jb3JlLmggKHN0cnVjdCB0cmVlX3R5cGVfY29tbW9uKTogTmV3 IGJpdA0KPiAJdHlwZV9pbmNsdWRlX2ZsZXhhcnJheS4NCj4gCSogdHJlZS1vYmplY3Qtc2l6ZS5j YyAoYWRkcl9vYmplY3Rfc2l6ZSk6IEhhbmRsZSBzdHJ1Y3R1cmUvdW5pb24gdHlwZQ0KPiAJd2hl biBpdCBoYXMgZmxleGlibGUgc2l6ZS4NCj4gCSogdHJlZS1zdHJlYW1lci1pbi5jYyAodW5wYWNr X3RzX3R5cGVfY29tbW9uX3ZhbHVlX2ZpZWxkcyk6IFN0cmVhbQ0KPiAJaW4gbmV3IGJpdCB0eXBl X2luY2x1ZGVfZmxleGFycmF5Lg0KPiAJKiB0cmVlLXN0cmVhbWVyLW91dC5jYyAocGFja190c190 eXBlX2NvbW1vbl92YWx1ZV9maWVsZHMpOiBTdHJlYW0NCj4gCW91dCBuZXcgYml0IHR5cGVfaW5j bHVkZV9mbGV4YXJyYXkuDQo+IAkqIHRyZWUuaCAoVFlQRV9JTkNMVURFX0ZMRVhBUlJBWSk6IE5l dyBtYWNybw0KPiAJVFlQRV9JTkNMVURFX0ZMRVhBUlJBWS4NCj4gDQo+IGdjYy90ZXN0c3VpdGUv Q2hhbmdlTG9nOg0KPiANCj4gCVBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMTgzMg0KPiAJKiBnY2Mu ZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1wcjEwMTgzMi5jOiBOZXcgdGVzdC4NCj4gLS0tDQo+IGdj Yy9jL2MtZGVjbC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMiArKw0KPiBn Y2MvY3AvbW9kdWxlLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKw0KPiBn Y2MvcHJpbnQtdHJlZS5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiAu Li4vZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtcHIxMDE4MzIuYyAgICAgfCAxMzQgKysrKysr KysrKysrKysrKysrDQo+IGdjYy90cmVlLWNvcmUuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgNCArLQ0KPiBnY2MvdHJlZS1vYmplY3Qtc2l6ZS5jYyAgICAgICAgICAgICAgICAg ICAgICAgfCAgNzkgKysrKysrKy0tLS0NCj4gZ2NjL3RyZWUtc3RyZWFtZXItaW4uY2MgICAgICAg ICAgICAgICAgICAgICAgIHwgICAxICsNCj4gZ2NjL3RyZWUtc3RyZWFtZXItb3V0LmNjICAgICAg ICAgICAgICAgICAgICAgIHwgICAxICsNCj4gZ2NjL3RyZWUuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICA2ICsNCj4gOSBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9u cygrKSwgMjkgZGVsZXRpb25zKC0pDQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy5kZy9idWlsdGluLW9iamVjdC1zaXplLXByMTAxODMyLmMNCj4gDQo+IGRpZmYgLS1naXQg YS9nY2MvYy9jLWRlY2wuY2MgYi9nY2MvYy9jLWRlY2wuY2MNCj4gaW5kZXggMjBlN2QxODU1YmYu Ljc0MWEzNzU2MGIwIDEwMDY0NA0KPiAtLS0gYS9nY2MvYy9jLWRlY2wuY2MNCj4gKysrIGIvZ2Nj L2MvYy1kZWNsLmNjDQo+IEBAIC05Mjc3LDYgKzkyNzcsMTggQEAgZmluaXNoX3N0cnVjdCAobG9j YXRpb25fdCBsb2MsIHRyZWUgdCwgdHJlZSBmaWVsZGxpc3QsIHRyZWUgYXR0cmlidXRlcywNCj4g ICAgICAgLyogU2V0IERFQ0xfTk9UX0ZMRVhBUlJBWSBmbGFnIGZvciBGSUVMRF9ERUNMIHguICAq Lw0KPiAgICAgICBERUNMX05PVF9GTEVYQVJSQVkgKHgpID0gIWlzX2ZsZXhpYmxlX2FycmF5X21l bWJlcl9wIChpc19sYXN0X2ZpZWxkLCB4KTsNCj4gDQo+ICsgICAgICAvKiBTZXQgVFlQRV9JTkNM VURFX0ZMRVhBUlJBWSBmb3IgdGhlIGNvbnRleHQgb2YgeCwgdA0KPiArICAgICAgICogd2hlbiB4 IGlzIGFuIGFycmF5LiAgKi8NCj4gKyAgICAgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAoeCkp ID09IEFSUkFZX1RZUEUpDQo+ICsJVFlQRV9JTkNMVURFX0ZMRVhBUlJBWSAodCkgPSBmbGV4aWJs ZV9hcnJheV9tZW1iZXJfdHlwZV9wIChUUkVFX1RZUEUgKHgpKSA7DQo+ICsgICAgICAvKiBSZWN1 cnNpdmVseSBzZXQgVFlQRV9JTkNMVURFX0ZMRVhBUlJBWSBmb3IgdGhlIGNvbnRleHQgb2YgeCwg dA0KPiArCSB3aGVuIHggaXMgdGhlIGxhc3QgZmllbGQuICAqLw0KPiArICAgICAgZWxzZSBpZiAo KFRSRUVfQ09ERSAoVFJFRV9UWVBFICh4KSkgPT0gUkVDT1JEX1RZUEUNCj4gKwkJfHwgVFJFRV9D T0RFIChUUkVFX1RZUEUgKHgpKSA9PSBVTklPTl9UWVBFKQ0KPiArCSAgICAgICAmJiBUWVBFX0lO Q0xVREVfRkxFWEFSUkFZIChUUkVFX1RZUEUgKHgpKQ0KPiArCSAgICAgICAmJiBpc19sYXN0X2Zp ZWxkKQ0KPiArCVRZUEVfSU5DTFVERV9GTEVYQVJSQVkgKHQpID0gdHJ1ZTsNCj4gKw0KPiAgICAg ICBpZiAoREVDTF9OQU1FICh4KQ0KPiAJICB8fCBSRUNPUkRfT1JfVU5JT05fVFlQRV9QIChUUkVF X1RZUEUgKHgpKSkNCj4gCXNhd19uYW1lZF9maWVsZCA9IHRydWU7DQo+IGRpZmYgLS1naXQgYS9n Y2MvY3AvbW9kdWxlLmNjIGIvZ2NjL2NwL21vZHVsZS5jYw0KPiBpbmRleCBhYzJmZTY2YjA4MC4u Yzc1MDM2MWI3MDQgMTAwNjQ0DQo+IC0tLSBhL2djYy9jcC9tb2R1bGUuY2MNCj4gKysrIGIvZ2Nj L2NwL21vZHVsZS5jYw0KPiBAQCAtNTM3MSw2ICs1MzcxLDcgQEAgdHJlZXNfb3V0Ojpjb3JlX2Jv b2xzICh0cmVlIHQpDQo+ICAgICAgIFdCICh0LT50eXBlX2NvbW1vbi5sYW5nX2ZsYWdfNSk7DQo+ ICAgICAgIFdCICh0LT50eXBlX2NvbW1vbi5sYW5nX2ZsYWdfNik7DQo+ICAgICAgIFdCICh0LT50 eXBlX2NvbW1vbi50eXBlbGVzc19zdG9yYWdlKTsNCj4gKyAgICAgIFdCICh0LT50eXBlX2NvbW1v bi50eXBlX2luY2x1ZGVfZmxleGFycmF5KTsNCj4gICAgIH0NCj4gDQo+ICAgaWYgKENPREVfQ09O VEFJTlNfU1RSVUNUIChjb2RlLCBUU19ERUNMX0NPTU1PTikpDQo+IEBAIC01NTUxLDYgKzU1NTIs NyBAQCB0cmVlc19pbjo6Y29yZV9ib29scyAodHJlZSB0KQ0KPiAgICAgICBSQiAodC0+dHlwZV9j b21tb24ubGFuZ19mbGFnXzUpOw0KPiAgICAgICBSQiAodC0+dHlwZV9jb21tb24ubGFuZ19mbGFn XzYpOw0KPiAgICAgICBSQiAodC0+dHlwZV9jb21tb24udHlwZWxlc3Nfc3RvcmFnZSk7DQo+ICsg ICAgICBSQiAodC0+dHlwZV9jb21tb24udHlwZV9pbmNsdWRlX2ZsZXhhcnJheSk7DQo+ICAgICB9 DQo+IA0KPiAgIGlmIChDT0RFX0NPTlRBSU5TX1NUUlVDVCAoY29kZSwgVFNfREVDTF9DT01NT04p KQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3ByaW50LXRyZWUuY2MgYi9nY2MvcHJpbnQtdHJlZS5jYw0K PiBpbmRleCAxZjNhZmNiYmM4Ni4uZWZhY2RiNzY4NmYgMTAwNjQ0DQo+IC0tLSBhL2djYy9wcmlu dC10cmVlLmNjDQo+ICsrKyBiL2djYy9wcmludC10cmVlLmNjDQo+IEBAIC02MzEsNiArNjMxLDEx IEBAIHByaW50X25vZGUgKEZJTEUgKmZpbGUsIGNvbnN0IGNoYXIgKnByZWZpeCwgdHJlZSBub2Rl LCBpbnQgaW5kZW50LA0KPiAJICAmJiBUWVBFX0NYWF9PRFJfUCAobm9kZSkpDQo+IAlmcHV0cyAo IiBjeHgtb2RyLXAiLCBmaWxlKTsNCj4gDQo+ICsgICAgICBpZiAoKGNvZGUgPT0gUkVDT1JEX1RZ UEUNCj4gKwkgICB8fCBjb2RlID09IFVOSU9OX1RZUEUpDQo+ICsJICAmJiBUWVBFX0lOQ0xVREVf RkxFWEFSUkFZIChub2RlKSkNCj4gKwlmcHV0cyAoIiBpbmNsdWRlLWZsZXhhcnJheSIsIGZpbGUp Ow0KPiArDQo+ICAgICAgIC8qIFRoZSB0cmFuc3BhcmVudC11bmlvbiBmbGFnIGlzIHVzZWQgZm9y IGRpZmZlcmVudCB0aGluZ3MgaW4NCj4gCSBkaWZmZXJlbnQgbm9kZXMuICAqLw0KPiAgICAgICBp ZiAoKGNvZGUgPT0gVU5JT05fVFlQRSB8fCBjb2RlID09IFJFQ09SRF9UWVBFKQ0KPiBkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1wcjEwMTgzMi5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1wcjEwMTgzMi5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi42MDA3OGUxMTYzNA0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2Jq ZWN0LXNpemUtcHIxMDE4MzIuYw0KPiBAQCAtMCwwICsxLDEzNCBAQA0KPiArLyogUFIgMTAxODMy OiANCj4gKyAgIEdDQyBleHRlbnNpb24gYWNjZXB0cyB0aGUgY2FzZSB3aGVuIGEgc3RydWN0IHdp dGggYSBDOTkgZmxleGlibGUgYXJyYXkNCj4gKyAgIG1lbWJlciBpcyBlbWJlZGRlZCBpbnRvIGFu b3RoZXIgc3RydWN0IChwb3NzaWJseSByZWN1cnNpdmVseSkuDQo+ICsgICBfX2J1aWx0aW5fb2Jq ZWN0X3NpemUgd2lsbCB0cmVhdCBzdWNoIHN0cnVjdCBhcyBmbGV4aWJsZSBzaXplLg0KPiArICAg SG93ZXZlciwgd2hlbiBhIHN0cnVjdHVyZSB3aXRoIG5vbi1DOTkgZmxleGlibGUgYXJyYXkgbWVt YmVyLCBpLmUsIHRyYWlsaW5nDQo+ICsgICBbMF0sIFsxXSwgb3IgWzRdLCBpcyBlbWJlZGRlZCBp bnRvIGFudGhlciBzdHJ1Y3QsIHRoZSBzdHVjdHVyZSB3aWxsIG5vdA0KPiArICAgYmUgdHJlYXRl ZCBhcyBmbGV4aWJsZSBzaXplLiAgKi8gDQo+ICsvKiB7IGRnLWRvIHJ1biB9ICovDQo+ICsvKiB7 IGRnLW9wdGlvbnMgIi1PMiIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAiYnVpbHRpbi1vYmplY3Qt c2l6ZS1jb21tb24uaCINCj4gKw0KPiArI2RlZmluZSBleHBlY3QocCwgX3YpIGRvIHsgXA0KPiAr ICBzaXplX3QgdiA9IF92OyBcDQo+ICsgIGlmIChwID09IHYpIFwNCj4gKyAgICBfX2J1aWx0aW5f cHJpbnRmICgib2s6ICAlcyA9PSAlemRcbiIsICNwLCBwKTsgXA0KPiArICBlbHNlIHtcDQo+ICsg ICAgX19idWlsdGluX3ByaW50ZiAoIldBVDogJXMgPT0gJXpkIChleHBlY3RlZCAlemQpXG4iLCAj cCwgcCwgdik7IFwNCj4gKyAgICBGQUlMICgpOyBcDQo+ICsgIH0gXA0KPiArfSB3aGlsZSAoMCk7 DQo+ICsNCj4gKw0KPiArc3RydWN0IEEgew0KPiArICBpbnQgbjsNCj4gKyAgY2hhciBkYXRhW107 DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQiB7DQo+ICsgIGludCBtOw0KPiArICBzdHJ1Y3QgQSBh Ow0KPiArfTsNCj4gKw0KPiArc3RydWN0IEMgew0KPiArICBpbnQgcTsNCj4gKyAgc3RydWN0IEIg YjsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBBMCB7DQo+ICsgIGludCBuOw0KPiArICBjaGFyIGRh dGFbMF07DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQjAgew0KPiArICBpbnQgbTsNCj4gKyAgc3Ry dWN0IEEwIGE7DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQzAgew0KPiArICBpbnQgcTsNCj4gKyAg c3RydWN0IEIwIGI7DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQTEgew0KPiArICBpbnQgbjsNCj4g KyAgY2hhciBkYXRhWzFdOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IEIxIHsNCj4gKyAgaW50IG07 DQo+ICsgIHN0cnVjdCBBMSBhOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IEMxIHsNCj4gKyAgaW50 IHE7DQo+ICsgIHN0cnVjdCBCMSBiOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IEFuIHsNCj4gKyAg aW50IG47DQo+ICsgIGNoYXIgZGF0YVs4XTsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBCbiB7DQo+ ICsgIGludCBtOw0KPiArICBzdHJ1Y3QgQW4gYTsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBDbiB7 DQo+ICsgIGludCBxOw0KPiArICBzdHJ1Y3QgQm4gYjsNCj4gK307DQo+ICsNCj4gK3ZvbGF0aWxl IHZvaWQgKm1hZ2ljMSwgKm1hZ2ljMjsNCj4gKw0KPiAraW50IG1haW4gKGludCBhcmdjLCBjaGFy ICphcmd2W10pDQo+ICt7DQo+ICsgIHN0cnVjdCBCICpvdXRlcjsNCj4gKyAgc3RydWN0IEMgKm91 dGVzdDsNCj4gKw0KPiArICAvKiBNYWtlIHN1cmUgb3B0aW1pemF0aW9uIGNhbid0IGZpbmQgc29t ZSBvdGhlciBvYmplY3Qgc2l6ZS4gKi8NCj4gKyAgb3V0ZXIgPSAodm9pZCAqKW1hZ2ljMTsNCj4g KyAgb3V0ZXN0ID0gKHZvaWQgKiltYWdpYzI7DQo+ICsNCj4gKyAgZXhwZWN0IChfX2J1aWx0aW5f b2JqZWN0X3NpemUgKCZvdXRlci0+YSwgMSksIC0xKTsNCj4gKyAgZXhwZWN0IChfX2J1aWx0aW5f b2JqZWN0X3NpemUgKCZvdXRlc3QtPmIsIDEpLCAtMSk7DQo+ICsgIGV4cGVjdCAoX19idWlsdGlu X29iamVjdF9zaXplICgmb3V0ZXN0LT5iLmEsIDEpLCAtMSk7DQo+ICsNCj4gKyAgc3RydWN0IEIw ICpvdXRlcjA7DQo+ICsgIHN0cnVjdCBDMCAqb3V0ZXN0MDsNCj4gKw0KPiArICAvKiBNYWtlIHN1 cmUgb3B0aW1pemF0aW9uIGNhbid0IGZpbmQgc29tZSBvdGhlciBvYmplY3Qgc2l6ZS4gKi8NCj4g KyAgb3V0ZXIwID0gKHZvaWQgKiltYWdpYzE7DQo+ICsgIG91dGVzdDAgPSAodm9pZCAqKW1hZ2lj MjsNCj4gKw0KPiArICBleHBlY3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91dGVyMC0+YSwg MSksIHNpemVvZiAob3V0ZXIwLT5hKSk7DQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVjdF9z aXplICgmb3V0ZXN0MC0+YiwgMSksIHNpemVvZiAob3V0ZXN0MC0+YikpOw0KPiArICBleHBlY3Qg KF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91dGVzdDAtPmIuYSwgMSksIHNpemVvZiAob3V0ZXN0 MC0+Yi5hKSk7DQo+ICsNCj4gKyAgc3RydWN0IEIxICpvdXRlcjE7DQo+ICsgIHN0cnVjdCBDMSAq b3V0ZXN0MTsNCj4gKw0KPiArICAvKiBNYWtlIHN1cmUgb3B0aW1pemF0aW9uIGNhbid0IGZpbmQg c29tZSBvdGhlciBvYmplY3Qgc2l6ZS4gKi8NCj4gKyAgb3V0ZXIxID0gKHZvaWQgKiltYWdpYzE7 DQo+ICsgIG91dGVzdDEgPSAodm9pZCAqKW1hZ2ljMjsNCj4gKw0KPiArICBleHBlY3QgKF9fYnVp bHRpbl9vYmplY3Rfc2l6ZSAoJm91dGVyMS0+YSwgMSksIHNpemVvZiAob3V0ZXIxLT5hKSk7DQo+ ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVjdF9zaXplICgmb3V0ZXN0MS0+YiwgMSksIHNpemVv ZiAob3V0ZXN0MS0+YikpOw0KPiArICBleHBlY3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91 dGVzdDEtPmIuYSwgMSksIHNpemVvZiAob3V0ZXN0MS0+Yi5hKSk7DQo+ICsNCj4gKyAgc3RydWN0 IEJuICpvdXRlcm47DQo+ICsgIHN0cnVjdCBDbiAqb3V0ZXN0bjsNCj4gKw0KPiArICAvKiBNYWtl IHN1cmUgb3B0aW1pemF0aW9uIGNhbid0IGZpbmQgc29tZSBvdGhlciBvYmplY3Qgc2l6ZS4gKi8N Cj4gKyAgb3V0ZXJuID0gKHZvaWQgKiltYWdpYzE7DQo+ICsgIG91dGVzdG4gPSAodm9pZCAqKW1h Z2ljMjsNCj4gKw0KPiArICBleHBlY3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91dGVybi0+ YSwgMSksIHNpemVvZiAob3V0ZXJuLT5hKSk7DQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVj dF9zaXplICgmb3V0ZXN0bi0+YiwgMSksIHNpemVvZiAob3V0ZXN0bi0+YikpOw0KPiArICBleHBl Y3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91dGVzdG4tPmIuYSwgMSksIHNpemVvZiAob3V0 ZXN0bi0+Yi5hKSk7DQo+ICsNCj4gKyAgRE9ORSAoKTsNCj4gKyAgcmV0dXJuIDA7DQo+ICt9DQo+ IGRpZmYgLS1naXQgYS9nY2MvdHJlZS1jb3JlLmggYi9nY2MvdHJlZS1jb3JlLmgNCj4gaW5kZXgg YWNkOGRlZWEzNGUuLjcwNWQ1NzAyYjljIDEwMDY0NA0KPiAtLS0gYS9nY2MvdHJlZS1jb3JlLmgN Cj4gKysrIGIvZ2NjL3RyZWUtY29yZS5oDQo+IEBAIC0xNzE4LDcgKzE3MTgsOSBAQCBzdHJ1Y3Qg R1RZKCgpKSB0cmVlX3R5cGVfY29tbW9uIHsNCj4gICB1bnNpZ25lZCBlbXB0eV9mbGFnIDogMTsN Cj4gICB1bnNpZ25lZCBpbmRpdmlzaWJsZV9wIDogMTsNCj4gICB1bnNpZ25lZCBub19uYW1lZF9h cmdzX3N0ZGFyZ19wIDogMTsNCj4gLSAgdW5zaWduZWQgc3BhcmUgOiAxNTsNCj4gKyAgLyogVFlQ RV9JTkNMVURFX0ZMRVhBUlJBWSBmbGFnIGZvciBSRUNPUkRfVFlQRSBhbmQgVU5JT05fVFlQRS4g ICovDQo+ICsgIHVuc2lnbmVkIGludCB0eXBlX2luY2x1ZGVfZmxleGFycmF5IDogMTsNCj4gKyAg dW5zaWduZWQgc3BhcmUgOiAxNDsNCj4gDQo+ICAgYWxpYXNfc2V0X3R5cGUgYWxpYXNfc2V0Ow0K PiAgIHRyZWUgcG9pbnRlcl90bzsNCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLW9iamVjdC1zaXpl LmNjIGIvZ2NjL3RyZWUtb2JqZWN0LXNpemUuY2MNCj4gaW5kZXggOWE5MzZhOTE5ODMuLjIyYjNj NzJlYTZlIDEwMDY0NA0KPiAtLS0gYS9nY2MvdHJlZS1vYmplY3Qtc2l6ZS5jYw0KPiArKysgYi9n Y2MvdHJlZS1vYmplY3Qtc2l6ZS5jYw0KPiBAQCAtNjMzLDQ1ICs2MzMsNjggQEAgYWRkcl9vYmpl Y3Rfc2l6ZSAoc3RydWN0IG9iamVjdF9zaXplX2luZm8gKm9zaSwgY29uc3RfdHJlZSBwdHIsDQo+ IAkJICAgIHYgPSBOVUxMX1RSRUU7DQo+IAkJICAgIGJyZWFrOw0KPiAJCSAgY2FzZSBDT01QT05F TlRfUkVGOg0KPiAtCQkgICAgaWYgKFRSRUVfQ09ERSAoVFJFRV9UWVBFICh2KSkgIT0gQVJSQVlf VFlQRSkNCj4gKwkJICAgIC8qIFdoZW4gdGhlIHJlZiBpcyBub3QgdG8gYW4gYXJyYXksIGEgcmVj b3JkIG9yIGEgdW5pb24sIGl0DQo+ICsJCSAgICAgICB3aWxsIG5vdCBoYXZlIGZsZXhpYmxlIHNp emUsIGNvbXB1dGUgdGhlIG9iamVjdCBzaXplDQo+ICsJCSAgICAgICBkaXJlY3RseS4gICovDQo+ ICsJCSAgICBpZiAoKFRSRUVfQ09ERSAoVFJFRV9UWVBFICh2KSkgIT0gQVJSQVlfVFlQRSkNCj4g KwkJCSYmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAodikpICE9IFJFQ09SRF9UWVBFKQ0KPiArCQkJ JiYgKFRSRUVfQ09ERSAoVFJFRV9UWVBFICh2KSkgIT0gVU5JT05fVFlQRSkpDQo+IAkJICAgICAg ew0KPiAJCQl2ID0gTlVMTF9UUkVFOw0KPiAJCQlicmVhazsNCj4gCQkgICAgICB9DQo+IC0JCSAg ICBpc19mbGV4aWJsZV9hcnJheV9tZW1fcmVmID0gYXJyYXlfcmVmX2ZsZXhpYmxlX3NpemVfcCAo dik7DQo+IC0JCSAgICB3aGlsZSAodiAhPSBwdF92YXIgJiYgVFJFRV9DT0RFICh2KSA9PSBDT01Q T05FTlRfUkVGKQ0KPiAtCQkgICAgICBpZiAoVFJFRV9DT0RFIChUUkVFX1RZUEUgKFRSRUVfT1BF UkFORCAodiwgMCkpKQ0KPiAtCQkJICAhPSBVTklPTl9UWVBFDQo+IC0JCQkgICYmIFRSRUVfQ09E RSAoVFJFRV9UWVBFIChUUkVFX09QRVJBTkQgKHYsIDApKSkNCj4gLQkJCSAgIT0gUVVBTF9VTklP Tl9UWVBFKQ0KPiAtCQkJYnJlYWs7DQo+IC0JCSAgICAgIGVsc2UNCj4gLQkJCXYgPSBUUkVFX09Q RVJBTkQgKHYsIDApOw0KPiAtCQkgICAgaWYgKFRSRUVfQ09ERSAodikgPT0gQ09NUE9ORU5UX1JF Rg0KPiAtCQkJJiYgVFJFRV9DT0RFIChUUkVFX1RZUEUgKFRSRUVfT1BFUkFORCAodiwgMCkpKQ0K PiAtCQkJICAgPT0gUkVDT1JEX1RZUEUpDQo+ICsJCSAgICBpZiAoVFJFRV9DT0RFIChUUkVFX1RZ UEUgKHYpKSA9PSBSRUNPUkRfVFlQRQ0KPiArCQkJfHwgVFJFRV9DT0RFIChUUkVFX1RZUEUgKHYp KSA9PSBVTklPTl9UWVBFKQ0KPiArCQkgICAgLyogaWYgdGhlIHJlY29yZCBvciB1bmlvbiBkb2Vz IG5vdCBpbmNsdWRlIGEgZmxleGlibGUgYXJyYXkNCj4gKwkJICAgICAgIHJlY3Vyc2l2ZWx5LCBj b21wdXRlIHRoZSBvYmplY3Qgc2l6ZSBkaXJlY3RseS4gICovDQo+IAkJICAgICAgew0KPiAtCQkJ LyogY29tcHV0ZSBvYmplY3Qgc2l6ZSBvbmx5IGlmIHYgaXMgbm90IGENCj4gLQkJCSAgIGZsZXhp YmxlIGFycmF5IG1lbWJlci4gICovDQo+IC0JCQlpZiAoIWlzX2ZsZXhpYmxlX2FycmF5X21lbV9y ZWYpDQo+ICsJCQlpZiAoIVRZUEVfSU5DTFVERV9GTEVYQVJSQVkgKFRSRUVfVFlQRSAodikpKQ0K PiAJCQkgIHsNCj4gCQkJICAgIHYgPSBOVUxMX1RSRUU7DQo+IAkJCSAgICBicmVhazsNCj4gCQkJ ICB9DQo+IC0JCQl2ID0gVFJFRV9PUEVSQU5EICh2LCAwKTsNCj4gKwkJCWVsc2UNCj4gKwkJCSAg diA9IFRSRUVfT1BFUkFORCAodiwgMCk7DQo+IAkJICAgICAgfQ0KPiAtCQkgICAgd2hpbGUgKHYg IT0gcHRfdmFyICYmIFRSRUVfQ09ERSAodikgPT0gQ09NUE9ORU5UX1JFRikNCj4gLQkJICAgICAg aWYgKFRSRUVfQ09ERSAoVFJFRV9UWVBFIChUUkVFX09QRVJBTkQgKHYsIDApKSkNCj4gLQkJCSAg IT0gVU5JT05fVFlQRQ0KPiAtCQkJICAmJiBUUkVFX0NPREUgKFRSRUVfVFlQRSAoVFJFRV9PUEVS QU5EICh2LCAwKSkpDQo+IC0JCQkgICE9IFFVQUxfVU5JT05fVFlQRSkNCj4gLQkJCWJyZWFrOw0K PiAtCQkgICAgICBlbHNlDQo+IC0JCQl2ID0gVFJFRV9PUEVSQU5EICh2LCAwKTsNCj4gLQkJICAg IGlmICh2ICE9IHB0X3ZhcikNCj4gLQkJICAgICAgdiA9IE5VTExfVFJFRTsNCj4gCQkgICAgZWxz ZQ0KPiAtCQkgICAgICB2ID0gcHRfdmFyOw0KPiArCQkgICAgICB7DQo+ICsJCQkvKiBOb3cgdGhl IHJlZiBpcyB0byBhbiBhcnJheSB0eXBlLiAgKi8NCj4gKwkJCWlzX2ZsZXhpYmxlX2FycmF5X21l bV9yZWYNCj4gKwkJCSAgPSBhcnJheV9yZWZfZmxleGlibGVfc2l6ZV9wICh2KTsNCj4gKwkJCXdo aWxlICh2ICE9IHB0X3ZhciAmJiBUUkVFX0NPREUgKHYpID09IENPTVBPTkVOVF9SRUYpDQo+ICsJ CQlpZiAoVFJFRV9DT0RFIChUUkVFX1RZUEUgKFRSRUVfT1BFUkFORCAodiwgMCkpKQ0KPiArCQkJ ICAgICAgIT0gVU5JT05fVFlQRQ0KPiArCQkJICAgICYmIFRSRUVfQ09ERSAoVFJFRV9UWVBFIChU UkVFX09QRVJBTkQgKHYsIDApKSkNCj4gKwkJCQkgIT0gUVVBTF9VTklPTl9UWVBFKQ0KPiArCQkJ ICBicmVhazsNCj4gKwkJCWVsc2UNCj4gKwkJCSAgdiA9IFRSRUVfT1BFUkFORCAodiwgMCk7DQo+ ICsJCQlpZiAoVFJFRV9DT0RFICh2KSA9PSBDT01QT05FTlRfUkVGDQo+ICsJCQkgICAgJiYgVFJF RV9DT0RFIChUUkVFX1RZUEUgKFRSRUVfT1BFUkFORCAodiwgMCkpKQ0KPiArCQkJCSA9PSBSRUNP UkRfVFlQRSkNCj4gKwkJCSAgew0KPiArCQkJICAgIC8qIGNvbXB1dGUgb2JqZWN0IHNpemUgb25s eSBpZiB2IGlzIG5vdCBhDQo+ICsJCQkgICAgICAgZmxleGlibGUgYXJyYXkgbWVtYmVyLiAgKi8N Cj4gKwkJCSAgICBpZiAoIWlzX2ZsZXhpYmxlX2FycmF5X21lbV9yZWYpDQo+ICsJCQkgICAgICB7 DQo+ICsJCQkJdiA9IE5VTExfVFJFRTsNCj4gKwkJCQlicmVhazsNCj4gKwkJCSAgICAgIH0NCj4g KwkJCSAgICB2ID0gVFJFRV9PUEVSQU5EICh2LCAwKTsNCj4gKwkJCSAgfQ0KPiArCQkJd2hpbGUg KHYgIT0gcHRfdmFyICYmIFRSRUVfQ09ERSAodikgPT0gQ09NUE9ORU5UX1JFRikNCj4gKwkJCSAg aWYgKFRSRUVfQ09ERSAoVFJFRV9UWVBFIChUUkVFX09QRVJBTkQgKHYsIDApKSkNCj4gKwkJCQkh PSBVTklPTl9UWVBFDQo+ICsJCQkgICAgICAmJiBUUkVFX0NPREUgKFRSRUVfVFlQRSAoVFJFRV9P UEVSQU5EICh2LCAwKSkpDQo+ICsJCQkJICAgIT0gUVVBTF9VTklPTl9UWVBFKQ0KPiArCQkJICAg IGJyZWFrOw0KPiArCQkJICBlbHNlDQo+ICsJCQkgICAgdiA9IFRSRUVfT1BFUkFORCAodiwgMCk7 DQo+ICsJCQlpZiAodiAhPSBwdF92YXIpDQo+ICsJCQkgIHYgPSBOVUxMX1RSRUU7DQo+ICsJCQll bHNlDQo+ICsJCQkgIHYgPSBwdF92YXI7DQo+ICsJCSAgICAgIH0NCj4gCQkgICAgYnJlYWs7DQo+ IAkJICBkZWZhdWx0Og0KPiAJCSAgICB2ID0gcHRfdmFyOw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Ry ZWUtc3RyZWFtZXItaW4uY2MgYi9nY2MvdHJlZS1zdHJlYW1lci1pbi5jYw0KPiBpbmRleCBkNGRj MzBmMDQ4Zi4uYzE5ZWRlMDYzMWQgMTAwNjQ0DQo+IC0tLSBhL2djYy90cmVlLXN0cmVhbWVyLWlu LmNjDQo+ICsrKyBiL2djYy90cmVlLXN0cmVhbWVyLWluLmNjDQo+IEBAIC0zOTAsNiArMzkwLDcg QEAgdW5wYWNrX3RzX3R5cGVfY29tbW9uX3ZhbHVlX2ZpZWxkcyAoc3RydWN0IGJpdHBhY2tfZCAq YnAsIHRyZWUgZXhwcikNCj4gICAgICAgVFlQRV9UUkFOU1BBUkVOVF9BR0dSIChleHByKSA9ICh1 bnNpZ25lZCkgYnBfdW5wYWNrX3ZhbHVlIChicCwgMSk7DQo+ICAgICAgIFRZUEVfRklOQUxfUCAo ZXhwcikgPSAodW5zaWduZWQpIGJwX3VucGFja192YWx1ZSAoYnAsIDEpOw0KPiAgICAgICBUWVBF X0NYWF9PRFJfUCAoZXhwcikgPSAodW5zaWduZWQpIGJwX3VucGFja192YWx1ZSAoYnAsIDEpOw0K PiArICAgICAgVFlQRV9JTkNMVURFX0ZMRVhBUlJBWSAoZXhwcikgPSAodW5zaWduZWQpIGJwX3Vu cGFja192YWx1ZSAoYnAsIDEpOw0KPiAgICAgfQ0KPiAgIGVsc2UgaWYgKFRSRUVfQ09ERSAoZXhw cikgPT0gQVJSQVlfVFlQRSkNCj4gICAgIFRZUEVfTk9OQUxJQVNFRF9DT01QT05FTlQgKGV4cHIp ID0gKHVuc2lnbmVkKSBicF91bnBhY2tfdmFsdWUgKGJwLCAxKTsNCj4gZGlmZiAtLWdpdCBhL2dj Yy90cmVlLXN0cmVhbWVyLW91dC5jYyBiL2djYy90cmVlLXN0cmVhbWVyLW91dC5jYw0KPiBpbmRl eCBkMTA3MjI5ZGE1Yy4uNzNlNGI0ZTU0N2MgMTAwNjQ0DQo+IC0tLSBhL2djYy90cmVlLXN0cmVh bWVyLW91dC5jYw0KPiArKysgYi9nY2MvdHJlZS1zdHJlYW1lci1vdXQuY2MNCj4gQEAgLTM1Nyw2 ICszNTcsNyBAQCBwYWNrX3RzX3R5cGVfY29tbW9uX3ZhbHVlX2ZpZWxkcyAoc3RydWN0IGJpdHBh Y2tfZCAqYnAsIHRyZWUgZXhwcikNCj4gICAgICAgYnBfcGFja192YWx1ZSAoYnAsIGZsYWdfd3Bh ICYmIFRZUEVfQ0FOT05JQ0FMIChleHByKQ0KPiAJCQkgPyBUWVBFX0NYWF9PRFJfUCAoVFlQRV9D QU5PTklDQUwgKGV4cHIpKQ0KPiAJCQkgOiBUWVBFX0NYWF9PRFJfUCAoZXhwciksIDEpOw0KPiAr ICAgICAgYnBfcGFja192YWx1ZSAoYnAsIFRZUEVfSU5DTFVERV9GTEVYQVJSQVkgKGV4cHIpLCAx KTsNCj4gICAgIH0NCj4gICBlbHNlIGlmIChUUkVFX0NPREUgKGV4cHIpID09IEFSUkFZX1RZUEUp DQo+ICAgICBicF9wYWNrX3ZhbHVlIChicCwgVFlQRV9OT05BTElBU0VEX0NPTVBPTkVOVCAoZXhw ciksIDEpOw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUuaCBiL2djYy90cmVlLmgNCj4gaW5kZXgg YzY1NmNkNWI3YmYuLmEyN2I5YmI0M2JjIDEwMDY0NA0KPiAtLS0gYS9nY2MvdHJlZS5oDQo+ICsr KyBiL2djYy90cmVlLmgNCj4gQEAgLTc3OCw2ICs3NzgsMTIgQEAgZXh0ZXJuIHZvaWQgb21wX2Ns YXVzZV9yYW5nZV9jaGVja19mYWlsZWQgKGNvbnN0X3RyZWUsIGNvbnN0IGNoYXIgKiwgaW50LA0K PiAjZGVmaW5lIFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdfUChOT0RFKSBcDQo+ICAgKFRZUEVf Q0hFQ0sgKE5PREUpLT50eXBlX2NvbW1vbi5ub19uYW1lZF9hcmdzX3N0ZGFyZ19wKQ0KPiANCj4g Ky8qIFRydWUgaWYgdGhpcyBSRUNPUkRfVFlQRSBvciBVTklPTl9UWVBFIGluY2x1ZGVzIGEgZmxl eGlibGUgYXJyYXkgbWVtYmVyDQo+ICsgICBhdCB0aGUgbGFzdCBmaWVsZCByZWN1cnNpdmVseS4g ICovDQo+ICsjZGVmaW5lIFRZUEVfSU5DTFVERV9GTEVYQVJSQVkoTk9ERSkgXA0KPiArICAoVFlQ RV9DSEVDSyAoTk9ERSktPnR5cGVfY29tbW9uLnR5cGVfaW5jbHVkZV9mbGV4YXJyYXkpDQo+ICsN Cj4gKw0KPiAvKiBJbiBhbiBJREVOVElGSUVSX05PREUsIHRoaXMgbWVhbnMgdGhhdCBhc3NlbWJs ZV9uYW1lIHdhcyBjYWxsZWQgd2l0aA0KPiAgICB0aGlzIHN0cmluZyBhcyBhbiBhcmd1bWVudC4g ICovDQo+ICNkZWZpbmUgVFJFRV9TWU1CT0xfUkVGRVJFTkNFRChOT0RFKSBcDQo+IC0tIA0KPiAy LjMxLjENCj4gDQoNCg==