ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2MTE5YmE1Li4wN2UyNTlkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOCBAQAorRnJpIEF1ZyAxNSAwMjoyNDoyMCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBOZXdzIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIGxpYnhtbDItMi41LjEwIHJlbGVhc2UKKwkqIGRvYy8qIDogdXBkYXRlZCB0aGUgZG9jIGFuZCByZWJ1aWx0CisKIEZyaSBBdWcgMTUgMDE6NTU6NTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KIAogCSogcGFyc2VyLmM6IGZpeGluZyB0aGUgeG1sU0FYUGFyc2VEVEQgYnVnICMxMTk1MzYgcmFpc2VkIGJ5CmRpZmYgLS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCBjYjkyNzdmLi40ZTIzNDllIDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAgLTE1LDYgKzE1LDE4IEBACiAgIFNjaGVtYXMKIAogCisyLjUuMTA6IEF1ZyAxNSAyMDAzOgorQSBidWdmaXhlcyBvbmx5IHJlbGVhc2UgICAtIFdpbmRvd3MgTWFrZWZpbGVzIChXaWxsaWFtIEJyYWNrKQorICAgLSBVVEYtMTYgc3VwcG9ydCBmaXhlcyAoTWFyayBJdHpjb3ZpdHopCisgICAtIE1ha2VmaWxlIGFuZCBwb3J0YWJpbGl0eSAoV2lsbGlhbSBCcmFjaykgYXV0b21ha2UsIExpbnV4IGFscGhhLCBNaW5ndworICAgIG9uIFdpbmRvd3MgKE1pa2hhaWwgR3J1c2hpbnNraXkpIAorICAgLSBIVE1MIHBhcnNlciAoT2xpdmVyIFN0b2VuZWJlcmcpCisgICAtIFhJbmNsdWRlIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgS2V2aW4gUnVzY29lCisgICAtIFhNTCBwYXJzZXIgcGVyZm9ybWFuY2UgcHJvYmxlbSByZXBvcnRlZCBieSBHcmFudCBHb29kYWxlCisgICAtIHhtbFNBWFBhcnNlRFREKCkgYnVnIGZpeCBmcm9tIE1hbGNvbG0gVHJlZGlubmljaworICAgLSBhbmQgYSBjb3VwbGUgb3RoZXIgY2xlYW51cCAKKworCiAyLjUuOTogQXVnIDkgMjAwMzoKICAgIC0gYnVnZml4ZXM6IElQdjYgcG9ydGFiaWxpdHksIHhtbEhhc05zUHJvcCAoTWFya3VzIEtlaW0pLCBXaW5kb3dzIGJ1aWxkCiAgICAgKFdpbGlhbSBCcmFrZSwgSmVzc2UgUGVsdG9uLCBJZ29yKSwgU2NoZW1hcyAoUGV0ZXIgU29iaXNjaCksIHRocmVhZGluZwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCmluZGV4IDYzYWFlZDAuLjAyZTNlODggMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5pbgorKysgYi9jb25maWd1cmUuaW4KQEAgLTYsNyArNiw3IEBACiAKIExJQlhNTF9NQUpPUl9WRVJTSU9OPTIKIExJQlhNTF9NSU5PUl9WRVJTSU9OPTUKLUxJQlhNTF9NSUNST19WRVJTSU9OPTkKK0xJQlhNTF9NSUNST19WRVJTSU9OPTEwCiBMSUJYTUxfVkVSU0lPTj0kTElCWE1MX01BSk9SX1ZFUlNJT04uJExJQlhNTF9NSU5PUl9WRVJTSU9OLiRMSUJYTUxfTUlDUk9fVkVSU0lPTgogTElCWE1MX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCWE1MX01BSk9SX1ZFUlNJT04gKyAkTElCWE1MX01JTk9SX1ZFUlNJT05gOiRMSUJYTUxfTUlDUk9fVkVSU0lPTjokTElCWE1MX01JTk9SX1ZFUlNJT04KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvaW5kZXguc2dtbCBiL2RvYy9odG1sL2luZGV4LnNnbWwKaW5kZXggZDI0YjUwZC4uNzM2NjgxMiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW5kZXguc2dtbAorKysgYi9kb2MvaHRtbC9pbmRleC5zZ21sCkBAIC0xMTIsNiArMTEyLDcgQEAKIDxBTkNIT1IgaWQ9InhtbExvYWRFeHRlcm5hbEVudGl0eSIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPgogPEFOQ0hPUiBpZD0ieG1sUGFyc2VyUHJvcGVydGllcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj4KIDxBTkNIT1IgaWQ9InhtbFBhcnNlclNldmVyaXRpZXMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcyI+Cis8QU5DSE9SIGlkPSJ4bWxSZWFkZXJUeXBlcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJUeXBlcyI+CiA8QU5DSE9SIGlkPSJ4bWxUZXh0UmVhZGVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPgogPEFOQ0hPUiBpZD0ieG1sVGV4dFJlYWRlclB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj4KIDxBTkNIT1IgaWQ9InhtbE5ld1RleHRSZWFkZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlciI+CkBAIC0xMjk0LDEzICsxMjk1LDE0IEBACiA8QU5DSE9SIGlkPSJ4bWxNZW1SZWFsbG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVJlYWxsb2MiPgogPEFOQ0hPUiBpZD0ieG1sTWVtRnJlZSIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1GcmVlIj4KIDxBTkNIT1IgaWQ9InhtbE1lbW9yeVN0cmR1cCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlTdHJkdXAiPgorPEFOQ0hPUiBpZD0ieG1sTWFsbG9jTG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+Cis8QU5DSE9SIGlkPSJ4bWxSZWFsbG9jTG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPgorPEFOQ0hPUiBpZD0ieG1sTWFsbG9jQXRvbWljTG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyI+Cis8QU5DSE9SIGlkPSJ4bWxNZW1TdHJkdXBMb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU3RyZHVwTG9jIj4KIDxBTkNIT1IgaWQ9InhtbE1hbGxvYyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2MiPgogPEFOQ0hPUiBpZD0ieG1sTWFsbG9jQXRvbWljIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pYyI+CiA8QU5DSE9SIGlkPSJ4bWxSZWFsbG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2MiPgogPEFOQ0hPUiBpZD0ieG1sTWVtU3RyZHVwIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cCI+Ci08QU5DSE9SIGlkPSJ4bWxNYWxsb2NMb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jTG9jIj4KLTxBTkNIT1IgaWQ9InhtbFJlYWxsb2NMb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+Ci08QU5DSE9SIGlkPSJ4bWxNZW1TdHJkdXBMb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU3RyZHVwTG9jIj4KIDxBTkNIT1IgaWQ9InhtbFJlZ2V4cCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHAiPgogPEFOQ0hPUiBpZD0ieG1sUmVnZXhwUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+CiA8QU5DSE9SIGlkPSJ4bWxSZWdFeGVjQ3R4dCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dCI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sIGIvZG9jL2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbAppbmRleCAzYjY5N2M1Li40MGExZTg0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwKQEAgLTExMyw3ICsxMTMsNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsZW5ndGggb2YgPGk+PHR0Pm91dDwvdHQ+PC9pPgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbGVuZ3RoIG9mIDxpPjx0dD5pbjwvdHQ+PC9pPgotPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xdW90ZUNoYXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgJnF1b3Q7KSBvciB6ZXJvLgorPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xdW90ZUNoYXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby4KIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZQogVGhlIHZhbHVlIG9mIDxpPjx0dD5pbmxlbjwvdHQ+PC9pPiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKICAgICBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sIGIvZG9jL2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbAppbmRleCBlYjIzNjg5Li43YTgwMzM0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwKQEAgLTMxOSw3ICszMTksNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsZW5ndGggb2YgPGk+PHR0Pm91dDwvdHQ+PC9pPgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbGVuZ3RoIG9mIDxpPjx0dD5pbjwvdHQ+PC9pPgotPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xdW90ZUNoYXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgJnF1b3Q7KSBvciB6ZXJvLgorPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xdW90ZUNoYXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby4KIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZQogVGhlIHZhbHVlIG9mIDxpPjx0dD5pbmxlbjwvdHQ+PC9pPiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKICAgICBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sCmluZGV4IGU2NzdjOTIuLjc4NzRmMTIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sCkBAIC0xNjAsNyArMTYwLDcgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+IHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxTYXZlRmlsZSI+PC9hPmh0bWxTYXZlRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIGh0bWxTYXZlRmlsZSAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyKTs8L3ByZT48cD4KLUR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUuIElmIDxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPiBpcyAmcXVvdDstJnF1b3Q7IHRoZSBzdGRvdXQgZmlsZSBpcworRHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZS4gSWYgPGk+PHR0PmZpbGVuYW1lPC90dD48L2k+IGlzICItIiB0aGUgc3Rkb3V0IGZpbGUgaXMKIHVzZWQuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpbGVuYW1lIChvciBVUkwpCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtU0FYLmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwtU0FYLmh0bWwKaW5kZXggNTg3MzZhNC4uYmEyNjYwNCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLVNBWC5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1TQVguaHRtbApAQCAtMTI5LDcgKzEyOSw3IEBACiA8L3ByZT48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHA+CiAKIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXRhaWxzPC9oMj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJnZXRQdWJsaWNJZCI+PC9hPmdldFB1YmxpY0lkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogZ2V0UHVibGljSWQgICAgICAgICAgICAgICAgICAodm9pZCAqY3R4KTs8L3ByZT48cD4KLVByb3ZpZGVzIHRoZSBwdWJsaWMgSUQgZS5nLiAmcXVvdDstLy9TR01MU09VUkNFLy9EVEQgREVNTy8vRU4mcXVvdDs8L3A+PHA+CitQcm92aWRlcyB0aGUgcHVibGljIElEIGUuZy4gIi0vL1NHTUxTT1VSQ0UvL0RURCBERU1PLy9FTiI8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgeG1sQ2hhciAqCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtYzE0bi5odG1sIGIvZG9jL2h0bWwvbGlieG1sLWMxNG4uaHRtbAppbmRleCBkNzlkMmQ4Li44M2NhM2U1IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtYzE0bi5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1jMTRuLmh0bWwKQEAgLTcwLDggKzcwLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aXRoX2NvbW1lbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmKTs8L3ByZT48cD4KIER1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIHByb3ZpZGVkIGJ1ZmZlci4KLUZvciBkZXRhaWxzIHNlZSAmcXVvdDtDYW5vbmljYWwgWE1MJnF1b3Q7IChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IKLSZxdW90O0V4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvcD48cD4KK0ZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvcgorIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAJCXRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAJCXRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZQpAQCAtOTQsOCArOTQsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdpdGhfY29tbWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqZG9jX3R4dF9wdHIpOzwvcHJlPjxwPgogRHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byBtZW1vcnkuCi1Gb3IgZGV0YWlscyBzZWUgJnF1b3Q7Q2Fub25pY2FsIFhNTCZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yCi0mcXVvdDtFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24mcXVvdDsgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+PHA+CitGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IKKyJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gCQl0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24KIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gCQl0aGUgbm9kZXMgc2V0IHRvIGJlIGluY2x1ZGVkIGluIHRoZSBjYW5vbml6ZWQgaW1hZ2UKQEAgLTExOSw4ICsxMTksOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24pOzwvcHJlPjxwPgogRHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byB0aGUgZmlsZS4KLUZvciBkZXRhaWxzIHNlZSAmcXVvdDtDYW5vbmljYWwgWE1MJnF1b3Q7IChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IKLSZxdW90O0V4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvcD48cD4KK0ZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvcgorIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAJCXRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAJCXRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZQpAQCAtMTU2LDggKzE1Niw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2l0aF9jb21tZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik7PC9wcmU+PHA+CiBEdW1wcyB0aGUgY2Fub25pemVkIGltYWdlIG9mIGdpdmVuIFhNTCBkb2N1bWVudCBpbnRvIHRoZSBwcm92aWRlZCBidWZmZXIuCi1Gb3IgZGV0YWlscyBzZWUgJnF1b3Q7Q2Fub25pY2FsIFhNTCZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yCi0mcXVvdDtFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24mcXVvdDsgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+PHA+CitGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IKKyJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gCQl0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24KIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aXNfdmlzaWJsZV9jYWxsYmFjazwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbiB0byB1c2UgdG8gZGV0ZXJtaW5lIGlzIG5vZGUgdmlzaWJsZSAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sIGIvZG9jL2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwKaW5kZXggNDkzMWUxYy4uMGM1YTk1NiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwKQEAgLTI0OCw3ICsyNDgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7PC9wcmU+PHA+Ci1JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7bHMmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAibHMiCiBEb2VzIGFuIFVuaXggbGlrZSBsaXN0aW5nIG9mIHRoZSBnaXZlbiBub2RlIChsaWtlIGEgZGlyZWN0b3J5KTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHNoZWxsIGNvbnRleHQKQEAgLTI2MCw3ICsyNjAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7PC9wcmU+PHA+Ci1JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7YmFzZSZxdW90OworSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJiYXNlIgogZHVtcHMgdGhlIGN1cnJlbnQgWE1MIGJhc2Ugb2YgdGhlIG5vZGU8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzaGVsbCBjb250ZXh0CkBAIC0yNzIsNyArMjcyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmFyZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpOzwvcHJlPjxwPgotSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICZxdW90O2RpciZxdW90OworSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJkaXIiCiBkdW1wcyBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIG5vZGUgKG5hbWVzcGFjZSwgYXR0cmlidXRlcywgY29udGVudCkuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgc2hlbGwgY29udGV4dApAQCAtMjg0LDcgKzI4NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICphcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTs8L3ByZT48cD4KLUltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtjYXQmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiY2F0IgogZHVtcHMgdGhlIHNlcmlhbGl6YXRpb24gbm9kZSBjb250ZW50IChYTUwgb3IgSFRNTCkuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgc2hlbGwgY29udGV4dApAQCAtMjk2LDcgKzI5Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpOzwvcHJlPjxwPgotSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICZxdW90O2xvYWQmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAibG9hZCIKIGxvYWRzIGEgbmV3IGRvY3VtZW50IHNwZWNpZmllZCBieSB0aGUgZmlsZW5hbWU8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzaGVsbCBjb250ZXh0CkBAIC0zMDgsNyArMzA4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7PC9wcmU+PHA+Ci1JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7d3JpdGUmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAid3JpdGUiCiBXcml0ZSB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBmaWxlbmFtZSwgaXQgc2F2ZXMgdGhlIHNlcmlhbGl6YXRpb24KIG9mIHRoZSBzdWJ0cmVlIHVuZGVyIHRoZSA8aT48dHQ+bm9kZTwvdHQ+PC9pPiBzcGVjaWZpZWQ8L3A+PHA+CiAKQEAgLTMyMSw3ICszMjEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTs8L3ByZT48cD4KLUltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtzYXZlJnF1b3Q7CitJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInNhdmUiCiBXcml0ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZmlsZW5hbWUsIG9yIGl0J3Mgb3JpZ2luYWwgbmFtZTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHNoZWxsIGNvbnRleHQKQEAgLTMzMyw3ICszMzMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZHRkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7PC9wcmU+PHA+Ci1JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7dmFsaWRhdGUmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAidmFsaWRhdGUiCiBWYWxpZGF0ZSB0aGUgZG9jdW1lbnQsIGlmIGEgRFREIHBhdGggaXMgcHJvdmlkZWQsIHRoZW4gdGhlIHZhbGlkYXRpb24KIGlzIGRvbmUgYWdhaW5zdCB0aGUgZ2l2ZW4gRFRELjwvcD48cD4KIApAQCAtMzQ2LDcgKzM0Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICphcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTs8L3ByZT48cD4KLUltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtkdSZxdW90OworSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJkdSIKIHNob3cgdGhlIHN0cnVjdHVyZSBvZiB0aGUgc3VidHJlZSB1bmRlciBub2RlIDxpPjx0dD50cmVlPC90dD48L2k+CiBJZiA8aT48dHQ+dHJlZTwvdHQ+PC9pPiBpcyBudWxsLCB0aGUgY29tbWFuZCB3b3JrcyBvbiB0aGUgY3VycmVudCBub2RlLjwvcD48cD4KIApAQCAtMzU5LDcgKzM1OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTs8L3ByZT48cD4KLUltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtwd2QmcXVvdDsKK0ltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAicHdkIgogU2hvdyB0aGUgZnVsbCBwYXRoIGZyb20gdGhlIHJvb3QgdG8gdGhlIG5vZGUsIGlmIG5lZWRlZCBidWlsZGluZwogdGh1bWJsZXJzIHdoZW4gc2ltaWxhciBlbGVtZW50cyBleGlzdHMgYXQgYSBnaXZlbiBhbmNlc3RvciBsZXZlbC4KIFRoZSBvdXRwdXQgaXMgY29tcGF0aWJsZSB3aXRoIFhQYXRoIGNvbW1hbmRzLjwvcD48cD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC1lbmNvZGluZy5odG1sIGIvZG9jL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwKaW5kZXggZGVlMjU5Ni4uNjI1OWQyYyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwKQEAgLTI1Nyw3ICsyNTcsNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5vbmUgb2YgdGhlIFhNTF9DSEFSX0VOQ09ESU5HXy4uLiB2YWx1ZXMgb3IgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQogaWYgbm90IHJlY29nbml6ZWQuCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIj48L2E+eG1sR2V0Q2hhckVuY29kaW5nTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIqIHhtbEdldENoYXJFbmNvZGluZ05hbWUgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOzwvcHJlPjxwPgotVGhlICZxdW90O2Nhbm9uaWNhbCZxdW90OyBuYW1lIGZvciBYTUwgZW5jb2RpbmcuCitUaGUgImNhbm9uaWNhbCIgbmFtZSBmb3IgWE1MIGVuY29kaW5nLgogQy5mLiBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImNoYXJlbmNvZGluZyI+Y2hhcmVuY29kaW5nPC9HVEtET0NMSU5LPgogU2VjdGlvbiA0LjMuMyAgQ2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzPC9wPjxwPgogCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sIGIvZG9jL2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbAppbmRleCA2NDdlNWI0Li5lMWY3Njg5IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwKQEAgLTI5Nyw3ICsyOTcsNyBAQAogCiAKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRyZWVJbmRlbnRTdHJpbmciPjwvYT54bWxUcmVlSW5kZW50U3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sVHJlZUluZGVudFN0cmluZzwvcHJlPjxwPgotVGhlIHN0cmluZyB1c2VkIHRvIGRvIG9uZS1sZXZlbCBpbmRlbnQuIEJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gJnF1b3Q7ICAmcXVvdDsgKHR3byBzcGFjZXMpPC9wPjxwPgorVGhlIHN0cmluZyB1c2VkIHRvIGRvIG9uZS1sZXZlbCBpbmRlbnQuIEJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gIiAgIiAodHdvIHNwYWNlcyk8L3A+PHA+CiAKIDwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmVHJlZUluZGVudFN0cmluZyI+PC9hPnhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyKiB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nICAgICAgIChjb25zdCBjaGFyICp2KTs8L3ByZT48cD4KIApkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwKaW5kZXggMDAyZTA3Yi4uYmM4MTdkMSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sCkBAIC0xMDQsNyArMTA0LDcgQEAKIE5vdGUgdGhhdCBvbmx5IG9uZSBvZiB5ZWFyIGFuZCBkYXk6bWludXRlIGFyZSBzcGVjaWZpZWQuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgY2FsbGJhY2sKLTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBmaWxlIG5hbWUgKGluY2x1ZGluZyAmcXVvdDstJmd0OyZxdW90OyB3aGVuIGxpbmtzIGFyZSBzaG93bikKKzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBmaWxlIG5hbWUgKGluY2x1ZGluZyAiLSZndDsiIHdoZW4gbGlua3MgYXJlIHNob3duKQogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyaWI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBhdHRyaWJ1dGUgc3RyaW5nCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm93bmVyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgb3duZXIgc3RyaW5nCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmdyb3VwPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZ3JvdXAgc3RyaW5nCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwKaW5kZXggZGM1ZGIwYy4uMGEwNjE3NCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXBhcnNlci5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbApAQCAtMjk3LDcgKzI5Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwogPC9wcmU+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48aDI+RGVzY3JpcHRpb248L2gyPjxwPgogCi08L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48aDI+RGV0YWlsczwvaDI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MLURFRkFVTFQtVkVSU0lPTi1DQVBTIj48L2E+WE1MX0RFRkFVTFRfVkVSU0lPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgWE1MX0RFRkFVTFRfVkVSU0lPTgkmcXVvdDsxLjAmcXVvdDsKKzwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXRhaWxzPC9oMj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUwtREVGQVVMVC1WRVJTSU9OLUNBUFMiPjwvYT5YTUxfREVGQVVMVF9WRVJTSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSBYTUxfREVGQVVMVF9WRVJTSU9OCSIxLjAiCiA8L3ByZT48cD4KIFRoZSBkZWZhdWx0IHZlcnNpb24gb2YgWE1MIHVzZWQ6IDEuMDwvcD48cD4KIApAQCAtOTcyLDcgKzk3Miw3IEBACiBUaGlzIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGFzIGEgd2F5IHRvIGZvcmNlIHRoZSBzdGFuZGFyZCBiZWhhdmlvciAKIG9uIDEuWCBsaWJzIGFuZCB0byBzd2l0Y2ggYmFjayB0byB0aGUgb2xkIG1vZGUgZm9yIGNvbXBhdGliaWxpdHkgd2hlbgogcnVubmluZyAxLlggY2xpZW50IGNvZGUgb24gMi5YIC4gVXBncmFkZSBvZiAxLlggY29kZSBzaG91bGQgYmUgZG9uZQotYnkgdXNpbmcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxJc0JsYW5rTm9kZSI+eG1sSXNCbGFua05vZGU8L2E+KCkgY29tbW9kaXR5IGZ1bmN0aW9uIHRvIGRldGVjdCB0aGUgJnF1b3Q7ZW1wdHkmcXVvdDsKK2J5IHVzaW5nIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPigpIGNvbW1vZGl0eSBmdW5jdGlvbiB0byBkZXRlY3QgdGhlICJlbXB0eSIKIG5vZGVzIGdlbmVyYXRlZC4KIFRoaXMgdmFsdWUgYWxzbyBhZmZlY3QgYXV0b2dlbmVyYXRpb24gb2YgaW5kZW50YXRpb24gd2hlbiBzYXZpbmcgY29kZQogaWYgYmxhbmtzIHNlY3Rpb25zIGFyZSBrZXB0LCBpbmRlbnRhdGlvbiBpcyBub3QgZ2VuZXJhdGVkLjwvcD48cD4KQEAgLTExNDIsNyArMTE0Miw3IEBACiA8L3A+PHA+CiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKIDwvcD48cD4KLVRoaXMgY29ycmVzcG9uZCB0byBhICZxdW90O1dlbGwgQmFsYW5jZWQmcXVvdDsgY2h1bms8L3A+PHA+CitUaGlzIGNvcnJlc3BvbmQgdG8gYSAiV2VsbCBCYWxhbmNlZCIgY2h1bms8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFNBWCBoYW5kbGVyIGJsb2NrCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZmlsZW5hbWUKQEAgLTExNTIsNyArMTE1Miw3IEBACiA8L3A+PHA+CiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKIDwvcD48cD4KLVRoaXMgY29ycmVzcG9uZCB0byBhICZxdW90O1dlbGwgQmFsYW5jZWQmcXVvdDsgY2h1bms8L3A+PHA+CitUaGlzIGNvcnJlc3BvbmQgdG8gYSAiV2VsbCBCYWxhbmNlZCIgY2h1bms8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZmlsZW5hbWUKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwgYi9kb2MvaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwKaW5kZXggMDA1M2JhNC4uMTkwOGZjZiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbApAQCAtMTQxLDcgKzE0MSw3IEBACiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uTnVtIj54bWxQYXJzZVZlcnNpb25OdW08L2E+ICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25JbmZvIj54bWxQYXJzZVZlcnNpb25JbmZvPC9hPiAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY05hbWUiPnhtbFBhcnNlRW5jTmFtZTwvYT4gICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwotPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT4gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY29kaW5nRGVjbCI+eG1sUGFyc2VFbmNvZGluZ0RlY2w8L2E+ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CiBpbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPiAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwogdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlWE1MRGVjbCI+eG1sUGFyc2VYTUxEZWNsPC9hPiAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CiB2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT4gICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CkBAIC01NjYsOCArNTY2LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKipvcmlnKTs8L3ByZT48cD4KIHBhcnNlIGEgdmFsdWUgZm9yIEVOVElUWSBkZWNsYXJhdGlvbnMKIDwvcD48cD4KLVs5XSBFbnRpdHlWYWx1ZSA6Oj0gJyZxdW90OycgKFteJSZhbXA7JnF1b3Q7XSB8IFBFUmVmZXJlbmNlIHwgUmVmZXJlbmNlKSogJyZxdW90OycgfAotICAgICAgICAgICAgICAgJnF1b3Q7JyZxdW90OyAoW14lJmFtcDsnXSB8IFBFUmVmZXJlbmNlIHwgUmVmZXJlbmNlKSogJnF1b3Q7JyZxdW90OzwvcD48cD4KK1s5XSBFbnRpdHlWYWx1ZSA6Oj0gJyInIChbXiUmYW1wOyJdIHwgUEVSZWZlcmVuY2UgfCBSZWZlcmVuY2UpKiAnIicgfAorICAgICAgICAgICAgICAgIiciIChbXiUmYW1wOyddIHwgUEVSZWZlcmVuY2UgfCBSZWZlcmVuY2UpKiAiJyI8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhNTCBwYXJzZXIgY29udGV4dAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcmlnPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBpZiBub24tTlVMTCBzdG9yZSBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGVudGl0eSB2YWx1ZQpAQCAtNTc3LDggKzU3Nyw4IEBACiBOb3RlOiB0aGUgcGFyc2VyIHdvbid0IGRvIHN1YnN0aXR1dGlvbiBvZiBlbnRpdGllcyBoZXJlLCB0aGlzCiB3aWxsIGJlIGhhbmRsZWQgbGF0ZXIgaW4geG1sU3RyaW5nR2V0Tm9kZUxpc3QKIDwvcD48cD4KLVsxMF0gQXR0VmFsdWUgOjo9ICcmcXVvdDsnIChbXiZsdDsmYW1wOyZxdW90O10gfCBSZWZlcmVuY2UpKiAnJnF1b3Q7JyB8Ci0gICAgICAgICAgICAgICAgICAmcXVvdDsnJnF1b3Q7IChbXiZsdDsmYW1wOyddIHwgUmVmZXJlbmNlKSogJnF1b3Q7JyZxdW90OworWzEwXSBBdHRWYWx1ZSA6Oj0gJyInIChbXiZsdDsmYW1wOyJdIHwgUmVmZXJlbmNlKSogJyInIHwKKyAgICAgICAgICAgICAgICAgICInIiAoW14mbHQ7JmFtcDsnXSB8IFJlZmVyZW5jZSkqICInIgogPC9wPjxwPgogMy4zLjMgQXR0cmlidXRlLVZhbHVlIE5vcm1hbGl6YXRpb246CiBCZWZvcmUgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBpcyBwYXNzZWQgdG8gdGhlIGFwcGxpY2F0aW9uIG9yCkBAIC01ODksNyArNTg5LDcgQEAKICAgcmVwbGFjZW1lbnQgdGV4dCBvZiB0aGUgZW50aXR5IAogLSBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieDIwIj54MjA8L0dUS0RPQ0xJTks+LCA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEQiPnhEPC9HVEtET0NMSU5LPiwgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InhBIj54QTwvR1RLRE9DTElOSz4sIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4OSI+eDk8L0dUS0RPQ0xJTks+KSBpcyBwcm9jZXNzZWQgYnkKICAgYXBwZW5kaW5nIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4MjAiPngyMDwvR1RLRE9DTElOSz4gdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUsIGV4Y2VwdCB0aGF0IG9ubHkgYSBzaW5nbGUKLSAgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9IngyMCI+eDIwPC9HVEtET0NMSU5LPiBpcyBhcHBlbmRlZCBmb3IgYSAmcXVvdDs8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEQiPnhEPC9HVEtET0NMSU5LPjxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4QSI+eEE8L0dUS0RPQ0xJTks+JnF1b3Q7IHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbAorICA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieDIwIj54MjA8L0dUS0RPQ0xJTks+IGlzIGFwcGVuZGVkIGZvciBhICI8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEQiPnhEPC9HVEtET0NMSU5LPjxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4QSI+eEE8L0dUS0RPQ0xJTks+IiBzZXF1ZW5jZSB0aGF0IGlzIHBhcnQgb2YgYW4gZXh0ZXJuYWwKICAgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkIGVudGl0eSAKIC0gb3RoZXIgY2hhcmFjdGVycyBhcmUgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGVtIHRvIHRoZSBub3JtYWxpemVkIHZhbHVlIAogSWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGZ1cnRoZXIKQEAgLTYwNCwxNCArNjA0LDE0IEBACiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVN5c3RlbUxpdGVyYWwiPjwvYT54bWxQYXJzZVN5c3RlbUxpdGVyYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxQYXJzZVN5c3RlbUxpdGVyYWwgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgogcGFyc2UgYW4gWE1MIExpdGVyYWwKIDwvcD48cD4KLVsxMV0gU3lzdGVtTGl0ZXJhbCA6Oj0gKCcmcXVvdDsnIFteJnF1b3Q7XSogJyZxdW90OycpIHwgKCZxdW90OycmcXVvdDsgW14nXSogJnF1b3Q7JyZxdW90Oyk8L3A+PHA+CitbMTFdIFN5c3RlbUxpdGVyYWwgOjo9ICgnIicgW14iXSogJyInKSB8ICgiJyIgW14nXSogIiciKTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBTeXN0ZW1MaXRlcmFsIHBhcnNlZCBvciBOVUxMCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVB1YmlkTGl0ZXJhbCI+PC9hPnhtbFBhcnNlUHViaWRMaXRlcmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sUGFyc2VQdWJpZExpdGVyYWwgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KIHBhcnNlIGFuIFhNTCBwdWJsaWMgbGl0ZXJhbAogPC9wPjxwPgotWzEyXSBQdWJpZExpdGVyYWwgOjo9ICcmcXVvdDsnIFB1YmlkQ2hhciogJyZxdW90OycgfCAmcXVvdDsnJnF1b3Q7IChQdWJpZENoYXIgLSAmcXVvdDsnJnF1b3Q7KSogJnF1b3Q7JyZxdW90OzwvcD48cD4KK1sxMl0gUHViaWRMaXRlcmFsIDo6PSAnIicgUHViaWRDaGFyKiAnIicgfCAiJyIgKFB1YmlkQ2hhciAtICInIikqICInIjwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBQdWJpZExpdGVyYWwgcGFyc2VkIG9yIE5VTEwuCkBAIC02MjAsOSArNjIwLDkgQEAKIHBhcnNlIGEgQ2hhckRhdGEgc2VjdGlvbi4KIGlmIHdlIGFyZSB3aXRoaW4gYSBDREFUQSBzZWN0aW9uICddXSZndDsnIG1hcmtzIGFuIGVuZCBvZiBzZWN0aW9uLgogPC9wPjxwPgotVGhlIHJpZ2h0IGFuZ2xlIGJyYWNrZXQgKCZndDspIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyB0aGUgc3RyaW5nICZxdW90OyZhbXA7Z3Q7JnF1b3Q7LAotYW5kIG11c3QsIGZvciBjb21wYXRpYmlsaXR5LCBiZSBlc2NhcGVkIHVzaW5nICZxdW90OyZhbXA7Z3Q7JnF1b3Q7IG9yIGEgY2hhcmFjdGVyCi1yZWZlcmVuY2Ugd2hlbiBpdCBhcHBlYXJzIGluIHRoZSBzdHJpbmcgJnF1b3Q7XV0mZ3Q7JnF1b3Q7IGluIGNvbnRlbnQsIHdoZW4gdGhhdAorVGhlIHJpZ2h0IGFuZ2xlIGJyYWNrZXQgKCZndDspIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyB0aGUgc3RyaW5nICImYW1wO2d0OyIsCithbmQgbXVzdCwgZm9yIGNvbXBhdGliaWxpdHksIGJlIGVzY2FwZWQgdXNpbmcgIiZhbXA7Z3Q7IiBvciBhIGNoYXJhY3RlcgorcmVmZXJlbmNlIHdoZW4gaXQgYXBwZWFycyBpbiB0aGUgc3RyaW5nICJdXSZndDsiIGluIGNvbnRlbnQsIHdoZW4gdGhhdAogc3RyaW5nIGlzIG5vdCBtYXJraW5nIHRoZSBlbmQgb2YgYSBDREFUQSBzZWN0aW9uLiAKIDwvcD48cD4KIFsxNF0gQ2hhckRhdGEgOjo9IFteJmx0OyZhbXA7XSogLSAoW14mbHQ7JmFtcDtdKiAnXV0mZ3Q7JyBbXiZsdDsmYW1wO10qKTwvcD48cD4KQEAgLTY1MSw4ICs2NTEsOCBAQAogICAgICAgICAgICAgICAgaXQgaXMgcG9zc2libGUgdG8gcmV0dXJuIE5VTEwgYW5kIGhhdmUgcHVibGljSUQgc2V0LgogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDb21tZW50Ij48L2E+eG1sUGFyc2VDb21tZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sUGFyc2VDb21tZW50ICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KIFNraXAgYW4gWE1MIChTR01MKSBjb21tZW50ICZsdDshLS0gLi4uLiAtLSZndDsKLSBUaGUgc3BlYyBzYXlzIHRoYXQgJnF1b3Q7Rm9yIGNvbXBhdGliaWxpdHksIHRoZSBzdHJpbmcgJnF1b3Q7LS0mcXVvdDsgKGRvdWJsZS1oeXBoZW4pCi0gbXVzdCBub3Qgb2NjdXIgd2l0aGluIGNvbW1lbnRzLiAmcXVvdDsKKyBUaGUgc3BlYyBzYXlzIHRoYXQgIkZvciBjb21wYXRpYmlsaXR5LCB0aGUgc3RyaW5nICItLSIgKGRvdWJsZS1oeXBoZW4pCisgbXVzdCBub3Qgb2NjdXIgd2l0aGluIGNvbW1lbnRzLiAiCiA8L3A+PHA+CiBbMTVdIENvbW1lbnQgOjo9ICcmbHQ7IS0tJyAoKENoYXIgLSAnLScpIHwgKCctJyAoQ2hhciAtICctJykpKSogJy0tJmd0Oyc8L3A+PHA+CiAKQEAgLTkyNSw3ICs5MjUsNyBAQAogWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdCiBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4gaW50ZXJuYWwgRFRECiBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50Ci13aXRoICZxdW90O3N0YW5kYWxvbmU9J3llcycmcXVvdDssIHRoZSBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlCit3aXRoICJzdGFuZGFsb25lPSd5ZXMnIiwgdGhlIE5hbWUgZ2l2ZW4gaW4gdGhlIGVudGl0eSByZWZlcmVuY2UKIG11c3QgbWF0Y2ggdGhhdCBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sIGV4Y2VwdCB0aGF0IHdlbGwtZm9ybWVkCiBkb2N1bWVudHMgbmVlZCBub3QgZGVjbGFyZSBhbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogYW1wLCBsdCwKIGd0LCBhcG9zLCBxdW90LiAgVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUKQEAgLTk2NSwxMiArOTY1LDEyIEBACiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKLXdpdGggJnF1b3Q7c3RhbmRhbG9uZT0neWVzJyZxdW90OywgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyCit3aXRoICJzdGFuZGFsb25lPSd5ZXMnIiwgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyCiBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KIDwvcD48cD4KIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdCiBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcwotd2l0aCAmcXVvdDtzdGFuZGFsb25lPSdubycmcXVvdDssIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkKK3dpdGggInN0YW5kYWxvbmU9J25vJyIsIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkKIG11c3QgcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0Li4uCiA8L3A+PHA+CiBbIFdGQzogSW4gRFREIF0KQEAgLTEwMDEsNyArMTAwMSw3IEBACiA8L3A+PHA+CiBbIFdGQzogTm8gJmx0OyBpbiBBdHRyaWJ1dGUgVmFsdWVzIF0KIFRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIGFueSBlbnRpdHkgcmVmZXJyZWQgdG8gZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbgotYW4gYXR0cmlidXRlIHZhbHVlIChvdGhlciB0aGFuICZxdW90OyZhbXA7bHQ7JnF1b3Q7KSBtdXN0IG5vdCBjb250YWluIGEgJmx0Oy4gCithbiBhdHRyaWJ1dGUgdmFsdWUgKG90aGVyIHRoYW4gIiZhbXA7bHQ7IikgbXVzdCBub3QgY29udGFpbiBhICZsdDsuIAogPC9wPjxwPgogWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXQogVGhlIGF0dHJpYnV0ZSBtdXN0IGhhdmUgYmVlbiBkZWNsYXJlZDsgdGhlIHZhbHVlIG11c3QgYmUgb2YgdGhlIHR5cGUKQEAgLTExMDQsMTIgKzExMDQsMTIgQEAKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlVmVyc2lvbkluZm8iPjwvYT54bWxQYXJzZVZlcnNpb25JbmZvICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sUGFyc2VWZXJzaW9uSW5mbyAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KIHBhcnNlIHRoZSBYTUwgdmVyc2lvbi4KIDwvcD48cD4KLVsyNF0gVmVyc2lvbkluZm8gOjo9IFMgJ3ZlcnNpb24nIEVxICgnIFZlcnNpb25OdW0gJyB8ICZxdW90OyBWZXJzaW9uTnVtICZxdW90OykKK1syNF0gVmVyc2lvbkluZm8gOjo9IFMgJ3ZlcnNpb24nIEVxICgnIFZlcnNpb25OdW0gJyB8ICIgVmVyc2lvbk51bSAiKQogPC9wPjxwPgogWzI1XSBFcSA6Oj0gUz8gJz0nIFM/PC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKLTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIHZlcnNpb24gc3RyaW5nLCBlLmcuICZxdW90OzEuMCZxdW90OworPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgdmVyc2lvbiBzdHJpbmcsIGUuZy4gIjEuMCIKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5jTmFtZSI+PC9hPnhtbFBhcnNlRW5jTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIHhtbFBhcnNlRW5jTmFtZSAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CiBwYXJzZSB0aGUgWE1MIGVuY29kaW5nIG5hbWUKIDwvcD48cD4KQEAgLTExMTcsMTAgKzExMTcsMTAgQEAKIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIHZhbHVlIG9yIE5VTEwKLTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5jb2RpbmdEZWNsIj48L2E+eG1sUGFyc2VFbmNvZGluZ0RlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxQYXJzZUVuY29kaW5nRGVjbCAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgorPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbmNvZGluZ0RlY2wiPjwvYT54bWxQYXJzZUVuY29kaW5nRGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qIHhtbFBhcnNlRW5jb2RpbmdEZWNsICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CiBwYXJzZSB0aGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uCiA8L3A+PHA+Ci1bODBdIEVuY29kaW5nRGVjbCA6Oj0gUyAnZW5jb2RpbmcnIEVxICgnJnF1b3Q7JyBFbmNOYW1lICcmcXVvdDsnIHwgICZxdW90OycmcXVvdDsgRW5jTmFtZSAmcXVvdDsnJnF1b3Q7KQorWzgwXSBFbmNvZGluZ0RlY2wgOjo9IFMgJ2VuY29kaW5nJyBFcSAoJyInIEVuY05hbWUgJyInIHwgICInIiBFbmNOYW1lICInIikKIDwvcD48cD4KIHRoaXMgc2V0dXBzIHRoZSBjb252ZXJzaW9uIGZpbHRlcnMuPC9wPjxwPgogCkBAIC0xMTMwLDEwICsxMTMwLDEwIEBACiBwYXJzZSB0aGUgWE1MIHN0YW5kYWxvbmUgZGVjbGFyYXRpb24KIDwvcD48cD4KIFszMl0gU0REZWNsIDo6PSBTICdzdGFuZGFsb25lJyBFcQotICAgICAgICAgICAgICAgICgoJnF1b3Q7JyZxdW90OyAoJ3llcycgfCAnbm8nKSAmcXVvdDsnJnF1b3Q7KSB8ICgnJnF1b3Q7JyAoJ3llcycgfCAnbm8nKScmcXVvdDsnKSkgCisgICAgICAgICAgICAgICAgKCgiJyIgKCd5ZXMnIHwgJ25vJykgIiciKSB8ICgnIicgKCd5ZXMnIHwgJ25vJyknIicpKSAKIDwvcD48cD4KIFsgVkM6IFN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb24gXQotVE9ETyBUaGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBtdXN0IGhhdmUgdGhlIHZhbHVlICZxdW90O25vJnF1b3Q7CitUT0RPIFRoZSBzdGFuZGFsb25lIGRvY3VtZW50IGRlY2xhcmF0aW9uIG11c3QgaGF2ZSB0aGUgdmFsdWUgIm5vIgogaWYgYW55IGV4dGVybmFsIG1hcmt1cCBkZWNsYXJhdGlvbnMgY29udGFpbiBkZWNsYXJhdGlvbnMgb2Y6CiAgLSBhdHRyaWJ1dGVzIHdpdGggZGVmYXVsdCB2YWx1ZXMsIGlmIGVsZW1lbnRzIHRvIHdoaWNoIHRoZXNlCiAgICBhdHRyaWJ1dGVzIGFwcGx5IGFwcGVhciBpbiB0aGUgZG9jdW1lbnQgd2l0aG91dCBzcGVjaWZpY2F0aW9ucwpAQCAtMTMwMSwxMiArMTMwMSwxMiBAQAogWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdCiBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4gaW50ZXJuYWwgRFRECiBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50Ci13aXRoICZxdW90O3N0YW5kYWxvbmU9J3llcycmcXVvdDssIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlcgord2l0aCAic3RhbmRhbG9uZT0neWVzJyIsIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlcgogZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0Li4uCiA8L3A+PHA+CiBbIFZDOiBFbnRpdHkgRGVjbGFyZWQgXQogSW4gYSBkb2N1bWVudCB3aXRoIGFuIGV4dGVybmFsIHN1YnNldCBvciBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMKLXdpdGggJnF1b3Q7c3RhbmRhbG9uZT0nbm8nJnF1b3Q7LCAuLi4gIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5Cit3aXRoICJzdGFuZGFsb25lPSdubyciLCAuLi4gIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5CiBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLgogPC9wPjxwPgogWyBXRkM6IEluIERURCBdCkBAIC0xMzY4LDcgKzEzNjgsNyBAQAogMi4xMSBFbmQtb2YtTGluZSBIYW5kbGluZwogV2hlcmV2ZXIgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUKIG9mIGFuIGludGVybmFsIHBhcnNlZCBlbnRpdHkgY29udGFpbnMgZWl0aGVyIHRoZSBsaXRlcmFsIHR3by1jaGFyYWN0ZXIKLXNlcXVlbmNlICZxdW90OzxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4RCI+eEQ8L0dUS0RPQ0xJTks+PEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InhBIj54QTwvR1RLRE9DTElOSz4mcXVvdDsgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InhEIj54RDwvR1RLRE9DTElOSz4sIGFuIFhNTCBwcm9jZXNzb3IKK3NlcXVlbmNlICI8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEQiPnhEPC9HVEtET0NMSU5LPjxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4QSI+eEE8L0dUS0RPQ0xJTks+IiBvciBhIHN0YW5kYWxvbmUgbGl0ZXJhbCA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEQiPnhEPC9HVEtET0NMSU5LPiwgYW4gWE1MIHByb2Nlc3NvcgogbXVzdCBwYXNzIHRvIHRoZSBhcHBsaWNhdGlvbiB0aGUgc2luZ2xlIGNoYXJhY3RlciA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ieEEiPnhBPC9HVEtET0NMSU5LPi4KIFRoaXMgYmVoYXZpb3IgY2FuIGNvbnZlbmllbnRseSBiZSBwcm9kdWNlZCBieSBub3JtYWxpemluZyBhbGwKIGxpbmUgYnJlYWtzIHRvIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ4QSI+eEE8L0dUS0RPQ0xJTks+IG9uIGlucHV0LCBiZWZvcmUgcGFyc2luZy4pPC9wPjxwPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLXRyZWUuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC10cmVlLmh0bWwKaW5kZXggMzYwNTJkZi4uMWFiMTBlNSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXRyZWUuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwtdHJlZS5odG1sCkBAIC0xMjUzLDcgKzEyNTMsNyBAQAogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3RG9jIj48L2E+eG1sTmV3RG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gICB4bWxOZXdEb2MgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICp2ZXJzaW9uKTs8L3ByZT48cD4KIENyZWF0ZXMgYSBuZXcgWE1MIGRvY3VtZW50PC9wPjxwPgogCi08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52ZXJzaW9uPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB4bWxDaGFyIHN0cmluZyBnaXZpbmcgdGhlIHZlcnNpb24gb2YgWE1MICZxdW90OzEuMCZxdW90OworPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmVyc2lvbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgeG1sQ2hhciBzdHJpbmcgZ2l2aW5nIHRoZSB2ZXJzaW9uIG9mIFhNTCAiMS4wIgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBkb2N1bWVudAogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZURvYyI+PC9hPnhtbEZyZWVEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxGcmVlRG9jICAgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgogRnJlZSB1cCBhbGwgdGhlIHN0cnVjdHVyZXMgdXNlZCBieSBhIGRvY3VtZW50LCB0cmVlIGluY2x1ZGVkLjwvcD48cD4KQEAgLTE0ODQsNyArMTQ4NCw3IEBACiBDcmVhdGlvbiBvZiBhIG5ldyBjaGFyYWN0ZXIgcmVmZXJlbmNlIG5vZGUuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gdGhlIGRvY3VtZW50Ci08L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjaGFyIHJlZiBzdHJpbmcsIHN0YXJ0aW5nIHdpdGggIyBvciAmcXVvdDsmYW1wOyMgLi4uIDsmcXVvdDsKKzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGNoYXIgcmVmIHN0cmluZywgc3RhcnRpbmcgd2l0aCAjIG9yICImYW1wOyMgLi4uIDsiCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3UmVmZXJlbmNlIj48L2E+eG1sTmV3UmVmZXJlbmNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sTmV3UmVmZXJlbmNlICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSk7PC9wcmU+PHA+CkBAIC0xOTAyLDE0ICsxOTAyLDE0IEBACiBhbmNlc3Rvci48L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5vZGUgYmVpbmcgY2hlY2tlZAotPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4tMSBpZiB4bWw6c3BhY2UgaXMgbm90IGluaGVyaXRlZCwgMCBpZiAmcXVvdDtkZWZhdWx0JnF1b3Q7LCAxIGlmICZxdW90O3ByZXNlcnZlJnF1b3Q7Cis8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPi0xIGlmIHhtbDpzcGFjZSBpcyBub3QgaW5oZXJpdGVkLCAwIGlmICJkZWZhdWx0IiwgMSBpZiAicHJlc2VydmUiCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSI+PC9hPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sTm9kZVNldFNwYWNlUHJlc2VydmUgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsKTs8L3ByZT48cD4KIFNldCAob3IgcmVzZXQpIHRoZSBzcGFjZSBwcmVzZXJ2aW5nIGJlaGF2aW91ciBvZiBhIG5vZGUsIGkuZS4gdGhlCiB2YWx1ZSBvZiB0aGUgeG1sOnNwYWNlIGF0dHJpYnV0ZS48L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5vZGUgYmVpbmcgY2hhbmdlZAotPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB4bWw6c3BhY2UgdmFsdWUgKCZxdW90OzAmcXVvdDs6IGRlZmF1bHQsIDE6ICZxdW90O3ByZXNlcnZlJnF1b3Q7KQorPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB4bWw6c3BhY2UgdmFsdWUgKCIwIjogZGVmYXVsdCwgMTogInByZXNlcnZlIikKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVHZXRCYXNlIj48L2E+eG1sTm9kZUdldEJhc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxOb2RlR2V0QmFzZSAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+CiBTZWFyY2hlcyBmb3IgdGhlIEJBU0UgVVJMLiBUaGUgY29kZSBzaG91bGQgd29yayBvbiBib3RoIFhNTApAQCAtMjA2OCw3ICsyMDY4LDcgQEAKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVGaWxlIj48L2E+eG1sU2F2ZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxTYXZlRmlsZSAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik7PC9wcmU+PHA+CiBEdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUuIFdpbGwgdXNlIGNvbXByZXNzaW9uIGlmCi1jb21waWxlZCBpbiBhbmQgZW5hYmxlZC4gSWYgPGk+PHR0PmZpbGVuYW1lPC90dD48L2k+IGlzICZxdW90Oy0mcXVvdDsgdGhlIHN0ZG91dCBmaWxlIGlzCitjb21waWxlZCBpbiBhbmQgZW5hYmxlZC4gSWYgPGk+PHR0PmZpbGVuYW1lPC90dD48L2k+IGlzICItIiB0aGUgc3Rkb3V0IGZpbGUgaXMKIHVzZWQuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpbGVuYW1lIChvciBVUkwpCkBAIC0yMDc4LDcgKzIwNzgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZvcm1hdCk7PC9wcmU+PHA+CiBEdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUuIFdpbGwgdXNlIGNvbXByZXNzaW9uIGlmCi1jb21waWxlZCBpbiBhbmQgZW5hYmxlZC4gSWYgPGk+PHR0PmZpbGVuYW1lPC90dD48L2k+IGlzICZxdW90Oy0mcXVvdDsgdGhlIHN0ZG91dCBmaWxlIGlzCitjb21waWxlZCBpbiBhbmQgZW5hYmxlZC4gSWYgPGk+PHR0PmZpbGVuYW1lPC90dD48L2k+IGlzICItIiB0aGUgc3Rkb3V0IGZpbGUgaXMKIHVzZWQuIElmIDxpPjx0dD5mb3JtYXQ8L3R0PjwvaT4gaXMgc2V0IHRoZW4gdGhlIGRvY3VtZW50IHdpbGwgYmUgaW5kZW50ZWQgb24gb3V0cHV0LgogTm90ZSB0aGF0IDxpPjx0dD5mb3JtYXQ8L3R0PjwvaT4gPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMQogb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD48cD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC11cmkuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC11cmkuaHRtbAppbmRleCA0YjI3MWU1Li44ZTMyNTE5IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwtdXJpLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLXVyaS5odG1sCkBAIC05Myw3ICs5Myw3IEBACiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVVSSSI+PC9hPnhtbFBhcnNlVVJJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiAgIHhtbFBhcnNlVVJJICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnN0cik7PC9wcmU+PHA+CiBQYXJzZSBhbiBVUkkgCiA8L3A+PHA+Ci1VUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAmcXVvdDsjJnF1b3Q7IGZyYWdtZW50IF08L3A+PHA+CitVUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAiIyIgZnJhZ21lbnQgXTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgVVJJIHN0cmluZyB0byBhbmFseXplCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgbmV3bHkgYnVpbGQgeG1sVVJJUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgpAQCAtMTAyLDcgKzEwMiw3IEBACiBQYXJzZSBhbiBVUkkgcmVmZXJlbmNlIHN0cmluZyBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcwogb2YgdGhlIDxpPjx0dD51cmk8L3R0PjwvaT4gc3RydWN0dXJlCiA8L3A+PHA+Ci1VUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAmcXVvdDsjJnF1b3Q7IGZyYWdtZW50IF08L3A+PHA+CitVUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAiIyIgZnJhZ21lbnQgXTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXJpPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC14bWxJTy5odG1sIGIvZG9jL2h0bWwvbGlieG1sLXhtbElPLmh0bWwKaW5kZXggNTY1NjQ0NC4uNzA0ZTE4YyAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvbGlieG1sLXhtbElPLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLXhtbElPLmh0bWwKQEAgLTIzNCw3ICsyMzQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7PC9wcmU+PHA+CiBDcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIG9mIGEgZmlsZQotSWYgZmlsZW5hbWUgaXMgJnF1b3Q7LScgdGhlbiB3ZSB1c2Ugc3RkaW4gYXMgdGhlIGlucHV0LgorSWYgZmlsZW5hbWUgaXMgIi0nIHRoZW4gd2UgdXNlIHN0ZGluIGFzIHRoZSBpbnB1dC4KIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQKIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLgogRG8gYW4gZW5jb2RpbmcgY2hlY2sgaWYgZW5jID09IFhNTF9DSEFSX0VOQ09ESU5HX05PTkU8L3A+PHA+CkBAIC0zNTMsNyArMzUzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24pOzwvcHJlPjxwPgogQ3JlYXRlIGEgYnVmZmVyZWQgIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyBvZiBhIGZpbGUKLUlmIGZpbGVuYW1lIGlzICZxdW90Oy0nIHRoZW4gd2UgdXNlIHN0ZG91dCBhcyB0aGUgb3V0cHV0LgorSWYgZmlsZW5hbWUgaXMgIi0nIHRoZW4gd2UgdXNlIHN0ZG91dCBhcyB0aGUgb3V0cHV0LgogQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZAogYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCiBUT0RPOiBjdXJyZW50bHkgaWYgY29tcHJlc3Npb24gaXMgc2V0LCB0aGUgbGlicmFyeSBvbmx5IHN1cHBvcnQKQEAgLTQ0Niw4ICs0NDYsOCBAQAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9zdF91cmk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIFRoZSBkZXN0aW5hdGlvbiBVUkkgZm9yIHRoZSBkb2N1bWVudAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgVGhlIGNvbXByZXNzaW9uIGRlc2lyZWQgZm9yIHRoZSBkb2N1bWVudC4KIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiPjwvYT54bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyAgICAodm9pZCk7PC9wcmU+PHA+Ci1CeSBkZWZhdWx0LCBsaWJ4bWwgc3VibWl0cyBIVFRQIG91dHB1dCByZXF1ZXN0cyB1c2luZyB0aGUgJnF1b3Q7UFVUJnF1b3Q7IG1ldGhvZC4KLUNhbGxpbmcgdGhpcyBtZXRob2QgY2hhbmdlcyB0aGUgSFRUUCBvdXRwdXQgbWV0aG9kIHRvIHVzZSB0aGUgJnF1b3Q7UE9TVCZxdW90OworQnkgZGVmYXVsdCwgbGlieG1sIHN1Ym1pdHMgSFRUUCBvdXRwdXQgcmVxdWVzdHMgdXNpbmcgdGhlICJQVVQiIG1ldGhvZC4KK0NhbGxpbmcgdGhpcyBtZXRob2QgY2hhbmdlcyB0aGUgSFRUUCBvdXRwdXQgbWV0aG9kIHRvIHVzZSB0aGUgIlBPU1QiCiBtZXRob2QgaW5zdGVhZC48L3A+PHA+CiAKIDwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+PC9hPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4geG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIGIvZG9jL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sCmluZGV4IGE3OTQwOWMuLjMyMGRmMGMgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbAorKysgYi9kb2MvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwKQEAgLTY3LDEwICs2Nyw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic2l6ZS10Ij5zaXplX3Q8L0dUS0RPQ0xJTks+IHNpemUpOwogdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUZyZWUiPnhtbE1lbUZyZWU8L2E+ICAgICAgICAgICAgICAgICAgICAgICh2b2lkICpwdHIpOwogY2hhciogICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeVN0cmR1cCI+eG1sTWVtb3J5U3RyZHVwPC9hPiAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnN0cik7Ci0jZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvYyI+eG1sTWFsbG9jPC9hPiAgICAgICAgICAgICAgICAgICAgICAgKHNpemUpCi0jZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvY0F0b21pYyI+eG1sTWFsbG9jQXRvbWljPC9hPiAgICAgICAgICAgICAgICAgKHNpemUpCi0jZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlYWxsb2MiPnhtbFJlYWxsb2M8L2E+ICAgICAgICAgICAgICAgICAgICAgIChwdHIsIHNpemUpCi0jZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE1lbVN0cmR1cCI+eG1sTWVtU3RyZHVwPC9hPiAgICAgICAgICAgICAgICAgICAgKHN0cikKIHZvaWQqICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT4gICAgICAgICAgICAgICAgICAgICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic2l6ZS10Ij5zaXplX3Q8L0dUS0RPQ0xJTks+IHNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmUpOwpAQCAtNzgsOSArNzQsMTYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJzaXplLXQiPnNpemVfdDwvR1RLRE9DTElOSz4gc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZSk7Cit2b2lkKiAgICAgICA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jIj54bWxNYWxsb2NBdG9taWNMb2M8L2E+ICAgICAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InNpemUtdCI+c2l6ZV90PC9HVEtET0NMSU5LPiBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lKTsKIGNoYXIqICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXBMb2MiPnhtbE1lbVN0cmR1cExvYzwvYT4gICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpzdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmUpOworI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2MiPnhtbE1hbGxvYzwvYT4gICAgICAgICAgICAgICAgICAgICAgIChzaXplKQorI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2NBdG9taWMiPnhtbE1hbGxvY0F0b21pYzwvYT4gICAgICAgICAgICAgICAgIChzaXplKQorI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWFsbG9jIj54bWxSZWFsbG9jPC9hPiAgICAgICAgICAgICAgICAgICAgICAocHRyLCBzaXplKQorI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNZW1TdHJkdXAiPnhtbE1lbVN0cmR1cDwvYT4gICAgICAgICAgICAgICAgICAgIChzdHIpCiA8L3ByZT48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXNjcmlwdGlvbjwvaDI+PHA+CiAKIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXRhaWxzPC9oMj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJERUJVRy1NRU1PUlktQ0FQUyI+PC9hPkRFQlVHX01FTU9SWTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgREVCVUdfTUVNT1JZCkBAIC0yMTEsMjQgKzIxNCw2IEBACiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGluaXRpYWwgc3RyaW5nIHBvaW50ZXIKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgc3RyaW5nIG9yIE5VTEwgaWYgYWxsb2NhdGlvbiBlcnJvciBvY2N1cnJlZC4KLTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1hbGxvYyI+PC9hPnhtbE1hbGxvYygpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sTWFsbG9jKHNpemUpPC9wcmU+PHA+Ci1XcmFwcGVyIGZvciB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Im1hbGxvYyI+bWFsbG9jPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uIHVzZWQgaW4gdGhlIFhNTCBsaWJyYXJ5LjwvcD48cD4KLQotPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgbnVtYmVyIG9mIGJ5dGVzIHRvIGFsbG9jYXRlCi08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NBdG9taWMiPjwvYT54bWxNYWxsb2NBdG9taWMoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbE1hbGxvY0F0b21pYyhzaXplKTwvcHJlPjxwPgotV3JhcHBlciBmb3IgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJtYWxsb2MiPm1hbGxvYzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbiB1c2VkIGluIHRoZSBYTUwgbGlicmFyeSBmb3IgYWxsb2NhdGlvbgotb2YgYmxvY2sgbm90IGNvbnRhaW5pbmcgcG9pbnRlcnMgdG8gb3RoZXIgYXJlYXMuPC9wPjxwPgotCi08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUKLTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWxsb2MiPjwvYT54bWxSZWFsbG9jKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxSZWFsbG9jKHB0ciwgc2l6ZSk8L3ByZT48cD4KLVdyYXBwZXIgZm9yIHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0icmVhbGxvYyI+cmVhbGxvYzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbiB1c2VkIGluIHRoZSBYTUwgbGlicmFyeS48L3A+PHA+Ci0KLTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgcG9pbnRlciB0byB0aGUgZXhpc3RpbmcgYWxsb2NhdGVkIGFyZWEKLTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgbnVtYmVyIG9mIGJ5dGVzIHRvIGFsbG9jYXRlCi08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNZW1TdHJkdXAiPjwvYT54bWxNZW1TdHJkdXAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbE1lbVN0cmR1cChzdHIpPC9wcmU+PHA+Ci1XcmFwcGVyIGZvciB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InN0cmR1cCI+c3RyZHVwPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uLCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3RyZHVwIj54bWxTdHJkdXA8L2E+KCkgaXMgdXN1YWxseSBwcmVmZXJyZWQuPC9wPjxwPgotCi08L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHBvaW50ZXIgdG8gdGhlIGV4aXN0aW5nIHN0cmluZwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWFsbG9jTG9jIj48L2E+eG1sTWFsbG9jTG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCogICAgICAgeG1sTWFsbG9jTG9jICAgICAgICAgICAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InNpemUtdCI+c2l6ZV90PC9HVEtET0NMSU5LPiBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lKTs8L3ByZT48cD4KQEAgLTI0Nyw2ICsyMzIsMTQgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS4KIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpbGUgbmFtZSBvciBOVUxMCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsaW5lIG51bWJlcgorPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWFsbG9jQXRvbWljTG9jIj48L2E+eG1sTWFsbG9jQXRvbWljTG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCogICAgICAgeG1sTWFsbG9jQXRvbWljTG9jICAgICAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InNpemUtdCI+c2l6ZV90PC9HVEtET0NMSU5LPiBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lKTs8L3ByZT48cD4KK2EgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Im1hbGxvYyI+bWFsbG9jPC9HVEtET0NMSU5LPigpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD48cD4KKworPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS4KKzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpbGUgbmFtZSBvciBOVUxMCis8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsaW5lIG51bWJlcgogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtU3RyZHVwTG9jIj48L2E+eG1sTWVtU3RyZHVwTG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciogICAgICAgeG1sTWVtU3RyZHVwTG9jICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqc3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsaW5lKTs8L3ByZT48cD4KQEAgLTI1Niw0ICsyNDksMjIgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpbGUgbmFtZSBvciBOVUxMCiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsaW5lIG51bWJlcgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGVycm9yIG9jY3VycmVkLgorPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWFsbG9jIj48L2E+eG1sTWFsbG9jKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxNYWxsb2Moc2l6ZSk8L3ByZT48cD4KK1dyYXBwZXIgZm9yIHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibWFsbG9jIj5tYWxsb2M8L0dUS0RPQ0xJTks+KCkgZnVuY3Rpb24gdXNlZCBpbiB0aGUgWE1MIGxpYnJhcnkuPC9wPjxwPgorCis8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUKKzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0F0b21pYyI+PC9hPnhtbE1hbGxvY0F0b21pYygpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sTWFsbG9jQXRvbWljKHNpemUpPC9wcmU+PHA+CitXcmFwcGVyIGZvciB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Im1hbGxvYyI+bWFsbG9jPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uIHVzZWQgaW4gdGhlIFhNTCBsaWJyYXJ5IGZvciBhbGxvY2F0aW9uCitvZiBibG9jayBub3QgY29udGFpbmluZyBwb2ludGVycyB0byBvdGhlciBhcmVhcy48L3A+PHA+CisKKzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIG51bWJlciBvZiBieXRlcyB0byBhbGxvY2F0ZQorPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhbGxvYyI+PC9hPnhtbFJlYWxsb2MoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbFJlYWxsb2MocHRyLCBzaXplKTwvcHJlPjxwPgorV3JhcHBlciBmb3IgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJyZWFsbG9jIj5yZWFsbG9jPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uIHVzZWQgaW4gdGhlIFhNTCBsaWJyYXJ5LjwvcD48cD4KKworPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHRyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBwb2ludGVyIHRvIHRoZSBleGlzdGluZyBhbGxvY2F0ZWQgYXJlYQorPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUKKzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1lbVN0cmR1cCI+PC9hPnhtbE1lbVN0cmR1cCgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sTWVtU3RyZHVwKHN0cik8L3ByZT48cD4KK1dyYXBwZXIgZm9yIHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic3RyZHVwIj5zdHJkdXA8L0dUS0RPQ0xJTks+KCkgZnVuY3Rpb24sIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT4oKSBpcyB1c3VhbGx5IHByZWZlcnJlZC48L3A+PHA+CisKKzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgcG9pbnRlciB0byB0aGUgZXhpc3Rpbmcgc3RyaW5nCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjx0YWJsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZCBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCI+PGI+Jmx0OyZsdDugZGVidWdYTUw8L2I+PC9hPjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPjxiPnhtbHJlZ2V4cKAmZ3Q7Jmd0OzwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbAppbmRleCA0ZTBhMDdkLi5hMTc3YjM0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sCkBAIC0zNCw2ICszNCw3IEBACiAKIGVudW0gICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj54bWxQYXJzZXJQcm9wZXJ0aWVzPC9hPjsKIGVudW0gICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJTZXZlcml0aWVzIj54bWxQYXJzZXJTZXZlcml0aWVzPC9hPjsKK2VudW0gICAgICAgIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJUeXBlcyI+eG1sUmVhZGVyVHlwZXM8L2E+Owogc3RydWN0ICAgICAgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+OwogdHlwZWRlZiAgICAgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+OwogPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPiAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbnB1dCwKQEAgLTEzMSw2ICsxMzIsMjggQEAKIH0geG1sUGFyc2VyU2V2ZXJpdGllczsKIDwvcHJlPjxwPgogCis8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRlclR5cGVzIj48L2E+ZW51bSB4bWxSZWFkZXJUeXBlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnR5cGVkZWYgZW51bSB7CisgICAgWE1MX1JFQURFUl9UWVBFX05PTkUgPSAwLAorICAgIFhNTF9SRUFERVJfVFlQRV9FTEVNRU5UID0gMSwKKyAgICBYTUxfUkVBREVSX1RZUEVfQVRUUklCVVRFID0gMiwKKyAgICBYTUxfUkVBREVSX1RZUEVfVEVYVCA9IDMsCisgICAgWE1MX1JFQURFUl9UWVBFX0NEQVRBID0gNCwKKyAgICBYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRSA9IDUsCisgICAgWE1MX1JFQURFUl9UWVBFX0VOVElUWSA9IDYsCisgICAgWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04gPSA3LAorICAgIFhNTF9SRUFERVJfVFlQRV9DT01NRU5UID0gOCwKKyAgICBYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQgPSA5LAorICAgIFhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9UWVBFID0gMTAsCisgICAgWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UID0gMTEsCisgICAgWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OID0gMTIsCisgICAgWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UgPSAxMywKKyAgICBYTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRSA9IDE0LAorICAgIFhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCA9IDE1LAorICAgIFhNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZID0gMTYsCisgICAgWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTiA9IDE3Cit9IHhtbFJlYWRlclR5cGVzOworPC9wcmU+PHA+CisKIDwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlciI+PC9hPnN0cnVjdCB4bWxUZXh0UmVhZGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IHhtbFRleHRSZWFkZXI7PC9wcmU+PHA+CiAKIDwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclB0ciI+PC9hPnhtbFRleHRSZWFkZXJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj50eXBlZGVmIHhtbFRleHRSZWFkZXIgKnhtbFRleHRSZWFkZXJQdHI7CkBAIC0yNTQsNyArMjc3LDcgQEAKIFRoZSBxdW90YXRpb24gbWFyayBjaGFyYWN0ZXIgdXNlZCB0byBlbmNsb3NlIHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKLTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+JnF1b3Q7IG9yICcgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+IiBvciAnIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyVmFsdWUiPjwvYT54bWxUZXh0UmVhZGVyVmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxUZXh0UmVhZGVyVmFsdWUgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTs8L3ByZT48cD4KIFByb3ZpZGVzIHRoZSB0ZXh0IHZhbHVlIG9mIHRoZSBub2RlIGlmIHByZXNlbnQ8L3A+PHA+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbAppbmRleCAwNjRlNjFjLi5mYmYwM2Y1IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwKKysrIGIvZG9jL2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sCkBAIC02OCw3ICs2OCw3IEBACiBMb29rdXAgYSB0eXBlIGluIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeTwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiB0aGUgdHlwZSBuYW1lCi08L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UgdXN1YWxseSAmcXVvdDtodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSZxdW90OworPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlIHVzdWFsbHkgImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiPjwvYT54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSAoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqdmFsdWUsCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCBiL2RvYy9odG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sCmluZGV4IGE3ZTExZmIuLmY1MDVhMjEgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sCisrKyBiL2RvYy9odG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sCkBAIC0xMDE1LDcgKzEwMTUsNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2UKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFNlbGYiPjwvYT54bWxYUGF0aE5leHRTZWxmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0U2VsZiAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+Ci1UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtzZWxmJnF1b3Q7IGRpcmVjdGlvbgorVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInNlbGYiIGRpcmVjdGlvbgogVGhlIHNlbGYgYXhpcyBjb250YWlucyBqdXN0IHRoZSBjb250ZXh0IG5vZGUgaXRzZWxmPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKQEAgLTEwMjMsNyArMTAyMyw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0Q2hpbGQiPjwvYT54bWxYUGF0aE5leHRDaGlsZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dENoaWxkICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgotVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7Y2hpbGQmcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiY2hpbGQiIGRpcmVjdGlvbgogVGhlIGNoaWxkIGF4aXMgY29udGFpbnMgdGhlIGNoaWxkcmVuIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKQEAgLTEwMzEsNyArMTAzMSw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+PC9hPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHREZXNjZW5kYW50ICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O2Rlc2NlbmRhbnQmcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudCIgZGlyZWN0aW9uCiB0aGUgZGVzY2VuZGFudCBheGlzIGNvbnRhaW5zIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50CiBvcmRlcjsgYSBkZXNjZW5kYW50IGlzIGEgY2hpbGQgb3IgYSBjaGlsZCBvZiBhIGNoaWxkIGFuZCBzbyBvbi48L3A+PHA+CiAKQEAgLTEwNDAsNyArMTA0MCw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+PC9hPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O2Rlc2NlbmRhbnQtb3Itc2VsZiZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJkZXNjZW5kYW50LW9yLXNlbGYiIGRpcmVjdGlvbgogdGhlIGRlc2NlbmRhbnQtb3Itc2VsZiBheGlzIGNvbnRhaW5zIHRoZSBjb250ZXh0IG5vZGUgYW5kIHRoZSBkZXNjZW5kYW50cwogb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlcjsgdGh1cyB0aGUgY29udGV4dCBub2RlIGlzIHRoZSBmaXJzdAogbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgY29udGV4dCBub2RlIGlzIHRoZSBzZWNvbmQgbm9kZQpAQCAtMTA1MSw3ICsxMDUxLDcgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRQYXJlbnQiPjwvYT54bWxYUGF0aE5leHRQYXJlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRQYXJlbnQgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O3BhcmVudCZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwYXJlbnQiIGRpcmVjdGlvbgogVGhlIHBhcmVudCBheGlzIGNvbnRhaW5zIHRoZSBwYXJlbnQgb2YgdGhlIGNvbnRleHQgbm9kZSwgaWYgdGhlcmUgaXMgb25lLjwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CkBAIC0xMDU5LDcgKzEwNTksNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIj48L2E+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O2FuY2VzdG9yLW9yLXNlbGYmcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYW5jZXN0b3Itb3Itc2VsZiIgZGlyZWN0aW9uCiBoZSBhbmNlc3Rvci1vci1zZWxmIGF4aXMgY29udGFpbnMgdGhlIGNvbnRleHQgbm9kZSBhbmQgYW5jZXN0b3JzIG9mCiB0aGUgY29udGV4dCBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIGNvbnRleHQgbm9kZSBpcwogdGhlIGZpcnN0IG5vZGUgb24gdGhlIGF4aXMsIGFuZCB0aGUgY29udGV4dCBub2RlJ3MgcGFyZW50IHRoZSBzZWNvbmQ7CkBAIC0xMDcwLDcgKzEwNzAsNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciPjwvYT54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+Ci1UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtmb2xsb3dpbmctc2libGluZyZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJmb2xsb3dpbmctc2libGluZyIgZGlyZWN0aW9uCiBUaGUgZm9sbG93aW5nLXNpYmxpbmcgYXhpcyBjb250YWlucyB0aGUgZm9sbG93aW5nIHNpYmxpbmdzIG9mIHRoZSBjb250ZXh0CiBub2RlIGluIGRvY3VtZW50IG9yZGVyLjwvcD48cD4KIApAQCAtMTA3OSw3ICsxMDc5LDcgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmciPjwvYT54bWxYUGF0aE5leHRGb2xsb3dpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRGb2xsb3dpbmcgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O2ZvbGxvd2luZyZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJmb2xsb3dpbmciIGRpcmVjdGlvbgogVGhlIGZvbGxvd2luZyBheGlzIGNvbnRhaW5zIGFsbCBub2RlcyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dAogbm9kZSB0aGF0IGFyZSBhZnRlciB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBleGNsdWRpbmcgYW55CiBkZXNjZW5kYW50cyBhbmQgZXhjbHVkaW5nIGF0dHJpYnV0ZSBub2RlcyBhbmQgbmFtZXNwYWNlIG5vZGVzOyB0aGUgbm9kZXMKQEAgLTEwOTAsNyArMTA5MCw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0TmFtZXNwYWNlIj48L2E+eG1sWFBhdGhOZXh0TmFtZXNwYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0TmFtZXNwYWNlICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+Ci1UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtuYW1lc3BhY2UmcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAibmFtZXNwYWNlIiBkaXJlY3Rpb24KIHRoZSBuYW1lc3BhY2UgYXhpcyBjb250YWlucyB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGU7CiB0aGUgb3JkZXIgb2Ygbm9kZXMgb24gdGhpcyBheGlzIGlzIGltcGxlbWVudGF0aW9uLWRlZmluZWQ7IHRoZSBheGlzIHdpbGwKIGJlIGVtcHR5IHVubGVzcyB0aGUgY29udGV4dCBub2RlIGlzIGFuIGVsZW1lbnQKQEAgLTExMDIsNyArMTEwMiw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0QXR0cmlidXRlIj48L2E+eG1sWFBhdGhOZXh0QXR0cmlidXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0QXR0cmlidXRlICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+Ci1UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDthdHRyaWJ1dGUmcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYXR0cmlidXRlIiBkaXJlY3Rpb24KIFRPRE86IHN1cHBvcnQgRFREIGluaGVyaXRlZCBkZWZhdWx0IGF0dHJpYnV0ZXM8L3A+PHA+CiAKIDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dApAQCAtMTExMCw3ICsxMTEwLDcgQEAKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCiA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmciPjwvYT54bWxYUGF0aE5leHRQcmVjZWRpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRQcmVjZWRpbmcgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KLVRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O3ByZWNlZGluZyZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmciIGRpcmVjdGlvbgogdGhlIHByZWNlZGluZyBheGlzIGNvbnRhaW5zIGFsbCBub2RlcyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dAogbm9kZSB0aGF0IGFyZSBiZWZvcmUgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgZXhjbHVkaW5nIGFueQogYW5jZXN0b3JzIGFuZCBleGNsdWRpbmcgYXR0cmlidXRlIG5vZGVzIGFuZCBuYW1lc3BhY2Ugbm9kZXM7IHRoZSBub2RlcyBhcmUKQEAgLTExMjEsNyArMTEyMSw3IEBACiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwogPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0QW5jZXN0b3IiPjwvYT54bWxYUGF0aE5leHRBbmNlc3RvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dEFuY2VzdG9yICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgotVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7YW5jZXN0b3ImcXVvdDsgZGlyZWN0aW9uCitUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYW5jZXN0b3IiIGRpcmVjdGlvbgogdGhlIGFuY2VzdG9yIGF4aXMgY29udGFpbnMgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY29udGV4dCBub2RlOyB0aGUgYW5jZXN0b3JzCiBvZiB0aGUgY29udGV4dCBub2RlIGNvbnNpc3Qgb2YgdGhlIHBhcmVudCBvZiBjb250ZXh0IG5vZGUgYW5kIHRoZSBwYXJlbnQncwogcGFyZW50IGFuZCBzbyBvbjsgdGhlIG5vZGVzIGFyZSBvcmRlcmVkIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlCkBAIC0xMTMzLDcgKzExMzMsNyBAQAogPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKIDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPjwvYT54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+Ci1UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtwcmVjZWRpbmctc2libGluZyZxdW90OyBkaXJlY3Rpb24KK1RyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmctc2libGluZyIgZGlyZWN0aW9uCiBUaGUgcHJlY2VkaW5nLXNpYmxpbmcgYXhpcyBjb250YWlucyB0aGUgcHJlY2VkaW5nIHNpYmxpbmdzIG9mIHRoZSBjb250ZXh0CiBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRoZSBmaXJzdCBwcmVjZWRpbmcgc2libGluZyBpcyBmaXJzdCBvbiB0aGUKIGF4aXM7IHRoZSBzaWJsaW5nIHByZWNlZGluZyB0aGF0IG5vZGUgaXMgdGhlIHNlY29uZCBvbiB0aGUgYXhpcyBhbmQgc28gb24uPC9wPjxwPgpAQCAtMTI4NywxMCArMTI4NywxMCBAQAogVGhlIHN1YnN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0IGFyZ3VtZW50CiBzdGFydGluZyBhdCB0aGUgcG9zaXRpb24gc3BlY2lmaWVkIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgd2l0aAogbGVuZ3RoIHNwZWNpZmllZCBpbiB0aGUgdGhpcmQgYXJndW1lbnQuIEZvciBleGFtcGxlLAotc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LDIsMykgcmV0dXJucyAmcXVvdDsyMzQmcXVvdDsuIElmIHRoZSB0aGlyZCBhcmd1bWVudCBpcyBub3QKK3N1YnN0cmluZygiMTIzNDUiLDIsMykgcmV0dXJucyAiMjM0Ii4gSWYgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIG5vdAogc3BlY2lmaWVkLCBpdCByZXR1cm5zIHRoZSBzdWJzdHJpbmcgc3RhcnRpbmcgYXQgdGhlIHBvc2l0aW9uIHNwZWNpZmllZAogaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgY29udGludWluZyB0byB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuIEZvcgotZXhhbXBsZSwgc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LDIpIHJldHVybnMgJnF1b3Q7MjM0NSZxdW90Oy4gIE1vcmUgcHJlY2lzZWx5LCBlYWNoCitleGFtcGxlLCBzdWJzdHJpbmcoIjEyMzQ1IiwyKSByZXR1cm5zICIyMzQ1Ii4gIE1vcmUgcHJlY2lzZWx5LCBlYWNoCiBjaGFyYWN0ZXIgaW4gdGhlIHN0cmluZyAoc2VlIFszLjYgU3RyaW5nc10pIGlzIGNvbnNpZGVyZWQgdG8gaGF2ZSBhCiBudW1lcmljIHBvc2l0aW9uOiB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyAxLCB0aGUgcG9zaXRpb24KIG9mIHRoZSBzZWNvbmQgY2hhcmFjdGVyIGlzIDIgYW5kIHNvIG9uLiBUaGUgcmV0dXJuZWQgc3Vic3RyaW5nIGNvbnRhaW5zCkBAIC0xMjk4LDEyICsxMjk4LDEyIEBACiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCwgaWYgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIHNwZWNpZmllZCwKIGxlc3MgdGhhbiB0aGUgc3VtIG9mIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyZ3VtZW50czsgdGhlIGNvbXBhcmlzb25zCiBhbmQgYWRkaXRpb24gdXNlZCBmb3IgdGhlIGFib3ZlIGZvbGxvdyB0aGUgc3RhbmRhcmQgSUVFRSA3NTQgcnVsZXMuIFRodXM6Ci0gLSBzdWJzdHJpbmcoJnF1b3Q7MTIzNDUmcXVvdDssIDEuNSwgMi42KSByZXR1cm5zICZxdW90OzIzNCZxdW90OyAKLSAtIHN1YnN0cmluZygmcXVvdDsxMjM0NSZxdW90OywgMCwgMykgcmV0dXJucyAmcXVvdDsxMiZxdW90OyAKLSAtIHN1YnN0cmluZygmcXVvdDsxMjM0NSZxdW90OywgMCBkaXYgMCwgMykgcmV0dXJucyAmcXVvdDsmcXVvdDsgCi0gLSBzdWJzdHJpbmcoJnF1b3Q7MTIzNDUmcXVvdDssIDEsIDAgZGl2IDApIHJldHVybnMgJnF1b3Q7JnF1b3Q7IAotIC0gc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LCAtNDIsIDEgZGl2IDApIHJldHVybnMgJnF1b3Q7MTIzNDUmcXVvdDsgCi0gLSBzdWJzdHJpbmcoJnF1b3Q7MTIzNDUmcXVvdDssIC0xIGRpdiAwLCAxIGRpdiAwKSByZXR1cm5zICZxdW90OyZxdW90OzwvcD48cD4KKyAtIHN1YnN0cmluZygiMTIzNDUiLCAxLjUsIDIuNikgcmV0dXJucyAiMjM0IiAKKyAtIHN1YnN0cmluZygiMTIzNDUiLCAwLCAzKSByZXR1cm5zICIxMiIgCisgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMCBkaXYgMCwgMykgcmV0dXJucyAiIiAKKyAtIHN1YnN0cmluZygiMTIzNDUiLCAxLCAwIGRpdiAwKSByZXR1cm5zICIiIAorIC0gc3Vic3RyaW5nKCIxMjM0NSIsIC00MiwgMSBkaXYgMCkgcmV0dXJucyAiMTIzNDUiIAorIC0gc3Vic3RyaW5nKCIxMjM0NSIsIC0xIGRpdiAwLCAxIGRpdiAwKSByZXR1cm5zICIiPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCkBAIC0xMzE1LDcgKzEzMTUsNyBAQAogYXJndW1lbnQgc3RyaW5nIHRoYXQgcHJlY2VkZXMgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZAogYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmcKIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgZG9lcyBub3QgY29udGFpbiB0aGUgc2Vjb25kIGFyZ3VtZW50Ci1zdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmctYmVmb3JlKCZxdW90OzE5OTkvMDQvMDEmcXVvdDssJnF1b3Q7LyZxdW90OykgcmV0dXJucyAxOTk5LjwvcD48cD4KK3N0cmluZy4gRm9yIGV4YW1wbGUsIHN1YnN0cmluZy1iZWZvcmUoIjE5OTkvMDQvMDEiLCIvIikgcmV0dXJucyAxOTk5LjwvcD48cD4KIAogPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CiA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwpAQCAtMTMyNyw4ICsxMzI3LDggQEAKIGFyZ3VtZW50IHN0cmluZyB0aGF0IGZvbGxvd3MgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZAogYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmdpCiBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gdGhlIHNlY29uZCBhcmd1bWVudAotc3RyaW5nLiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nLWFmdGVyKCZxdW90OzE5OTkvMDQvMDEmcXVvdDssJnF1b3Q7LyZxdW90OykgcmV0dXJucyAwNC8wMSwKLWFuZCBzdWJzdHJpbmctYWZ0ZXIoJnF1b3Q7MTk5OS8wNC8wMSZxdW90OywmcXVvdDsxOSZxdW90OykgcmV0dXJucyA5OS8wNC8wMS48L3A+PHA+CitzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmctYWZ0ZXIoIjE5OTkvMDQvMDEiLCIvIikgcmV0dXJucyAwNC8wMSwKK2FuZCBzdWJzdHJpbmctYWZ0ZXIoIjE5OTkvMDQvMDEiLCIxOSIpIHJldHVybnMgOTkvMDQvMDEuPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCkBAIC0xMzUyLDEyICsxMzUyLDEyIEBACiBUaGUgdHJhbnNsYXRlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyB3aXRoCiBvY2N1cnJlbmNlcyBvZiBjaGFyYWN0ZXJzIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIHJlcGxhY2VkCiBieSB0aGUgY2hhcmFjdGVyIGF0IHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHRoZSB0aGlyZCBhcmd1bWVudAotc3RyaW5nLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCZxdW90O2JhciZxdW90OywmcXVvdDthYmMmcXVvdDssJnF1b3Q7QUJDJnF1b3Q7KSByZXR1cm5zIHRoZSBzdHJpbmcKK3N0cmluZy4gRm9yIGV4YW1wbGUsIHRyYW5zbGF0ZSgiYmFyIiwiYWJjIiwiQUJDIikgcmV0dXJucyB0aGUgc3RyaW5nCiBCQXIuIElmIHRoZXJlIGlzIGEgY2hhcmFjdGVyIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIHdpdGggbm8KIGNoYXJhY3RlciBhdCBhIGNvcnJlc3BvbmRpbmcgcG9zaXRpb24gaW4gdGhlIHRoaXJkIGFyZ3VtZW50IHN0cmluZwogKGJlY2F1c2UgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgaXMgbG9uZ2VyIHRoYW4gdGhlIHRoaXJkIGFyZ3VtZW50CiBzdHJpbmcpLCB0aGVuIG9jY3VycmVuY2VzIG9mIHRoYXQgY2hhcmFjdGVyIGluIHRoZSBmaXJzdCBhcmd1bWVudAotc3RyaW5nIGFyZSByZW1vdmVkLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCZxdW90Oy0tYWFhLS0mcXVvdDssJnF1b3Q7YWJjLSZxdW90OywmcXVvdDtBQkMmcXVvdDspPC9wPjxwPgorc3RyaW5nIGFyZSByZW1vdmVkLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCItLWFhYS0tIiwiYWJjLSIsIkFCQyIpPC9wPjxwPgogCiA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKIDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCmRpZmYgLS1naXQgYS9kb2MvbGlieG1sMi1hcGkueG1sIGIvZG9jL2xpYnhtbDItYXBpLnhtbAppbmRleCBjNzE3MjQzLi5iMGMxMmJhIDEwMDY0NAotLS0gYS9kb2MvbGlieG1sMi1hcGkueG1sCisrKyBiL2RvYy9saWJ4bWwyLWFwaS54bWwKQEAgLTc2NjcsNyArNzY2Nyw3IEBACiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbmNvZGluZ0RlY2wnIGZpbGU9J3BhcnNlckludGVybmFscyc+CiAgICAgICA8aW5mbz5wYXJzZSB0aGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uICBbODBdIEVuY29kaW5nRGVjbCA6Oj0gUyAmYXBvcztlbmNvZGluZyZhcG9zOyBFcSAoJmFwb3M7JnF1b3Q7JmFwb3M7IEVuY05hbWUgJmFwb3M7JnF1b3Q7JmFwb3M7IHwgICZxdW90OyZhcG9zOyZxdW90OyBFbmNOYW1lICZxdW90OyZhcG9zOyZxdW90OykgIHRoaXMgc2V0dXBzIHRoZSBjb252ZXJzaW9uIGZpbHRlcnMuPC9pbmZvPgotICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBlbmNvZGluZyB2YWx1ZSBvciBOVUxMJy8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIHZhbHVlIG9yIE5VTEwnLz4KICAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CiAgICAgPC9mdW5jdGlvbj4KICAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbmRUYWcnIGZpbGU9J3BhcnNlckludGVybmFscyc+CmRpZmYgLS1naXQgYS9kb2MvbGlieG1sMi54c2EgYi9kb2MvbGlieG1sMi54c2EKaW5kZXggZWMxODc1OS4uY2E0YmVmYSAxMDA2NDQKLS0tIGEvZG9jL2xpYnhtbDIueHNhCisrKyBiL2RvYy9saWJ4bWwyLnhzYQpAQCAtOCwyNiArOCw5IEBACiAgIDwvdmVuZG9yPgogICA8cHJvZHVjdCBpZD0ibGlieG1sMiI+CiAgICAgPG5hbWU+bGlieG1sMjwvbmFtZT4KLSAgICA8dmVyc2lvbj4yLjUuOTwvdmVyc2lvbj4KLSAgICA8bGFzdC1yZWxlYXNlPiBBdWcgOSAyMDAzPC9sYXN0LXJlbGVhc2U+CisgICAgPHZlcnNpb24+Mi41LjEwPC92ZXJzaW9uPgorICAgIDxsYXN0LXJlbGVhc2U+IEF1ZyAxNSAyMDAzPC9sYXN0LXJlbGVhc2U+CiAgICAgPGluZm8tdXJsPmh0dHA6Ly94bWxzb2Z0Lm9yZy88L2luZm8tdXJsPgotICAgIDxjaGFuZ2VzPiAgIC0gYnVnZml4ZXM6IElQdjYgcG9ydGFiaWxpdHksIHhtbEhhc05zUHJvcCAoTWFya3VzIEtlaW0pLCBXaW5kb3dzIGJ1aWxkCi0gICAgKFdpbGlhbSBCcmFrZSwgSmVzc2UgUGVsdG9uLCBJZ29yKSwgU2NoZW1hcyAoUGV0ZXIgU29iaXNjaCksIHRocmVhZGluZwotICAgIChSb2IgUmljaGFyZHMpLCBoZXhCaW5hcnkgdHlwZSAoKSwgVVRGLTE2IEJPTSAoRG9kamkgU2VrZXRlbGkpLAotICAgIHhtbFJlYWRlciwgUmVsYXgtTkcgc2NoZW1hcyBjb21waWxhdGlvbiwgbmFtZXNwYWNlIGhhbmRsaW5nLCAgRVhTTFQgKFNlYW4KLSAgICBHcmlmZmluKSwgSFRNTCBwYXJzaW5nIHByb2JsZW0gKFdpbGxpYW0gQnJhY2spLCBEVEQgdmFsaWRhdGlvbiBmb3IgbWl4ZWQKLSAgICBjb250ZW50ICsgbmFtZXNwYWNlcywgSFRNTCBzZXJpYWxpemF0aW9uLCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uLAotICAgIHByb2dyZXNzaXZlIEhUTUwgcGFyc2VyCi0gICAtIGJldHRlciBpbnRlcmZhY2VzIGZvciBSZWxheC1ORyBlcnJvciBoYW5kbGluZyAoSm9hY2hpbSBCYXVjaCwgKQotICAgLSBhZGRpbmcgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSgpIGZvciBYSW5jbHVkJ2luZyBpbiBhIHN1YnRyZWUKLSAgIC0gZG9jIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMgKEpvaG4gRmxlY2spCi0gICAtIGNvbmZpZ3VyZSBmbGFnIGZvciAtd2l0aC1mZXhjZXB0aW9ucyB3aGVuIGVtYmVkZGluZyBpbiBDKysKLSAgIC0gY291cGxlIG9mIG5ldyBVVEYtOCBoZWxwZXIgZnVuY3Rpb25zIChXaWxsaWFtIEJyYWNrKQotICAgLSBnZW5lcmFsIGVuY29kaW5nIGNsZWFudXAgKyBJU08tODg1OS14IHdpdGhvdXQgaWNvbnYgKFBldGVyIEphY29iaSkKLSAgIC0geG1sVGV4dFJlYWRlciBjbGVhbnVwICsgZW51bSBmb3Igbm9kZSB0eXBlcyAoQmpvcm4gUmVlc2UpCi0gICAtIGdlbmVyYWwgY29tcGlsYXRpb24vd2FybmluZyBjbGVhbnVwIFNvbGFyaXMvSFAtVVgvLi4uIChXaWxsaWFtCi0gIEJyYWNrKQotCi08L2NoYW5nZXM+CisgICAgPGNoYW5nZXM+QSBidWdmaXhlcyBvbmx5IHJlbGVhc2U8L2NoYW5nZXM+CiAgIDwvcHJvZHVjdD4KIDwveHNhPgpkaWZmIC0tZ2l0IGEvZG9jL25ld3MuaHRtbCBiL2RvYy9uZXdzLmh0bWwKaW5kZXggNTlmZTViMS4uOWQzMTE0OSAxMDA2NDQKLS0tIGEvZG9jL25ld3MuaHRtbAorKysgYi9kb2MvbmV3cy5odG1sCkBAIC0xMiw2ICsxMiwxNSBAQAogdG8gdGVzdCB0aG9zZTwvcD48dWw+PGxpPk1vcmUgdGVzdGluZyBvbiBSZWxheE5HPC9saT4KICAgPGxpPkZpbmlzaGluZyB1cCA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxzY2hlbWEtMS8iPlhNTAogICBTY2hlbWFzPC9hPjwvbGk+Cis8L3VsPjxoMz4yLjUuMTA6IEF1ZyAxNSAyMDAzPC9oMz48cD5BIGJ1Z2ZpeGVzIG9ubHkgcmVsZWFzZTwvcD48dWw+PGxpPldpbmRvd3MgTWFrZWZpbGVzIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5VVEYtMTYgc3VwcG9ydCBmaXhlcyAoTWFyayBJdHpjb3ZpdHopPC9saT4KKyAgPGxpPk1ha2VmaWxlIGFuZCBwb3J0YWJpbGl0eSAoV2lsbGlhbSBCcmFjaykgYXV0b21ha2UsIExpbnV4IGFscGhhLCBNaW5ndworICAgIG9uIFdpbmRvd3MgKE1pa2hhaWwgR3J1c2hpbnNraXkpIDwvbGk+CisgIDxsaT5IVE1MIHBhcnNlciAoT2xpdmVyIFN0b2VuZWJlcmcpPC9saT4KKyAgPGxpPlhJbmNsdWRlIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgS2V2aW4gUnVzY29lPC9saT4KKyAgPGxpPlhNTCBwYXJzZXIgcGVyZm9ybWFuY2UgcHJvYmxlbSByZXBvcnRlZCBieSBHcmFudCBHb29kYWxlPC9saT4KKyAgPGxpPnhtbFNBWFBhcnNlRFREKCkgYnVnIGZpeCBmcm9tIE1hbGNvbG0gVHJlZGlubmljazwvbGk+CisgIDxsaT5hbmQgYSBjb3VwbGUgb3RoZXIgY2xlYW51cCA8L2xpPgogPC91bD48aDM+Mi41Ljk6IEF1ZyA5IDIwMDM8L2gzPjx1bD48bGk+YnVnZml4ZXM6IElQdjYgcG9ydGFiaWxpdHksIHhtbEhhc05zUHJvcCAoTWFya3VzIEtlaW0pLCBXaW5kb3dzIGJ1aWxkCiAgICAgKFdpbGlhbSBCcmFrZSwgSmVzc2UgUGVsdG9uLCBJZ29yKSwgU2NoZW1hcyAoUGV0ZXIgU29iaXNjaCksIHRocmVhZGluZwogICAgIChSb2IgUmljaGFyZHMpLCBoZXhCaW5hcnkgdHlwZSAoKSwgVVRGLTE2IEJPTSAoRG9kamkgU2VrZXRlbGkpLApkaWZmIC0tZ2l0IGEvZG9jL3htbC5odG1sIGIvZG9jL3htbC5odG1sCmluZGV4IDhkZTAyNjAuLjA4YTAxZTkgMTAwNjQ0Ci0tLSBhL2RvYy94bWwuaHRtbAorKysgYi9kb2MveG1sLmh0bWwKQEAgLTY1NCw2ICs2NTQsMjEgQEAKICAgU2NoZW1hczwvYT48L2xpPgogPC91bD4KIAorPGgzPjIuNS4xMDogQXVnIDE1IDIwMDM8L2gzPgorCis8cD5BIGJ1Z2ZpeGVzIG9ubHkgcmVsZWFzZTwvcD4KKzx1bD4KKyAgPGxpPldpbmRvd3MgTWFrZWZpbGVzIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5VVEYtMTYgc3VwcG9ydCBmaXhlcyAoTWFyayBJdHpjb3ZpdHopPC9saT4KKyAgPGxpPk1ha2VmaWxlIGFuZCBwb3J0YWJpbGl0eSAoV2lsbGlhbSBCcmFjaykgYXV0b21ha2UsIExpbnV4IGFscGhhLCBNaW5ndworICAgIG9uIFdpbmRvd3MgKE1pa2hhaWwgR3J1c2hpbnNraXkpIDwvbGk+CisgIDxsaT5IVE1MIHBhcnNlciAoT2xpdmVyIFN0b2VuZWJlcmcpPC9saT4KKyAgPGxpPlhJbmNsdWRlIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgS2V2aW4gUnVzY29lPC9saT4KKyAgPGxpPlhNTCBwYXJzZXIgcGVyZm9ybWFuY2UgcHJvYmxlbSByZXBvcnRlZCBieSBHcmFudCBHb29kYWxlPC9saT4KKyAgPGxpPnhtbFNBWFBhcnNlRFREKCkgYnVnIGZpeCBmcm9tIE1hbGNvbG0gVHJlZGlubmljazwvbGk+CisgIDxsaT5hbmQgYSBjb3VwbGUgb3RoZXIgY2xlYW51cCA8L2xpPgorPC91bD4KKwogPGgzPjIuNS45OiBBdWcgOSAyMDAzPC9oMz4KIDx1bD4KICAgPGxpPmJ1Z2ZpeGVzOiBJUHY2IHBvcnRhYmlsaXR5LCB4bWxIYXNOc1Byb3AgKE1hcmt1cyBLZWltKSwgV2luZG93cyBidWlsZAo=