ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggMTRjZjZjNC4uNzBkZDQzYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IEFwciAzMAorKmF1dG9jbWQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxOCBNYXkgMDMKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IGZlNDU3YzkuLmFiODIwYjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggQXByIDE3CisqY2hhbmdlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IE1heSAwNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwLDcgKzExMCw3IEBACiBKCQkJSm9pbiBbY291bnRdIGxpbmVzLCB3aXRoIGEgbWluaW11bSBvZiB0d28gbGluZXMuCiAJCQlSZW1vdmUgdGhlIGluZGVudCBhbmQgaW5zZXJ0IHVwIHRvIHR3byBzcGFjZXMgKHNlZQogCQkJYmVsb3cpLiAgRmFpbHMgd2hlbiBvbiB0aGUgbGFzdCBsaW5lIG9mIHRoZSBidWZmZXIuCi0JCQlJZiBbY291bnRdIGlzIHRvbyBiaWcgaXQgaXMgcmVkdWNlIHRvIHRoZSBudW1iZXIgb2YKKwkJCUlmIFtjb3VudF0gaXMgdG9vIGJpZyBpdCBpcyByZWR1Y2VkIHRvIHRoZSBudW1iZXIgb2YKIAkJCWxpbmVzIGF2YWlsYWJsZS4KIAogCQkJCQkJCSp2X0oqCkBAIC00NDYsNyArNDQ2LDcgQEAKIAogRm9yIGRlY2ltYWxzIGEgbGVhZGluZyBuZWdhdGl2ZSBzaWduIGlzIGNvbnNpZGVyZWQgZm9yIGluY3JlbWVudGluZy8KIGRlY3JlbWVudGluZywgZm9yIGJpbmFyeSwgb2N0YWwgYW5kIGhleCB2YWx1ZXMsIGl0IHdvbid0IGJlIGNvbnNpZGVyZWQuICBUbwotaWdub3JlIHRoZSBzaWduIFZpc3VhbGx5IHNlbGVjdCB0aGUgbnVtYmVyIGJlZm9yZSB1c2luZyBDVFJMLUEgb3IgQ1RSTC1YLiAKK2lnbm9yZSB0aGUgc2lnbiBWaXN1YWxseSBzZWxlY3QgdGhlIG51bWJlciBiZWZvcmUgdXNpbmcgQ1RSTC1BIG9yIENUUkwtWC4KIAogRm9yIG51bWJlcnMgd2l0aCBsZWFkaW5nIHplcm9zIChpbmNsdWRpbmcgYWxsIG9jdGFsIGFuZCBoZXhhZGVjaW1hbCBudW1iZXJzKSwKIFZpbSBwcmVzZXJ2ZXMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBudW1iZXIgd2hlbiBwb3NzaWJsZS4gIENUUkwtQSBvbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQgYi9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dAppbmRleCBlOWMwZWU5Li4yOGJhN2NkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dAorKysgYi9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpkZXZlbG9wLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggQXByIDIzCisqZGV2ZWxvcC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IE1heSAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTgsNyArMTgsOCBAQAogY29kZS4KIAogVmltIGlzIG9wZW4gc291cmNlIHNvZnR3YXJlLiAgRXZlcnlib2R5IGlzIGVuY291cmFnZWQgdG8gY29udHJpYnV0ZSB0byBoZWxwCi1pbXByb3ZpbmcgVmltLiAgRm9yIHNlbmRpbmcgcGF0Y2hlcyBhIGNvbnRleHQgZGlmZiAiZGlmZiAtYyIgaXMgcHJlZmVycmVkLgoraW1wcm92aW5nIFZpbS4gIEZvciBzZW5kaW5nIHBhdGNoZXMgYSB1bmlmaWVkIGRpZmYgImRpZmYgLXUiIGlzIHByZWZlcnJlZC4KK1lvdSBjYW4gY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIGdpdGh1YiwgYnV0IGl0J3Mgbm90IHJlcXVpcmVkLgogQWxzbyBzZWUgaHR0cDovL3ZpbS53aWtpYS5jb20vd2lraS9Ib3dfdG9fbWFrZV9hbmRfc3VibWl0X2FfcGF0Y2guCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZ3VpX3gxMS50eHQgYi9ydW50aW1lL2RvYy9ndWlfeDExLnR4dAppbmRleCAyYmY3MzAyLi5iMWMyY2M2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ndWlfeDExLnR4dAorKysgYi9ydW50aW1lL2RvYy9ndWlfeDExLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpndWlfeDExLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTcgSnVsIDI4CisqZ3VpX3gxMS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IE1heSAwNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTMsNiArNTMsOSBAQAogIjpndWkgLWIiLgogCiAiZ3ZpbSAtLW5vZm9yayIgZG9lcyB0aGUgc2FtZSBhcyAiZ3ZpbSAtZiIuCisKK1doZW4gdGhlcmUgYXJlIHJ1bm5pbmcgam9icyBWaW0gd2lsbCBub3QgZm9yaywgYmVjYXVzZSB0aGUgcHJvY2Vzc2VzIHdvdWxkIG5vCitsb25nZXIgYmUgY2hpbGQgcHJvY2Vzc2VzLgogCQkJCQkJCQkqRTg1MSogKkU4NTIqCiBXaGVuIHN0YXJ0aW5nIHRoZSBHVUkgZmFpbHMgVmltIHdpbGwgdHJ5IHRvIGNvbnRpbnVlIHJ1bm5pbmcgaW4gdGhlIHRlcm1pbmFsLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9tYXAudHh0IGIvcnVudGltZS9kb2MvbWFwLnR4dAppbmRleCAxODc2M2Y0Li5lM2ZmNzJhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYXAudHh0CisrKyBiL3J1bnRpbWUvZG9jL21hcC50eHQKQEAgLTEsNCArMSw0IEBACi0qbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE3IFNlcCAyMworKm1hcC50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxOCBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTU0Miw5ICs1NDIsOSBAQAogCTppbWFwIDxNLUM+IGZvbwogCTpzZXQgZW5jb2Rpbmc9dXRmLTgKIFRoZSBtYXBwaW5nIGZvciA8TS1DPiBpcyBkZWZpbmVkIHdpdGggdGhlIGxhdGluMSBlbmNvZGluZywgcmVzdWx0aW5nIGluIGEgMHhjMwotYnl0ZS4gIElmIHlvdSB0eXBlIHRoZSBjaGFyYWN0ZXIg4SAoMHhlMSA8TS1hPikgaW4gVVRGLTggZW5jb2RpbmcgdGhpcyBpcyB0aGUKK2J5dGUuICBJZiB5b3UgdHlwZSB0aGUgY2hhcmFjdGVyIMOhICgweGUxIDxNLWE+KSBpbiBVVEYtOCBlbmNvZGluZyB0aGlzIGlzIHRoZQogdHdvIGJ5dGVzIDB4YzMgMHhhMS4gIFlvdSBkb24ndCB3YW50IHRoZSAweGMzIGJ5dGUgdG8gYmUgbWFwcGVkIHRoZW4gb3IKLW90aGVyd2lzZSBpdCB3b3VsZCBiZSBpbXBvc3NpYmxlIHRvIHR5cGUgdGhlIOEgY2hhcmFjdGVyLgorb3RoZXJ3aXNlIGl0IHdvdWxkIGJlIGltcG9zc2libGUgdG8gdHlwZSB0aGUgw6EgY2hhcmFjdGVyLgogCiAJCQkJCSo8TGVhZGVyPiogKm1hcGxlYWRlcioKIFRvIGRlZmluZSBhIG1hcHBpbmcgd2hpY2ggdXNlcyB0aGUgIm1hcGxlYWRlciIgdmFyaWFibGUsIHRoZSBzcGVjaWFsIHN0cmluZwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWxhbmcudHh0IGIvcnVudGltZS9kb2MvbWxhbmcudHh0CmluZGV4IDJkMjc5MTIuLjhkZWQ5Y2QgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21sYW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9tbGFuZy50eHQKQEAgLTEsNCArMSw0IEBACi0qbWxhbmcudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE3IE1hciAwNAorKm1sYW5nLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxOCBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE5MCw4ICsxOTAsOCBAQAogCTpzb3VyY2UgJFZJTVJVTlRJTUUvbWVudS52aW0KIAogRWFjaCBwYXJ0IG9mIGEgbWVudSBwYXRoIGlzIHRyYW5zbGF0ZWQgc2VwYXJhdGVseS4gIFRoZSByZXN1bHQgaXMgdGhhdCB3aGVuCi0iSGVscCIgaXMgdHJhbnNsYXRlZCB0byAiSGlsZmUiIGFuZCAiT3ZlcnZpZXciIHRvICLcYmVyYmxpY2siIHRoZW4KLSJIZWxwLk92ZXJ2aWV3IiB3aWxsIGJlIHRyYW5zbGF0ZWQgdG8gIkhpbGZlLtxiZXJibGljayIuCisiSGVscCIgaXMgdHJhbnNsYXRlZCB0byAiSGlsZmUiIGFuZCAiT3ZlcnZpZXciIHRvICLDnGJlcmJsaWNrIiB0aGVuCisiSGVscC5PdmVydmlldyIgd2lsbCBiZSB0cmFuc2xhdGVkIHRvICJIaWxmZS7DnGJlcmJsaWNrIi4KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAzLiBTY3JpcHRzCQkJCQkJKm11bHRpbGFuZy1zY3JpcHRzKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dCBiL3J1bnRpbWUvZG9jL29zX3Ztcy50eHQKaW5kZXggNWNmMjM3OC4uNWEwNjgxNiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc192bXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3Ztcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxNCBBdWcgMjkKKypvc192bXMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggTWF5IDA2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCkBAIC03MDIsMTMgKzcwMiwxMyBAQAogJHNob3cgY2x1c3RlcgogVmlldyBvZiBDbHVzdGVyIGZyb20gc3lzdGVtIElEIDExNjU1ICBub2RlOiBUT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOC1BVUctMjAwOCAxMTo1ODozMQogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLaYgICAgICAgIFNZU1RFTVMgICAgICAgIKYgTUVNQkVSUyCmCi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tpgotpiAgTk9ERSAgpiAgIFNPRlRXQVJFICAgpiAgU1RBVFVTIKYKLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS2mCi2mIFRPUiAgICCmIFZNUyBWNy4zLTIgICCmIE1FTUJFUiAgpgotpiBUSVRBTjIgpiBWTVMgVjguMyAgICAgpiBNRU1CRVIgIKYKLaYgT0RJTiAgIKYgVk1TIFY3LjMtMiAgIKYgTUVNQkVSICCmCit8ICAgICAgICBTWVNURU1TICAgICAgICB8IE1FTUJFUlMgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLXwKK3wgIE5PREUgIHwgICBTT0ZUV0FSRSAgIHwgIFNUQVRVUyB8CisrLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tfAorfCBUT1IgICAgfCBWTVMgVjcuMy0yICAgfCBNRU1CRVIgIHwKK3wgVElUQU4yIHwgVk1TIFY4LjMgICAgIHwgTUVNQkVSICB8Cit8IE9ESU4gICB8IFZNUyBWNy4zLTIgICB8IE1FTUJFUiAgfAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAogSXQgaXMgY29udmVuaWVudCB0byBoYXZlIGEgY29tbW9uIFZJTSBkaXJlY3RvcnkgYnV0IGV4ZWN1dGUgZGlmZmVyZW50CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9xdWlja2ZpeC50eHQgYi9ydW50aW1lL2RvYy9xdWlja2ZpeC50eHQKaW5kZXggOTYwODVkMi4uODMzNzliOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpxdWlja2ZpeC50eHQqICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggQXByIDI4CisqcXVpY2tmaXgudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IE1heSAwMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTI1Nyw3ICsxMjU3LDcgQEAKIHRvIGluZGljYXRlIHRoZSBjb2x1bW4gb2YgdGhlIGVycm9yLiAgVGhpcyBpcyB0byBiZSB1c2VkIGluIGEgbXVsdGktbGluZSBlcnJvcgogbWVzc2FnZS4gIFNlZSB8ZXJyb3Jmb3JtYXQtamF2YWN8IGZvciBhICB1c2VmdWwgZXhhbXBsZS4KIAotVGhlICIlcyIgY29udmVyc2lvbiBzcGVjaWZpZXMgdGhlIHRleHQgdG8gc2VhcmNoIGZvciB0byBsb2NhdGUgdGhlIGVycm9yIGxpbmUuCitUaGUgIiVzIiBjb252ZXJzaW9uIHNwZWNpZmllcyB0aGUgdGV4dCB0byBzZWFyY2ggZm9yLCB0byBsb2NhdGUgdGhlIGVycm9yIGxpbmUuCiBUaGUgdGV4dCBpcyB1c2VkIGFzIGEgbGl0ZXJhbCBzdHJpbmcuICBUaGUgYW5jaG9ycyAiXiIgYW5kICIkIiBhcmUgYWRkZWQgdG8KIHRoZSB0ZXh0IHRvIGxvY2F0ZSB0aGUgZXJyb3IgbGluZSBleGFjdGx5IG1hdGNoaW5nIHRoZSBzZWFyY2ggdGV4dCBhbmQgdGhlCiB0ZXh0IGlzIHByZWZpeGVkIHdpdGggdGhlICJcViIgYXRvbSB0byBtYWtlIGl0ICJ2ZXJ5IG5vbWFnaWMiLiAgVGhlICIlcyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dCBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dAppbmRleCA4MjU2MTUyLi4yMWE2OTA1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKKysrIGIvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxOCBNYXIgMTQKKypzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggTWF5IDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMjcsNyArMTI3LDggQEAKIE9uIFZNUyBhbGwgb3B0aW9uIGFyZ3VtZW50cyBhcmUgYXNzdW1lZCB0byBiZSBsb3dlcmNhc2UsIHVubGVzcyBwcmVjZWRlZCB3aXRoCiBhIHNsYXNoLiAgVGh1cyAiLVIiIG1lYW5zIHJlY292ZXJ5IGFuZCAiLS9SIiByZWFkb25seS4KIAotLS1oZWxwCQkJCQkJCSotaCogKi0taGVscCoKKy0taGVscAkJCQkJCQkqLWgqICotLWhlbHAqICotPyoKKy0/CiAtaAkJR2l2ZSB1c2FnZSAoaGVscCkgbWVzc2FnZSBhbmQgZXhpdC4gIHtub3QgaW4gVml9CiAJCVNlZSB8aW5mby1tZXNzYWdlfCBhYm91dCBjYXB0dXJpbmcgdGhlIHRleHQuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDI1OTljNTEuLmU2NDI0ZGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMTQwOCw2ICsxNDA4LDcgQEAKIC0tdHR5ZmFpbAlzdGFydGluZy50eHQJLyotLXR0eWZhaWwqCiAtLXZlcnNpb24Jc3RhcnRpbmcudHh0CS8qLS12ZXJzaW9uKgogLS13aW5kb3dpZAlzdGFydGluZy50eHQJLyotLXdpbmRvd2lkKgorLT8Jc3RhcnRpbmcudHh0CS8qLT8qCiAtQQlzdGFydGluZy50eHQJLyotQSoKIC1DCXN0YXJ0aW5nLnR4dAkvKi1DKgogLUQJc3RhcnRpbmcudHh0CS8qLUQqCkBAIC01Mjg1LDYgKzUyODYsNyBAQAogY188Qy1SPgljbWRsaW5lLnR4dAkvKmNfPEMtUj4qCiBjXzxDLVI+XzxDLUE+CWNtZGxpbmUudHh0CS8qY188Qy1SPl88Qy1BPioKIGNfPEMtUj5fPEMtRj4JY21kbGluZS50eHQJLypjXzxDLVI+XzxDLUY+KgorY188Qy1SPl88Qy1MPgljbWRsaW5lLnR4dAkvKmNfPEMtUj5fPEMtTD4qCiBjXzxDLVI+XzxDLU8+CWNtZGxpbmUudHh0CS8qY188Qy1SPl88Qy1PPioKIGNfPEMtUj5fPEMtUD4JY21kbGluZS50eHQJLypjXzxDLVI+XzxDLVA+KgogY188Qy1SPl88Qy1SPgljbWRsaW5lLnR4dAkvKmNfPEMtUj5fPEMtUj4qCkBAIC01MzMzLDYgKzUzMzUsNyBAQAogY19DVFJMLVJfPQljbWRsaW5lLnR4dAkvKmNfQ1RSTC1SXz0qCiBjX0NUUkwtUl9DVFJMLUEJY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLUEqCiBjX0NUUkwtUl9DVFJMLUYJY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLUYqCitjX0NUUkwtUl9DVFJMLUwJY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLUwqCiBjX0NUUkwtUl9DVFJMLU8JY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLU8qCiBjX0NUUkwtUl9DVFJMLVAJY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLVAqCiBjX0NUUkwtUl9DVFJMLVIJY21kbGluZS50eHQJLypjX0NUUkwtUl9DVFJMLVIqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzcmNoLnR4dCBiL3J1bnRpbWUvZG9jL3RhZ3NyY2gudHh0CmluZGV4IGMzZGE5MGQuLjZmMDA2YzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3NyY2gudHh0CisrKyBiL3J1bnRpbWUvZG9jL3RhZ3NyY2gudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRhZ3NyY2gudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxNyBPY3QgMjAKKyp0YWdzcmNoLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4wLiAgTGFzdCBjaGFuZ2U6IDIwMTggTWF5IDA0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNiwxMiArMzYsMTIgQEAKIGJlbG93LgogCiAJCQkJCQkqOnRhKiAqOnRhZyogKkU0MjYqICpFNDI5KgotOltjb3VudF10YVtnXVshXSB7aWRlbnR9Ci0JCQlKdW1wIHRvIHRoZSBkZWZpbml0aW9uIG9mIHtpZGVudH0sIHVzaW5nIHRoZQotCQkJaW5mb3JtYXRpb24gaW4gdGhlIHRhZ3MgZmlsZShzKS4gIFB1dCB7aWRlbnR9IGluIHRoZQorOltjb3VudF10YVtnXVshXSB7bmFtZX0KKwkJCUp1bXAgdG8gdGhlIGRlZmluaXRpb24gb2Yge25hbWV9LCB1c2luZyB0aGUKKwkJCWluZm9ybWF0aW9uIGluIHRoZSB0YWdzIGZpbGUocykuICBQdXQge25hbWV9IGluIHRoZQogCQkJdGFnIHN0YWNrLiAgU2VlIHx0YWctIXwgZm9yIFshXS4KLQkJCXtpZGVudH0gY2FuIGJlIGEgcmVnZXhwIHBhdHRlcm4sIHNlZSB8dGFnLXJlZ2V4cHwuCi0JCQlXaGVuIHRoZXJlIGFyZSBzZXZlcmFsIG1hdGNoaW5nIHRhZ3MgZm9yIHtpZGVudH0sIGp1bXAKKwkJCXtuYW1lfSBjYW4gYmUgYSByZWdleHAgcGF0dGVybiwgc2VlIHx0YWctcmVnZXhwfC4KKwkJCVdoZW4gdGhlcmUgYXJlIHNldmVyYWwgbWF0Y2hpbmcgdGFncyBmb3Ige25hbWV9LCBqdW1wCiAJCQl0byB0aGUgW2NvdW50XSBvbmUuICBXaGVuIFtjb3VudF0gaXMgb21pdHRlZCB0aGUKIAkJCWZpcnN0IG9uZSBpcyBqdW1wZWQgdG8uIFNlZSB8dGFnLW1hdGNobGlzdHwgZm9yCiAJCQlqdW1waW5nIHRvIG90aGVyIG1hdGNoaW5nIHRhZ3MuCkBAIC00OSwxNiArNDksMTYgQEAKIGc8TGVmdE1vdXNlPgkJCQkJCSpnPExlZnRNb3VzZT4qCiA8Qy1MZWZ0TW91c2U+CQkJCQkqPEMtTGVmdE1vdXNlPiogKkNUUkwtXSoKIENUUkwtXQkJCUp1bXAgdG8gdGhlIGRlZmluaXRpb24gb2YgdGhlIGtleXdvcmQgdW5kZXIgdGhlCi0JCQljdXJzb3IuICBTYW1lIGFzICI6dGFnIHtpZGVudH0iLCB3aGVyZSB7aWRlbnR9IGlzIHRoZQorCQkJY3Vyc29yLiAgU2FtZSBhcyAiOnRhZyB7bmFtZX0iLCB3aGVyZSB7bmFtZX0gaXMgdGhlCiAJCQlrZXl3b3JkIHVuZGVyIG9yIGFmdGVyIGN1cnNvci4KLQkJCVdoZW4gdGhlcmUgYXJlIHNldmVyYWwgbWF0Y2hpbmcgdGFncyBmb3Ige2lkZW50fSwganVtcAorCQkJV2hlbiB0aGVyZSBhcmUgc2V2ZXJhbCBtYXRjaGluZyB0YWdzIGZvciB7bmFtZX0sIGp1bXAKIAkJCXRvIHRoZSBbY291bnRdIG9uZS4gIFdoZW4gbm8gW2NvdW50XSBpcyBnaXZlbiB0aGUKIAkJCWZpcnN0IG9uZSBpcyBqdW1wZWQgdG8uIFNlZSB8dGFnLW1hdGNobGlzdHwgZm9yCiAJCQlqdW1waW5nIHRvIG90aGVyIG1hdGNoaW5nIHRhZ3MuCiAJCQl7Vmk6IGlkZW50aWZpZXIgYWZ0ZXIgdGhlIGN1cnNvcn0KIAogCQkJCQkJCSp2X0NUUkwtXSoKLXtWaXN1YWx9Q1RSTC1dCQlTYW1lIGFzICI6dGFnIHtpZGVudH0iLCB3aGVyZSB7aWRlbnR9IGlzIHRoZSB0ZXh0IHRoYXQKK3tWaXN1YWx9Q1RSTC1dCQlTYW1lIGFzICI6dGFnIHtuYW1lfSIsIHdoZXJlIHtuYW1lfSBpcyB0aGUgdGV4dCB0aGF0CiAJCQlpcyBoaWdobGlnaHRlZC4gIHtub3QgaW4gVml9CiAKIAkJCQkJCQkqdGVsbmV0LUNUUkwtXSoKQEAgLTgyLDcgKzgyLDcgQEAKIAogTm90ZSB0aGF0IHdoZW4gdGhlIGN1cnJlbnQgZmlsZSBjaGFuZ2VzLCB0aGUgcHJpb3JpdHkgbGlzdCBpcyBtb3N0bHkgbm90CiBjaGFuZ2VkLCB0byBhdm9pZCBjb25mdXNpb24gd2hlbiB1c2luZyAiOnRuZXh0Ii4gIEl0IGlzIGNoYW5nZWQgd2hlbiB1c2luZwotIjp0YWcge2lkZW50fSIuCisiOnRhZyB7bmFtZX0iLgogCiBUaGUgaWdub3JlLWNhc2UgbWF0Y2hlcyBhcmUgbm90IGZvdW5kIGZvciBhICI6dGFnIiBjb21tYW5kIHdoZW46CiAtIHRoZSAnaWdub3JlY2FzZScgb3B0aW9uIGlzIG9mZiBhbmQgJ3RhZ2Nhc2UnIGlzICJmb2xsb3dpYyIKQEAgLTE2Nyw3ICsxNjcsNyBAQAogeW91IGNhbiBDVFJMLV0gdG8gZ2V0IHRvIEZ1bmNDLiAgSWYgeW91IG5vdyB3YW50IHRvIGdvIGJhY2sgdG8gbWFpbiB5b3UgY2FuCiB1c2UgQ1RSTC1UIHR3aWNlLiAgVGhlbiB5b3UgY2FuIENUUkwtXSB0byBGdW5jQi4KIAotSWYgeW91IGlzc3VlIGEgIjp0YSB7aWRlbnR9IiBvciBDVFJMLV0gY29tbWFuZCwgdGhpcyB0YWcgaXMgaW5zZXJ0ZWQgYXQgdGhlCitJZiB5b3UgaXNzdWUgYSAiOnRhIHtuYW1lfSIgb3IgQ1RSTC1dIGNvbW1hbmQsIHRoaXMgdGFnIGlzIGluc2VydGVkIGF0IHRoZQogY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgc3RhY2suICBJZiB0aGUgc3RhY2sgd2FzIGZ1bGwgKGl0IGNhbiBob2xkIHVwIHRvIDIwCiBlbnRyaWVzKSwgdGhlIG9sZGVzdCBlbnRyeSBpcyBkZWxldGVkIGFuZCB0aGUgb2xkZXIgZW50cmllcyBzaGlmdCBvbmUKIHBvc2l0aW9uIHVwICh0aGVpciBpbmRleCBudW1iZXIgaXMgZGVjcmVtZW50ZWQgYnkgb25lKS4gIElmIHRoZSBsYXN0IHVzZWQKQEAgLTE5MSwxNCArMTkxLDE0IEBACiB0aGUgc2FtZSBlbnRyeS4KIAogCQkJCQkJCSo6dHMqICo6dHNlbGVjdCoKLTp0c1tlbGVjdF1bIV0gW2lkZW50XQlMaXN0IHRoZSB0YWdzIHRoYXQgbWF0Y2ggW2lkZW50XSwgdXNpbmcgdGhlCis6dHNbZWxlY3RdWyFdIFtuYW1lXQlMaXN0IHRoZSB0YWdzIHRoYXQgbWF0Y2ggW25hbWVdLCB1c2luZyB0aGUKIAkJCWluZm9ybWF0aW9uIGluIHRoZSB0YWdzIGZpbGUocykuCi0JCQlXaGVuIFtpZGVudF0gaXMgbm90IGdpdmVuLCB0aGUgbGFzdCB0YWcgbmFtZSBmcm9tIHRoZQorCQkJV2hlbiBbbmFtZV0gaXMgbm90IGdpdmVuLCB0aGUgbGFzdCB0YWcgbmFtZSBmcm9tIHRoZQogCQkJdGFnIHN0YWNrIGlzIHVzZWQuCiAJCQlTZWUgfHRhZy0hfCBmb3IgWyFdLgogCQkJV2l0aCBhICc+JyBpbiB0aGUgZmlyc3QgY29sdW1uIGlzIGluZGljYXRlZCB3aGljaCBpcwogCQkJdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIGxpc3QgKGlmIHRoZXJlIGlzIG9uZSkuCi0JCQlbaWRlbnRdIGNhbiBiZSBhIHJlZ2V4cCBwYXR0ZXJuLCBzZWUgfHRhZy1yZWdleHB8LgorCQkJW25hbWVdIGNhbiBiZSBhIHJlZ2V4cCBwYXR0ZXJuLCBzZWUgfHRhZy1yZWdleHB8LgogCQkJU2VlIHx0YWctcHJpb3JpdHl8IGZvciB0aGUgcHJpb3JpdGllcyB1c2VkIGluIHRoZQogCQkJbGlzdGluZy4gIHtub3QgaW4gVml9CiAJCQlFeGFtcGxlIG91dHB1dDoKQEAgLTIyNiw3ICsyMjYsNyBAQAogCQkJdHlwZSAncScgYW5kIGVudGVyIHRoZSBudW1iZXIuCiAKIAkJCQkJCQkqOnN0cyogKjpzdHNlbGVjdCoKLTpzdHNbZWxlY3RdWyFdIFtpZGVudF0JRG9lcyAiOnRzZWxlY3RbIV0gW2lkZW50XSIgYW5kIHNwbGl0cyB0aGUgd2luZG93IGZvcgorOnN0c1tlbGVjdF1bIV0gW25hbWVdCURvZXMgIjp0c2VsZWN0WyFdIFtuYW1lXSIgYW5kIHNwbGl0cyB0aGUgd2luZG93IGZvcgogCQkJdGhlIHNlbGVjdGVkIHRhZy4gIHtub3QgaW4gVml9CiAKIAkJCQkJCQkqZ10qCkBAIC0yMzgsMTEgKzIzOCwxMSBAQAogCQkJaWRlbnRpZmllci4gIHtub3QgaW4gVml9CiAKIAkJCQkJCQkqOnRqKiAqOnRqdW1wKgotOnRqW3VtcF1bIV0gW2lkZW50XQlMaWtlICI6dHNlbGVjdCIsIGJ1dCBqdW1wIHRvIHRoZSB0YWcgZGlyZWN0bHkgd2hlbgorOnRqW3VtcF1bIV0gW25hbWVdCUxpa2UgIjp0c2VsZWN0IiwgYnV0IGp1bXAgdG8gdGhlIHRhZyBkaXJlY3RseSB3aGVuCiAJCQl0aGVyZSBpcyBvbmx5IG9uZSBtYXRjaC4gIHtub3QgaW4gVml9CiAKIAkJCQkJCQkqOnN0aiogKjpzdGp1bXAqCi06c3RqW3VtcF1bIV0gW2lkZW50XQlEb2VzICI6dGp1bXBbIV0gW2lkZW50XSIgYW5kIHNwbGl0cyB0aGUgd2luZG93IGZvciB0aGUKKzpzdGpbdW1wXVshXSBbbmFtZV0JRG9lcyAiOnRqdW1wWyFdIFtuYW1lXSIgYW5kIHNwbGl0cyB0aGUgd2luZG93IGZvciB0aGUKIAkJCXNlbGVjdGVkIHRhZy4gIHtub3QgaW4gVml9CiAKIAkJCQkJCQkqZ19DVFJMLV0qCkBAIC0yNzcsOSArMjc3LDkgQEAKIAkJCWluIFZpfQogCiAJCQkJCQkJKjpsdCogKjpsdGFnKgotOmx0W2FnXVshXSBbaWRlbnRdCUp1bXAgdG8gdGFnIFtpZGVudF0gYW5kIGFkZCB0aGUgbWF0Y2hpbmcgdGFncyB0byBhIG5ldwotCQkJbG9jYXRpb24gbGlzdCBmb3IgdGhlIGN1cnJlbnQgd2luZG93LiAgW2lkZW50XSBjYW4gYmUKLQkJCWEgcmVnZXhwIHBhdHRlcm4sIHNlZSB8dGFnLXJlZ2V4cHwuICBXaGVuIFtpZGVudF0gaXMKKzpsdFthZ11bIV0gW25hbWVdCUp1bXAgdG8gdGFnIFtuYW1lXSBhbmQgYWRkIHRoZSBtYXRjaGluZyB0YWdzIHRvIGEgbmV3CisJCQlsb2NhdGlvbiBsaXN0IGZvciB0aGUgY3VycmVudCB3aW5kb3cuICBbbmFtZV0gY2FuIGJlCisJCQlhIHJlZ2V4cCBwYXR0ZXJuLCBzZWUgfHRhZy1yZWdleHB8LiAgV2hlbiBbbmFtZV0gaXMKIAkJCW5vdCBnaXZlbiwgdGhlIGxhc3QgdGFnIG5hbWUgZnJvbSB0aGUgdGFnIHN0YWNrIGlzCiAJCQl1c2VkLiAgVGhlIHNlYXJjaCBwYXR0ZXJuIHRvIGxvY2F0ZSB0aGUgdGFnIGxpbmUgaXMKIAkJCXByZWZpeGVkIHdpdGggIlxWIiB0byBlc2NhcGUgYWxsIHRoZSBzcGVjaWFsCkBAIC0zMTEsMTIgKzMxMSwxMiBAQAoge25vdCBhdmFpbGFibGUgd2hlbiBjb21waWxlZCB3aXRob3V0IHRoZSB8K3F1aWNrZml4fCBmZWF0dXJlfQogCiAJCQkJCQkJKjpwdHMqICo6cHRzZWxlY3QqCi06cHRzW2VsZWN0XVshXSBbaWRlbnRdCURvZXMgIjp0c2VsZWN0WyFdIFtpZGVudF0iIGFuZCBzaG93cyB0aGUgbmV3IHRhZyBpbiBhCis6cHRzW2VsZWN0XVshXSBbbmFtZV0JRG9lcyAiOnRzZWxlY3RbIV0gW25hbWVdIiBhbmQgc2hvd3MgdGhlIG5ldyB0YWcgaW4gYQogCQkJIlByZXZpZXciIHdpbmRvdy4gIFNlZSB8OnB0YWd8IGZvciBtb3JlIGluZm8uCiAJCQl7bm90IGluIFZpfQogCiAJCQkJCQkJKjpwdGoqICo6cHRqdW1wKgotOnB0alt1bXBdWyFdIFtpZGVudF0JRG9lcyAiOnRqdW1wWyFdIFtpZGVudF0iIGFuZCBzaG93cyB0aGUgbmV3IHRhZyBpbiBhCis6cHRqW3VtcF1bIV0gW25hbWVdCURvZXMgIjp0anVtcFshXSBbbmFtZV0iIGFuZCBzaG93cyB0aGUgbmV3IHRhZyBpbiBhCiAJCQkiUHJldmlldyIgd2luZG93LiAgU2VlIHw6cHRhZ3wgZm9yIG1vcmUgaW5mby4KIAkJCXtub3QgaW4gVml9CiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Rlcm1pbmFsLnR4dCBiL3J1bnRpbWUvZG9jL3Rlcm1pbmFsLnR4dAppbmRleCA1OWFlYjk3Li4yZGE2OTA0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90ZXJtaW5hbC50eHQKKysrIGIvcnVudGltZS9kb2MvdGVybWluYWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRlcm1pbmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IEFwciAyMAorKnRlcm1pbmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IE1heSAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00NjYsNiArNDY2LDggQEAKIAkJTGV0IFZpbSBvcGVuIGEgZmlsZSwgbGlrZSB0aGUgYDpkcm9wYCBjb21tYW5kLiAgSWYge2ZpbGVuYW1lfQogCQlpcyBhbHJlYWR5IG9wZW4gaW4gYSB3aW5kb3csIHN3aXRjaCB0byB0aGF0IHdpbmRvdy4gIE90aGVyd2lzZQogCQlvcGVuIGEgbmV3IHdpbmRvdyB0byBlZGl0IHtmaWxlbmFtZX0uCisJCU5vdGUgdGhhdCBib3RoIHRoZSBqb2IgYW5kIFZpbSBtYXkgY2hhbmdlIHRoZSBjdXJyZW50CisJCWRpcmVjdG9yeSwgdGh1cyBpdCdzIGJlc3QgdG8gdXNlIHRoZSBmdWxsIHBhdGguCiAKIAkJW29wdGlvbnNdIGlzIG9ubHkgdXNlZCB3aGVuIG9wZW5pbmcgYSBuZXcgd2luZG93LiAgSWYgcHJlc2VudCwKIAkJaXQgbXVzdCBiZSBhIERpY3QuICBTaW1pbGFybHkgdG8gfCsrb3B0fCwgVGhlc2UgZW50cmllcyBhcmUgcmVjb2duaXplZDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggYjljNjFjZC4uZTVlNjk5ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMC4gIExhc3QgY2hhbmdlOiAyMDE4IEFwciAzMAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA4LjAuICBMYXN0IGNoYW5nZTogMjAxOCBNYXkgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDAsNiArNDAsMTAgQEAKIAogUHJvYmxlbSB3aXRoIHN1ZG8uICMyNzU4CiAKK0xvb2tzIGxpa2UgYW4gZXJyb3IgZm9yIGluc2VydGluZyByZWdpc3RlciBtYWtlcyAiOmZpbGUgb3RoZXIiIG5vdCB3b3JrLgorKFRvbSBNLCAyMDE4IE1hciAyOCkgIFJlc2V0IGRpZF9lbXNnIGFmdGVyIGluc2VydGluZyBhIHJlZ2lzdGVyLgorT3IgYXQgdGhlIHRvcCBvZiB0aGUgbG9vcD8gKEFwciA0KQorCiBNYWtlIGFzc2VydF9mdW5jdGlvbnMgcmV0dXJuIG5vbi16ZXJvIG9uIGZhaWx1cmUuICBNYWtlIHN1cmUgdGhleSBhZGQgb25lCiBlbnRyeSB0byB2OmVycm9ycyB0aGVuLgogVXNlIFdhaXRGb3JBc3NlcnQoKSBpbiB0ZXN0czogZ2l2ZSBlcnJvciB3aGVuIGZhaWxlZC4KQEAgLTUyLDIzICs1NiwxOSBAQAogRXJyb3JzIGZvdW5kIHdpdGggcmFuZG9tIGRhdGE6CiAgICAgaGVhcC1idWZmZXItb3ZlcmZsb3cgaW4gYWxpc3RfYWRkICgjMjQ3MikKIAotUGF0Y2ggdG8gc2hvcnRlbiBmaWxlbmFtZXMgaW4gcXVpY2tmaXggd2luZG93LiAoWWVnYXBwYW4sIDIwMTggQXByIDI4LCAjMjg1MSwKLWNsb3NlcyAjMjg0NikKLQogTW9yZSB3YXJuaW5ncyBmcm9tIHN0YXRpYyBhbmFseXNpczoKIGh0dHBzOi8vbGd0bS5jb20vcHJvamVjdHMvZy92aW0vdmltL2FsZXJ0cy8/bW9kZT1saXN0CiAKLUxvb2tzIGxpa2UgYW4gZXJyb3IgZm9yIGluc2VydGluZyByZWdpc3RlciBtYWtlcyAiOmZpbGUgb3RoZXIiIG5vdCB3b3JrLgotKFRvbSBNLCAyMDE4IE1hciAyOCkgIFJlc2V0IGRpZF9lbXNnIGFmdGVyIGluc2VydGluZyBhIHJlZ2lzdGVyLgotT3IgYXQgdGhlIHRvcCBvZiB0aGUgbG9vcD8gKEFwciA0KQotCi1QYXRjaCB0byBhZGQgIm1vZHVsZSIgdG8gcXVpY2tmaXggZW50cmllcy4gKE1hcmNpbiBTemFtb3R1bHNraSwgQ29vdCwgMjAxNyBKdW4KLTgsICMxNzU3KSAgTm93IHBhcnQgb2YgIzIzMjIuICBPciAjMjMyNz8gICMxNzU3IHdhcyByZS1vcGVuZWQsIGluY2x1ZGUgdGhhdAotZmlyc3QuCi0KIFdoZW4gb3BlbmluZyBmb28veC50eHQgYW5kIGJhci94LnR4dCBnZXQgc3dhcCBmaWxlIHdhcm5pbmcuICBTaG91bGQgY2hlY2sgdGhlCiBmaWxlIG5hbWUuIChKdWVyZ2VuIFdlaWdlcnQpCiAKK1NjcmlwdCBnZW5lcmF0ZWQgYnkgOm1rc2Vzc2lvbiBkb2VzIG5vdCB3b3JrIHdlbGwgaWYgdGhlcmUgYXJlIHdpbmRvd3Mgd2l0aAorbW9kaWZpZWQgYnVmZmVycworICBjaGFuZ2UgInNpbGVudCBvbmx5IiBpbnRvICJzaWxlbnQgb25seSEiCisgIGNoYW5nZSAiZWRpdCBmbmFtZSIgb2YgZmlyc3QgYnVmZmVyIHRvICJoaWRlIGVkaXQgZm5hbWUiCisgIHNraXAgImJhZGQgZm5hbWUiIGlmICJmbmFtZSIgaXMgYWxyZWFkeSBpbiB0aGUgYnVmZmVyIGxpc3QKKyAgcmVtb3ZlIHJlbWFyayBhYm91dCB1bmxvYWRpbmcgYnVmZmVycyBmcm9tIGRvY3VtZW50YXRpb24KKwogQ29tcGlsZXIgd2FybmluZ3MgKGdlZWtuaWssIDIwMTcgT2N0IDI2KToKIC0gc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cgaW4gZG9fc3ViKCkgKCMyMjQ5KQogLSBzaWduZWQgaW50ZWdlciBvdmVyZmxvdyBpbiBnZXRfYWRkcmVzcygpICgjMjI0OCkKQEAgLTg3LDkgKzg3LDYgQEAKIEFkZCBhIE1vZGVDaGFuZ2VkIGF1dG9jb21tYW5kIHRoYXQgaGFzIGFuIGFyZ3VtZW50IGluZGljYXRpbmcgdGhlIG9sZCBhbmQgbmV3CiBtb2RlLiAgQWxzbyB1c2VkIGZvciBzd2l0Y2hpbmcgVGVybWluYWwgbW9kZS4KIAotUGF0Y2ggdG8gc2hvcnRlbiBmaWxlbmFtZXMgaW4gcXVpY2tmaXggd2luZG93LiAoWWVnYXBwYW4gTGFrc2htYW5hbiwgMjAxOAotQXByIDI3KQotCiBBZGQgYW4gb3B0aW9uIHdpdGggZmlsZSBwYXR0ZXJucywgdG8gYmUgdXNlZCB3aGVuIHVubG9hZGluZyBhIGJ1ZmZlcjogSWYgdGhlcmUKIGlzIGEgbWF0Y2gsIHJlbW92ZSBlbnRyaWVzIGZvciB0aGUgYnVmZmVyIGZyb20gbWFya3MsIGp1bXBsaXN0LCBldGMuICBUbyBiZQogdXNlZCBmb3IgZ2l0IHRlbXAgZmlsZXMuCkBAIC05OSw5ICs5NiwyOCBAQAogQWRkIGFuIG9wdGlvbiBzaW1pbGFyIHRvICdsYXp5cmVkcmF3JyB0byBza2lwIHJlZHJhd2luZyB3aGlsZSBleGVjdXRpbmcgYQogc2NyaXB0IG9yIGZ1bmN0aW9uLgogCi1BbHRlcm5hdGl2ZSBtYW5wYWdlci52aW0uIChFbm5vLCAyMDE4IEphbiA1LCAjMjUyOSkKK01TLVdpbmRvd3M6IHdyaXRlIG1heSBmYWlsIGlmIGFub3RoZXIgcHJvZ3JhbSBpcyByZWFkaW5nIHRoZSBmaWxlLgorSWYgJ3JlYWRvbmx5JyBpcyBub3Qgc2V0IGJ1dCB0aGUgZmlsZSBhcHBlYXJzIHRvIGJlIHJlYWRvbmx5IGxhdGVyLCB0cnkgYWdhaW4KKyh3YWl0IGEgbGl0dGxlIHdoaWxlKS4KK0NyZWF0ZUZpbGUoKSByZXR1cm5zIEVSUk9SX1NIQVJJTkdfVklPTEFUSU9OIChMaW53ZWksIDIwMTggTWF5IDUpCiAKLVBhdGNoIHRvIGFkZCBtb3JlIGZsYWdzIHRvIDpscy4gKE1hcmNpbiBTemFtb3R1bHNraSwgIzI3NTEpCitTaG91bGQgYWRkIGEgdGVzdCBmb3IgZXZlcnkgY29tbWFuZCBsaW5lIGFyZ3VtZW50LiAgQ2hlY2sgY292ZXJhZ2UgZm9yIHdoYXQgaXMKK21pc3Npbmc6IC0tbm9mb3JrLCAtQSAsIC1iLCAtaCwgZXRjLgorCitJbXByb3ZlIHRoZSBpbnN0YWxsZXIgZm9yIE1TLVdpbmRvd3MuICBUaGVyZSBhcmUgYSBmZXcgYWx0ZXJuYXRpdmVzOgorLSBBZGQgc2lsZW50IGluc3RhbGwgb3B0aW9uLiAoU2hhbmUgTGVlLCAjNzUxKQorLSBJbnN0YWxsZXIgZnJvbSBDcmVhbSAoU3RldmUgSGFsbCkuCistIE1vZGVybiBVSSAyLjAgZm9yIHRoZSBOc2lzIGluc3RhbGxlci4gKEd1b3BlbmcgV2VuKQorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ncHdlbi92aW0taW5zdGFsbGVyLW11aTIKKy0gIG1ha2UgaXQgcG9zc2libGUgdG8gZG8gYSBzaWxlbnQgaW5zdGFsbCwgc2VlCisgICAgaHR0cDovL25zaXMuc291cmNlZm9yZ2UubmV0L0RvY3MvQ2hhcHRlcjQuaHRtbCM0LjEyCisgICAgVmVyc2lvbiBmcm9tIEd1b3BlbmcgV2VuIGRvZXMgdGhpcy4KKy0gTVNJIGluc3RhbGxlcjogaHR0cHM6Ly9naXRodWIuY29tL3BldHJrbGUvdmltLW1zaS8KKy0gVGhlIG9uZSBvbiBJc3N1ZSAyNzkuCitQcm9ibGVtOiB0aGV5IGFsbCB3b3JrIHNsaWdodGx5IGRpZmZlcmVudCAoZS5nLiBkb24ndCBpbnN0YWxsIHZpbXJ1bi5leGUpLgorSG93IHRvIHRlc3QgdGhhdCBpdCB3b3JrcyB3ZWxsIGZvciBhbGwgVmltIHVzZXJzPworCitBbHRlcm5hdGl2ZSBtYW5wYWdlci52aW0uIChFbm5vLCAyMDE4IEphbiA1LCAjMjUyOSkKIAogRG9lcyBzZXR0aW5nICdjdXJzb3JsaW5lJyBjYXVzZSBzeW50YXggaGlnaGxpZ2h0aW5nIHRvIHNsb3cgZG93bj8gIFBlcmhhcHMgaXMKIG1lc3MgdXAgdGhlIGNhY2hlPyAgKE1pa2UgTGVlIFdpbGxpYW1zLCAyMDE4IEphbiAyNywgIzI1MzkpCkBAIC0xMTAsNiArMTI2LDggQEAKIFdoZW4gdXNpbmcgOnBhY2thZGQgZmlsZXMgdW5kZXIgImxhdGVyIiBhcmUgbm90IHVzZWQsIHdoaWNoIGlzIGluY29uc2lzdGVudAogd2l0aCBwYWNrYWdlcyB1bmRlciAic3RhcnQiLiAoeHRhbDgsICMxOTk0KQogCitQYXRjaCB0byBzdXBwb3J0ICJ4eGQgLXBzIi4gKEVyaWsgQXVlcnN3YWxkLCAyMDE4IE1heSAxKQorCiBDb2x1bW4gbnVtYmVyIGlzIHdyb25nIHdoZW4gdXNpbmcgJ2xpbmVicmVhaycgYW5kICd3cmFwJy4gKEtlaXRoIFNtaWxleSwgMjAxOAogSmFuIDE1LCAjMjU1NSkKIApAQCAtMTE3LDggKzEzNSw5IEBACiAKIENoZWNrIGFyZ3VtZW50IG9mIHN5c3RlbWxpc3QoKS4gKFBhdmxvdikKIAotUGF0Y2ggdG8gc3VwcG9ydCAyNTYgY29sb3JzIGluIFdpbmRvd3MgY29uc29sZS4gKE5vYnVoaXJvIFRha2FzYWtpLCAyMDE4IEFwcgotMjUsICMyODIxKQorQ2FuIHdlIG1ha2UgIjp1bmxldCAkVkFSIiB1c2UgdW5zZXRlbnYoKSB0byBkZWxldGUgdGhlIGVudiB2YXI/CitXaGF0IGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSB1bnNldGVudigpPyAgKElzc3VlICMxMTE2KQorUGF0Y2ggaW4gIzI4NTUsIChZYXN1aGlybyBNYXRzdW1vdG8pCiAKIFBhdGNoIHRvIGFkZCByZWdfZXhlY3V0aW5nKCkgYW5kIHJlZ19yZWNvcmRpbmcoKS4gKEhpcm9oaXRvIEhpZ2FzaGksICMyNzQ1KQogCkBAIC0xMjE2LDkgKzEyMzUsNiBAQAogcmlnaHQtbW91c2UtZHJhZyBvbiB0aGUgc3RhdHVzIGxpbmUgdG8gbW92ZSBhIHdpbmRvdyB1cC9kb3duIHdpdGhvdXQgY2hhbmdpbmcKIGl0cyBoZWlnaHQ/ICBJdCdzIGxpa2UgZHJhZ2dpbmcgdGhlIHN0YXR1cyBiYXIgYWJvdmUgaXQgYXQgdGhlIHNhbWUgdGltZS4KIAotQ2FuIHdlIG1ha2UgIjp1bmxldCAkVkFSIiB1c2UgdW5zZXRlbnYoKSB0byBkZWxldGUgdGhlIGVudiB2YXI/Ci1XaGF0IGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSB1bnNldGVudigpPyAgKElzc3VlICMxMTE2KQotCiBQYXRjaCB0byBhZGQgYSA6ZG9tb2RlbGluZSBjb21tYW5kLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDE0IE9jdCAyMSkKIAogVGhpcyBkb2VzIG5vdCBnaXZlIGFuIGVycm9yOiAoQW5kcmUgU2loZXJhLCAyMDE0IE1hciAyMSkKQEAgLTEzODMsMTkgKzEzOTksNiBAQAogCiBEaWFsb2cgaXMgdG9vIGJpZyBvbiBMaW51eCB0b28uIChEYXZpZCBGaXNoYnVybiwgMjAxMyBTZXAgMikKIAotSW1wcm92ZSB0aGUgaW5zdGFsbGVyIGZvciBNUy1XaW5kb3dzLiAgVGhlcmUgYXJlIGEgZmV3IGFsdGVybmF0aXZlczoKLS0gQWRkIHNpbGVudCBpbnN0YWxsIG9wdGlvbi4gKFNoYW5lIExlZSwgIzc1MSkKLS0gSW5zdGFsbGVyIGZyb20gQ3JlYW0gKFN0ZXZlIEhhbGwpLgotLSBNb2Rlcm4gVUkgMi4wIGZvciB0aGUgTnNpcyBpbnN0YWxsZXIuIChHdW9wZW5nIFdlbikKLSAgICBodHRwczovL2dpdGh1Yi5jb20vZ3B3ZW4vdmltLWluc3RhbGxlci1tdWkyCi0tICBtYWtlIGl0IHBvc3NpYmxlIHRvIGRvIGEgc2lsZW50IGluc3RhbGwsIHNlZQotICAgIGh0dHA6Ly9uc2lzLnNvdXJjZWZvcmdlLm5ldC9Eb2NzL0NoYXB0ZXI0Lmh0bWwjNC4xMgotICAgIFZlcnNpb24gZnJvbSBHdW9wZW5nIFdlbiBkb2VzIHRoaXMuCi0tIE1TSSBpbnN0YWxsZXI6IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXRya2xlL3ZpbS1tc2kvCi0tIFRoZSBvbmUgb24gSXNzdWUgMjc5LgotUHJvYmxlbTogdGhleSBhbGwgd29yayBzbGlnaHRseSBkaWZmZXJlbnQgKGUuZy4gZG9uJ3QgaW5zdGFsbCB2aW1ydW4uZXhlKS4KLUhvdyB0byB0ZXN0IHRoYXQgaXQgd29ya3Mgd2VsbCBmb3IgYWxsIFZpbSB1c2Vycz8KLQogUGF0Y2ggdG8gbWFrZSBmb2xkIHVwZGF0ZXMgbXVjaCBmYXN0ZXIuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTIgRGVjKQogCiAtICAgQWRkIHJlZ2V4IGZvciAncGFyYWdyYXBocycgYW5kICdzZWN0aW9ucyc6ICdwYXJhcmUnIGFuZCAnc2VjdHJlJy4gIENvbWJpbmUK