From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v2] docs: add PVH specification Date: Thu, 18 Sep 2014 17:27:46 +0200 Message-ID: <1411054066-3677-1-git-send-email-roger.pau@citrix.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.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XUdd0-0002Lv-P1 for xen-devel@lists.xenproject.org; Thu, 18 Sep 2014 15:28:15 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: David Vrabel , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgZG9jdW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGludGVyZmFjZXMgdXNlZCBv biBQVkguIFRoaXMKZG9jdW1lbnQgaGFzIGJlZW4gZGVzaWduZWQgZnJvbSBhIGd1ZXN0IE9TIHBv aW50IG9mIHZpZXcgKGkuZS46IHdoYXQgYSBndWVzdApuZWVkcyB0byBkbyBpbiBvcmRlciB0byBz dXBwb3J0IFBWSCkuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA Y2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ2M6IE11a2Vz aCBSYXRob3IgPG11a2VzaC5yYXRob3JAb3JhY2xlLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsg V2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IERhdmlkIFZyYWJlbCA8ZGF2aWQudnJh YmVsQGNpdHJpeC5jb20+Ci0tLQpUaGUgZG9jdW1lbnQgaXMgc3RpbGwgZmFyIGZyb20gY29tcGxl dGUgSU1ITywgYnV0IGl0IG1pZ2h0IGJlIGJlc3QgdG8ganVzdApjb21taXQgd2hhdCB3ZSBjdXJy ZW50bHkgaGF2ZSByYXRoZXIgdGhhbiB3YWl0IGZvciBhIGZ1bGwgZG9jdW1lbnQuCgpJIHdpbGwg dHJ5IHRvIGZpbGwgdGhlIGdhcHMgYXMgSSBnbyBpbXBsZW1lbnRpbmcgbmV3IGZlYXR1cmVzIG9u IEZyZWVCU0QuCi0tLQogZG9jcy9taXNjL3B2aC5tYXJrZG93biB8IDM2OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMzY5 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL21pc2MvcHZoLm1hcmtkb3du CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3B2aC5tYXJrZG93biBiL2RvY3MvbWlzYy9wdmgubWFy a2Rvd24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYwNzVjNAotLS0gL2Rl di9udWxsCisrKyBiL2RvY3MvbWlzYy9wdmgubWFya2Rvd24KQEAgLTAsMCArMSwzNjkgQEAKKyMg UFZIIFNwZWNpZmljYXRpb24gIworCisjIyBSYXRpb25hbGUgIyMKKworUFZIIGlzIGEgbmV3IGtp bmQgb2YgZ3Vlc3QgdGhhdCBoYXMgYmVlbiBpbnRyb2R1Y2VkIG9uIFhlbiA0LjQgYXMgYSBEb21V LCBhbmQKK29uIFhlbiA0LjUgYXMgYSBEb20wLiBUaGUgYWltIG9mIFBWSCBpcyB0byBtYWtlIHVz ZSBvZiB0aGUgaGFyZHdhcmUKK3ZpcnR1YWxpemF0aW9uIGV4dGVuc2lvbnMgcHJlc2VudCBpbiBt b2Rlcm4geDg2IENQVXMgaW4gb3JkZXIgdG8KK2ltcHJvdmUgcGVyZm9ybWFuY2UuCisKK1BWSCBp cyBjb25zaWRlcmVkIGEgbWl4IGJldHdlZW4gUFYgYW5kIEhWTSwgYW5kIGNhbiBiZSBzZWVuIGFz IGEgUFYgZ3Vlc3QKK3RoYXQgcnVucyBpbnNpZGUgb2YgYW4gSFZNIGNvbnRhaW5lciwgb3IgYXMg YSBQVkhWTSBndWVzdCB3aXRob3V0IGFueSBlbXVsYXRlZAorZGV2aWNlcy4gVGhlIGRlc2lnbiBn b2FsIG9mIFBWSCBpcyB0byBwcm92aWRlIHRoZSBiZXN0IHBlcmZvcm1hbmNlIHBvc3NpYmxlIGFu ZAordG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgbW9kaWZpY2F0aW9ucyBuZWVkZWQgZm9yIGEgZ3Vl c3QgT1MgdG8gcnVuIGluIHRoaXMgbW9kZQorKGNvbXBhcmVkIHRvIHB1cmUgUFYpLgorCitUaGlz IGRvY3VtZW50IHRyaWVzIHRvIGRlc2NyaWJlIHRoZSBpbnRlcmZhY2VzIHVzZWQgYnkgUFZIIGd1 ZXN0cywgZm9jdXNpbmcKK29uIGhvdyBhbiBPUyBzaG91bGQgbWFrZSB1c2Ugb2YgdGhlbSBpbiBv cmRlciB0byBzdXBwb3J0IFBWSC4KKworIyMgRWFybHkgYm9vdCAjIworCitQVkggZ3Vlc3RzIHVz ZSB0aGUgUFYgYm9vdCBtZWNoYW5pc20sIHRoYXQgbWVhbnMgdGhhdCB0aGUga2VybmVsIGlzIGxv YWRlZCBhbmQKK2RpcmVjdGx5IGxhdW5jaGVkIGJ5IFhlbiAoYnkganVtcGluZyBpbnRvIHRoZSBl bnRyeSBwb2ludCkuIEluIG9yZGVyIHRvIGRvIHRoaXMKK1hlbiBFTEYgTm90ZXMgbmVlZCB0byBi ZSBhZGRlZCB0byB0aGUgZ3Vlc3Qga2VybmVsLCBzbyB0aGF0IHRoZXkgY29udGFpbiB0aGUKK2lu Zm9ybWF0aW9uIG5lZWRlZCBieSBYZW4uIEhlcmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgRUxGIE5v dGVzIGFkZGVkIHRvIHRoZQorRnJlZUJTRCBhbWQ2NCBrZXJuZWwgaW4gb3JkZXIgdG8gYm9vdCBh cyBQVkg6CisKKyAgICBFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfR1VFU1RfT1MsICAgICAgIC5h c2NpeiwgIkZyZWVCU0QiKQorICAgIEVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9HVUVTVF9WRVJT SU9OLCAgLmFzY2l6LCBfX1hTVFJJTkcoX19GcmVlQlNEX3ZlcnNpb24pKQorICAgIEVMRk5PVEUo WGVuLCBYRU5fRUxGTk9URV9YRU5fVkVSU0lPTiwgICAgLmFzY2l6LCAieGVuLTMuMCIpCisgICAg RUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX1ZJUlRfQkFTRSwgICAgICAucXVhZCwgIEtFUk5CQVNF KQorICAgIEVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9QQUREUl9PRkZTRVQsICAgLnF1YWQsICBL RVJOQkFTRSkKKyAgICBFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfRU5UUlksICAgICAgICAgIC5x dWFkLCAgeGVuX3N0YXJ0KQorICAgIEVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9IWVBFUkNBTExf UEFHRSwgLnF1YWQsICBoeXBlcmNhbGxfcGFnZSkKKyAgICBFTEZOT1RFKFhlbiwgWEVOX0VMRk5P VEVfSFZfU1RBUlRfTE9XLCAgIC5xdWFkLCAgSFlQRVJWSVNPUl9WSVJUX1NUQVJUKQorICAgIEVM Rk5PVEUoWGVuLCBYRU5fRUxGTk9URV9GRUFUVVJFUywgICAgICAgLmFzY2l6LCAid3JpdGFibGVf ZGVzY3JpcHRvcl90YWJsZXN8YXV0b190cmFuc2xhdGVkX3BoeXNtYXB8c3VwZXJ2aXNvcl9tb2Rl X2tlcm5lbHxodm1fY2FsbGJhY2tfdmVjdG9yIikKKyAgICBFTEZOT1RFKFhlbiwgWEVOX0VMRk5P VEVfUEFFX01PREUsICAgICAgIC5hc2NpeiwgInllcyIpCisgICAgRUxGTk9URShYZW4sIFhFTl9F TEZOT1RFX0wxX01GTl9WQUxJRCwgICAubG9uZywgIFBHX1YsIFBHX1YpCisgICAgRUxGTk9URShY ZW4sIFhFTl9FTEZOT1RFX0xPQURFUiwgICAgICAgICAuYXNjaXosICJnZW5lcmljIikKKyAgICBF TEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfU1VTUEVORF9DQU5DRUwsIC5sb25nLCAgMCkKKyAgICBF TEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfQlNEX1NZTVRBQiwgICAgIC5hc2NpeiwgInllcyIpCisK K09uIHRoZSBsaW51eCBzaWRlLCB0aGUgYWJvdmUgY2FuIGJlIGZvdW5kIGluIGBhcmNoL3g4Ni94 ZW4veGVuLWhlYWQuU2AuCisKK0l0IGlzIGltcG9ydGFudCB0byBoaWdobGlnaHQgdGhlIGZvbGxv d2luZyBub3RlczoKKworICAqIGBYRU5fRUxGTk9URV9FTlRSWWA6IGNvbnRhaW5zIHRoZSB2aXJ0 dWFsIG1lbW9yeSBhZGRyZXNzIG9mIHRoZSBrZXJuZWwgZW50cnkKKyAgICBwb2ludC4KKyAgKiBg WEVOX0VMRk5PVEVfSFlQRVJDQUxMX1BBR0VgOiBjb250YWlucyB0aGUgdmlydHVhbCBtZW1vcnkg YWRkcmVzcyBvZiB0aGUKKyAgICBoeXBlcmNhbCBwYWdlIGluc2lkZSBvZiB0aGUgZ3Vlc3Qga2Vy bmVsICh0aGlzIG1lbW9yeSByZWdpb24gd2lsbCBiZSBmaWxsZWQKKyAgICBieSBYZW4gcHJpb3Ig dG8gYm9vdGluZykuCisgICogYFhFTl9FTEZOT1RFX0ZFQVRVUkVTYDogY29udGFpbnMgdGhlIGxp c3Qgb2YgZmVhdHVyZXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwuCisgICAgSW4gdGhlIGV4YW1w bGUgYWJvdmUgdGhlIGtlcm5lbCBpcyBvbmx5IGFibGUgdG8gYm9vdCBhcyBhIFBWSCBndWVzdCwg YnV0CisgICAgdGhvc2Ugb3B0aW9ucyBjYW4gYmUgbWl4ZWQgd2l0aCB0aGUgb25lcyB1c2VkIGJ5 IHB1cmUgUFYgZ3Vlc3RzIGluIG9yZGVyIHRvCisgICAgaGF2ZSBhIGtlcm5lbCB0aGF0IHN1cHBv cnRzIGJvdGggUFYgYW5kIFBWSCAobGlrZSBMaW51eCkuIFRoZSBsaXN0IG9mCisgICAgb3B0aW9u cyBhdmFpbGFibGUgY2FuIGJlIGZvdW5kIGluIHRoZSBgZmVhdHVyZXMuaGAgcHVibGljIGhlYWRl ci4KKworWGVuIHdpbGwganVtcCBpbnRvIHRoZSBrZXJuZWwgZW50cnkgcG9pbnQgZGVmaW5lZCBp biBgWEVOX0VMRk5PVEVfRU5UUllgIHdpdGgKK3BhZ2luZyBlbmFibGVkIChlaXRoZXIgbG9uZyBt b2RlIG9yIHByb3RlY3RlZCBtb2RlIHdpdGggcGFnaW5nIHR1cm5lZCBvbgorZGVwZW5kaW5nIG9u IHRoZSBrZXJuZWwgYml0bmVzcykgYW5kIHNvbWUgYmFzaWMgcGFnZSB0YWJsZXMgc2V0dXAuIEFu IGltcG9ydGFudAorZGlzdGluY3Rpb24gZm9yIGEgNjRiaXQgUFZIIGlzIHRoYXQgaXQgaXMgbGF1 bmNoZWQgYXQgcHJpdmlsZWdlIGxldmVsIDAgYXMKK29wcG9zZWQgdG8gYSA2NGJpdCBQViBndWVz dCB3aGljaCBpcyBsYXVuY2hlZCBhdCBwcml2aWxlZ2UgbGV2ZWwgMy4KKworQWxzbywgdGhlIGBy c2lgIChgZXNpYCBvbiAzMmJpdHMpIHJlZ2lzdGVyIGlzIGdvaW5nIHRvIGNvbnRhaW4gdGhlIHZp cnR1YWwKK21lbW9yeSBhZGRyZXNzIHdlcmUgWGVuIGhhcyBwbGFjZWQgdGhlIGBzdGFydF9pbmZv YCBzdHJ1Y3R1cmUuIFRoZSBgcnNwYCAoYGVzcGAKK29uIDMyYml0cykgd2lsbCBwb2ludCB0byB0 aGUgdG9wIG9mIGFuIGluaXRpYWwgc2luZ2xlIHBhZ2Ugc3RhY2ssIHRoYXQgY2FuIGJlCit1c2Vk IGJ5IHRoZSBndWVzdCBrZXJuZWwuIFRoZSBgc3RhcnRfaW5mb2Agc3RydWN0dXJlIGNvbnRhaW5z IGFsbCB0aGUgaW5mbyB0aGUKK2d1ZXN0IG5lZWRzIGluIG9yZGVyIHRvIGluaXRpYWxpemUuIE1v cmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnRlbnRzIGNhbiBiZQorZm91bmQgb24gdGhlIGB4 ZW4uaGAgcHVibGljIGhlYWRlci4KKworIyMjIEluaXRpYWwgYW1kNjQgY29udHJvbCByZWdpc3Rl cnMgdmFsdWVzICMjIworCitJbml0aWFsIHZhbHVlcyBmb3IgdGhlIGNvbnRyb2wgcmVnaXN0ZXJz IGFyZSBzZXQgdXAgYnkgWGVuIGJlZm9yZSBib290aW5nIHRoZQorZ3Vlc3Qga2VybmVsLiBUaGUg Z3Vlc3Qga2VybmVsIGNhbiBleHBlY3QgdG8gZmluZCB0aGUgZm9sbG93aW5nIGZlYXR1cmVzCitl bmFibGVkIGJ5IFhlbi4KKworYENSMGAgaGFzIHRoZSBmb2xsb3dpbmcgYml0cyBzZXQgYnkgWGVu OgorCisgICogUEUgKGJpdCAwKTogcHJvdGVjdGVkIG1vZGUgZW5hYmxlLgorICAqIEVUIChiaXQg NCk6IDM4NyBvciBuZXdlciBwcm9jZXNzb3IuCisgICogUEcgKGJpdCAzMSk6IHBhZ2luZyBlbmFi bGVkLgorCitgQ1I0YCBoYXMgdGhlIGZvbGxvd2luZyBiaXRzIHNldCBieSBYZW46CisKKyAgKiBQ QUUgKGJpdCA1KTogUEFFIGVuYWJsZWQuCisKK0FuZCBmaW5hbGx5IGluIGBFRkVSYCB0aGUgZm9s bG93aW5nIGZlYXR1cmVzIGFyZSBlbmFibGVkOgorCisgICogTE1FIChiaXQgOCk6IExvbmcgbW9k ZSBlbmFibGUuCisgICogTE1BIChiaXQgMTApOiBMb25nIG1vZGUgYWN0aXZlLgorCitBdCBsZWFz dCB0aGUgZm9sbG93aW5nIGZsYWdzIGluIGBFRkVSYCBhcmUgZ3VhcmFudGVlZCB0byBiZSBkaXNh YmxlZDoKKworICAqIFNDRSAoYml0IDApOiBTeXN0ZW0gY2FsbCBleHRlbnNpb25zIGRpc2FibGVk LgorICAqIE5YRSAoYml0IDExKTogTm8tRXhlY3V0ZSBkaXNhYmxlZC4KKworVGhlcmUncyBubyBn dWFyYW50ZWUgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSBvdGhlciBiaXRzIGluIHRoZSBgRUZFUmAg cmVnaXN0ZXIuCisKK0FsbCB0aGUgc2VnbWVudHMgc2VsZWN0b3JzIGFyZSBzZXQgd2l0aCBhIGZs YXQgYmFzZSBhdCB6ZXJvLgorCitUaGUgYGNzYCBzZWdtZW50IHNlbGVjdG9yIGF0dHJpYnV0ZXMg YXJlIHNldCB0byAweDBhMDliLCB3aGljaCBkZXNjcmliZXMgYW4KK2V4ZWN1dGFibGUgYW5kIHJl YWRhYmxlIGNvZGUgc2VnbWVudCBvbmx5IGFjY2Vzc2libGUgYnkgdGhlIG1vc3QgcHJpdmlsZWdl ZAorbGV2ZWwuIFRoZSBzZWdtZW50IGlzIGFsc28gc2V0IGFzIGEgNjQtYml0IGNvZGUgc2VnbWVu dCAoYExgIGZsYWcgc2V0KSB3aXRoIGEKK2RlZmF1bHQgb3BlcmF0aW9uIHNpemUgb2YgMTZiaXRz IChgRGAgZmxhZyB1bnNldCkuCisKK1RoZSByZW1haW5pbmcgc2VnbWVudCBzZWxlY3RvcnMgKGBk c2AsIGBzc2AsIGBlc2AsIGBmc2AgYW5kIGBnc2ApIGFyZSBhbGwgc2V0Cit0byB0aGUgc2FtZSB2 YWx1ZXMuIFRoZSBhdHRyaWJ1dGVzIGFyZSBzZXQgdG8gMHgwYzA5Mywgd2hpY2ggaW1wbGllcyBh IHJlYWQgYW5kCit3cml0ZSBkYXRhIHNlZ21lbnQgb25seSBhY2Nlc3NpYmxlIGJ5IHRoZSBtb3N0 IHByaXZpbGVnZWQgbGV2ZWwuIEl0IGlzIGltcG9ydGFudAordG8gbm90aWNlIHRoYXQgZm9yIHRo ZSBgc3NgIHNlbGVjdG9yIHRoZSBzdGFjayBpcyBzZXQgdG8gdXNlIGEgMzJiaXQgcG9pbnRlcgor KGBCYCBmbGFnIHNldCkuCisKK1RoZSBgRlMuYmFzZWAgYW5kIGBHUy5iYXNlYCBNU1JzIGFyZSB6 ZXJvZWQgb3V0LgorCitUaGUgYElEVGAgYW5kIGBHRFRgIGFyZSBhbHNvIHplcm9lZCwgc28gdGhl IGd1ZXN0IG11c3QgYmUgc3BlY2lhbGx5IGNhcmVmdWwgdG8KK25vdCB0cmlnZ2VyIGEgZmF1bHQg dW50aWwgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gcHJvcGVybHkgc2V0LiBUaGUgd2F5IG9mIHNldHRp bmcKK3RoZSBJRFQgYW5kIHRoZSBHRFQgaXMgdXNpbmcgdGhlIG5hdGl2ZSBpbnN0cnVjdGlvbnMg YXMgd291bGQgYmUgZG9uZSBvbiBiYXJlCittZXRhbC4KKworVGhlIGBSRkxBR1NgIHJlZ2lzdGVy IGlzIGd1YXJhbnRlZWQgdG8gYmUgY2xlYXIgd2hlbiBqdW1waW5nIGludG8gdGhlIGtlcm5lbAor ZW50cnkgcG9pbnQuCisKKyMjIE1lbW9yeSAjIworCitTaW5jZSBQVkggZ3Vlc3RzIHJlbHkgb24g dmlydHVhbGl6YXRpb24gZXh0ZW5zaW9ucyBwcm92aWRlZCBieSB0aGUgQ1BVLCB0aGV5CitoYXZl IGFjY2VzcyB0byBhIGhhcmR3YXJlIHZpcnR1YWxpemVkIE1NVSwgd2hpY2ggbWVhbnMgcGFnZS10 YWJsZSByZWxhdGVkCitvcGVyYXRpb25zIHNob3VsZCB1c2UgdGhlIHNhbWUgaW5zdHJ1Y3Rpb25z IHVzZWQgb24gbmF0aXZlLgorCitUaGVyZSBhcmUgaG93ZXZlciBzb21lIGRpZmZlcmVuY2VzIHdp dGggbmF0aXZlLiBUaGUgdXNhZ2Ugb2YgbmF0aXZlIE1UUlIKK29wZXJhdGlvbnMgaXMgZm9yYmlk ZGVuLCBhbmQgYFhFTlBGXypfbWVtdHlwZWAgaHlwZXJjYWxscyBzaG91bGQgYmUgdXNlZAoraW5z dGVhZC4gVGhpcyBjYW4gYmUgYXZvaWRlZCBieSBzaW1wbHkgbm90IHVzaW5nIE1UUlIgYW5kIHNl dHRpbmcgYWxsIHRoZQorbWVtb3J5IGF0dHJpYnV0ZXMgdXNpbmcgUEFULCB3aGljaCBkb2Vzbid0 IHJlcXVpcmUgdGhlIHVzYWdlIG9mIGFueSBoeXBlcmNhbGxzLgorCitTaW5jZSBQVkggZG9lc24n dCB1c2UgYSBCSU9TIGluIG9yZGVyIHRvIGJvb3QsIHRoZSBwaHlzaWNhbCBtZW1vcnkgbWFwIGhh cwordG8gYmUgcmV0cmlldmVkIHVzaW5nIHRoZSBgWEVOTUVNX21lbW9yeV9tYXBgIGh5cGVyY2Fs bCwgd2hpY2ggd2lsbCByZXR1cm4KK2FuIGU4MjAgbWFwLiBUaGlzIG1lbW9yeSBtYXAgbWlnaHQg Y29udGFpbiBob2xlcyB0aGF0IGRlc2NyaWJlIE1NSU8gcmVnaW9ucywKK3RoYXQgd2lsbCBiZSBh bHJlYWR5IHNldHVwIGJ5IFhlbi4KKworKlRPRE8qOiB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hh dCB0byBkbyB3aXRoIE1NSU8gcmVnaW9ucywgcmlnaHQgbm93IFhlbgorc2V0cyBhbGwgdGhlIGhv bGVzIGluIHRoZSBuYXRpdmUgZTgyMCB0byBNTUlPIHJlZ2lvbnMgZm9yIERvbTAgdXAgdG8gNEdC LiBXZQorbmVlZCB0byBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIE1NSU8gcmVnaW9ucyBhYm92ZSA0 R0Igb24gRG9tMCwgYW5kIHdoYXQgdG8gZG8KK2ZvciBQVkggRG9tVXMgd2l0aCBwY2ktcGFzc3Ro cm91Z2guCisKK0luIHRoZSBjYXNlIG9mIGEgZ3Vlc3Qgc3RhcnRlZCB3aXRoIG1lbW9yeSAhPSBt YXhtZW0sIHRoZSBlODIwIG1lbW9yeSBtYXAKK3JldHVybmVkIGJ5IFhlbiB3aWxsIGNvbnRhaW4g dGhlIG1lbW9yeSB1cCB0byBtYXhtZW0uIFRoZSBndWVzdCBoYXMgdG8gYmUgdmVyeQorY2FyZWZ1 bCB0byBvbmx5IHVzZSB0aGUgbG93ZXIgbWVtb3J5IHBhZ2VzIHVwIHRvIHRoZSB2YWx1ZSBjb250 YWluZWQgaW4KK2BzdGFydF9pbmZvLT5ucl9wYWdlc2AgYmVjYXVzZSBhbnkgbWVtb3J5IHBhZ2Ug YWJvdmUgdGhhdCB2YWx1ZSB3aWxsIG5vdCBiZQorcG9wdWxhdGVkLgorCisjIyBQaHlzaWNhbCBk ZXZpY2VzICMjCisKK1doZW4gcnVubmluZyBhcyBEb20wIHRoZSBndWVzdCBPUyBoYXMgdGhlIGFi aWxpdHkgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgcGh5c2ljYWwKK2RldmljZXMgcHJlc2VudCBpbiB0 aGUgc3lzdGVtLiBBIG5vdGUgc2hvdWxkIGJlIG1hZGUgdGhhdCBQVkggZ3Vlc3RzIHJlcXVpcmUK K2Egd29ya2luZyBJT01NVSBpbiBvcmRlciB0byBpbnRlcmFjdCB3aXRoIHBoeXNpY2FsIGRldmlj ZXMuCisKK1RoZSBmaXJzdCBzdGVwIGluIG9yZGVyIHRvIG1hbmlwdWxhdGUgdGhlIGRldmljZXMg aXMgdG8gbWFrZSBYZW4gYXdhcmUgb2YKK3RoZW0uIER1ZSB0byB0aGUgZmFjdCB0aGF0IGFsbCB0 aGUgaGFyZHdhcmUgZGVzY3JpcHRpb24gb24geDg2IGNvbWVzIGZyb20KK0FDUEksIERvbTAgaXMg cmVzcG9uc2libGUgb2YgcGFyc2luZyB0aGUgQUNQSSB0YWJsZXMgYW5kIG5vdGlmeSBYZW4gYWJv dXQgdGhlCitkZXZpY2VzIGl0IGZpbmRzLiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgYFBIWVNERVZP UF9wY2lfZGV2aWNlX2FkZGAgaHlwZXJjYWxsLgorCisqVE9ETyo6IGV4cGxhaW4gdGhlIHdheSB0 byByZWdpc3RlciB0aGUgZGlmZmVyZW50IGtpbmRzIG9mIFBDSSBkZXZpY2VzLCBsaWtlCitkZXZp Y2VzIHdpdGggdmlydHVhbCBmdW5jdGlvbnMuCisKKyMjIEludGVycnVwdHMgIyMKKworQWxsIGlu dGVycnVwdHMgb24gUFZIIGd1ZXN0cyBhcmUgcm91dGVkIG92ZXIgZXZlbnQgY2hhbm5lbHMsIHNl ZQorW0V2ZW50IENoYW5uZWwgSW50ZXJuYWxzXVtldmVudF9jaGFubmVsc10gZm9yIG1vcmUgZGV0 YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQKK2V2ZW50IGNoYW5uZWxzLiBJbiBvcmRlciB0byBpbmpl Y3QgaW50ZXJydXB0cyBpbnRvIHRoZSBndWVzdCBhbiBJRFQgdmVjdG9yIGlzCit1c2VkLiBUaGlz IGlzIHRoZSBzYW1lIG1lY2hhbmlzbSB1c2VkIG9uIFBWSFZNIGd1ZXN0cywgYW5kIGFsbG93cyBo YXZpbmcKK3Blci1jcHUgaW50ZXJydXB0cyB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlbGl2ZXIgdGlt ZXJzIG9yIElQSXMuCisKK0luIG9yZGVyIHRvIHJlZ2lzdGVyIHRoZSBjYWxsYmFjayBJRFQgdmVj dG9yIHRoZSBgSFZNT1Bfc2V0X3BhcmFtYCBoeXBlcmNhbGwKK2lzIHVzZWQgd2l0aCB0aGUgZm9s bG93aW5nIHZhbHVlczoKKworICAgIGRvbWlkID0gRE9NSURfU0VMRgorICAgIGluZGV4ID0gSFZN X1BBUkFNX0NBTExCQUNLX0lSUQorICAgIHZhbHVlID0gKDB4MiA8PCA1NikgfCB2ZWN0b3JfdmFs dWUKKworSW4gb3JkZXIgdG8ga25vdyB3aGljaCBldmVudCBjaGFubmVsIGhhcyBmaXJlZCwgd2Ug bmVlZCB0byBsb29rIGludG8gdGhlCitpbmZvcm1hdGlvbiBwcm92aWRlZCBpbiB0aGUgYHNoYXJl ZF9pbmZvYCBzdHJ1Y3R1cmUuIFRoZSBgZXZ0Y2huX3BlbmRpbmdgCithcnJheSBpcyB1c2VkIGFz IGEgYml0bWFwIGluIG9yZGVyIHRvIGZpbmQgb3V0IHdoaWNoIGV2ZW50IGNoYW5uZWwgaGFzCitm aXJlZC4gRXZlbnQgY2hhbm5lbHMgY2FuIGFsc28gYmUgbWFza2VkIGJ5IHNldHRpbmcgaXQncyBw b3J0IHZhbHVlIGluIHRoZQorYHNoYXJlZF9pbmZvLT5ldnRjaG5fbWFza2AgYml0bWFwLgorCisj IyMgSW50ZXJydXB0cyBmcm9tIHBoeXNpY2FsIGRldmljZXMgIyMjCisKK1doZW4gcnVubmluZyBh cyBEb20wIChvciB3aGVuIHVzaW5nIHBjaS1wYXNzdGhyb3VnaCkgaW50ZXJydXB0cyBmcm9tIHBo eXNpY2FsCitkZXZpY2VzIGFyZSByb3V0ZWQgb3ZlciBldmVudCBjaGFubmVscy4gVGhlcmUgYXJl IDMgZGlmZmVyZW50IGtpbmQgb2YKK3BoeXNpY2FsIGludGVycnVwdHMgdGhhdCBjYW4gYmUgcm91 dGVkIG92ZXIgZXZlbnQgY2hhbm5lbHMgYnkgWGVuOiBJTyBBUElDLAorTVNJIGFuZCBNU0ktWCBp bnRlcnJ1cHRzLgorCitTaW5jZSBwaHlzaWNhbCBpbnRlcnJ1cHRzIHVzdWFsbHkgbmVlZCBFT0kg KEVuZCBPZiBJbnRlcnJ1cHQpLCBYZW4gYWxsb3dzIHRoZQorcmVnaXN0cmF0aW9uIG9mIGEgbWVt b3J5IHJlZ2lvbiB0aGF0IHdpbGwgY29udGFpbiB3aGV0aGVyIGEgcGh5c2ljYWwgaW50ZXJydXB0 CituZWVkcyBFT0kgZnJvbSB0aGUgZ3Vlc3Qgb3Igbm90LiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUK K2BQSFlTREVWT1BfcGlycV9lb2lfZ21mbl92MmAgaHlwZXJjYWxsIHRoYXQgdGFrZXMgYSBwYXJh bWV0ZXIgY29udGFpbmluZyB0aGUKK3BoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSBwYWdl IHRoYXQgd2lsbCBhY3QgYXMgYSBiaXRtYXAuIFRoZW4gaW4gb3JkZXIgdG8KK2ZpbmQgb3V0IGlm IGFuIElSUSBuZWVkcyBFT0kgb3Igbm90LCB0aGUgT1MgY2FuIHBlcmZvcm0gYSBzaW1wbGUgYml0 IHRlc3Qgb24gdGhlCittZW1vcnkgcGFnZSB1c2luZyB0aGUgUElSUSB2YWx1ZS4KKworIyMjIElP IEFQSUMgaW50ZXJydXB0IHJvdXRpbmcgIyMjCisKK0lPIEFQSUMgaW50ZXJydXB0cyBjYW4gYmUg cm91dGVkIG92ZXIgZXZlbnQgY2hhbm5lbHMgdXNpbmcgYFBIWVNERVZPUGAKK2h5cGVyY2FsbHMu IEZpcnN0IHRoZSBJUlEgaXMgcmVnaXN0ZXJlZCB1c2luZyB0aGUgYFBIWVNERVZPUF9tYXBfcGly cWAKK2h5cGVyY2FsbCwgYXMgYW4gZXhhbXBsZSBJUlEjOSBpcyB1c2VkIGhlcmU6CisKKyAgICBk b21pZCA9IERPTUlEX1NFTEYKKyAgICB0eXBlID0gTUFQX1BJUlFfVFlQRV9HU0kKKyAgICBpbmRl eCA9IDkKKyAgICBwaXJxID0gOQorCitUaGUgSVJRIzkgaXMgbm93IHJlZ2lzdGVyZWQgYXMgUElS USM5LiBUaGUgdHJpZ2dlcmluZyBhbmQgcG9sYXJpdHkgY2FuIGFsc28KK2JlIGNvbmZpZ3VyZWQg dXNpbmcgdGhlIGBQSFlTREVWT1Bfc2V0dXBfZ3NpYCBoeXBlcmNhbGw6CisKKyAgICBnc2kgPSA5 ICMgVGhpcyBpcyB0aGUgSVJRIHZhbHVlLgorICAgIHRyaWdnZXJpbmcgPSAwCisgICAgcG9sYXJp dHkgPSAwCisKK0luIHRoaXMgZXhhbXBsZSB0aGUgSVJRIHdvdWxkIGJlIGNvbmZpZ3VyZWQgdG8g dXNlIGVkZ2UgdHJpZ2dlcmluZyBhbmQgaGlnaAorcG9sYXJpdHkuCisKK0ZpbmFsbHkgdGhlIFBJ UlEgY2FuIGJlIGJvdW5kIHRvIGFuIGV2ZW50IGNoYW5uZWwgdXNpbmcgdGhlCitgRVZUQ0hOT1Bf YmluZF9waXJxYCwgdGhhdCB3aWxsIHJldHVybiB0aGUgZXZlbnQgY2hhbm5lbCBwb3J0IHRoZSBQ SVJRIGhhcyBiZWVuCithc3NpZ25lZC4gQWZ0ZXIgdGhpcyB0aGUgZXZlbnQgY2hhbm5lbCB3aWxs IGJlIHJlYWR5IGZvciBkZWxpdmVyeS4KKworKk5PVEUqOiB3aGVuIHJ1bm5pbmcgYXMgRG9tMCwg dGhlIGd1ZXN0IGhhcyB0byBwYXJzZSB0aGUgaW50ZXJydXB0IG92ZXJyaWRlcworZm91bmQgb24g dGhlIEFDUEkgdGFibGVzIGFuZCBub3RpZnkgWGVuIGFib3V0IHRoZW0uCisKKyMjIyBNU0kgIyMj CisKK0luIG9yZGVyIHRvIGNvbmZpZ3VyZSBNU0kgaW50ZXJydXB0cyBmb3IgYSBkZXZpY2UsIFhl biBtdXN0IGJlIG1hZGUgYXdhcmUgb2YKK2l0J3MgcHJlc2VuY2UgZmlyc3QgYnkgdXNpbmcgdGhl IGBQSFlTREVWT1BfcGNpX2RldmljZV9hZGRgIGFzIGRlc2NyaWJlZCBhYm92ZS4KK1RoZW4gdGhl IGBQSFlTREVWT1BfbWFwX3BpcnFgIGh5cGVyY2FsbCBpcyB1c2VkOgorCisgICAgZG9taWQgPSBE T01JRF9TRUxGCisgICAgdHlwZSA9IE1BUF9QSVJRX1RZUEVfTVNJX1NFRyBvciBNQVBfUElSUV9U WVBFX01VTFRJX01TSQorICAgIGluZGV4ID0gLTEKKyAgICBwaXJxID0gLTEKKyAgICBidXMgPSBw Y2lfZGV2aWNlX2J1cworICAgIGRldmZuID0gcGNpX2RldmljZV9mdW5jdGlvbgorICAgIGVudHJ5 X25yID0gbnVtYmVyIG9mIE1TSSBpbnRlcnJ1cHRzCisKK1RoZSB0eXBlIGhhcyB0byBiZSBzZXQg dG8gYE1BUF9QSVJRX1RZUEVfTVNJX1NFR2AgaWYgb25seSBvbmUgTVNJIGludGVycnVwdAorc291 cmNlIGlzIGJlaW5nIGNvbmZpZ3VyZWQuIE9uIGRldmljZXMgdGhhdCBzdXBwb3J0IE1TSSBpbnRl cnJ1cHQgZ3JvdXBzCitgTUFQX1BJUlFfVFlQRV9NVUxUSV9NU0lgIGNhbiBiZSB1c2VkIHRvIGNv bmZpZ3VyZSB0aGVtIGJ5IGFsc28gcGxhY2luZyB0aGUKK251bWJlciBvZiBNU0kgaW50ZXJydXB0 cyBpbiB0aGUgYGVudHJ5X25yYCBmaWVsZC4KKworVGhlIHZhbHVlcyBpbiB0aGUgYGJ1c2AgYW5k IGBkZXZmbmAgZmllbGQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBvbmVzIHVzZWQKK3doZW4g cmVnaXN0ZXJpbmcgdGhlIGRldmljZSB3aXRoIGBQSFlTREVWT1BfcGNpX2RldmljZV9hZGRgLgor CisjIyMgTVNJLVggIyMjCisKKypUT0RPKjogaG93IHRvIHJlZ2lzdGVyL3VzZSB0aGVtLgorCisj IyBFdmVudCB0aW1lcnMgYW5kIHRpbWVjb3VudGVycyAjIworCitTaW5jZSBzb21lIGhhcmR3YXJl IGlzIG5vdCBhdmFpbGFibGUgb24gUFZIIChsaWtlIHRoZSBsb2NhbCBBUElDKSwgWGVuIHByb3Zp ZGVzCit0aGUgT1Mgd2l0aCBzdWl0YWJsZSByZXBsYWNlbWVudHMgaW4gb3JkZXIgdG8gZ2V0IHRo ZSBzYW1lIGZ1bmN0aW9uYWxpdHkuIE9uZQorb2YgdGhlbSBpcyB0aGUgdGltZXIgaW50ZXJmYWNl LiBVc2luZyBhIHNldCBvZiBoeXBlcmNhbGxzLCBhIGd1ZXN0IE9TIGNhbiBzZXQKK2V2ZW50IHRp bWVycyB0aGF0IHdpbGwgZGVsaXZlciBhbmQgZXZlbnQgY2hhbm5lbCBpbnRlcnJ1cHQgdG8gdGhl IGd1ZXN0LgorCitJbiBvcmRlciB0byB1c2UgdGhlIHRpbWVyIHByb3ZpZGVkIGJ5IFhlbiB0aGUg Z3Vlc3QgT1MgZmlyc3QgbmVlZHMgdG8gcmVnaXN0ZXIKK2EgVklSUSBldmVudCBjaGFubmVsIHRv IGJlIHVzZWQgYnkgdGhlIHRpbWVyIHRvIGRlbGl2ZXIgdGhlIGludGVycnVwdHMuIFRoZQorZXZl bnQgY2hhbm5lbCBpcyByZWdpc3RlcmVkIHVzaW5nIHRoZSBgRVZUQ0hOT1BfYmluZF92aXJxYCBo eXBlcmNhbGwsIHRoYXQKK29ubHkgdGFrZXMgdHdvIHBhcmFtZXRlcnM6CisKKyAgICB2aXJxID0g VklSUV9USU1FUgorICAgIHZjcHUgPSB2Y3B1X2lkCisKK1RoZSBwb3J0IHRoYXQncyBnb2luZyB0 byBiZSB1c2VkIGJ5IFhlbiBpbiBvcmRlciB0byBkZWxpdmVyIHRoZSBpbnRlcnJ1cHQgaXMKK3Jl dHVybmVkIGluIHRoZSBgcG9ydGAgZmllbGQuIE9uY2UgdGhlIGludGVycnVwdCBpcyBzZXQsIHRo ZSB0aW1lciBjYW4gYmUKK3Byb2dyYW1tZWQgdXNpbmcgdGhlIGBWQ1BVT1Bfc2V0X3NpbmdsZXNo b3RfdGltZXJgIGh5cGVyY2FsbC4KKworICAgIGZsYWdzID0gVkNQVV9TU0hPVFRNUl9mdXR1cmUK KyAgICB0aW1lb3V0X2Fic19ucyA9IGFic29sdXRlIHZhbHVlIHdoZW4gdGhlIHRpbWVyIHNob3Vs ZCBmaXJlCisKK0l0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCB0aGUgYFZDUFVPUF9zZXRf c2luZ2xlc2hvdF90aW1lcmAgaHlwZXJjYWxsIG11c3QKK2JlIGV4ZWN1dGVkIGZyb20gdGhlIHNh bWUgdkNQVSB3aGVyZSB0aGUgdGltZXIgc2hvdWxkIGZpcmUsIG9yIGVsc2UgWGVuIHdpbGwKK3Jl ZnVzZSB0byBzZXQgaXQuIFRoaXMgaXMgYSBzaW5nbGUtc2hvdCB0aW1lciwgc28gaXQgbXVzdCBi ZSBzZXQgYnkgdGhlIE9TCitldmVyeSB0aW1lIGl0IGZpcmVzIGlmIGEgcGVyaW9kaWMgdGltZXIg aXMgZGVzaXJlZC4KKworWGVuIGFsc28gc2hhcmVzIGEgbWVtb3J5IHJlZ2lvbiB3aXRoIHRoZSBn dWVzdCBPUyB0aGF0IGNvbnRhaW5zIHRpbWUgcmVsYXRlZAordmFsdWVzIHRoYXQgYXJlIHVwZGF0 ZWQgcGVyaW9kaWNhbGx5LiBUaGlzIHZhbHVlcyBjYW4gYmUgdXNlZCB0byBpbXBsZW1lbnQgYQor dGltZWNvdW50ZXIgb3IgdG8gb2J0YWluIHRoZSBjdXJyZW50IHRpbWUuIFRoaXMgaW5mb3JtYXRp b24gaXMgcGxhY2VkIGluc2lkZSBvZgorYHNoYXJlZF9pbmZvLT52Y3B1X2luZm9bdmNwdV9pZF0u dGltZWAuIFRoZSB1cHRpbWUgKHRpbWUgc2luY2UgdGhlIGd1ZXN0IGhhcworYmVlbiBsYXVuY2hl ZCkgY2FuIGJlIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIGZvbGxvd2luZyBleHByZXNzaW9uIGFuZCB0 aGUgdmFsdWVzCitzdG9yZWQgaW4gdGhlIGB2Y3B1X3RpbWVfaW5mb2Agc3RydWN0OgorCisgICAg c3lzdGVtX3RpbWUgKyAoKCgodHNjIC0gdHNjX3RpbWVzdGFtcCkgPDwgdHNjX3NoaWZ0KSAqIHRz Y190b19zeXN0ZW1fbXVsKSA+PiAzMikKKworVGhlIHRpbWVvdXQgdGhhdCBpcyBwYXNzZWQgdG8g YFZDUFVPUF9zZXRfc2luZ2xlc2hvdF90aW1lcmAgaGFzIHRvIGJlCitjYWxjdWxhdGVkIHVzaW5n IHRoZSBhYm92ZSB2YWx1ZSwgcGx1cyB0aGUgdGltZW91dCB0aGUgc3lzdGVtIHdhbnRzIHRvIHNl dC4KKworSWYgdGhlIE9TIGFsc28gd2FudHMgdG8gb2J0YWluIHRoZSBjdXJyZW50IHdhbGxjbG9j ayB0aW1lLCB0aGUgdmFsdWUgY2FsY3VsYXRlZAorYWJvdmUgaGFzIHRvIGJlIGFkZGVkIHRvIHRo ZSB2YWx1ZXMgZm91bmQgaW4gYHNoYXJlZF9pbmZvLT53Y19zZWNgIGFuZAorYHNoYXJlZF9pbmZv LT53Y19uc2VjYC4KKworIyMgU01QIGRpc2NvdmVyIGFuZCBicmluZyB1cCAjIworCitUaGUgcHJv Y2VzcyBvZiBicmluZ2luZyB1cCBzZWNvbmRhcnkgQ1BVcyBpcyBvYnZpb3VzbHkgZGlmZmVyZW50 IGZyb20gbmF0aXZlLAorc2luY2UgUFZIIGRvZXNuJ3QgaGF2ZSBhIGxvY2FsIEFQSUMuIFRoZSBm aXJzdCB0aGluZyB0byBkbyBpcyB0byBmaWd1cmUgb3V0Citob3cgbWFueSB2Q1BVcyB0aGUgZ3Vl c3QgaGFzLiBUaGlzIGlzIGRvbmUgdXNpbmcgdGhlIGBWQ1BVT1BfaXNfdXBgIGh5cGVyY2FsbCwK K3VzaW5nIGZvciBleGFtcGxlIHRoaXMgc2ltcGxlIGxvb3A6CisKKyAgICBmb3IgKGkgPSAwOyBp IDwgTUFYQ1BVOyBpKyspIHsKKyAgICAgICAgcmV0ID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVP UF9pc191cCwgaSwgTlVMTCk7CisgICAgICAgIGlmIChyZXQgPj0gMCkKKyAgICAgICAgICAgIC8q IHZDUFUjaSBpcyBwcmVzZW50ICovCisgICAgfQorCitOb3RlIHRoYW4gd2hlbiBydW5uaW5nIGFz IERvbTAsIHRoZSBBQ1BJIHRhYmxlcyBtaWdodCByZXBvcnQgYSBkaWZmZXJlbnQgbnVtYmVyCitv ZiBhdmFpbGFibGUgQ1BVcy4gVGhpcyBpcyBiZWNhdXNlIHRoZSB2YWx1ZSBvbiB0aGUgQUNQSSB0 YWJsZXMgaXMgdGhlCitudW1iZXIgb2YgcGh5c2ljYWwgQ1BVcyB0aGUgaG9zdCBoYXMsIGFuZCBp dCBtaWdodCBiZWFyIG5vIHJlc2VtYmxhbmNlIHdpdGggdGhlCitudW1iZXIgb2YgdkNQVXMgRG9t MCBhY3R1YWxseSBoYXMgc28gaXQgc2hvdWxkIGJlIGlnbm9yZWQuCisKK0luIG9yZGVyIHRvIGJy aW5nIHVwIHRoZSBzZWNvbmRhcnkgdkNQVXMgdGhleSBtdXN0IGJlIGNvbmZpZ3VyZWQgZmlyc3Qu IFRoaXMgaXMKK2FjaGlldmVkIHVzaW5nIHRoZSBgVkNQVU9QX2luaXRpYWxpc2VgIGh5cGVyY2Fs bC4gQSB2YWxpZCBjb250ZXh0IGhhcyB0byBiZQorcGFzc2VkIHRvIHRoZSB2Q1BVIGluIG9yZGVy IHRvIGJvb3QuIFRoZSByZWxldmFudCBmaWVsZHMgZm9yIFBWSCBndWVzdHMgYXJlCit0aGUgZm9s bG93aW5nOgorCisgICogYGZsYWdzYDogY29udGFpbnMgYFZHQ0ZfKmAgZmxhZ3MgKHNlZSBgYXJj aC14ODYveGVuLmhgIHB1YmxpYyBoZWFkZXIpLgorICAqIGB1c2VyX3JlZ3NgOiBzdHJ1Y3QgdGhh dCBjb250YWlucyB0aGUgcmVnaXN0ZXIgdmFsdWVzIHRoYXQgd2lsbCBiZSBzZXQgb24KKyAgICB0 aGUgdkNQVSBiZWZvcmUgYm9vdGluZy4gQWxsIEdQUnMgYXJlIGF2YWlsYWJsZSB0byBiZSBzZXQs IGhvd2V2ZXIsIHRoZQorICAgIG1vc3QgcmVsZXZhbnQgb25lcyBhcmUgYHJpcGAgYW5kIGByc3Bg IGluIG9yZGVyIHRvIHNldCB0aGUgc3RhcnQgYWRkcmVzcworICAgIGFuZCB0aGUgc3RhY2suIFBs ZWFzZSBub3RlLCBhbGwgc2VsZWN0b3JzIG11c3QgYmUgbnVsbC4KKyAgKiBgY3RybHJlZ1szXWA6 IGNvbnRhaW5zIHRoZSBhZGRyZXNzIG9mIHRoZSBwYWdlIHRhYmxlcyB0aGF0IHdpbGwgYmUgdXNl ZCBieQorICAgIHRoZSB2Q1BVLiBPdGhlciBjb250cm9sIHJlZ2lzdGVycyBzaG91bGQgYmUgc2V0 IHRvIHplcm8sIG9yIGVsc2UgdGhlCisgICAgaHlwZXJjYWxsIHdpbGwgZmFpbCB3aXRoIC1FSU5W QUwuCisKK0FmdGVyIHRoZSB2Q1BVIGlzIGluaXRpYWxpemVkIHdpdGggdGhlIHByb3BlciB2YWx1 ZXMsIGl0IGNhbiBiZSBzdGFydGVkIGJ5Cit1c2luZyB0aGUgYFZDUFVPUF91cGAgaHlwZXJjYWxs LiBUaGUgdmFsdWVzIG9mIHRoZSBvdGhlciBjb250cm9sIHJlZ2lzdGVycyBvZgordGhlIHZDUFUg d2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgb25lcyBkZXNjcmliZWQgaW4gdGhlIGBjb250cm9sIHJl Z2lzdGVyc2AKK3NlY3Rpb24uCisKK0V4YW1wbGVzIGFib3V0IGhvdyB0byBicmluZyB1cCBzZWNv bmRhcnkgQ1BVcyBjYW4gYmUgZm91bmQgb24gdGhlIEZyZWVCU0QKK2NvZGUgYmFzZSBpbiBgc3lz L3g4Ni94ZW4vcHYuY2AgYW5kIG9uIExpbnV4IGBhcmNoL3g4Ni94ZW4vc21wLmNgLgorCisjIyBD b250cm9sIG9wZXJhdGlvbnMgKHJlYm9vdC9zaHV0ZG93bikgIyMKKworUmVib290IGFuZCBzaHV0 ZG93biBvcGVyYXRpb25zIG9uIFBWSCBndWVzdHMgYXJlIHBlcmZvcm1lZCB1c2luZyBoeXBlcmNh bGxzLgorSW4gb3JkZXIgdG8gaXNzdWUgYSByZWJvb3QsIGEgZ3Vlc3QgbXVzdCB1c2UgdGhlIGBT SFVURE9XTl9yZWJvb3RgIGh5cGVyY2FsbC4KK0luIG9yZGVyIHRvIHBlcmZvcm0gYSBwb3dlciBv ZmYgZnJvbSBhIGd1ZXN0IERvbVUsIHRoZSBgU0hVVERPV05fcG93ZXJvZmZgCitoeXBlcmNhbGwg c2hvdWxkIGJlIHVzZWQuCisKK1RoZSB3YXkgdG8gcGVyZm9ybSBhIGZ1bGwgc3lzdGVtIHBvd2Vy IG9mZiBmcm9tIERvbTAgaXMgZGlmZmVyZW50IHRoYW4gd2hhdCdzCitkb25lIGluIGEgRG9tVSBn dWVzdC4gSW4gb3JkZXIgdG8gcGVyZm9ybSBhIHBvd2VyIG9mZiBmcm9tIERvbTAgdGhlIG5hdGl2 ZQorQUNQSSBwYXRoIHNob3VsZCBiZSBmb2xsb3dlZCwgYnV0IHRoZSBndWVzdCBzaG91bGQgbm90 IHdyaXRlIHRoZSBgU0xQX0VOYAorYml0IHRvIHRoZSBQbTFDb250cm9sIHJlZ2lzdGVyLiBJbnN0 ZWFkIHRoZSBgWEVOUEZfZW50ZXJfYWNwaV9zbGVlcGAgaHlwZXJjYWxsCitzaG91bGQgYmUgdXNl ZCwgZmlsbGluZyB0aGUgZm9sbG93aW5nIGRhdGEgaW4gdGhlIGB4ZW5fcGxhdGZvcm1fb3BgIHN0 cnVjdDoKKworICAgIGNtZCA9IFhFTlBGX2VudGVyX2FjcGlfc2xlZXAKKyAgICBpbnRlcmZhY2Vf dmVyc2lvbiA9IFhFTlBGX0lOVEVSRkFDRV9WRVJTSU9OCisgICAgdS5lbnRlcl9hY3BpX3NsZWVw LnBtMWFfY250X3ZhbCA9IFBtMWFDb250cm9sVmFsdWUKKyAgICB1LmVudGVyX2FjcGlfc2xlZXAu cG0xYl9jbnRfdmFsID0gUG0xYkNvbnRyb2xWYWx1ZQorCitUaGlzIHdpbGwgYWxsb3cgWGVuIHRv IGRvIGl0J3MgY2xlYW4gdXAgYW5kIHRvIHBvd2VyIG9mZiB0aGUgc3lzdGVtLiBJZiB0aGUKK2hv c3QgaXMgdXNpbmcgaGFyZHdhcmUgcmVkdWNlZCBBQ1BJLCB0aGUgZm9sbG93aW5nIGZpZWxkIHNo b3VsZCBhbHNvIGJlIHNldDoKKworICAgIHUuZW50ZXJfYWNwaV9zbGVlcC5mbGFncyA9IFhFTlBG X0FDUElfU0xFRVBfRVhURU5ERUQgKDB4MSkKKworIyMgQ1BVSUQgIyMKKworKlRET0QqOiBkZXNj cmliZSB3aGljaCBjcHVpZCBmbGFncyBhIGd1ZXN0IHNob3VsZCBpZ25vcmUgYW5kIGFsc28gd2hp Y2ggZmxhZ3MKK2Rlc2NyaWJlIGZlYXR1cmVzIGNhbiBiZSB1c2VkLiBJdCB3b3VsZCBhbHNvIGJl IGdvb2QgdG8gZGVzY3JpYmUgdGhlIHNldCBvZgorY3B1aWQgZmxhZ3MgdGhhdCB3aWxsIGFsd2F5 cyBiZSBwcmVzZW50IHdoZW4gcnVubmluZyBhcyBQVkguCisKKyMjIEZpbmFsIG5vdGVzICMjCisK K0FsbCB0aGUgb3RoZXIgaGFyZHdhcmUgZnVuY3Rpb25hbGl0eSBub3QgZGVzY3JpYmVkIGluIHRo aXMgZG9jdW1lbnQgc2hvdWxkIGJlCithc3N1bWVkIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgc2Ft ZSB3YXkgYXMgbmF0aXZlLgorCitbZXZlbnRfY2hhbm5lbHNdOiBodHRwOi8vd2lraS54ZW4ub3Jn L3dpa2kvRXZlbnRfQ2hhbm5lbF9JbnRlcm5hbHMKLS0gCjEuOC41LjIgKEFwcGxlIEdpdC00OCkK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=