From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v10] xSplice v1 design and implementation. Date: Wed, 27 Apr 2016 15:26:57 -0400 Message-ID: <1461785241-4481-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1avVD1-0007eZ-Kn for xen-devel@lists.xenproject.org; Wed, 27 Apr 2016 19:33:15 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: konrad@kernel.org, xen-devel@lists.xenproject.org, sasha.levin@oracle.com, andrew.cooper3@citrix.com, ross.lagerwall@citrix.com, mpohlack@amazon.de List-Id: xen-devel@lists.xenproject.org SGV5IQoKQ2hhbmdlbG9nOgpTaW5jZSB2OTogW2h0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVz L2h0bWwveGVuLWRldmVsLzIwMTYtMDQvbXNnMDMwNTIuaHRtbF0KIC0gV29ya2VkIG9uIFJvc3Mn cyBhbmQgSmFuJ3MgY29tbWVudHMuCnY4LjE6IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVz L2h0bWwveGVuLWRldmVsLzIwMTYtMDQvbXNnMDE5MDMuaHRtbAogLSBXb3JrZWQgb24gSmFuJ3Mg Y29tbWVudHMuCnY4OiBzaW5jZSBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hl bi1kZXZlbC8yMDE2LTA0L21zZzAxODczLmh0bWwKIC0gUG9zdGluZyB0aGUgX1JJR0hUXyBzZXQg b2YgcGF0Y2hlcy4Kdjc6IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRl dmVsLzIwMTYtMDQvbXNnMDE0NzYuaHRtbAogLSBJbmdlc3RlZCBuZXdlciB2ZXJzaW9uIG9mIHg4 Ni9tbTogSW50cm9kdWNlIG1vZGlmeV94ZW5fbWFwcGluZ3MoKQogLSBJbXBsZW1lbnRlZCBmYXN0 ZXIgc3ltYm9sIHRhYmxlIGxvb2t1cCAoTkVXKQogLSBDYXJyaWVkIG91dCB0ZXN0cyBvbiBsYXJn ZSBDUFUgbWFjaGluZSAoMjQwQ1BVcykKIC0gTWFkZSB0aGUgc3RydWN0IHhzcGxpY2VfcGF0Y2hf ZnVuYyB3b3JrIG9uIEFSTTMyIGFuZCBjaGFuZ2VkIGl0cyBzaXplCiAgICg2NGJpdCBpdCBpcyA2 NGJ5dGVzLCAzMmJpdCBpcyA1MiBieXRlcyAtIGFuZCB0aGUgb2Zmc2V0IGlzIGRpZmZlcmVudCB0 b28pCiAtIENoYW5nZWQgYSBidW5jaCBvZiBwcmludGsgdG8gZHByaW50aywgYWRqdXN0ZWQgWEVO TE9HXyBsZXZlbHMuCiAtIFJlc3VycmVjdGVkIHRoZSBYRU5WRVJfYnVpbGRfaWQuCiAtIFJldmVy dGVkIFZFUlNJT05fb3AuCnY2OiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hl bi1kZXZlbC8yMDE2LTA0L21zZzAwODcxLmh0bWwKIC0gQWN0ZWQgb24gYWxsIGNvbW1lbnRzIGZy b20gQW5kcmV3LCBKdWxpZW4sIGFuZCBKYW4uCiAtIEdvdCBoZWxwIGZyb20gQW5kcmV3IG9uIG9u ZSBvZiB0aGVtIG92ZXIgdGhlIHdlZWtlbmQuCiAtIERyb3BwZWQ6IHhzcGxpY2U6IEFkZCAueHNw bGljZS5ob29rcyBmdW5jdGlvbnMgYW5kIHRlc3QtY2FzZSwKICAgeHNwbGljZTogQWRkIHN1cHBv cnQgZm9yIHNoYWRvdyB2YXJpYWJsZXMuCnY1OiBodHRwOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZl cy9odG1sL3hlbi1kZXZlbC8yMDE2LTAzL21zZzAzMjg2Lmh0bWwKIC0gQWN0ZWQgYXQgYWxsIGNv bW1lbnRzIGZyb20gSmFuLgp2NDogaHR0cDovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94 ZW4tZGV2ZWwvMjAxNi0wMy9tc2cwMTc3Ni5odG1sCiAtIExvdHMgb2YgcmV2aWV3LiBMb3RzIG9m IHJld29yay4gU29tZSBwYXRjaGVzIGNoZWNrZWQgaW4uCnYzOiBodHRwOi8vd3d3Lmdvc3NhbWVy LXRocmVhZHMuY29tL2xpc3RzL3hlbi9kZXZlbC80MTgyNjIKICAgIGFuZCAKICAgIGh0dHA6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTAyL21zZzA0 MTA2Lmh0bWwKIC0gQWN0IG9uIGFsbCByZXZpZXdzLgogLSBSZWRvIHRoZSBmbG93IG9mIHBhdGNo ZXMKdjI6IGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYt MDEvbXNnMDE1OTcuaHRtbAogLSBVcGRhdGVkIGNvZGUvZG9jcy9kZXNpZ24gd2l0aCByZXZpZXcg Y29tbWVudHMuCiAtIE1ha2UgeGVuIGFsc28gaGF2ZSBhbiBQVF9OT1RFCiAtIEFkZGVkIG1vcmUg b2YgUm9zcydzIHBhdGNoZXMKIC0gQ29tYmluZWQgYnVpbGQtaWQgcGF0Y2hzZXQgd2l0aCB0aGlz Lgooc2luY2UgdGhlIFJGQyBhbmQgdGhlIFNlYXR0bGUgWGVuIHByZXNlbnRhdGlvbikKIC0gRmlu aXNoZWQgb2ZmIHNvbWUgb2YgdGhlIHdvcmsgYXJvdW5kIHRoZSBidWlsZC1pZC4KIC0gU2V0dGxl ZCBvbiB0aGUgcHJlZW1wdGlvbiBtZWNoYW5pc20uCiAtIENsZWFuZWQgdGhlIHBhdGNoZXMgYSBs b3QgdXAsIGJyb2tlIHRoZW0gdXAgdG8gZWFzeQogICByZXZpZXcgZm9yIG1haW50YWluZXJzLgp2 MTogaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIw MTUtMDkvbXNnMDIxMTYuaHRtbAogIC0gUHV0IGFsbCB0aGUgZGVzaWduIGNvbW1lbnRzIGluIHRo ZSBjb2RlClByb3RvdHlwZTogaHR0cDovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0 bWwveGVuLWRldmVsLzIwMTUtMTAvbXNnMDI1OTUuaHRtbApbUG9zdGluZyBieSBSb3NzXQogLSBU b29rIGFsbCByZXZpZXdzIGludG8gYWNjb3VudC4KIC0gUmVkaWQgdGhlIHBhdGNoZXMKCipNYWlu dGFpbmVycyoKCkxlZ2VuZDoKICogICAgLSBTZWUgYmVsb3cKIFIgICAgLSBSZXZpZXdlZCAKIFIr ICAgLSBSZXZpZXdlZCBieSB0d28gZm9sa3MKIEEgICAgLSBBY2tlZCBieSBtYWludGFpbmVyIG9m IHRoZSBhcmVhIChoeXBlcnZpc29yIG9yIHRvb2xzdGFjaykKCiAgQSAgIHhzcGxpY2U6IERlc2ln biBkb2N1bWVudAogICBSICB4ZW4veHNwbGljZTogSHlwZXJ2aXNvciBpbXBsZW1lbnRhdGlvbiBv ZiBYRU5fWFNQTElDRV9vcAogIEFSICBsaWJ4YzogSW1wbGVtZW50YXRpb24gb2YgWEVOX1hTUExJ Q0Vfb3AgaW4gbGlieGMKICBBICAgeGVuLXhzcGxpY2U6IFRvb2wgdG8gbWFuaXB1bGF0ZSB4c3Bs aWNlIHBheWxvYWRzCiAgQVIgIGFybS94ODY6IFVzZSBzdHJ1Y3QgdmlydHVhbF9yZWdpb24gdG8g ZG8gYnVnLCBzeW1ib2wsIGFuZCAoeDg2KSBleGNlcHRpb24gdGFibGVzIGxvb2t1cC4KICBBUiAg YXJtL3g4Ni92bWFwOiBBZGQgdlt6fG1dYWxsb2NfeGVuLCB2ZnJlZV94ZW4gYW5kIHZtX2luaXRf dHlwZQoqIEEgICB4c3BsaWNlOiBBZGQgaGVscGVyIGVsZiByb3V0aW5lcwogICAgICAgIFtJYW4g YWNrZWQgaXRdCiogQSAgIHhzcGxpY2U6IEltcGxlbWVudCBwYXlsb2FkIGxvYWRpbmcKICAgICAg ICBbSnVsaWVuIEFja2VkIHRoZSBBUk0gcGFydCwgTmVlZHMgSmFuJ3MgUmV2aWV3IG9yIEFja11d CiAgQSsgIHhzcGxpY2U6IEltcGxlbWVudCBzdXBwb3J0IGZvciBhcHBseWluZy9yZXZlcnRpbmcv cmVwbGFjaW5nIHBhdGNoZXMuCiAgQVIgIHg4Ni94ZW5faGVsbG9fd29ybGQueHNwbGljZTogVGVz dCBwYXlsb2FkIGZvciBwYXRjaGluZyAneGVuX2V4dHJhX3ZlcnNpb24nLgogIEFSICB4c3BsaWNl LHN5bWJvbHM6IEltcGxlbWVudCBzeW1ib2wgbmFtZSByZXNvbHV0aW9uIG9uIGFkZHJlc3MuCiAg QVIgICB4c3BsaWNlLCBzeW1ib2xzOiBJbXBsZW1lbnQgZmFzdCBzeW1ib2wgbmFtZXMgLT4gdmly dHVhbCBhZGRyZXNzZXMgbG9va3VwCiAgIFIrIHg4NiwgeHNwbGljZTogUHJpbnQgcGF5bG9hZCdz IHN5bWJvbCBuYW1lIGFuZCBwYXlsb2FkIG5hbWUgaW4gYmFja3RyYWNlcwogICBSKyB4c3BsaWNl OiBBZGQgc3VwcG9ydCBmb3IgYnVnIGZyYW1lcy4KICAgUisgeHNwbGljZTogQWRkIHN1cHBvcnQg Zm9yIGV4Y2VwdGlvbiB0YWJsZXMuCiAgIFIrIHhzcGxpY2U6IEFkZCBzdXBwb3J0IGZvciBhbHRl cm5hdGl2ZXMKICBBUiAgYnVpbGRfaWQ6IFByb3ZpZGUgbGQtZW1iZWRkZWQgYnVpbGQtaWRzCiAg QVIgIHhzcGxpY2U6IFByaW50IGJ1aWxkX2lkIGluIGtleWhhbmRsZXIgYW5kIG9uIGJvb3R1cC4K ICBBICAgWEVOVkVSX2J1aWxkX2lkL2xpYnhjOiBQcm92aWRlIGxkLWVtYmVkZGVkIGJ1aWxkLWlk CiAgQSAgIGxpYnhsOiBpbmZvOiBEaXNwbGF5IGJ1aWxkX2lkIG9mIHRoZSBoeXBlcnZpc29yLgoq ICAgICB4c3BsaWNlOiBTdGFja2luZyBidWlsZC1pZCBkZXBlbmRlbmN5IGNoZWNraW5nLgoqICAg ICB4c3BsaWNlL3hlbl9yZXBsYWNlX3dvcmxkOiBUZXN0LWNhc2UgZm9yIFhTUExJQ0VfQUNUSU9O X1JFUExBQ0UKICAgUiAgeHNwbGljZTogUHJldmVudCBkdXBsaWNhdGUgcGF5bG9hZHMgZnJvbSBi ZWluZyBsb2FkZWQuCiAgIFIgIE1BSU5UQUlORVJTL3hzcGxpY2U6IEFkZCBteXNlbGYgYW5kIFJv c3MgYXMgdGhlIG1haW50YWluZXJzLgoKCipBcmUgdGhlcmUgYW55IFRPRE9zIGxlZnQgZnJvbSB2 OSByZXZpZXdzPyoKClRoZXNlIHR3byBuZWVkIGEgc2ltcGxlIHJldmlldy4gSSd2ZSBhbHNvIHBv c3RlZCB0aGVtIGlubGluZSBpbiB2OQpyZXZpZXcgYnV0IHRoYXQgaXMgaGFyZGVyIHRvIHJlYWQu CgogIzcgeHNwbGljZTogQWRkIGhlbHBlciBlbGYgcm91dGluZXMKICM4IHhzcGxpY2U6IEltcGxl bWVudCBwYXlsb2FkIGxvYWRpbmcKCkFuZCB0aGVzZSB0d28gaGF2ZSBtYWtlZmlsZSBjaGFuZ2Vz OgogIzIxIHhzcGxpY2U6IFN0YWNraW5nIGJ1aWxkLWlkIGRlcGVuZGVuY3kgY2hlY2tpbmcuCiAj MjIgeHNwbGljZS94ZW5fcmVwbGFjZV93b3JsZDogVGVzdC1jYXNlIGZvciBYU1BMSUNFX0FDVElP Tl9SRVBMQUNFCgoqV2hhdCBpcyB4U3BsaWNlPyoKCkEgbWVjaGFuaXNtIHRvIGJpbmFyaWx5IHBh dGNoIHRoZSBydW5uaW5nIGh5cGVydmlzb3Igd2l0aCBuZXcKb3Bjb2RlcyB0aGF0IGhhdmUgY29t ZSBhYm91dCBkdWUgdG8gcHJpbWFyaWx5IHNlY3VyaXR5IHVwZGF0ZXMuCgoqV2hhdCB3aWxsIHRo aXMgcGF0Y2hzZXQgZG8gb25jZSBJJ3ZlIGl0KgoKUGF0Y2ggdGhlIGh5cGVydmlzb3IuCgoqV2h5 IGFyZSB5b3UgZW1haWxpbmcgbWU/KgoKUGxlYXNlIHBsZWFzZSByZXZpZXcgYXMgbWFueSBwYXRj aGVzIGFzIHBvc3NpYmxlLgoKKk9LLCB3aGF0IGRvIHlvdSBoYXZlPyoKClRoZXkgYXJlIGxvY2F0 ZWQgYXQgYSBnaXQgdHJlZToKICBnaXQ6Ly94ZW5iaXRzLnhlbi5vcmcvcGVvcGxlL2tvbnJhZHdp bGsveGVuLmdpdCAgIHhzcGxpY2UudjEwCgooQ29weWluZyBmcm9tIFJvc3MncyBlbWFpbCk6CgpN dWNoIG9mIHRoZSB3b3JrIGlzIGltcGxlbWVudGluZyBhIGJhc2ljIHZlcnNpb24gb2YgdGhlIExp bnV4IGtlcm5lbCBtb2R1bGUKbG9hZGVyLiBUaGUgY29kZToKKiBMb2FkaW5nIG9mIHhTcGxpY2Ug RUxGIHBheWxvYWRzLgoqIENvcHlpbmcgYWxsb2NhdGVkIHNlY3Rpb25zIGludG8gYSBuZXcgZXhl Y3V0YWJsZSByZWdpb24gb2YgbWVtb3J5LgoqIFJlc29sdmluZyBzeW1ib2xzLgoqIEFwcGx5aW5n IHJlbG9jYXRpb25zLgoqIFBhdGNoaW5nIG9mIGFsdGluc3RydWN0aW9ucy4KKiBTcGVjaWFsIGhh bmRsaW5nIG9mIGJ1ZyBmcmFtZXMgYW5kIGV4Y2VwdGlvbiB0YWJsZXMuCiogVW5sb2FkaW5nIG9m IHhTcGxpY2UgRUxGIHBheWxvYWRzLgoqIENvbXBpbGluZyBhIHNhbXBsZSB4U3BsaWNlIEVMRiBw YXlsb2FkCiogUmVzb2x2aW5nIHN5bWJvbHMKKiBVc2luZyBidWlsZC1pZCBkZXBlbmRlbmNpZXMK KiBTdXBwb3J0IGZvciBzaGFkb3cgdmFyaWFibGUgZnJhbWV3b3JrCiogU3VwcG9ydCBmb3IgZXhl Y3V0aW5nIEVMRiBwYXlsb2FkIGZ1bmN0aW9ucyBvbiBsb2FkL3VubG9hZC4KClRoZSBvdGhlciBt YWluIGJpdCBvZiB0aGlzIHdvcmsgaXMgYXBwbHlpbmcgYW5kIHJldmVydGluZyB0aGUgcGF0Y2hl cyBzYWZlbHkuCkFzIGltcGxlbWVudGVkLCB0aGUgY29kZSBpcyBwYXRjaGVkIHdpdGggZWFjaCBD UFUgd2FpdGluZyBpbiB0aGUKcmV0dXJuLXRvLWd1ZXN0IHBhdGggKGkuZS4gd2l0aCBubyBzdGFj aykgb3Igb24gdGhlIGNwdS1pZGxlIHBhdGgKd2hpY2ggYXBwZWFycyB0byBiZSB0aGUgc2FmZXN0 IHdheSBvZiBwYXRjaGluZy4gV2hpbGUgaXQgaXMgc2FmZSB3ZSBzaG91bGQKc3RpbGwgKGluIHRo ZSBuZXh0IHdhdmUgb2YgcGF0Y2hlcykgdG8gdmVyaWZ5IHRvIG5vdCBwYXRjaCBjZXRhaW4gY3Jp dGljYWwKc2VjdGlvbnMgKHNheSB0aGUgY29kZSBkb2luZyB0aGUgcGF0Y2hpbmcpCgpBbGwgb2Yg dGhlIGZvbGxvd2luZyBzaG91bGQgd29yazoKKiBBcHBseWluZyBwYXRjaGVzIHNhZmVseS4KKiBS ZXZlcnRpbmcgcGF0Y2hlcyBzYWZlbHkuCiogUmVwbGFjaW5nIHBhdGNoZXMgc2FmZWx5IChlLmcu IHJldmVydGluZyBhbnkgYXBwbGllZCBwYXRjaGVzIGFuZCBhcHBseWluZwogICBhIG5ldyBwYXRj aCkuCiogQnVnIGZyYW1lcyBhcyBwYXJ0IG9mIG1vZHVsZXMuIFRoaXMgbWVhbnMgYWRkaW5nIG9y CiAgY2hhbmdpbmcgV0FSTiwgQVNTRVJULCBCVUcsIGFuZCBydW5faW5fZXhjZXB0aW9uX2hhbmRs ZXIgd29ya3MgY29ycmVjdGx5LgogIExpbmUgbnVtYmVyIG9ubHkgY2hhbmdlcyBfYXJlIGlnbm9y ZWRfLgoqIEV4Y2VwdGlvbiB0YWJsZXMgYXMgcGFydCBvZiBtb2R1bGVzLiBFLmcuIHdybXNyX3Nh ZmUgYW5kIGNvcHlfdG9fdXNlciB3b3JrCiAgY29ycmVjdGx5IHdoZW4gdXNlZCBpbiBhIHBhdGNo IG1vZHVsZS4KKiBTdGFja2luZyBvZiBwYXRjaGVzIG9uIHRvcCBvZiBlYWNoIG90aGVyCiogUmVz b2x2aW5nIHN5bWJvbHMgKGV2ZW4gb2YgcGF0Y2hlcykKCipMaW1pdGF0aW9ucyoKClRoZSBhYm92 ZSBpcyBlbm91Z2ggdG8gZnVsbHkgaW1wbGVtZW50IGFuIHVwZGF0ZSBzeXN0ZW0gd2hlcmUgbXVs dGlwbGUgc291cmNlCnBhdGNoZXMgYXJlIGNvbWJpbmVkICh1c2luZyBjb21iaW5lZGlmZikgYW5k IGJ1aWx0IGludG8gYSBzaW5nbGUgYmluYXJ5CndoaWNoIHRoZW4gYXRvbWljYWxseSByZXBsYWNl cyBhbnkgZXhpc3RpbmcgbG9hZGVkIHBhdGNoZXMKKHRoaXMgaXMgd2h5IFJvc3MgYWRkZWQgYSBS RVBMQUNFIG9wZXJhdGlvbikuIFRoaXMgaXMgdGhlIGFwcHJvYWNoIHVzZWQKYnkga1BhdGNoIGFu ZCBrR3JhZnQuCgpNdWx0aXBsZSBjb21wbGV0ZWx5IGluZGVwZW5kZW50IHBhdGNoZXMgY2FuIGFs c28gYmUgbG9hZGVkIGJ1dCB1bmV4cGVjdGVkCmludGVyYWN0aW9ucyBtYXkgb2NjdXIuCgpBcyBp dCBzdGFuZHMsIHRoZSBwYXRjaGVzIGFyZSBzdGF0aWNhbGx5IGxpbmtlZCB3aGljaCBtZWFucyB0 aGF0IGluZGVwZW5kZW50CnBhdGNoZXMgY2Fubm90IGJlIGxpbmtlZCBhZ2FpbnN0IG9uZSBhbm90 aGVyIChlLmcuIGlmIG9uZSBpbnRyb2R1Y2VzIGEKbmV3IHN5bWJvbCkuIFVzaW5nIHRoZSBjb21i aW5lZGlmZiBhcHByb2FjaCBhYm92ZSBmaXhlcyB0aGlzLgoKQmFja3RyYWNlcyBjb250YWluaW5n IGZ1bmN0aW9ucyBmcm9tIGEgcGF0Y2ggbW9kdWxlIGRvIG5vdCBzaG93IHRoZSBzeW1ib2wgbmFt ZS4KClRoZXJlIGlzIG5vIGNoZWNraW5nIHRoYXQgYSBwYXRjaCB3aGljaCBpcyBsb2FkZWQgaXMg YnVpbHQgZm9yIHRoZQpjb3JyZWN0IGh5cGVydmlzb3IgKG5lZWQgdG8gdXNlIGJ1aWxkLWlkKS4K CkJpbmFyeSBwYXRjaGluZyB3b3JrcyBhdCB0aGUgZnVuY3Rpb24gbGV2ZWwuCgoqVGVzdGluZyoK CllvdSBjYW4gdXNlIHRoZSBleGFtcGxlIGNvZGUgaW5jbHVkZWQgaW4gdGhpcyBwYXRjaHNldDoK CiMgeGwgaW5mbyB8IGdyZXAgZXh0cmEKeGVuX2V4dHJhICAgICAgICAgICAgICA6IC11bnN0YWJs ZQojIHhlbi14c3BsaWNlIGxvYWQgL3Vzci9saWIvZGVidWcveGVuX2hlbGxvX3dvcmxkLnhzcGxp Y2UKVXBsb2FkaW5nIC91c3IvbGliL2RlYnVnL3hlbl9oZWxsb193b3JsZC54c3BsaWNlICgyMDcx IGJ5dGVzKQpQZXJmb3JtaW5nIGNoZWNrOiBjb21wbGV0ZWQKUGVyZm9ybWluZyBhcHBseTouIGNv bXBsZXRlZAojIHhsIGluZm8gfCBncmVwIGV4dHJhCnhlbl9leHRyYSAgICAgICAgICAgICAgOiBI ZWxsbyBXb3JsZAojIHhlbi14c3BsaWNlIHJldmVydCB4ZW5faGVsbG9fd29ybGQKUGVyZm9ybWlu ZyByZXZlcnQ6LiBjb21wbGV0ZWQKIyB4ZW4teHNwbGljZSB1bmxvYWQgeGVuX2hlbGxvX3dvcmxk ClBlcmZvcm1pbmcgdW5sb2FkOiBjb21wbGV0ZWQKIyB4bCBpbmZvIHwgZ3JlcCBleHRyYQp4ZW5f ZXh0cmEgICAgICAgICAgICAgIDogLXVuc3RhYmxlCgpPciB5b3UgY2FuIHVzZSBnaXQ6Ly94ZW5i aXRzLnhlbi5vcmcvcGVvcGxlL2tvbnJhZHdpbGsveHNwbGljZS1idWlsZC10b29scy5naXQKd2hp Y2ggZ2VuZXJhdGVzIHRoZSBFTEYgcGF5bG9hZHMuCgpUaGlzIGxpbmsgaGFzIGEgbmljZSBkZXNj cmlwdGlvbiBvZiBob3cgdG8gdXNlIHRoZSB0b29sOgpodHRwOi8vbGlzdHMueGVucHJvamVjdC5v cmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNS0xMC9tc2cwMjU5NS5odG1sCgogLmdpdGln bm9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsKIENvbmZpZy5t ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArCiBNQUlOVEFJTkVS UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKwogZG9jcy9taXNjL3hz cGxpY2UubWFya2Rvd24gICAgICAgICAgICAgICAgICAgfCAxMTAzICsrKysrKysrKysrKysrKysr KwogdG9vbHMvZmxhc2svcG9saWN5L3BvbGljeS9tb2R1bGVzL3hlbi94ZW4udGUgfCAgICAyICsK IHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgICAgICAgICAgIHwgICA2MSArCiB0 b29scy9saWJ4Yy94Y19taXNjLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAzNTAgKysrKysr CiB0b29scy9saWJ4Yy94Y19wcml2YXRlLmMgICAgICAgICAgICAgICAgICAgICB8ICAgIDcgKwog dG9vbHMvbGlieGMveGNfcHJpdmF0ZS5oICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsKIHRv b2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0NCArCiB0b29s cy9saWJ4bC9saWJ4bC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKwogdG9vbHMv bGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHRvb2xzL2xp YnhsL3hsX2NtZGltcGwuYyAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB0b29scy9taXNj L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKwogdG9vbHMvbWlzYy94 ZW4teHNwbGljZS5jICAgICAgICAgICAgICAgICAgICAgfCAgNDYzICsrKysrKysrCiB4ZW4vTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKy0KIHhlbi9hcmNo L2FybS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArLQogeGVuL2FyY2gv YXJtL2tlcm5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiB4ZW4vYXJjaC9h cm0vbW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIHhlbi9hcmNoL2Fy bS9zZXR1cC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArCiB4ZW4vYXJjaC9hcm0v dHJhcHMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzkgKy0KIHhlbi9hcmNoL2FybS94 ZW4ubGRzLlMgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArLQogeGVuL2FyY2gvYXJtL3hz cGxpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDc5ICsrCiB4ZW4vYXJjaC94ODYvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTggKy0KIHhlbi9hcmNoL3g4Ni9hbHRl cm5hdGl2ZS5jICAgICAgICAgICAgICAgICAgIHwgICA0NiArLQogeGVuL2FyY2gveDg2L2Jvb3Qv bWtlbGYzMi5jICAgICAgICAgICAgICAgICAgfCAgMTQyICsrLQogeGVuL2FyY2gveDg2L2RvbWFp bi5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICsKIHhlbi9hcmNoL3g4Ni9leHRhYmxl LmMgICAgICAgICAgICAgICAgICAgICAgIHwgICA0MSArLQogeGVuL2FyY2gveDg2L21tLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiB4ZW4vYXJjaC94ODYvcGxhdGZvcm1f aHlwZXJjYWxsLmMgICAgICAgICAgICB8ICAgIDUgKy0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiArCiB4ZW4vYXJjaC94ODYvdGVzdC9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICB8ICAgODggKysKIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVf d29ybGQuYyAgICAgICAgICAgIHwgICAzNCArCiB4ZW4vYXJjaC94ODYvdGVzdC94ZW5fYnllX3dv cmxkX2Z1bmMuYyAgICAgICB8ICAgMjIgKwogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dv cmxkLmMgICAgICAgICAgfCAgIDMzICsKIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3Js ZF9mdW5jLmMgICAgIHwgICAzOSArCiB4ZW4vYXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93b3Js ZC5jICAgICAgICB8ICAgMzMgKwogeGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGRf ZnVuYy5jICAgfCAgIDIyICsKIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA0NSArLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDMwICstCiB4ZW4vYXJjaC94ODYveHNwbGljZS5jICAgICAgICAgICAgICAgICAg ICAgICB8ICAyNDkgKysrKysKIHhlbi9jb21tb24vS2NvbmZpZyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAyOCArCiB4ZW4vY29tbW9uL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgIDMgKwogeGVuL2NvbW1vbi9rZXJuZWwuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDM2ICsKIHhlbi9jb21tb24vc3ltYm9scy1kdW1teS5jICAgICAgICAgICAgICAgICAg IHwgICAgNSArCiB4ZW4vY29tbW9uL3N5bWJvbHMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgNzUgKy0KIHhlbi9jb21tb24vc3lzY3RsLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgNyArCiB4ZW4vY29tbW9uL3ZlcnNpb24uYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg NzUgKysKIHhlbi9jb21tb24vdmlydHVhbF9yZWdpb24uYyAgICAgICAgICAgICAgICAgIHwgIDE0 NiArKysKIHhlbi9jb21tb24vdm1hcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE2 OSArLS0KIHhlbi9jb21tb24vdnNwcmludGYuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAx MiArCiB4ZW4vY29tbW9uL3hzcGxpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1NTYg KysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9jb21tb24veHNwbGljZV9lbGYuYyAgICAg ICAgICAgICAgICAgICAgIHwgIDUwMyArKysrKysrKysKIHhlbi9kcml2ZXJzL2FjcGkvb3NsLmMg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRl cm5hdGl2ZS5oICAgICAgICAgICAgfCAgICA0ICsKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVu dC5oICAgICAgICAgICAgICAgIHwgICAxMCArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNz LmggICAgICAgICAgICAgICAgfCAgICAyICsKIHhlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaCAg ICAgICAgICAgICAgICAgIHwgIDE4NSArKysKIHhlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmgg ICAgICAgICAgICAgICAgIHwgICAxOCArLQogeGVuL2luY2x1ZGUveGVuL2VsZnN0cnVjdHMuaCAg ICAgICAgICAgICAgICAgfCAgICA4ICsKIHhlbi9pbmNsdWRlL3hlbi9zeW1ib2xzLmggICAgICAg ICAgICAgICAgICAgIHwgICAyMSArLQogeGVuL2luY2x1ZGUveGVuL3ZlcnNpb24uaCAgICAgICAg ICAgICAgICAgICAgfCAgICAxICsKIHhlbi9pbmNsdWRlL3hlbi92aXJ0dWFsX3JlZ2lvbi5oICAg ICAgICAgICAgIHwgICA0NyArCiB4ZW4vaW5jbHVkZS94ZW4vdm1hcC5oICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMjEgKy0KIHhlbi9pbmNsdWRlL3hlbi94c3BsaWNlLmggICAgICAgICAgICAg ICAgICAgIHwgIDExOSArKwogeGVuL2luY2x1ZGUveGVuL3hzcGxpY2VfZWxmLmggICAgICAgICAg ICAgICAgfCAgIDU4ICsKIHhlbi90b29scy9zeW1ib2xzLmMgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA1MCArLQogeGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICA3ICsKIHhlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzICAgICAgICAg IHwgICAgNCArCiA2OSBmaWxlcyBjaGFuZ2VkLCA2MTIzIGluc2VydGlvbnMoKyksIDE4NSBkZWxl dGlvbnMoLSkKCgpLb25yYWQgUnplc3p1dGVrIFdpbGsgKDE1KToKICAgICAgeHNwbGljZTogRGVz aWduIGRvY3VtZW50CiAgICAgIHhlbi94c3BsaWNlOiBIeXBlcnZpc29yIGltcGxlbWVudGF0aW9u IG9mIFhFTl9YU1BMSUNFX29wCiAgICAgIGxpYnhjOiBJbXBsZW1lbnRhdGlvbiBvZiBYRU5fWFNQ TElDRV9vcCBpbiBsaWJ4YwogICAgICB4ZW4teHNwbGljZTogVG9vbCB0byBtYW5pcHVsYXRlIHhz cGxpY2UgcGF5bG9hZHMKICAgICAgYXJtL3g4NjogVXNlIHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiB0 byBkbyBidWcsIHN5bWJvbCwgYW5kICh4ODYpIGV4Y2VwdGlvbiB0YWJsZXMgbG9va3VwLgogICAg ICBhcm0veDg2L3ZtYXA6IEFkZCB2bWFsbG9jX3hlbiBhbmQgdm1faW5pdF90eXBlCiAgICAgIHg4 Ni94ZW5faGVsbG9fd29ybGQueHNwbGljZTogVGVzdCBwYXlsb2FkIGZvciBwYXRjaGluZyAneGVu X2V4dHJhX3ZlcnNpb24nLgogICAgICB4c3BsaWNlLCBzeW1ib2xzOiBJbXBsZW1lbnQgZmFzdCBz eW1ib2wgbmFtZXMgLT4gdmlydHVhbCBhZGRyZXNzZXMgbG9va3VwCiAgICAgIGJ1aWxkX2lkOiBQ cm92aWRlIGxkLWVtYmVkZGVkIGJ1aWxkLWlkcwogICAgICB4c3BsaWNlOiBQcmludCBidWlsZF9p ZCBpbiBrZXloYW5kbGVyIGFuZCBvbiBib290dXAuCiAgICAgIFhFTlZFUl9idWlsZF9pZC9saWJ4 YzogUHJvdmlkZSBsZC1lbWJlZGRlZCBidWlsZC1pZAogICAgICBsaWJ4bDogaW5mbzogRGlzcGxh eSBidWlsZF9pZCBvZiB0aGUgaHlwZXJ2aXNvci4KICAgICAgeHNwbGljZTogU3RhY2tpbmcgYnVp bGQtaWQgZGVwZW5kZW5jeSBjaGVja2luZy4KICAgICAgeHNwbGljZS94ZW5fcmVwbGFjZV93b3Js ZDogVGVzdC1jYXNlIGZvciBYU1BMSUNFX0FDVElPTl9SRVBMQUNFCiAgICAgIE1BSU5UQUlORVJT L3hzcGxpY2U6IEFkZCBteXNlbGYgYW5kIFJvc3MgYXMgdGhlIG1haW50YWluZXJzLgoKUm9zcyBM YWdlcndhbGwgKDkpOgogICAgICB4c3BsaWNlOiBBZGQgaGVscGVyIGVsZiByb3V0aW5lcwogICAg ICB4c3BsaWNlOiBJbXBsZW1lbnQgcGF5bG9hZCBsb2FkaW5nCiAgICAgIHhzcGxpY2U6IEltcGxl bWVudCBzdXBwb3J0IGZvciBhcHBseWluZy9yZXZlcnRpbmcvcmVwbGFjaW5nIHBhdGNoZXMuCiAg ICAgIHhzcGxpY2Usc3ltYm9sczogSW1wbGVtZW50IHN5bWJvbCBuYW1lIHJlc29sdXRpb24gb24g YWRkcmVzcy4KICAgICAgeDg2LCB4c3BsaWNlOiBQcmludCBwYXlsb2FkJ3Mgc3ltYm9sIG5hbWUg YW5kIHBheWxvYWQgbmFtZSBpbiBiYWNrdHJhY2VzCiAgICAgIHhzcGxpY2U6IEFkZCBzdXBwb3J0 IGZvciBidWcgZnJhbWVzLgogICAgICB4c3BsaWNlOiBBZGQgc3VwcG9ydCBmb3IgZXhjZXB0aW9u IHRhYmxlcy4KICAgICAgeHNwbGljZTogQWRkIHN1cHBvcnQgZm9yIGFsdGVybmF0aXZlcwogICAg ICB4c3BsaWNlOiBQcmV2ZW50IGR1cGxpY2F0ZSBwYXlsb2FkcyBmcm9tIGJlaW5nIGxvYWRlZC4K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=