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 954DF3858D35 for ; Fri, 16 Jun 2023 19:34:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 954DF3858D35 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 35GCihtp026809; Fri, 16 Jun 2023 19:34:30 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=Kv/NOIwIQ+7fI4uBBxlRipuFTtpqLb/JMJAknGwfJiA=; b=BlRoUhTUs3AdInp5LcuwNpVX+ofwVQxrXXqrTIujfQsGyqGcepNUlWmwbPQ9Q52B8qEN X9Zdb1rLzpHIKxBdr6QRtjKN4PmToL4vQMdcljU7rruXjN5iBwsRw6dXvTOSkQkb7aFn BujAA9CDDkJ6tx7epk0v4PmzXsrmYChozZqJFwXIwtnFNWxATz9hdNJlO3OrWx2Y5HUL YF7iL4tHMtJHHJwi5iAi5ZS9S31NCUi759s7oI9O26S1rIKBhpkL+pu94pKX8UciJ+Rj gvbG0y6bwc5BqjCg8k3ObvMjf8PnW/iJnNSq9kXts7tePviZ6EaTVt2B6M7tPyUb0sKt SA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4h2avumy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jun 2023 19:34:30 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35GIYSkl012418; Fri, 16 Jun 2023 19:34:28 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2102.outbound.protection.outlook.com [104.47.70.102]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fmew309-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Jun 2023 19:34:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MRU+jla/zbBG/aJM3iHjH7evp6/NplVNKtsfy4XN080rJdBrwK+BsttFu4VvdOy7FwTZNCuOQHB97YjFrmcE8DROpJxlRW3i+AEy2qX59WkPcjqp7+jOl5JgDzUMkDBECqJ3jxx6G2t7ynCER7BhbQ7+8SO6NweAXqqhf7BHtwOOGyYgVjWtfU/3yU3Vh3yb7NwAVpBhNxhsUxKXEz5jocDSWSR2yWjdESrglOp0KWyQhtpUu8+jAai4ujt0a9OkdHr11vsg1y9Xwawssqd/w/p745a56Y8P45aJK9AZwQtL7eI4G5D9VYVZOKkzpAaWFb1tEDUhkZ5V9U0zpppUqA== 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=Kv/NOIwIQ+7fI4uBBxlRipuFTtpqLb/JMJAknGwfJiA=; b=aE/BdFHdtt9xhiXsLe5RGC0/JJ5ImMOsatodOgQmu5b42v4/KIVq7M4A5KBx9jLjvBTOlXJW+JX0foAD6bgYkOdcdJ03IZdZcvE/f4W7WppDTTjnwEGMUxV7uqCgc3o/L3k5jUbr4Qk162OnkJYVk1Vq36jX0ye/0bL/EnkvjZNw7k+EXQ5FoiRBI8MQXUFxTqa9HxqoEffBRmrt3HiILm/UhyU3zGsIriv6Ko7aCRR3epS8EL9SBSmHDi5zd/9eS+mdjCZEizjU9wpVuFx4KAhvu3IQHty5PEczGoHfY5419qKAwMOWFck0zubpvUxxXeENWLuo79RvtNfgq3T4aA== 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=Kv/NOIwIQ+7fI4uBBxlRipuFTtpqLb/JMJAknGwfJiA=; b=SExXY/tHzCPrmGW4vpZ1vyHsqcrXpVKGYG9CEGGo4nJ2sispHPKELOEPbuesFPohm1+FPMCvLLFb95prE+a3jLoymC/1i8qWbX1vEwKzSiHQIJCMGXjxrVd5FPVUsPts9KBXJ1T4VhbbFclm+/hhstoQQJcqc0MaSixJ4B8KUpU= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SJ0PR10MB5834.namprd10.prod.outlook.com (2603:10b6:a03:3ee::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Fri, 16 Jun 2023 19:34:25 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323%3]) with mapi id 15.20.6500.025; Fri, 16 Jun 2023 19:34:25 +0000 From: Qing Zhao To: Alexandre Oliva CC: "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH zero-call-used-regs] Add leafy mode for zero-call-used-regs Thread-Topic: [PATCH zero-call-used-regs] Add leafy mode for zero-call-used-regs Thread-Index: AQHY5R8glGL+nttrvkurYI0QgXksV64Y5+UAgAWGm3+AANJzAIAB+QzfgAEMOwCBbDdbAYAAy0kA Date: Fri, 16 Jun 2023 19:34:25 +0000 Message-ID: <80999785-4FFD-4C6E-B501-57E92F45053A@oracle.com> References: <66ECAC37-E763-4469-B31A-7A2B031026F4@oracle.com> <0DA25420-AE6D-418B-B2F6-7A99BCC34345@oracle.com> <3CF608E7-C293-4627-8FE9-8B580D69D764@oracle.com> In-Reply-To: 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_|SJ0PR10MB5834:EE_ x-ms-office365-filtering-correlation-id: 07932182-31a2-490b-33b2-08db6ea0b1be x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MK7k41sjlqdBMw+pGy0NIV/acLN96UlI1oz2Zb9NpDT1JXSbcRncmBehdpTAs1Ks4FeI8w/GeRglTekYzpD+2TNDDNt6VwQKmjp2BmML6PSDVZBRi35/cQsiqc8GWhgZDE13xuaAxeksQxpisYibxllwuq0DgPL8imMYT02aiAQa9g6SyKVmrli5pjaOVmoqH+gqSaMQd5CMzvvjyj8D5EWuD6WRgrMBIISejIHN+9WlrDz07cLYkiEGFIZkC0kBd+q3AP3OYDB0B9IiKTjW3bYYMsBqInl3yncPWrKI+Wo6o0btew/I1hbik11LvR0CuVM3g3ws2SE+1HxEbQLPljBp+z5B7D1I9cFsQl71rsK+CIqbV5wIJxGdmlz0lK9tOqge6l8tpUw5uuf1hz1UhQEe/twDszGn60Vc2NThXU/Jfx7Xc3CibrJK/gcLIsVXDJNAW7Yb+yI1zCenqgRblgiOKfQHuGXo2xjPMMMBMkM8oqdcw+YNe4c8afb8uuEXzKamDJ8m78JlgLd5bYLskHbQ2BGvcZQ9ph0E3lfi/z2UfRHHUVW2KYtx/tteki9VjXthJP7eTg5evEuj4ndVi1mmnNG34MbkOj7QN6Rh+YdAStaYnW/TB3gZ8NZIIMN75Z+HVfjQK/b5LO7naO/9+Q== 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)(136003)(366004)(376002)(346002)(396003)(451199021)(30864003)(2906002)(38070700005)(2616005)(83380400001)(84970400001)(44832011)(5660300002)(66899021)(8676002)(186003)(8936002)(316002)(38100700002)(86362001)(66946007)(33656002)(66556008)(66476007)(91956017)(6486002)(76116006)(71200400001)(6512007)(53546011)(6506007)(36756003)(122000001)(966005)(41300700001)(64756008)(4326008)(66446008)(6916009)(478600001)(2004002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c0JxTkZkallDMXhUbnBIbmtTZ1hQQkZJWEgxYW1qN2MwQUx4T2RPZ0s2VnN3?= =?utf-8?B?MVp5TlZCaUE4Y0pJbEtDRHhtRUIxdGk2VlpoKy9LQVlHU1RTaE9ta0h1WnhF?= =?utf-8?B?eHd0OWJ2VXVBTFR0TVNYVUlPVmp4R0hDMDVnRFRGSStLaGd2Nm9Ca3owUzE3?= =?utf-8?B?Z0VTYmhjK2pMWVAvWWNORHQxeXJVZHdma2duT2oxVlFrb1pvRGxrdTlUQVBp?= =?utf-8?B?SDlha3NkSVMxa3QxZis2Q3NCelYzRndHbXdsRG1hU0QyU1NNaU84Y0JZQkhU?= =?utf-8?B?OWp3eUlJaXpkYVB5N2syYTFWT3VQNUMwZVh1N3hzZm1HY3lBVzdxd3pCcXVo?= =?utf-8?B?R2h3SjNEWVRjeG1CbERRYVZNZWdEYnBFbDVmWm5sSm1yTC9oUkFXKzZXV0FG?= =?utf-8?B?THg4ZXNmakQ0YkhLT0N1RFlSa3JyUExBRXdCaFF3SUltbml4S3ZSbHI4OGdO?= =?utf-8?B?Tk93NDIwcVhtSGdVZkZBOHhhcFkra2pUaEU4b1BkYWUxOWxYWklLQ21xL1Ri?= =?utf-8?B?OEk2U0ZHQ2ZUNVR0REoxcjZKNm9XNUNmMXBCME0ySllaMTNpQ3k2RVBLQk45?= =?utf-8?B?KzJWWHBxZGpVYkxKcW1CODdoRlFFbXlxOVFLY3dVbW1TbTBXM01UNDFOWWta?= =?utf-8?B?dUFDaHU1U3lVT1c2aVhOVHBhL0Y3cTNJSWRNekIwa0VaVk9JQm05aGJhRXI3?= =?utf-8?B?UUsrKyszQkdXQlpGWEFKTnlXM1RlRjNibUI4YktkZjVRdXRheTlmd0d3bGdZ?= =?utf-8?B?SUlxVm9relk5MHpweWw2UmZHNTRaRXBGTGVuQVZWK2gxcng3SkxEVC9xNmYz?= =?utf-8?B?eGJWVTBvS0UzTklzTXJGSkZUSWhmK1ovNzd2WlpWQ3FjR0d5djBPSkdJK2xq?= =?utf-8?B?QVdKeUdBM2g5T2FRNG9zWmZ6Z0JsQXc3MWM3QkgwVXY2MHl1NnR5cHBVMzEr?= =?utf-8?B?MjltczU5aXB5dnBFMmZlNTU0V2lyeFJYTUxYT3dMUW95WWtSS0RRcjNEUS9Q?= =?utf-8?B?VTM1dlB1Z3RJcmY5ZGdXWHN4aGlYSnNoRDZNUkF5UVRzRFFZRFhTMERCQ0xB?= =?utf-8?B?QnRFTEdjb3dqSDRQK2UvT2VjTDhBakIrMEN4eXduYVhyVDhLUUh4K1BSbWlo?= =?utf-8?B?QnhLTDFOZWx0MzJIVWRKQmNqQXBSczBPM2pWdExZZXRmckJtL0txanhIdmpI?= =?utf-8?B?V1RvckVjTXJ5bnJDOVRrZUIzeFVSWDJGbDRIZzMyRGtDS1hvSmYwUzVWMW9k?= =?utf-8?B?SmNVZHFSUEY0N0IvRGJCOWNKeCtIMExhMm14SkQ3Q1FVRktzbFNoVGxOeFZl?= =?utf-8?B?dzNVcjA2aFUzUDJHNEdVUitlcWpobC96ZWF6US9HakVlZ2lza1pRTzZXWnNV?= =?utf-8?B?QThGOW9IcVhQRFZmamtpQ05YUUFSeE14dTlQMjcxbTE0OHFpYXpNckwzL2lu?= =?utf-8?B?MmZLbDFtS0M0U2FiR3JpUURYNFVXYjUzUUc0UnJmNVltcjlUZUYvRjRUa0ow?= =?utf-8?B?bWRBWW43Mk1JQlJ3cU5QNmpsWitRcjZVU1BJWEJ0Y0FHR0xsckFsN0pPMHk2?= =?utf-8?B?YjBRUE9LSkFxbXRSQmpqTGxoOVRpSmR6eWhrL1JJTG04cy9PS0hyakFiWmxL?= =?utf-8?B?MVRPcFBEbVFSWEhCbjdnd1RUOTgzbFVEbjNGMDhwY2ZpQ3E5bmNpTjNIQUhU?= =?utf-8?B?TEp4SnRQMFhjTnN4SENwUDNEQ1dhellvZzJwSTFENjFvZk1yQ2h4SlYvejdv?= =?utf-8?B?WVhSbE00b2lvWWI3VzRPL0YyOFVFSXpKR0hucTFRSFo2V0JXbElRaFNQYm1i?= =?utf-8?B?WmdjdFRZQjUydHlCVnFOYkl0bWxQZEhHR0ZIcWJIUTBrbG5HMWZ2dnlaWndG?= =?utf-8?B?VXQ1T2lkNHFIeE4wcDRMUFNNUzh0c0x3NGtZQmFMM1l6bEEreUdFV25KUEZt?= =?utf-8?B?TFl0OTUzclVqZVN5NFdXMERiNEUwZGxHa2grV2FVeUFKQVdNbXJkU1JqdkIz?= =?utf-8?B?dk1xdnE0VjhhYXJqb2NMN2E5UDliSUJrU0FFbzhxcENFV1ZSU0FwUXVvSVAr?= =?utf-8?B?aml2d2d0NWZWZ1BZNUVST0V6UVRCOVA0aHZGQ3pBRHk0WWFGRGFlZXZnYldD?= =?utf-8?B?cm1PVlAyNDNTTC9abDJ6eFl1a3NVdmFvRVYralJOb0NkVmRKeXJlRG1WTk9h?= =?utf-8?Q?rgbh004c5npYvJ2JbebfIRM=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <6C3AFAE1F324354FB912C85579A0834A@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: OCLic3yl44FCwxJreBNHKXOk2Kwq9kbOfNtmdkhFMUPuNys0icQBqyIGdxIkUaMcnOLm1ieD3ee66TTWuEeodIOEBGnquTDSbD4+/P6wc/UTZCfAy42YEyppk/7klhu3Qgf9pYEe+AuJ2SNB63GHrN9vVewZXJ0CXPq9+ElHyG75xDWWx93mErc1qfQpJwoNzjYdxseYoDMTj0jm1OTl2fMJE5Xz10IKpzglCJQGvKoU9IZPzcqF6J5NBKsjfTXEy+c1z3RRqUHncy6NGXheecjZkv9HgniyJR+9MBl86VCOghxrZ+Q94xh5Ndn/2GXc0g7C2+8FoS+V+hxzOuyKENV9U8VYgAqDDPBJhQnrDuwthw/6nQSyboTQo03mHOcjSoJpwbk8kZfp0F1PVUFbcyJ8qAh7nBe0ZQW0J6gis2giUqxFnCyCwWTGiHGks6KqBBZxysT93wqydiVGeM1uIiaBSE7mxHPRSW5z2ykaHoGtsOag33AWMHVF9jHJLMxEtD3d7dFhbRHAZ7PvH1WDz18D9Hp20uWBgIaTO+k0JDAWDwUCkF+FDP0jRkQRYy+am1wEQgUBA48Li8UJQfShXet9VBou7G4ja5wspkl70WqgWWIqR0vyrCZitT7e1ojbE31Xn3O92L2eD/V+gti4avZV61GsEuzCXoCai7hYQUhJcUUNJXeHcJ1U6Vh3eFmdtZXSvRaqj5UlAEfTeLxTNcJ+/AciCDwEWkPuvxZOGswWDhf10FIQIPqlVf2XHEcaP3SkPgUJIfpdu9UPNXF8P8e4TfZEo/rK2Nsv4TytU78= 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: 07932182-31a2-490b-33b2-08db6ea0b1be X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2023 19:34:25.8669 (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: LkFKuU6EuU+MRlxhPTmiet6DPgvSLAM6yoi7wOESh7ZDEif3kWP+ATfhjsowVVFkzxGmSYOCCLngft4jEmPnMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5834 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-06-16_13,2023-06-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 malwarescore=0 mlxscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306160177 X-Proofpoint-ORIG-GUID: qDl3X1a7WQHDjcCbjR-mHoa3yDjzde8E X-Proofpoint-GUID: qDl3X1a7WQHDjcCbjR-mHoa3yDjzde8E X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: SGksIEFsZXhhbmRyZSwNCg0KPiBPbiBKdW4gMTYsIDIwMjMsIGF0IDM6MjYgQU0sIEFsZXhhbmRy ZSBPbGl2YSA8b2xpdmFAYWRhY29yZS5jb20+IHdyb3RlOg0KPiANCj4gSGVsbG8sIFFpbmcsDQo+ IA0KPiBPbiBPY3QgMjcsIDIwMjIsIFFpbmcgWmhhbyA8cWluZy56aGFvQG9yYWNsZS5jb20+IHdy b3RlOg0KPiA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMi1P Y3RvYmVyLzYwNDQ4MC5odG1sPg0KPiANCj4+IE9uIE9jdCAyNiwgMjAyMiwgYXQgNToyOSBQTSwg QWxleGFuZHJlIE9saXZhIDxvbGl2YUBhZGFjb3JlLmNvbT4gd3JvdGU6DQo+Pj4gSSdtIHN1cmUg dGhlcmUgYXJlIG90aGVyIHNjZW5hcmlvcyBpbiB3aGljaCBrZWVwaW5nIGF0IGxlYXN0IHRoZQ0K Pj4+IHBvc3NpYmlsaXR5IG9mICdhbGwnIGlzIHVzZWZ1bC4NCj4+IE9rYXkuDQo+IA0KPiANCj4+ IGkuZSwgaW5zdGVhZCBpbnRyb2R1Y2luZyBhIG5ldyBNT0RFIOKAnExFQUZZX01PREXigJ0gYW5k IGEgbmV3IHVzZXINCj4+IHN1Yi1vcHRpb24sIGZvciBMRUFGIGZ1bmN0aW9ucywgb25seQ0KPj4g Q2xlYXIgaXRz4oCZIHVzZWQgcmVnaXN0ZXJzIGV2ZW4gZm9yIOKAnEFMTOKAnS4NCj4gDQo+PiBI b3dldmVyLCBzaW5jZSB0aGVyZSBpcyBuZWVkIHRvIGNsZWFyIHRoZSB1bi11c2VkIHJlZ2lzdGVy cyBmb3IgbGVhZg0KPj4gZnVuY3Rpb25zLiBJdCBsb29rcyBsaWtlIGl0IGlzIG5lZWRlZCB0byBw cm92aWRlDQo+PiBUaGlzIG5ldyBzdWItb3B0aW9uIHRvIHVzZXJzLg0KPiANCj4+IElzIHRoaXMg Y2xlYXIgdGhpcyB0aW1lPw0KPiANCj4gWWVhaCwgSSBndWVzcyBJIHVuZGVyc3RhbmQgd2hhdCB5 b3UgbWVhbi4gIEJ1dCBzaW5jZSB0aGVyZSBhcmUgY2FzZXMgaW4NCj4gd2hpY2ggY2xlYXJpbmcg YWxsIChjYWxsLWNsb2JiZXJlZCkgcmVnaXN0ZXJzIGluIGEgbGVhZiBmdW5jdGlvbiBpcw0KPiB1 c2VmdWwsIEkgc3VwcG9zZSBpdCBtYWtlcyBzZW5zZSB0byBvZmZlciBib3RoIHBvc3NpYmlsaXRp ZXMuDQphZ3JlZWQuDQo+IA0KPiBJZiB0aGVyZSB3YXMgYSBkZWZhdWx0IG9wZXJhdGlvbiBtb2Rl IGZvciAtZnplcm8tY2FsbC11c2VkLXJlZ3MsIEkgZ3Vlc3MNCj4gaXQgd291bGQgbWFrZSBzZW5z ZSB0byBjb25zaWRlciBsZWFmeSB0aGUgZGVmYXVsdCwgcmF0aGVyIHRoYW4gYWxsLCBidXQNCj4g c2luY2UgdGhlcmUgaXNuJ3QsIGFuZCBpdCBhbHdheXMgaGFzIHRvIGJlIHNwZWNpZmllZCBleHBs aWNpdGx5LCB0aGF0J3MNCj4gbm90IHNvbWV0aGluZyB0byBiZSBjb25zaWRlcmVkLg0KPiANCj4g U28gdGhlIGF2YWlsYWJsZSBjaG9pY2VzIGFyZToNCj4gDQo+IDEuIGludHJvZHVjZSAnbGVhZnkn IGFzIGEgc2VwYXJhdGUgbW9kZSwgbGVhdmluZyAnYWxsJyBhbG9uZQ0KPiANCj4gMi4gY2hhbmdl IHRoZSBiZWhhdmlvciBvZiAnYWxsJyB0byB0aGF0IG9mIHRoZSBwcm9wb3NlZCAnbGVhZnknLCBh bmQgZWl0aGVyDQo+IA0KPiAyLmEpIGFkZCBhbm90aGVyIG1vZGUgdGhhdCByZXRhaW5zIHRoZSBj dXJyZW50bHktdXNlZnVsIGJlaGF2aW9yIG9mICdhbGwnLA0KPiAgIG9yDQo+IA0KPiAyLmIpIG1h a2UgdGhlIGN1cnJlbnQgYmVoYXZpb3Igb2YgJ2FsbCcgbm8gbG9uZ2VyIGF2YWlsYWJsZQ0KPiAN Cj4gUGVyc29uYWxseSwgSSBmaW5kIDEuIHRoZSBsZWFzdCBkaXNydXB0aXZlIHRvIGV4aXN0aW5n IHVzZXJzIG9mDQo+IC1memVyby1jYWxsLXVzZWQtcmVncy4gIElmIHdlIHdlcmUgaW50cm9kdWNp bmcgdGhlIG9wdGlvbiBub3csIG1heWJlIDIuYQ0KPiB3b3VsZCBiZSBtb3JlIHNlbnNpYmxlLCBi dXQgYXQgdGhpcyBwb2ludCwgY2hhbmdpbmcgdGhlIG1lYW5pbmcgb2YgJ2FsbCcNCj4gc2VlbXMg dG8gYmUgYSBkaXNzZXJ2aWNlIHRvIHNlY3VyaXR5LXNlbnNpdGl2ZSB1c2Vycy4NCj4gDQo+IFRo b3NlIHdobyB3b3VsZCBwcmVmZXIgdGhlIGxlYW5lciBvcGVyYXRpb24gb24gbGVhZiBmdW5jdGlv bnMgY2FuIHRoZW4NCj4gc3dpdGNoIHRvICdsZWFmeScgbW9kZSwgYnV0IHRoYXQncyBiZXR0ZXIg dGhhbiBmaW5kaW5nIGNhcmVmdWxseS1jcmFmdGVkDQo+IGNvZGUgcmVseWluZyBvbiB0aGUgY3Vy cmVudCBiZWhhdmlvciBvZiAnYWxsJyBmb3Igc2VjdXJpdHkgc3VkZGVubHkNCj4gY2hhbmdlcyBm cm9tIHVuZGVyIHRoZW0sIGlzbid0IGl0Pw0KDQpZZXMsIEkgYWdyZWUuDQo+IA0KPiANCj4gVGhh dCBzYWlkLCBJJ20gd2lsbGluZyB0byBpbXBsZW1lbnQgdGhlIGFsdGVybmF0ZSBjaGFuZ2UsIGlm IGNoYW5naW5nDQo+IHRoZSBleHBlY3RlZCBiZWhhdmlvciBpcyBwcmVmZXJyZWQgb3ZlciBvZmZl cmluZyBhIGRpZmZlcmVudCBjaG9pY2UsIGlmDQo+IG5lZWRlZCB0byBnZXQgY2xvc3VyZSBvbiB0 aGlzIGZlYXR1cmUuDQo+IA0KPiBGb3Igbm93LCBJJ20ganVzdCBwaW5naW5nIHRoZSByZWZyZXNo ZWQgYW5kIHJldGVzdGVkIHBhdGNoLg0KDQpBcyBJIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMg cm91bmQgb2YgcmV2aWV3LCBJIHRoaW5rIHRoYXQgdGhlIGRvY3VtZW50YXRpb24NCiBtaWdodCBu ZWVkIHRvIGFkZCBtb3JlIGRldGFpbHMgb24gd2hhdOKAmXMgdGhlIExFQUZZIG1vZGUsDQpUaGUg cHVycG9zZSBvZiBpdCwgYW5kIGhvdyB0byB1c2UgaXQsIHByb3ZpZGUgbW9yZSBkZXRhaWxzIHRv IHRoZSBlbmQtdXNlcnMuDQoNCg0KPiBPayB0byBpbnN0YWxsPw0KPiANCj4gDQo+IEFkZCBsZWFm eSBtb2RlIGZvciB6ZXJvLWNhbGwtdXNlZC1yZWdzDQo+IA0KPiBJbnRyb2R1Y2UgJ2xlYWZ5JyB0 byBhdXRvLXNlbGVjdCBiZXR3ZWVuICd1c2VkJyBhbmQgJ2FsbCcgZm9yIGxlYWYgYW5kDQo+IG5v bmxlYWYgZnVuY3Rpb25zLCByZXNwZWN0aXZlbHkuDQo+IA0KPiANCj4gZm9yICBnY2MvQ2hhbmdl TG9nDQo+IA0KPiAJKiBkb2MvZXh0ZW5kLnRleGkgKHplcm8tY2FsbC11c2VkLXJlZ3MpOiBEb2N1 bWVudCBsZWFmeSBhbmQNCj4gCXZhcmlhbnRzIHRoZXJlb2YuDQo+IAkqIGZsYWctdHlwZXMuaCAo emVyb19yZWdzX2ZsYWdzKTogQWRkIExFQUZZX01PREUsIGFzIHdlbGwgYXMNCj4gCUxFQUZZIGFu ZCB2YXJpYW50cy4NCj4gCSogZnVuY3Rpb24uY2MgKGdlbl9jYWxsX3VlZF9yZWdzX3NlcSk6IFNl dCBvbmx5X3VzZWQgZm9yIGxlYWYNCj4gCWZ1bmN0aW9ucyBpbiBsZWFmeSBtb2RlLg0KPiAJKiBv cHRzLmNjICh6ZXJvX2NhbGxfdXNlZF9yZWdzX29wdHMpOiBBZGQgbGVhZnkgYW5kIHZhcmlhbnRz Lg0KPiANCj4gZm9yICBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZw0KPiANCj4gCSogYy1jKystY29t bW9uL3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTEuYzogTmV3Lg0KPiAJKiBjLWMrKy1jb21tb24v emVyby1zY3JhdGNoLXJlZ3MtbGVhZnktMi5jOiBOZXcuDQo+IAkqIGdjYy50YXJnZXQvaTM4Ni96 ZXJvLXNjcmF0Y2gtcmVncy1sZWFmeS0xLmM6IE5ldy4NCj4gCSogZ2NjLnRhcmdldC9pMzg2L3pl cm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTIuYzogTmV3Lg0KPiAtLS0NCj4gZ2NjL2RvYy9leHRlbmQu dGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIyICsrKysrKysrKysrKysr KysrKy0tDQo+IGdjYy9mbGFnLXR5cGVzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgNSArKysrKw0KPiBnY2MvZnVuY3Rpb24uY2MgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDMgKysrDQo+IGdjYy9vcHRzLmNjICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKysrDQo+IC4uLi9jLWMrKy1jb21tb24vemVy by1zY3JhdGNoLXJlZ3MtbGVhZnktMS5jICAgICAgIHwgICAxNSArKysrKysrKysrKysrKw0KPiAu Li4vYy1jKystY29tbW9uL3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTIuYyAgICAgICB8ICAgMjEg KysrKysrKysrKysrKysrKysrKw0KPiAuLi4vZ2NjLnRhcmdldC9pMzg2L3plcm8tc2NyYXRjaC1y ZWdzLWxlYWZ5LTEuYyAgICB8ICAgMTIgKysrKysrKysrKysNCj4gLi4uL2djYy50YXJnZXQvaTM4 Ni96ZXJvLXNjcmF0Y2gtcmVncy1sZWFmeS0yLmMgICAgfCAgIDE2ICsrKysrKysrKysrKysrKw0K PiA4IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi96ZXJvLXNjcmF0Y2gt cmVncy1sZWFmeS0xLmMNCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvYy1jKyst Y29tbW9uL3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTIuYw0KPiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvemVyby1zY3JhdGNoLXJlZ3MtbGVhZnktMS5j DQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni96ZXJv LXNjcmF0Y2gtcmVncy1sZWFmeS0yLmMNCj4gDQo+IGRpZmYgLS1naXQgYS9nY2MvZG9jL2V4dGVu ZC50ZXhpIGIvZ2NjL2RvYy9leHRlbmQudGV4aQ0KPiBpbmRleCA3YjU1OTI1MDI3MzRlLi5mOGIw YmI1M2VmNWQ0IDEwMDY0NA0KPiAtLS0gYS9nY2MvZG9jL2V4dGVuZC50ZXhpDQo+ICsrKyBiL2dj Yy9kb2MvZXh0ZW5kLnRleGkNCg0KSSB0aGluayBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB6ZXJv X2NhbGxfdXNlZF9yZWdzLCANCg0KQWZ0ZXIgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSAzIGJhc2lj IHZhbHVlczog4oCcc2tpcOKAnSwg4oCcdXNlZOKAnSwgYW5kIOKAnGFsbOKAnS4gDQpUaGUgZGVz Y3JpcHRpb24gb2YgdGhlIG5ldyB2YWx1ZSDigJxsZWFmeeKAnSBuZWVkIHRvIGJlIGFkZGVkIGZp cnN0Lg0KDQpJbiBhZGRpdGlvbiB0byB0aGUgYmVsb3cgZG9jIGNoYW5nZS4NCg0KVGhlIG90aGVy cyBMR1RNLg0KDQpUaGFua3MuDQoNClFpbmcNCg0KPiBAQCAtNDQxMiwxMCArNDQxMiwyOCBAQCB6 ZXJvcyBhbGwgY2FsbC11c2VkIHJlZ2lzdGVycyB0aGF0IHBhc3MgYXJndW1lbnRzLg0KPiBAaXRl bSBhbGwtZ3ByLWFyZw0KPiB6ZXJvcyBhbGwgY2FsbC11c2VkIGdlbmVyYWwgcHVycG9zZSByZWdp c3RlcnMgdGhhdCBwYXNzDQo+IGFyZ3VtZW50cy4NCj4gKw0KPiArQGl0ZW0gbGVhZnkNCj4gK1Nh bWUgYXMgQHNhbXB7dXNlZH0gaW4gYSBsZWFmIGZ1bmN0aW9uLCBhbmQgc2FtZSBhcyBAc2FtcHth bGx9IGluIGENCj4gK25vbmxlYWYgZnVuY3Rpb24uDQo+ICsNCj4gK0BpdGVtIGxlYWZ5LWdwcg0K PiArU2FtZSBhcyBAc2FtcHt1c2VkLWdwcn0gaW4gYSBsZWFmIGZ1bmN0aW9uLCBhbmQgc2FtZSBh cyBAc2FtcHthbGwtZ3ByfQ0KPiAraW4gYSBub25sZWFmIGZ1bmN0aW9uLg0KPiArDQo+ICtAaXRl bSBsZWFmeS1hcmcNCj4gK1NhbWUgYXMgQHNhbXB7dXNlZC1hcmd9IGluIGEgbGVhZiBmdW5jdGlv biwgYW5kIHNhbWUgYXMgQHNhbXB7YWxsLWFyZ30NCj4gK2luIGEgbm9ubGVhZiBmdW5jdGlvbi4N Cj4gKw0KPiArQGl0ZW0gbGVhZnktZ3ByLWFyZw0KPiArU2FtZSBhcyBAc2FtcHt1c2VkLWdwci1h cmd9IGluIGEgbGVhZiBmdW5jdGlvbiwgYW5kIHNhbWUgYXMNCj4gK0BzYW1we2FsbC1ncHItYXJn fSBpbiBhIG5vbmxlYWYgZnVuY3Rpb24uDQo+ICsNCj4gQGVuZCB0YWJsZQ0KPiANCj4gLU9mIHRo aXMgbGlzdCwgQHNhbXB7dXNlZC1hcmd9LCBAc2FtcHt1c2VkLWdwci1hcmd9LCBAc2FtcHthbGwt YXJnfSwNCj4gLWFuZCBAc2FtcHthbGwtZ3ByLWFyZ30gYXJlIG1haW5seSB1c2VkIGZvciBST1Ag bWl0aWdhdGlvbi4NCj4gK09mIHRoaXMgbGlzdCwgQHNhbXB7dXNlZC1hcmd9LCBAc2FtcHt1c2Vk LWdwci1hcmd9LCBAc2FtcHtsZWFmeS1hcmd9LA0KPiArQHNhbXB7bGVhZnktZ3ByLWFyZ30sIEBz YW1we2FsbC1hcmd9LCBhbmQgQHNhbXB7YWxsLWdwci1hcmd9IGFyZSBtYWlubHkNCj4gK3VzZWQg Zm9yIFJPUCBtaXRpZ2F0aW9uLg0KPiANCj4gVGhlIGRlZmF1bHQgZm9yIHRoZSBhdHRyaWJ1dGUg aXMgY29udHJvbGxlZCBieSBAb3B0aW9uey1memVyby1jYWxsLXVzZWQtcmVnc30uDQo+IEBlbmQg dGFibGUNCj4gZGlmZiAtLWdpdCBhL2djYy9mbGFnLXR5cGVzLmggYi9nY2MvZmxhZy10eXBlcy5o DQo+IGluZGV4IGY4M2QxNjVmYmZlZjEuLjZhMmUxYmViOTk3ZWYgMTAwNjQ0DQo+IC0tLSBhL2dj Yy9mbGFnLXR5cGVzLmgNCj4gKysrIGIvZ2NjL2ZsYWctdHlwZXMuaA0KPiBAQCAtMzQ4LDYgKzM0 OCw3IEBAIG5hbWVzcGFjZSB6ZXJvX3JlZ3NfZmxhZ3Mgew0KPiAgIGNvbnN0IHVuc2lnbmVkIGlu dCBPTkxZX0dQUiA9IDFVTCA8PCAyOw0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBPTkxZX0FSRyA9 IDFVTCA8PCAzOw0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBFTkFCTEVEID0gMVVMIDw8IDQ7DQo+ ICsgIGNvbnN0IHVuc2lnbmVkIGludCBMRUFGWV9NT0RFID0gMVVMIDw8IDU7DQo+ICAgY29uc3Qg dW5zaWduZWQgaW50IFVTRURfR1BSX0FSRyA9IEVOQUJMRUQgfCBPTkxZX1VTRUQgfCBPTkxZX0dQ UiB8IE9OTFlfQVJHOw0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBVU0VEX0dQUiA9IEVOQUJMRUQg fCBPTkxZX1VTRUQgfCBPTkxZX0dQUjsNCj4gICBjb25zdCB1bnNpZ25lZCBpbnQgVVNFRF9BUkcg PSBFTkFCTEVEIHwgT05MWV9VU0VEIHwgT05MWV9BUkc7DQo+IEBAIC0zNTYsNiArMzU3LDEwIEBA IG5hbWVzcGFjZSB6ZXJvX3JlZ3NfZmxhZ3Mgew0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBBTExf R1BSID0gRU5BQkxFRCB8IE9OTFlfR1BSOw0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBBTExfQVJH ID0gRU5BQkxFRCB8IE9OTFlfQVJHOw0KPiAgIGNvbnN0IHVuc2lnbmVkIGludCBBTEwgPSBFTkFC TEVEOw0KPiArICBjb25zdCB1bnNpZ25lZCBpbnQgTEVBRllfR1BSX0FSRyA9IEVOQUJMRUQgfCBM RUFGWV9NT0RFIHwgT05MWV9HUFIgfCBPTkxZX0FSRzsNCj4gKyAgY29uc3QgdW5zaWduZWQgaW50 IExFQUZZX0dQUiA9IEVOQUJMRUQgfCBMRUFGWV9NT0RFIHwgT05MWV9HUFI7DQo+ICsgIGNvbnN0 IHVuc2lnbmVkIGludCBMRUFGWV9BUkcgPSBFTkFCTEVEIHwgTEVBRllfTU9ERSB8IE9OTFlfQVJH Ow0KPiArICBjb25zdCB1bnNpZ25lZCBpbnQgTEVBRlkgPSBFTkFCTEVEIHwgTEVBRllfTU9ERTsN Cj4gfQ0KPiANCj4gLyogU2V0dGluZ3Mgb2YgZmxhZ19pbmNyZW1lbnRhbF9saW5rLiAgKi8NCj4g ZGlmZiAtLWdpdCBhL2djYy9mdW5jdGlvbi5jYyBiL2djYy9mdW5jdGlvbi5jYw0KPiBpbmRleCA4 MjEwMmVkNzhkN2U2Li43YjAzZjllNzQ0MTk5IDEwMDY0NA0KPiAtLS0gYS9nY2MvZnVuY3Rpb24u Y2MNCj4gKysrIGIvZ2NjL2Z1bmN0aW9uLmNjDQo+IEBAIC01ODY4LDYgKzU4NjgsOSBAQCBnZW5f Y2FsbF91c2VkX3JlZ3Nfc2VxIChydHhfaW5zbiAqcmV0LCB1bnNpZ25lZCBpbnQgemVyb19yZWdz X3R5cGUpDQo+ICAgb25seV91c2VkID0gemVyb19yZWdzX3R5cGUgJiBPTkxZX1VTRUQ7DQo+ICAg b25seV9hcmcgPSB6ZXJvX3JlZ3NfdHlwZSAmIE9OTFlfQVJHOw0KPiANCj4gKyAgaWYgKCh6ZXJv X3JlZ3NfdHlwZSAmIExFQUZZX01PREUpICYmIGxlYWZfZnVuY3Rpb25fcCAoKSkNCj4gKyAgICBv bmx5X3VzZWQgPSB0cnVlOw0KPiArDQo+ICAgLyogRm9yIGVhY2ggb2YgdGhlIGhhcmQgcmVnaXN0 ZXJzLCB3ZSBzaG91bGQgemVybyBpdCBpZjoNCj4gCSAgICAxLiBpdCBpcyBhIGNhbGwtdXNlZCBy ZWdpc3RlcjsNCj4gCWFuZCAyLiBpdCBpcyBub3QgYSBmaXhlZCByZWdpc3RlcjsNCj4gZGlmZiAt LWdpdCBhL2djYy9vcHRzLmNjIGIvZ2NjL29wdHMuY2MNCj4gaW5kZXggODZiOTRkNjJiNTg4Yy4u OTNjNzhiZThiMGQ5YSAxMDA2NDQNCj4gLS0tIGEvZ2NjL29wdHMuY2MNCj4gKysrIGIvZ2NjL29w dHMuY2MNCj4gQEAgLTIxMTQsNiArMjExNCwxMCBAQCBjb25zdCBzdHJ1Y3QgemVyb19jYWxsX3Vz ZWRfcmVnc19vcHRzX3MgemVyb19jYWxsX3VzZWRfcmVnc19vcHRzW10gPQ0KPiAgIFpFUk9fQ0FM TF9VU0VEX1JFR1NfT1BUIChhbGwtZ3ByLCB6ZXJvX3JlZ3NfZmxhZ3M6OkFMTF9HUFIpLA0KPiAg IFpFUk9fQ0FMTF9VU0VEX1JFR1NfT1BUIChhbGwtYXJnLCB6ZXJvX3JlZ3NfZmxhZ3M6OkFMTF9B UkcpLA0KPiAgIFpFUk9fQ0FMTF9VU0VEX1JFR1NfT1BUIChhbGwsIHplcm9fcmVnc19mbGFnczo6 QUxMKSwNCj4gKyAgWkVST19DQUxMX1VTRURfUkVHU19PUFQgKGxlYWZ5LWdwci1hcmcsIHplcm9f cmVnc19mbGFnczo6TEVBRllfR1BSX0FSRyksDQo+ICsgIFpFUk9fQ0FMTF9VU0VEX1JFR1NfT1BU IChsZWFmeS1ncHIsIHplcm9fcmVnc19mbGFnczo6TEVBRllfR1BSKSwNCj4gKyAgWkVST19DQUxM X1VTRURfUkVHU19PUFQgKGxlYWZ5LWFyZywgemVyb19yZWdzX2ZsYWdzOjpMRUFGWV9BUkcpLA0K PiArICBaRVJPX0NBTExfVVNFRF9SRUdTX09QVCAobGVhZnksIHplcm9fcmVnc19mbGFnczo6TEVB RlkpLA0KPiAjdW5kZWYgWkVST19DQUxMX1VTRURfUkVHU19PUFQNCj4gICB7TlVMTCwgMFV9DQo+ IH07DQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi96ZXJvLXNjcmF0 Y2gtcmVncy1sZWFmeS0xLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi96ZXJvLXNjcmF0 Y2gtcmVncy1sZWFmeS0xLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMDAwMC4uYzFhMGMzMWJhMWMzNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTEuYw0KPiBAQCAtMCww ICsxLDE1IEBADQo+ICsvKiB7IGRnLWRvIHJ1biB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1P MiAtZnplcm8tY2FsbC11c2VkLXJlZ3M9bGVhZnkiIH0gKi8NCj4gKw0KPiArdm9sYXRpbGUgaW50 IHJlc3VsdCA9IDA7DQo+ICtpbnQgDQo+ICtfX2F0dHJpYnV0ZV9fKChub2lwYSkpDQo+ICtmb28g KGludCB4KQ0KPiArew0KPiArICByZXR1cm4geDsNCj4gK30NCj4gK2ludCBtYWluKCkNCj4gK3sN Cj4gKyAgcmVzdWx0ID0gZm9vICgyKTsNCj4gKyAgcmV0dXJuIDA7DQo+ICt9DQo+IGRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi96ZXJvLXNjcmF0Y2gtcmVncy1sZWFmeS0y LmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi96ZXJvLXNjcmF0Y2gtcmVncy1sZWFmeS0y LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAwMC4uZDQ1MDYy MGMxZmNmZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29t bW9uL3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTIuYw0KPiBAQCAtMCwwICsxLDIxIEBADQo+ICsv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8NCj4g Kw0KPiArI2luY2x1ZGUgPGFzc2VydC5oPg0KPiAraW50IHJlc3VsdCA9IDA7DQo+ICsNCj4gK2lu dCANCj4gK19fYXR0cmlidXRlX18oKG5vaXBhKSkNCj4gK19fYXR0cmlidXRlX18gKCh6ZXJvX2Nh bGxfdXNlZF9yZWdzKCJsZWFmeSIpKSkNCj4gK2ZvbzEgKGludCB4KQ0KPiArew0KPiArICByZXR1 cm4gKHggKyAxKTsNCj4gK30NCj4gKw0KPiAraW50IA0KPiArX19hdHRyaWJ1dGVfXygobm9pcGEp KQ0KPiArX19hdHRyaWJ1dGVfXyAoKHplcm9fY2FsbF91c2VkX3JlZ3MoImxlYWZ5IikpKQ0KPiAr Zm9vMiAoaW50IHgpDQo+ICt7DQo+ICsgIHJldHVybiBmb28xICh4ICsgMik7DQo+ICt9DQo+IGRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni96ZXJvLXNjcmF0Y2gtcmVn cy1sZWFmeS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni96ZXJvLXNjcmF0Y2gt cmVncy1sZWFmeS0xLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MDAwMC4uMjI3NzcxMGM3NzFiNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9pMzg2L3plcm8tc2NyYXRjaC1yZWdzLWxlYWZ5LTEuYw0KPiBAQCAtMCww ICsxLDEyIEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25z ICItTzIgLWZ6ZXJvLWNhbGwtdXNlZC1yZWdzPWxlYWZ5IC1mbm8tc3RhY2stcHJvdGVjdG9yIC1m bm8tUElDIiB9ICovDQo+ICsNCj4gK3ZvaWQNCj4gK2ZvbyAodm9pZCkNCj4gK3sNCj4gK30NCj4g Kw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAidnplcm9hbGwiIH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAiJXhtbSIgfSB9ICovDQo+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ4b3JsXFsgXHRcXSslIiB9IH0g Ki8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgIm1vdmxcWyBcdFxdKyUi IH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvemVy by1zY3JhdGNoLXJlZ3MtbGVhZnktMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYv emVyby1zY3JhdGNoLXJlZ3MtbGVhZnktMi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAwMDAuLjI0Yjg1YzNkYmI3NjYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni96ZXJvLXNjcmF0Y2gtcmVncy1sZWFmeS0y LmMNCj4gQEAgLTAsMCArMSwxNiBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8q IHsgZGctb3B0aW9ucyAiLU8yIC1memVyby1jYWxsLXVzZWQtcmVncz1sZWFmeS1ncHIgLWZuby1z dGFjay1wcm90ZWN0b3IgLWZuby1QSUMiIH0gKi8NCj4gKw0KPiArZXh0ZXJuIGludCBiYXIgKGlu dCk7DQo+ICsNCj4gK3ZvaWQNCj4gK2ZvbyAodm9pZCkNCj4gK3sNCj4gKyAgaW50IHggPSBiYXIg KDApOw0KPiArICBpZiAoeCkNCj4gKyAgICBiYXIgKDEpOw0KPiArfQ0KPiArDQo+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgInhvcmxcWyBcdFxdKyVlYXgsICVlYXgiIH0gfSAqLw0K PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ4b3JsXFsgXHRcXSslZWR4LCAlZWR4 IiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAieG9ybFxbIFx0XF0r JWVjeCwgJWVjeCIgfSB9ICovDQo+IA0KPiANCj4gLS0gDQo+IEFsZXhhbmRyZSBPbGl2YSwgaGFw cHkgaGFja2VyICAgICAgICAgICAgICAgIGh0dHBzOi8vRlNGTEEub3JnL2Jsb2dzL2x4by8NCj4g ICBGcmVlIFNvZnR3YXJlIEFjdGl2aXN0ICAgICAgICAgICAgICAgICAgICAgICBHTlUgVG9vbGNo YWluIEVuZ2luZWVyDQo+IERpc2luZm9ybWF0aW9uIGZsb3VyaXNoZXMgYmVjYXVzZSBtYW55IHBl b3BsZSBjYXJlIGRlZXBseSBhYm91dCBpbmp1c3RpY2UNCj4gYnV0IHZlcnkgZmV3IGNoZWNrIHRo ZSBmYWN0cy4gIEFzayBtZSBhYm91dCA8aHR0cHM6Ly9zdGFsbG1hbnN1cHBvcnQub3JnPg0KDQo=