From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.81]) by mx.groups.io with SMTP id smtpd.web09.293.1582755146601753322 for ; Wed, 26 Feb 2020 14:12:26 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=VU6SDvND; spf=pass (domain: redhat.com, ip: 207.211.31.81, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582755145; 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=DGqLX3RBGBaiffjM/e10AwnP9E4R350qgQ8bWk3G1vQ=; b=VU6SDvND8hWkqqnMNgSTL+LNqG6TQxWXIMyp8vLHgUnY0anhf00kXOYa7xy/Eh+7mnOW1A 2GClkXWXmagdFT1FwoehiqKKNv8m9tTXgjujhXy2YkCSahNZxw00VfQPolkZi++xYWcpju Y8bW2ELBagzncjtrSSEM/Xu/Yl3Rlvc= 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-389-H3J24dOAPvGjKO_9Ut7OBA-1; Wed, 26 Feb 2020 17:12:18 -0500 X-MC-Unique: H3J24dOAPvGjKO_9Ut7OBA-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 3D475DB60; Wed, 26 Feb 2020 22:12:17 +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 839B960BEF; Wed, 26 Feb 2020 22:12:15 +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 06/16] OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver Date: Wed, 26 Feb 2020 23:11:46 +0100 Message-Id: <20200226221156.29589-7-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 QWRkIGEgbmV3IFNNTSBkcml2ZXIgc2tlbGV0b24gdGhhdCByZWdpc3RlcnMgYSByb290IFNNSSBo YW5kbGVyLCBhbmQKY2hlY2tzIGlmIHRoZSBTTUkgY29udHJvbCB2YWx1ZSAod3JpdHRlbiB0byAw eEIyKSBpbmRpY2F0ZXMgYSBDUFUgaG90cGx1ZwpTTUkuCgpRRU1VJ3MgQUNQSSBwYXlsb2FkIHdp bGwgY2F1c2UgdGhlIE9TIHRvIHJhaXNlIGEgYnJvYWRjYXN0IFNNSSB3aGVuIGEgQ1BVCmhvdHBs dWcgZXZlbnQgb2NjdXJzLCBuYW1lbHkgYnkgd3JpdGluZyB2YWx1ZSA0IHRvIElPIFBvcnQgMHhC Mi4gSW4gb3RoZXIKd29yZHMsIGNvbnRyb2wgdmFsdWUgNCBpcyBub3cgYWxsb2NhdGVkIGZvciB0 aGlzIHB1cnBvc2U7IGludHJvZHVjZSB0aGUKSUNIOV9BUE1fQ05UX0NQVV9IT1RQTFVHIG1hY3Jv IGZvciBpdC4KClRoZSBzdGFuZGFyZCBpZGVudGlmaWVycyBpbiB0aGlzIGRyaXZlciB1c2UgdGhl IG5ldyBNTSAoTWFuYWdlbWVudCBNb2RlKQp0ZXJtaW5vbG9neSBmcm9tIHRoZSBQSSBzcGVjLCBu b3QgdGhlIGVhcmxpZXIgU01NIChTeXN0ZW0gTWFuYWdlbWVudCBNb2RlKQp0ZXJtcy4KCkNjOiBB cmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KQ2M6IElnb3IgTWFtbWVk b3YgPGltYW1tZWRvQHJlZGhhdC5jb20+CkNjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVs LmNvbT4KQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+CkNjOiBN aWNoYWVsIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+CkNjOiBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyClNpZ25lZC1vZmYtYnk6IExhc3psbyBF cnNlayA8bGVyc2VrQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZz4KLS0tCgpOb3RlczoKICAgIHYyOgogICAgCiAgICAtIFBpY2sg dXAgQXJkJ3MgQWNrZWQtYnksIHdoaWNoIGlzIGNvbmRpdGlvbmFsIG9uIGFwcHJvdmFsIGZyb20g SW50ZWwKICAgICAgcmV2aWV3ZXJzIG9uIENjLiAoSSdkIGxpa2UgdG8gc2F2ZSBBcmQgdGhlIGNo dXJuIG9mIHJlLWFja2luZwogICAgICB1bm1vZGlmaWVkIHBhdGNoZXMuKQoKIE92bWZQa2cvT3Zt ZlBrZ0lhMzIuZHNjICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBPdm1mUGtnL092bWZQ a2dJYTMyWDY0LmRzYyAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogT3ZtZlBrZy9Pdm1mUGtn WDY0LmRzYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIE92bWZQa2cvT3ZtZlBrZ0lh MzIuZmRmICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBPdm1mUGtnL092bWZQa2dJYTMy WDY0LmZkZiAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogT3ZtZlBrZy9Pdm1mUGtnWDY0LmZk ZiAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIE92bWZQa2cvSW5jbHVkZS9JbmR1c3Ry eVN0YW5kYXJkL1EzNU1jaEljaDkuaCB8ICAgNSArLQogT3ZtZlBrZy9DcHVIb3RwbHVnU21tL0Nw dUhvdHBsdWdTbW0uaW5mICAgICAgIHwgIDQ4ICsrKysrCiBPdm1mUGtnL0NwdUhvdHBsdWdTbW0v Q3B1SG90cGx1Zy5jICAgICAgICAgICAgfCAxOTEgKysrKysrKysrKysrKysrKysrKysKIDkgZmls ZXMgY2hhbmdlZCwgMjQ4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MgYi9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYwppbmRl eCA4YzA2NWNhN2NlYzkuLjc4MzEwZGE0NGE1ZiAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtn SWEzMi5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MKQEAgLTg1MSw0NCArODUxLDQ1 IEBAIFtDb21wb25lbnRzXQogDQogICBPdm1mUGtnL1BsYXRmb3JtRHhlL1BsYXRmb3JtLmluZg0K ICAgT3ZtZlBrZy9Jb01tdUR4ZS9Jb01tdUR4ZS5pbmYNCiANCiAhaWYgJChTTU1fUkVRVUlSRSkg PT0gVFJVRQ0KICAgT3ZtZlBrZy9TbW1BY2Nlc3MvU21tQWNjZXNzMkR4ZS5pbmYNCiAgIE92bWZQ a2cvU21tQ29udHJvbDJEeGUvU21tQ29udHJvbDJEeGUuaW5mDQogICBVZWZpQ3B1UGtnL0NwdVMz RGF0YUR4ZS9DcHVTM0RhdGFEeGUuaW5mDQogDQogICAjDQogICAjIFNNTSBJbml0aWFsIFByb2dy YW0gTG9hZCAoYSBEWEVfUlVOVElNRV9EUklWRVIpDQogICAjDQogICBNZGVNb2R1bGVQa2cvQ29y ZS9QaVNtbUNvcmUvUGlTbW1JcGwuaW5mDQogDQogICAjDQogICAjIFNNTV9DT1JFDQogICAjDQog ICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmluZg0KIA0KICAgIw0KICAg IyBQcml2aWxlZ2VkIGRyaXZlcnMgKERYRV9TTU1fRFJJVkVSIG1vZHVsZXMpDQogICAjDQorICBP dm1mUGtnL0NwdUhvdHBsdWdTbW0vQ3B1SG90cGx1Z1NtbS5pbmYNCiAgIFVlZmlDcHVQa2cvQ3B1 SW8yU21tL0NwdUlvMlNtbS5pbmYNCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTG9ja0JveC9T bW1Mb2NrQm94L1NtbUxvY2tCb3guaW5mIHsNCiAgICAgPExpYnJhcnlDbGFzc2VzPg0KICAgICAg IExvY2tCb3hMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvU21tTG9ja0JveExpYi9TbW1Mb2NrQm94 U21tTGliLmluZg0KICAgfQ0KICAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4 ZVNtbS5pbmYgew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgU21tQ3B1UGxhdGZvcm1I b29rTGlifE92bWZQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBs YXRmb3JtSG9va0xpYlFlbXUuaW5mDQogICAgICAgU21tQ3B1RmVhdHVyZXNMaWJ8T3ZtZlBrZy9M aWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbUNwdUZlYXR1cmVzTGliLmluZg0KICAgfQ0KIA0K ICAgIw0KICAgIyBWYXJpYWJsZSBkcml2ZXIgc3RhY2sgKFNNTSkNCiAgICMNCiAgIE92bWZQa2cv UWVtdUZsYXNoRnZiU2VydmljZXNSdW50aW1lRHhlL0Z2YlNlcnZpY2VzU21tLmluZg0KICAgTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdy aXRlU21tLmluZg0KICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlU21tLmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCiAgICAgICBOVUxMfE1k ZU1vZHVsZVBrZy9MaWJyYXJ5L1ZhckNoZWNrVWVmaUxpYi9WYXJDaGVja1VlZmlMaWIuaW5mDQog ICB9DQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFi bGVTbW1SdW50aW1lRHhlLmluZg0KIA0KZGlmZiAtLWdpdCBhL092bWZQa2cvT3ZtZlBrZ0lhMzJY NjQuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MKaW5kZXggOTQ0Yjc4NWU2MWE5Li40 Mjg1NzhhNGY4MzkgMTAwNjQ0Ci0tLSBhL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjCisrKyBi L092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjCkBAIC04NjUsNDQgKzg2NSw0NSBAQCBbQ29tcG9u ZW50cy5YNjRdCiAgIE92bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm0uaW5mDQogICBPdm1mUGtn L0FtZFNldkR4ZS9BbWRTZXZEeGUuaW5mDQogICBPdm1mUGtnL0lvTW11RHhlL0lvTW11RHhlLmlu Zg0KIA0KICFpZiAkKFNNTV9SRVFVSVJFKSA9PSBUUlVFDQogICBPdm1mUGtnL1NtbUFjY2Vzcy9T bW1BY2Nlc3MyRHhlLmluZg0KICAgT3ZtZlBrZy9TbW1Db250cm9sMkR4ZS9TbW1Db250cm9sMkR4 ZS5pbmYNCiAgIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0YUR4ZS5pbmYNCiANCiAg ICMNCiAgICMgU01NIEluaXRpYWwgUHJvZ3JhbSBMb2FkIChhIERYRV9SVU5USU1FX0RSSVZFUikN CiAgICMNCiAgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUlwbC5pbmYNCiANCiAg ICMNCiAgICMgU01NX0NPUkUNCiAgICMNCiAgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9Q aVNtbUNvcmUuaW5mDQogDQogICAjDQogICAjIFByaXZpbGVnZWQgZHJpdmVycyAoRFhFX1NNTV9E UklWRVIgbW9kdWxlcykNCiAgICMNCisgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVn U21tLmluZg0KICAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KICAgTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tCb3gvU21tTG9ja0JveC5pbmYgew0KICAg ICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgTG9ja0JveExpYnxNZGVNb2R1bGVQa2cvTGlicmFy eS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTbW1MaWIuaW5mDQogICB9DQogICBVZWZpQ3B1UGtn L1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZiB7DQogICAgIDxMaWJyYXJ5Q2xhc3Nl cz4NCiAgICAgICBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJ8T3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBs YXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5pbmYNCiAgICAgICBT bW1DcHVGZWF0dXJlc0xpYnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1 RmVhdHVyZXNMaWIuaW5mDQogICB9DQogDQogICAjDQogICAjIFZhcmlhYmxlIGRyaXZlciBzdGFj ayAoU01NKQ0KICAgIw0KICAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRpbWVEeGUv RnZiU2VydmljZXNTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJh bnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mIHsNCiAgICAgPExpYnJh cnlDbGFzc2VzPg0KICAgICAgIE5VTEx8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVmFyQ2hlY2tVZWZp TGliL1ZhckNoZWNrVWVmaUxpYi5pbmYNCiAgIH0NCiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv VmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1bnRpbWVEeGUuaW5mDQogDQpkaWZmIC0t Z2l0IGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MKaW5k ZXggOGRlMGY3MTc5Nzg0Li43M2I5MmYyNTkyMDEgMTAwNjQ0Ci0tLSBhL092bWZQa2cvT3ZtZlBr Z1g2NC5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYwpAQCAtODYzLDQ0ICs4NjMsNDUg QEAgW0NvbXBvbmVudHNdCiAgIE92bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm0uaW5mDQogICBP dm1mUGtnL0FtZFNldkR4ZS9BbWRTZXZEeGUuaW5mDQogICBPdm1mUGtnL0lvTW11RHhlL0lvTW11 RHhlLmluZg0KIA0KICFpZiAkKFNNTV9SRVFVSVJFKSA9PSBUUlVFDQogICBPdm1mUGtnL1NtbUFj Y2Vzcy9TbW1BY2Nlc3MyRHhlLmluZg0KICAgT3ZtZlBrZy9TbW1Db250cm9sMkR4ZS9TbW1Db250 cm9sMkR4ZS5pbmYNCiAgIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0YUR4ZS5pbmYN CiANCiAgICMNCiAgICMgU01NIEluaXRpYWwgUHJvZ3JhbSBMb2FkIChhIERYRV9SVU5USU1FX0RS SVZFUikNCiAgICMNCiAgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUlwbC5pbmYN CiANCiAgICMNCiAgICMgU01NX0NPUkUNCiAgICMNCiAgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21t Q29yZS9QaVNtbUNvcmUuaW5mDQogDQogICAjDQogICAjIFByaXZpbGVnZWQgZHJpdmVycyAoRFhF X1NNTV9EUklWRVIgbW9kdWxlcykNCiAgICMNCisgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVI b3RwbHVnU21tLmluZg0KICAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KICAg TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tCb3gvU21tTG9ja0JveC5pbmYg ew0KICAgICA8TGlicmFyeUNsYXNzZXM+DQogICAgICAgTG9ja0JveExpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hTbW1MaWIuaW5mDQogICB9DQogICBVZWZp Q3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZiB7DQogICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCiAgICAgICBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJ8T3ZtZlBrZy9MaWJyYXJ5L1Nt bUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5pbmYNCiAg ICAgICBTbW1DcHVGZWF0dXJlc0xpYnxPdm1mUGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIv U21tQ3B1RmVhdHVyZXNMaWIuaW5mDQogICB9DQogDQogICAjDQogICAjIFZhcmlhYmxlIGRyaXZl ciBzdGFjayAoU01NKQ0KICAgIw0KICAgT3ZtZlBrZy9RZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRp bWVEeGUvRnZiU2VydmljZXNTbW0uaW5mDQogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0 VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaW5mDQogICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mIHsNCiAgICAg PExpYnJhcnlDbGFzc2VzPg0KICAgICAgIE5VTEx8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVmFyQ2hl Y2tVZWZpTGliL1ZhckNoZWNrVWVmaUxpYi5pbmYNCiAgIH0NCiAgIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJpYWJsZVNtbVJ1bnRpbWVEeGUuaW5mDQogDQpk aWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5mZGYgYi9Pdm1mUGtnL092bWZQa2dJYTMy LmZkZgppbmRleCA2MzYwNzU1MWVkNzUuLjYxYjg5MTc2NWM1NiAxMDA2NDQKLS0tIGEvT3ZtZlBr Zy9Pdm1mUGtnSWEzMi5mZGYKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5mZGYKQEAgLTMwMSw0 NCArMzAxLDQ1IEBAIFtGVi5EWEVGVl0KIElORiAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiS2JE eGUvVXNiS2JEeGUuaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFn ZUR4ZS9Vc2JNYXNzU3RvcmFnZUR4ZS5pbmYNCiANCiAhaWZkZWYgJChDU01fRU5BQkxFKQ0KIElO RiAgT3ZtZlBrZy9Dc20vQmlvc1RodW5rL1ZpZGVvRHhlL1ZpZGVvRHhlLmluZg0KIElORiAgT3Zt ZlBrZy9Dc20vTGVnYWN5Qmlvc0R4ZS9MZWdhY3lCaW9zRHhlLmluZg0KIElORiAgUnVsZU92ZXJy aWRlPUNTTSBPdm1mUGtnL0NzbS9Dc20xNi9Dc20xNi5pbmYNCiAhZWxzZQ0KIElORiAgT3ZtZlBr Zy9RZW11VmlkZW9EeGUvUWVtdVZpZGVvRHhlLmluZg0KICFlbmRpZg0KIA0KIElORiAgT3ZtZlBr Zy9RZW11UmFtZmJEeGUvUWVtdVJhbWZiRHhlLmluZg0KIElORiAgT3ZtZlBrZy9WaXJ0aW9HcHVE eGUvVmlydGlvR3B1LmluZg0KIElORiAgT3ZtZlBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5pbmYN CiBJTkYgIE92bWZQa2cvSW9NbXVEeGUvSW9NbXVEeGUuaW5mDQogDQogIWlmICQoU01NX1JFUVVJ UkUpID09IFRSVUUNCiBJTkYgIE92bWZQa2cvU21tQWNjZXNzL1NtbUFjY2VzczJEeGUuaW5mDQog SU5GICBPdm1mUGtnL1NtbUNvbnRyb2wyRHhlL1NtbUNvbnRyb2wyRHhlLmluZg0KIElORiAgVWVm aUNwdVBrZy9DcHVTM0RhdGFEeGUvQ3B1UzNEYXRhRHhlLmluZg0KIElORiAgTWRlTW9kdWxlUGtn L0NvcmUvUGlTbW1Db3JlL1BpU21tSXBsLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlT bW1Db3JlL1BpU21tQ29yZS5pbmYNCitJTkYgIE92bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3Rw bHVnU21tLmluZg0KIElORiAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KIElO RiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tCb3gvU21tTG9ja0JveC5p bmYNCiBJTkYgIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mDQog DQogIw0KICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChTTU0pDQogIw0KIElORiAgT3ZtZlBrZy9R ZW11Rmxhc2hGdmJTZXJ2aWNlc1J1bnRpbWVEeGUvRnZiU2VydmljZXNTbW0uaW5mDQogSU5GICBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50 V3JpdGVTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRp bWVEeGUvVmFyaWFibGVTbW0uaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1Zhcmlh YmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW1SdW50aW1lRHhlLmluZg0KIA0KICFlbHNlDQogDQog Iw0KICMgVmFyaWFibGUgZHJpdmVyIHN0YWNrIChub24tU01NKQ0KICMNCiBJTkYgIE92bWZQa2cv UWVtdUZsYXNoRnZiU2VydmljZXNSdW50aW1lRHhlL0Z2YlNlcnZpY2VzUnVudGltZUR4ZS5pbmYN CiBJTkYgIE92bWZQa2cvRW11VmFyaWFibGVGdmJSdW50aW1lRHhlL0Z2Yi5pbmYNCiBJTkYgIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRX cml0ZUR4ZS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGlt ZUR4ZS9WYXJpYWJsZVJ1bnRpbWVEeGUuaW5mDQogIWVuZGlmDQpkaWZmIC0tZ2l0IGEvT3ZtZlBr Zy9Pdm1mUGtnSWEzMlg2NC5mZGYgYi9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmZkZgppbmRleCAw NDg4ZTVkOTVmZmUuLjUwMWI0ZmNiN2I2NyAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnSWEz Mlg2NC5mZGYKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5mZGYKQEAgLTMwOCw0NCArMzA4 LDQ1IEBAIFtGVi5EWEVGVl0KIElORiAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3Jh Z2VEeGUvVXNiTWFzc1N0b3JhZ2VEeGUuaW5mDQogDQogIWlmZGVmICQoQ1NNX0VOQUJMRSkNCiBJ TkYgIE92bWZQa2cvQ3NtL0Jpb3NUaHVuay9WaWRlb0R4ZS9WaWRlb0R4ZS5pbmYNCiBJTkYgIE92 bWZQa2cvQ3NtL0xlZ2FjeUJpb3NEeGUvTGVnYWN5Qmlvc0R4ZS5pbmYNCiBJTkYgIFJ1bGVPdmVy cmlkZT1DU00gT3ZtZlBrZy9Dc20vQ3NtMTYvQ3NtMTYuaW5mDQogIWVsc2UNCiBJTkYgIE92bWZQ a2cvUWVtdVZpZGVvRHhlL1FlbXVWaWRlb0R4ZS5pbmYNCiAhZW5kaWYNCiANCiBJTkYgIE92bWZQ a2cvUWVtdVJhbWZiRHhlL1FlbXVSYW1mYkR4ZS5pbmYNCiBJTkYgIE92bWZQa2cvVmlydGlvR3B1 RHhlL1ZpcnRpb0dwdS5pbmYNCiBJTkYgIE92bWZQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm0uaW5m DQogSU5GICBPdm1mUGtnL0FtZFNldkR4ZS9BbWRTZXZEeGUuaW5mDQogSU5GICBPdm1mUGtnL0lv TW11RHhlL0lvTW11RHhlLmluZg0KIA0KICFpZiAkKFNNTV9SRVFVSVJFKSA9PSBUUlVFDQogSU5G ICBPdm1mUGtnL1NtbUFjY2Vzcy9TbW1BY2Nlc3MyRHhlLmluZg0KIElORiAgT3ZtZlBrZy9TbW1D b250cm9sMkR4ZS9TbW1Db250cm9sMkR4ZS5pbmYNCiBJTkYgIFVlZmlDcHVQa2cvQ3B1UzNEYXRh RHhlL0NwdVMzRGF0YUR4ZS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9Q aVNtbUlwbC5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUu aW5mDQorSU5GICBPdm1mUGtnL0NwdUhvdHBsdWdTbW0vQ3B1SG90cGx1Z1NtbS5pbmYNCiBJTkYg IFVlZmlDcHVQa2cvQ3B1SW8yU21tL0NwdUlvMlNtbS5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvTG9ja0JveC9TbW1Mb2NrQm94L1NtbUxvY2tCb3guaW5mDQogSU5GICBVZWZpQ3B1 UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZg0KIA0KICMNCiAjIFZhcmlhYmxl IGRyaXZlciBzdGFjayAoU01NKQ0KICMNCiBJTkYgIE92bWZQa2cvUWVtdUZsYXNoRnZiU2Vydmlj ZXNSdW50aW1lRHhlL0Z2YlNlcnZpY2VzU21tLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlU21tLmluZg0KIElO RiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21t LmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1Zh cmlhYmxlU21tUnVudGltZUR4ZS5pbmYNCiANCiAhZWxzZQ0KIA0KICMNCiAjIFZhcmlhYmxlIGRy aXZlciBzdGFjayAobm9uLVNNTSkNCiAjDQogSU5GICBPdm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZp Y2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNlc1J1bnRpbWVEeGUuaW5mDQogSU5GICBPdm1mUGtnL0Vt dVZhcmlhYmxlRnZiUnVudGltZUR4ZS9GdmIuaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVEeGUuaW5mDQogSU5G ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVSdW50 aW1lRHhlLmluZg0KICFlbmRpZg0KZGlmZiAtLWdpdCBhL092bWZQa2cvT3ZtZlBrZ1g2NC5mZGYg Yi9Pdm1mUGtnL092bWZQa2dYNjQuZmRmCmluZGV4IDA0ODhlNWQ5NWZmZS4uNTAxYjRmY2I3YjY3 IDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dYNjQuZmRmCisrKyBiL092bWZQa2cvT3ZtZlBr Z1g2NC5mZGYKQEAgLTMwOCw0NCArMzA4LDQ1IEBAIFtGVi5EWEVGVl0KIElORiAgTWRlTW9kdWxl UGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFzc1N0b3JhZ2VEeGUuaW5mDQogDQog IWlmZGVmICQoQ1NNX0VOQUJMRSkNCiBJTkYgIE92bWZQa2cvQ3NtL0Jpb3NUaHVuay9WaWRlb0R4 ZS9WaWRlb0R4ZS5pbmYNCiBJTkYgIE92bWZQa2cvQ3NtL0xlZ2FjeUJpb3NEeGUvTGVnYWN5Qmlv c0R4ZS5pbmYNCiBJTkYgIFJ1bGVPdmVycmlkZT1DU00gT3ZtZlBrZy9Dc20vQ3NtMTYvQ3NtMTYu aW5mDQogIWVsc2UNCiBJTkYgIE92bWZQa2cvUWVtdVZpZGVvRHhlL1FlbXVWaWRlb0R4ZS5pbmYN CiAhZW5kaWYNCiANCiBJTkYgIE92bWZQa2cvUWVtdVJhbWZiRHhlL1FlbXVSYW1mYkR4ZS5pbmYN CiBJTkYgIE92bWZQa2cvVmlydGlvR3B1RHhlL1ZpcnRpb0dwdS5pbmYNCiBJTkYgIE92bWZQa2cv UGxhdGZvcm1EeGUvUGxhdGZvcm0uaW5mDQogSU5GICBPdm1mUGtnL0FtZFNldkR4ZS9BbWRTZXZE eGUuaW5mDQogSU5GICBPdm1mUGtnL0lvTW11RHhlL0lvTW11RHhlLmluZg0KIA0KICFpZiAkKFNN TV9SRVFVSVJFKSA9PSBUUlVFDQogSU5GICBPdm1mUGtnL1NtbUFjY2Vzcy9TbW1BY2Nlc3MyRHhl LmluZg0KIElORiAgT3ZtZlBrZy9TbW1Db250cm9sMkR4ZS9TbW1Db250cm9sMkR4ZS5pbmYNCiBJ TkYgIFVlZmlDcHVQa2cvQ3B1UzNEYXRhRHhlL0NwdVMzRGF0YUR4ZS5pbmYNCiBJTkYgIE1kZU1v ZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUlwbC5pbmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9D b3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuaW5mDQorSU5GICBPdm1mUGtnL0NwdUhvdHBsdWdTbW0v Q3B1SG90cGx1Z1NtbS5pbmYNCiBJTkYgIFVlZmlDcHVQa2cvQ3B1SW8yU21tL0NwdUlvMlNtbS5p bmYNCiBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTG9ja0JveC9TbW1Mb2NrQm94L1NtbUxv Y2tCb3guaW5mDQogSU5GICBVZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21t LmluZg0KIA0KICMNCiAjIFZhcmlhYmxlIGRyaXZlciBzdGFjayAoU01NKQ0KICMNCiBJTkYgIE92 bWZQa2cvUWVtdUZsYXNoRnZiU2VydmljZXNSdW50aW1lRHhlL0Z2YlNlcnZpY2VzU21tLmluZg0K IElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRU b2xlcmFudFdyaXRlU21tLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJs ZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZg0KIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pbmYNCiANCiAhZWxz ZQ0KIA0KICMNCiAjIFZhcmlhYmxlIGRyaXZlciBzdGFjayAobm9uLVNNTSkNCiAjDQogSU5GICBP dm1mUGtnL1FlbXVGbGFzaEZ2YlNlcnZpY2VzUnVudGltZUR4ZS9GdmJTZXJ2aWNlc1J1bnRpbWVE eGUuaW5mDQogSU5GICBPdm1mUGtnL0VtdVZhcmlhYmxlRnZiUnVudGltZUR4ZS9GdmIuaW5mDQog SU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRv bGVyYW50V3JpdGVEeGUuaW5mDQogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxl L1J1bnRpbWVEeGUvVmFyaWFibGVSdW50aW1lRHhlLmluZg0KICFlbmRpZg0KZGlmZiAtLWdpdCBh L092bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1EzNU1jaEljaDkuaCBiL092bWZQa2cv SW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1EzNU1jaEljaDkuaAppbmRleCBjYjcwNWZlZTkyY2Eu LjczZGI0YjU5YTExMSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRh cmQvUTM1TWNoSWNoOS5oCisrKyBiL092bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1Ez NU1jaEljaDkuaApAQCAtOTAsMzcgKzkwLDM4IEBACiAjZGVmaW5lIFBPV0VSX01HTVRfUkVHSVNU RVJfUTM1KE9mZnNldCkgXA0KICAgUENJX0xJQl9BRERSRVNTICgwLCAweDFmLCAwLCAoT2Zmc2V0 KSkNCiANCiAjZGVmaW5lIFBPV0VSX01HTVRfUkVHSVNURVJfUTM1X0VGSV9QQ0lfQUREUkVTUyhP ZmZzZXQpIFwNCiAgIEVGSV9QQ0lfQUREUkVTUyAoMCwgMHgxZiwgMCwgKE9mZnNldCkpDQogDQog I2RlZmluZSBJQ0g5X1BNQkFTRSAgICAgICAgICAgICAgIDB4NDANCiAjZGVmaW5lIElDSDlfUE1C QVNFX01BU0sgICAgICAgICAgICAoQklUMTUgfCBCSVQxNCB8IEJJVDEzIHwgQklUMTIgfCBCSVQx MSB8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQklUMTAgfCBCSVQ5 ICB8IEJJVDggIHwgQklUNykNCiANCiAjZGVmaW5lIElDSDlfQUNQSV9DTlRMICAgICAgICAgICAg MHg0NA0KICNkZWZpbmUgSUNIOV9BQ1BJX0NOVExfQUNQSV9FTiAgICAgIEJJVDcNCiANCiAjZGVm aW5lIElDSDlfR0VOX1BNQ09OXzEgICAgICAgICAgMHhBMA0KICNkZWZpbmUgSUNIOV9HRU5fUE1D T05fMV9TTUlfTE9DSyAgIEJJVDQNCiANCiAjZGVmaW5lIElDSDlfUkNCQSAgICAgICAgICAgICAg ICAgMHhGMA0KICNkZWZpbmUgSUNIOV9SQ0JBX0VOICAgICAgICAgICAgICAgIEJJVDANCiANCiAv Lw0KIC8vIElPIHBvcnRzDQogLy8NCi0jZGVmaW5lIElDSDlfQVBNX0NOVCAweEIyDQotI2RlZmlu ZSBJQ0g5X0FQTV9TVFMgMHhCMw0KKyNkZWZpbmUgSUNIOV9BUE1fQ05UICAgICAgICAgICAgICAw eEIyDQorI2RlZmluZSBJQ0g5X0FQTV9DTlRfQ1BVX0hPVFBMVUcgICAgMHgwNA0KKyNkZWZpbmUg SUNIOV9BUE1fU1RTICAgICAgICAgICAgICAweEIzDQogDQogI2RlZmluZSBJQ0g5X0NQVV9IT1RQ TFVHX0JBU0UgMHgwQ0Q4DQogDQogLy8NCiAvLyBJTyBwb3J0cyByZWxhdGl2ZSB0byBQTUJBU0UN CiAvLw0KICNkZWZpbmUgSUNIOV9QTUJBU0VfT0ZTX1NNSV9FTiAweDMwDQogI2RlZmluZSBJQ0g5 X1NNSV9FTl9BUE1DX0VOICAgICAgQklUNQ0KICNkZWZpbmUgSUNIOV9TTUlfRU5fR0JMX1NNSV9F TiAgIEJJVDANCiANCiAjZGVmaW5lIElDSDlfUk9PVF9DT01QTEVYX0JBU0UgMHhGRUQxQzAwMA0K IA0KICNlbmRpZg0KZGlmZiAtLWdpdCBhL092bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVn U21tLmluZiBiL092bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnU21tLmluZgpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZhNzA4NThhOGRhYgotLS0gL2Rldi9u dWxsCisrKyBiL092bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnU21tLmluZgpAQCAtMCww ICsxLDQ4IEBACisjIyBAZmlsZQ0KKyMgUm9vdCBTTUkgaGFuZGxlciBmb3IgVkNQVSBob3RwbHVn IFNNSXMuDQorIw0KKyMgQ29weXJpZ2h0IChjKSAyMDIwLCBSZWQgSGF0LCBJbmMuDQorIw0KKyMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisjIw0KKw0KK1tE ZWZpbmVzXQ0KKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgPSAxLjI5DQorICBQSV9TUEVD SUZJQ0FUSU9OX1ZFUlNJT04gICA9IDB4MDAwMTAwNDYgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyBQSS0xLjcuMA0KKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgPSBDcHVIb3RwbHVn U21tDQorICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICA9IDg0RUVBMTE0LUM2QkUtNDQ0NS04 RjkwLTUxRDk3ODYzRTM2Mw0KKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgPSBEWEVfU01N X0RSSVZFUg0KKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgPSBDcHVIb3RwbHVnRW50cnkN CisNCisjDQorIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25s eSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZSBidWlsZA0KKyMgdG9vbHMuDQorIw0KKyMgVkFMSURf QVJDSElURUNUVVJFUyAgICAgICAgPSBJQTMyIFg2NA0KKyMNCisNCitbU291cmNlc10NCisgIENw dUhvdHBsdWcuYw0KKw0KK1tQYWNrYWdlc10NCisgIE1kZVBrZy9NZGVQa2cuZGVjDQorICBPdm1m UGtnL092bWZQa2cuZGVjDQorDQorW0xpYnJhcnlDbGFzc2VzXQ0KKyAgQmFzZUxpYg0KKyAgRGVi dWdMaWINCisgIE1tU2VydmljZXNUYWJsZUxpYg0KKyAgUGNkTGliDQorICBVZWZpRHJpdmVyRW50 cnlQb2ludA0KKw0KK1tQcm90b2NvbHNdDQorICBnRWZpTW1DcHVJb1Byb3RvY29sR3VpZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUw0KKw0KK1tQ Y2RdDQorICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RRMzVTbXJhbUF0RGVmYXVsdFNt YmFzZSAgICAgICAgICAgICAjIyBDT05TVU1FUw0KKw0KK1tGZWF0dXJlUGNkXQ0KKyAgZ1VlZmlP dm1mUGtnVG9rZW5TcGFjZUd1aWQuUGNkU21tU21yYW1SZXF1aXJlICAgICAgICAgICAgICAgICAg ICAgIyMgQ09OU1VNRVMNCisNCitbRGVwZXhdDQorICBnRWZpTW1DcHVJb1Byb3RvY29sR3VpZA0K ZGlmZiAtLWdpdCBhL092bWZQa2cvQ3B1SG90cGx1Z1NtbS9DcHVIb3RwbHVnLmMgYi9Pdm1mUGtn L0NwdUhvdHBsdWdTbW0vQ3B1SG90cGx1Zy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uZmQwOTQwM2VhYmYzCi0tLSAvZGV2L251bGwKKysrIGIvT3ZtZlBrZy9DcHVI b3RwbHVnU21tL0NwdUhvdHBsdWcuYwpAQCAtMCwwICsxLDE5MSBAQAorLyoqIEBmaWxlDQorICBS b290IFNNSSBoYW5kbGVyIGZvciBWQ1BVIGhvdHBsdWcgU01Jcy4NCisNCisgIENvcHlyaWdodCAo YykgMjAyMCwgUmVkIEhhdCwgSW5jLg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCisqKi8NCisNCisjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9R MzVNY2hJY2g5Lmg+ICAgICAvLyBJQ0g5X0FQTV9DTlQNCisjaW5jbHVkZSA8TGlicmFyeS9CYXNl TGliLmg+ICAgICAgICAgICAgICAgICAvLyBDcHVEZWFkTG9vcCgpDQorI2luY2x1ZGUgPExpYnJh cnkvRGVidWdMaWIuaD4gICAgICAgICAgICAgICAgLy8gQVNTRVJUKCkNCisjaW5jbHVkZSA8TGli cmFyeS9NbVNlcnZpY2VzVGFibGVMaWIuaD4gICAgICAvLyBnTW1zdA0KKyNpbmNsdWRlIDxMaWJy YXJ5L1BjZExpYi5oPiAgICAgICAgICAgICAgICAgIC8vIFBjZEdldEJvb2woKQ0KKyNpbmNsdWRl IDxQcm90b2NvbC9NbUNwdUlvLmg+ICAgICAgICAgICAgICAgIC8vIEVGSV9NTV9DUFVfSU9fUFJP VE9DT0wNCisjaW5jbHVkZSA8VWVmaS9VZWZpQmFzZVR5cGUuaD4gICAgICAgICAgICAgICAvLyBF RklfU1RBVFVTDQorDQorLy8NCisvLyBXZSB1c2UgdGhpcyBwcm90b2NvbCBmb3IgYWNjZXNzaW5n IElPIFBvcnRzLg0KKy8vDQorU1RBVElDIEVGSV9NTV9DUFVfSU9fUFJPVE9DT0wgKm1NbUNwdUlv Ow0KKy8vDQorLy8gUmVwcmVzZW50cyB0aGUgcmVnaXN0cmF0aW9uIG9mIHRoZSBDUFUgSG90cGx1 ZyBNTUkgaGFuZGxlci4NCisvLw0KK1NUQVRJQyBFRklfSEFORExFIG1EaXNwYXRjaEhhbmRsZTsN CisNCisNCisvKioNCisgIENQVSBIb3RwbHVnIE1NSSBoYW5kbGVyIGZ1bmN0aW9uLg0KKw0KKyAg VGhpcyBpcyBhIHJvb3QgTU1JIGhhbmRsZXIuDQorDQorICBAcGFyYW1baW5dIERpc3BhdGNoSGFu ZGxlICAgICAgVGhlIHVuaXF1ZSBoYW5kbGUgYXNzaWduZWQgdG8gdGhpcyBoYW5kbGVyIGJ5DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX01NX1NZU1RFTV9UQUJMRS5NbWlI YW5kbGVyUmVnaXN0ZXIoKS4NCisNCisgIEBwYXJhbVtpbl0gQ29udGV4dCAgICAgICAgICAgICBD b250ZXh0IHBhc3NlZCBpbiBieQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVG SV9NTV9TWVNURU1fVEFCTEUuTW1pTWFuYWdlKCkuIER1ZSB0bw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENwdUhvdHBsdWdNbWkoKSBiZWluZyBhIHJvb3QgTU1JIGhhbmRsZXIs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGV4dCBpcyBBU1NFUlQoKWVk IHRvIGJlIE5VTEwuDQorDQorICBAcGFyYW1baW4sb3V0XSBDb21tQnVmZmVyICAgICAgSWdub3Jl ZCwgZHVlIHRvIENwdUhvdHBsdWdNbWkoKSBiZWluZyBhIHJvb3QNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNTUkgaGFuZGxlci4NCisNCisgIEBwYXJhbVtpbixvdXRdIENvbW1C dWZmZXJTaXplICBJZ25vcmVkLCBkdWUgdG8gQ3B1SG90cGx1Z01taSgpIGJlaW5nIGEgcm9vdA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NSSBoYW5kbGVyLg0KKw0KKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAgICAgICAgVGhlIE1NSSB3YXMgaGFuZGxl ZCBhbmQgdGhlIE1NSQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc291cmNlIHdhcyBxdWllc2NlZC4gV2hlbiByZXR1cm5lZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgYSBub24tcm9vdCBNTUkgaGFuZGxlciwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9TVUNDRVNTIHRl cm1pbmF0ZXMgdGhlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwcm9jZXNzaW5nIG9mIE1NSSBoYW5kbGVycyBpbg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUZJX01NX1NZU1RFTV9UQUJMRS5NbWlNYW5hZ2UoKS4NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBhIHJvb3QgTU1J IGhhbmRsZXIgKGkuZS4sIGZvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhlIHByZXNlbnQgZnVuY3Rpb24gdG9vKSwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9TVUNDRVNTIGJlaGF2ZXMgaWRlbnRpY2FsbHkg dG8NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9XQVJO X0lOVEVSUlVQVF9TT1VSQ0VfUVVJRVNDRUQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhcyBmdXJ0aGVyIHJvb3QgTU1JIGhhbmRsZXJzIGFyZQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29pbmcgdG8gYmUgY2FsbGVk IGJ5DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfTU1f U1lTVEVNX1RBQkxFLk1taU1hbmFnZSgpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhbnl3YXkuDQorDQorICBAcmV0dmFsIEVGSV9XQVJOX0lOVEVSUlVQVF9T T1VSQ0VfUVVJRVNDRUQgIFRoZSBNTUkgc291cmNlIGhhcyBiZWVuIHF1aWVzY2VkLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXQgb3RoZXIgaGFuZGxl cnMgc2hvdWxkIHN0aWxsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJlIGNhbGxlZC4NCisNCisgIEByZXR2YWwgRUZJX1dBUk5fSU5URVJSVVBUX1NPVVJD RV9QRU5ESU5HICAgVGhlIE1NSSBzb3VyY2UgaXMgc3RpbGwgcGVuZGluZywNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG90aGVyIGhhbmRsZXJzIHNo b3VsZCBzdGlsbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZSBjYWxsZWQuDQorDQorICBAcmV0dmFsIEVGSV9JTlRFUlJVUFRfUEVORElORyAgICAgICAg ICAgICAgIFRoZSBNTUkgc291cmNlIGNvdWxkIG5vdCBiZQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBxdWllc2NlZC4NCisqKi8NCitTVEFUSUMNCitFRklf U1RBVFVTDQorRUZJQVBJDQorQ3B1SG90cGx1Z01taSAoDQorICBJTiBFRklfSEFORExFIERpc3Bh dGNoSGFuZGxlLA0KKyAgSU4gQ09OU1QgVk9JRCAqQ29udGV4dCAgICAgICAgT1BUSU9OQUwsDQor ICBJTiBPVVQgVk9JRCAgICpDb21tQnVmZmVyICAgICBPUFRJT05BTCwNCisgIElOIE9VVCBVSU5U TiAgKkNvbW1CdWZmZXJTaXplIE9QVElPTkFMDQorICApDQorew0KKyAgRUZJX1NUQVRVUyBTdGF0 dXM7DQorICBVSU5UOCAgICAgIEFwbUNvbnRyb2w7DQorDQorICAvLw0KKyAgLy8gQXNzZXJ0IHRo YXQgd2UgYXJlIGVudGVyaW5nIHRoaXMgZnVuY3Rpb24gZHVlIHRvIG91ciByb290IE1NSSBoYW5k bGVyDQorICAvLyByZWdpc3RyYXRpb24uDQorICAvLw0KKyAgQVNTRVJUIChEaXNwYXRjaEhhbmRs ZSA9PSBtRGlzcGF0Y2hIYW5kbGUpOw0KKyAgLy8NCisgIC8vIFdoZW4gTW1pTWFuYWdlKCkgaXMg aW52b2tlZCB0byBwcm9jZXNzIHJvb3QgTU1JIGhhbmRsZXJzLCB0aGUgY2FsbGVyICh0aGUNCisg IC8vIE1NIENvcmUpIGlzIGV4cGVjdGVkIHRvIHBhc3MgaW4gYSBOVUxMIENvbnRleHQuIE1taU1h bmFnZSgpIHRoZW4gcGFzc2VzDQorICAvLyB0aGUgc2FtZSBOVUxMIENvbnRleHQgdG8gaW5kaXZp ZHVhbCBoYW5kbGVycy4NCisgIC8vDQorICBBU1NFUlQgKENvbnRleHQgPT0gTlVMTCk7DQorICAv Lw0KKyAgLy8gUmVhZCB0aGUgTU1JIGNvbW1hbmQgdmFsdWUgZnJvbSB0aGUgQVBNIENvbnRyb2wg UG9ydCwgdG8gc2VlIGlmIHRoaXMgaXMgYW4NCisgIC8vIE1NSSB3ZSBzaG91bGQgY2FyZSBhYm91 dC4NCisgIC8vDQorICBTdGF0dXMgPSBtTW1DcHVJby0+SW8uUmVhZCAobU1tQ3B1SW8sIE1NX0lP X1VJTlQ4LCBJQ0g5X0FQTV9DTlQsIDEsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAmQXBt Q29udHJvbCk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIERFQlVHICgoREVC VUdfRVJST1IsICIlYTogZmFpbGVkIHRvIHJlYWQgSUNIOV9BUE1fQ05UOiAlclxuIiwgX19GVU5D VElPTl9fLA0KKyAgICAgIFN0YXR1cykpOw0KKyAgICAvLw0KKyAgICAvLyBXZSBjb3VsZG4ndCBl dmVuIGRldGVybWluZSBpZiB0aGUgTU1JIHdhcyBmb3IgdXMgb3Igbm90Lg0KKyAgICAvLw0KKyAg ICBnb3RvIEZhdGFsOw0KKyAgfQ0KKw0KKyAgaWYgKEFwbUNvbnRyb2wgIT0gSUNIOV9BUE1fQ05U X0NQVV9IT1RQTFVHKSB7DQorICAgIC8vDQorICAgIC8vIFRoZSBNTUkgaXMgbm90IGZvciB1cy4N CisgICAgLy8NCisgICAgcmV0dXJuIEVGSV9XQVJOX0lOVEVSUlVQVF9TT1VSQ0VfUVVJRVNDRUQ7 DQorICB9DQorDQorICAvLw0KKyAgLy8gV2UndmUgaGFuZGxlZCB0aGlzIE1NSS4NCisgIC8vDQor ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQorDQorRmF0YWw6DQorICBBU1NFUlQgKEZBTFNFKTsNCisg IENwdURlYWRMb29wICgpOw0KKyAgLy8NCisgIC8vIFdlIGNvdWxkbid0IGhhbmRsZSB0aGlzIE1N SS4NCisgIC8vDQorICByZXR1cm4gRUZJX0lOVEVSUlVQVF9QRU5ESU5HOw0KK30NCisNCisNCisv Lw0KKy8vIEVudHJ5IHBvaW50IGZ1bmN0aW9uIG9mIHRoaXMgZHJpdmVyLg0KKy8vDQorRUZJX1NU QVRVUw0KK0VGSUFQSQ0KK0NwdUhvdHBsdWdFbnRyeSAoDQorICBJTiBFRklfSEFORExFICAgICAg IEltYWdlSGFuZGxlLA0KKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAqU3lzdGVtVGFibGUNCisgICkN Cit7DQorICBFRklfU1RBVFVTIFN0YXR1czsNCisNCisgIC8vDQorICAvLyBUaGlzIG1vZHVsZSBz aG91bGQgb25seSBiZSBpbmNsdWRlZCB3aGVuIFNNTSBzdXBwb3J0IGlzIHJlcXVpcmVkLg0KKyAg Ly8NCisgIEFTU0VSVCAoRmVhdHVyZVBjZEdldCAoUGNkU21tU21yYW1SZXF1aXJlKSk7DQorICAv Lw0KKyAgLy8gVGhpcyBkcml2ZXIgZGVwZW5kcyBvbiB0aGUgZHluYW1pY2FsbHkgZGV0ZWN0ZWQg IlNNUkFNIGF0IGRlZmF1bHQgU01CQVNFIg0KKyAgLy8gZmVhdHVyZS4NCisgIC8vDQorICBpZiAo IVBjZEdldEJvb2wgKFBjZFEzNVNtcmFtQXREZWZhdWx0U21iYXNlKSkgew0KKyAgICByZXR1cm4g RUZJX1VOU1VQUE9SVEVEOw0KKyAgfQ0KKw0KKyAgLy8NCisgIC8vIEVycm9ycyBmcm9tIGhlcmUg b24gYXJlIGZhdGFsOyB3ZSBjYW5ub3QgYWxsb3cgdGhlIGJvb3QgdG8gcHJvY2VlZCBpZiB3ZQ0K KyAgLy8gY2FuJ3Qgc2V0IHVwIHRoaXMgZHJpdmVyIHRvIGhhbmRsZSBDUFUgaG90cGx1Zy4NCisg IC8vDQorICAvLyBGaXJzdCwgY29sbGVjdCB0aGUgcHJvdG9jb2xzIG5lZWRlZCBsYXRlci4gQWxs IG9mIHRoZXNlIHByb3RvY29scyBhcmUNCisgIC8vIGxpc3RlZCBpbiBvdXIgbW9kdWxlIERFUEVY Lg0KKyAgLy8NCisgIFN0YXR1cyA9IGdNbXN0LT5NbUxvY2F0ZVByb3RvY29sICgmZ0VmaU1tQ3B1 SW9Qcm90b2NvbEd1aWQsDQorICAgICAgICAgICAgICAgICAgICBOVUxMIC8qIFJlZ2lzdHJhdGlv biAqLywgKFZPSUQgKiopJm1NbUNwdUlvKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN CisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBsb2NhdGUgTW1DcHVJbzogJXJcbiIsIF9f RlVOQ1RJT05fXywgU3RhdHVzKSk7DQorICAgIGdvdG8gRmF0YWw7DQorICB9DQorDQorICAvLw0K KyAgLy8gUmVnaXN0ZXIgdGhlIGhhbmRsZXIgZm9yIHRoZSBDUFUgSG90cGx1ZyBNTUkuDQorICAv Lw0KKyAgU3RhdHVzID0gZ01tc3QtPk1taUhhbmRsZXJSZWdpc3RlciAoDQorICAgICAgICAgICAg ICAgICAgICBDcHVIb3RwbHVnTW1pLA0KKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgICAgICAg ICAgICAvLyBIYW5kbGVyVHlwZTogcm9vdCBNTUkgaGFuZGxlcg0KKyAgICAgICAgICAgICAgICAg ICAgJm1EaXNwYXRjaEhhbmRsZQ0KKyAgICAgICAgICAgICAgICAgICAgKTsNCisgIGlmIChFRklf RVJST1IgKFN0YXR1cykpIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIiVhOiBNbWlIYW5k bGVyUmVnaXN0ZXIoKTogJXJcbiIsIF9fRlVOQ1RJT05fXywNCisgICAgICBTdGF0dXMpKTsNCisg ICAgZ290byBGYXRhbDsNCisgIH0NCisNCisgIHJldHVybiBFRklfU1VDQ0VTUzsNCisNCitGYXRh bDoNCisgIEFTU0VSVCAoRkFMU0UpOw0KKyAgQ3B1RGVhZExvb3AgKCk7DQorICByZXR1cm4gU3Rh dHVzOw0KK30NCi0tIAoyLjE5LjEuMy5nMzAyNDdhYTVkMjAxCgoK