From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v2 00/15] Add vNVDIMM support to HVM domains Date: Mon, 20 Mar 2017 08:09:34 +0800 Message-ID: <20170320000949.24675-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Wei Liu , Andrew Cooper , Ian Jackson , Jan Beulich , Konrad Rzeszutek Wilk , Dan Williams , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB2MiBSRkMgcGF0Y2ggc2VyaWVzIHRvIGFkZCB2TlZESU1NIHN1cHBvcnQgdG8gSFZN IGRvbWFpbnMuCnYxIGNhbiBiZSBmb3VuZCBhdCBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYtMTAvbXNnMDA0MjQuaHRtbC4KCk5vIGxhYmVs IGFuZCBubyBfRFNNIGV4Y2VwdCBmdW5jdGlvbiAwICJxdWVyeSBpbXBsZW1lbnRlZCBmdW5jdGlv bnMiCmlzIHN1cHBvcnRlZCBieSB0aGlzIHZlcnNpb24sIGJ1dCB0aGV5IHdpbGwgYmUgYWRkZWQg YnkgZnV0dXJlIHBhdGNoZXMuCgpUaGUgY29ycmVzcG9uZGluZyBRZW11IHBhdGNoIHNlcmllcyBp cyBzZW50IGluIGFub3RoZXIgdGhyZWFkCiJbUkZDIFFFTVUgUEFUQ0ggdjIgMDAvMTBdIEltcGxl bWVudCB2TlZESU1NIGZvciBYZW4gSFZNIGd1ZXN0Ii4KCkFsbCBwYXRjaCBzZXJpZXMgY2FuIGJl IGZvdW5kIGF0CiAgWGVuOiAgaHR0cHM6Ly9naXRodWIuY29tL2h6emhhbjkveGVuLmdpdCBudmRp bW0tcmZjLXYyCiAgUWVtdTogaHR0cHM6Ly9naXRodWIuY29tL2h6emhhbjkvcWVtdS5naXQgeGVu LW52ZGltbS1yZmMtdjIKCkNoYW5nZXMgaW4gdjIKPT09PT09PT09PT09PT0KCi0gT25lIG9mIHRo ZSBwcmltYXJ5IGNoYW5nZXMgaW4gdjIgaXMgZHJvcHBpbmcgdGhlIGxpbnV4IGtlcm5lbAogIHBh dGNoZXMsIHdoaWNoIHdlcmUgdXNlZCB0byByZXNlcnZlIG9uIGhvc3QgcG1lbSBmb3IgcGxhY2lu ZyBpdHMKICBmcmFtZXRhYmxlIGFuZCBNMlAgdGFibGUuIEluIHYyLCB3ZSBhZGQgYSBtYW5hZ2Vt ZW50IHRvb2wgeGVuLW5kY3RsCiAgd2hpY2ggaXMgdXNlZCBpbiBEb20wIHRvIG5vdGlmeSBYZW4g aHlwZXJ2aXNvciBvZiB3aGljaCBzdG9yYWdlIGNhbgogIGJlIHVzZWQgdG8gbWFuYWdlIHRoZSBo b3N0IHBtZW0uCgogIEZvciBleGFtcGxlLAogIDEuICAgeGVuLW5kY3RsIHNldHVwIDB4MjQwMDAw IDB4MzgwMDAwIDB4MzgwMDAwIDB4M2MwMDAwCiAgICB0ZWxscyBYZW4gaHlwZXJ2aXNvciB0byB1 c2UgaG9zdCBwbWVtIHBhZ2VzIGF0IE1GTiAweDM4MDAwMCB+CiAgICAweDNjMDAwMCB0byBtYW5h Z2UgaG9zdCBwbWVtIHBhZ2VzIGF0IE1GTiAweDI0MDAwMCB+IDB4MzgwMDAwLgogICAgSS5lLiB0 aGUgZm9ybWVyIGlzIHVzZWQgdG8gcGxhY2UgdGhlIGZyYW1lIHRhYmxlIGFuZCBNMlAgdGFibGUg b2YKICAgIGJvdGggcmFuZ2VzIG9mIHBtZW0gcGFnZXMuCgogIDIuICAgeGVuLW5kY3RsIHNldHVw IDB4MjQwMDAwIDB4MzgwMDAwCiAgICB0ZWxscyBYZW4gaHlwZXJ2aXNvciB0byB1c2UgdGhlIHJl Z3VsYXIgUkFNIHRvIG1hbmFnZSB0aGUgaG9zdAogICAgcG1lbSBwYWdlcyBhdCBNRk4gMHgyNDAw MDAgfiAweDM4MDAwMC4gSS5lIHRoZSByZWd1bGFyIFJNQSBpcyB1c2VkCiAgICB0byBwbGFjZSB0 aGUgZnJhbWUgdGFibGUgYW5kIE0yUCB0YWJsZS4KCi0gQW5vdGhlciBwcmltYXJ5IGNoYW5nZSBp biB2MiBpcyBkcm9wcGluZyB0aGUgc3VwcG9ydCB0byBtYXAgZmlsZXMgb24KICB0aGUgaG9zdCBw bWVtIHRvIEhWTSBkb21haW5zIGFzIHZpcnR1YWwgTlZESU1NcywgYXMgSSBjYW5ub3QgZmluZCBh CiAgc3RhYmxlIHRvIGZpeCB0aGUgZmllbWFwIG9mIGhvc3QgZmlsZXMuIEluc3RlYWQsIHdlIGNh biByZWx5IG9uIHRoZQogIGFiaWxpdHkgYWRkZWQgaW4gTGludXgga2VybmVsIHY0LjkgdGhhdCBl bmFibGVzIGNyZWF0aW5nIG11bHRpcGxlCiAgcG1lbSBuYW1lc3BhY2VzIG9uIGEgc2luZ2xlIG52 ZGltbSBpbnRlcmxlYXZlIHNldC4KCi0gT3RoZXIgY2hhbmdlcyBhcmUgbG9nZ2VkIGluIGVhY2gg cGF0Y2ggc2VwYXJhdGVseS4KCkhvdyB0byBUZXN0Cj09PT09PT09PT09PT09CgowLiBUaGlzIHBh dGNoIHNlcmllcyBjYW4gYmUgdGVzdGVkIGVpdGhlciBvbiB0aGUgcmVhbCBoYXJkd2FyZSB3aXRo CiAgIE5WRElNTSwgb3IgaW4gdGhlIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBlbnZpcm9ubWVudCBv biBLVk0uIFRoZQogICBsYXR0ZXIgcmVxdWlyZXMgUUVNVSAyLjkgb3IgbmV3ZXIgd2l0aCwgZm9y IGV4YW1wbGUsIGZvbGxvd2luZwogICBjb21tYW5kcyBhbmQgb3B0aW9ucywKICAgICAjIGRkIGlm PS9kZXYvemVybyBvZj1udm0tOEcuaW1nIGJzPTFHIGNvdW50PTgKICAgICAjIHJtbW9kIGt2bS1p bnRlbDsgbW9kcHJvYmUga3ZtLWludGVsIG5lc3RlZD0xCiAgICAgIyBxZW11LXN5c3RlbS14ODZf NjQgLWVuYWJsZS1rdm0gLXNtcCA0IC1jcHUgaG9zdCwrdm14IFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAtaGRhIERJU0tfSU1HX09GX1hFTiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg LW1hY2hpbmUgcGMsbnZkaW1tIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAtbSA4RyxzbG90 cz00LG1heG1lbT0xMjhHIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAtb2JqZWN0IG1lbW9y eS1iYWNrZW5kLWZpbGUsaWQ9bWVtMSxtZW0tcGF0aD1udm0tOEcsc2l6ZT04RyBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgLWRldmljZSBudmRpbW0saWQ9bnYxLG1lbWRldj1tZW0xLGxhYmVs LXNpemU9Mk0gXAogICAgICAgICAgICAgICAgICAgICAgICAgIC4uLgogICBBYm92ZSB3aWxsIGNy ZWF0ZSBhIG5lc3RlZCB2aXJ0dWFsaXphdGlvbiBlbnZpcm9ubWVudCB3aXRoIGEgOEcKICAgcG1l bSBtb2RlIE5WRElNTSBkZXZpY2UgKHdob3NlIGxhc3QgMk1CIGlzIHVzZWQgYXMgdGhlIGxhYmVs CiAgIHN0b3JhZ2UgYXJlYSkuCgoxLiBDaGVjayBvdXQgWGVuIGFuZCBRRU1VIGZyb20gYWJvdmUg cmVwb3NpdG9yaWVzIGFuZCBicmFuY2hlcy4gQnVpbGQKICAgYW5kIGluc3RhbGwgWGVuIHdpdGgg cWVtdS14ZW4gcmVwbGFjZWQgYnkgYWJvdmUgUUVNVS4KCjIuIEJ1aWxkIGFuZCBpbnN0YWxsIExp bnV4IGtlcm5lbCA0Ljkgb3IgbGF0ZXIgYXMgRG9tMCBrZXJuZWwgd2l0aCB0aGUKICAgZm9sbG93 aW5nIGNvbmZpZ3Mgc2VsZWN0ZWQ6CiAgICAgICBDT05GSUdfQUNQSV9ORklUCiAgICAgICBDT05G SUdfTElCTlZESU1NCiAgICAgICBDT05GSUdfQkxLX0RFVl9QTUVNCiAgICAgICBDT05GSUdfTlZE SU1NX1BGTgogICAgICAgQ09ORklHX0ZTX0RBWAoKMy4gQ2hlY2sgb3V0IG5kY3RsIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3BtZW0vbmRjdGwuZ2l0LiBCdWlsZCBhbmQKICAgaW5zdGFsbCBuZGN0 bCBpbiBEb20wLgoKNC4gQm9vdCB0byBYZW4gRG9tMC4KCjUuIENyZWF0ZSBwbWVtIG5hbWVzcGFj ZXMgb24gdGhlIGhvc3QgcG1lbSByZWdpb24uCiAgICAgIyBuZGN0bCBkaXNhYmxlLXJlZ2lvbiBy ZWdpb24wCiAgICAgIyBuZGN0bCB6ZXJvLWxhYmVscyBubWVtMCAgICAgICAgICAgICAgICAgICAg ICAgIC8vIGNsZWFyIGV4aXN0aW5nIGxhYmVscwogICAgICMgbmRjdGwgaW5pdC1sYWJlbHMgbm1l bTAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbml0aWFsaXplIHRoZSBsYWJlbCBhcmVhCiAg ICAgIyBuZGN0bCBlbmFibGUtcmVnaW9uIHJlZ2lvbjAgICAgIAogICAgICMgbmRjdGwgY3JlYXRl LW5hbWVzcGFjZSAtciByZWdpb24wIC1zIDRHIC1tIHJhdyAvLyBjcmVhdGUgb25lIDRHIHBtZW0g bmFtZXNwYWNlCiAgICAgIyBuZGN0bCBjcmVhdGUtbmFtZXNwYWNlIC1yIHJlZ2lvbjAgLXMgMUcg LW0gcmF3IC8vIGNyZWF0ZSBvbmUgMUcgcG1lbSBuYW1lc3BhY2UKICAgICAjIG5kY3RsIGxpc3Qg LS1uYW1lc3BhY2VzCiAgICAgWwogICAgICAgewogICAgICAgICAgICJkZXYiOiJuYW1lc3BhY2Uw LjAiLAogICAgICAgICAgICJtb2RlIjoicmF3IiwKICAgICAgICAgICAic2l6ZSI6NDI5NDk2NzI5 NiwKICAgICAgICAgICAidXVpZCI6ImJiZmJlZGJkLTNhZGEtNGY1NS05NDg0LTAxZjI3MjJjNjUx YiIsCiAgICAgICAgICAgImJsb2NrZGV2IjoicG1lbTAiCiAgICAgICB9LAogICAgICAgewogICAg ICAgICAgICJkZXYiOiJuYW1lc3BhY2UwLjEiLAogICAgICAgICAgICJtb2RlIjoicmF3IiwKICAg ICAgICAgICAic2l6ZSI6MTA3Mzc0MTgyNCwKICAgICAgICAgICAidXVpZCI6ImRkNGQzOTQ5LTY4 ODctNDE3Yi1iODE5LTg5YTc4NTRmY2RiZCIsCiAgICAgICAgICAgImJsb2NrZGV2IjoicG1lbTAu MSIKICAgICAgIH0KICAgICBdCgo2LiBBc2sgWGVuIGh5cGVydmlzb3IgdG8gdXNlIG5hbWVzcGFj ZTAuMSB0byBtYW5hZ2UgbmFtZXNwYWNlMC4wLgogICAgICMgZ3JlcCBuYW1lc3BhY2UgL3Byb2Mv aW9tZW0KICAgICAgICAgMjQwMDAwMDAwLTMzZmZmZmZmZiA6IG5hbWVzcGFjZTAuMAogICAgICAg ICAzNDAwMDAwMDAtMzdmZmZmZmZmIDogbmFtZXNwYWNlMC4xCiAgICAgIyB4ZW4tbmRjdGwgc2V0 dXAgMHgyNDAwMDAgMHgzNDAwMDAgMHgzNDAwMDAgMHgzODAwMDAKCjcuIFN0YXJ0IGEgSFZNIGRv bWFpbiB3aXRoICJ2bnZkaW1tcz1bICcvZGV2L3BtZW0wJyBdIiBpbiBpdHMgeGwgY29uZmlnLgoK ICAgSWYgbmRjdGwgaXMgaW5zdGFsbGVkIGluIEhWTSBkb21haW4sICJuZGN0bCBsaXN0IiBzaG91 bGQgYmUgYWJsZSB0bwogICBsaXN0IGEgNEcgcG1lbSBuYW1lc3BhY2UsIGUuZy4KICAgewogICAg ICJkZXYiOiJuYW1lc3BhY2UwLjAiLAogICAgICJtb2RlIjoicmF3IiwKICAgICAic2l6ZSI6NDI5 NDk2NzI5NiwKICAgICAiYmxvY2tkZXYiOiJwbWVtMCIKICAgfQogICAKCkhhb3pob25nIFpoYW5n ICgxNSk6CiAgeGVuL2NvbW1vbjogYWRkIEtjb25maWcgaXRlbSBmb3IgcG1lbSBzdXBwb3J0CiAg eGVuOiBwcm9iZSBwbWVtIHJlZ2lvbnMgdmlhIEFDUEkgTkZJVAogIHhlbi94ODY6IGFsbG93IGN1 c3RvbWl6aW5nIGxvY2F0aW9ucyBvZiBleHRlbmRlZCBmcmFtZXRhYmxlICYgTTJQCiAgeGVuL3g4 NjogYWRkIFhFTl9TWVNDVExfbnZkaW1tX3BtZW1fc2V0dXAgdG8gc2V0dXAgaG9zdCBwbWVtCiAg eGVuL3g4NjogYWRkIFhFTk1FTV9wb3B1bGF0ZV9wbWVtbWFwIHRvIG1hcCBob3N0IHBtZW0gcGFn ZXMgdG8gSFZNIGRvbWFpbgogIHRvb2xzOiByZXNlcnZlIGd1ZXN0IG1lbW9yeSBmb3IgQUNQSSBm cm9tIGRldmljZSBtb2RlbAogIHRvb2xzL2xpYmFjcGk6IGV4cG9zZSB0aGUgbWluaW11bSBhbGln bm1lbnQgdXNlZCBieSBtZW1fb3BzLmFsbG9jCiAgdG9vbHMvbGliYWNwaTogYWRkIGNhbGxiYWNr IGFjcGlfY3R4dC5wMnYgdG8gZ2V0IGEgcG9pbnRlciBmcm9tIHBoeXNpY2FsIGFkZHJlc3MKICB0 b29scy9saWJhY3BpOiBhZGQgY2FsbGJhY2tzIHRvIGFjY2VzcyBYZW5TdG9yZQogIHRvb2xzL2xp YmFjcGk6IGFkZCBhIHNpbXBsZSBBTUwgYnVpbGRlcgogIHRvb2xzL2xpYmFjcGk6IGxvYWQgQUNQ SSBidWlsdCBieSB0aGUgZGV2aWNlIG1vZGVsCiAgdG9vbHMvbGlieGw6IGJ1aWxkIHFlbXUgb3B0 aW9ucyBmcm9tIHhsIHZOVkRJTU0gY29uZmlncwogIHRvb2xzL2xpYnhsOiBhZGQgc3VwcG9ydCB0 byBtYXAgaG9zdCBwbWVtIGRldmljZSB0byBndWVzdHMKICB0b29scy9saWJ4bDogaW5pdGlhdGUg cG1lbSBtYXBwaW5nIHZpYSBxbXAgY2FsbGJhY2sKICB0b29scy9taXNjOiBhZGQgeGVuLW5kY3Rs CgogLmdpdGlnbm9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIGRvY3Mv bWFuL3hsLmNmZy5wb2QuNS5pbiAgICAgICAgICAgICAgICB8ICAgNiArCiB0b29scy9maXJtd2Fy ZS9odm1sb2FkZXIvTWFrZWZpbGUgICAgICAgfCAgIDMgKy0KIHRvb2xzL2Zpcm13YXJlL2h2bWxv YWRlci91dGlsLmMgICAgICAgICB8ICA3NSArKysrKysKIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRl ci91dGlsLmggICAgICAgICB8ICAxMCArCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIveGVuYnVz LmMgICAgICAgfCAgNDQgKysrLQogdG9vbHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZSAg ICAgIHwgICAyICstCiB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy94ZW4uaWYgICAgICAgfCAg IDIgKy0KIHRvb2xzL2xpYmFjcGkvYWNwaTJfMC5oICAgICAgICAgICAgICAgICB8ICAgMiArCiB0 b29scy9saWJhY3BpL2FtbF9idWlsZC5jICAgICAgICAgICAgICAgfCAzMjYgKysrKysrKysrKysr KysrKysrKysrKysKIHRvb2xzL2xpYmFjcGkvYW1sX2J1aWxkLmggICAgICAgICAgICAgICB8IDEx NiArKysrKysrKysKIHRvb2xzL2xpYmFjcGkvYnVpbGQuYyAgICAgICAgICAgICAgICAgICB8IDMx MSArKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJhY3BpL2xpYmFjcGkuaCAgICAgICAg ICAgICAgICAgfCAgMjEgKysKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmggICAgICAgICAg ICB8ICAgMSArCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAgICAgfCAgMzYg KysrCiB0b29scy9saWJ4Yy94Y19kb21feDg2LmMgICAgICAgICAgICAgICAgfCAgIDcgKwogdG9v bHMvbGlieGMveGNfZG9tYWluLmMgICAgICAgICAgICAgICAgIHwgIDE1ICsrCiB0b29scy9saWJ4 Yy94Y19taXNjLmMgICAgICAgICAgICAgICAgICAgfCAgMTcgKysKIHRvb2xzL2xpYnhsL01ha2Vm aWxlICAgICAgICAgICAgICAgICAgICB8ICAgNyArLQogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMgICAgICAgICAgICAgIHwgICA0ICstCiB0b29scy9saWJ4bC9saWJ4bF9kbS5jICAgICAgICAg ICAgICAgICAgfCAxMDkgKysrKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgICAg ICAgICAgICB8ICAyMiArKwogdG9vbHMvbGlieGwvbGlieGxfbnZkaW1tLmMgICAgICAgICAgICAg IHwgMTgyICsrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX252ZGltbS5oICAgICAgICAg ICAgICB8ICA0MiArKysKIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jICAgICAgICAgICAgICAgICB8 IDExNiArKysrKysrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCAgICAgICAgICAgICB8 ICAgOCArCiB0b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jICAgICAgICAgICAgfCAgNDEgKysr CiB0b29scy9taXNjL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogdG9vbHMv bWlzYy94ZW4tbmRjdGwuYyAgICAgICAgICAgICAgICAgIHwgMjI3ICsrKysrKysrKysrKysrKysK IHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICAgICAgICAgICB8ICAxNiArKwogeGVuL2Fy Y2gveDg2L2FjcGkvYm9vdC5jICAgICAgICAgICAgICAgIHwgICA0ICsKIHhlbi9hcmNoL3g4Ni9k b21haW4uYyAgICAgICAgICAgICAgICAgICB8ICAgNyArCiB4ZW4vYXJjaC94ODYvc3lzY3RsLmMg ICAgICAgICAgICAgICAgICAgfCAgMjIgKysKIHhlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYyAgICAg ICAgICAgICAgICB8IDE5MSArKysrKysrKysrKystLQogeGVuL2NvbW1vbi9LY29uZmlnICAgICAg ICAgICAgICAgICAgICAgIHwgICA5ICsKIHhlbi9jb21tb24vTWFrZWZpbGUgICAgICAgICAgICAg ICAgICAgICB8ICAgMSArCiB4ZW4vY29tbW9uL2NvbXBhdC9tZW1vcnkuYyAgICAgICAgICAgICAg fCAgIDEgKwogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAgICAgICAgICAgIHwgICAzICsK IHhlbi9jb21tb24vbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICB8ICA0MyArKysKIHhlbi9j b21tb24vcG1lbS5jICAgICAgICAgICAgICAgICAgICAgICB8IDQ0OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeGVuL2RyaXZlcnMvYWNwaS9NYWtlZmlsZSAgICAgICAgICAgICAg IHwgICAyICsKIHhlbi9kcml2ZXJzL2FjcGkvbmZpdC5jICAgICAgICAgICAgICAgICB8IDExNiAr KysrKysrKysKIHhlbi9pbmNsdWRlL2FjcGkvYWN0YmwuaCAgICAgICAgICAgICAgICB8ICAgMSAr CiB4ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMS5oICAgICAgICAgICAgICAgfCAgNDIgKysrCiB4ZW4v aW5jbHVkZS9wdWJsaWMvaHZtL2h2bV94c19zdHJpbmdzLmggfCAgMTEgKwogeGVuL2luY2x1ZGUv cHVibGljL21lbW9yeS5oICAgICAgICAgICAgIHwgIDE0ICstCiB4ZW4vaW5jbHVkZS9wdWJsaWMv c3lzY3RsLmggICAgICAgICAgICAgfCAgMjkgKystCiB4ZW4vaW5jbHVkZS94ZW4vYWNwaS5oICAg ICAgICAgICAgICAgICAgfCAgIDQgKwogeGVuL2luY2x1ZGUveGVuL3BtZW0uaCAgICAgICAgICAg ICAgICAgIHwgIDY2ICsrKysrCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCAgICAgICAgICAgICAg ICAgfCAgIDMgKwogeGVuL2luY2x1ZGUveHNtL2R1bW15LmggICAgICAgICAgICAgICAgIHwgIDEx ICsKIHhlbi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAgICAgICB8ICAxMiArCiB4ZW4v eHNtL2R1bW15LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogeGVuL3hzbS9mbGFz ay9ob29rcy5jICAgICAgICAgICAgICAgICAgIHwgIDE3ICsrCiB4ZW4veHNtL2ZsYXNrL3BvbGlj eS9hY2Nlc3NfdmVjdG9ycyAgICAgfCAgIDQgKwogNTUgZmlsZXMgY2hhbmdlZCwgMjc5NSBpbnNl cnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9saWJh Y3BpL2FtbF9idWlsZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvbGliYWNwaS9hbWxfYnVp bGQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2xpYnhsL2xpYnhsX252ZGltbS5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgdG9vbHMvbGlieGwvbGlieGxfbnZkaW1tLmgKIGNyZWF0ZSBtb2RlIDEw MDY0NCB0b29scy9taXNjL3hlbi1uZGN0bC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2NvbW1v bi9wbWVtLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vZHJpdmVycy9hY3BpL25maXQuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL3hlbi9wbWVtLmgKCi0tIAoyLjEyLjAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK