From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.61]) by mx.groups.io with SMTP id smtpd.web12.228.1582755134838277737 for ; Wed, 26 Feb 2020 14:12:15 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=XsOiA54I; spf=pass (domain: redhat.com, ip: 205.139.110.61, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582755133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2nCdDZPIkl1feyO3mW/Jb61mrU7MeDG32zC2E9RSyCc=; b=XsOiA54I5QZAJFtkS6Flc+yY1iw7kdxjzkK2IN52zu8XsHxj2jC0PZZ3SleEHx1yMzY9e5 9ZBPxUQdCzVMvzL1mxCk23DGHhNlGXbUJNvzKjnLiz/GoUUGUiGS2z+AeoD9RQavS9J3sg rRlgv/ACmzASGE2vnFBYRqT3NvCOVYg= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-68-3NMhZI0kN0icBukjR95yjQ-1; Wed, 26 Feb 2020 17:12:12 -0500 X-MC-Unique: 3NMhZI0kN0icBukjR95yjQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DCCAFDB61; Wed, 26 Feb 2020 22:12:10 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-185.ams2.redhat.com [10.36.116.185]) by smtp.corp.redhat.com (Postfix) with ESMTP id 01EA260BEF; Wed, 26 Feb 2020 22:12:08 +0000 (UTC) From: "Laszlo Ersek" To: edk2-devel-groups-io Cc: Ard Biesheuvel , Igor Mammedov , Jiewen Yao , Jordan Justen , Michael Kinney , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 03/16] OvmfPkg: clone SmmCpuPlatformHookLib from UefiCpuPkg Date: Wed, 26 Feb 2020 23:11:43 +0100 Message-Id: <20200226221156.29589-4-lersek@redhat.com> In-Reply-To: <20200226221156.29589-1-lersek@redhat.com> References: <20200226221156.29589-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Q2xvbmUgdGhlIE51bGwgaW5zdGFuY2Ugb2YgU21tQ3B1UGxhdGZvcm1Ib29rTGliIGZyb20gVWVm aUNwdVBrZyB0bwpPdm1mUGtnLiBJbiB0aGlzIHBhdGNoLCBjdXN0b21pemUgdGhlIGxpYiBpbnN0 YW5jZSBvbmx5IHdpdGggdGhlIGZvbGxvd2luZwpuby1vcCBzdGVwczoKCi0gUmVwbGFjZSBOdWxs L05VTEwgcmVmZXJlbmNlcyBpbiBmaWxlbmFtZXMgYW5kIGNvbW1lbnRzIHdpdGggUWVtdS9RRU1V CiAgcmVmZXJlbmNlcy4KLSBVcGRhdGUgY29weXJpZ2h0IG5vdGljZXMuCi0gQ2xlYW4gdXAgYW5k IHJld3JhcCBjb21tZW50IGJsb2Nrcy4KLSBVcGRhdGUgSU5GX1ZFUlNJT04gdG8gdGhlIGxhdGVz dCBJTkYgc3BlYyB2ZXJzaW9uICgxLjI5KS4KLSBVcGRhdGUgRklMRV9HVUlELgotIERyb3AgdGhl IFVOSSBmaWxlLgoKVGhpcyBwYXRjaCBpcyBiZXN0IHJldmlld2VkIHdpdGg6CgokIGdpdCBzaG93 IC0tZmluZC1jb3BpZXM9NDMgLS1maW5kLWNvcGllcy1oYXJkZXIKCkNjOiBBcmQgQmllc2hldXZl bCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KQ2M6IElnb3IgTWFtbWVkb3YgPGltYW1tZWRv QHJlZGhhdC5jb20+CkNjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4KQ2M6IEpv cmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+CkNjOiBNaWNoYWVsIEtpbm5l eSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+CkNjOiBQaGlsaXBwZSBNYXRoaWV1LURhdWTD qSA8cGhpbG1kQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD0xNTEyClNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVyc2Vr QHJlZGhhdC5jb20+CkFja2VkLWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGlu YXJvLm9yZz4KLS0tCgpOb3RlczoKICAgIHYyOgogICAgCiAgICAtIFBpY2sgdXAgQXJkJ3MgQWNr ZWQtYnksIHdoaWNoIGlzIGNvbmRpdGlvbmFsIG9uIGFwcHJvdmFsIGZyb20gSW50ZWwKICAgICAg cmV2aWV3ZXJzIG9uIENjLiAoSSdkIGxpa2UgdG8gc2F2ZSBBcmQgdGhlIGNodXJuIG9mIHJlLWFj a2luZwogICAgICB1bm1vZGlmaWVkIHBhdGNoZXMuKQoKIE92bWZQa2cvT3ZtZlBrZ0lhMzIuZHNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIFVl ZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJOdWxsL1NtbUNwdVBsYXRmb3Jt SG9va0xpYk51bGwuaW5mID0+IE92bWZQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJR ZW11L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUuaW5mIHwgMjEgKysrKystLS0tLS0tCiBVZWZp Q3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC9TbW1DcHVQbGF0Zm9ybUhv b2tMaWJOdWxsLmMgPT4gT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUv U21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5jICAgICB8IDM2ICsrKysrKysrKysrKy0tLS0tLS0t CiA1IGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5k c2MKaW5kZXggMTk3MjhmMjBiMzRlLi44MTM5OTVmZWZhZDggMTAwNjQ0Ci0tLSBhL092bWZQa2cv T3ZtZlBrZ0lhMzIuZHNjCisrKyBiL092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjCkBAIC04NTgsNDUg Kzg1OCw0NSBAQCBbQ29tcG9uZW50c10KICAgVWVmaUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNE YXRhRHhlLmluZg0KIA0KICAgIw0KICAgIyBTTU0gSW5pdGlhbCBQcm9ncmFtIExvYWQgKGEgRFhF X1JVTlRJTUVfRFJJVkVSKQ0KICAgIw0KICAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1Bp U21tSXBsLmluZg0KIA0KICAgIw0KICAgIyBTTU1fQ09SRQ0KICAgIw0KICAgTWRlTW9kdWxlUGtn L0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5pbmYNCiANCiAgICMNCiAgICMgUHJpdmlsZWdlZCBk cml2ZXJzIChEWEVfU01NX0RSSVZFUiBtb2R1bGVzKQ0KICAgIw0KICAgVWVmaUNwdVBrZy9DcHVJ bzJTbW0vQ3B1SW8yU21tLmluZg0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1Nt bUxvY2tCb3gvU21tTG9ja0JveC5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAg TG9ja0JveExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hT bW1MaWIuaW5mDQogICB9DQogICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhl U21tLmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCi0gICAgICBTbW1DcHVQbGF0Zm9ybUhv b2tMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYk51bGwvU21tQ3B1 UGxhdGZvcm1Ib29rTGliTnVsbC5pbmYNCisgICAgICBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJ8T3Zt ZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29r TGliUWVtdS5pbmYNCiAgICAgICBTbW1DcHVGZWF0dXJlc0xpYnxPdm1mUGtnL0xpYnJhcnkvU21t Q3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mDQogICB9DQogDQogICAjDQogICAj IFZhcmlhYmxlIGRyaXZlciBzdGFjayAoU01NKQ0KICAgIw0KICAgT3ZtZlBrZy9RZW11Rmxhc2hG dmJTZXJ2aWNlc1J1bnRpbWVEeGUvRnZiU2VydmljZXNTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaW5m DQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVT bW0uaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KICAgICAgIE5VTEx8TWRlTW9kdWxlUGtn L0xpYnJhcnkvVmFyQ2hlY2tVZWZpTGliL1ZhckNoZWNrVWVmaUxpYi5pbmYNCiAgIH0NCiAgIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1bnRp bWVEeGUuaW5mDQogDQogIWVsc2UNCiANCiAgICMNCiAgICMgVmFyaWFibGUgZHJpdmVyIHN0YWNr IChub24tU01NKQ0KICAgIw0KICAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRpbWVE eGUvRnZiU2VydmljZXNSdW50aW1lRHhlLmluZg0KICAgT3ZtZlBrZy9FbXVWYXJpYWJsZUZ2YlJ1 bnRpbWVEeGUvRnZiLmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCmRpZmYgLS1naXQgYS9P dm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjCmlu ZGV4IDNjMGMyMjllM2E3Mi4uYTI1NmM3MDg0YTdlIDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQ a2dJYTMyWDY0LmRzYworKysgYi9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYwpAQCAtODcyLDQ1 ICs4NzIsNDUgQEAgW0NvbXBvbmVudHMuWDY0XQogICBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9D cHVTM0RhdGFEeGUuaW5mDQogDQogICAjDQogICAjIFNNTSBJbml0aWFsIFByb2dyYW0gTG9hZCAo YSBEWEVfUlVOVElNRV9EUklWRVIpDQogICAjDQogICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNv cmUvUGlTbW1JcGwuaW5mDQogDQogICAjDQogICAjIFNNTV9DT1JFDQogICAjDQogICBNZGVNb2R1 bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmluZg0KIA0KICAgIw0KICAgIyBQcml2aWxl Z2VkIGRyaXZlcnMgKERYRV9TTU1fRFJJVkVSIG1vZHVsZXMpDQogICAjDQogICBVZWZpQ3B1UGtn L0NwdUlvMlNtbS9DcHVJbzJTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0xvY2tC b3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCiAg ICAgICBMb2NrQm94TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tCb3hMaWIvU21tTG9j a0JveFNtbUxpYi5pbmYNCiAgIH0NCiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1D cHVEeGVTbW0uaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KLSAgICAgIFNtbUNwdVBsYXRm b3JtSG9va0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC9T bW1DcHVQbGF0Zm9ybUhvb2tMaWJOdWxsLmluZg0KKyAgICAgIFNtbUNwdVBsYXRmb3JtSG9va0xp YnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS9TbW1DcHVQbGF0Zm9y bUhvb2tMaWJRZW11LmluZg0KICAgICAgIFNtbUNwdUZlYXR1cmVzTGlifE92bWZQa2cvTGlicmFy eS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCiAgIH0NCiANCiAgICMN CiAgICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChTTU0pDQogICAjDQogICBPdm1mUGtnL1FlbXVG bGFzaEZ2YlNlcnZpY2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNlc1NtbS5pbmYNCiAgIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZVNt bS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZVNtbS5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgTlVMTHxNZGVNb2R1 bGVQa2cvTGlicmFyeS9WYXJDaGVja1VlZmlMaWIvVmFyQ2hlY2tVZWZpTGliLmluZg0KICAgfQ0K ICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21t UnVudGltZUR4ZS5pbmYNCiANCiAhZWxzZQ0KIA0KICAgIw0KICAgIyBWYXJpYWJsZSBkcml2ZXIg c3RhY2sgKG5vbi1TTU0pDQogICAjDQogICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2VzUnVu dGltZUR4ZS9GdmJTZXJ2aWNlc1J1bnRpbWVEeGUuaW5mDQogICBPdm1mUGtnL0VtdVZhcmlhYmxl RnZiUnVudGltZUR4ZS9GdmIuaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KZGlmZiAtLWdp dCBhL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgYi9Pdm1mUGtnL092bWZQa2dYNjQuZHNjCmluZGV4 IGY2YzFkOGQyMjhjNi4uNzgwNzliOWY4ZTEzIDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dY NjQuZHNjCisrKyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MKQEAgLTg3MCw0NSArODcwLDQ1IEBA IFtDb21wb25lbnRzXQogICBVZWZpQ3B1UGtnL0NwdVMzRGF0YUR4ZS9DcHVTM0RhdGFEeGUuaW5m DQogDQogICAjDQogICAjIFNNTSBJbml0aWFsIFByb2dyYW0gTG9hZCAoYSBEWEVfUlVOVElNRV9E UklWRVIpDQogICAjDQogICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1JcGwuaW5m DQogDQogICAjDQogICAjIFNNTV9DT1JFDQogICAjDQogICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNt bUNvcmUvUGlTbW1Db3JlLmluZg0KIA0KICAgIw0KICAgIyBQcml2aWxlZ2VkIGRyaXZlcnMgKERY RV9TTU1fRFJJVkVSIG1vZHVsZXMpDQogICAjDQogICBVZWZpQ3B1UGtnL0NwdUlvMlNtbS9DcHVJ bzJTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0xvY2tCb3gvU21tTG9ja0JveC9T bW1Mb2NrQm94LmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCiAgICAgICBMb2NrQm94TGli fE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tCb3hMaWIvU21tTG9ja0JveFNtbUxpYi5pbmYN CiAgIH0NCiAgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mIHsN CiAgICAgPExpYnJhcnlDbGFzc2VzPg0KLSAgICAgIFNtbUNwdVBsYXRmb3JtSG9va0xpYnxVZWZp Q3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC9TbW1DcHVQbGF0Zm9ybUhv b2tMaWJOdWxsLmluZg0KKyAgICAgIFNtbUNwdVBsYXRmb3JtSG9va0xpYnxPdm1mUGtnL0xpYnJh cnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11Lmlu Zg0KICAgICAgIFNtbUNwdUZlYXR1cmVzTGlifE92bWZQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJl c0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCiAgIH0NCiANCiAgICMNCiAgICMgVmFyaWFibGUg ZHJpdmVyIHN0YWNrIChTTU0pDQogICAjDQogICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2Vz UnVudGltZUR4ZS9GdmJTZXJ2aWNlc1NtbS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZVNtbS5pbmYNCiAgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbS5pbmYgew0K ICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9W YXJDaGVja1VlZmlMaWIvVmFyQ2hlY2tVZWZpTGliLmluZg0KICAgfQ0KICAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pbmYN CiANCiAhZWxzZQ0KIA0KICAgIw0KICAgIyBWYXJpYWJsZSBkcml2ZXIgc3RhY2sgKG5vbi1TTU0p DQogICAjDQogICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2VzUnVudGltZUR4ZS9GdmJTZXJ2 aWNlc1J1bnRpbWVEeGUuaW5mDQogICBPdm1mUGtnL0VtdVZhcmlhYmxlRnZiUnVudGltZUR4ZS9G dmIuaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cv TGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJOdWxsL1NtbUNwdVBsYXRmb3JtSG9va0xpYk51 bGwuaW5mIGIvT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1 UGxhdGZvcm1Ib29rTGliUWVtdS5pbmYKc2ltaWxhcml0eSBpbmRleCA0MyUKY29weSBmcm9tIFVl ZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJOdWxsL1NtbUNwdVBsYXRmb3Jt SG9va0xpYk51bGwuaW5mCmNvcHkgdG8gT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9v a0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5pbmYKaW5kZXggZmFiNmIzMGI3YTNm Li44MmVkZWNhM2QxMmQgMTAwNjQ0Ci0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVQbGF0 Zm9ybUhvb2tMaWJOdWxsL1NtbUNwdVBsYXRmb3JtSG9va0xpYk51bGwuaW5mCisrKyBiL092bWZQ a2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9va0xp YlFlbXUuaW5mCkBAIC0xLDM0ICsxLDI5IEBACiAjIyBAZmlsZQ0KLSMgIFNNTSBDUFUgUGxhdGZv cm0gSG9vayBOVUxMIGxpYnJhcnkgaW5zdGFuY2UuDQorIyAgU01NIENQVSBQbGF0Zm9ybSBIb29r IGxpYnJhcnkgaW5zdGFuY2UgZm9yIFFFTVUuDQogIw0KKyMgIENvcHlyaWdodCAoYykgMjAyMCwg UmVkIEhhdCwgSW5jLg0KICMgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTUsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCiAjICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KLSMNCiAjIw0KIA0KLSMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQotIw0KLSMgRGVmaW5lcyBTZWN0aW9uIC0gc3RhdGVtZW50cyB0aGF0IHdpbGwgYmUg cHJvY2Vzc2VkIHRvIGNyZWF0ZSBhIE1ha2VmaWxlLg0KLSMNCi0jIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KIFtEZWZpbmVzXQ0KLSAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgw MDAxMDAwNQ0KLSAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gU21tQ3B1UGxhdGZv cm1Ib29rTGliTnVsbA0KLSAgTU9EVUxFX1VOSV9GSUxFICAgICAgICAgICAgICAgID0gU21tQ3B1 UGxhdGZvcm1Ib29rTGliTnVsbC51bmkNCi0gIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAg ICA9IEQ2NDk0RTFCLUUwNkYtNGFiNS1CNjRELTQ4QjI1QUE5RUIzMw0KKyAgSU5GX1ZFUlNJT04g ICAgICAgICAgICAgICAgICAgID0gMS4yOQ0KKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAg ICAgID0gU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdQ0KKyAgRklMRV9HVUlEICAgICAgICAgICAg ICAgICAgICAgID0gMTU0RDZEMjYtNTRCOC00NUJDLUJBM0EtQ0JBQTIwQzAyQTZBDQogICBNT0RV TEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBEWEVfRFJJVkVSDQogICBWRVJTSU9OX1NUUklO RyAgICAgICAgICAgICAgICAgPSAxLjANCiAgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAg ICA9IFNtbUNwdVBsYXRmb3JtSG9va0xpYg0KIA0KICMNCi0jIFRoZSBmb2xsb3dpbmcgaW5mb3Jt YXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlIGJ1aWxk IHRvb2xzLg0KKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9u bHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUgYnVpbGQNCisjIHRvb2xzLg0KICMNCiAjICBWQUxJ RF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0DQogIw0KIA0KIFtTb3VyY2VzXQ0K LSAgU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC5jDQorICBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJR ZW11LmMNCiANCiBbUGFja2FnZXNdDQogICBNZGVQa2cvTWRlUGtnLmRlYw0KICAgVWVmaUNwdVBr Zy9VZWZpQ3B1UGtnLmRlYw0KZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVQ bGF0Zm9ybUhvb2tMaWJOdWxsL1NtbUNwdVBsYXRmb3JtSG9va0xpYk51bGwuYyBiL092bWZQa2cv TGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFl bXUuYwpzaW1pbGFyaXR5IGluZGV4IDY3JQpjb3B5IGZyb20gVWVmaUNwdVBrZy9MaWJyYXJ5L1Nt bUNwdVBsYXRmb3JtSG9va0xpYk51bGwvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC5jCmNvcHkg dG8gT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZv cm1Ib29rTGliUWVtdS5jCmluZGV4IDZjMjAxMGRjMGE2Ny4uMjU3ZTFkMzk5Y2M2IDEwMDY0NAot LS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC9TbW1DcHVQ bGF0Zm9ybUhvb2tMaWJOdWxsLmMKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3Jt SG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5jCkBAIC0xLDEwMiArMSwxMDgg QEAKIC8qKiBAZmlsZQ0KLVNNTSBDUFUgUGxhdGZvcm0gSG9vayBOVUxMIGxpYnJhcnkgaW5zdGFu Y2UuDQorU01NIENQVSBQbGF0Zm9ybSBIb29rIGxpYnJhcnkgaW5zdGFuY2UgZm9yIFFFTVUuDQog DQorQ29weXJpZ2h0IChjKSAyMDIwLCBSZWQgSGF0LCBJbmMuDQogQ29weXJpZ2h0IChjKSAyMDA2 IC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQogDQogKiovDQogI2lu Y2x1ZGUgPFBpU21tLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGli Lmg+DQogDQogLyoqDQogICBDaGVja3MgaWYgcGxhdGZvcm0gcHJvZHVjZXMgYSB2YWxpZCBTTUku DQogDQogICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBwbGF0Zm9ybSBwcm9kdWNlcyBhIHZhbGlk IFNNSS4gVGhpcyBmdW5jdGlvbiBpcw0KICAgY2FsbGVkIGF0IFNNTSBlbnRyeSB0byBkZXRlY3Qg aWYgdGhpcyBpcyBhIHNwdXJpb3VzIFNNSS4gVGhpcyBmdW5jdGlvbg0KICAgbXVzdCBiZSBpbXBs ZW1lbnRlZCBpbiBhbiBNUCBzYWZlIHdheSBiZWNhdXNlIGl0IGlzIGNhbGxlZCBieSBtdWx0aXBs ZSBDUFUNCiAgIHRocmVhZHMuDQogDQogICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgIFRoZXJl IGlzIGEgdmFsaWQgU01JDQogICBAcmV0dmFsIEZBTFNFICAgICAgICAgICAgIFRoZXJlIGlzIG5v IHZhbGlkIFNNSQ0KIA0KICoqLw0KIEJPT0xFQU4NCiBFRklBUEkNCiBQbGF0Zm9ybVZhbGlkU21p ICgNCiAgIFZPSUQNCiAgICkNCiB7DQogICByZXR1cm4gVFJVRTsNCiB9DQogDQogLyoqDQogICBD bGVhcnMgcGxhdGZvcm0gdG9wIGxldmVsIFNNSSBzdGF0dXMgYml0Lg0KIA0KICAgVGhpcyBmdW5j dGlvbiBjbGVhcnMgcGxhdGZvcm0gdG9wIGxldmVsIFNNSSBzdGF0dXMgYml0Lg0KIA0KICAgQHJl dHZhbCBUUlVFICAgICAgICAgICAgICBUaGUgcGxhdGZvcm0gdG9wIGxldmVsIFNNSSBzdGF0dXMg aXMgY2xlYXJlZC4NCi0gIEByZXR2YWwgRkFMU0UgICAgICAgICAgICAgVGhlIHBsYXRmb3JtIHRv cCBsZXZlbCBTTUkgc3RhdHVzIGNhbm5vdCBiZSBjbGVhcmVkLg0KKyAgQHJldHZhbCBGQUxTRSAg ICAgICAgICAgICBUaGUgcGxhdGZvcm0gdG9wIGxldmVsIFNNSSBzdGF0dXMgY2Fubm90IGJlDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQuDQogDQogKiovDQogQk9PTEVBTg0K IEVGSUFQSQ0KIENsZWFyVG9wTGV2ZWxTbWlTdGF0dXMgKA0KICAgVk9JRA0KICAgKQ0KIHsNCiAg IHJldHVybiBUUlVFOw0KIH0NCiANCiAvKioNCiAgIFBlcmZvcm1zIHBsYXRmb3JtIHNwZWNpZmlj IHdheSBvZiBTTU0gQlNQIGVsZWN0aW9uLg0KIA0KICAgVGhpcyBmdW5jdGlvbiBwZXJmb3JtcyBw bGF0Zm9ybSBzcGVjaWZpYyB3YXkgb2YgU01NIEJTUCBlbGVjdGlvbi4NCiANCi0gIEBwYXJhbSAg SXNCc3AgICAgICAgICAgICAgT3V0cHV0IHBhcmFtZXRlci4gVFJVRTogdGhlIENQVSB0aGlzIGZ1 bmN0aW9uIGV4ZWN1dGVzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIGlzIGVsZWN0 ZWQgdG8gYmUgdGhlIFNNTSBCU1AuIEZBTFNFOiB0aGUgQ1BVIHRoaXMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgZnVuY3Rpb24gZXhlY3V0ZXMgb24gaXMgdG8gYmUgU01NIEFQLg0KKyAg QHBhcmFtICBJc0JzcCAgICAgICAgICAgICBPdXRwdXQgcGFyYW1ldGVyLiBUUlVFOiB0aGUgQ1BV IHRoaXMgZnVuY3Rpb24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZXMgb24g aXMgZWxlY3RlZCB0byBiZSB0aGUgU01NIEJTUC4gRkFMU0U6DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRoZSBDUFUgdGhpcyBmdW5jdGlvbiBleGVjdXRlcyBvbiBpcyB0byBiZSBTTU0g QVAuDQogDQogICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgIFRoZSBmdW5jdGlvbiBleGVjdXRl cyBzdWNjZXNzZnVsbHkuDQotICBAcmV0dmFsIEVGSV9OT1RfUkVBRFkgICAgIFRoZSBmdW5jdGlv biBkb2VzIG5vdCBkZXRlcm1pbmUgd2hldGhlciB0aGlzIENQVSBzaG91bGQgYmUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgQlNQIG9yIEFQLiBUaGlzIG1heSBvY2N1ciBpZiBoYXJkd2Fy ZSBpbml0IHNlcXVlbmNlIHRvDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSB0 aGUgZGV0ZXJtaW5hdGlvbiBpcyB5ZXQgdG8gYmUgZG9uZSwgb3IgdGhlIGZ1bmN0aW9uDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNob29zZXMgbm90IHRvIGRvIEJTUCBlbGVjdGlvbiBh bmQgd2lsbCBsZXQgU01NIENQVSBkcml2ZXIgdG8NCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgdXNlIGl0cyBkZWZhdWx0IEJTUCBlbGVjdGlvbiBwcm9jZXNzLg0KLSAgQHJldHZhbCBFRklf REVWSUNFX0VSUk9SICBUaGUgZnVuY3Rpb24gY2Fubm90IGRldGVybWluZSB3aGV0aGVyIHRoaXMg Q1BVIHNob3VsZCBiZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBCU1Agb3IgQVAgZHVl IHRvIGhhcmR3YXJlIGVycm9yLg0KKyAgQHJldHZhbCBFRklfTk9UX1JFQURZICAgICBUaGUgZnVu Y3Rpb24gZG9lcyBub3QgZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBDUFUNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2hvdWxkIGJlIEJTUCBvciBBUC4gVGhpcyBtYXkgb2NjdXIgaWYgaGFy ZHdhcmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCBzZXF1ZW5jZSB0byBlbmFi bGUgdGhlIGRldGVybWluYXRpb24gaXMgeWV0IHRvDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJlIGRvbmUsIG9yIHRoZSBmdW5jdGlvbiBjaG9vc2VzIG5vdCB0byBkbyBCU1ANCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZWxlY3Rpb24gYW5kIHdpbGwgbGV0IFNNTSBDUFUgZHJp dmVyIHRvIHVzZSBpdHMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCBCU1Ag ZWxlY3Rpb24gcHJvY2Vzcy4NCisgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgVGhlIGZ1bmN0 aW9uIGNhbm5vdCBkZXRlcm1pbmUgd2hldGhlciB0aGlzIENQVQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaG91bGQgYmUgQlNQIG9yIEFQIGR1ZSB0byBoYXJkd2FyZSBlcnJvci4NCiAN CiAqKi8NCiBFRklfU1RBVFVTDQogRUZJQVBJDQogUGxhdGZvcm1TbW1Cc3BFbGVjdGlvbiAoDQog ICBPVVQgQk9PTEVBTiAgICAgKklzQnNwDQogICApDQogew0KICAgcmV0dXJuIEVGSV9OT1RfUkVB RFk7DQogfQ0KIA0KIC8qKg0KICAgR2V0IHBsYXRmb3JtIHBhZ2UgdGFibGUgYXR0cmlidXRlLg0K IA0KICAgVGhpcyBmdW5jdGlvbiBnZXRzIHBhZ2UgdGFibGUgYXR0cmlidXRlIG9mIHBsYXRmb3Jt Lg0KIA0KLSAgQHBhcmFtICBBZGRyZXNzICAgICAgICBJbnB1dCBwYXJhbWV0ZXIuIE9idGFpbiB0 aGUgcGFnZSB0YWJsZSBlbnRyaWVzIGF0dHJpYnV0ZSBvbiB0aGlzIGFkZHJlc3MuDQorICBAcGFy YW0gIEFkZHJlc3MgICAgICAgIElucHV0IHBhcmFtZXRlci4gT2J0YWluIHRoZSBwYWdlIHRhYmxl IGVudHJpZXMNCisgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIG9uIHRoaXMgYWRk cmVzcy4NCiAgIEBwYXJhbSAgUGFnZVNpemUgICAgICAgT3V0cHV0IHBhcmFtZXRlci4gVGhlIHNp emUgb2YgdGhlIHBhZ2UuDQogICBAcGFyYW0gIE51bU9mUGFnZXMgICAgIE91dHB1dCBwYXJhbWV0 ZXIuIE51bWJlciBvZiBwYWdlLg0KICAgQHBhcmFtICBQYWdlQXR0cmlidXRlICBPdXRwdXQgcGFy YW1ldGVyLiBQYWdpbmcgQXR0cmlidXRlcyAoV0IsIFVDLCBldGMpLg0KIA0KLSAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgIFRoZSBwbGF0Zm9ybSBwYWdlIHRhYmxlIGF0dHJpYnV0ZSBmcm9tIHRo ZSBhZGRyZXNzIGlzIGRldGVybWluZWQuDQotICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgVGhl IHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgZ2V0dGluZyBwYWdlIHRhYmxlIGF0dHJpYnV0ZSBm b3IgdGhlIGFkZHJlc3MuDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgVGhlIHBsYXRmb3Jt IHBhZ2UgdGFibGUgYXR0cmlidXRlIGZyb20gdGhlIGFkZHJlc3MNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBpcyBkZXRlcm1pbmVkLg0KKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgIFRo ZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IGdldHRpbmcgcGFnZSB0YWJsZQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBmb3IgdGhlIGFkZHJlc3MuDQogDQogKiovDQog RUZJX1NUQVRVUw0KIEVGSUFQSQ0KIEdldFBsYXRmb3JtUGFnZVRhYmxlQXR0cmlidXRlICgNCiAg IElOICBVSU5UNjQgICAgICAgICAgICAgICAgQWRkcmVzcywNCiAgIElOIE9VVCBTTU1fUEFHRV9T SVpFX1RZUEUgKlBhZ2VTaXplLA0KICAgSU4gT1VUIFVJTlROICAgICAgICAgICAgICAqTnVtT2ZQ YWdlcywNCiAgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgKlBhZ2VBdHRyaWJ1dGUNCiAgICkN CiB7DQogICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KIH0NCi0tIAoyLjE5LjEuMy5nMzAyNDdh YTVkMjAxCgoK