From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by sourceware.org (Postfix) with ESMTPS id 96CCE385B529 for ; Fri, 24 May 2024 07:47:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 96CCE385B529 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 96CCE385B529 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716536872; cv=pass; b=sGiGedHVF19jvicI1td4sAXHVhBzeKhtEdm0egVfnjzxcVS+elkBKMxtdQhiO2d3x1JeQqGBbGic1tZ7jOn/7pQJggcNY2MVII2Lv1WhAyEQAY1cxknjuehIzmLHpn99cL+SlWXwayCQO2W/muoWrFrfSUIExI4canWkBtYs/gI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1716536872; c=relaxed/simple; bh=vIi9HT+A/F8bpDWKcQpG8UpPSh0nH7/LVplQoyDjaX8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=SSg/C8NEki5MFJpGIIvhSP7XSwh9g9qQwudt1vofIOov0Exaz3L0u6Deo+FjAhVOi1988bQOHJYSbjWogDFYI8tK6ug7WmxLyI/ZyQSHDkFpKkIKP1NxOl2EDeE1wEqUbWjtnNgEEuzamHRaimhHUDqiKMtQg9b60ynr5UDRgdU= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716536870; x=1748072870; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vIi9HT+A/F8bpDWKcQpG8UpPSh0nH7/LVplQoyDjaX8=; b=mwkjT6NXoGXgig56+r7YIjPY63ksyZXksKZTHzcJJFYRNx3Sl0ZVOpeG j7RG1qWP52bsytF+MH4Qp/c9pOMXgT3sKN5r2pFxoRQAL0GHgiYUu0T0n MJTX2eJ/rkunP9lR4dFHNCjKGECbhqwhqCQhbtfnr3hhIHTuaIyHz0KNt shMsCNcdznOq6eTBKxCQEOKU3qEEf9TnNzPu9erL91/dO2V2ZqUTB2uU7 28tteHv15HShvN0uvdekXz4MGB9gCxVbGKGcCS6gR/Z67BxZjjMwHB06u qaAQ0oy9IhKRhRd/IHpeEXBpLN4VOSynt3Eb0DW6yIzxpUa7JPEEKrYa7 w==; X-CSE-ConnectionGUID: Bt5on5fDTnmsQecc3xhccw== X-CSE-MsgGUID: tRTkKPM+QzOFEYVoynrH6g== X-IronPort-AV: E=McAfee;i="6600,9927,11081"; a="24031979" X-IronPort-AV: E=Sophos;i="6.08,184,1712646000"; d="scan'208";a="24031979" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2024 00:47:49 -0700 X-CSE-ConnectionGUID: V+o0MLR6RX+KpRhSr3xLMA== X-CSE-MsgGUID: KyO/2Ko9Tk6XgER40slpoQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,184,1712646000"; d="scan'208";a="34053026" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa009.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 24 May 2024 00:47:48 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 24 May 2024 00:47:48 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 24 May 2024 00:47:48 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 24 May 2024 00:47:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NSYXooUwoppwXrKQ5sWkSqkZz0W2k5iLmF2ANg5PNHE8oe0F/d8Kb3NKUyR4REkMpQGisGcJRf7tTvKIsHLQ3tPR4dpD4RDbLPZRcfyVEURRBfQCOiEoBkdKnV+BshsmGDZRtG2JfUR+4xhXC/38M//M9NyNo9Me8cg8cJKQFUnGJg4lWE6hmN3dtMpR23RcDo+iFroAKVLzAtqnCFva0YEP7DhtpFZKbtgyHnWa2oiv4C54bHn8jqlmtWqyMsigN1pImks9PuEiz06vl2RIbxSquoNSYCRbTjlUwe32QzoZt+fyDqlM63a8gktkVYQPe2yDylZLI6IR2+r6ciYp+w== 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=vIi9HT+A/F8bpDWKcQpG8UpPSh0nH7/LVplQoyDjaX8=; b=HccR02jAspmc18iODjeG+vTRTyXF3Od/GoZ4j9/JV4XgD8QVqPMNSkP0pQNqnTLVJ65mO06VBaQ5kbMQvANpjWJssuB4L7hnBLSJbyRh0FwHRM1EDXrV9LWwQKOq2l7k4GOR5uCXmDLXcJ9wboWck7vK3e2+nBRnrNvsVM01smNYRZYLSFV8T5YnxCPFAcImY+ZRCb8UqcIA3zDSlr4yNfQNsW+IhABe0j0WouTd8F5muaWa3NnlPifcPeQcwDegB2WMhxrW5t5zIySlrsKYoF+7ukyEoRW66VyUTXAp4b+/fXOp+3I+KHXRJJea3C3By+uEFYEHJtBnTMG4F7uyHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by SA2PR11MB4988.namprd11.prod.outlook.com (2603:10b6:806:f8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.27; Fri, 24 May 2024 07:47:45 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::c798:ab3c:1a03:af59%3]) with mapi id 15.20.7611.016; Fri, 24 May 2024 07:47:45 +0000 From: "Li, Pan2" To: Richard Biener CC: Jeff Law , "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "tamar.christina@arm.com" , "pinskia@gmail.com" Subject: RE: [PATCH v2] Match: Support __builtin_add_overflow branch form for unsigned SAT_ADD Thread-Topic: [PATCH v2] Match: Support __builtin_add_overflow branch form for unsigned SAT_ADD Thread-Index: AQHaq+XhLAv8fANT2kiDm17jJZLRBrGjPCIAgADurvCAAH2RIIAAFXOAgAAtzACAAQEEkIAACqSAgAAGtgCAAAMHgA== Date: Fri, 24 May 2024 07:47:45 +0000 Message-ID: References: <20240522011725.424952-1-pan2.li@intel.com> <32c15cf2-cb3e-4ccd-8875-9bb64a40c003@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|SA2PR11MB4988:EE_ x-ms-office365-filtering-correlation-id: 3f42e71b-fa7c-468d-ac48-08dc7bc5ccc3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|376005|366007|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?Wk40WFBKQnhXZVM3NmwxNG5pdVgvYzRVdHRQbXdEMThwbGNsS0RPb1BadjZp?= =?utf-8?B?TzRzV1dLeHJ6Y0hDdFlhZ3lrbmRzUzNlZFhVVE9LZzd1aWNFdzRVRnVBbnZL?= =?utf-8?B?ZmpMOCtueUh1Kzl5M2wrMEpmWU05VzNLR2c3TUFEcVc3K0xNVXhyYWgxR0dJ?= =?utf-8?B?ZW5wYzAzWUVvVStyeVY5N2V3aERYa3JlL0VtRnd2UEQ0amY0b29WbjVsYUFk?= =?utf-8?B?TlZlVEFBdXBqaWI1WVN2cVFnbTZVNm81SVExSHp3Umk2aThmcjZnNUgrbFFT?= =?utf-8?B?bEZ3Z0w2WnZMRTJ2bWhpVkVZaGQ5dC8vL2NpKzBVeXB0ZThRbDNyUUxQOW5S?= =?utf-8?B?T0lyblRMT0s1aXFNT3RsRFFvSnBlejdqUE1MY1gxSnlkV2lLQThVM2NRaUo1?= =?utf-8?B?MWxGZGNpbmRWRE05ZUpTR3d0VGFCSDBpNWJlTzlzcGg4bDl5akMwQnc1NmVP?= =?utf-8?B?d2cyblVhNGIrbTdObFNtREt4RXd5OVd4cktIQUYyTTR3R2t4UkMxZjVIMW90?= =?utf-8?B?NmpRMHhvbXBhYVBLU0hvZW1RanlSTVJ3MDRWWDd0RVJMMWZoK3E1QS9kR0pL?= =?utf-8?B?TzlNR1BwYkxyakVOWWpaZFVIL2kxV3BIWWlLa1liNWIzR0NLdWFYTnBzQnUw?= =?utf-8?B?R2FrcklvZExVK2JSQmJkZlEvL3QyMEtlWkNHQndNMTE5SlJ1eGZDRHMzZW8r?= =?utf-8?B?eWlxT3JLb2dTRVoxL0ZXS29MVTJzc3F0NFZRbUN1bURRcDFsM0dSWjRWamMv?= =?utf-8?B?QlR5c2NybElkZy9hM1plcHc2Z2hGOW9yU2lOYTJUb3hMaHc4Z1NURWY1d21G?= =?utf-8?B?NUJzRGF1dkx6bllVNUJmbzROQm5WeW5sNGRRTWxiNnRVeHdOdnBDSlpsakFM?= =?utf-8?B?a1VBWVVuY0x5SFkxR1pYY01iTjh1UG51UHlXZnV4MjdHR292b2drRkR1VkZP?= =?utf-8?B?N2o3MlZ1SnRpN09kUVpCVVRSNnMyZ3lscGRrand4RXRoT25iWHNiRnhTc2FW?= =?utf-8?B?TFpjRFVSbkNHNzVGNUI0WHpOWTI3SE5HbHpmbXhiQ2R1R0VNRm9MNllhMy9U?= =?utf-8?B?Y0lwWWcwRmpJNWpnKzk3dVBLNTZKdHVQVFFiMlYrZ1FHKzJBaWpQTmZXU3Az?= =?utf-8?B?dGljRjU4MkxzNWM0OGdrREh0T2N5OFlLSnhlRlBqRVlTdkV0UXB6Y2xWNWdY?= =?utf-8?B?SWVTMjNHcEZNdVFySDhrSFlBWjVab2tmcktrRERDSTYwOE5EaUNyRHRwaHQw?= =?utf-8?B?Z0tOU0cxWmQyNjRFMER0b0Z3MjM4ZkhobjZwYVdpZjd6MFp1S0ZCYlRweWFm?= =?utf-8?B?UkxFN2NKZDZUZWthL1R4dFVBcURYcWVyQzZvWHk2UUV0UDJHTHpDY2xZOWEr?= =?utf-8?B?dUYrcDN4dEJBcGtNVElhUnRrcGJsTTcxL0ZGdWFjMEhhY2Z2VnozV0hlUkVD?= =?utf-8?B?NkZjUityd3NqMmtIeGlJdDJzLzc4MWNKRnhuUTdqdm4zdGJDcENXc01VY1VI?= =?utf-8?B?Uk5XMEV1bVMxUVIzT2RJUXNPSXRzRlpWc2w2WmpFaHozemdnaTdLb0tzeWtq?= =?utf-8?B?ZGxjZUw1NEF2d2pBOU9aYlpIaDRiZUFXdWRkM0h3WmF2cGdGKzd0YTBpeVJy?= =?utf-8?B?aDRiZzFnamZNRGhOdXZwdzcwV052K1g0dW9ibDhSWUVRSFZ5OTRoOGFZa2Vv?= =?utf-8?B?aThFM1M4c0sxWnJlZTNtTzFPbTJTSGNoQlQ0V0h4eWp3c2VMcjdkVHQ1eEk3?= =?utf-8?B?SmhQWGdsUi8yUTNOQVFFSmJiZ1BkM2FTaUw3ZHprRDlHZFdCVWpaRE1BOGhq?= =?utf-8?B?UThVZTdBZkhKaWhSeXBSZz09?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVlzL1Z1TGxLL0hQekdreTRNY0hodjAzQnNaTVJRakZQdFBCc2YwOGVCQ01Y?= =?utf-8?B?dDlqM3M4WWZtbEtHSXFLRDk3UTJiM2x4Q3RQRkZ5bTdqZzgvT0Y0ZjR5by91?= =?utf-8?B?empPN0UwMkNScXNJcWlTUmxXN3RmVlRrRXRqWTdWZUR5YkhpbklIR1BjNndR?= =?utf-8?B?Y0lnRGNYTVVkK0VrK3VOTTlEbEFRWHVaK0FwUGJuQjZyUm52UUtWQllxakN4?= =?utf-8?B?T2dCY1ExbDlST2JYZHF6anR2VUpVRlZ5dkNtY2pmdFJPcS9IZUdDK0dPZUl4?= =?utf-8?B?c3NEdlJLdko4WjVJMHpVR1BmN3VRR3pCa3JreExSL0trbnRRdW5DRXpOdFdk?= =?utf-8?B?WUVUaEE4Z2FUeTR0UnZKeU93U3pPeW9tV2RPMnNWTnJvMGhabGY2MUM5SnYw?= =?utf-8?B?WS8vWDA1aWdBbmdteUFhQmV3SXkwMnFNRUpDRFJGeWhFYUxFb3VBVVJFa0g4?= =?utf-8?B?d0JDdVFFTFovMnhGMDlsa29ONW5aaTVWbm1vR1pQMVovRXFnWW9kcUFsSGpZ?= =?utf-8?B?ZTRVSEgzTWJvRlIrbWdRb1hpaHYzYlNmWE42RzRkZUNvZGlCL3JkcDBHU0hL?= =?utf-8?B?cHNXMEFjY1Uycmx4WXRadFZnZ0Q0dmwvZkVTbEl0Nmh3VXNlRnlXVkFVWkJ6?= =?utf-8?B?cklMUEd3SHFhQklCaTYreEZjK05MMGpHZjN4L3k1V1VFbTBvMURmYjRUU2RX?= =?utf-8?B?NWNuU1hiQ2JuV0Y1c0p2TGl3VDN3eUMrWFNHK2ZRM1pDV2Vmd1AwcWlvYi81?= =?utf-8?B?TWF3KzkzSDJBdGNxVXZLNWFHaWhoQVE3Zk93bm9OdnZadDE0eTVGZUVvVy9K?= =?utf-8?B?TEE5Z1ljZVFPL3RwL3YwSUN3MlB4NnlLZXVPa1U1YTdvRm9tUVhyVng4WGdC?= =?utf-8?B?SjdVYXNZR1k0Q1FaSGxJTnRmSTMzVXFTUnFJdG5GVk5uWVJJUklhc0lkYnhO?= =?utf-8?B?QkhpVFVWdlYyRHg2K0NLOE80THkxazVIdFF6M2ExdFI3NkJ6aWE2blJjdTIv?= =?utf-8?B?OE52aURWVElDSGF5UkxlMHJIZXV6QlRTSkVBU3BEU1k3RDhpVCtCOWRSMGli?= =?utf-8?B?VnVsV1BPSkFiK1lQTkp0b3pkYm5wZVhuOE9WM1B5UmtDNzZRc3VkdzNpN0Jl?= =?utf-8?B?Zy9QSjltL1FxaFdEd2o2NXc5K0tOaWlKcll5MFVwTk91eW1XTTdZVVNxNFNr?= =?utf-8?B?S3Q0dGFmVm9xZXFJc01kQldYNmxYMzdFR1dXanIvaWxKMUZ2WDNzZFRIYU1v?= =?utf-8?B?NFN3dklUN2YxV3VWdGJlU3k0dk5FTG1iK2pmdnRNQkYzdHc4V0VlQnNJRW5M?= =?utf-8?B?bERxQitqYUVpb0VBT1d5SVNOU0xWNFUvd1F3VUJMU0Y5MFZLSTh6ZGEzOWl0?= =?utf-8?B?SnhaTmphWm50MEhIUGd1QjdtSTE3SklLL0czaEtHcWorczJBd09Ud1diMDRP?= =?utf-8?B?bXRDNHZxRWE0V3FyWDhOVkdmZkF3d0I0UUtrVFRuRkdhTWdMR2VqK1ljZjM4?= =?utf-8?B?WXphWnJIQ2c3bkxRV2NWK0FmMnhyeE1kbC9RZXF3eDVVdmFVY2xEQ0M2S3Fo?= =?utf-8?B?MDI2Q2hjaGxCVTE2Q3R2RWYvQVBTL3ZmRjJsUkdPVzFQSUQxZnBDdmJIbmdo?= =?utf-8?B?UXo2WGZiSy9qWHRJK212aDlhMFJQNWQyNjcwVXZ4cWtSS1d6MmRLL2w2bk9x?= =?utf-8?B?RzN1Y092Q3ZKcjBqL0djOU0xVjBYM2dKRWZudDBMVFhRbHBHVXhDRlYzQ1Jm?= =?utf-8?B?VjBDRHZTSGIvR3hYVzJZa3VZc0R5MnQxc215aHp0QmRPdnZESTRQcTVRSG9L?= =?utf-8?B?M0lwaklQemNLTURNK3FGUWt6d0FNZ3pUWmxRSVRKaVR6S0dwQ0s1ZjY5WkE5?= =?utf-8?B?VlFXTWo2L1U3YkZiUkFjbjFRcTFQN25rODhhb3NjM29FaUZULzRmSjNadmRv?= =?utf-8?B?Z1pUVlNWUU1aNmdDdzVsNlg2STA2eWRISHYzcDdYUTg4WHlKdUNicVlJTXk3?= =?utf-8?B?RVRVNHFZWjBnZWx1U0dobS94S3VvYTJQb3ZQUThFK3RBbkpXTzRpUjBtczB6?= =?utf-8?B?ZHZoU3lOWkhMNlFJZlpKblhrbE15dWtZc0F3YXNCaUt2MkNwcCtVb0phcFVl?= =?utf-8?Q?n+90=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f42e71b-fa7c-468d-ac48-08dc7bc5ccc3 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2024 07:47:45.3333 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rm1JtXkMPmkdRMYrI2vESM44RECImKbXkLlMYtAhs54vbjGgEQpcMQWyiqefofiEZwPvxgPOOYtN8qhcRZl9yA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4988 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_NONE,TXREP,WEIRD_PORT 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: VGhhbmtzIFJpY2hhcmQgZm9yIGhlbHAgYW5kIGNvbW1lbnRzLg0KDQpJZiBteSB1bmRlcnN0YW5k aW5nIGlzIGNvcnJlY3QsIEkgc2hvdWxkIGJlIGFibGUgdG8gZm9sbG93IGJlbG93IHN0ZXAocykg dG8gc3VwcG9ydCB0aGUgYnJhbmNoIGZvcm0gZm9yIHVuc2lnbmVkIFNBVF9BREQuDQoNCjEuIEJ1 aWxkaW5nIGEgaGVscGVyIGluIG9uZSBwbGFjZSB0byBtYXRjaCBhIFBISSBkZWYgYXMgQ09ORF9F WFBSIChvciBldmVuIGEgYmV0dGVyIHdheSB0byBkbyBpdCBieSBwcm92aWRpbmcgbmF0aXZlIHN1 cHBvcnQgZnJvbSBnZW5tYXRjaCkNCjIuIExldmVyYWdlIHRoaXMgaGVscGVyIGluIHdpZGVuLW11 bCBhbmQgcmVjb2cgaXQgYXMgLlNBVF9BREQgaWYgbWF0Y2hlcy4NCg0KV2lsbCBoYXZlIGEgdHJ5 IGFuZCBrZWVwIHlvdSBwb3N0ZWQuDQoNClBhbg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tPiANClNl bnQ6IEZyaWRheSwgTWF5IDI0LCAyMDI0IDM6MjEgUE0NClRvOiBMaSwgUGFuMiA8cGFuMi5saUBp bnRlbC5jb20+DQpDYzogSmVmZiBMYXcgPGplZmZyZXlhbGF3QGdtYWlsLmNvbT47IGdjYy1wYXRj aGVzQGdjYy5nbnUub3JnOyBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVuZ0BnbWFpbC5j b207IHRhbWFyLmNocmlzdGluYUBhcm0uY29tOyBwaW5za2lhQGdtYWlsLmNvbQ0KU3ViamVjdDog UmU6IFtQQVRDSCB2Ml0gTWF0Y2g6IFN1cHBvcnQgX19idWlsdGluX2FkZF9vdmVyZmxvdyBicmFu Y2ggZm9ybSBmb3IgdW5zaWduZWQgU0FUX0FERA0KDQpPbiBGcmksIE1heSAyNCwgMjAyNCBhdCA4 OjU24oCvQU0gUmljaGFyZCBCaWVuZXINCjxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4gd3Jv dGU6DQo+DQo+IE9uIEZyaSwgTWF5IDI0LCAyMDI0IGF0IDg6MzfigK9BTSBMaSwgUGFuMiA8cGFu Mi5saUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gVGhhbmtzIEplZmYgYW5kIFJpY2hhcmQg Zm9yIHN1Z2dlc3Rpb24gYW5kIHJldmlld2luZy4NCj4gPg0KPiA+IEhhdmUgYW5vdGhlciB0cnkg aW4gcGhpb3B0IHRvIGRvIHRoZSBjb252ZXJ0IGZyb20gUEhJIHRvIHN0bXQgPSBjb25kID8gYSA6 IGIuDQo+ID4gSXQgY2FuIHBlcmZvcm0gdGhlIGNvbnZlcnQgZnJvbSBQSEkgdG8gc3RtdCA9IGNv bmQgPyBhIDogYiBzdWNjZXNzZnVsbHksIGFuZCB0aGVuDQo+ID4gdGhlIHdpZGVuLW11bCBpcyBh YmxlIHRvIGRvIHRoZSByZWNvZyB0byAuU0FUX0FERC4NCj4gPg0KPiA+IEZvciBub3csIHRvIGxp bWl0IHRoZSByaXNjaywgdGhlIGFib3ZlIGNvbnZlcnQgZnJvbSBQSEkgdG8gc3RtdCA9IGNvbmQg PyBhIDogYiBvbmx5IGJlIHBlcmZvcm1lZCB3aGVuIG1hdGNoZWQsDQo+ID4gYXMgd2VsbCBhcyB0 aGUgYmFja2VuZCBzdXBwb3J0IHRoZSB1c2FkZCBzdGFuZGFyZCBuYW1lLiBVbmZvcnR1bmF0ZWx5 LCBJIGFtIHN0dWNrIGluIHRoZSBjYXNlIHRoYXQgd2hlbiB0aGUgbGhzDQo+ID4gaXMgbm90IG1h dGNoZWQsIHdlIG5lZWQgdG8gY2xlYW4gdXAgc29tZXRoaW5nIGxpa2UgY3JlYXRlZCBzdG10IGlu IHByZXZpb3VzLCBvciB3ZSB3aWxsIGhhdmUgSUNFIGZvciBtaXNzaW5nIGRlZmluaXRpb24uDQo+ ID4NCj4gPiBzYXRfYWRkLmM6IEluIGZ1bmN0aW9uIOKAmHNhdF9hZGRfdV8zX3VpbnQ4X3TigJk6 DQo+ID4gc2F0X2FkZC5jOjY5OjE6IGVycm9yOiBtaXNzaW5nIGRlZmluaXRpb24NCj4gPiAgICA2 OSB8IFNBVF9BRERfVV8zKHVpbnQ4X3QpOw0KPiA+ICAgICAgIHwgXn5+fn5+fn5+fn4NCj4gPiBm b3IgU1NBX05BTUU6IF82IGluIHN0YXRlbWVudDoNCj4gPiAjIFZVU0UgPC5NRU1fMTQoRCk+DQo+ ID4gcmV0dXJuIF82Ow0KPiA+IGR1cmluZyBHSU1QTEUgcGFzczogcGhpb3B0DQo+ID4gZHVtcCBm aWxlOiBzYXRfYWRkLmMuMDQ2dC5waGlvcHQxDQo+ID4gc2F0X2FkZC5jOjY5OjE6IGludGVybmFs IGNvbXBpbGVyIGVycm9yOiB2ZXJpZnlfc3NhIGZhaWxlZA0KPiA+IDB4MWRiNDFiYSB2ZXJpZnlf c3NhKGJvb2wsIGJvb2wNCj4gPiAvaG9tZS9wbGkvZ2NjLzU1NS9yaXNjdi1nbnUtdG9vbGNoYWlu L2djYy9fX1JJU0NWX0JVSUxEX18vLi4vZ2NjL3RyZWUtc3NhLmNjOjEyMDMNCj4gPiAweDE4ZTMw NzUgZXhlY3V0ZV9mdW5jdGlvbl90b2RvDQo+ID4gICAgICAgICAvaG9tZS9wbGkvZ2NjLzU1NS9y aXNjdi1nbnUtdG9vbGNoYWluL2djYy9fX1JJU0NWX0JVSUxEX18vLi4vZ2NjL3Bhc3Nlcy5jYzoy MDk2DQo+ID4gMHgxOGUxYzUyIGRvX3Blcl9mdW5jdGlvbg0KPiA+ICAgICAgICAgL2hvbWUvcGxp L2djYy81NTUvcmlzY3YtZ251LXRvb2xjaGFpbi9nY2MvX19SSVNDVl9CVUlMRF9fLy4uL2djYy9w YXNzZXMuY2M6MTY4OA0KPiA+IDB4MThlMzIyMiBleGVjdXRlX3RvZG8NCj4gPg0KPiA+IEkgYmV0 IHRoZSByZWFzb24gaXMgdGhhdCB3ZSBjcmVhdGVkIG5ldyBzdG10IGxpa2Ugc3RtdF9jb25kIGFu ZCBzdG10X3ZhbCBidXQgd2UgZG9uJ3QgaW5zZXJ0IGl0Lg0KPiA+IFRodXMsIHRoZXJlIHdpbGwg YmUgb3JwaGFuIG5vZGVzIHNvbWV3aGVyZSBhbmQgd2UgbmVlZCBzb21ldGhpbmcgbGlrZSByb2xs YmFjayB0byByZWNvdmVyIHRoZQ0KPiA+IGdpbXBsZSB1cCB0byBhIHBvaW50LiBJIHRyaWVkIHNv cnRzIG9mIHJlbGVhc2VfeHggb3IgbGlrZXdpc2UgYnV0IHNlZW1zIG5vdCB3b3JraW5nLg0KPiA+ DQo+ID4gU28gaXMgdGhlcmUgYW55IHN1Z2dlc3QgdG8gdGFrZSBjYXJlIG9mIHN1Y2ggZ2ltcGxl IHJvbGxiYWNrIG9yIGFub3RoZXIgc29sdXRpb24gZm9yIHRoaXM/IEJlbG93IGFyZQ0KPiA+IFRo ZSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZSBjb252ZXJ0IGZyb20gUEhJIHRvIHN0bXQgPSBjb25k ID8gYSA6IGIgZm9yIHJlZmVyZW5jZSwgdGhhbmtzIGEgbG90Lg0KPiA+DQo+ID4gUGFuDQo+ID4N Cj4gPiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtc3NhLXBoaW9wdC5jYyBiL2djYy90cmVlLXNzYS1w aGlvcHQuY2MNCj4gPiBpbmRleCA5MThjZjUwYjU4OS4uNzk4MmI2NWJhYzQgMTAwNjQ0DQo+ID4g LS0tIGEvZ2NjL3RyZWUtc3NhLXBoaW9wdC5jYw0KPiA+ICsrKyBiL2djYy90cmVlLXNzYS1waGlv cHQuY2MNCj4gPiBAQCAtNDg2LDYgKzQ4Niw4OCBAQCBwaGlvcHRfZWFybHlfYWxsb3cgKGdpbXBs ZV9zZXEgJnNlcSwgZ2ltcGxlX21hdGNoX29wICZvcCkNCj4gPiAgICAgIH0NCj4gPiAgfQ0KPiA+ DQo+ID4gK2V4dGVybiBib29sIGdpbXBsZV91bnNpZ25lZF9pbnRlZ2VyX3NhdF9hZGQgKHRyZWUs IHRyZWUqLCB0cmVlICgqKSh0cmVlKSk7DQo+ID4gKw0KPiA+ICsvKiBUcnkgdG8gbWF0Y2ggdGhl IHBoaSBleHByIHRvIHRoZSBnaW1wbGUgY29uZC4gUmV0dXJuIHRydWUgaWYgd2UgY2FuDQo+ID4g KyAgIHBlcmZvcm0gdGhlIGNvbnZlcnQgb3IgcmV0dXJuIGZhbHNlLiAgVGhlcmUgd2lsbCBiZSBz b21lIHJlc3RyaWN0aW9ucw0KPiA+ICsgICBvciBzdWNoIGtpbmQgb2YgY29udmVyc2lvbiwgYWth Og0KPiA+ICsNCj4gPiArICAgMS4gT25seSBzZWxlY3RlZCBwYXR0ZXJuIHdpbGwgdHJ5IHRoaXMg Y29udmVydC4NCj4gPiArICAgMi4gVGhlIGdlbmVyYXRlZCBnYXNzaWduIG1hdGNoZWQgdGhlIHNl bGVjdGVkIElGTiBwYXR0ZXJuLg0KPiA+ICsgICAzLiBUaGUgYmFja2VuZCBoYXMgaW1wbGVtZW50 IHRoZSBzdGFuZGFyZCBuYW1lLg0KPiA+ICsNCj4gPiArICAgRnJvbToNCj4gPiArICAgICA8YmIg Mj4gOg0KPiA+ICsgICAgIF8xID0geF8zKEQpICsgeV80KEQpOw0KPiA+ICsgICAgIGlmIChfMSA+ PSB4XzMoRCkpDQo+ID4gKyAgICAgICBnb3RvIDxiYiAzPjsgW0lOVl0NCj4gPiArICAgICBlbHNl DQo+ID4gKyAgICAgICBnb3RvIDxiYiA0PjsgW0lOVl0NCj4gPiArDQo+ID4gKyAgICAgPGJiIDM+ IDoNCj4gPiArDQo+ID4gKyAgICAgPGJiIDQ+IDoNCj4gPiArICAgICAjIF8yID0gUEhJIDwyNTUo MiksIF8xKDMpPg0KPiA+ICsNCj4gPiArICAgVG86DQo+ID4gKyAgICAgPGJiIDI+IDoNCj4gPiAr ICAgICBfMSA9IHhfMyhEKSArIHlfNChEKTsNCj4gPiArICAgICBwaGlfY29uZF82ID0gXzEgPj0g eF8zKEQpOw0KPiA+ICsgICAgIF8yID0gcGhpX2NvbmRfNiA/IF8xIDogMjU1OyAqLw0KPiA+ICsN Cj4gPiArc3RhdGljIGJvb2wNCj4gPiArbWF0Y2hfcGhpX3RvX2dpbXBsZV9jb25kIChiYXNpY19i bG9jayBjb25kX2JiLCBncGhpICpwaGksIHRyZWUgYXJnMCwgdHJlZSBhcmcxKQ0KPg0KPiBZb3Ug c2hvdWxkIGRvIHRoaXMgaW4gd2lkZW4tbXVsdCBhbmQvb3IgSVNFTCBhbmQgaWYgbmVjZXNzYXJ5 IGZvciB2ZWN0b3JpemF0aW9uDQo+IGluIHRyZWUtaWYtY29udi5jYywgdGhvdWdoIGV2ZW50dWFs bHkgd2hhdCBpZi1jb252ZXJ0IGNyZWF0ZXMgbWlnaHQgYmUNCj4gZ29vZCBlbm91Z2gNCj4gdG8g bWF0Y2ggZHVyaW5nIHBhdHRlcm4gcmVjb2duaXRpb24uDQo+DQo+ID4gK3sNCj4gPiArICBnY29u ZCAqY29uZCA9IGFzX2EgPGdjb25kICo+ICgqZ3NpX2xhc3RfYmIgKGNvbmRfYmIpKTsNCj4gPiAr DQo+ID4gKyAgaWYgKCFjb25kKQ0KPiA+ICsgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsNCj4gPiAr ICBlbnVtIHRyZWVfY29kZSBjb2RlID0gZ2ltcGxlX2NvbmRfY29kZSAoY29uZCk7DQo+ID4gKyAg dHJlZSBwaGlfcmVzdWx0ID0gZ2ltcGxlX3BoaV9yZXN1bHQgKHBoaSk7DQo+ID4gKyAgdHJlZSBj b25kX3RyZWUgPSBtYWtlX3RlbXBfc3NhX25hbWUgKGJvb2xlYW5fdHlwZV9ub2RlLCBOVUxMLCAi cGhpX2NvbmQiKTsNCj4gPiArICB0cmVlIGNtcF90cmVlID0gYnVpbGQyIChjb2RlLCBib29sZWFu X3R5cGVfbm9kZSwgZ2ltcGxlX2NvbmRfbGhzIChjb25kKSwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgIGdpbXBsZV9jb25kX3JocyAoY29uZCkpOw0KPiA+ICsgIHRyZWUgcmhzID0gYnVp bGQzIChDT05EX0VYUFIsIFRSRUVfVFlQRSAocGhpX3Jlc3VsdCksIGNvbmRfdHJlZSwgYXJnMCwg YXJnMSk7DQo+DQo+IHBoaW9wdCBkaXJlY3RseSB1c2VzIGNtcF90cmVlLCBzbyB5b3UgY291bGQg ZG8gdGhhdCBhcyB3ZWxsIGFuZCBhdm9pZCBzdG10X2NvbmQuDQo+DQo+ID4gKw0KPiA+ICsgIGdh c3NpZ24gKnN0bXRfY29uZCA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKGNvbmRfdHJlZSwgY21wX3Ry ZWUpOw0KPiA+ICsgIGdhc3NpZ24gKnN0bXRfdmFsID0gZ2ltcGxlX2J1aWxkX2Fzc2lnbiAocGhp X3Jlc3VsdCwgcmhzKTsNCj4gPiArDQo+ID4gKyAgdHJlZSBvcHNbMl07DQo+ID4gKyAgdHJlZSBs aHMgPSBnaW1wbGVfYXNzaWduX2xocyAoc3RtdF92YWwpOw0KPiA+ICsgIGJvb2wgbWF0Y2hlZF9w ID0gKGdpbXBsZV91bnNpZ25lZF9pbnRlZ2VyX3NhdF9hZGQgKGxocywgb3BzLCBOVUxMKQ0KPiA+ ICsgICAgJiYgZGlyZWN0X2ludGVybmFsX2ZuX3N1cHBvcnRlZF9wIChJRk5fU0FUX0FERCwgVFJF RV9UWVBFIChsaHMpLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9QVElNSVpFX0ZPUl9CT1RIKSk7DQo+ID4gKw0KPiA+ICsgIGlmIChtYXRjaGVkX3ApDQo+ID4g KyAgICB7DQo+ID4gKyAgICAgIGdpbXBsZV9zdG10X2l0ZXJhdG9yIGdzaSA9IGdzaV9sYXN0X2Ji IChjb25kX2JiKTsNCj4gPiArICAgICAgZ2ltcGxlX3N0bXRfaXRlcmF0b3IgcHNpID0gZ3NpX2Zv cl9zdG10IChwaGkpOw0KPiA+ICsNCj4gPiArICAgICAgZ3NpX2luc2VydF9iZWZvcmUgKCZnc2ks IHN0bXRfY29uZCwgR1NJX1NBTUVfU1RNVCk7DQo+ID4gKyAgICAgIGdzaV9pbnNlcnRfYmVmb3Jl ICgmZ3NpLCBzdG10X3ZhbCwgR1NJX1NBTUVfU1RNVCk7DQo+ID4gKyAgICAgIHJlbW92ZV9waGlf bm9kZSAoJnBzaSwgZmFsc2UpOw0KPg0KPiBZb3Ugb25seSBtYXRjaGVkIGJ1dCB5b3UgZG8gbm90 IGluc2VydCB0aGUgYWN0dWFsIC5TQVRfQUREIGhlcmUgYW5kIHRoYXQncw0KPiB0aGUgZGVmaW5p dGlvbiB0aGF0J3MgbWlzc2luZy4gIFlvdSBwcm9iYWJseSBzaG91bGRuJ3QgbmVlZCB0byBhZGQg dGhlDQo+IGNvbmQtc3RtdD8NCj4NCj4gPiArICAgIH0NCj4gPiArICBlbHNlDQo+ID4gKyAgICB7 DQo+ID4gKyAgICAgIC8vIENsZWFuIHVwIHRoZSBzdG10IGNyZWF0ZWQsIGJ1dCBub24gb2YgYmxv dyB3b3JrcyB3ZWxsLg0KPiA+ICsgICAgICAvLyBnc2kgPSBnc2lfZm9yX3N0bXQgKHN0bXRfdmFs KTsNCj4gPiArICAgICAgLy8gZ3NpX3JlbW92ZSAoJmdzaSwgdHJ1ZSk7DQo+ID4gKyAgICAgIC8v IHJlbGVhc2VfZGVmcyAoc3RtdF92YWwpOw0KPiA+ICsgICAgICAvLyBnZ2NfZnJlZSAoc3RtdF92 YWwpOw0KPiA+ICsNCj4gPiArICAgICAgLy8gZ3NpID0gZ3NpX2Zvcl9zdG10IChzdG10X2NvbmQp Ow0KPiA+ICsgICAgICAvLyBnc2lfcmVtb3ZlICgmZ3NpLCB0cnVlKTsNCj4gPiArICAgICAgLy8g cmVsZWFzZV9kZWZzIChzdG10X2NvbmQpOw0KPiA+ICsgICAgICAvLyBnZ2NfZnJlZSAoc3RtdF9j b25kKTsNCj4gPiArDQo+ID4gKyAgICAgIC8vIHJlbGVhc2VfZGVmcyAoc3RtdF9jb25kKTsNCj4g PiArICAgICAgLy8gcmVsZWFzZV9kZWZzIChzdG10X3ZhbCk7DQo+ID4gKyAgICAgIHJlbGVhc2Vf c3NhX25hbWUgKGNvbmRfdHJlZSk7DQo+DQo+IEFzIHlvdSBkb24ndCBpbnNlcnQgdGhlIHN0bXRz IHlvdSBzaG91bGQgYmUgYWJsZSB0byBzaW1wbHkNCj4gb25seSByZWxlYXNlIHRoZSBTU0EgbmFt ZXMgYW5kIGdnY19mcmVlIHRoZSBzdG10LiAgWW91IGNhbiBhbHNvDQo+IGxvb2sgYXQgbWF5YmVf Zm9sZF9jb21wYXJpc29uc19mcm9tX21hdGNoX3BkIGluIGdpbXBsZS1mb2xkLmNjDQo+IGZvciBt b3JlICJ1Z2x5IiB3YXlzIHRvIGRvIHRoaXMuDQo+DQo+IEJ1aWxkaW5nIGEgaGVscGVyIGluIG9u ZSBwbGFjZSB0byBtYXRjaCBhIFBISSBkZWYgYXMgQ09ORF9FWFBSDQo+IG1pZ2h0IGJlIG5pY2Uu ICBBcyBzYWlkLCBhdm9pZGluZyBhbGwgdGhlIG1lc3MgYnkgcHJvdmlkaW5nIG5hdGl2ZQ0KPiBz dXBwb3J0IGZyb20gZ2VubWF0Y2ggd291bGQgYmUgZXZlbiBiZXR0ZXIsIGJ1dCBJJ20gbm90IGFz a2luZyB5b3UNCj4gdG8gZG8gdGhhdC4NCg0KRm9yIHJlZmVyZW5jZSB0aGUgYXR0YWNoZWQgb3V0 bGluZXMgd2hlcmUvd2hhdCB0byBkbyBpZiB5b3UgYXJlIGN1cmlvdXMuDQoNClJpY2hhcmQuDQoN Cj4NCj4gUmljaGFyZC4NCj4NCj4gPiArICAgIH0NCj4gPiArDQo+ID4gKyAgcmV0dXJuIG1hdGNo ZWRfcDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAvKiBnaW1wbGVfc2ltcGxpZnlfcGhpb3B0IGlzIGxp a2UgZ2ltcGxlX3NpbXBsaWZ5IGJ1dCBkZXNpZ25lZCBmb3IgUEhJT1BULg0KPiA+ICAgICBSZXR1 cm4gTlVMTCBpZiBub3RoaW5nIGNhbiBiZSBzaW1wbGlmaWVkIG9yIHRoZSByZXN1bHRpbmcgc2lt cGxpZmllZCB2YWx1ZQ0KPiA+ICAgICB3aXRoIHBhcnRzIHB1c2hlZCBpZiBFQVJMWV9QIHdhcyB0 cnVlLiBBbHNvIHJlamVjdHMgbm9uIGFsbG93ZWQgdHJlZSBjb2RlDQo+ID4gQEAgLTgyNiw2ICs5 MDgsOSBAQCBtYXRjaF9zaW1wbGlmeV9yZXBsYWNlbWVudCAoYmFzaWNfYmxvY2sgY29uZF9iYiwg YmFzaWNfYmxvY2sgbWlkZGxlX2JiLA0KPiA+ICAgICAgIFNvLCBnaXZlbiB0aGUgY29uZGl0aW9u IENPTkQsIGFuZCB0aGUgdHdvIFBISSBhcmd1bWVudHMsIG1hdGNoIGFuZCBzaW1wbGlmeQ0KPiA+ ICAgICAgIGNhbiBoYXBwZW4gb24gKENPTkQpID8gYXJnMCA6IGFyZzEuICovDQo+ID4NCj4gPiAr ICBpZiAobWF0Y2hfcGhpX3RvX2dpbXBsZV9jb25kIChjb25kX2JiLCBwaGksIGFyZzAsIGFyZzEp KQ0KPiA+ICsgICAgcmV0dXJuIHRydWU7DQo+ID4gKw0KPiA+ICAgIHN0bXQgPSBsYXN0X25vbmRl YnVnX3N0bXQgKGNvbmRfYmIpOw0KPiA+DQo+ID4gICAgLyogV2UgbmVlZCB0byBrbm93IHdoaWNo IGlzIHRoZSB0cnVlIGVkZ2UgYW5kIHdoaWNoIGlzIHRoZSBmYWxzZQ0KPiA+DQo+ID4NCj4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEplZmYgTGF3IDxqZWZmcmV5YWxh d0BnbWFpbC5jb20+DQo+ID4gU2VudDogVGh1cnNkYXksIE1heSAyMywgMjAyNCAxMDo1OSBQTQ0K PiA+IFRvOiBSaWNoYXJkIEJpZW5lciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+OyBMaSwg UGFuMiA8cGFuMi5saUBpbnRlbC5jb20+DQo+ID4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn OyBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVuZ0BnbWFpbC5jb207IHRhbWFyLmNocmlz dGluYUBhcm0uY29tOyBwaW5za2lhQGdtYWlsLmNvbQ0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0gg djJdIE1hdGNoOiBTdXBwb3J0IF9fYnVpbHRpbl9hZGRfb3ZlcmZsb3cgYnJhbmNoIGZvcm0gZm9y IHVuc2lnbmVkIFNBVF9BREQNCj4gPg0KPiA+DQo+ID4NCj4gPiBPbiA1LzIzLzI0IDY6MTQgQU0s IFJpY2hhcmQgQmllbmVyIHdyb3RlOg0KPiA+ID4gT24gVGh1LCBNYXkgMjMsIDIwMjQgYXQgMTow OOKAr1BNIExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPj4NCj4gPiA+ PiBJIGhhdmUgYSB0cnkgdG8gY29udmVydCB0aGUgUEhJIGZyb20gUGFydC1BIHRvIFBhcnQtQiwg YWthIFBISSB0byBfMiA9IHBoaV9jb25kID8gXzEgOiAyNTUuDQo+ID4gPj4gQW5kIHRoZW4gd2Ug Y2FuIGRvIHRoZSBtYXRjaGluZyBvbiBDT05EX0VYUFIgaW4gdGhlIHVuZGVybHlpbmcgd2lkZW4t bXVsIHBhc3MuDQo+ID4gPj4NCj4gPiA+PiBVbmZvcnR1bmF0ZWx5LCBtZWV0IHNvbWUgSUNFIHdo ZW4gdmVyaWZ5X2dpbXBsZV9waGkgaW4gc2Njb3B5MSBwYXNzID0+DQo+ID4gPj4gc2F0X2FkZC5j OjY2OjE6IGludGVybmFsIGNvbXBpbGVyIGVycm9yOiB0cmVlIGNoZWNrOiBleHBlY3RlZCBjbGFz cyDigJh0eXBl4oCZLCBoYXZlIOKAmGV4Y2VwdGlvbmFs4oCZIChlcnJvcl9tYXJrKSBpbiB1c2Vs ZXNzX3R5cGVfY29udmVyc2lvbl9wLCBhdCBnaW1wbGUtZXhwci5jYzo4Ng0KPiA+ID4NCj4gPiA+ IExpa2VseSB5b3UgaGF2ZSByZWxlYXNlZCBfMiwgbW9yZSBjb21tZW50cyBiZWxvdyBvbiB5b3Vy IHByZXZpb3VzIG1haWwuDQo+ID4gWW91IGNhbiBiZSBzdXJlIGJ5IGNhbGxpbmcgZGVidWdfdHJl ZSAoKSBvbiB0aGUgU1NBX05BTUUgbm9kZSBpbg0KPiA+IHF1ZXN0aW9uLiAgSWYgaXQgcmVwb3J0 cyAiaW4tZnJlZS1saXN0IiwgdGhlbiB0aGF0J3MgZGVmaW5pdGl2ZSB0aGF0IHRoZQ0KPiA+IFNT QV9OQU1FIHdhcyByZWxlYXNlZCBiYWNrIHRvIHRoZSBTU0FfTkFNRSBtYW5hZ2VyLiAgSWYgdGhh dCBTU0FfTkFNRSBpcw0KPiA+IHN0aWxsIGluIHRoZSBJTCwgdGhlbiB0aGF0J3MgdmVyeSBiYWQu DQo+ID4NCj4gPiBqZWZmDQo+ID4NCg==