From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lars Kurth Subject: [PATCH v2 3/3] Significant changes to decision making; some new roles and minor changes Date: Mon, 12 Sep 2016 17:20:12 +0100 Message-ID: <1473697212-3245-4-git-send-email-lars.kurth@citrix.com> References: <1473697212-3245-1-git-send-email-lars.kurth@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bjTyL-0006lj-Et for xen-devel@lists.xenproject.org; Mon, 12 Sep 2016 16:20:41 +0000 In-Reply-To: <1473697212-3245-1-git-send-email-lars.kurth@citrix.com> 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: Lars Kurth , committers@xenproject.org List-Id: xen-devel@lists.xenproject.org QWRkZWQgUlRDIFBvbGljeQpBZGRlZCArMiAuLi4gLTIgc2NoZW1lIGZvciB2b3RlcwpDbGFyaWZp ZWQgbGF6eSBjb25zZW5zdXMgKHRhbGx5aW5nIGFuZCBsYXp5IHZvdGluZykKQWRkZWQgSW5mb3Jt YWwgVm90ZXMvU3VydmV5cwpBZGRlZCBQcm9qZWN0IFRlYW0gTGVhZGVyc2hpcCByb2xlIGFuZCBE ZWNpc2lvbiBtYWtpbmcKQWRkZWQgQ29tbXVuaXR5IERlY2lzaW9ucyB3aXRoIEZ1bmRpbmcgYW5k IExlZ2FsIEltcGxpY2F0aW9ucwpDaGFuZ2VkIFByb2plY3QgV2lkZSBEZWNpc2lvbiBtYWtpbmc6 IHBlciBwcm9qZWN0IGJhc2VkIHNjaGVtZQpDbGFyaWZpZWQgc2NvcGUgb2YgRGVjaXNpb24gbWFr aW5nCgpNb2RpZmllZCBzZWN0aW9ucyB3aGljaCBoYXZlIGRlcGVuZGVuY2llcyBvbiBjaGFuZ2Vz IGFib3V0CgpTaWduZWQtb2ZmLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+ Ci0tLQogZ292ZXJuYW5jZS5wYW5kb2MgfCA3NzMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTgxIGluc2VydGlv bnMoKyksIDE5MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nb3Zlcm5hbmNlLnBhbmRvYyBi L2dvdmVybmFuY2UucGFuZG9jCmluZGV4IDg2ZTQ0MzMuLjA0YTFkYzYgMTAwNjQ0Ci0tLSBhL2dv dmVybmFuY2UucGFuZG9jCisrKyBiL2dvdmVybmFuY2UucGFuZG9jCkBAIC0xLDYgKzEsNSBAQAot CiBUaGlzIGRvY3VtZW50IGhhcyBjb21lIGluIGVmZmVjdCBpbiBKdW5lIDIwMTEgYW5kIHdpbGwg YmUgcmV2aWV3ZWQgcGVyaW9kaWNhbGx5IAotKHNlZSByZXZpc2lvbiBzZWN0aW9ucykuIFRoZSBs YXN0IG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlIGluIEp1bHkgMjAxNi4KKyhzZWUgcmV2aXNp b24gc2VjdGlvbnMpLiBUaGUgbGFzdCBtb2RpZmljYXRpb24gaGFzIGJlZW4gbWFkZSBpbiBTZXB0 ZW1iZXIgMjAxNi4KIAogQ29udGVudAogLS0tLS0tLQpAQCAtMTIsOCArMTEsMTAgQEAgQ29udGVu dAogLSAgIFtNYWtpbmcgQ29udHJpYnV0aW9uc10oI2NvbnRyaWJ1dGlvbnMpCiAtICAgW0RlY2lz aW9uIE1ha2luZywgQ29uZmxpY3QgUmVzb2x1dGlvbiwgUm9sZSBOb21pbmF0aW9ucyBhbmQgCiBF bGVjdGlvbnNdKCNkZWNpc2lvbnMpCi0tICAgW0Zvcm1hbCBWb3Rlc10oI2Zvcm1hbC12b3RlcykK Ky0gICBbUHJvamVjdCBXaWRlIERlY2lzaW9uIE1ha2luZ10oI3Byb2plY3QtZGVjaXNpb25zKQor LSAgIFtDb21tdW5pdHkgRGVjaXNpb25zIHdpdGggRnVuZGluZyBhbmQgTGVnYWwgSW1wbGljYXRp b25zXSgjZnVuZGluZy1hbmQtbGVnYWwpCiAtICAgW1Byb2plY3QgR292ZXJuYW5jZV0oI3Byb2pl Y3QtZ292ZXJuYW5jZSkKKy0gICBbUGVyIFN1Yi1Qcm9qZWN0IEdvdmVybmFuY2UgU3BlY2lhbGlz YXRpb25zXSgjc3BlY2lhbGlzYXRpb25zKQogCiBHb2FscyB7I2dvYWxzfQogLS0tLS0KQEAgLTU1 LDIzICs1NiwxMyBAQCBUaGUgWGVuIFByb2plY3QgaXMgYSBtZXJpdG9jcmFjeS4gVGhlIG1vcmUg eW91IGNvbnRyaWJ1dGUgdGhlIG1vcmUKIHJlc3BvbnNpYmlsaXR5IHlvdSB3aWxsIGVhcm4uIExl YWRlcnNoaXAgcm9sZXMgaW4gWGVuIGFyZSBhbHNvIG1lcml0LWJhc2VkIGFuZCAKIGVhcm5lZCBi eSBwZWVyIGFjY2xhaW0uCiAKLSAgICAKLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gICAgSSBtb3ZlZCB0aGUgIlJvbGVzIiBzZWN0aW9uIHVwIGFuZCBzcGxpdCBpdCBpbnRvIHR3 byBzZWN0aW9ucyB3aXRoIHVubW9kaWZpZWQgY29udGVudAotICAgIC0gWGVuIFByb2plY3QgV2lk ZSBSb2xlcwotICAgIC0gUHJvamVjdCBUZWFtIFJvbGVzCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIyMjIExvY2FsIERlY2lzaW9uIE1ha2luZwogCi1YZW4gUHJvamVjdCBXaWRl IFJvbGVzIHsjcm9sZXMtZ2xvYmFsfQorVGhlIFhlbiBQcm9qZWN0IGNvbnNpc3RzIG9mIGEgbnVt YmVyIG9mIHN1Yi1wcm9qZWN0czogZWFjaCBzdWItcHJvamVjdCBtYWtlcyAKK3RlY2huaWNhbCBh bmQgb3RoZXIgZGVjaXNpb25zIHRoYXQgc29sZWx5IGFmZmVjdCBpdCBsb2NhbGx5LgorCitYZW4g UHJvamVjdCBXaWRlIFJvbGVzIHsjcm9sZXMtZ2xvYmFsfSAKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSAgICAKLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgTUlOT1IgSVNT VUVTIFRPIEJFIEFERFJFU1NFRCBMQVRFUjogCi0gICAgLSBTdWItcHJvamVjdHMgYW5kIFRlYW1z IHdvdWxkIGJlbmVmaXQgZnJvbSBzb21lIGZvcndhcmQgcmVmZXJlbmNlcyB0byBoaWdobGlnaHQg dGhlIAotICAgICAgZGlmZmVyZW5jZSBiZXR3ZWVuIGluY3ViYXRpb24gbWF0dXJlIHByb2plY3Rz LgotICAgIC0gQWxzbyB3ZSBzaG91bGQgY2xhcmlmeSB3aGF0IGFzc2V0cyBhIHN1Yi1wcm9qZWN0 IG93bnMuIAotICAgIC0gQWRkIHRoZSByb2xlIG9mIENvbW11bml0eSBNYW5hZ2VyIGFzIGl0IHVz ZWQgdGhyb3VnaG91dCB0aGUgZG9jdW1lbnQKLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAKICMjIyBTdWItcHJvamVjdHMgYW5kIFRlYW1zCiAKQEAgLTgwLDkgKzcxLDIyIEBAIHRo ZSBbUHJvamVjdCBHb3Zlcm5hbmNlXSgjcHJvamVjdC1nb3Zlcm5hbmNlKSAob3IgUHJvamVjdCBM aWZlY3ljbGUpIGFzCiBvdXRsaW5lZCBpbiB0aGlzIGRvY3VtZW50LiBTdWItcHJvamVjdHMgKHNv bWV0aW1lcyBzaW1wbHkgcmVmZXJyZWQgdG8gYXMgCiBwcm9qZWN0cykgYXJlIHJ1biBieSBpbmRp dmlkdWFscyBhbmQgYXJlIG9mdGVuIHJlZmVycmVkIHRvIGFzIHRlYW1zIHRvIAogaGlnaGxpZ2h0 IHRoZSBjb2xsYWJvcmF0aXZlIG5hdHVyZSBvZiBkZXZlbG9wbWVudC4gRm9yIGV4YW1wbGUsIGVh Y2ggCi1zdWItcHJvamVjdCBoYXMgYSBbdGVhbSBwb3J0YWxdKC9kZXZlbG9wZXJzL3RlYW1zLmh0 bWwpIG9uIFhlbnByb2plY3Qub3JnLgorc3ViLXByb2plY3QgaGFzIGEgW3RlYW0gcG9ydGFsXSgv ZGV2ZWxvcGVycy90ZWFtcy5odG1sKSBvbiBYZW5wcm9qZWN0Lm9yZy4gCitTdWItcHJvamVjdHMg b3duIGFuZCBhcmUgcmVzcG9uc2libGUgZm9yIGEgY29sbGVjdGlvbiBvZiBzb3VyY2UgcmVwb3Np dG9yaWVzIAorYW5kIG90aGVyIHJlc291cmNlcyAoZS5nLiB0ZXN0IGluZnJhc3RydWN0dXJlLCBD SSBpbmZyYXN0cnVjdHVyZSwgLi4uKSwgd2hpY2ggCit3ZSBjYWxsICoqc3ViLXByb2plY3QgYXNz ZXRzKiogKG9yIHRlYW0gYXNzZXRzKSBpbiB0aGlzIGRvY3VtZW50LgogCi0jIyMgWGVuIFByb2pl Y3QgQWR2aXNvcnkgQm9hcmQKK1N1Yi1wcm9qZWN0cyBjYW4gZWl0aGVyIGJlICoqaW5jdWJhdGlv biBwcm9qZWN0cyoqIG9yICoqbWF0dXJlIHByb2plY3RzKiogYXMgCitvdXRsaW5lZCBpbiBbQmFz aWMgUHJvamVjdCBMaWZlIEN5Y2xlXSgjcHJvamVjdC1nb3Zlcm5hbmNlKS4gSW4gbGluZSB3aXRo IHRoZSAKK21lcml0b2NyYXRpYyBwcmluY2lwbGUsIG1hdHVyZSBwcm9qZWN0cyBoYXZlIG1vcmUg aW5mbHVlbmNlIHRoYW4gaW5jdWJhdGlvbiAKK3Byb2plY3RzLCBvbiBbcHJvamVjdCB3aWRlIGRl Y2lzaW9uc10oI3Byb2plY3QtZGVjaXNpb25zKS4KKworIyMjIENvbW11bml0eSBNYW5hZ2VyCisK K1RoZSBYZW4gUHJvamVjdCBoYXMgYSBjb21tdW5pdHkgbWFuYWdlciwgd2hvc2UgcHJpbWFyeSBy b2xlIGl0IGlzIHRvIHN1cHBvcnQgCit0aGUgZW50aXJlIFhlbiBQcm9qZWN0IENvbW11bml0eS4K KworIyMjIFhlbiBQcm9qZWN0IEFkdmlzb3J5IEJvYXJkIHsjcm9sZXMtYWJ9CiAKIFRoZSBbWGVu IFByb2plY3QgQWR2aXNvcnkgQm9hcmRdKC9qb2luLmh0bWwpIGNvbnNpc3RzIG9mIG1lbWJlcnMg d2hvIGFyZSAKIGNvbW1pdHRlZCB0byBzdGVlcmluZyB0aGUgcHJvamVjdCB0byBhZHZhbmNlIGl0 cyBtYXJrZXQgYW5kIHRlY2huaWNhbCBzdWNjZXNzLCAKQEAgLTkyLDcgKzk2LDcgQEAgc2hhcmVk IHByb2plY3QgaW5mcmFzdHJ1Y3R1cmUsIG1hcmtldGluZyBhbmQgZXZlbnRzLCBhbmQgbWFuYWdp bmcgdGhlIFhlbgogUHJvamVjdCB0cmFkZW1hcmsuIFRoZSBBZHZpc29yeSBCb2FyZCBsZWF2ZXMg YWxsIHRlY2huaWNhbCBkZWNpc2lvbnMgdG8gdGhlIAogb3BlbiBzb3VyY2UgbWVyaXRvY3JhY3ku CiAKLSMjIyBUaGUgTGludXggRm91bmRhdGlvbgorIyMjIFRoZSBMaW51eCBGb3VuZGF0aW9uIHsj cm9sZXMtbGZ9CiAKIFRoZSBYZW4gUHJvamVjdCBpcyBhIFtMaW51eCBGb3VuZGF0aW9uXSgvbGlu dXgtZm91bmRhdGlvbi5odG1sKSBDb2xsYWJvcmF0aXZlIAogUHJvamVjdC4gQ29sbGFib3JhdGl2 ZSBQcm9qZWN0cyBhcmUgaW5kZXBlbmRlbnRseSBmdW5kZWQgc29mdHdhcmUgcHJvamVjdHMgdGhh dCAKQEAgLTExMSwzMCArMTE1LDYwIEBAIG1lbWJlcnMgb3Igb3RoZXIgZGlzdGluZ3Vpc2hlZCBj b21tdW5pdHkgbWVtYmVycy4KICMjIyBTcG9uc29yCiAKIFRvIGZvcm0gYSBuZXcgc3ViLXByb2pl Y3Qgb3IgdGVhbSBvbiBYZW5wcm9qZWN0Lm9yZywgd2UgcmVxdWlyZSBhIHNwb25zb3IgdG8gCi1z dXBwb3J0IHRoZSBjcmVhdGlvbiBvZiB0aGUgbmV3IHByb2plY3QuIEEgc3BvbnNvciBjYW4gYmUg YSBwcm9qZWN0IGxlYWQgb3IgCi1jb21taXR0ZXIgb2YgYSBtYXR1cmUgcHJvamVjdCwgYSBtZW1i ZXIgb2YgdGhlIGFkdmlzb3J5IGJvYXJkIG9yIHRoZSBjb21tdW5pdHkgCi1tYW5hZ2VyLiBUaGlz IGVuc3VyZXMgdGhhdCBhIGRpc3Rpbmd1aXNoZWQgY29tbXVuaXR5IG1lbWJlciBzdXBwb3J0cyB0 aGUgaWRlYSAKLWJlaGluZCB0aGUgcHJvamVjdC4KK3N1cHBvcnQgdGhlIGNyZWF0aW9uIG9mIHRo ZSBuZXcgcHJvamVjdC4gQSBzcG9uc29yIGNhbiBiZSBhIG1lbWJlciBvZiB0aGUgCitwcm9qZWN0 IGxlYWRlcnNoaXAgdGVhbSBvZiBhIG1hdHVyZSBwcm9qZWN0LCBhIG1lbWJlciBvZiB0aGUgYWR2 aXNvcnkgYm9hcmQgb3IgCit0aGUgY29tbXVuaXR5IG1hbmFnZXIuIFRoaXMgZW5zdXJlcyB0aGF0 IGEgZGlzdGluZ3Vpc2hlZCBjb21tdW5pdHkgbWVtYmVyIAorc3VwcG9ydHMgdGhlIGlkZWEgYmVo aW5kIHRoZSBwcm9qZWN0LgogCiBQcm9qZWN0IFRlYW0gUm9sZXMgeyNyb2xlcy1sb2NhbH0KIC0t LS0tLS0tLS0tLS0tLS0tLQogCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAg IElTU1VFUyBUTyBCRSBBRERSRVNTRUQgTEFURVI6IAotICAgIC0gRml4IG1pbm9yIEluYWNjdXJh Y2llcyBhbmQgSW1wcm92ZW1lbnRzCi0gICAgLSBBbGxvdyBmb3IgY3VzdG9taXphdGlvbiBvZiBy b2xlcyBieSBzdWItcHJvamVjdHMgKGJ1dCB0aGlzIGRlZmluaXRpb24gaXMgdGhlIGRlZmF1bHQp Ci0gICAgLSBBbGxvdyBmb3IgU2VjdXJpdHkgUmVzcG9uc2UgVGVhbQotICAgIC0gQWxsb3cgZm9y IHN1Yi1wcm9qZWN0cyB0byBiZSBsZWFkIGJ5IGEgUHJvamVjdCBMZWFkZXJzaGlwIFRlYW0gKHdo aWNoIG1heSBpbmNsdWRlIGEgCi0gICAgICBQcm9qZWN0IExlYWQpCi0gICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorU3ViLXByb2plY3RzIG9yIHRlYW1zIGFyZSBkcml2ZW4gYnkgdGhl IHBlb3BsZSB3aG8gdm9sdW50ZWVyIGZvciB0aGUgam9iLiBUaGlzIAorZnVuY3Rpb25zIHdlbGwg Zm9yIG1vc3QgY2FzZXMuIFRoaXMgc2VjdGlvbiBsaXN0cyB0aGUgbWFpbiByb2xlcyB3aGljaCBw cm9qZWN0cyAKK3VzZS4gVGhpcyBzZWN0aW9uIGxpc3RzIHRoZSBkZWZhdWx0IHJvbGVzLCB3aGlj aCBhcmUgYmFzZWQgb24gaG93IHRoZSAKK0h5cGVydmlzb3IgcHJvamVjdCBvcGVyYXRlcy4gU3Vi LXByb2plY3RzIGNhbiBkZXZpYXRlIGZyb20gdGhlIGRlZmF1bHQsIGJ1dCBhcmUgCityZXF1aXJl ZCB0byBkb2N1bWVudCBkZXZpYXRpb25zIGZyb20gdGhlIGRlZmF1bHQgYW5kIGxpbmsgdG8gaXQg ZnJvbSB0aGlzIAorW2RvY3VtZW50XSgjc3BlY2lhbGlzYXRpb25zKS4gVGhlIG9ubHkgZXhjZXB0 aW9uIGlzIHRoYXQgZWFjaCBwcm9qZWN0IGlzIAorcmVxdWlyZWQgdG8gaGF2ZSBhIHByb2plY3Qg bGVhZGVyc2hpcCB0ZWFtLCBhcyB3aXRob3V0IGl0LCB0aGUgcHJvamVjdCB3aWxsIG5vdCAKK2Jl IGFibGUgdG8gZnVuY3Rpb24uCisKK1RoZSBmb2xsb3dpbmcgdGFibGUgbGlzdHMgaG93IGVhY2gg cHJvamVjdCB1c2VzIHRoZXNlIHJvbGVzLiBOb3RlIHRoYXQgCisqKmluY3ViYXRpb24gcHJvamVj dHMqKiBoYXZlIG1vcmUgZmxleGliaWxpdHkgaW4gZXhwZXJpbWVudGluZyB3aXRoIHJvbGVzIHRo YXQgCit3b3JrIGZvciB0aGVtLCBidXQgbmVlZCB0byBkZWZpbmUgc3BlY2lhbGlzdGlvbnMgYmVm b3JlIHRoZXkgY2FuICoqbWF0dXJlKiouCisKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0t LS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0t LS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAgKipQcm9qZWN0KiogICAgICAgICAgICoqTWF0dXJlKiogICAqKk1haW50YWluZXJz KiogICAqKkNvbW1pdHRlcnMqKiAgICoqU2VjdXJpdHkgVGVhbSoqICAgKipMZWFkZXJzaGlwIFRl YW0qKgorICAqKkh5cGVydmlzb3IqKiAgICAgICAgWUVTICAgICAgICAgIFlFUyAgICAgICAgICAg ICAgIFlFUyAgICAgICAgICAgICAgWUVTICAgICAgICAgICAgICAgICBDb21taXR0ZXJzIGFuZCBS ZWxlYXNlIE1hbmFnZXIsIHdpdGhvdXQgYSBQcm9qZWN0IExlYWQKKyAgKipXaW5kb3dzIERyaXZl cnMqKiAgIE5PICAgICAgICAgICBZRVMgICAgICAgICAgICAgICBZRVMgICAgICAgICAgICAgIE5P ICAgICAgICAgICAgICAgICAgQ29tbWl0dGVycywgd2l0aCBhIFByb2plY3QgTGVhZAorICAqKlhB UEkqKiAgICAgICAgICAgICAgWUVTICAgICAgICAgIFlFUyAgICAgICAgICAgICAgIFlFUyAgICAg ICAgICAgICAgTk8gICAgICAgICAgICAgICAgICBDb21taXR0ZXJzLCB3aXRoIGEgUHJvamVjdCBM ZWFkCisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0t LS0gLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKIAogIyMjIE1haW50YWlu ZXJzCiAKLU1haW50YWluZXJzIG93biBvbmUgb3Igc2V2ZXJhbCBjb21wb25lbnRzIGluIHRoZSBY ZW4gdHJlZS4gQSBtYWludGFpbmVyIHJldmlld3MgCi1hbmQgYXBwcm92ZXMgY2hhbmdlcyB0aGF0 IGFmZmVjdCB0aGVpciBjb21wb25lbnRzLiBJdCBpcyBhIG1haW50YWluZXIncyBwcmltZSAKLXJl c3BvbnNpYmlsaXR5IHRvIHJldmlldywgY29tbWVudCBvbiwgY28tb3JkaW5hdGUgYW5kIGFjY2Vw dCBwYXRjaGVzIGZyb20gb3RoZXIgCi1jb21tdW5pdHkgbWVtYmVyJ3MgYW5kIHRvIG1haW50YWlu IHRoZSBkZXNpZ24gY29oZXNpb24gb2YgdGhlaXIgY29tcG9uZW50cy4gCi1NYWludGFpbmVycyBh cmUgbGlzdGVkIGluIGEgTUFJTlRBSU5FUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNl IHRyZWUuCitNYWludGFpbmVycyBvd24gb25lIG9yIHNldmVyYWwgY29tcG9uZW50cyBpbiB0aGUg c3ViLXByb2plY3RzIHNvdXJjZSB0cmVlKHMpLiBBIAorbWFpbnRhaW5lciByZXZpZXdzIGFuZCBh cHByb3ZlcyBjaGFuZ2VzIHRoYXQgYWZmZWN0IHRoZWlyIGNvbXBvbmVudHMuIEl0IGlzIGEgCitt YWludGFpbmVyJ3MgcHJpbWUgcmVzcG9uc2liaWxpdHkgdG8gcmV2aWV3LCBjb21tZW50IG9uLCBj by1vcmRpbmF0ZSBhbmQgYWNjZXB0IAorcGF0Y2hlcyBmcm9tIG90aGVyIGNvbW11bml0eSBtZW1i ZXIncyBhbmQgdG8gbWFpbnRhaW4gdGhlIGRlc2lnbiBjb2hlc2lvbiBvZiAKK3RoZWlyIGNvbXBv bmVudHMuIE1haW50YWluZXJzIGFyZSBsaXN0ZWQgaW4gYSBNQUlOVEFJTkVSUyBmaWxlIGluIHRo ZSByb290IG9mIAorZWFjaCBjb2RlIHJlcG9zaXRvcnkgdGhhdCB0aGUgcHJvamVjdCBvd25zLgor CitMYXJnZXIgc3ViLXByb2plY3RzIHN1Y2ggYXMgdGhlIEh5cGVydmlzb3IgbWF5IGhhdmUgc3Bl Y2lhbCBtYWludGFpbmVyIHJvbGVzIAorc3VjaCBhcyBhIHJlbGVhc2UgbWFuYWdlciBhbmQgc3Rh YmxlIGJyYW5jaCBtYWludGFpbmVycy4gSW4gYWRkaXRpb24sIGxhcmdlciAKK3Byb2plY3RzIG1h eSBhd2FyZCBkaWZmZXJlbnQgbWFpbnRhaW5lcnMgZGlmZmVyZW50IGxldmVscyBvZiBpbmZsdWVu Y2UuIEFueSAKK3NwZWNpYWxpc2F0aW9ucyBhbmQgaW1wbGljYXRpb25zIGFyZSBkb2N1bWVudGVk IGluIHRoZSByZXNwZWN0aXZlIE1BSU5UQUlORVJTIAorZmlsZS4KKworICAgIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgICBDT05TSVNURU5DWSBJU1NVRVMgdGhhdCBwcm9iYWJseSBv dWdodCB0byBiZSBjbGVhbmVkIHVwIGF0IHNvbWUgcG9pbnQKKyAgICAtIFRoZSB4ZW4uZ2l0IE1B SU5UQUlORVJTIGZpbGUgZG9lcyBub3QgbGlzdCBvdXIgcmVsZWFzZSBtYW5hZ2VycyBhbmQgCisg ICAgICBzdGFibGUgYnJhbmNoIG1haW50YWluZXJzCisgICAgLSBXZSBkbyBoYXZlIGEgbnVtYmVy IG9mIHJlcG9zIHdpdGhvdXQgTUFJTlRBSU5FUlMgZmlsZXMsIGUuZy4gbWluaS1vcy5naXQsIAor ICAgICAgb3NzdGVzdC5naXQKKyAgICAtIEZvciBwcm9qZWN0cyB3aXRoIG1hbnkgcmVwb3NpdG9y aWVzIChlLmcuIFhBUEkgYW5kIE1pcmFnZSBPUyksIHVzaW5nIE1BSU5UQUlORVJTIAorICAgICAg ZmlsZXMgaXMgbm90IHZlcnkgcHJhY3RpY2FsLiBYQVBJIHNlZW1zIHRvIHNvbWV0aW1lcyB1c2Ug TUFJTlRBSU5FUlMgYW5kIFJFQURNRSAKKyAgICAgIGZpbGVzIGF0IG90aGVyIHRpbWVzLiBXZSBt YXkgbmVlZCBhIG1vcmUgY2VudHJhbCBwbGFjZSB0byBzdGF0ZSByb2xlcy4KKyAgICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICMjIyBDb21taXR0ZXJzCiAKQEAgLTE0NCwyMiArMTc4 LDQxIEBAIGFwcGxpZXMgY2hhbmdlcyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBieSB0aGUgcmVz cGVjdGl2ZSBtYWludGFpbmVyKHMpIHRvIHRoZQogc291cmNlIHRyZWUuIER1ZSB0byB0aGVpciBz dGF0dXMgaW4gdGhlIGNvbW11bml0eSwgY29tbWl0dGVycyBjYW4gYWxzbyBhY3QgYXMgCiByZWZl cmVlcyBzaG91bGQgZGlzYWdyZWVtZW50cyBhbW9uZ3N0IG1haW50YWluZXJzIGFyaXNlLiBDb21t aXR0ZXJzIGFyZSBsaXN0ZWQgCiBvbiB0aGUgc3ViLXByb2plY3QncyB0ZWFtIHBvcnRhbCAoZS5n LiBbSHlwZXJ2aXNvciB0ZWFtIAotcG9ydGFsXSgvZGV2ZWxvcGVycy90ZWFtcy9oeXBlcnZpc29y Lmh0bWwpKS4KK3BvcnRhbF0oL2RldmVsb3BlcnMvdGVhbXMvaHlwZXJ2aXNvci5odG1sKSkgYW5k L29yIGluIHRoZSBwcm9qZWN0cyBNQUlOVEFJTkVSUyAKK2ZpbGVzLgorCisjIyMgU2VjdXJpdHkg UmVzcG9uc2UgVGVhbQorCitFYWNoIHN1Yi1wcm9qZWN0IG1heSBoYXZlIGEgc2VjdXJpdHkgcmVz cG9uc2UgdGVhbSwgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgCityZWNlaXZpbmcsIHJldmlld2lu ZywgYW5kIHJlc3BvbmRpbmcgdG8gc2VjdXJpdHkgaW5jaWRlbnQgcmVwb3J0cyBmb3IgdGhlIAor c3ViLXByb2plY3RzIGFzc2V0cyBhY2NvcmRpbmcgdG8gaXRzIHNlY3VyaXR5IHJlc3BvbnNlIHBy b2Nlc3MgKGUuZy4gCitbSHlwZXJ2aXNvciBTZWN1cml0eSBQcm9ibGVtIFJlc3BvbnNlIFByb2Nl c3NdKC9zZWN1cml0eS1wb2xpY3kuaHRtbCkpLgogCi0jIyMgUHJvamVjdCBMZWFkCisjIyMgUHJv amVjdCBMZWFkZXJzaGlwIFRlYW0gYW5kIFByb2plY3QgTGVhZAogCi1TdWItcHJvamVjdHMgYW5k IHRlYW1zIGhvc3RlZCBvbiBYZW5wcm9qZWN0Lm9yZyBhcmUgbWFuYWdlZCBieSBhIFByb2plY3Qg TGVhZCwgCi13aG8gYWxzbyBpcyBhIGNvbW1pdHRlciBvZiB0aGUgc3ViLXByb2plY3QvdGVhbSBo ZS9zaGUgbGVhZHMuIFByb2plY3QgTGVhZHMgYXJlIAotdGhlIHB1YmxpYyBmaWd1cmVoZWFkIG9m IHRoZSBwcm9qZWN0IGFuZCBpcyByZXNwb25zaWJsZSBmb3IgdGhlIGhlYWx0aCBvZiB0aGUgCi1w cm9qZWN0LiBEdWUgdG8gdGhlaXIgc3RhdHVzIGluIHRoZSBjb21tdW5pdHksIHByb2plY3QgbGVh ZHMgY2FuIGFsc28gYWN0IGFzIAotcmVmZXJlZXMgc2hvdWxkIGRpc2FncmVlbWVudHMgYW1vbmdz dCBjb21taXR0ZXJzIG9mIHRoZSBwcm9qZWN0IGFyaXNlLiBUaGUgCi1wcm9qZWN0IGxlYWQgdHlw aWNhbGx5IGFsc28gaGFzIHdyaXRlIGFjY2VzcyB0byByZXNvdXJjZXMsIHN1Y2ggYXMgdGhlIHdl YiBwYWdlIAotb2YgYSBzcGVjaWZpYyBwcm9qZWN0LgorU3ViLXByb2plY3RzIGFuZCB0ZWFtcyBo b3N0ZWQgb24gWGVucHJvamVjdC5vcmcgYXJlIG1hbmFnZWQgYnkgYSBQcm9qZWN0IAorTGVhZGVy c2hpcCBUZWFtLiBUaGUgbGVhZGVyc2hpcCB0ZWFtIGlzIG1hZGUgdXAgb2YgZGlzdGluZ3Vpc2hl ZCBjb21tdW5pdHkgCittZW1iZXJzLCBidXQgdGhlIGV4YWN0IGNvbXBvc2l0aW9uIG1heSBkZXBl bmQgb24gdGhlIHN1Yi1wcm9qZWN0LiBGb3IgZXhhbXBsZSwgCitpbiB0aGUgY2FzZSBvZiB0aGUg SHlwZXJ2aXNvciBzdWItcHJvamVjdCwgYWxsIGNvbW1pdHRlcnMgYW5kIHRoZSByZWxlYXNlIAor bWFuYWdlciwgYXJlIHBhcnQgb2YgdGhlIGxlYWRlcnNoaXAgdGVhbS4gVGhlIGxlYWRlcnNoaXAg dGVhbSBvd25zIHRoZSAKK3N1Yi1wcm9qZWN0cyBwcm9jZXNzZXMsIHRoZSBvdmVyYWxsIGFyY2hp dGVjdHVyZSBhbmQgYWxsIGFzc2V0cyB3aXRoaW4gdGhlIAorcHJvamVjdCBhbmQgbWFrZXMgW3N1 Yi1wcm9qZWN0IHdpZGUgZGVjaXNpb25zXSgjZGVjaXNpb25zKSBvbiBiZWhhbGYgb2YgaXRzIAor Y29tbXVuaXR5LgorCitBIHN1Yi1wcm9qZWN0cyBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyBhcmUg bGlzdGVkIG9uIHRoZSBzdWItcHJvamVjdCdzIHRlYW0gCitwb3J0YWwgKGUuZy4gW0h5cGVydmlz b3IgdGVhbSBwb3J0YWxdKGRldmVsb3BlcnMvdGVhbXMvaHlwZXJ2aXNvci5odG1sKSkuCiAKICAg ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgTW92ZWQgdGhpcyBzZWN0aW9uIAor ICAgIENPTlNJU1RFTkNZIElTU1VFUyB0aGF0IHByb2JhYmx5IG91Z2h0IHRvIGJlIGNsZWFuZWQg dXAgYXQgc29tZSBwb2ludAorICAgIC0gWEFQSSBhbmQgTWlyYWdlIE9TIG91Z2h0IHRvIGRlY2lk ZSB3aG8gdGhlaXIgbGVhZGVyc2hpcCB0ZWFtIGlzIAorICAgICAgKEkgbWFkZSBzb21lIGFzc3Vt cHRpb25zIGZvciBub3cpCiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitUaGUg TGVhZGVyc2hpcCBUZWFtIG1heSBlbGVjdCBhIFByb2plY3QgTGVhZCB3aG8gaXMgYWxzbyBhIG1l bWJlciBvZiB0aGUgCitMZWFkZXJzaGlwIFRlYW0uIFByb2plY3QgTGVhZHMgYXJlIHRoZSBwdWJs aWMgZmlndXJlaGVhZCBvZiB0aGUgcHJvamVjdCBhbmQgYXJlIAorcmVzcG9uc2libGUgZm9yIHRo ZSBoZWFsdGggb2YgdGhlIHByb2plY3QuIFByb2plY3QgTGVhZHMgY2FuIGFsc28gYWN0IGFzIAor W3JlZmVyZWVzXSgjY29uZmxpY3QpIHNob3VsZCB0aGUgUHJvamVjdCBMZWFkZXJzaGlwIFRlYW0g YmVjb21lIHBhcmFseXNlZC4KKwogTWFraW5nIENvbnRyaWJ1dGlvbnMgeyNjb250cmlidXRpb25z fQogLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtMTc1LDEwMiArMjI4LDM1NiBAQCBNb3JlIGlu Zm9ybWF0aW9uIG9uIG1ha2luZyBjb250cmlidXRpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgZm9s bG93aW5nCiBkb2N1bWVudHM6CiAKIC0gICBbQ29udHJpYnV0aW9uIEd1aWRlbGluZXNdKC9oZWxw L2NvbnRyaWJ1dGlvbi1ndWlkZWxpbmVzLmh0bWwpCi0KLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0gICAgQ29uc29saWRhdGVkIGFsbCBEZWNpc2lvbiBNYWtpbmcgUmVsYXRlZCB0 b3BpY3MgaW50byBvbmUgc2VjdGlvbiAKLSAgICAtIEkgY2hhbmdlZCB0aGUgb3JkZXIgb2YgdGhl IHNlY3Rpb25zIGZyb20gLi4uCi0gICAgICAiQ29uc2Vuc3VzIERlY2lzaW9uIE1ha2luZywgQ29u ZmxpY3QgUmVzb2x1dGlvbiwgRWxlY3Rpb25zIGFuZCBGb3JtYWwgVm90ZXMiIHRvIAotICAgICAg IkNvbnNlbnN1cyBEZWNpc2lvbiBNYWtpbmcsIEZvcm1hbCBWb3RlcywgQ29uZmxpY3QgUmVzb2x1 dGlvbiwgRWxlY3Rpb25zIgotICAgIC0gSSBjaGFuZ2VkIGhlYWRlciB0aXRsZXMgYW5kIGZpeGVk IHRoZSBoZWFkbGluZSAgCi0KLSAgICBPdGhlcndpc2UgdGhlIHJlbGV2YW50IHNlY3Rpb25zIHJl bWFpbiBpZGVudGljYWwsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBjb21tZW50IAotICAgIHNlY3Rp b25zIHRoYXQgSSBhZGRlZCwgd2hpY2ggaGlnaGxpZ2h0IGlzc3VlcyB0aGF0IGFyZSB0byBiZSBh ZGRyZXNzZWQuCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgIFtSZXZpZXcg VGhlbiBDb21taXQgUG9saWN5XSgjUlRDKQogCiBEZWNpc2lvbiBNYWtpbmcsIENvbmZsaWN0IFJl c29sdXRpb24sIFJvbGUgTm9taW5hdGlvbnMgYW5kIEVsZWN0aW9ucyB7I2RlY2lzaW9uc30KIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAKK1N1Yi1wcm9qZWN0cyBvciB0ZWFtcyBob3N0ZWQgb24gWGVucHJvamVjdC5v cmcgYXJlIG5vcm1hbGx5IGF1dG8tZ292ZXJuaW5nIGFuZCAKK2RyaXZlbiBieSB0aGUgcGVvcGxl IHdobyB2b2x1bnRlZXIgZm9yIHRoZSBqb2IuIFRoaXMgZnVuY3Rpb25zIHdlbGwgZm9yIG1vc3Qg CitjYXNlcy4gVGhpcyBzZWN0aW9uIGxpc3RzIHRoZSBtYWluIG1lY2hhbmlzbXMgYnkgd2hpY2gg cHJvamVjdHMgbWFrZSBkZWNpc2lvbnMuIAorVGhpcyBzZWN0aW9uIGxpc3RzIHRoZSBkZWZhdWx0 IG1vZGUgb2Ygb3BlcmF0aW9uLCB3aGljaCBpcyBiYXNlZCBvbiBob3cgdGhlIAorSHlwZXJ2aXNv ciBwcm9qZWN0IG9wZXJhdGVzLiBTdWItcHJvamVjdHMgY2FuIGRldmlhdGUgZnJvbSB0aGUgZGVm YXVsdCwgYnV0IGFyZSAKK3JlcXVpcmVkIHRvIGRvY3VtZW50IGRldmlhdGlvbnMgZnJvbSB0aGUg ZGVmYXVsdCBhbmQgbGluayB0byBpdCBmcm9tIHRoaXMgCitbZG9jdW1lbnRdKCNzcGVjaWFsaXNh dGlvbikuIFRoZSBvbmx5IGV4Y2VwdGlvbiBpcyB0aGF0IGVhY2ggcHJvamVjdCBpcyAKK3JlcXVp cmVkIHRvIGFkaGVyZSB0byB0aGUgKipSZXZpZXcgVGhlbiBDb21taXQgUG9saWN5KiosICoqTGVh ZGVyc2hpcCBUZWFtIAorRGVjaXNpb25zKiogYW5kICoqQ29uZmxpY3QgUmVzb2x1dGlvbioqLgor CiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgIElTU1VFUyBUTyBCRSBBRERS RVNTRUQgTEFURVI6Ci0gICAgLSBBZGQgYSBwcmUtYW1ibGUgZXhwbGFpbmluZyB0aGUgZGlmZmVy ZW50IGRlY2lzaW9uIG1ha2luZyBtZWNoYW5pc21zIGFuZCB3aGVuIHRoZXkgCi0gICAgICBhcHBs eQotICAgIC0gQWRkIGEgc2VjdGlvbiBhYm91dCByZXZpZXcgYW5kIGNvbW1pdCwgd2hpY2ggaXMg dGhlIHByaW1hcnkgbWVhbnMgb2YgbWFraW5nIAotICAgICAgY29kZSByZWxhdGVkIGRlY2lzaW9u cworICAgIFRPRE8sIGFmdGVyIHRoaXMgc2VjdGlvbiBpcyBhZ3JlZWQsIG9yIG1vc3RseSBhZ3Jl ZWQKKyAgICAtIEFkZCBhIHRhYmxlIG9mIHRoZSBwcm9qZWN0cyB0aGF0IHN0YXRlcyB3aG8gYWRo ZXJlcyB0byB0aGUgZGVmYXVsdAorICAgIC0gSSBiZWxpZXZlIHRoYXQgdGhlIEh5cGVydmlzb3Is IHdpblBWIGFuZCBYQVBJIGFyZSBsaWtlbHkgdG8gYWRoZXJlIHRvIHRoaXMgc2VjdGlvbgogICAg IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIyMjIENvbnNlbnN1cyBEZWNpc2lvbiBN YWtpbmcKKyMjIyBSZXZpZXcgVGhlbiBDb21taXQgeyNSVEN9CisKK1RoZSB2YXN0IG1ham9yaXR5 IG9mIHRlY2huaWNhbCBkZWNpc2lvbnMgd2l0aGluIHRoZSBYZW4gUHJvamVjdCBhcmUgY29kZSAK K3JlbGF0ZWQgZGVjaXNpb25zIChlLmcuIHBhdGNoZXMgYW5kIGRlc2lnbiBkb2N1bWVudHMpLCB3 aGljaCBkZXRlcm1pbmUgd2hldGhlciAKK2Egc3BlY2lmaWMgY2hhbmdlIGNhbiBiZSBhY2NlcHRl ZCBpbnRvIHRoZSBjb2RlIGJhc2UuIFRoZSBkZWZhdWx0IGRlY2lzaW9uIAorbWFraW5nIHByb2Nl c3MgaXMgYSByZXZpZXcgYW5kIGNvbW1pdCBwcm9jZXNzLCB3aGljaCByZXF1aXJlcyB0aGF0IGFs bCBjaGFuZ2VzIAorcmVjZWl2ZSBleHBsaWNpdCBhcHByb3ZhbCBmcm9tIHJlc3BlY3RpdmUgY29k ZSBvd25lcnMgKG1haW50YWluZXJzKSBiZWZvcmUgdGhleSAKK2FyZSBjb21taXR0ZWQuIFRoZSBl eGFjdCB3b3JrZmxvdyBhbmQgZGV0YWlscyBvZiB0aGlzIHBvbGljeSBiZXR3ZWVuIAorc3ViLXBy b2plY3RzIG1heSBkaWZmZXIgYW5kIGFyZSBkb2N1bWVudGVkIGluIG9uZSBvciBzZXZlcmFsIG9m IHRoZSBmb2xsb3dpbmcgCitwbGFjZXM6IE1BSU5UQUlORVJTL1JFQURNRS9DT05UUklCVVRJTkcg ZmlsZXMgaW4gcmVwb3NpdG9yaWVzIGFuZC9vciB0aGUgCitzdWItcHJvamVjdCB0ZWFtIHBvcnRh bC4KKworIyMjIEV4cHJlc3NpbmcgQWdyZWVtZW50IGFuZCBEaXNhZ3JlZW1lbnQgeyNleHByZXNz aW5nb3Bpbmlvbn0gCisKKworV2l0aGluIHRoZSBjb21tdW5pdHksIHdlIGZvbGxvdyB0aGUgZm9s bG93aW5nIG51bWJlciBub3RhdGlvbiB0byBleHBsaWNpdGx5IAorZXhwcmVzcyBvcGluaW9ucyBv biBwcm9wb3NhbHMsIGZvcm1hbCBvciBpbmZvcm1hbCB2b3Rlcy4KKworLSAgICoqKzIqKiA6IEkg YW0gaGFwcHkgd2l0aCB0aGlzIHByb3Bvc2FsLCBhbmQgSSB3aWxsIGFyZ3VlIGZvciBpdAorLSAg ICoqKzEqKiA6IEkgYW0gaGFwcHkgd2l0aCB0aGlzIHByb3Bvc2FsLCBidXQgd2lsbCBub3QgYXJn dWUgZm9yIGl0CistICAgKiowKiogOiBJIGhhdmUgbm8gb3BpbmlvbgorLSAgICoqLTEqKiA6IEkg YW0gbm90IGhhcHB5IHdpdGggdGhpcyBwcm9wb3NhbCwgYnV0IHdpbGwgbm90IGFyZ3VlIGFnYWlu c3QgaXQKKy0gICAqKi0yKiogOiBJIGFtIG5vdCBoYXBweSB3aXRoIHRoaXMgcHJvcG9zYWwsIGFu ZCBJIHdpbGwgYXJndWUgYWdhaW5zdCBpdAorCitBICoqLTIqKiBzaG91bGQgaW5jbHVkZSBhbiBh bHRlcm5hdGl2ZSBwcm9wb3NhbCBvciBhIGRldGFpbGVkIGV4cGxhbmF0aW9uIG9mIAordGhlIHJl YXNvbnMgZm9yIHRoZSBuZWdhdGl2ZSBvcGluaW9uLiBBICoqKzIqKiBzaG91bGQgaW5jbHVkZSBy ZWFzb25zIGZvciB0aGUgCitwb3NpdGl2ZSBvcGluaW9uLgorCitIb3cgd2UgdGFsbHkgcmVzdWx0 cyBhbmQgdGhlaXIgaW1wbGljYXRpb25zIGRlcGVuZCBvbiB0aGUgY29udGV4dCBpbiB3aGljaCBp cyAKK2lzIHVzZWQgYW5kIGFyZSBtYXJrZWQgd2l0aCBQYXNzZWQvRmFpbGVkOiBpbiBvbmUgb2Yg dGhlIGZvbGxvd2luZyBzZWN0aW9uczoKKworLSAgIFtMYXp5IENvbnNlbnN1cyAvIExhenkgVm90 aW5nXSgjbGF6eWNvbnNlbnN1cykKKy0gICBbTGVhZGVyc2hpcCBUZWFtIERlY2lzaW9uc10oI2xl YWRlcnNoaXApCistICAgW1Byb2plY3QgV2lkZSBEZWNpc2lvbiBNYWtpbmddKCNwcm9qZWN0LWRl Y2lzaW9ucykKKworIyMjIExhenkgQ29uc2Vuc3VzIC8gTGF6eSBWb3RpbmcgeyNsYXp5Y29uc2Vu c3VzfQorCitMYXp5IENvbnNlbnN1cyBpcyBhIHVzZWZ1bCB0ZWNobmlxdWUgdG8gbWFrZSBkZWNp c2lvbnMgZm9yIHNwZWNpZmljIHByb3Bvc2FscyAKK3doaWNoIGFyZSBub3QgY292ZXJlZCBieSB0 aGUgUmV2aWV3IFRoZW4gQ29tbWl0IFBvbGljeSBvciBkbyBub3QgcmVxdWlyZSBhIG1vcmUgCitm b3JtYWwgZGVjaXNpb24gKHNlZSBiZWxvdykuIExhenkgQ29uc2Vuc3VzIGlzIGV4dHJlbWVseSB1 c2VmdWwsIHdoZW4geW91IGRvbid0IAorYW50aWNpcGF0ZSBhbnkgb2JqZWN0aW9ucywgb3IgdG8g Z2FnZSB3aGV0aGVyIHRoZXJlIGFyZSBvYmplY3Rpb25zIHRvIGEgCitwcm9wb3NhbC4gVGhlIGNv bmNyZXRlIHByb2Nlc3MgaW4gdGhpcyBzZWN0aW9uIGlzIGEgbWl4dHVyZSBiZXR3ZWVuIExhenkg Q29uc2Vuc3VzCithbmQgTGF6eSBWb3RpbmcgYW5kIGlzIGRlc2lnbmVkIHRvIGF2b2lkIHVubmVj ZXNzYXJ5IG11bHRpcGxlIHN0YWdlcyBpbiBkZWNpc2lvbgorbWFraW5nLgorCitUbyBtYWtlIHVz ZSBvZiBpdCwgcG9zdCBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIG9uIHRoZSBwcm9qZWN0 J3MgCittYWlsaW5nIGxpc3QgKG9yIHNvbWUgb3RoZXIgY29tbXVuaWNhdGlvbiBjaGFubmVsKToK KworICAgID4gSSBhbSBhc3N1bWluZyB3ZSBhcmUgYWdyZWVkIG9uIFggYW5kIGFtIGdvaW5nIHRv IGFzc3VtZSBsYXp5IGNvbnNlbnN1czogPAorICAgID4gaWYgdGhlcmUgYXJlIG5vIG9iamVjdGlv bnMgd2l0aGluIHRoZSBuZXh0IHNldmVuIGRheXMuICAgICAgICAgICAgICAgICAgPAorCitZb3Ug c2hvdWxkIGhvd2V2ZXIgZW5zdXJlIHRoYXQgYWxsIHJlbGV2YW50IHN0YWtlLWhvbGRlcnMgd2hp Y2ggbWF5IG9iamVjdCBhcmUgCitleHBsaWNpdGx5IENDJ2VkLCBzdWNoIGFzIHJlbGV2YW50IG1h aW50YWluZXJzIG9yIGNvbW1pdHRlcnMsIGVuc3VyZSB0aGF0IAorKipsYXp5IGNvbnNlbnN1cyoq IGlzIGluIHRoZSBib2R5IG9mIHlvdXIgbWVzc2FnZSAodGhpcyBoZWxwcyBzZXQgdXAgbWFpbCAK K2ZpbHRlcnMpIGFuZCBjaG9vc2UgYSByZWFzb25hYmxlIHRpbWUtZnJhbWUuIElmIGl0IGlzIHVu Y2xlYXIgd2hvIHRoZSByZWxldmFudCAKK3N0YWtlLWhvbGRlcnMgYXJlLCB0aGUgcHJvamVjdCBs ZWFkZXJzaGlwIGNhbiBub21pbmF0ZSBhIGdyb3VwIG9mIHN0YWtlLWhvbGRlcnMgCit0byBkZWNp ZGUsIG9yIG1heSBjaG9vc2UgdG8gb3duIHRoZSBkZWNpc2lvbiBjb2xsZWN0aXZlbHkgYW5kIHJl c29sdmUgaXQuCisKK09iamVjdGlvbnMgYnkgc3Rha2UtaG9sZGVycyBzaG91bGQgYmUgZXhwcmVz c2VkIHVzaW5nIHRoZSBbY29udmVudGlvbnMgCithYm92ZV0oI2V4cHJlc3NpbmdvcGluaW9uKSB0 byBtYWtlIGRpc2FncmVlbWVudHMgZWFzaWx5IGlkZW50aWZpYWJsZS4KKworX19QYXNzZWQvRmFp bGVkOl9fCitUaGUgcHJvcG9zZXIgb2YgTGF6eSBDb25zZW5zdXMgZGVjaXNpb24gaXMgYXNzdW1l ZCB0byBpbXBsaWNpdGx5IGhhdmUgYW4gCitvcGluaW9uIG9mICoqKzEqKiwgdW5sZXNzIG90aGVy d2lzZSBzdGF0ZWQuCisKKy0gICBGYWlsZWQ6IEEgc2luZ2xlICoqLTIqKiBieSBhIHN0YWtlLWhv bGRlciB3aG9zZSBhcHByb3ZhbCBpcyBuZWNlc3NhcnkKKy0gICBGYWlsZWQ6IEEgdG90YWwgc3Vt IG9mIG9waW5pb25zICoqPD0wKioKKy0gICBQYXNzZWQ6IEEgdG90YWwgc3VtIG9mIG9waW5pb25z ICoqPjAqKgorCitJdCBjYW4gb25seSBiZSBvdmVydHVybmVkIGlmIHRoZSBwcm9qZWN0IGxlYWRl cnNoaXAgYWdyZWVzIGNvbGxlY3RpdmVseSwgdGhhdCAKK3RoZSBkZWNpc2lvbiBpcyB0b28gaW1w b3J0YW50IHRvIGJlIHNldHRsZWQgYnkgbGF6eSBjb25zZW5zdXMgLyBsYXp5IHZvdGluZy4gCitJ biBzaXR1YXRpb25zIHdoZXJlIGEgcHJvcG9zYWwgaXMgZmFpbGVkLCBhbiBhbHRlcm5hdGl2ZSBz b2x1dGlvbiBuZWVkcyB0byBiZSAKK2ZvdW5kLCBvciBpZiBhIGRlY2lzaW9uIGlzIGZvcm1hbGx5 IGNoYWxsZW5nZWQsIFtjb25mbGljdCByZXNvbHV0aW9uIG1lY2hhbmlzbXNdKCNjb25mbGljdCkg bWF5IG5lZWQgdG8gYmUgdXNlZCB0byByZXNvbHZlIHRoZSBzaXR1YXRpb24uCisKK19fRnVydGhl ciBFeGFtcGxlczpfXworQSBMYXp5IENvbnNlbnN1cyBkZWNpc2lvbiBzdGFydHMgb3V0IHdpdGgg dGhlIGltcGxpY2l0ICoqKzEqKiBvcGluaW9uIG9mIHRoZSAKK3Byb3Bvc2VyLiBJZiB0aGVyZSBp cyBubyBleHBsaWNpdCByZXNwb25zZSwgdGhlIHByb3Bvc2FsIHBhc3NlcyBhcyB0aGUgc3VtIAor aXMgKio+MCoqLgorCitJZiB0aGVyZSBpcyBhIHNpbmdsZSAqKi0xKiogd2l0aG91dCBhbnkgKior Kiogdm90ZXMsIHRoZSBwcm9wb3NhbCBmYWlscy4KKworSWYgdGhlcmUgYXJlIG11bHRpcGxlICoq KzEqKidzIG9yICoqKzIqKidzLCBtb3JlICoqLTEqKidzIHRoYW4gcG9zaXRpdmUgdm90ZXMKK2Fy ZSBuZWVkZWQgZm9yIHRoZSBwcm9wb3NhbCB0byBmYWlsLiBUaGlzIG1lY2hhbmlzbSwgaXMgb2Z0 ZW4gYWxzbyBjYWxsZWQKKyoqTGF6eSBWb3RpbmcqKi4gCisKK1RoZSBwcm9jZXNzIGRvZXMgYWxs b3cgZm9yIGEgcHJvcG9zZXIgdG8gc3RhdGUgYSBzdGFydGluZyBvcGluaW9uIG9mICoqMCoqIG9y IAorKiotMSoqLiBJbiB0aGlzIGNhc2UsIHRoZSBMYXp5IENvbnNlbnN1cyBsYWJlbCBkb2VzIG5v dCB3b3JrIGZvciB0aGUgcHJvY2VzcywgCithcyBwb3NpdGl2ZSBvcGluaW9ucyBhcmUgbmVlZGVk IGZvciB0aGUgcHJvcG9zYWwgdG8gcGFzcy4gVG8gbWFrZSB1c2Ugb2YgdGhpcyAKK21lY2hhbmlz bSwgcG9zdCBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIG9uIHRoZSBwcm9qZWN0J3MgbWFp bGluZyBsaXN0IAorKG9yIHNvbWUgb3RoZXIgY29tbXVuaWNhdGlvbiBjaGFubmVsKQorCisgICAg PiBJIHdhbnQgdG8gc29saWNpdCBvcGluaW9ucyBvbiBYIGFuZCBhbSBnb2luZyB0byBhc3N1bWUg bGF6eSB2b3Rpbmc6ICAgICA8CisgICAgPiBNeSBzdGFydGluZyBwb3NpdGlvbiBpcyAqKjAqKiwg YXMgSSBmZWVsIHRoYXQgYXQgbGVhc3Qgb25lIG90aGVyICAgICAgICA8CisgICAgPiBzdGFrZS1o b2xkZXIgc2hvdWxkIGFncmVlIHdpdGggdGhlIHByb3Bvc2FsLiAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8CisgICAgPiBJZiB0aGVyZSBpcyBhIG1ham9yaXR5IGluIGZhdm91ciwgd2l0aG91 dCBhICoqLTIqKiBvYmplY3Rpb24gd2l0aGluIHRoZSA8CisgICAgPiBuZXh0IHNldmVuIGRheXMs IEkgYXNzdW1lIHRoYXQgdGhlIHByb3Bvc2FsIGhvbGRzIGFuZCBkb2VzIG5vdCBuZWVkICAgICA8 IAorICAgID4gcmVxdWlyZSBmdXJ0aGVyIGRpc2N1c3Npb24uICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPAorCitVbmxpa2UgaW4gdGhlIGxhenkgY29uc2Vuc3Vz IGNhc2UsIGEgc2luZ2xlICoqKzEqKiB2b3RlIGlzIG5lZWRlZC4gT3RoZXJ3aXNlCit0aGUgcHJv cG9zYWwgZmFpbHMuIE90aGVyd2lzZSwgdGhlIGNvdW50aW5nIHJ1bGVzIGZvbGxvdyB0aGUgZ2Vu ZXJhbCBjYXNlLgorCitUaGlzIGNhbiBiZSB1c2VmdWwgaW4gc2l0dWF0aW9ucywgd2hlcmUgdGhl IHByb3Bvc2VyIGlzIG5vdCBxdWl0ZSBzdXJlIGFib3V0IAoraGlzL2hlciBwb3NpdGlvbiwgb3Ig d2hlcmUgdGhlIGludm9rZXIgYWN0cyBvbiBiZWhhbGYgb2YgdGhlIGNvbW11bml0eSB0byAKK3Jl c29sdmUgYSBkaXNjdXNzaW9uIHdoaWNoIGhhcyBiZWNvbWUgc3R1Y2suIEEgc3RhcnRpbmcgcG9z aXRpb24gb2YgKiotMSoqIGNhbiAKK2JlIHVzZWQgdG8gdmVyaWZ5IHRoYXQgYSBzcGVjaWZpYyBh cHByb2FjaCBtYXkgYmUgYSBiYWQgaWRlYTogd2hldGhlciB0aGlzIGlzIAorcmVhbGx5IHVzZWZ1 bCwgaGFzIHRvIGJlIHZlcmlmaWVkIGFzIHdlIHN0YXJ0IHVzaW5nIHRoaXMgcHJvY2Vzcy4KKwor IyMjIEluZm9ybWFsIFZvdGVzIG9yIFN1cnZleXMKIAogICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLSAgICBJU1NVRVMgVE8gQkUgQUREUkVTU0VEIExBVEVSOgotICAgIC0gVGhlICJD b25zZW5zdXMgRGVjaXNpb24gTWFraW5nIiBzZWN0aW9uIGlzIHRvdGFsbHkgd3JvbmcuIEl0IGRv ZXMgbm90IGRlc2NyaWJlIAotICAgICAgIkxhenkgQ29uc2Vuc3VzIgorICAgIFJBVElPTkFMRSBm b3IgdGhlIGZvbGxvd2luZyBzZWN0aW9uOgorICAgIGluIHByYWN0aWNlLCB3ZSBoYXZlIGFsd2F5 cyBvcGVyYXRlZCB0aGlzIHdheS4gV2UgZGlkIHRoaXMsIHdoZW4gd2UgaW50cm9kdWNlZCB0aGUg CisgICAgc2VjdXJpdHkgdnVsbmVyYWJpbGl0eSBwcm9jZXNzIGFuZCBmb3Igb3RoZXIgY29udHJv dmVyc2lhbCBjaGFuZ2VzLgogICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotU3Vi LXByb2plY3RzIG9yIHRlYW1zIGhvc3RlZCBvbiBYZW5wcm9qZWN0Lm9yZyBhcmUgbm9ybWFsbHkg YXV0by1nb3Zlcm5pbmcgYW5kIAotZHJpdmVuIGJ5IHRoZSBwZW9wbGUgd2hvIHZvbHVudGVlciBm b3IgdGhlIGpvYi4gVGhpcyBmdW5jdGlvbnMgd2VsbCBmb3IgbW9zdCAKLWNhc2VzLiBXaGVuIG1v cmUgZm9ybWFsIGRlY2lzaW9uIG1ha2luZyBhbmQgY29vcmRpbmF0aW9uIGlzIHJlcXVpcmVkLCBk ZWNpc2lvbnMgCi1hcmUgdGFrZW4gd2l0aCBhIGxhenkgY29uc2Vuc3VzIGFwcHJvYWNoOiBhIGZl dyBwb3NpdGl2ZSB2b3RlcyB3aXRoIG5vIG5lZ2F0aXZlIAotdm90ZSBhcmUgZW5vdWdoIHRvIGdl dCBnb2luZy4KK0dlbmVyYWxseSB0aGUgWGVuIFByb2plY3QgY29tbXVuaXR5IHRyaWVzIHRvIGFj aGlldmUgY29uc2Vuc3VzIG9uIG1vc3QgaXNzdWVzLiAKK0luIHNpdHVhdGlvbnMgd2hlcmUgc2V2 ZXJhbCBjb25jcmV0ZSBvcHRpb25zIGFyZSBwb3NzaWJsZSwgY29tbXVuaXR5IG1lbWJlcnMgCitt YXkgb3JnYW5pemUgYW4gaW5mb3JtYWwgdm90ZSBvbiB0aGUgZGlmZmVyZW50IHByb3Bvc2FscyBh bmQgdXNlIHRoZSAKK1tjb252ZW50aW9ucyBhYm92ZV0oI2V4cHJlc3NpbmdvcGluaW9uKSB0byBp ZGVudGlmeSB0aGUgc3Ryb25nZXN0IHByb3Bvc2FsLiAKK09uY2UgdGhlIHN0cm9uZ2VzdCBjYW5k aWRhdGUgaGFzIGJlZW4gaWRlbnRpZmllZCwgW2xhenkgCitjb25zZW5zdXNdKCNsYXp5Y29uc2Vu c3VzKSBjb3VsZCBiZSB1c2VkIHRvIGNsb3NlIHRoZSBkaXNjdXNzaW9uLiBJbiBzb21lIAorc2l0 dWF0aW9uLCBhIHNwZWNpZmljIHN1cnZleSBtYXkgbmVlZCB0byBiZSBjcmVhdGVkLCB0byBoZWxw IGlkZW50aWZ5IGdhZ2luZyAKK2NvbnNlbnN1cyBvbiBzcGVjaWZpYyBpc3N1ZXMuIEZvciBpbmZv cm1hbCB2b3RlcyBhbmQgc3VydmV5cywgd2UgZG8gbm90IAorcHJlc2NyaWJlIHNwZWNpZmljIHJ1 bGVzLCBhcyB0aGV5IGFyZSBub24tYmluZGluZzogaXQgaXMgdXAgdG8gdGhlIG9yZ2FuaXplciBv ZiAKK2FuIGluZm9ybWFsIHZvdGUgb3Igc3VydmV5IHRvIGludGVycHJldCB0aGUgcmVzdWx0IGFu ZCBleHBsYWluIGl0IHRvIHRoZSAKK2NvbW11bml0eS4gSWYgdGhlIHZvdGUvc3VydmV5IHJlbGF0 ZXMgdG8gYW4gYXJlYSB0aGF0IGlzIG93bmVkIGJ5IHRoZSBwcm9qZWN0IAorbGVhZGVyc2hpcCwg dGhlIHByb2plY3QgbGVhZGVyc2hpcCBoYXMgdG8gZm9ybWFsbHkgY29uZmlybSB0aGUgZGVjaXNp b24uCisKK05vdGUgdGhhdCBpbmZvcm1hbCB2b3RlcyBhbW9uZ3N0IGEgc21hbGwgc2V0IG9mIHN0 YWtlLWhvbGRlcnMgdGhhdCBkaXNhZ3JlZSBvbiAKK2EgcG9zaXRpb24gZHVyaW5nIHRlY2huaWNh bCBkaXNhZ3JlZW1lbnRzIGluIGNvZGUsIGRlc2lnbiByZXZpZXdzIGFuZCBvdGhlciAKK2Rpc2N1 c3Npb25zIGNhbiBiZSB1c2VmdWwuIEluIHRlY2huaWNhbCBkaXNjdXNzaW9ucyBpdCBpcyBub3Qg YWx3YXlzIGNsZWFyIGhvdyAKK3N0cm9uZyBhZ3JlZW1lbnQgb3IgZGlzYWdyZWVtZW50IG9uIGEg c3BlY2lmaWMgaXNzdWUgaXMuIFVzaW5nIHRoZSBbY29udmVudGlvbnMgCithYm92ZV0oI2V4cHJl c3NpbmdvcGluaW9uKSwgY2FuIGhlbHAgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIG1pbm9yIGFuZCBt YWpvciAKK2Rpc2FncmVlbWVudHMgYW5kIHJlZHVjZSB0aGUgdGltZSBhIGRpc2N1c3Npb25zIGNv bnRpbnVlcyB1bm5lY2Vzc2FyaWx5LiBUaGlzIAoraXMgdHJ1ZSBpbiBwYXJ0aWN1bGFyIGZvciBj YXNlcywgd2hlcmUgc2V2ZXJhbCBtYWludGFpbmVycyBtYXkgbmVlZCB0byBhZ3JlZSB0byAKK2Eg cHJvcG9zYWwuCisKK1doZW4gaGF2aW5nIGFuIGluZm9ybWFsIHZvdGUgb3Igc3VydmV5LCB0aGV5 IGNyZWF0b3Igc2hvdWxkIGNvbnNpZGVyIHdoZXRoZXIgCitjb25kdWN0aW5nIGEgdm90ZSBvciBz dXJ2ZXkgaW4gcHVibGljLCBtYXkgYmUgZGl2aXNpdmUgYW5kIGRhbWFnaW5nIGZvciB0aGUgCitj b21tdW5pdHkuIEluIHN1Y2ggY2FzZXMsIHRoZSB2b3RlL3N1cnZleSBzaG91bGQgYmUgY29uZHVj dGVkIGFub25vbW91c2x5LgogCiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAg IC0gSW50cm9kdWNlIC0yIHRvICsyIHZvdGluZyB1bmRlciBhIG5ldyBzZWN0aW9uCisgICAgVGhl IGZvbGxvd2luZyBzZWN0aW9uIHJlcHJlc2VudHMgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgY2hhbmdl IHRvIHRoZSBnb3Zlcm5hbmNlLiBJbiAKKyAgICB0aGUgb3JpZ2luYWwgZ292ZXJuYW5jZSBkb2N1 bWVudCwgd2UgaGFkIG9uZSB3YXkgb2YgbWFraW5nIHByb2plY3QtbG9jYWwgZGVjaXNpb25zIAor ICAgIHRocm91Z2ggYSBmb3JtYWwgdm90ZSBvbiBwcm9wb3NhbHMgYnkgbWFpbnRhaW5lcnMuIFVu Zm9ydHVuYXRlbHksIGluIHRoZSBvcmlnaW5hbCAKKyAgICBnb3Zlcm5hbmNlIGRvY3VtZW50LCB0 YWxseWluZyB0aGUgdm90ZSBpcyBub3Qgc3BlY2lmaWVkLiBIb3dldmVyLCBpbiB0aGUgZ2VuZXJh bCAKKyAgICBzZWN0aW9uIGFib3V0IGhvdyB3ZSBtYWtlIGRlY2lzaW9ucywgd2UgZXNzZW50aWFs bHkgc2F5IHRoYXQgZGVjaXNpb25zIGluIGdlbmVyYWwgCisgICAgb25seSBob2xkLCBpZiB0aGVy ZSBhcmUgbm8gb2JqZWN0aW9ucyAodmV0b3MpLiBBcyBzb21lIHBlb3BsZSBzdGF0ZWQgaW4gcHJp b3IgCisgICAgZGlzY3Vzc2lvbiB0aGlzIGdldHMgYXMgdG8gImEgVU4tc3R5bGUgbW9kZWwgdGhh dCByZXF1aXJlcyB1bmFuaW1pdHkiLiAKKworICAgIElmIHdlIGVuZCB1cCB3aXRoIGRpc2FncmVl bWVudHMsIHdlIHRoZW4gaGF2ZSBjb25mbGljdCByZXNvbHV0aW9uIG1lY2hhbmlzbXMsIHdoaWNo IAorICAgIHJlcXVpcmUgYSBzaW1wbGUgbWFqb3JpdHkgYnkgY29tbWl0dGVycy4KKworICAgIFRo aXMgcmFpc2VzIHRoZSBxdWVzdGlvbiwgd2h5IHdlIGRvbid0IGdvIGZvciBhIG1vcmUgdW5pZmll ZCBhcHByb2FjaCBmb3IgZGVjaXNpb25zLAorICAgIHRoYXQgZG9lcyBub3QgcmVxdWlyZSB0d28g c3RhZ2VzLiBJbiBhIG51bWJlciBvZiBwcmV2aW91cyBkaXNjdXNzaW9ucyBvbiB4ZW4tZGV2ZWxA CisgICAgaXQgd2FzIHByb3Bvc2VkIGJ5IHNldmVyYWwgY29tbWl0dGVycywgdGhhdCBhIG1ham9y aXR5IGJhc2VkIGFwcHJvYWNoLCB3aXRoIG1vcmUgdGhhbgorICAgIGEgc2ltcGxlIG1ham9yaXR5 IGFzIHJlcXVpcmVtZW50IGZvciBtYWtpbmcgZGVjaXNpb25zIChlLmcuIDIvM3JkcyBvciA3NSUp IG1heSBiZQorICAgIG1vcmUgZGVzaXJhYmxlLgorCisgICAgVGhpcyBzZWN0aW9uIGF0dGVtcHRz IHRvIAorICAgIC0gb3B0aW1pc2UsIGNvbnNvbGlkYXRlIGFuZCBjbGFyaWZ5IGZvcm1hbCBkZWNp c2lvbiBtYWtpbmcKKyAgICAtIGluIHBhcnRpY3VsYXIgaW4gc2l0dWF0aW9ucyB3aGVyZSBpdCBp cyBub3QgY2xlYXIgd2hvIG93bnMgYSBkZWNpc2lvbgorICAgIC0gYW5kIHVzZSB0aGUgc2FtZSBk ZWNpc2lvbiBtYWtpbmcgbWVjaGFuaXNtIGZvciAqYWxsKiB0eXBlcyBvZiBkZWNpc2lvbnMgdGhh dAorICAgICAgY2Fubm90IGJlIHJlc29sdmVkIGJ5IFJUQyBhbmQgTGF6eSBDb25zZW5zdXMKKyAg ICAtIFRoZSBleGNlcHRpb24gaXMgUHJvamVjdCBXaWRlIERlY2lzaW9uIE1ha2luZwogICAgIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVm90aW5nIGlzIGRvbmUgd2l0aCBudW1iZXJz OgorIyMjIExlYWRlcnNoaXAgVGVhbSBEZWNpc2lvbnMgeyNsZWFkZXJzaGlwfQorCitFYWNoIHN1 Yi1wcm9qZWN0IGhhcyBhIGxlYWRlcnNoaXAgdGVhbSwgd2hpY2ggaXMgdHlwaWNhbGx5IG1hZGUg dXAgb2YgdGhlIG1vc3QgCitzZW5pb3IgYW5kIGluZmx1ZW50aWFsIGRldmVsb3BlcnMgd2l0aGlu IHRoZSBzdWItcHJvamVjdCAoZS5nLiB0aGUgcHJvamVjdCdzIAorY29tbWl0dGVycykuIFRoZSBw cm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBvd25zIGRlY2lzaW9ucywgc3VjaCBhczoKKworLSAgIFN1 Yi1wcm9qZWN0IHdpZGUgcG9saWN5IGRlY2lzaW9ucyAoZS5nLiBwb2xpY2llcywgcHJvY2VkdXJl cyBhbmQgcHJvY2Vzc2VzIAord2hvc2Ugc2NvcGUgaXMgc3BlY2lmaWMgdG8gdGhlIHN1Yi1wcm9q ZWN0cykuIFRoaXMgaW5jbHVkZXMgZGV2aWF0aW9ucyBmcm9tIAorcHJvamVjdCBnbG9iYWwgZ292 ZXJuYW5jZSwgd2hlcmUgcGVybWlzc2libGUuCistICAgRGVjaXNpb25zIHJlbGF0ZWQgdG8gc3Vi LXByb2plY3QgYXNzZXRzIHRoYXQgYXJlIG5vdCBjbGVhcmx5IG93bmVkIChlLmcuIAordW5vd25l ZCBjb2RlLCBwcm9qZWN0IHdpZGUgYXNzZXRzIHN1Y2ggYXMgdGVzdCBpbmZyYXN0cnVjdHVyZSwg ZXRjLikuCistICAgRGVjaXNpb25zIHJlbGF0ZWQgdG8gbm9taW5hdGluZyBhbmQgY29uZmlybWlu ZyBsZWFkZXJzaGlwIHJvbGVzIHdpdGhpbiB0aGUgCitzdWItcHJvamVjdC4gVGhpcyBpbmNsdWRl cyBbZGVjaXNpb25zIHRvIGNyZWF0aW5nIGFuZCBmaWxsaW5nIHNwZWNpYWxpc2VkIG5ldyAKK3Jv bGVzXSgjZWxlY3Rpb25zKSwgc3VjaCBhcyByZWxlYXNlIG1hbmFnZXJzIG9yIHNpbWlsYXIsIGlu Y2x1ZGluZyB0aGVpciBzY29wZSAKK2FuZCBzZXQgb2YgcmVzcG9uc2liaWxpdGllcy4KKy0gICBS ZXNvbHZpbmcgW2NvbmZsaWN0c10oI2NvbmZsaWN0KSB3aXRoaW4gdGhlIHN1Yi1wcm9qZWN0IHRo YXQgY2Fubm90IAorb3RoZXJ3aXNlIGJlIHJlc29sdmVkLgorCitMZWFkZXJzaGlwIHRlYW0gZGVj aXNpb25zIGNhbiBiZSBtYWRlIGluIHByaXZhdGUgKGUuZy4gYSBwcml2YXRlIElSQyBtZWV0aW5n LCAKK29uIGEgcHJpdmF0ZSBtYWlsaW5nIGxpc3QsIHRocm91Z2ggYSBwcml2YXRlIHZvdGUpIG9y IG9uIGEgcHVibGljIG1haWxpbmcgbGlzdCAKK3VzaW5nIFtkZWNpc2lvbiBtYWtpbmcgY29udmVu dGlvbnNdKCNleHByZXNzaW5nb3BpbmlvbikuIElmIGEgZGVjaXNpb24gaXMgbWFkZSAKK2luIHBy aXZhdGUsIHRoZSBvdXRjb21lIG11c3QgYmUgc3VtbWFyaXplZCBpbiB0ZXJtcyBvZiBudW1iZXIg b2Ygdm90ZXMgaW4gCitmYXZvdXIgb3IgYWdhaW5zdCBvbiBhIHB1YmxpYyBtYWlsaW5nIGxpc3Qu IERlY2lzaW9ucyBzaG91bGQgKipub3QqKiBnZW5lcmFsbHkgCitiZSBtYWRlIGluIGFuIGFub255 bW91cyB2b3RlLCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiB0byBkbyBzby4gRm9yIAor ZXhhbXBsZSwgaWYgdGhlIGRlY2lzaW9uIG1heSBiZSBkaXZpc2l2ZSBhbmQgZGFtYWdlIHRoZSBj b2hlc2lvbiBvZiB0aGUgCitsZWFkZXJzaGlwIHRlYW0sIGFuIGFub255bW91cyB2b3RlIGlzIHBy ZWZlcnJlZC4gSW4gc3VjaCBjYXNlcywgdGhlIGxlYWRlcnNoaXAgCit0ZWFtLCBjYW4gYXNrIHRo ZSB0aGUgY29tbXVuaXR5IG1hbmFnZXIsIHRvIGFycmFuZ2UgYW4gYW5vbnltb3VzIHZvdGUgb24g YmVoYWxmIAorb2YgdGhlIGxlYWRlcnNoaXAgdGVhbS4KKworRGVjaXNpb25zIChhbHNvIGNhbGxl ZCBSZXNvbHV0aW9ucykgcmVxdWlyZSBhICoqMi8zcmQqKiBtYWpvcml0eSBhbW9uZ3N0IGFjdGl2 ZSAKK2xlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGluIGZhdm91ciBvZiBhIHByb3Bvc2FsLiBUaGUg dGFsbHlpbmcgb2Ygdm90ZXMgZm9sbG93cyAKK3RoZSBydWxlcyBvdXRsaW5lZCBiZWxvdy4gTm90 ZSB0aGF0IGEgbWluaW11bSBvZiAzIGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGlzIAorbmVlZGVk IGZvciBhIFtsZWFkZXJzaGlwIHRlYW0gdG8gZnVuY3Rpb25dKCNleGNlcHRpb25hbC1jaXJjdW1z dGFuY2VzKS4KKworTGVhZGVyc2hpcCB0ZWFtIGRlY2lzaW9ucyBub3JtYWxseSBoYXZlIHRvIGJl IG1hZGUgYWN0aXZlbHk6IGluIG90aGVyIHdvcmRzIAorZWFjaCB0ZWFtIG1lbWJlciBoYXMgdG8g Y2FzdCBhIHZvdGUgKipleHBsaWNpdGx5KiogZXhwcmVzc2luZyB0aGVpciBvcGluaW9uLiAKK1Ro ZSBvbmx5IGV4Y2VwdGlvbiBhcmUgZmFjZS0yLWZhY2Ugb3Igb24tbGluZSBtZWV0aW5ncyB3aXRo IGEgcXVvcnVtIG9mIAorKioyLzNyZCoqIG9mIGFjdGl2ZSBsZWFkZXJzaGlwIHRlYW0gbWVtYmVy cyBwcmVzZW50IGF0IHRoZSBtZWV0aW5nOiBpbiBzdWNoIAorY2FzZXMgYSBtZWV0aW5nIGNoYWly IGlzIHJlcXVpcmVkIHdobyBjYWxscyBmb3IgZGVjaXNpb24gb24gYSByZXNvbHV0aW9uIGFuZCAK K2Fza3MgZm9yIG9iamVjdGlvbnMuIFRoaXMgYWxsb3dzIHRvIGNvbmR1Y3QgbWVldGluZ3MgbW9y ZSBxdWlja2x5LgorCitfX1Bhc3NlZC9GYWlsZWQgUmVzb2x1dGlvbnM6X18KKworVm90aW5nIGlz IGNvbmR1Y3RlZCBpbiBsaW5lIHdpdGggdGhlIGZvbGxvd2luZyBydWxlczoKKworLSAgIFByb2pl Y3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgdm90ZSBmb3IgKCoqKzEqKikgb3IgYWdhaW5zdCAo KiotMSoqKSBhIAorcmVzb2x1dGlvbi4gVGhlcmUgaXMgbm8gZGlmZmVyZW50aWF0aW9uIGJldHdl ZW4gKiorMSoqLyAqKisyKiogYW5kIAorKiotMSoqLyoqLTIqKjogaW4gb3RoZXIgd29yZHMgYSAq KisyKiogaXMgY291bnRlZCBhcyBhIHZvdGUgZm9yLCBhICoqLTIqKiBhcyBhIAordm90ZSBhZ2Fp bnN0IHRoZSByZXNvbHV0aW9uLiBUaGUgbnVtYmVyIG9mIHZvdGVzIGZvciBhbmQgYWdhaW5zdCBh IHJlc29sdXRpb24gCitpcyBjYWxsZWQgKiphY3RpdmUgdm90ZSoqLiAqKjAqKiB2b3RlcyAqKmFy ZSBub3QgY291bnRlZCoqIGFzIGFuIGFjdGl2ZSB2b3RlLgorLSAgIEEgKipxdW9ydW0gb2YgbW9y ZSB0aGFuIDUwJSBvZiBhY3RpdmUgdm90ZXMqKiBpcyByZXF1aXJlZCBmb3IgYSByZXNvbHV0aW9u IAordG8gcGFzcy4gSW4gb3RoZXIgd29yZHMsIGlmIHRoZSBsZWFkZXJzaGlwIHRlYW0gaGFzIDcg bWVtYmVycywgYXQgbGVhc3QgNCAKK2FjdGl2ZSB2b3RlcyBhcmUgcmVxdWlyZWQgZm9yIGEgcmVz b2x1dGlvbiB0byBwYXNzLgorLSAgIFRoZSByZXNvbHV0aW9uIHBhc3NlcywgaWYgYSAyLzMgbWFq b3JpdHkgb2YgYWN0aXZlIHZvdGVzIGlzIGluIGZhdm91ciBvZiAKK2l0LiAKKworVGhlIHRhYmxl IGJlbG93IG1hcHMgYWN0aXZlIHZvdGVzIGFnYWluc3Qgdm90ZXMgbmVlZGVkIHRvIHBhc3M6CisK KyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0gLS0gLS0gLS0gLS0gLS0gLS0gLS0g LS0KKyAgKipBY3RpdmUgVm90ZXMqKiAgICAgICAgICAgICAgMTAgIDkgIDggIDcgIDYgIDUgIDQg IDMgIDIKKyAgKiorMSB2b3RlcyBuZWVkZWQgdG8gcGFzcyoqICAgIDcgIDYgIDYgIDUgIDQgIDQg IDMgIDIgIDIKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0gLS0gLS0gLS0gLS0g LS0gLS0gLS0gLS0KIAotLSAgICsxIDogYSBwb3NpdGl2ZSB2b3RlCi0tICAgMCA6IGFic3RhaW4s IGhhdmUgbm8gb3BpbmlvbgotLSAgIC0xIDogYSBuZWdhdGl2ZSB2b3RlCisgICAgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIFRoaXMgY29tbWVudCBzZWN0aW9uIGNvbnRhaW5zIHNv bWUgZXhhbXBsZXMgdGhhdCBoYXZlIGluZmx1ZW5jZWQgdGhlIHNlY3Rpb24gYWJvdmUuCisgICAg SSBhbSBsZWF2aW5nIHRoaXMgaW4gZm9yIG5vdywgYnV0IHRoZSBjb21tZW50IHNlY3Rpb24gKGFz IGFsbCBjb21tZW50cyBzZWN0aW9ucworICAgIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBwdWJs aXNoZWQgaHRtbCkuCisgCisgICAgVGhlIGNvbnNlbnN1cyBzZWVtcyB0byBiZSBmb3IgdGhlIDAt cnVsZSBhcyBvdXRsaW5lZCBiZWxvdyBhbmQgaXMgZW5jb2RlZCBpbiB0aGUKKyAgICBwcm9wb3Nh bCBhYm92ZS4KIAotQSBuZWdhdGl2ZSB2b3RlIHNob3VsZCBpbmNsdWRlIGFuIGFsdGVybmF0aXZl IHByb3Bvc2FsIG9yIGEgZGV0YWlsZWQgCi1leHBsYW5hdGlvbiBvZiB0aGUgcmVhc29ucyBmb3Ig dGhlIG5lZ2F0aXZlIHZvdGUuIFRoZSBwcm9qZWN0IGNvbW11bml0eSB0aGVuIAotdHJpZXMgdG8g Z2F0aGVyIGNvbnNlbnN1cyBvbiBhbiBhbHRlcm5hdGl2ZSBwcm9wb3NhbCB0aGF0IHJlc29sdmVz IHRoZSBpc3N1ZS4gCi1JbiB0aGUgZ3JlYXQgbWFqb3JpdHkgb2YgY2FzZXMsIHRoZSBjb25jZXJu cyBsZWFkaW5nIHRvIHRoZSBuZWdhdGl2ZSB2b3RlIGNhbiAKLWJlIGFkZHJlc3NlZC4KKyAgICBX ZSBhbHNvIHNlZW0gdG8gYmUgYWdyZWVkIG9uIGEgMi8zcmQgbWFqb3JpdHkgZm9yIGxlYWRlcnNo aXAgZGVjaXNpb25zLgogCi0jIyMgQ29uZmxpY3QgUmVzb2x1dGlvbgorICAgIExldCBtZSBleHBy ZXNzIHRoaXMgYXMgYW4gYWxnb3JpdGhtLgogCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotICAgIElTU1VFUyBUTyBCRSBBRERSRVNTRUQgTEFURVI6IAotICAgIC0gR2VuZXJhbGlz ZSByZWZlcmVlaW5nIGluIHRlcm1zIG9mIFByb2plY3QgTGVhZGVyc2hpcCBpbnN0ZWFkIG9mIHNw ZWNpZmljIHJvbGVzCi0gICAgLSBBbHNvIHNvbWUgZXhhbXBsZXMgZm9yIHNQZWNpZmljIHNpdHVh dGlvbnMgdGhhdCBoYXZlIGhhcHBlbmVkIGluIHRoZSBwYXN0IG1heSBiZSAKLSAgICAgIHVzZWZ1 bAotICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIHRyZXNoaG9sZD0yLzM7 CisgICAgICBhY3RpdmU9J251bWJlciBvZiBhY3RpdmUgbWVtYmVycyc7ICg3IGZvciB0aGUgSHlw ZXJ2aXNvciBwcm9qZWN0OyBJYW5DIGlzIGluYWN0aXZlKQorICAgICAgZmF2b3VyPSdudW1iZXIg b2YgKzEgYW5kICsyIHZvdGVzJyAKKyAgICAgIGFnYWluc3Q9J251bWJlciBvZiAtMSBhbmQgLTIg dm90ZXMnCisgICAgICBzdHJvbmctYWdhaW5zdD0nbnVtYmVyIC0yIHZvdGVzJzsganVzdCBhZGRl ZCB0aGlzIGFzIGEgc2FuaXR5IGNoZWNrCiAKLSMjIyMgUmVmZXJlZWluZworICAgIE9uZSBvcGVu IHF1ZXN0aW9uIGlzIHdoYXQgdG8gZG8gd2l0aCAwLXZvdGVzLiBXZSBjb3VsZCBpbnRyb2R1Y2Ug YSBydWxlIGRpc2NvdW50aW5nIAorICAgIDAgdm90ZXMgKGxldCdzIGNhbGwgaXQgMC1ydWxlKS4g SWYgc29tZW9uZSB2b3RlcyAwLCB3ZSBhc3N1bWUgdGhleSByZWFsbHkgZG9uJ3QgY2FyZQorICAg IGFib3V0IHRoZSBvdXRjb21lIGFuZCBhcmUgY29uc2lkZXJlZCBpbmFjdGl2ZSBmb3IgdGhlIHB1 cnBvc2Ugb2YgdGhlIHZvdGUuIAogCi1TdWItcHJvamVjdHMgYW5kIHRlYW1zIGhvc3RlZCBvbiBY ZW5wcm9qZWN0Lm9yZyBhcmUgbm90IGRlbW9jcmFjaWVzIGJ1dCAKLW1lcml0b2NyYWNpZXMuIElu IHNpdHVhdGlvbnMgd2hlcmUgdGhlcmUgaXMgZGlzYWdyZWVtZW50IG9uIGlzc3VlcyByZWxhdGVk IHRvIAotdGhlIGRheS10by1kYXkgcnVubmluZyBvZiB0aGUgcHJvamVjdCwgQ29tbWl0dGVycyBh bmQgUHJvamVjdCBMZWFkcyBhcmUgCi1leHBlY3RlZCB0byBhY3QgYXMgcmVmZXJlZXMgYW5kIG1h a2UgYSBkZWNpc2lvbiBvbiBiZWhhbGYgb2YgdGhlIGNvbW11bml0eS4gCi1SZWZlcmVlcyBzaG91 bGQgaG93ZXZlciBjb25zaWRlciB3aGV0aGVyIG1ha2luZyBhIGRlY2lzaW9uIG1heSBiZSBkaXZp c2l2ZSBhbmQgCi1kYW1hZ2luZyBmb3IgdGhlIGNvbW11bml0eS4gSW4gc3VjaCBjYXNlcywgdGhl IGNvbW1pdHRlciBjb21tdW5pdHkgb2YgdGhlIAotcHJvamVjdCBjYW4gcHJpdmF0ZWx5IHZvdGUg b24gYW4gaXNzdWUsIGdpdmluZyB0aGUgZGVjaXNpb24gbW9yZSB3ZWlnaHQuCisgICAgSW4gdGhh dCBjYXNlOgorCisgICAgICBhY3RpdmUgLT0gMC12b3RlczsKKworICAgIFdpdGhvdXQgdGhlIDAt cnVsZTogCisgICAgLSB0byBwYXNzOiBmYXZvdXIvYWN0aXZlID49IHRyZXNoaG9sZCAKKyAgICAg IHRvIHBhc3M6IHdpdGggYWN0aXZlPT03LCBmYXZvdXIgPj0gNQorICAgICAgaW4gb3RoZXIgd29y ZHMsIDMgKDAsLTEsLTIpLXZvdGVzIGJsb2NrIHRoZSBwcm9wb3NhbCBhcyB3ZSBjYW50IGFjaGll dmUgZmF2b3VyPj01CisKKyAgICBXaXRoIHRoZSAwLXJ1bGUsIGxldCdzIGNvbnNpZGVyIDEsIDIg b3IgMyAwLXZvdGVzCisgICAgMT0+NjogdG8gcGFzczogZmF2b3VyID49NAorICAgICAgICAgIGlu IG90aGVyIHdvcmRzLCAzICgtMSwtMiktdm90ZXMgYmxvY2sgdGhlIHByb3Bvc2FsCisgICAgMj0+ NTogdG8gcGFzczogZmF2b3VyID49NAorICAgICAgICAgIGluIG90aGVyIHdvcmRzLCAyICgtMSwt Miktdm90ZSBibG9ja3MgdGhlIHByb3Bvc2FsCisgICAgMz0+NDogdG8gcGFzczogZmF2b3VyID49 MworICAgICAgICAgIGluIG90aGVyIHdvcmRzLCAyICgtMSwtMiktdm90ZSBibG9ja3MgdGhlIHBy b3Bvc2FsCisKKyAgICBMb29raW5nIGF0IHRoZSBhcml0aG1ldGljLCBpdCBkb2VzIHByb2JhYmx5 IG1ha2Ugc2Vuc2UgdG8gZ28gZm9yIHRoZSAwLXJ1bGUuIElmIHdlCisgICAgZG8sIHRoZXJlIG91 Z2h0IHRvIGJlIG1vcmUgdm90ZXMgaW4gZmF2b3VyIG9mIGEgcHJvcG9zYWwsIHRoYW4gMC12b3Rl cy4KKworICAgIE9uIHRoZSBvdGhlciBoYW5kLCBub3QgaGF2aW5nIHRoZSAwLXJ1bGUgZm9yY2Vz IGV2ZXJ5b25lIHRvIGZvcm0gYW4gb3BpbmlvbiwgCisgICAgb3RoZXJpc2Ugd2Ugd2lsbCBmaW5k IGl0IGhhcmQgdG8gbWFrZSBkZWNpc2lvbnMuIEJ1dCBpbiBzb21lIGNhc2VzLCBmb3JtaW5nIGFu CisgICAgb3BpbmlvbiBjb3N0cyBzaWduaWZpY2FudCBtZW50YWwgY2FwYWNpdHkuCisKKyAgICBJ dCB3b3VsZCBhbHNvIGFsbG93IHVzIHRvIHJlbW92ZSB0aGUgY29tcGxleGl0eSBvZiBkaWZmZXJl bnRpYXRpbmcgYmV0d2VlbgorICAgIGFjdGl2ZSBhbmQgbm9uLWFjdGl2ZSBsZWFkZXJzaGlwIHRl YW0gbWVtYmVycyBieSBhc3N1bWluZyB0aGF0IG5vIHZvdGUsIGVxdWFscworICAgIGEgIjAiIHZv dGUuIAorCisgICAgT3BpbmlvbnM/CisKKyAgICBUaGUgb3RoZXIgcXVlc3Rpb24gaXMgd2hldGhl ciB0byB0cmVhdCAtMi12b3RlcyBkaWZmZXJlbnQgdGhhbiAtMS12b3Rlcy4gV2UgY291bGQKKyAg ICBzYXkgdGhlcmUgc2hvdWxkIG5vdCBiZSBtb3JlIHRoYW4gMjAlIC0yLXZvdGVzLiBUaGF0IHdv dWxkIG1lYW4gdGhhdAogCi0jIyMjIExhc3QgUmVzb3J0CisgICAgV2l0aG91dCB0aGUgMC1ydWxl OiAKKyAgICAyIC0yLXZvdGVzIHdvdWxkIGJsb2NrIGEgcHJvcG9zYWwgKGluc3RlYWQgb2YgMyAo MCwtMSwtMiktdm90ZXMpCiAKLUluIHNvbWUgcmFyZSBjYXNlcywgdGhlIGxhenkgY29uc2Vuc3Vz IGFwcHJvYWNoIG1heSBsZWFkIHRvIHRoZSBjb21tdW5pdHkgYmVpbmcgCi1wYXJhbHl6ZWQuIFRo dXMsIGFzIGEgbGFzdCByZXNvcnQgd2hlbiBjb25zZW5zdXMgY2Fubm90IGJlIGFjaGlldmVkIG9u IGEgCi1xdWVzdGlvbiBpbnRlcm5hbCB0byBhIHByb2plY3QsIHRoZSBmaW5hbCBkZWNpc2lvbiB3 aWxsIGJlIG1hZGUgYnkgYSBwcml2YXRlIAotbWFqb3JpdHkgdm90ZSBhbW9uZ3N0IHRoZSBjb21t aXR0ZXJzIGFuZCBwcm9qZWN0IGxlYWQuIElmIHRoZSB2b3RlIGlzIHRpZWQsIHRoZSAKLXByb2pl Y3QgbGVhZCBnZXRzIGFuIGV4dHJhIHZvdGUgdG8gYnJlYWsgdGhlIHRpZS4KKyAgICBXaXRoIHRo ZSAwLXJ1bGUKKyAgICAxPT42OiAyIC0yLXZvdGVzIHdvdWxkIGJsb2NrIGEgcHJvcG9zYWwKKyAg ICAyPT41OiAxIC0yLXZvdGVzIHdvdWxkIGJsb2NrIGEgcHJvcG9zYWwKKyAgICAzPT40OiAxIC0y LXZvdGVzIHdvdWxkIGJsb2NrIGEgcHJvcG9zYWwKIAotRm9yIHF1ZXN0aW9ucyB0aGF0IGFmZmVj dCBzZXZlcmFsIHByb2plY3RzLCBjb21taXR0ZXJzIGFuZCBwcm9qZWN0IGxlYWRzIG9mIAotbWF0 dXJlIHByb2plY3RzIHdpbGwgaG9sZCBhIHByaXZhdGUgbWFqb3JpdHkgdm90ZS4gSWYgdGhlIHZv dGUgaXMgdGllZCwgdGhlIAotW1hlbiBQcm9qZWN0IEFkdmlzb3J5IEJvYXJkXSgvam9pbi5odG1s KSB3aWxsIGJyZWFrIHRoZSB0aWUgdGhyb3VnaCBhIGNhc3RpbmcgCi12b3RlLgorICAgIFRoaXMg ZG9lc24ndCBzZWVtIHRvIG1ha2UgYSBkaWZmZXJlbmNlIGJpZyBlbm91Z2ggdG8gZ3JhbnQgdGhl IGV4dHJhIGNvbXBsZXhpdHkuCisgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisj IyMgQ29uZmxpY3QgUmVzb2x1dGlvbiB7I2NvbmZsaWN0fQorCitTdWItcHJvamVjdHMgYW5kIHRl YW1zIGhvc3RlZCBvbiBYZW5wcm9qZWN0Lm9yZyBhcmUgbm90IGRlbW9jcmFjaWVzIGJ1dCAKK21l cml0b2NyYWNpZXMuIEluIHNpdHVhdGlvbnMgd2hlcmUgdGhlcmUgaXMgZGlzYWdyZWVtZW50IG9u IGlzc3VlcyByZWxhdGVkIHRvIAordGhlIGRheS10by1kYXkgcnVubmluZyBvZiB0aGUgcHJvamVj dCwgdGhlIFtwcm9qZWN0IGxlYWRlcnNoaXAgCit0ZWFtXSgjbGVhZGVyc2hpcCkgaXMgZXhwZWN0 ZWQgdG8gYWN0IGFzIHJlZmVyZWUgYW5kIG1ha2UgYSBkZWNpc2lvbiBvbiBiZWhhbGYgCitvZiB0 aGUgY29tbXVuaXR5LiBQcm9qZWN0cyBsZWFkZXJzaGlwIHRlYW1zIGNhbiBjaG9vc2UgdG8gZGVs ZWdhdGUgZW50aXJlIAorY2xhc3NlcyBvZiBjb25mbGljdCByZXNvbHV0aW9uIGlzc3VlcyB0byBj b21tdW5pdHkgbWVtYmVycyBhbmQvb3IgdGhlIHByb2plY3QgCitsZWFkIChlLmcuIHRoZSBwcm9q ZWN0IGNhbiBjaG9vc2UgdG8gZGVsZWdhdGUgcmVmZXJlZWluZyBvbiBjb21taXR0ZXIgCitkaXNh Z3JlZW1lbnRzIHRvIHRoZSBwcm9qZWN0IGxlYWQ7IG9yIGl0IGNvdWxkIGNob29zZSBhIHNwZWNp ZmljIGNvbW1pdHRlciB0byAKK2Fsd2F5cyBhY3QgYXMgcmVmZXJlZSBhbW9uZ3N0IGEgZ3JvdXAg b2YgY29tbWl0dGVycykuIEFueSBzdWNoIGRlbGVnYXRpb24gbmVlZHMgCit0byBiZSBhcHByb3Zl ZCBhcyBub3JtYWwgYW5kIGhhcyB0byBiZSBkb2N1bWVudGVkLgorCitTaG91bGQgYSBwcm9qZWN0 IGxlYWRlcnNoaXAgdGVhbSBiZWNvbWUgZHlzZnVuY3Rpb25hbCBvciBwYXJhbHlzZWQsIHRoZSBw cm9qZWN0IAorbGVhZGVyc2hpcCB0ZWFtIG9yIHByb2plY3QgbGVhZCBzaG91bGQgd29yayB3aXRo IHRoZSBjb21tdW5pdHkgbWFuYWdlciBvciAKK2Fkdmlzb3J5IGJvYXJkIHRvIGZpbmQgYSB3YXkg Zm9yd2FyZC4KKworSW4gc2l0dWF0aW9ucyB3aGVyZSB0aGUgZW50aXJlIFhlbiBQcm9qZWN0IGNv bW11bml0eSBiZWNvbWVzIHBhcmFseXNlZCB0aGUgCitpbXBhY3RlZCBwcm9qZWN0IGxlYWRlcnNo aXAgdGVhbXMgb3IgcHJvamVjdCBsZWFkcyBzaG91bGQgd29yayB3aXRoIHRoZQorY29tbXVuaXR5 IG1hbmFnZXIgb3IgYWR2aXNvcnkgYm9hcmQgdG8gZmluZCBhIHdheSBmb3J3YXJkLgogCiAgICAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgIENoYW5nZWQgaGVhZGxpbmUgc3RydWN0 dXJlOiBoMiB0byBoMwotICAgIFJlbW92ZWQgRm9ybWFsIFZvdGVzIGZyb20gaGVhZGxpbmUgYXMg aXQgaGFzIGJlZW4gbW92ZWQgaW50byBhIHNlcGFyYXRlIHNlY3Rpb24KKyAgICBUaGUgZW50aXJl IGxhc3QgcmVzb3VyY2Ugc2VjdGlvbiBnb2VzLCBiZWNhdXNlIGl0IGlzIGVzc2VudGlhbGx5IG5v dCBuZWVkZWQgYW55IG1vcmUsIAorICAgIGFzIHRoZSByZXNwb25zaWJpbGl0eSBoYXMgYmVlbiBt b3ZlZCB0byB0aGUgcHJvamVjdCBsZWFkZXJzaGlwLCB3aGljaCBpcyBub3cgbWFraW5nIAorICAg IG1ham9yaXR5IGJhc2VkIGRlY2lzaW9ucy4KICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAKLSMjIyBFbGVjdGlvbnMKKyMjIyBFbGVjdGlvbnMgeyNlbGVjdGlvbnN9CiAKICMjIyMg TWFpbnRhaW5lciBFbGVjdGlvbnMKIAotRGV2ZWxvcGVycyB3aG8gaGF2ZSBlYXJuZWQgdGhlIHRy dXN0IG9mIG1haW50YWluZXJzIChpbmNsdWRpbmcgdGhlIHByb2plY3QgCi1sZWFkKSBjYW4gYmUg cHJvbW90ZWQgdG8gTWFpbnRhaW5lci4gQSB0d28gc3RhZ2UgbWVjaGFuaXNtIGlzIHVzZWQKK0Rl dmVsb3BlcnMgd2hvIGhhdmUgZWFybmVkIHRoZSB0cnVzdCBvZiBleGlzdGluZyBtYWludGFpbmVy cyBjYW4gYmUgcHJvbW90ZWQgdG8gCittYWludGFpbmVyLiBBIHR3byBzdGFnZSBtZWNoYW5pc20g aXMgdXNlZAogCiAtICAgTm9taW5hdGlvbjogQSBtYWludGFpbmVyIHNob3VsZCBub21pbmF0ZSBo aW1zZWxmIGJ5IHByb3Bvc2luZyBhIHBhdGNoIHRvIAogdGhlIE1BSU5UQUlORVJTIGZpbGUgb3Ig bWFpbGluZyBhIG5vbWluYXRpb24gdG8gdGhlIHByb2plY3QncyBtYWlsaW5nIGxpc3QuIApAQCAt MjgwLDE1ICs1ODcsMTUgQEAgYXMgYSBzY29wZSAoc2V0IG9mIG93bmVkIGNvbXBvbmVudHMpLiBX aGVyZSB0aGUgY2FzZSBpcyBub3Qgb2J2aW91cywgZXZpZGVuY2UKIHN1Y2ggYXMgc3BlY2lmaWMg cGF0Y2hlcyBhbmQgb3RoZXIgZXZpZGVuY2Ugc3VwcG9ydGluZyB0aGUgbm9taW5hdGlvbiBzaG91 bGQgYmUgCiBjaXRlZC4KIC0gICBDb25maXJtYXRpb246IE5vcm1hbGx5LCB0aGVyZSBpcyBubyBu ZWVkIGZvciBhIGRpcmVjdCBlbGVjdGlvbiB0byBjb25maXJtIGEgCi1uZXcgbWFpbnRhaW5lci4g RGlzY3Vzc2lvbiBzaG91bGQgaGFwcGVuIG9uIHRoZSBtYWlsaW5nIGxpc3QgdXNpbmcgdGhlIAot cHJpbmNpcGxlcyBvZiBjb25zZW5zdXMgZGVjaXNpb24gbWFraW5nLiBJZiB0aGVyZSBpcyBkaXNh Z3JlZW1lbnQgb3IgZG91YnQsIHRoZSAKLXByb2plY3QgbGVhZCBvciBhIGNvbW1pdHRlciBzaG91 bGQgYXNrIHRoZSBjb21tdW5pdHkgbWFuYWdlciB0byBhcnJhbmdlIGEgbW9yZSAKLWZvcm1hbCB2 b3RlLgorbmV3IG1haW50YWluZXIuIERpc2N1c3Npb24gc2hvdWxkIGhhcHBlbiBvbiB0aGUgbWFp bGluZyBsaXN0IHVzaW5nIHRoZSBub3JtYWwgCitkZWNpc2lvbiBtYWtpbmcgcHJvY2Vzcy4gSWYg dGhlcmUgaXMgZGlzYWdyZWVtZW50IG9yIGRvdWJ0LCB0aGUgZGVjaXNpb24gaXMgCitoYW5kbGVk IGJ5IHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAuCiAKLSMjIyMgQ29tbWl0dGVyIEVsZWN0aW9ucwor IyMjIyBDb21taXR0ZXIsIFNlY3VyaXR5IFRlYW0gTWVtYmVyIGFuZCBvdGhlciBQcm9qZWN0IExl YWRlcnNoaXAgRWxlY3Rpb25zCiAKIERldmVsb3BlcnMgd2hvIGhhdmUgZWFybmVkIHRoZSB0cnVz dCBvZiBjb21taXR0ZXJzIGluIHRoZWlyIHByb2plY3QgY2FuIHRocm91Z2ggCi1lbGVjdGlvbiBi ZSBwcm9tb3RlZCB0byBDb21taXR0ZXIuIEEgdHdvIHN0YWdlIG1lY2hhbmlzbSBpcyB1c2VkCitl bGVjdGlvbiBiZSBwcm9tb3RlZCB0byBDb21taXR0ZXIsIFNlY3VyaXR5IFRlYW0gTWVtYmVyIG9y IFByb2plY3QgTGVhZGVyc2hpcCAKKyhpZiBub3QgY292ZXJlZCBvdGhlcndpc2UpLiBBIHR3byBz dGFnZSBtZWNoYW5pc20gaXMgdXNlZAogCiAtICAgTm9taW5hdGlvbjogQ29tbXVuaXR5IG1lbWJl cnMgc2hvdWxkIG5vbWluYXRlIGNhbmRpZGF0ZXMgYnkgcG9zdGluZyBhIAogcHJvcG9zYWwgdG8g KmFwcG9pbnRtZW50cyBhdCB4ZW5wcm9qZWN0IGRvdCBvcmcqIGV4cGxhaW5pbmcgdGhlIGNhbmRp ZGF0ZSdzIApAQCAtMjk5LDc0ICs2MDYsMTIzIEBAIHJldmlldyBhbGwgcHJvcG9zYWxzLCBjaGVj ayB3aGV0aGVyIHRoZSBub21pbmVlIHdvdWxkIGJlIHdpbGxpbmcgdG8gYWNjZXB0IHRoZQogbm9t aW5hdGlvbiBhbmQgcHVibGlzaCBzdWl0YWJsZSBub21pbmF0aW9ucyBvbiB0aGUgcHJvamVjdCdz IHB1YmxpYyBtYWlsaW5nIAogbGlzdCBmb3Igd2lkZXIgY29tbXVuaXR5IGlucHV0LgogLSAgIEVs ZWN0aW9uOiBBIGNvbW1pdHRlciB3aWxsIGJlIGVsZWN0ZWQgdXNpbmcgdGhlIGRlY2lzaW9uIG1h a2luZyBwcm9jZXNzIAotb3V0bGluZWQgZWFybGllci4gVm90aW5nIHdpbGwgYmUgZG9uZSBieSBj b21taXR0ZXJzIGZvciB0aGF0IHByb2plY3QgcHJpdmF0ZWx5IAotdXNpbmcgYSB2b3RpbmcgZm9y bSB0aGF0IGlzIGNyZWF0ZWQgYnkgdGhlIGNvbW11bml0eSBtYW5hZ2VyLiBTaG91bGQgdGhlcmUg YmUgYSAKLW5lZ2F0aXZlIHZvdGUgdGhlIHByb2plY3QgbGVhZCBhbmQgY29tbXVuaXR5IG1hbmFn ZXIgd2lsbCB0cnkgYW5kIHJlc29sdmUgdGhlIAotc2l0dWF0aW9uIGFuZCByZWFjaCBjb25zZW5z dXMuIFJlc3VsdHMgd2lsbCBiZSBwdWJsaXNoZWQgb24gdGhlIHB1YmxpYyBtYWlsaW5nIAotbGlz dC4KK291dGxpbmVkIGVhcmxpZXIuIEluIG90aGVyIHdvcmRzLCB0aGUgZGVjaXNpb24gaXMgZGVs ZWdhdGVkIHRvIHRoZSBbcHJvamVjdCAKK2xlYWRlcnNoaXAgdGVhbV0oI2xlYWRlcnNoaXApLgog CiAjIyMjIFByb2plY3QgTGVhZCBFbGVjdGlvbnMKIAotUHJvamVjdHMgd2hpY2ggbG9zZSB0aGVp ciBwcm9qZWN0IGxlYWQgYXJlIGF0IHJpc2sgb2YgZmFpbGluZy4gU2hvdWxkIHRoaXMgCi1vY2N1 ciwgdGhlIHByb2plY3QncyBtYWludGFpbmVyIGNvbW11bml0eSBzaG91bGQgYWdyZWUgd2hvIHdv dWxkIHdhbnQgdG8gYmUvYmUgCi1hYmxlIHRvIGJlIHRoZSBuZXcgcHJvamVjdCBsZWFkIGFuZCBm b2xsb3cgdGhlIGVsZWN0aW9uIHByb2Nlc3MgYXMgb3V0bGluZWQgCi1hYm92ZS4KLQotRm9ybWFs IFZvdGVzIHsjZm9ybWFsLXZvdGVzfQotLS0tLS0tLS0tLS0tCitQcm9qZWN0cyB3aGljaCBoYXZl IGEgcHJvamVjdCBsZWFkLCBzaG91bGQgdm90ZSBmb3IgYSBwcm9qZWN0IGxlYWQgaW4gYW4gCith bm9ueW1vdXMgdm90ZSBhbW9uZ3N0IHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAuCisKKyMjIyBQcm9q ZWN0IFdpZGUgRGVjaXNpb24gTWFraW5nIHsjcHJvamVjdC1kZWNpc2lvbnN9CisKK1Byb2plY3Qg d2lkZSBkZWNpc2lvbnMgYXJlIG1hZGUgdGhyb3VnaCAqKmZvcm1hbCBnbG9iYWwgdm90ZXMqKiBh bmQgYXJlIAorY29uZHVjdGVkIGluIHJhcmUgY2lyY3Vtc3RhbmNlcyBvbmx5LCBmb2xsb3dpbmcg dGhlIHByaW5jaXBsZSBvZiBbbG9jYWwgCitkZWNpc2lvbiBtYWtpbmddKCNwcmluY2lwbGVzKS4g R2xvYmFsIHZvdGVzIGFyZSBvbmx5IG5lZWRlZCwgd2hlbiBhbGwgc3ViLXByb2plY3RzIAoraG9z dGVkIG9uIFhlbnByb2plY3Qub3JnIGFyZSBhZmZlY3RlZC4gVGhpcyBpcyB0cnVlLCBvbmx5IGZv cjoKKworLSAgIFNwZWNpZmljIHZvdGVzIG9uIGNyZWF0aW5nLCBncmFkdWF0aW5nLCBjb21wbGV0 aW5nL2FyY2hpdmluZyBvZiAKK3N1Yi1wcm9qZWN0cyBhcyBvdXRsaW5lZCBpbiBbcHJvamVjdCBn b3Zlcm5hbmNlXSgjcHJvamVjdC1nb3Zlcm5hbmNlKS4KKy0gICBDaGFuZ2VzIHRvIHRoaXMgZG9j dW1lbnQsIHdoZXJlIHN1Yi1wcm9qZWN0cyBjYW5ub3Qgc3BlY2lhbGlzZS4gSW4gCitwYXJ0aWN1 bGFyIHRoZSBzZWN0aW9uczogW2dvYWxzXSgjZ29hbHMpLCBbcHJpbmNpcGxlc10oI3ByaW5jaXBs ZXMpLCBbcHJvamVjdCAKK3dpZGUgZGVjaXNpb24gbWFraW5nXSgjcHJvamVjdC1kZWNpc2lvbnMp IGFuZCBbcHJvamVjdCAKK2dvdmVybmFuY2VdKCNwcm9qZWN0LWdvdmVybmFuY2UpIChhbmQgc21h bGwgcGFydHMgb2YgW1hlbiBQcm9qZWN0IHdpZGUgCityb2xlc10oI3JvbGVzLWdsb2JhbCksIFtw cm9qZWN0IHRlYW0gcm9sZXNdKCNyb2xlcy1sb2NhbCkgYW5kIFtkZWNpc2lvbiAKK21ha2luZ10o I2RlY2lzaW9ucykgdGhhdCBhcmUgbmVlZGVkIGZvciBwcm9qZWN0IGdvdmVybmFuY2Ugb3IgKiph cHBseSB0byBhbGwgCitzdWItcHJvamVjdHMqKiBhcyBzdGF0ZWQgaW4gdGhvc2Ugc2VjdGlvbnMp LgorLSAgIENoYW5nZXMgdG8gdGhpcyBkb2N1bWVudCB3aGVyZSBzdWItcHJvamVjdHMgY2FuIHNw ZWNpYWxpc2UgcmVxdWlyZSBhdCBsZWFzdCAKK29uZSBtYXR1cmUgcHJvamVjdCBvdGhlciB0aGFu IHRoZSBIeXBlcnZpc29yIHByb2plY3QgdG8gYmUgaW1wYWN0ZWQgCitzaWduaWZpY2FudGx5IGJ5 IHRoZSBjaGFuZ2UuIFRoZSBzZWN0aW9ucyBpbiBxdWVzdGlvbiwgYXJlIFtwcm9qZWN0IHRlYW0g Cityb2xlc10oI3JvbGVzLWxvY2FsKSBhbmQgW2RlY2lzaW9uIG1ha2luZ10oI2RlY2lzaW9ucyku IFRoZXNlIHNlY3Rpb25zIGRlZmluZSAKK3RoZSAqKmdvbGQgc3RhbmRhcmQqKiBvZiBob3cgdGhl IG9yaWdpbmFsIEh5cGVydmlzb3IgUHJvamVjdCBvcGVyYXRlcy4gSW4gb3RoZXIgCitjYXNlcywg dGhlIEh5cGVydmlzb3IgcHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gY2FuIGFncmVlIGNoYW5nZXMg dG8gdGhlc2UgCitzZWN0aW9ucywgYXMgdGhleSBhcmUgZXNzZW50aWFsbHkgcmVmZXJlbmNlIGRl ZmluaXRpb25zLiBPdGhlciBzdWItcHJvamVjdHMgCitoYXZlIHRvIGJlIGNvbnN1bHRlZCwgYW5k IGhhdmUgdG8gYmUgZ2l2ZW4gdGltZSB0byBhZGFwdCB0byBjaGFuZ2VzLgorLSAgIENoYW5nZXMg dG8gZXhpc3RpbmcgZ2xvYmFsIG5hbWVzcGFjZSBwb2xpY2llcyAoZS5nLiBbTWFpbGluZyBMaXN0 IAorQ29udmVudGlvbnNdKC9oZWxwL21haWxpbmctbGlzdC8xMDAtbWlzYy8xMzktbWFpbGluZy1s aXN0LWNvbnZlbnRpb25zLmh0bWwpKSAKK2FuZCBjcmVhdGlvbiBvZiBuZXcgcHJvamVjdCB3aWRl IG5hbWVzcGFjZSBwb2xpY2llcy4KKy0gICBDaGFuZ2VzIHRvIHRoZSBib3VuZGFyeSBvZiB3aGF0 IHBvbGljaWVzIGFyZSBwcm9qZWN0IGxvY2FsIGFuZCBnbG9iYWwgCitkZWNpc2lvbjogZS5nLiBh IGRlY2lzaW9uIHRvIGludHJvZHVjZSBhIGdsb2JhbCBTZWN1cml0eSBWdWxuZXJhYmlsaXR5IFJl c3BvbnNlIAorUHJvY2VzcyB0aGF0IGFmZmVjdHMgYWxsIHN1Yi1wcm9qZWN0cy4KKworR2xvYmFs IHZvdGVzIGFyZSBhcnJhbmdlZCBieSB0aGUgY29tbXVuaXR5IG1hbmFnZXIgd2hlbiBuZWVkZWQg KGUuZy4gZm9yIGEgCitwcm9qZWN0IHJldmlldyBvciBhIGdsb2JhbCBwcm9jZXNzIGNoYW5nZSku IFdobyBleGFjdGx5IGhhcyBpbnB1dCBvbiBhIHByb3Bvc2FsIAorYW5kIGNhbiB2b3RlIG9uIGl0 LCBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIGNoYW5nZSBhcyBvdXRsaW5lZCBiZWxvdzoKKworICAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIAorICAqKlByb3Bvc2FsKiogICAgICAg ICAgICAgICAgICAqKldobyByZXZpZXdzPyoqICAgICAgICAgICAgICAqKldobyB2b3Rlcz8qKgor ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIAorICBDcmVhdGluZywgZ3JhZHVh dGluZywgICAgICAgICBNZW1iZXJzIG9mIGRldmVsb3BlciBtYWlsaW5nICBMZWFkZXJzaGlwIHRl YW1zIG9mIAorICBjb21wbGV0aW5nL2FyY2hpdmluZyBvZiAgICAgICBsaXN0cyBvZiBxdWFsaWZ5 aW5nIHByb2plY3RzICAqKm1hdHVyZSoqIHN1Yi1wcm9qZWN0cywgCisgIHN1Yi1wcm9qZWN0cyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIGV4 Y2VwdGlvbiBvZiB0aGUgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb2plY3Qgd2hpY2ggaXMgYmVpbmcgCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmll d2VkIChlLmcuIGZvciBhbiAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl2YXRpb24gcmV2aWV3LCB0aGUgCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl YWRlcnNoaXAgdGVhbSBvZiB0aGUgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QgdW5kZXIgcmV2aWV3LCBjYW5ub3Qg CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZvdGUpLgorCisgIEdsb2JhbCBQcm9jZXNzIENoYW5nZXMgICAgICAgIE1lbWJlcnMg b2YgZGV2ZWxvcGVyIG1haWxpbmcgIExlYWRlcnNoaXAgdGVhbXMgb2YgIAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaXN0cyBvZiBxdWFsaWZ5aW5nIHByb2plY3RzICAqKm1hdHVy ZSoqIHN1Yi1wcm9qZWN0cywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhpbiB0aGUgc2NvcGUgZGVzY3JpYmVkIAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhYm92ZS4gCisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAogCi0gICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgIElTU1VFUyBUTyBCRSBBRERSRVNTRUQgTEFU RVI6IAotICAgIC0gTG9jYWwgdm90ZXMgc2hvdWxkIGJlIGhhbmRsZWQgZWxzZXdoZXJlOiB0aGlz IHNlY3Rpb24gc2hvdWxkIG9ubHkgY292ZXIgZ2xvYmFsCi0gICAgICBkZWNpc2lvbiBtYWtpbmcK LSAgICAtIEJldHRlciBzcGVjaWZ5IHNjb3BlIDogd2hlbiBhcmUgRm9ybWFsIFZvdGVzIGFwcGxp Y2FibGUKLSAgICAtIEluIGZhY3Qgd2UgZG8gbm90IGhhdmUgYW55IGNsZWFyIHJ1bGVzIGZvciB0 YWxseWluZyB2b3RlcyAoZG8gdm90ZXMgaGF2ZSB0byBiZSAKLSAgICAgIHVuYW5pbW91cyBvciBu b3QpCi0gICAgLSBOb3RlIHRoYXQgdGhlIHZvdGluZyBlbGlnaWJpbGl0eSBpcyBtYWludGFpbmVy cz8gRG8gd2Ugd2FudCB0byByZXRhaW4gdGhpcz8gCi0gICAgICBJIGFzc3VtZSBOTywgYXMgaW4g cHJhY3RpdmUgd2UgbmV2ZXIgZGlkIHRoaXMuCi0gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotCi1Tb21ldGltZXMgaXQgaXMgbmVjZXNzYXJ5IHRvIGNvbmR1Y3QgZm9ybWFsIHZvdGlu ZyB3aXRoaW4gdGhlIGNvbW11bml0eSAKLShvdXRzaWRlIG9mIGVsZWN0aW9ucykuIEZvcm1hbCB2 b3RlcyBhcmUgbmVjZXNzYXJ5IHdoZW4gcHJvY2Vzc2VzIGFuZCAKLXByb2NlZHVyZXMgYXJlIGlu dHJvZHVjZWQgb3IgY2hhbmdlZCwgb3IgYXMgcGFydCBvZiB0aGUgW1Byb2plY3QgCi1Hb3Zlcm5h bmNlXSgjcHJvamVjdC1nb3Zlcm5hbmNlKS4gV2hvIGlzIGVsaWdpYmxlIHRvIHZvdGUsIGRlcGVu ZHMgb24gd2hldGhlciAKLXRoZSBzY29wZSBvZiBhIHByb2Nlc3Mgb3IgcHJvY2VkdXJlIGlzICoq bG9jYWwqKiB0byBhIHN1Yi1wcm9qZWN0IG9yIHRlYW0sIG9yIAotd2hldGhlciBpdCBhZmZlY3Rz ICoqYWxsIHN1Yi1wcm9qZWN0cyoqIChvciBpbiBvdGhlciB3b3JkcywgaXMqKiBnbG9iYWwqKiku IAotRXhhbXBsZXMgb2YgbG9jYWwgc2NvcGUgaXMgdGhlIFtTZWN1cml0eSBQb2xpY3ldKC9zZWN1 cml0eS1wb2xpY3kuaHRtbCkgd2hpY2ggCi1hcHBsaWVzIHRvIHRoZSBbSHlwZXJ2aXNvciBQcm9q ZWN0XSgvZGV2ZWxvcGVycy90ZWFtcy9oeXBlcnZpc29yLmh0bWwpIG9ubHkuIAotRXhhbXBsZXMg b2YgZ2xvYmFsIHNjb3BlIGFyZSBjaGFuZ2VzIHRvIHRoaXMgZG9jdW1lbnQgb3Igdm90ZXMgb3V0 bGluZWQgaW4gdGhlIAotUHJvamVjdCBHb3Zlcm5hbmNlLgotCi0gIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCi0gICoqU2NvcGUqKiAgICAqKldobyByZXZpZXdzPyoqICAgICAgICoqV2hvIHZvdGVzPyoq Ci0gIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICoqTG9jYWwqKiAgICBNZW1iZXJzIG9mIGRldmVs b3BlciAgIE1haW50YWluZXJzIG9mIHRoZSBwcm9qZWN0IChvciBwcm9qZWN0cyksCi0gICAgICAg ICAgICAgICBtYWlsaW5nIGxpc3RzIG9mIHRoZSAgIHdoaWNoIGFyZSBhZmZlY3RlZCBieSB0aGUg cHJvY2VzcywKLSAgICAgICAgICAgICAgIGFmZmVjdGVkIHByb2plY3RzLiAgICAgcHJvY2VkdXJl LCBldGMuIGFyZSBhbGxvd2VkIHRvIHZvdGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRoaXMgaW5jbHVkZXMgbWFpbnRhaW5lcnMgZnJvbSBpbmN1YmF0aW9uIAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0cyAoaWYgdGhlIHNjb3Bl IGFmZmVjdHMgdGhlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9q ZWN0KS4KLQotICAqKkdsb2JhbCoqICAgTWVtYmVycyBvZiBhbGwgICAgICAgICBNYWludGFpbmVy cyBvZiAqKmFsbCBtYXR1cmUqKiBwcm9qZWN0cyAKLSAgICAgICAgICAgICAgIGRldmVsb3BlciBt YWlsaW5nICAgICAgYW5kIHRoZSBYZW5wcm9qZWN0Lm9yZyBjb21tdW5pdHkgbWFuYWdlciAKLSAg ICAgICAgICAgICAgIGxpc3RzIG9mIGFsbCAgICAgICAgICAgYXJlIGFsbG93ZWQgdG8gdm90ZS4K LSAgICAgICAgICAgICAgIHN1Yi1wcm9qZWN0cyBob3N0ZWQgb24gCi0gICAgICAgICAgICAgICBY ZW5wcm9qZWN0Lm9yZy4gICAKLSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVwKIAogVGhlIGNvbW11 bml0eSBtYW5hZ2VyIGZpcnN0IGFycmFuZ2VzIGEgcHVibGljIHJldmlldywgZm9sbG93ZWQgYnkg YSB0aW1lZCAKIHByaXZhdGUgdm90ZS4gUHVibGljIHJldmlldyBhbmQgdm90aW5nIHNob3VsZCBi ZSBvcGVuIGZvciBhIG1pbmltdW0gb2YgYSB3ZWVrIAogZWFjaC4gRm9yIHZvdGluZyBhIHRyYWNl YWJsZSBwb2xsIG1lY2hhbmlzbSAoZS5nLiB2b3RpbmcgZm9ybSB0aGF0IGtlZXBzIAotYXVkaXRh YmxlIGFuZCB0YW1wZXIgcHJvb2YgcmVjb3JkcykgbXVzdCBiZSB1c2VkLiBWb3RpbmcgZm9sbG93 cyB0aGUgCi1jb252ZW50aW9ucyBhcyBsYWlkIG91dCBpbiAiUHJpbmNpcGxlOiBDb25zZW5zdXMg RGVjaXNpb24gTWFraW5nIi4KLSAgICAKLSAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gICAgSVNTVUVTIFRPIEJFIEFERFJFU1NFRCBMQVRFUjogCi0gICAgLSBWZXJpZnkgdGVybWlu b2xvZ3kgaW4gbGlnaHQgb2YgY2hhbmdlcyBhYm92ZQotICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KLQotUHJvamVjdCBHb3Zlcm5hbmNlICB7I3Byb2plY3QtZ292ZXJuYW5jZX0KK2F1 ZGl0YWJsZSBhbmQgdGFtcGVyIHByb29mIHJlY29yZHMpIG11c3QgYmUgdXNlZC4KKworVm90aW5n IGlzIGNvbmR1Y3RlZCAqKnBlciBwcm9qZWN0KiogaW4gbGluZSB3aXRoIHRoZSBmb2xsb3dpbmcg cnVsZXM6CisKKy0gICBFYWNoIHF1YWxpZnlpbmcgcHJvamVjdCdzIHZvdGUgaXMgY291bnRlZCBw ZXIgcHJvamVjdCBhbmQgdGhlbiBhZ2dyZWdhdGVkIAorYXMgb3V0bGluZWQgYmVsb3cuCistICAg UHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyB2b3RlIGZvciBvciBhZ2FpbnN0IGEgcHJv cG9zYWwgKHRoZXJlIGlzIG5vIAorZGlmZmVyZW50aWF0aW9uIGJldHdlZW4gKiotMSoqLyoqLTIq KiBhbmQgKiorMSoqLyoqKzIqKikuIEEgKiowKiogdm90ZSBpcyBub3QgCitjb3VudGVkIGFzIGEg dmFsaWQgdm90ZS4KKy0gICBBICoqcXVvcnVtIG9mIG1vcmUgdGhhbiA1MCUqKiBvZiBlYWNoIHBy b2plY3QncyBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyBpcyAKK3JlcXVpcmVkLiBJbiBvdGhlciB3 b3JkczogaWYgbW9yZSB0aGFuIGhhbGYgb2YgYSBwcm9qZWN0J3MgbGVhZGVyc2hpcCB0ZWFtIAor bWVtYmVycyBkbyBub3Qgdm90ZSBvciBhYnN0YWluLCB0aGUgZW50aXJlIHN1Yi1wcm9qZWN0J3Mg dm90ZSBpcyBub3QgY291bnRlZC4gCitUaGlzIGF2b2lkcyBzaXR1YXRpb25zIHdoZXJlIG9ubHkg YSBtaW5vcml0eSBvZiBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyB2b3RlcywgCit3aGljaCB3b3Vs ZCBza2V3IHRoZSBvdmVyYWxsIHJlc3VsdC4gSWYgaXQgYmVjb21lcyBjbGVhciwgdGhhdCBhIHN1 Yi1wcm9qZWN0IGlzIAorbm90IGxpa2VseSB0byBtZWV0IHRoZSBxdW9ydW0sIHRoZSB2b3Rpbmcg ZGVhZGxpbmUgY2FuIGJlIGV4dGVuZGVkIGJ5IHRoZSAKK2NvbW11bml1dHkgbWFuYWdlci4KKwor X19QYXNzZWQvRmFpbGVkIFJlc29sdXRpb25zOl9fCisKKy0gICBJZiBub25lIG9mIHRoZSBxdWFs aWZ5aW5nIHByb2plY3RzIGFjaGlldmUgYSBxdW9ydW0sIHRoZSBjaGFuZ2UgY2Fubm90IAoraG9s ZC4gSW4gdGhhdCBjYXNlLCB3ZSBjb25zaWRlciB0aGF0IHRoZXJlIGlzIG5vdCBlbm91Z2ggbW9t ZW50dW0gYmVoaW5kIGEgCitjaGFuZ2UuCistICAgRm9yIGVhY2ggcXVhbGlmeWluZyBwcm9qZWN0 IHdpdGggYSBxdW9ydW0sIHRoZSBwZXJjZW50YWdlIG9mIHZvdGVzIGluIAorZmF2b3VyIGFuZCBh Z2FpbnN0IGlzIGNhbGN1bGF0ZWQgKGUuZy4gaWYgNSBwZW9wbGUgdm90ZWQgaW4gZmF2b3VyLCAy IGFnYWluc3QgCithbmQgMSBhYnN0YWlucywgdGhlIHNoYXJlIGlzIDUvN3RoIGFuZCAyLzd0aCBy ZXNwZWN0aXZlbHkpLgorLSAgIFZvdGVzIGluIGZhdm91ciBhcmUgYXZlcmFnZWQgYXMgcGVyY2Vu dGFnZXMgYWNyb3NzIGFsbCBwcm9qZWN0cyAoc2F5IHdlIAoraGF2ZSBwZXIgcHJvamVjdCBmaWd1 cmVzIG9mIDUwJSwgODAlLCA3MCUgaW4gZmF2b3VyLCB0aGVuIHRoZSB0b3RhbCB2b3RlIGluIAor ZmF2b3VyIGlzIDY2LjY3JSkuCistICAgSWYgdGhlIHRvdGFsIHZvdGUgaXMgbW9yZSB0aGFuIDIv M3JkcyBpbiBmYXZvdXIsIHRoZSBwcm9wb3NhbCBwYXNzZXMuIAorT3RoZXJ3aXNlIGl0IGZhaWxz LgorCitDb21tdW5pdHkgRGVjaXNpb25zIHdpdGggRnVuZGluZyBhbmQgTGVnYWwgSW1wbGljYXRp b25zICgjZnVuZGluZy1hbmQtbGVnYWwpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitJbiBzb21lIGNhc2VzIHN1Yi1wcm9qZWN0IGxvY2Fs IGFuZCBnbG9iYWwgZGVjaXNpb25zICoqbWF5IHJlcXVpcmUKK2lucHV0KiogZnJvbSB0aGUgW0Fk dmlzb3J5IEJvYXJkXSgjcm9sZXMtYWIpIGFuZC9vciB0aGUgW0xpbnV4IEZvdW5kYXRpb25dCiso I3JvbGVzLWxmKS4gRm9yIGV4YW1wbGUsIGlmIGEgcHJvcG9zYWwgYnkgYSBwcm9qZWN0IGxlYWRl cnNoaXAgdGVhbSBvcgorYSBnbG9iYWwgcHJvamVjdCBkZWNpc2lvbiByZXF1aXJlcyB0aGF0IHRo ZSBwcm9qZWN0IGhpcmVzIGEgc3RhZmYgbWVtYmVyIG9yCitjb250cmFjdG9yIChlLmcuIGEgUFIg Y29uc3VsdGFudCwgbWFya2V0aW5nIG1hbmFnZXIpIG9yIHJlcXVpcmVzIHRoZSBmdW5kaW5nCitv ZiBuZXcgaW5mcmFzdHJ1Y3R1cmUgKGUuZy4gYWRkaXRpb25hbCB0ZXN0IGhhcmR3YXJlIG9yIHNl cnZpY2VzKSB0byBpbXBsZW1lbnQKK3NhaWQgcHJvcG9zYWwsIHRoZW4gZnVuZGluZyB3b3VsZCBu ZWVkIHRvIGJlIHNlY3VyZWQgZnJvbSB0aGUgQWR2aXNvcnkgQm9hcmQgb3IKK2Zyb20gb3RoZXIg c291cmNlcy4gCisKK0lmIGZvciBleGFtcGxlLCBhIGNvbW11bml0eSBwcm9wb3NhbCByZXF1aXJl ZCB0aGUgTGludXggRm91bmRhdGlvbiB0byBzaWduIAorYSBsZWdhbCBhZ3JlZW1lbnQgd2l0aCBh IDNyZCBwYXJ0eSBvbiBiZWhhbGYgb2YgdGhlIHByb2plY3Qvc3ViLXByb2plY3QsIHRoZW4gCitv ZiBjb3Vyc2UgYSByZXZpZXcgb2Ygc3VjaCBhbiBhZ3JlZW1lbnQgYW5kIGEgc2lnbmF0dXJlIGJ5 IHRoZSBMaW51eCBGb3VuZGF0aW9uIAord291bGQgYmUgcmVxdWlyZWQuIAorCitJbiBzdWNoIGNh c2VzLCB0aGUgaW1wYWN0ZWQgcHJvamVjdCBsZWFkZXJzaGlwIHRlYW0ocykgd2lsbCBjb250YWN0 IHRoZSAKK0NvbW11bml0eSBNYW5hZ2VyIGFuZC9vciBBZHZpc29yeSBCb2FyZCB0byByZXNvbHZl IHBvc3NpYmxlIGlzc3Vlcy4KKworUHJvamVjdCBHb3Zlcm5hbmNlIHsjcHJvamVjdC1nb3Zlcm5h bmNlfQogLS0tLS0tLS0tLS0tLS0tLS0tCiAKICMjIyBCYXNpYyBQcm9qZWN0IExpZmUgQ3ljbGUK QEAgLTQzMCw3ICs3ODYsNyBAQCBBZnRlciBhIHJldmlldywgdGhlIHJlcXVlc3RlciBvZiB0aGUg cmV2aWV3IG1heSBkZWNpZGUgdG8gd2l0aGRyYXcsIHJlcXVlc3QgYQogcmUtcmV2aWV3IG9yIHBy b2dyZXNzIHRvIGEgdm90ZSBieSBhcnJhbmdpbmcgd2l0aCB0aGUgY29tbXVuaXR5IG1hbmFnZXIu CiAKICoqVm90aW5nOioqIFRoZSBjb21tdW5pdHkgbWFuYWdlciBhcnJhbmdlcyBhIHRpbWVkIHBy aXZhdGUgdm90ZSBhcyBvdXRsaW5lZCBpbiAKLVtGb3JtYWwgVm90ZXNdKCNmb3JtYWwtdm90ZXMp LgorW0Zvcm1hbCBWb3Rlc10oI3Byb2plY3QtZGVjaXNpb25zKS4KIAogIyMjIEZvcm1pbmcgYSBQ cm9qZWN0CiAKQEAgLTUzMCw2ICs4ODYsMTAgQEAgYnVncwogLSAgIEl0IGhhcyBhbiBhY3RpdmUg ZGV2ZWxvcGVyIGNvbW11bml0eSAoYXMgd2UgZ2V0IG1vcmUgZXhwZXJpZW5jZSB3ZSB3aWxsIGFk ZCAKIHNvbWUgZ3VpZGVsaW5lcykuIEJ1dCB0aGluZ3MgdG8gbG9vayBmb3IgYXJlIG51bWJlciBv ZiBtYWludGFpbmVycywgZGlmZmVyZW50IAogb3JnYW5pc2F0aW9ucyBpbnZvbHZlZCwgbnVtYmVy IG9mIHVzZXJzLCBldGMuCistICAgSXQgaGFzIGEgcHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gdGhh dCByZXNvbHZlcyBjb25mbGljdHMgYW5kIHBhcnRpY2lwYXRlcyAKK2luIGNyb3NzLXByb2plY3Qg ZGVjaXNpb24gbWFraW5nCistICAgSXQgYWRoZXJlcyB0byB0aGUgWGVuIFByb2plY3QgZ292ZXJu YW5jZSBhcyBvdXRsaW5lZCBpbiB0aGlzIGRvY3VtZW50LCBvciAKK2RvY3VtZW50cyBhcmVhcyB3 aGVyZSB0aGUgc3ViLXByb2plY3QgZGlmZmVycwogCiBPdGhlciBpdGVtcyB0byBsb29rIGF0IGR1 cmluZyB0aGUgcmV2aWV3IChkZXBlbmRpbmcgb24gcHJvamVjdCBhcmUpOgogCkBAIC01MzksNyAr ODk5LDggQEAgT3RoZXIgaXRlbXMgdG8gbG9vayBhdCBkdXJpbmcgdGhlIHJldmlldyAoZGVwZW5k aW5nIG9uIHByb2plY3QgYXJlKToKIAogIyMjIE1hdHVyZSBQcm9qZWN0cwogCi1NYXR1cmUgcHJv amVjdHMgYXJlIGV4cGVjdGVkIHRvIGJlIHJ1biBhbmQgcHJvbW90ZSB0aGVtc2VsdmVzLiBUaGUg cHJvamVjdCBsZWFkIAorTWF0dXJlIHByb2plY3RzIGFyZSBleHBlY3RlZCB0byBiZSBydW4gYW5k IHByb21vdGUgdGhlbXNlbHZlcy4gVGhlIHByb2plY3QgCitsZWFkZXJzaGlwIHRlYW0gYW5kL29y IHByb2plY3QgbGVhZCAKIGhhcyBzaWduaWZpY2FudCByZXNwb25zaWJpbGl0eSBpbiBlbnN1cmlu ZyB0aGF0IHRoaXMgaGFwcGVucy4gVGhlIFhlbiBQcm9qZWN0IAogYW5kIHRoZSBjb21tdW5pdHkg bWFuYWdlciB3aWxsIGhlbHAgb3JnYW5pemUgZXZlbnRzLCBwcm92aWRlIG9wcG9ydHVuaXRpZXMg Zm9yIAogdGhlIHByb2plY3QgdG8gZ2V0IG5ldyBjb250cmlidXRvcnMgYW5kIGJ1aWxkIGEgY29t bXVuaXR5LCBwcm9tb3RlIG5ldyByZWxlYXNlcyAKQEAgLTU2NCw3ICs5MjUsNyBAQCB3b3JkcyBp dCBoYXMgY29tcGxldGVkCiAKIEluIHRoZSBmaXJzdCBjYXNlIHRoZSByZXZpZXcgaXMgdHJpZ2dl cmVkIGJ5IHRoZSBpbmN1YmF0aW9uIHByb2plY3QncyBtZW50b3IuIAogRmFpbGluZyB0aGlzIHRo ZSByZXZpZXcgY2FuIGJlIHJlcXVlc3RlZCBieSBhbnkgbWFpbnRhaW5lciBvZiBhIG1hdHVyZSBw cm9qZWN0IAotKGluY2x1ZGluZyB0aGUgcHJvamVjdCdzIGxlYWQpIG9yIGJ5IHRoZSBYZW4gUHJv amVjdCBjb21tdW5pdHkgbWFuYWdlci4gU2VlIAorKGluY2x1ZGluZyB0aGUgcHJvamVjJ3MgbGVh ZCkgb3IgYnkgdGhlIFhlbiBQcm9qZWN0IGNvbW11bml0eSBtYW5hZ2VyLiBTZWUgCiAiUmVxdWVz dGluZyBSZXZpZXdzLCBSZXZpZXdzIGFuZCBWb3RpbmciLgogCiBUaGUgcmV2aWV3IGlzIGVzc2Vu dGlhbGx5IGEgcGl0Y2ggd2h5IHRoZSBwcm9qZWN0IHNob3VsZCBiZSBhcmNoaXZlZC4gVGhlIApA QCAtNTk2LDI4ICs5NTcsNTcgQEAgWGVucHJvamVjdC5vcmcsIHRoZSBjb2RlIHdpbGwgYmUKIHJl bW92ZSB0aGUgY29kZSBpbiBhIHN1YnNlcXVlbnQgcmVsZWFzZSAoaXQgc2hvdWxkIGhvd2V2ZXIg Z2l2ZSB1c2VycyAKIHN1ZmZpY2llbnQgdGltZSB0byBhZGFwdCkKIAotIyMjIEV4Y2VwdGlvbmFs IENpcmN1bXN0YW5jZXMKKyMjIyBFeGNlcHRpb25hbCBDaXJjdW1zdGFuY2VzIHsjZXhjZXB0aW9u YWwtY2lyY3Vtc3RhbmNlc30KIAotIyMjIyBQcm9qZWN0cyB3aXRob3V0IFByb2plY3QgTGVhZAor IyMjIyBJbmN1YmF0aW9uIFByb2plY3RzIHdpdGhvdXQgUHJvamVjdCBMZWFkCiAKLVByb2plY3Rz IHdoaWNoIGxvc2UgdGhlaXIgcHJvamVjdCBsZWFkIGR1cmluZyB0aGUgaW5jdWJhdGlvbiBvciBt YXR1cml0eSBwaGFzZSAKLWFyZSBhdCByaXNrIG9mIGZhaWxpbmcuIFNob3VsZCB0aGlzIG9jY3Vy LCB0aGUgcHJvamVjdCdzIG1haW50YWluZXIgY29tbXVuaXR5IAotc2hvdWxkIGFncmVlIHdobyB3 b3VsZCB3YW50IHRvIGJlL2JlIGFibGUgdG8gYmUgdGhlIG5ldyBwcm9qZWN0IGxlYWQgYW5kIGZv bGxvdyAKLXRoZSBlbGVjdGlvbiBwcm9jZXNzIGFzIG91dGxpbmVkIGluICJFbGVjdGluZyBNYWlu dGFpbmVycyIuCitQcm9qZWN0cyB3aGljaCBsb3NlIHRoZWlyIHByb2plY3QgbGVhZCBkdXJpbmcg dGhlIGluY3ViYXRpb24gcGhhc2UsIGFuZCBkbyBub3QgCitoYXZlIGEgd29ya2luZyBwcm9qZWN0 IGxlYWRlcnNoaXAgdGVhbSwgYXJlIGF0IHJpc2sgb2YgZmFpbGluZy4gU2hvdWxkIHRoaXMgCitv Y2N1ciwgdGhlIHByb2plY3QncyBtYWludGFpbmVyIG9yIGNvbW1pdHRlciBjb21tdW5pdHkgc2hv dWxkIG5vbWluYXRlIGEgbmV3IAorcHJvamVjdCBsZWFkIGFuZCBmb2xsb3cgdGhlIGVsZWN0aW9u IHByb2Nlc3MgYXMgb3V0bGluZWQgaW4gCitbZWxlY3Rpb25zXSgjZWxlY3Rpb25zKS4KIAogSWYg YSBwcm9qZWN0IGxlYWQgbGVhdmVzIGR1cmluZyB0aGUgZm9ybWF0aW9uIHBoYXNlLCB3aXRob3V0 IGZpbmRpbmcgYSAKLXN1Y2Nlc3NvciB3ZSBhc3N1bWUgdGhhdCB0aGUgcHJvamVjdCBkb2VzIG5v dCBoYXZlIGVub3VnaCBtb21lbnR1bSBhbmQgd2lsbCBub3QgCi1nbyBhaGVhZC4KK3N1Y2Nlc3Nv ciB3ZSBhc3N1bWUgdGhhdCB0aGUgcHJvamVjdCBkb2VzIG5vdCBoYXZlIGVub3VnaCBtb21lbnR1 bSBhbmQgd2lsbCAKK2NvbnNpZGVyIGFyY2hpdmluZyB0aGUgcHJvamVjdC4KKworIyMjIyBQcm9q ZWN0cyB3aXRob3V0IGZ1bmN0aW9uYWwgUHJvamVjdCBMZWFkZXJzaGlwIFRlYW0KKworUHJvamVj dHMgd2hpY2ggbG9zZSB0aGVpciBwcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSwgb3Igd2hvc2UgcHJv amVjdCBsZWFkZXJzaGlwIAordGVhbSBpcyB0b28gc21hbGwgdG8gZnVuY3Rpb24sIGFyZSBhdCBy aXNrIG9mIGZhaWxpbmcuIEEgcHJvamVjdCBsZWFkZXJzaGlwIAordGVhbSBzaG91bGQgYmUgb2Yg c3VmZmljaWVudCBzaXplIHRvIG1hbmFnZSB0aGUgcHJvamVjdC4gU2hvdWxkIHRoaXMgb2NjdXIs IHRoZSAKK3Byb2plY3QncyBtYWludGFpbmVyIG9yIGNvbW1pdHRlciBjb21tdW5pdHkgc2hvdWxk IG5vbWluYXRlIG5ldyBsZWFkZXJzaGlwIHRlYW0gCittZW1iZXJzIGFuZCBmb2xsb3cgdGhlIGVs ZWN0aW9uIHByb2Nlc3MgYXMgb3V0bGluZWQgaW4gW2VsZWN0aW9uc10oI2VsZWN0aW9ucykuCisK K0lmIHRoZSBjb21tdW5pdHkgY2Fubm90IGNyZWF0ZSBhIGZ1bmN0aW9uYWwgbGVhZGVyc2hpcCB0 ZWFtLCB3ZSBhc3N1bWUgdGhhdCB0aGUgCitwcm9qZWN0IGRvZXMgbm90IGhhdmUgZW5vdWdoIG1v bWVudHVtIGFuZCB3aWxsIGNvbnNpZGVyIGFyY2hpdmluZyB0aGUgcHJvamVjdC4KIAogIyMjIyBJ bmN1YmF0aW9uIHByb2plY3RzIHdpdGhvdXQgTWVudG9yCiAKIFNob3VsZCBhbiBpbmN1YmF0aW9u IHByb2plY3QgbG9zZSBpdHMgbWVudG9yLCB0aGUgWGVuIFByb2plY3QgY29tbXVuaXR5IG1hbmFn ZXIgCiB3aWxsIHN1cHBvcnQgdGhlIHByb2plY3QgbGVhZCBpbiBmaW5kaW5nIGEgbmV3IG1lbnRv ci4KIAorUGVyIFN1Yi1Qcm9qZWN0IEdvdmVybmFuY2UgU3BlY2lhbGlzYXRpb24geyNzcGVjaWFs aXNhdGlvbnN9CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisg ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIElTU1VFUyBUTyBCRSBBRERSRVNT RUQgTEFURVI6IAorICAgIC0gQWRkIGV4Y2VwdGlvbnMgYXMgdGhleSBzdXJmYWNlCisgICAgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBDaGFuZ2UgSGlzdG9yeQogLS0tLS0tLS0tLS0t LS0KIAotLSAgICoqdjMuMCBKdWx5IDIwMTY6KiogVE9ETzogQWRkIHJlYWwgY2hhbmdlbG9nIGlu IG1haW4gcGF0Y2gKKy0gICAqKnYzLjAgU2VwdGVtYmVyIDIwMTY6KiogUmVmYWN0b3JlZCBkb2N1 bWVudC4gT3RoZXJ3aXNlIHNpZ25pZmljYW50IGNoYW5nZXMgdG8gCitkZWNpc2lvbiBtYWtpbmcs IGluIHRoZSBmb2xsb3dpbmcgYXJlYXMKKyAgICAtICAgU3BsaXQgcm9sZXMgaW50byBwcm9qZWN0 IHdpZGUgYW5kIHN1Yi1wcm9qZWN0IHNwZWNpZmljIHJvbGVzLgorICAgIC0gICBBZGRlZCArMiAu Li4gLTIgc2NoZW1lIGZvciB2b3Rlcy4KKyAgICAtICAgQ2xhcmlmaWVkIGxhenkgY29uc2Vuc3Vz LgorICAgIC0gICBBZGRlZCBQcm9qZWN0IFRlYW0gTGVhZGVyc2hpcCByb2xlIGFuZCBEZWNpc2lv biBtYWtpbmcuCisgICAgLSAgIENoYW5nZWQgUHJvamVjdCBXaWRlIERlY2lzaW9uIG1ha2luZy4K KyAgICAtICAgQ2xhcmlmaWVkIHNjb3BlIG9mIERlY2lzaW9uIG1ha2luZworICAgIC0gICBBZGRl ZCBzZWN0aW9uIG9uIENvbW11bml0eSBEZWNpc2lvbnMgd2l0aCBGdW5kaW5nIGFuZCBMZWdhbCBJ bXBsaWNhdGlvbnMKKyAgICAtICAgTW9kaWZpZWQgc2VjdGlvbnMgd2hpY2ggaGF2ZSBkZXBlbmRl bmNpZXMgb24gY2hhbmdlcyBhYm92ZS4KIC0gICAqKnYyLjEgTWF5IDIwMTY6KiogQ2xhcmlmeSBD b21taXR0ZXIgRWxlY3Rpb25zIGFzIHBlciB0aGlzIAogW2Rpc2N1c3Npb25dKGh0dHA6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTA1L21zZzAwODAK IDEuaHRtbCkgYW5kIApAQCAtNjQ0LDUgKzEwMzQsNCBAQCBmcm9tIFJlcXVlc3RpbmcgUmV2aWV3 cywgUmV2aWV3cyBhbmQgVm90aW5nIHJhdGhlciB0aGFuIGR1cGxpY2F0aW5nCiAgICAgLSAgIEFk ZGVkIE1ha2luZyBDb250cmlidXRpb25zIHdoaWNoIGNvbnRhaW5zIGxpbmtzIHRvIG90aGVyIGRv Y3VtZW50YXRpb24gCiBhbmQgaGlnaGxpZ2h0cyB0aGF0IFhlbi5vcmcgcmVxdWlyZWQgYSBEQ08g Zm9yIGNvbnRyaWJ1dGlvbnMgc2luY2UgMjAwNS4KIC0gICAqKnYxLjAgSnVuIDIwMTE6KiogSW5p dGlhbCBkb2N1bWVudCBhcHByb3ZlZAotCiAgICAgICAgICAgICAgICAgICAgIApcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuNS40IChBcHBsZSBHaXQtNjEpCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==