From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 00/25] Enable L2 Cache Allocation Technology & Refactor psr.c Date: Thu, 16 Mar 2017 19:07:50 +0800 Message-ID: <1489662495-5375-1-git-send-email-yi.y.sun@linux.intel.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 1coTLf-00047V-4G for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:13:39 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org SGkgYWxsLAoKV2UgcGxhbiB0byBicmluZyBhIG5ldyBQU1IgKFBsYXRmb3JtIFNoYXJlZCBSZXNv dXJjZSkgZmVhdHVyZSBjYWxsZWQKSW50ZWwgTDIgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5 IChMMiBDQVQpIHRvIFhlbi4gSXQgaGFzIGJlZW4gZW5hYmxlZAppbiBMaW51eCBLZXJuZWwuCgpC ZXNpZGVzIHRoZSBMMiBDQVQgaW1wbGVtZW50YWlvbiwgd2UgcmVmYWN0b3IgdGhlIHBzci5jIHRv IG1ha2UgaXQgbW9yZQpmbGV4aWJsZSBhbmQgZWFzaWx5IHRvIGV4dGVuZCB0byBhZGQgbmV3IGZl YXR1cmVzLiBXZSBhYnN0cmFjdCB0aGUgZ2VuZXJhbApvcGVyYXRpb25zIG9mIGFsbCBmZWF0dXJl cyBhbmQgZW5jYXBzdWxhdGUgdGhlbSBpbnRvIGEgc3RydWN0dXJlLiBUaGVuLAp0aGUgZGV2ZWxv cG1lbnQgb2YgbmV3IGZlYXR1cmUgaXMgc2ltcGxlIHRvIG1haW5seSBpbXBsZW1lbnQgdGhlc2Ug Y2FsbGJhY2sKZnVuY3Rpb25zLgoKVGhlIHBhdGNoIHNldCBjYW4gYmUgZm91bmQgYXQ6Cmh0dHBz Oi8vZ2l0aHViLmNvbS95aXN1bi1naXQveGVuLmdpdCBsMl9jYXRfdjkKCi0tLQpBY2tlZCBhbmQg UmV2aWV3ZWQgbGlzdCBiZWZvcmUgVjk6CgphIC0gQWNrZWQtYnkKciAtIFJldmlld2VkLWJ5Cgog IHIgIHBhdGNoIDEgIC0gZG9jczogY3JlYXRlIENhY2hlIEFsbG9jYXRpb24gVGVjaG5vbG9neSAo Q0FUKSBhbmQgQ29kZSBhbmQKICAgICAgICAgICAgICAgIERhdGEgUHJpb3JpdGl6YXRpb24gKENE UCkgZmVhdHVyZSBkb2N1bWVudAogIGFyIHBhdGNoIDIgIC0geDg2OiByZWZhY3RvciBwc3I6IHJl bW92ZSBMMyBDQVQvQ0RQIGNvZGVzLgogIHIgIHBhdGNoIDMgIC0geDg2OiByZWZhY3RvciBwc3I6 IGltcGxlbWVudCBtYWluIGRhdGEgc3RydWN0dXJlcy4KICByICBwYXRjaCA2ICAtIHg4NjogcmVm YWN0b3IgcHNyOiBMMyBDQVQ6IGltcGxlbWVudCBEb21haW4gaW5pdC9mcmVlIGFuZAogICAgICAg ICAgICAgICAgc2NoZWR1bGUgZmxvd3MuCiAgciAgcGF0Y2ggNyAgLSB4ODY6IHJlZmFjdG9yIHBz cjogTDMgQ0FUOiBpbXBsZW1lbnQgZ2V0IGh3IGluZm8gZmxvdy4KICByICBwYXRjaCA4ICAtIHg4 NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IGltcGxlbWVudCBnZXQgdmFsdWUgZmxvdy4KICBhICBw YXRjaCAyMiAtIHRvb2xzOiBMMiBDQVQ6IHN1cHBvcnQgZ2V0IEhXIGluZm8gZm9yIEwyIENBVC4K ICBhICBwYXRjaCAyMyAtIHRvb2xzOiBMMiBDQVQ6IHN1cHBvcnQgc2hvdyBjYm0gZm9yIEwyIENB VC4KICBhICBwYXRjaCAyNCAtIHRvb2xzOiBMMiBDQVQ6IHN1cHBvcnQgc2V0IGNibSBmb3IgTDIg Q0FULgogIGEgIHBhdGNoIDI1IC0gZG9jczogYWRkIEwyIENBVCBkZXNjcmlwdGlvbiBpbiBkb2Nz LgoKLS0tClY5IGNoYW5nZSBsaXN0OgoKUGF0Y2ggMToKICAgIC0gYWRkICdDTVQnIHRvIHRoZSBs aXN0IG9mIGFjcm9ueW1zLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIGNoYW5n ZSBmZWF0dXJlIGxpc3QgdG8gZmVhdHVyZSBhcnJheS4KICAgIC0gbW9kaWZ5IGRhdGEgc3RydWN0 dXJlIGRlc2NyaXB0aW9ucyBhY2NvcmRpbmcgdG8gbGF0ZXN0IGNvZGVzLgogICAgLSBtb2RpZnkg cmV2aXNpb24uClBhdGNoIDM6CiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IHRvIGEgZmVhdHVy ZSBwb2ludGVyIGFycmF5LgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gYWRk ICdQU1JfU09DS0VUX01BWF9GRUFUJyBpbiAnZW51bSBwc3JfZmVhdF90eXBlJyB0byBrbm93IGZl YXR1cmVzCiAgICAgIGFjY291bnQuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAg LSBtb3ZlICdmZWF0X29wcycgZGVjbGFyYXRpb24gaW50byAnZmVhdF9ub2RlJyBzdHJ1Y3R1cmUu CiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBkaXJlY3RseSB1c2UgdW5pbm9u IGZvciBmZWF0dXJlIEhXIGluZm8gYW5kIG1vdmUgaXRzIGRlY2xhcmF0aW9uIGludG8KICAgICAg J2ZlYXRfbm9kZScgc3RydWN0dXJlLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAg IC0gcmVtb3ZlICdlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdHVyZScgZGVjbGFyZWQgaW4gJ2ZlYXRf b3BzJyBiZWNhdXNlIGl0IGlzCiAgICAgIG5vdCB1c2VmdWwgYWZ0ZXIgdXNpbmcgZmVhdHVyZSBw b2ludGVyIGFycmF5LgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gcmVuYW1l ICdsM19jYXRfaW5mbycgdG8gJ2NhdF9pbmZvJyB0byBiZSB1c2VkIGJ5IGFsbCBDQVQvQ0RQIGZl YXR1cmVzLgogICAgLSByZW1vdmUgJ25yX2ZlYXQnIHdoaWNoIGlzIG9ubHkgZm9yIGEgcmVjb3Jk LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBhZGQgJ2Nvc19udW0nIHRv IHJlY29yZCBob3cgbWFueSBDT1MgcmVnaXN0ZXJzIGFyZSB1c2VkIGJ5IGEgZmVhdHVyZSBpbgog ICAgICBvbmUgdGltZSBhY2Nlc3MuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIHJlcGxhY2UgJ3VpbnQ2NF90JyB0byAndWludDMyX3QnIGZvciBjYm0gdmFsdWUgYmVjYXVz ZSBTRE0gc3BlY2lmaWVzIHRoZQogICAgICBtYXggMzIgYml0cyBmb3IgaXQuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIGFs b25lIHRvIG1vdmUgJ2NwdWlkX2NvdW50X2xlYWYnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBM aXUpClBhdGNoIDU6CiAgICAtIGFkZCBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIHRoZSBmbG93 cy4KICAgIC0gaGFuZGxlIGNwdSBvZmZsaW5lIGFuZCBvbmxpbmUgYWdhaW4gY2FzZSB0byByZWFk IE1TUnMgcmVnaXN0ZXJzIHZhbHVlcwogICAgICBiYWNrIGFuZCBzYXZlIHRoZW0gaW50byBjb3Mg YXJyYXkgdG8gbWFrZSB1c2VyIGNhbiBnZXQgcmVhbCBkYXRhLgogICAgLSBjcmVhdGUgYSBuZXcg cGF0Y2ggYWJvdXQgbW92aW5nICdjcHVpZF9jb3VudF9sZWFmJy4KICAgICAgKHN1Z2dlc3RlZCBi eSBXZWkgTGl1KQogICAgLSBtb2RpZnkgY29tbWVudCB0byBleHBsYWluIHdoeSBub3QgZnJlZSBz b21lIHJlc291cmNlIGluICdmcmVlX2ZlYXR1cmUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBM aXUpCiAgICAtIGltcGxlbWVudCAncHNyX2FsbG9jX2ZlYXRfZW5hYmxlZCcgdG8gY2hlY2sgaWYg YWxsb2NhdGlvbiBmZWF0dXJlIGlzCiAgICAgIGVuYWJsZWQgaW4gY21kbGluZSBhbmQgc29tZSBp bml0aWFsaXphdGlvbiB3b3JrIGRvbmUuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAg IC0gaW1wbGVtZW50ICdjYXRfZGVmYXVsdF92YWwnIHRvIHNldCBkZWZhdWx0IHZhbHVlIGZvciBD QVQgZmVhdHVyZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0gcmVwbGFjZSBm ZWF0dXJlIGxpc3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBhcnJheSBoYW5kbGluZy4KICAgICAgKHN1 Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGltcGxlbWVudCBhIGNvbW1vbiAnY2F0X2luaXRf ZmVhdHVyZScgdG8gcmVwbGFjZSBMMyBDQVQvTDIgQ0FUIHNwZWNpZmljCiAgICAgIGluaXQgZnVu Y3Rpb25zLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gbW9kaWZ5IGNvbW1l bnRzIGZvciBnbG9iYWwgZmVhdHVyZSBub2RlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudHMuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSAnZWxzZScuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAnbnJfZmVhdCcuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRp Y2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hl Y2sgZ2xvYmFsIGZsYWcgd2l0aCBib290IGNwdSBvcGVyYXRpb25zLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgJ2NwdV9pbml0X3dvcmsnIGFuZCBtb3ZlIGNv ZGVzIGludG8gJ3Bzcl9jcHVfaW5pdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIHJlbW92ZSAnY3B1X2Zpbmlfd29yaycgYW5kIG1vdmUgY29kZXMgaW50byAncHNyX2Nw dV9maW5pJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYXNzaWduIHZh bHVlIGZvciAnY29zX251bScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IGNoYW5nZSBhYm91dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpClBhdGNoIDY6CiAgICAtIHJlbmFtZSAnbDNfY2F0X2dldF9jb3NfbWF4 JyB0byAnY2F0X2dldF9jb3NfbWF4JyB0byBjb3ZlciBhbGwgQ0FUL0NEUAogICAgICBmZWF0dXJl cy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlcGxhY2UgZmVhdHVyZSBs aXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQg YnkgUm9nZXIgUGF1KQogICAgLSBpbXBsZW1lbnQgJ3Bzcl9hbGxvY19jb3MnIHRvIG1hdGNoICdw c3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIHVzZSAncHNy X2FsbG9jX2ZlYXRfZW5hYmxlZCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0g Zml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAg LSByZW1vdmUgJ2lubGluZScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdwc3JfY29zX2lkcycgY2hlY2sgaW4gJ3Bz cl9mcmVlX2NvcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDc6CiAg ICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxp bmcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBkZWZpbmUgJ1BTUl9JTkZP X1NJWkUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gZml4IGNvZGluZyBz dHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgYW5kIEphbiBCZXVsaWNo KQogICAgLSB1c2UgJ0FSUkFZX1NJWkUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkK ICAgIC0gcmVuYW1lICdsM19jYXRfZ2V0X2ZlYXRfaW5mbycgdG8gJ2NhdF9nZXRfZmVhdF9pbmZv JyB0byBtYWtlIGl0IGEgY29tbW9uCiAgICAgIGZ1bmN0aW9uIGZvciBib3RoIEwzL0wyIENBVC4K ICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIG1vdmUgY29uc3RhbnQgdG8gdGhl IHJpZ2h0IG9mIGNvbXBhcmlzb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0g cmVtb3ZlIHdyb25nIGNvbW1lbnQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIHJlbmFtZSBtYWNyb3MgdXNlZCBieSBwc3JfZ2V0X2luZm8gdG8gbWFrZSB0aGVtIG1lYW5p bmdmdWwuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSBhc3Np Z25tZW50IGZvciAnUFNSX1NPQ0tFVF9VTktOT1dOJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gcmV0YWluIGJsYW5rIGxpbmUgYWZ0ZXIgJ2Nhc2UgWEVOX1NZU0NUTF9Q U1JfQ0FUX2dldF9sM19pbmZvJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3ZlIGNvbW1vbiBkYXRhIGNoZWNrIGludG8gY29t bW9uIGZ1bmN0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQpQYXRjaCA4Ogog ICAgLSBhZGQgY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiB0aGVyZSBpcyBhbiB1c2VyIHNwYWNl IGludGVyZmFjZS4KICAgIC0gcmVuYW1lICdsM19jYXRfZ2V0X3ZhbCcgdG8gJ2NhdF9nZXRfdmFs JyB0byBjb3ZlciBhbGwgTDMvTDIgQ0FUIGZlYXR1cmVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJv Z2VyIFBhdSkKICAgIC0gcmVwbGFjZSBmZWF0dXJlIGxpc3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBh cnJheSBoYW5kbGluZy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGNoYW5n ZSBwYXJhbWV0ZXIgb2YgJ3Bzcl9nZXQnLiBVc2UgJ3Bzcl9jb3NfaWRzJyBkaXJlY3RseSB0byBy ZXBsYWNlCiAgICAgIGRvbWFpbi4gQWxzbyBkZWNsYXJlIGl0IHRvICdjb25zdCcuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZSBjb2RlIGZsb3cgdG8gcmVtb3Zl ICdwc3JfZ2V0JyBidXQgYWRkICdwc3JfZ2V0X2ZlYXQnIHRvIG1ha2UgY29kZXMKICAgICAgbW9y ZSByZWFzb25hYmxlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2Rp ZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIG1vdmUgY29zIGNoZWNrIGludG8gY29tbW9uIGZ1bmN0aW9uIGJl Y2F1c2UgdGhpcyBjaGVjayBpcyByZXF1aXJlZCBieSBhbGwKICAgICAgZmVhdHVyZXMuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUu CiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3Vp bnQ2NF90JyB0byAndWludDMyX3QnLi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK UGF0Y2ggOToKICAgIC0gdXNlIGdvdG8gc3R5bGUgZXJyb3IgaGFuZGxpbmcgaW4gJ3Bzcl9zZXRf dmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSB1c2UgQVNTRVJUIGZvciBj aGVja2luZyBvbGRfY29zLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUgYW5kIEphbiBCZXVs aWNoKQogICAgLSBmaXggY29kaW5nIHN0eWxlIGlzc3VlLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdl aSBMaXUpCiAgICAtIHJlbmFtZSAnYXNzZW1ibGVfdmFsX2FycmF5JyB0byAnY29tYmluZV92YWxf YXJyYXknIGluIHBlcnZpb3VzIHBhdGNoLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAg ICAtIHVzZSAnc3Bpbl9pc19sb2NrZWQnIHRvIGNoZWNrIHJlZl9sb2NrLgogICAgICAoc3VnZ2Vz dGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gYWRkIGFuIGlucHV0IHBhcmFtZXRlciAnYXJyYXlfbGVu JyBmb3IgJ3dyaXRlX3Bzcl9tc3InLgogICAgLSBjaGVjayAnc29ja2V0X2luZm8nIGFuZCAncHNy X2Nvc19pZHMnIGluIHRoaXMgcGF0Y2guCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZml4IGNvbW1pdCBtZXNzYWdlIHdvcmRzLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgJ2Fzc2VtYmxlX3Zh bF9hcnJheScgdG8gJ2dhdGhlcl92YWxfYXJyYXknLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQogICAgLSBjaGFuZ2UgJ3NldF9uZXdfdmFsX3RvX2FycmF5JyB0byAnaW5zZXJ0X25l d192YWxfdG9fYXJyYXknLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBj aGFuZ2UgcGFyYW1ldGVyICdtJyBvZiAnaW5zZXJ0X25ld192YWxfdG9fYXJyYXknIHRvICduZXdf dmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlICd3cml0 ZV9wc3JfbXNyJyB0byAnd3JpdGVfcHNyX21zcnMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQogICAgLSBjb3JyZWN0IGNvbW1lbnRzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudHMuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkanVzdCBjb25kaXRpb25zIGFmdGVyICdmaW5kX2Nv cycgdG8gc2F2ZSBhIGxldmVsIG9mIGluZGVudGF0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSBhZGQgJ0FTU0VSVCghb2xkX2NvcyB8fCByZWZbb2xkX2Nvc10pJy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBBU1NFUlQoKSBjaGVj ayBpbnRvIGxvY2tlZCByZWdpb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAg ICAtIHJlcGxhY2UgcGFyYW1ldGVyICcqdmFsJyB0byAndmFsW10nIGluIHNvbWUgZnVuY3Rpb25z LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgJ3dyaXRlX3Bz cl9tc3InIHBhcmFtZXRlcnMgdG8gcHJlcGFyZSB0byBvbmx5IHNldCBvbmUgbmV3IHZhbHVlCiAg ICAgIGZvciBvbmUgZmVhdHVyZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gY2hhbmdlcyBhYm91dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkZCBleHBsYW5hdGlvbiBhYm91dCBjb250ZXh0IHN3 aXRjaC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMTA6CiAgICAtIGFk ZCBjb21tZW50cyBhYm91dCBib3VuZGFyeSBjaGVja2luZy4KICAgICAgKHN1Z2dlc3RlZCBieSBX ZWkgTGl1KQogICAgLSByZW5hbWUgJ2Fzc2VtYmxlX3ZhbF9hcnJheScgdG8gJ2NvbWJpbmVfdmFs X2FycmF5JyBpbiBwZXJ2aW91cyBwYXRjaC4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQog ICAgLSByZW5hbWUgJ2wzX2NhdF9nZXRfY29zX251bScgdG8gJ2NhdF9nZXRfY29zX251bScgdG8g Y292ZXIgYWxsIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBS b2dlciBQYXUpCiAgICAtIHJlbmFtZSAnbDNfY2F0X2dldF9vbGRfdmFsJyB0byAnY2F0X2dldF9v bGRfdmFsJyB0byBjb3ZlciBhbGwgTDMvTDIgQ0FUCiAgICAgIGZlYXR1cmVzIGFuZCByZXVzZSBj YXRfZ2V0X3ZhbCBpbiBpdC4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJl cGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAg ICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBtb2RpZnkgcGF0Y2ggdGl0bGUgdG8g aW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IHJlcGxhY2UgJ20nIHRvICduZXdfdmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gbW92ZSBjb3MgY2hlY2sgb3V0c2lkZSBjYWxsYmFjayBmdW5jdGlvbi4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdnZXRfY29zX251bScgY2Fs bGJhY2sgZnVuY3Rpb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNo YW5nZXMgYWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQpQYXRjaCAxMToKICAgIC0gbW9kaWZ5IGNvbW1lbnRzIG9mICdjb21wYXJl X3ZhbCcgdG8gYmUgc2FtZSBhcyBjdXJyZW50IGltcGxlbWVudGF0aW9uLgogICAgICAoc3VnZ2Vz dGVkIGJ5IFdlaSBMaXUpCiAgICAtIGZpeCBpbmRlbnRhdGlvbiBpc3N1ZS4KICAgICAgKHN1Z2dl c3RlZCBieSBXZWkgTGl1KQogICAgLSByZW5hbWUgJ2wzX2NhdF9jb21wYXJlX3ZhbCcgdG8gJ2Nh dF9jb21wYXJlX3ZhbCcgdG8gY292ZXIgYWxsIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4KICAg ICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlbW92ZSBwYXJhbWV0ZXIgJ2ZvdW5k JyBmcm9tICdjYXRfY29tcGFyZV92YWwnIGFuZCBtb2RpZnkgdGhlIHJldHVybgogICAgICB2YWx1 ZXMgdG8gbGV0IGNhbGxlciBrbm93IGlmIHRoZSBpZCBpcyBmb3VuZCBvciBub3QuCiAgICAgIChz dWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGlu ZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBh dSkKICAgIC0gcmVwbGFjZSAnZ2V0X2Nvc19udW0nIHRvICdmZWF0LT5jb3NfbnVtJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZGlyZWN0bHkgdXNlICdjb3NfcmVnX3Zh bFswXScgYXMgZGVmYXVsdCB2YWx1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcgdG8g J3VpbnQzMl90Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMTI6CiAg ICAtIG1vZGlmeSByZXR1cm4gdmFsdWUgb2YgJ3BpY2tfYXZhaWxfY29zJyB0byBtYWtlIGl0IG1v cmUgYWNjdXJhdGUuCiAgICAtIHJlbmFtZSAnbDNfY2F0X2ZpdHNfY29zX21heCcgdG8gJ2NhdF9m aXRzX2Nvc19tYXgnIHRvIGNvdmVyIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1 Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5n IHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1 KQogICAgLSBmaXggY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSBk aXJlY3RseSB1c2UgJ2Nvc19yZWdfdmFsWzBdJyBhcyBkZWZhdWx0IHZhbHVlLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZXBsYWNlICdnZXRfY29zX251bScgdG8gJ2Zl YXQtPmNvc19udW0nLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2Rp ZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMyX3Qn LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQpQYXRjaCAxMzoKICAgIC0gcmVwbGFj ZSBmZWF0dXJlIGxpc3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBhcnJheSBoYW5kbGluZy4KICAgICAg KHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGFkZCAnYXJyYXlfbGVuJyBpbiAnc3RydWN0 IGNvc193cml0ZV9pbmZvJyBhbmQgY2hlY2sgaWYgdmFsIGFycmF5CiAgICAgIGV4Y2VlZHMgaXQu CiAgICAtIG1vZGlmeSAnd3JpdGVfcHNyX21zcicgZmxvdyBvbmx5IHRvIHNldCBvbmUgdmFsdWUg YSB0aW1lLiBObyBuZWVkIHRvCiAgICAgIHNldCB3aG9sZSBmZWF0dXJlIGFycmF5IHZhbHVlcy4K ICAgIC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcgdG8g J3VpbnQzMl90Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMTQ6CiAg ICAtIG1vZGlmeSBjb21taXQgbWVzc2FnZSB0byBkZXNjcmliZSBmbG93IGNsZWFyZXIuCiAgICAt IGhhbmRsZSBjcHUgb2ZmbGluZSBhbmQgb25saW5lIGFnYWluIGNhc2UgdG8gcmVhZCBNU1JzIHJl Z2lzdGVycyB2YWx1ZXMKICAgICAgYmFjayBhbmQgc2F2ZSB0aGVtIGludG8gY29zIGFycmF5IHRv IG1ha2UgdXNlciBjYW4gZ2V0IHJlYWwgZGF0YS4KICAgIC0gbW9kaWZ5IGVycm9yIGhhbmRsaW5n IHByb2Nlc3MgaW4gJ3Bzcl9jcHVfcHJlcGFyZScgdG8gcmVkdWNlIHJlZHVuZGFudAogICAgICBj b2Rlcy4KICAgIC0gbW9kaWZ5ICdnZXRfY2RwX2RhdGEnIGFuZCAnZ2V0X2NkcF9jb2RlJyB0byBt YWtlIHRoZW0gc3RhbmRhcmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IGFuZCBKYW4g QmV1bGljaCkKICAgIC0gZW5jYXBzdWxhdGUgQ0RQIG9wZXJhdGlvbnMgaW50byAnY2F0X2luaXRf ZmVhdHVyZScgdG8gcmVkdWNlIHJlZHVuZGFudAogICAgICBjb2Rlcy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBSb2dlciBQYXUpCiAgICAtIHJldXNlICdjYXRfZ2V0X2Nvc19tYXgnIGZvciBDRFAuCiAg ICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBoYW5kbGUgJ1BTUl9DRFAnIGluIHBz cl9wcmVzbXBfaW5pdCB0byBtYWtlIGluaXQgd29yayBjYW4gYmUgZG9uZSB3aGVuCiAgICAgIHRo ZXJlIGlzIG9ubHkgJ3Bzcj1jZHAnIGluIGNtZGxpbmUuCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2Fy eSBjb21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3ZlIENE UCByZWxhdGVkIGNvZGVzIGluICdjcHVfaW5pdF93b3JrJyBpbnRvICdwc3JfY3B1X2luaXQnLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBhZGQgY29kZXMgdG8gaGFuZGxl IENEUCdzICdjb3NfbnVtJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0g Zml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gZG8gbm90IGZyZWUgcmVzb3VyY2VzIHdoZW4gYWxsb2NhdGlvbiBmYWlscyBpbiAncHNy X2NwdV9wcmVwYXJlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hh bmdlcyBhYm91dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpClBhdGNoIDE1OgogICAgLSBtb2RpZnkgY29tbWl0IG1lc3NhZ2UgdG8gZXhw bGFpbiBmbG93IG1vcmUgY2xlYXJseS4KICAgIC0gcmV1c2UgJ2NhdF9nZXRfZmVhdF9pbmZvJyBm b3IgQ0RQIHRvIHJlZHVjZSByZWR1bmRhbnQgY29kZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9n ZXIgUGF1KQogICAgLSBmaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KICAgICAgKHN1Z2dlc3RlZCBi eSBXZWkgTGl1IGFuZCBSb2dlciBQYXUpCiAgICAtIHJlbmFtZSBtYWNyb3MgdXNlZCBieSBwc3Jf Z2V0X2luZm8gdG8gbWFrZSB0aGVtIG1lYW5pbmdmdWwuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpClBhdGNoIDE2OgogICAgLSBtb2RpZnkgdGhlIHR5cGUgb2YgJ2wzX2NkcF9nZXRf dmFsJyB0byAndm9pZCcuCiAgICAtIGNvcyBjaGVja2luZyBoYXMgYmVlbiBkb25lIGluIGNvbW1v biBmdW5jdGlvbiBzbyByZW1vdmUgcmVsYXRlZCBjb2RlcwogICAgICBpbiBDRFAgY2FsbGJhY2sg ZnVuY3Rpb24uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMg YWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQpQYXRjaCAxNzoKICAgIC0gYWRkIGNvbW1lbnQgdG8gZXhwbGFpbiB3aHkgQ0RQIHVz ZXMgMiBDT1NzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIHVzZSAnY2F0X2Rl ZmF1bHRfdmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSByZW1vdmUgJ2wz X2NkcF9nZXRfY29zX251bScgYmVjYXVzZSB3ZSBjYW4gZGlyZWN0bHkgZ2V0IGNvc19udW0gZnJv bQogICAgICBmZWF0X25vZGUgbm93LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSByZW1vdmUgY29zIGNoZWNraW5nIGJlY2F1c2UgaXQgaGFzIGJlZW4gbW92ZWQgdG8gY29t bW9uIGZ1bmN0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBsM19j ZHBfc2V0X25ld192YWwgcGFyYW1ldGVyICdtJyBpcyBjaGFuZ2VkIHRvICduZXdfdmFsJy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZGlyZWN0bHkgdXNlIGdldF9jZHBf ZGF0YShmZWF0LCAwKSBhbmQgZ2V0X2NkcF9jb2RlKGZlYXQsIDApIHRvIGdldAogICAgICBkZWZh dWx0IHZhbHVlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkg J2wzX2NkcF93cml0ZV9tc3InIGZsb3cgdG8gd3JpdGUgdmFsdWUgaW50byByZWdpc3RlciBhY2Nv cmRpbmcKICAgICAgdG8gaW5wdXQgdHlwZS4KICAgIC0gY2hhbmdlcyBhYm91dCAndWludDY0X3Qn IHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDE4 OgogICAgLSBtb2RpZnkgZXJyb3IgaGFuZGxpbmcgcHJvY2VzcyBpbiAncHNyX2NwdV9wcmVwYXJl JyB0byByZWR1Y2UgcmVkdW5kYW50CiAgICAgIGNvZGVzLgogICAgLSByZXVzZSAnY2F0X2luaXRf ZmVhdHVyZScgYW5kICdjYXRfZ2V0X2Nvc19tYXgnIGZvciBMMiBDQVQgdG8gcmVkdWNlCiAgICAg IHJlZHVuZGFudCBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJl bW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBtb3ZlIEwyIENBVCByZWxhdGVkIGNvZGVzIGZyb20gJ2NwdV9pbml0X3dvcmsnIGlu dG8gJ3Bzcl9jcHVfaW5pdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IGRvIG5vdCBmcmVlIHJlc291cmNlIHdoZW4gYWxsb2NhdGlvbiBmYWlscyBpbiAncHNyX2NwdV9w cmVwYXJlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMTk6CiAgICAt IHJldXNlICdjYXRfZ2V0X2ZlYXRfaW5mbycgZm9yIEwyIENBVCB0byByZWR1Y2UgcmVkdW5kYW50 IGNvZGVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gbW9kaWZ5IHN5c2N0 bCBpbXBsZW1lbnRhdGlvbiBvZiBMMiBDQVQgdG8gaW5wdXQgZGF0YVszXSB0byB1c2UKICAgICAg J2NhdF9nZXRfZmVhdF9pbmZvJy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAt IG1vZGlmeSBtYWNyb3MgbmFtZXMgdG8gbmV3bHkgZGVmaW5lZCBvbmVzLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgJ2wyX2luZm8nIHRvIHJldXNlICdsM19p bmZvJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IG1hY3Jv IG5hbWUgYWNjb3JkaW5nIHRvIHByZXZpb3VzIHBhdGNoIGNoYW5nZS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMjA6CiAgICAtIHJldXNlICdjYXRfZ2V0X3ZhbCcgZm9y IEwyIENBVCB0byByZWR1Y2UgcmVkdW5kYW50IGNvZGVzCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9n ZXIgUGF1KQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcgdG8gJ3VpbnQzMl90Jy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMjE6CiAgICAtIHJldXNlIHNvbWUg Q0FUIGNvbW1vbiBmdW5jdGlvbnMgZm9yIEwyIENBVCB0byByZWR1Y2UgcmVkdW5kYW50IGNvZGVz LgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gcmVtb3ZlIHBhcmFtZXRlciAn Zm91bmQnIGZyb20gJ2NhdF9jb21wYXJlX3ZhbCcgYW5kIG1vZGlmeSB0aGUgcmV0dXJuCiAgICAg IHZhbHVlcyB0byBsZXQgY2FsbGVyIGtub3cgaWYgdGhlIGlkIGlzIGZvdW5kIG9yIG5vdC4gVGhl c2UgdGhpbmdzIGFyZQogICAgICBkb25lIGluIHBhdGNoICJ4ODY6IHJlZmFjdG9yIHBzcjogc2V0 IHZhbHVlOiBpbXBsZW1lbnQgY29zIGZpbmRpbmcgZmxvdy4iCiAgICAgIChzdWdnZXN0ZWQgYnkg Um9nZXIgUGF1IGFuZCBEYXJpbyBGYWdnaW9saSkKICAgIC0gcmVtb3ZlICdnZXRfY29zX251bScg cmVsYXRlZCBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9k aWZ5ICdsMl9jYXRfd3JpdGVfbXNyJyBhY2NvcmRpbmcgdG8gcHJldmlvdXMgcGF0Y2ggY2hhbmdl LgogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcgdG8gJ3VpbnQzMl90Jy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggMjI6CiAgICAtIGFkZCBzb21lIGNhc2VzIHRv IGhhbmRsZSByZXR1cm4gZXJyb3Igbm8uCiAgICAtIG1vdmUgeGxfY21kaW1wbC5jIGNvZGVzIGlu dG8geGwveGxfcHNyLmMuCiAgICAtIGNoYW5nZSAnbDNfaW5mbycgdG8gJ2NhdF9pbmZvJyB0byBj b3ZlciBib3RoIEwzIGFuZCBMMiBDQVQuClBhdGNoIDIzOgogICAgLSBtb3ZlIHhsX2NtZGltcGwu YyBjaGFuZ2VzIGludG8geGwveGxfcHNyLmMuCiAgICAtIG1vdmUgeGxfY21kdGFibGUuYyBjaGFu Z2VzIGludG8geGwveGxfY21kdGFibGUuYy4KUGF0Y2ggMjQ6CiAgICAtIGhhbmRsZSB0aGUgY2Fz ZSB0byBzZXQgYm90aCBDT0RFIGFuZCBEQVRBIGZvciBDRFAgYXQgc2FtZSB0aW1lLgogICAgICBG b3Igc3VjaCBjYXNlLCB1c2VyIGRvZXMgbm90IGlucHV0ICctYycgb3IgJy1kJyB0byBzZXQgQ0RQ IGNibS4KICAgIC0gbW92ZSB4bF9jbWRpbXBsLmMgY2hhbmdlcyBpbnRvIHhsL3hsX3Bzci5jLgog ICAgLSBtb3ZlIHhsX2NtZHRhYmxlLmMgY2hhbmdlcyBpbnRvIHhsL3hsX2NtZHRhYmxlLmMuCgpZ aSBTdW4gKDI1KToKICBkb2NzOiBjcmVhdGUgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5IChD QVQpIGFuZCBDb2RlIGFuZCBEYXRhCiAgICBQcmlvcml0aXphdGlvbiAoQ0RQKSBmZWF0dXJlIGRv Y3VtZW50CiAgeDg2OiByZWZhY3RvciBwc3I6IHJlbW92ZSBMMyBDQVQvQ0RQIGNvZGVzLgogIHg4 NjogcmVmYWN0b3IgcHNyOiBpbXBsZW1lbnQgbWFpbiBkYXRhIHN0cnVjdHVyZXMuCiAgeDg2OiBt b3ZlIGNwdWlkX2NvdW50X2xlYWYgZnJvbSBjcHVpZC5jIHRvIHByb2Nlc3Nvci5oLgogIHg4Njog cmVmYWN0b3IgcHNyOiBMMyBDQVQ6IGltcGxlbWVudCBDUFUgaW5pdCBhbmQgZnJlZSBmbG93Lgog IHg4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IGltcGxlbWVudCBEb21haW4gaW5pdC9mcmVlIGFu ZCBzY2hlZHVsZQogICAgZmxvd3MuCiAgeDg2OiByZWZhY3RvciBwc3I6IEwzIENBVDogaW1wbGVt ZW50IGdldCBodyBpbmZvIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IEwzIENBVDogaW1wbGVt ZW50IGdldCB2YWx1ZSBmbG93LgogIHg4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IHNldCB2YWx1 ZTogaW1wbGVtZW50IGZyYW1ld29yay4KICB4ODY6IHJlZmFjdG9yIHBzcjogTDMgQ0FUOiBzZXQg dmFsdWU6IGFzc2VtYmxlIGZlYXR1cmVzIHZhbHVlIGFycmF5LgogIHg4NjogcmVmYWN0b3IgcHNy OiBMMyBDQVQ6IHNldCB2YWx1ZTogaW1wbGVtZW50IGNvcyBmaW5kaW5nIGZsb3cuCiAgeDg2OiBy ZWZhY3RvciBwc3I6IEwzIENBVDogc2V0IHZhbHVlOiBpbXBsZW1lbnQgY29zIGlkIHBpY2tpbmcg Zmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjogTDMgQ0FUOiBzZXQgdmFsdWU6IGltcGxlbWVudCB3 cml0ZSBtc3IgZmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjogQ0RQOiBpbXBsZW1lbnQgQ1BVIGlu aXQgYW5kIGZyZWUgZmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjogQ0RQOiBpbXBsZW1lbnQgZ2V0 IGh3IGluZm8gZmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjogQ0RQOiBpbXBsZW1lbnQgZ2V0IHZh bHVlIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IENEUDogaW1wbGVtZW50IHNldCB2YWx1ZSBj YWxsYmFjayBmdW5jdGlvbnMuCiAgeDg2OiBMMiBDQVQ6IGltcGxlbWVudCBDUFUgaW5pdCBhbmQg ZnJlZSBmbG93LgogIHg4NjogTDIgQ0FUOiBpbXBsZW1lbnQgZ2V0IGh3IGluZm8gZmxvdy4KICB4 ODY6IEwyIENBVDogaW1wbGVtZW50IGdldCB2YWx1ZSBmbG93LgogIHg4NjogTDIgQ0FUOiBpbXBs ZW1lbnQgc2V0IHZhbHVlIGZsb3cuCiAgdG9vbHM6IEwyIENBVDogc3VwcG9ydCBnZXQgSFcgaW5m byBmb3IgTDIgQ0FULgogIHRvb2xzOiBMMiBDQVQ6IHN1cHBvcnQgc2hvdyBjYm0gZm9yIEwyIENB VC4KICB0b29sczogTDIgQ0FUOiBzdXBwb3J0IHNldCBjYm0gZm9yIEwyIENBVC4KICBkb2NzOiBh ZGQgTDIgQ0FUIGRlc2NyaXB0aW9uIGluIGRvY3MuCgogZG9jcy9mZWF0dXJlcy9pbnRlbF9wc3Jf Y2F0X2NkcC5wYW5kb2MgfCAgNDY5ICsrKysrKysrKysKIGRvY3MvbWFuL3hsLnBvZC4xLmluICAg ICAgICAgICAgICAgICAgIHwgICAyNSArLQogZG9jcy9taXNjL3hsLXBzci5tYXJrZG93biAgICAg ICAgICAgICAgfCAgIDE4ICstCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAg ICB8ICAgIDcgKy0KIHRvb2xzL2xpYnhjL3hjX3Bzci5jICAgICAgICAgICAgICAgICAgIHwgICA0 NSArLQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIHRv b2xzL2xpYnhsL2xpYnhsX3Bzci5jICAgICAgICAgICAgICAgIHwgICA3MCArLQogdG9vbHMvbGli eGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgICAgfCAgICAxICsKIHRvb2xzL3hsL3hsX2NtZHRh YmxlLmMgICAgICAgICAgICAgICAgIHwgICAgNiArLQogdG9vbHMveGwveGxfcHNyLmMgICAgICAg ICAgICAgICAgICAgICAgfCAgMTY4ICsrLS0KIHhlbi9hcmNoL3g4Ni9jcHVpZC5jICAgICAgICAg ICAgICAgICAgIHwgICAgNiAtCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICAgICAg ICB8ICAgNTMgKy0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgICAgICAgICAgICAgIHwgMTQ5 NyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogeGVuL2FyY2gveDg2L3N5c2N0bC5j ICAgICAgICAgICAgICAgICAgfCAgIDU4ICstCiB4ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRl eC5oICAgICAgICB8ICAgIDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCAgICAg ICAgfCAgICA3ICsKIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggICAgICAgICAgICAgIHwgICAy NyArLQogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgICAgICAgICAgfCAgICAyICsKIHhl bi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaCAgICAgICAgICAgIHwgICAgMyArLQogMTkgZmlsZXMg Y2hhbmdlZCwgMjAyNSBpbnNlcnRpb25zKCspLCA0NDcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZG9jcy9mZWF0dXJlcy9pbnRlbF9wc3JfY2F0X2NkcC5wYW5kb2MKCi0tIAoxLjku MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=