From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Bumped to 1.4.99.20120712 Date: Sun, 31 May 2026 02:05:41 GMT Message-ID: <178019314182.1.15561672701377854798.rpms-ibus-db31e528307a@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: db31e528307a958d02b7d718baf339b634e067e8 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiBkYjMxZTUyODMwN2E5NThkMDJiN2Q3MThiYWYzMzliNjM0ZTA2 N2U4CkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDEyLTA3LTE3VDE5OjI3OjAyKzA5OjAwClN0YXRzICA6ICsxNjczLy0xMzc0IGluIDExIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2Mv ZGIzMWU1MjgzMDdhOTU4ZDAyYjdkNzE4YmFmMzM5YjYzNGUwNjdlOD9icmFuY2g9YXV0b3Rvb2wK CkxvZzoKQnVtcGVkIHRvIDEuNC45OS4yMDEyMDcxMgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdu b3JlIGIvLmdpdGlnbm9yZQppbmRleCA3NWRjZmVjLi5iN2I5NWMwIDEwMDY0NAotLS0gYS8uZ2l0 aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTE5LDYgKzE5LDcgQEAgaWJ1cy0xLjMuNi50YXIu Z3oKIC9pYnVzLTEuNC45OS4yMDEyMDMwNC50YXIuZ3oKIC9pYnVzLTEuNC45OS4yMDEyMDMxNy50 YXIuZ3oKIC9pYnVzLTEuNC45OS4yMDEyMDQyOC50YXIuZ3oKKy9pYnVzLTEuNC45OS4yMDEyMDcx Mi50YXIuZ3oKIC9pYnVzLWdqcy0zLjAuMi4yMDExMDgyMy50YXIuZ3oKIC9pYnVzLWdqcy0zLjEu NC4yMDExMDgyMy50YXIuZ3oKIC9pYnVzLWdqcy0zLjAuMi4yMDExMDkwOC50YXIuZ3oKCmRpZmYg LS1naXQgYS9pYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaCBiL2lidXMtNTMwNzExLXByZWxv YWQtc3lzLnBhdGNoCmluZGV4IDRlNmI4NDcuLjA1YWU4ZTcgMTAwNjQ0Ci0tLSBhL2lidXMtNTMw NzExLXByZWxvYWQtc3lzLnBhdGNoCisrKyBiL2lidXMtNTMwNzExLXByZWxvYWQtc3lzLnBhdGNo CkBAIC0xLDYgKzEsNiBAQAotRnJvbSBmNTgwMDUwYWI1NjEyZTE4NDE2Mzk5NDk3ODE4MDJkYzZl ZTUwZmExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5YmU1YWNlZDUzOTdlMzU1ODg3 MGU0YWExYTQ0NmUxYWFjYzE3MzBjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogZnVq aXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogU2F0LCAyOCBBcHIgMjAx MiAxMzowNzo1NyArMDkwMAorRGF0ZTogVHVlLCAxNyBKdWwgMjAxMiAxNzo0MzowMyArMDkwMAog U3ViamVjdDogW1BBVENIXSBSZWxvYWQgcHJlbG9hZCBlbmdpbmVzIHVudGlsIHVzZXJzIGN1c3Rv bWl6ZSB0aGUgbGlzdC4KIAogVGhlIGlkZWEgaXMsIGlmIHVzZXJzIGRvbid0IGN1c3RvbWl6ZSB0 aGUgcHJlbG9hZF9lbmdpbmVzIHdpdGggaWJ1cy1zZXR1cCwKQEAgLTE5LDEzICsxOSwxMyBAQCBJ QlVTX1BSRUxPQURfRU5HSU5FX01PREVfVVNFUiBhbmQgdXNlcnMgY2FuIGN1c3RvbWl6ZSB0aGUg dmFsdWUKIC0tLQogIGRhdGEvaWJ1cy5zY2hlbWFzLmluIHwgICAyNCArKysrKysrKysKICBzZXR1 cC9tYWluLnB5ICAgICAgICB8ICAgNjEgKysrKysrKysrKysrKysrKysrKystLQotIHNldHVwL3Nl dHVwLnVpICAgICAgIHwgICAyMSArKysrKystLQorIHNldHVwL3NldHVwLnVpICAgICAgIHwgICAy MiArKysrKystLQogIHNyYy9pYnVzdHlwZXMuaCAgICAgIHwgICAxMCArKysrCiAgdWkvZ3RrMy9w YW5lbC52YWxhICAgfCAgMTM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCi0gNSBmaWxlcyBjaGFuZ2VkLCAyNDUgaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKKyA1IGZpbGVzIGNoYW5nZWQsIDI0NiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQogCiBkaWZmIC0tZ2l0IGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4gYi9kYXRhL2lidXMuc2No ZW1hcy5pbgotaW5kZXggNWU2YzJkNy4uMjBjMWJjMyAxMDA2NDQKK2luZGV4IDM1OTE2ODcuLjBk MTI3ZDUgMTAwNjQ0CiAtLS0gYS9kYXRhL2lidXMuc2NoZW1hcy5pbgogKysrIGIvZGF0YS9pYnVz LnNjaGVtYXMuaW4KIEBAIC0yLDYgKzIsMzAgQEAKQEAgLTYwLDcgKzYwLDcgQEAgaW5kZXggNWU2 YzJkNy4uMjBjMWJjMyAxMDA2NDQKICAgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVy YWwvcHJlbG9hZF9lbmdpbmVzPC9hcHBseXRvPgogICAgICAgIDxvd25lcj5pYnVzPC9vd25lcj4K IGRpZmYgLS1naXQgYS9zZXR1cC9tYWluLnB5IGIvc2V0dXAvbWFpbi5weQotaW5kZXggNGY1NzEw Ni4uNzYxMjQwNyAxMDA2NDQKK2luZGV4IGYzZmUxYzUuLmI3ODMzZTMgMTAwNjQ0CiAtLS0gYS9z ZXR1cC9tYWluLnB5CiArKysgYi9zZXR1cC9tYWluLnB5CiBAQCAtMTgxLDYgKzE4MSwyMCBAQCBj bGFzcyBTZXR1cChvYmplY3QpOgpAQCAtMTYwLDEyICsxNjAsMTIgQEAgaW5kZXggNGY1NzEwNi4u NzYxMjQwNyAxMDA2NDQKICAgICAgZGVmIF9fY29uZmlnX3JlbG9hZGVkX2NiKHNlbGYsIGJ1cyk6 CiAgICAgICAgICBwYXNzCiBkaWZmIC0tZ2l0IGEvc2V0dXAvc2V0dXAudWkgYi9zZXR1cC9zZXR1 cC51aQotaW5kZXggZTM3Y2IzMi4uZmVjMTY0NiAxMDA2NDQKK2luZGV4IDgxMjFkNjIuLjIwMjYx NzIgMTAwNjQ0CiAtLS0gYS9zZXR1cC9zZXR1cC51aQogKysrIGIvc2V0dXAvc2V0dXAudWkKLUBA IC01ODUsNyArNTg1LDIyIEBACitAQCAtNjUzLDcgKzY1MywyMyBAQAogICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgotICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0aW9uIj52ZXJ0aWNhbDwvcHJvcGVy dHk+CisgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxz ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CiAtICAgICAgICAgICAg ICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0hCb3giIGlkPSJoYm94MSI+CiArICAgICAgICAg ICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY2hlY2tidXR0 b25fcHJlbG9hZF9lbmdpbmVfbW9kZSI+CkBAIC0xNzksMjcgKzE3OSwyOCBAQCBpbmRleCBlMzdj YjMyLi5mZWMxNjQ2IDEwMDY0NAogKyAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KICsg ICAgICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+CiArICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmaWxsIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjA8L3Byb3BlcnR5Pgog KyAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+CiArICAgICAgICAgICAgICAgICAgICA8 L2NoaWxkPgogKyAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgogKyAgICAgICAgICAgICAgICAg ICAgICA8b2JqZWN0IGNsYXNzPSJHdGtIQm94IiBpZD0iaGJveF9jdXN0b21pemVfYWN0aXZlX2lu cHV0X21ldGhvZHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2 aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0i R3RrQWxpZ25tZW50IiBpZD0iYWxpZ25tZW50NiI+Ci1AQCAtNzUyLDcgKzc2Nyw3IEBACi0gICAg ICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgPC9v YmplY3Q+CitAQCAtODQyLDcgKzg1OCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgIDxwYWNr aW5nPgorICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPlRy dWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJm aWxsIj5UcnVlPC9wcm9wZXJ0eT4KIC0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0icG9zaXRpb24iPjA8L3Byb3BlcnR5PgogKyAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAg ICAgIDwvcGFja2luZz4KICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICAg ICAgICAgICAgICA8Y2hpbGQ+Ci1AQCAtNzkxLDcgKzgwNiw3IEBAIFlvdSBtYXkgdXNlIHVwL2Rv d24gYnV0dG9ucyB0byBjaGFuZ2UgaXQuJmx0Oy9pJmd0OyZsdDsvc21hbGwmZ3Q7PC9wcm9wZXJ0 eT4KLSAgICAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CitAQCAtODg5LDcgKzkwNSw3IEBA IFlvdSBtYXkgdXNlIHVwL2Rvd24gYnV0dG9ucyB0byBjaGFuZ2UgaXQuJmx0Oy9pJmd0OyZsdDsv c21hbGwmZ3Q7PC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3By b3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmaWxsIj5U cnVlPC9wcm9wZXJ0eT4KIC0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i cG9zaXRpb24iPjE8L3Byb3BlcnR5PgogKyAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJwb3NpdGlvbiI+MjwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwv cGFja2luZz4KQEAgLTIyNywxMCArMjI4LDEwIEBAIGluZGV4IGQ5MTYyNjUuLjQyMmViODQgMTAw NjQ0CiAgICogQHg6IHggY29vcmRpbmF0ZS4KICAgKiBAeTogeSBjb29yZGluYXRlLgogZGlmZiAt LWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwudmFsYQotaW5kZXggYzA4 ZjE4OC4uMWFkYjc4YiAxMDA2NDQKK2luZGV4IDJlY2Q0OGIuLjI0YWNkNGMgMTAwNjQ0CiAtLS0g YS91aS9ndGszL3BhbmVsLnZhbGEKICsrKyBiL3VpL2d0azMvcGFuZWwudmFsYQotQEAgLTIxNSw2 ICsyMTUsOCBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKK0BAIC0yNzksNiAr Mjc5LDggQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CiAgICAgICAgICBpZiAo bV9jb25maWcgIT0gbnVsbCkgewogICAgICAgICAgICAgIG1fY29uZmlnLnZhbHVlX2NoYW5nZWQu Y29ubmVjdChjb25maWdfdmFsdWVfY2hhbmdlZF9jYik7CiAgICAgICAgICAgICAgbV9jb25maWcu d2F0Y2goImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIik7CkBAIC0yMzksNyArMjQwLDcgQEAg aW5kZXggYzA4ZjE4OC4uMWFkYjc4YiAxMDA2NDQKICAgICAgICAgICAgICBtX2NvbmZpZy53YXRj aCgiZ2VuZXJhbCIsICJlbmdpbmVzX29yZGVyIik7CiAgICAgICAgICAgICAgbV9jb25maWcud2F0 Y2goInBhbmVsIiwgImN1c3RvbV9mb250Iik7CiAgICAgICAgICAgICAgbV9jb25maWcud2F0Y2go InBhbmVsIiwgInVzZV9jdXN0b21fZm9udCIpOwotQEAgLTI3NCw3ICsyNzYsMTM2IEBAIGNsYXNz IFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworQEAgLTMzOCw3ICszNDAsMTM2IEBAIGNsYXNz IFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAgICAgICAgICAgIGluaXRfZ2tiZCgpOwog ICAgICAgICAgfQogIApAQCAtMzc2LDcgKzM3Nyw3IEBAIGluZGV4IGMwOGYxODguLjFhZGI3OGIg MTAwNjQ0CiAgICAgIH0KICAKICAgICAgcHJpdmF0ZSB2b2lkIHVwZGF0ZV94a2JfZW5naW5lcygp IHsKLUBAIC00NDksNiArNTgwLDExIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ug eworQEAgLTQ5OSw2ICs2MzAsMTEgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgc2VjdGlv biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyBuYW1l LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFudCB2YXJp YW50KSB7CkBAIC0zODksNSArMzkwLDUgQEAgaW5kZXggYzA4ZjE4OC4uMWFkYjc4YiAxMDA2NDQK ICAgICAgICAgICAgICB1cGRhdGVfZW5naW5lcyh2YXJpYW50LCBudWxsKTsKICAgICAgICAgICAg ICByZXR1cm47CiAtLSAKLTEuNy4xMAorMS43LjEwLjQKIAoKZGlmZiAtLWdpdCBhL2lidXMtNTQx NDkyLXhrYi5wYXRjaCBiL2lidXMtNTQxNDkyLXhrYi5wYXRjaAppbmRleCBjNDE5ZGJkLi5jZDU3 MGVkIDEwMDY0NAotLS0gYS9pYnVzLTU0MTQ5Mi14a2IucGF0Y2gKKysrIGIvaWJ1cy01NDE0OTIt eGtiLnBhdGNoCkBAIC0xLDM3ICsxLDM5IEBACi1Gcm9tIDgxMTU1OTJjNDkxZWQwYmZkNjBkZjE1 ZDEwOWRkYTJkN2FlMWRiYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE4NGY2OGQx MjA0OWU4NTU0ZmU3ZTQ0ZDFjYTFiNTNmMGYzOTFmMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQs IDkgTWF5IDIwMTIgMTk6MjM6MTEgKzA5MDAKK0RhdGU6IFR1ZSwgMTcgSnVsIDIwMTIgMTc6NDI6 NDkgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIGlidXMteGtiIGFuZCBsaWJnbm9tZWtiZC4K IAogLS0tCi0gY2xpZW50L3gxMS9nZGstcHJpdmF0ZS5jICAgICAgIHwgICAgMyArLQotIGNvbmZp Z3VyZS5hYyAgICAgICAgICAgICAgICAgICB8ICAgNTkgKysrKysKLSBkYXRhL2lidXMuc2NoZW1h cy5pbiAgICAgICAgICAgfCAgMTAyICsrKysrKysrCi0gZW5naW5lL01ha2VmaWxlLmFtICAgICAg ICAgICAgIHwgICAyMCArKwotIGVuZ2luZS9pYnVzLXhrYi1tYWluLmMgICAgICAgICB8ICAxMTEg KysrKysrKysrCi0gZW5naW5lL21haW4udmFsYSAgICAgICAgICAgICAgIHwgICA4NiArKysrKysr Ci0gZW5naW5lL3NpbXBsZS54bWwuaW4uaW4gICAgICAgIHwgIDUzMSArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZW5naW5lL3hrYmxpYi5jICAgICAgICAgICAgICAg IHwgIDMyNyArKysrKysrKysrKysrKysrKysrKysrKysrCi0gZW5naW5lL3hrYmxpYi5oICAgICAg ICAgICAgICAgIHwgICA0MSArKysrCi0gaWJ1cy0xLjAucGMuaW4gICAgICAgICAgICAgICAgIHwg ICAgNCArCi0gc2V0dXAvbWFpbi5weSAgICAgICAgICAgICAgICAgIHwgICAyNSArLQotIHNyYy9N YWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8ICAgIDUgKwotIHNyYy9pYnVzLmggICAgICAgICAg ICAgICAgICAgICB8ICAgIDEgKwotIHNyYy9pYnVzeGtieG1sLmMgICAgICAgICAgICAgICB8ICA0 NjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvaWJ1c3hrYnhtbC5o ICAgICAgICAgICAgICAgfCAgMTg3ICsrKysrKysrKysrKysrCi0gdWkvZ3RrMy9Ha2JkLTMuMC5t ZXRhZGF0YSAgICAgIHwgICAgMSArCi0gdWkvZ3RrMy9NYWtlZmlsZS5hbSAgICAgICAgICAgIHwg ICA0OCArKysrCi0gdWkvZ3RrMy9Ya2wtMS4wLm1ldGFkYXRhICAgICAgIHwgICAgMyArCi0gdWkv Z3RrMy9na2JkbGF5b3V0LnZhbGEuZmFsc2UgIHwgICA2MyArKysrKwotIHVpL2d0azMvZ2tiZGxh eW91dC52YWxhLnRydWUgICB8ICAxMTEgKysrKysrKysrCi0gdWkvZ3RrMy9rZXliaW5kaW5nbWFu YWdlci52YWxhIHwgICAgNCArCi0gdWkvZ3RrMy9wYW5lbC52YWxhICAgICAgICAgICAgIHwgIDI3 OSArKysrKysrKysrKysrKysrKysrLS0KLSB1aS9ndGszL3N3aXRjaGVyLnZhbGEgICAgICAgICAg fCAgIDUzICsrKy0KLSB1aS9ndGszL3hrYmxheW91dC52YWxhICAgICAgICAgfCAgNDY2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMjQgZmlsZXMgY2hhbmdlZCwgMjQzMyBp bnNlcnRpb25zKCspLCA1NjMgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2lu ZS9pYnVzLXhrYi1tYWluLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZW5naW5lL3hrYmxpYi5jCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2luZS94a2JsaWIuaAorIGNsaWVudC94MTEvZ2RrLXByaXZh dGUuYyAgICAgICAgfCAgICAzICstCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICB8 ICAgNjAgKysrKysKKyBkYXRhL2lidXMuc2NoZW1hcy5pbiAgICAgICAgICAgIHwgIDEwMiArKysr KysrKworIGVuZ2luZS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgfCAgICA2ICsKKyBlbmdpbmUv aWJ1cy14a2IvTWFrZWZpbGUuYW0gICAgIHwgICA2NCArKysrKworIGVuZ2luZS9pYnVzLXhrYi9p YnVzLXhrYi1tYWluLmMgfCAgMTExICsrKysrKysrCisgZW5naW5lL2lidXMteGtiL3hrYmxpYi5j ICAgICAgICB8ICAzMjcgKysrKysrKysrKysrKysrKysrKysrKysrCisgZW5naW5lL2lidXMteGti L3hrYmxpYi5oICAgICAgICB8ICAgNDEgKysrCisgZW5naW5lL21haW4udmFsYSAgICAgICAgICAg ICAgICB8ICAgODYgKysrKysrKworIGVuZ2luZS9zaW1wbGUueG1sLmluLmluICAgICAgICAgfCAg NTMxICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGlidXMtMS4wLnBj LmluICAgICAgICAgICAgICAgICAgfCAgICA0ICsKKyBpYnVzLnNwZWMuaW4gICAgICAgICAgICAg ICAgICAgIHwgICAxMiArCisgc2V0dXAvbWFpbi5weSAgICAgICAgICAgICAgICAgICB8ICAgMjUg Ky0KKyBzcmMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgIHwgICAgNSArCisgc3JjL2lidXMu aCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKworIHNyYy9pYnVzeGtieG1sLmMgICAgICAg ICAgICAgICAgfCAgNDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzcmMv aWJ1c3hrYnhtbC5oICAgICAgICAgICAgICAgIHwgIDE4NyArKysrKysrKysrKysrKworIHVpL2d0 azMvR2tiZC0zLjAubWV0YWRhdGEgICAgICAgfCAgICAxICsKKyB1aS9ndGszL01ha2VmaWxlLmFt ICAgICAgICAgICAgIHwgICA0OCArKysrCisgdWkvZ3RrMy9Ya2wtMS4wLm1ldGFkYXRhICAgICAg ICB8ICAgIDMgKworIHVpL2d0azMvZ2tiZGxheW91dC52YWxhLmZhbHNlICAgfCAgIDYzICsrKysr CisgdWkvZ3RrMy9na2JkbGF5b3V0LnZhbGEudHJ1ZSAgICB8ICAxMTEgKysrKysrKysKKyB1aS9n dGszL3BhbmVsLnZhbGEgICAgICAgICAgICAgIHwgIDM1NiArKysrKysrKysrKysrKysrKysrKysr LS0tLQorIHVpL2d0azMvc3dpdGNoZXIudmFsYSAgICAgICAgICAgfCAgIDQ3ICsrLS0KKyB1aS9n dGszL3hrYmxheW91dC52YWxhICAgICAgICAgIHwgIDQ2NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgMjUgZmlsZXMgY2hhbmdlZCwgMjUxOCBpbnNlcnRpb25zKCspLCA2MDgg ZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2luZS9pYnVzLXhrYi9NYWtlZmls ZS5hbQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbmdpbmUvaWJ1cy14a2IvaWJ1cy14a2ItbWFpbi5j CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2luZS9pYnVzLXhrYi94a2JsaWIuYworIGNyZWF0ZSBt b2RlIDEwMDY0NCBlbmdpbmUvaWJ1cy14a2IveGtibGliLmgKICBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL2lidXN4a2J4bWwuYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaWJ1c3hrYnhtbC5oCiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IHVpL2d0azMvR2tiZC0zLjAubWV0YWRhdGEKQEAgLTU1LDcgKzU3 LDcgQEAgaW5kZXggMDA5YTViMC4uMjA2ODljMyAxMDA2NDQKICAjZW5kaWYKICAKIGRpZmYgLS1n aXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDg0OThlZmUuLjczMWNkZjUg MTAwNjQ0CitpbmRleCA4NDk4ZWZlLi4yMjA0NzE1IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFj CiArKysgYi9jb25maWd1cmUuYWMKIEBAIC0yNTIsNiArMjUyLDYzIEBAIGVsc2UKQEAgLTEyMiw3 ICsxMjQsMTUgQEAgaW5kZXggODQ5OGVmZS4uNzMxY2RmNSAxMDA2NDQKICAjIEdPYmplY3QgaW50 cm9zcGVjdGlvbgogIEdPQkpFQ1RfSU5UUk9TUEVDVElPTl9DSEVDSyhbMC42LjhdKQogIAotQEAg LTU3NCw1ICs2MzEsNyBAQCBCdWlsZCBvcHRpb25zOgorQEAgLTUxNCw2ICs1NzEsNyBAQCBzcmMv aWJ1c3ZlcnNpb24uaAorIHNyYy90ZXN0cy9NYWtlZmlsZQorIGJ1cy9NYWtlZmlsZQorIGVuZ2lu ZS9NYWtlZmlsZQorK2VuZ2luZS9pYnVzLXhrYi9NYWtlZmlsZQorIGVuZ2luZS9zaW1wbGUueG1s LmluCisgdXRpbC9NYWtlZmlsZQorIHV0aWwvSU1ka2l0L01ha2VmaWxlCitAQCAtNTc0LDUgKzYz Miw3IEBAIEJ1aWxkIG9wdGlvbnM6CiAgICBQYW5lbCBpY29uICAgICAgICAgICAgICAgICIkSUJV U19JQ09OX0tFWUJPQVJEIgogICAgRW5hYmxlIHN1cnJvdW5kaW5nLXRleHQgICAkZW5hYmxlX3N1 cnJvdW5kaW5nX3RleHQKICAgIFJ1biB0ZXN0IGNhc2VzICAgICAgICAgICAgJGVuYWJsZV90ZXN0 cwpAQCAtMTMxLDEwICsxNDEsNjMgQEAgaW5kZXggODQ5OGVmZS4uNzMxY2RmNSAxMDA2NDQKICBd KQogIAogZGlmZiAtLWdpdCBhL2RhdGEvaWJ1cy5zY2hlbWFzLmluIGIvZGF0YS9pYnVzLnNjaGVt YXMuaW4KLWluZGV4IDUzYmEwNWMuLjVlNmMyZDcgMTAwNjQ0CitpbmRleCA1M2JhMDVjLi4zNTkx Njg3IDEwMDY0NAogLS0tIGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4KICsrKyBiL2RhdGEvaWJ1cy5z Y2hlbWFzLmluCi1AQCAtMzQsNiArMzQsNjIgQEAKK0BAIC0yNiw2ICsyNiw1MiBAQAorICAgICAg IDwvbG9jYWxlPgorICAgICA8L3NjaGVtYT4KKyAgICAgPHNjaGVtYT4KKysgICAgICA8a2V5Pi9z Y2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3VzZV94bW9kbWFwPC9rZXk+CisrICAgICAgPGFw cGx5dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3VzZV94bW9kbWFwPC9hcHBseXRvPgorKyAgICAg IDxvd25lcj5pYnVzPC9vd25lcj4KKysgICAgICA8dHlwZT5ib29sPC90eXBlPgorKyAgICAgIDxk ZWZhdWx0PnRydWU8L2RlZmF1bHQ+CisrICAgICAgPGxvY2FsZSBuYW1lPSJDIj4KKysgICAgICAg IDxzaG9ydD5Vc2UgeG1vZG1hcDwvc2hvcnQ+CisrICAgICAgICAgICA8bG9uZz5SdW4geG1vZG1h cCBpZiAueG1vZG1hcC8uWG1vZG1hcCBleGlzdHMuPC9sb25nPgorKyAgICAgIDwvbG9jYWxlPgor KyAgICA8L3NjaGVtYT4KKysgICAgPHNjaGVtYT4KKysgICAgICA8a2V5Pi9zY2hlbWFzL2Rlc2t0 b3AvaWJ1cy9nZW5lcmFsL3hrYl9sYXRpbl9sYXlvdXRzPC9rZXk+CisrICAgICAgPGFwcGx5dG8+ L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3hrYl9sYXRpbl9sYXlvdXRzPC9hcHBseXRvPgorKyAgICAg IDxvd25lcj5pYnVzPC9vd25lcj4KKysgICAgICA8dHlwZT5saXN0PC90eXBlPgorKyAgICAgIDxs aXN0X3R5cGU+c3RyaW5nPC9saXN0X3R5cGU+CisrICAgICAgPGRlZmF1bHQ+W2FyYSxiZyxjeixk ZXYsZ3IsZ3VyLGluLGpwKGthbmEpLG1hbCxta2QscnUsdWFdPC9kZWZhdWx0PgorKyAgICAgIDxs b2NhbGUgbmFtZT0iQyI+CisrICAgICAgICA8c2hvcnQ+TGF0aW4gbGF5b3V0IHdoaWNoIGhhdmUg bm8gQVNDSUk8L3Nob3J0PgorKyAgICAgICAgICAgPGxvbmc+dXMgbGF5b3V0IGlzIGFwcGVuZGVk IHRvIHRoZSBsYXRpbiBsYXlvdXRzLiB2YXJpYW50IGlzIG5vdCBuZWVkZWQuPC9sb25nPgorKyAg ICAgIDwvbG9jYWxlPgorKyAgICA8L3NjaGVtYT4KKysgICAgPHNjaGVtYT4KKysgICAgICA8a2V5 Pi9zY2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2xvYWRfeGtiX2xheW91dHM8L2tleT4KKysg ICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvbG9hZF94a2JfbGF5b3V0czwvYXBw bHl0bz4KKysgICAgICA8b3duZXI+aWJ1czwvb3duZXI+CisrICAgICAgPHR5cGU+bGlzdDwvdHlw ZT4KKysgICAgICA8bGlzdF90eXBlPnN0cmluZzwvbGlzdF90eXBlPgorKyAgICAgIDxkZWZhdWx0 Plt1cyx1cyhjaHIpLHVzKGR2b3JhayksYWQsYWwsYW0sYXJhLGF6LGJhLGJkLGJlLGJnLGJyLGJ0 LGJ5LAorK2RlLGRrLGNhLGNoLGNuKHRpYiksY3osZWUsZXBvLGVzLGV0LGZpLGZvLGZyLAorK2di LGdlLGdlKGRzYiksZ2UocnUpLGdlKG9zKSxnaCxnaChha2FuKSxnaChld2UpLGdoKGZ1bGEpLGdo KGdhKSxnaChoYXVzYSksCisrZ24sZ3IsaHUsaHIsaWUsaWUoQ2xvR2FlbGFjaCksaWwsCisraW4s CisraW4odGVsKSxpbihib2xuYWdyaSksaXEsaXEoa3UpLGlyLGlyKGt1KSxpcyxpdCxqcCwKKytr ZyxraCxreixsYSxsYXRhbSxsayxsayh0YW1fdW5pY29kZSksbHQsbHYsbWEsbWEodGlmaW5hZ2gp LG1hbCxtYW8sCisrbWUsbWssbW0sbXQsbXYsbmcsbmcoaGF1c2EpLG5nLG5nKGlnYm8pLG5nKHlv cnViYSksbmwsbm8sbm8oc21pKSxucCwKKytwayxwbCxwbChjc2IpLHB0LHJvLHJzLHJ1LHJ1KGN2 KSxydShrb20pLHJ1KHNhaCkscnUodHQpLHJ1KHhhbCksCisrc2Usc2ksc2ssc3ksc3koa3UpLHRo LHRqLHRyLHVhLHV6LHZuCisrXTwvZGVmYXVsdD4KKysgICAgICA8bG9jYWxlIG5hbWU9IkMiPgor KyAgICAgICAgPHNob3J0PlhLQiBsYXlvdXQgbGlzdCB3aGljaCBpcyBzaG93biBvbiBpYnVzLXNl dHVwPC9zaG9ydD4KKysgICAgICAgICAgIDxsb25nPlhLQiBsYXlvdXQgbGlzdCB3aGljaCBpcyBz aG93biBvbiBpYnVzLXNldHVwLgorKyAgICAgICAgICAgICAgICAgVGhlIGZvcm1hdCBpcyAibGF5 b3V0IiBvciAibGF5b3V0KHZhcmlhbnQpIi48L2xvbmc+CisrICAgICAgPC9sb2NhbGU+CisrICAg IDwvc2NoZW1hPgorKyAgICA8c2NoZW1hPgorICAgICAgIDxrZXk+L3NjaGVtYXMvZGVza3RvcC9p YnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXI8L2tleT4KKyAgICAgICA8YXBwbHl0bz4vZGVza3Rv cC9pYnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXI8L2FwcGx5dG8+CisgICAgICAgPG93bmVyPmli dXM8L293bmVyPgorQEAgLTM0LDYgKzgwLDYyIEBACiAgICAgICAgPGRlZmF1bHQ+W0NvbnRyb2wr c3BhY2UsWmVua2FrdV9IYW5rYWt1LEFsdCtLYW5qaSxBbHQrZ3JhdmUsSGFuZ3VsLEFsdCtSZWxl YXNlK0FsdF9SXTwvZGVmYXVsdD4KICAgICAgICA8bG9jYWxlIG5hbWU9IkMiPgogICAgICAgICAg PHNob3J0PlRyaWdnZXIgc2hvcnRjdXQga2V5czwvc2hvcnQ+CkBAIC0xOTcsOTUgKzI2MCw5OCBA QCBpbmRleCA1M2JhMDVjLi41ZTZjMmQ3IDEwMDY0NAogIAkgICAgPGxvbmc+VGhlIHNob3J0Y3V0 IGtleXMgZm9yIHR1cm5pbmcgaW5wdXQgbWV0aG9kIG9uIG9yIG9mZjwvbG9uZz4KICAgICAgICA8 L2xvY2FsZT4KICAgICAgPC9zY2hlbWE+Ci1AQCAtMjAzLDYgKzI1OSw1MiBAQAotICAgICAgIDwv bG9jYWxlPgotICAgICA8L3NjaGVtYT4KLSAgICAgPHNjaGVtYT4KLSsgICAgICA8a2V5Pi9zY2hl bWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3VzZV94bW9kbWFwPC9rZXk+Ci0rICAgICAgPGFwcGx5 dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3VzZV94bW9kbWFwPC9hcHBseXRvPgotKyAgICAgIDxv d25lcj5pYnVzPC9vd25lcj4KLSsgICAgICA8dHlwZT5ib29sPC90eXBlPgotKyAgICAgIDxkZWZh dWx0PnRydWU8L2RlZmF1bHQ+Ci0rICAgICAgPGxvY2FsZSBuYW1lPSJDIj4KLSsgICAgICAgIDxz aG9ydD5Vc2UgeG1vZG1hcDwvc2hvcnQ+Ci0rICAgICAgICAgICA8bG9uZz5SdW4geG1vZG1hcCBp ZiAueG1vZG1hcC8uWG1vZG1hcCBleGlzdHMuPC9sb25nPgotKyAgICAgIDwvbG9jYWxlPgotKyAg ICA8L3NjaGVtYT4KLSsgICAgPHNjaGVtYT4KLSsgICAgICA8a2V5Pi9zY2hlbWFzL2Rlc2t0b3Av aWJ1cy9nZW5lcmFsL3hrYl9sYXRpbl9sYXlvdXRzPC9rZXk+Ci0rICAgICAgPGFwcGx5dG8+L2Rl c2t0b3AvaWJ1cy9nZW5lcmFsL3hrYl9sYXRpbl9sYXlvdXRzPC9hcHBseXRvPgotKyAgICAgIDxv d25lcj5pYnVzPC9vd25lcj4KLSsgICAgICA8dHlwZT5saXN0PC90eXBlPgotKyAgICAgIDxsaXN0 X3R5cGU+c3RyaW5nPC9saXN0X3R5cGU+Ci0rICAgICAgPGRlZmF1bHQ+W2FyYSxiZyxjeixkZXYs Z3IsZ3VyLGluLGpwKGthbmEpLG1hbCxta2QscnUsdWFdPC9kZWZhdWx0PgotKyAgICAgIDxsb2Nh bGUgbmFtZT0iQyI+Ci0rICAgICAgICA8c2hvcnQ+TGF0aW4gbGF5b3V0IHdoaWNoIGhhdmUgbm8g QVNDSUk8L3Nob3J0PgotKyAgICAgICAgICAgPGxvbmc+dXMgbGF5b3V0IGlzIGFwcGVuZGVkIHRv IHRoZSBsYXRpbiBsYXlvdXRzLiB2YXJpYW50IGlzIG5vdCBuZWVkZWQuPC9sb25nPgotKyAgICAg IDwvbG9jYWxlPgotKyAgICA8L3NjaGVtYT4KLSsgICAgPHNjaGVtYT4KLSsgICAgICA8a2V5Pi9z Y2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2xvYWRfeGtiX2xheW91dHM8L2tleT4KLSsgICAg ICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvbG9hZF94a2JfbGF5b3V0czwvYXBwbHl0 bz4KLSsgICAgICA8b3duZXI+aWJ1czwvb3duZXI+Ci0rICAgICAgPHR5cGU+bGlzdDwvdHlwZT4K LSsgICAgICA8bGlzdF90eXBlPnN0cmluZzwvbGlzdF90eXBlPgotKyAgICAgIDxkZWZhdWx0Plt1 cyx1cyhjaHIpLHVzKGR2b3JhayksYWQsYWwsYW0sYXJhLGF6LGJhLGJkLGJlLGJnLGJyLGJ0LGJ5 LAotK2RlLGRrLGNhLGNoLGNuKHRpYiksY3osZWUsZXBvLGVzLGV0LGZpLGZvLGZyLAotK2diLGdl LGdlKGRzYiksZ2UocnUpLGdlKG9zKSxnaCxnaChha2FuKSxnaChld2UpLGdoKGZ1bGEpLGdoKGdh KSxnaChoYXVzYSksCi0rZ24sZ3IsaHUsaHIsaWUsaWUoQ2xvR2FlbGFjaCksaWwsCi0raW4sCi0r aW4odGVsKSxpbihib2xuYWdyaSksaXEsaXEoa3UpLGlyLGlyKGt1KSxpcyxpdCxqcCwKLStrZyxr aCxreixsYSxsYXRhbSxsayxsayh0YW1fdW5pY29kZSksbHQsbHYsbWEsbWEodGlmaW5hZ2gpLG1h bCxtYW8sCi0rbWUsbWssbW0sbXQsbXYsbmcsbmcoaGF1c2EpLG5nLG5nKGlnYm8pLG5nKHlvcnVi YSksbmwsbm8sbm8oc21pKSxucCwKLStwayxwbCxwbChjc2IpLHB0LHJvLHJzLHJ1LHJ1KGN2KSxy dShrb20pLHJ1KHNhaCkscnUodHQpLHJ1KHhhbCksCi0rc2Usc2ksc2ssc3ksc3koa3UpLHRoLHRq LHRyLHVhLHV6LHZuCi0rXTwvZGVmYXVsdD4KLSsgICAgICA8bG9jYWxlIG5hbWU9IkMiPgotKyAg ICAgICAgPHNob3J0PlhLQiBsYXlvdXQgbGlzdCB3aGljaCBpcyBzaG93biBvbiBpYnVzLXNldHVw PC9zaG9ydD4KLSsgICAgICAgICAgIDxsb25nPlhLQiBsYXlvdXQgbGlzdCB3aGljaCBpcyBzaG93 biBvbiBpYnVzLXNldHVwLgotKyAgICAgICAgICAgICAgICAgVGhlIGZvcm1hdCBpcyAibGF5b3V0 IiBvciAibGF5b3V0KHZhcmlhbnQpIi48L2xvbmc+Ci0rICAgICAgPC9sb2NhbGU+Ci0rICAgIDwv c2NoZW1hPgotKyAgICA8c2NoZW1hPgotICAgICAgIDxrZXk+L3NjaGVtYXMvZGVza3RvcC9pYnVz L3BhbmVsL3VzZV9jdXN0b21fZm9udDwva2V5PgotICAgICAgIDxhcHBseXRvPi9kZXNrdG9wL2li dXMvcGFuZWwvdXNlX2N1c3RvbV9mb250PC9hcHBseXRvPgotICAgICAgIDxvd25lcj5pYnVzPC9v d25lcj4KIGRpZmYgLS1naXQgYS9lbmdpbmUvTWFrZWZpbGUuYW0gYi9lbmdpbmUvTWFrZWZpbGUu YW0KLWluZGV4IGIzYjQ2YmUuLmE5NTczNmIgMTAwNjQ0CitpbmRleCBiM2I0NmJlLi43YTgwNmZj IDEwMDY0NAogLS0tIGEvZW5naW5lL01ha2VmaWxlLmFtCiArKysgYi9lbmdpbmUvTWFrZWZpbGUu YW0KLUBAIC03OCw2ICs3OCwyNiBAQCBjb21wb25lbnRfREFUQSA9IFwKK0BAIC0yMiw2ICsyMiwx MiBAQAogIAotIGNvbXBvbmVudGRpciA9ICQocGtnZGF0YWRpcikvY29tcG9uZW50CisgbGliaWJ1 cyA9ICQodG9wX2J1aWxkZGlyKS9zcmMvbGliaWJ1cy1ASUJVU19BUElfVkVSU0lPTkAubGEKICAK KytTVUJESVJTID0KKysKICtpZiBFTkFCTEVfWEtCCi0rbGliZXhlY19QUk9HUkFNUyArPSBpYnVz LXhrYgorK1NVQkRJUlMgKz0gaWJ1cy14a2IKKytlbmRpZgorKworIElOQ0xVREVTID0gXAorIAkt SSQodG9wX3NyY2Rpcikvc3JjIFwKKyAJLUkkKHRvcF9idWlsZGRpcikvc3JjIFwKK2RpZmYgLS1n aXQgYS9lbmdpbmUvaWJ1cy14a2IvTWFrZWZpbGUuYW0gYi9lbmdpbmUvaWJ1cy14a2IvTWFrZWZp bGUuYW0KK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42NWVkZTM3CistLS0g L2Rldi9udWxsCisrKysgYi9lbmdpbmUvaWJ1cy14a2IvTWFrZWZpbGUuYW0KK0BAIC0wLDAgKzEs NjQgQEAKKysjIHZpbTpzZXQgbm9ldCB0cz00OgorKyMKKysjIGlidXMgLSBUaGUgSW5wdXQgQnVz CisrIworKyMgQ29weXJpZ2h0IChjKSAyMDEyIFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2Fy YTFAZ21haWwuY29tPgorKyMgQ29weXJpZ2h0IChjKSAyMDEyIFJlZCBIYXQsIEluYy4KKysjCisr IyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisrIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisrIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIGxpYnJhcnkgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisrIyBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwKKysjIEJvc3RvbiwgTUEgIDAyMTExLTEz MDcgIFVTQQorKworK2xpYmlidXMgPSAkKHRvcF9idWlsZGRpcikvc3JjL2xpYmlidXMtQElCVVNf QVBJX1ZFUlNJT05ALmxhCisrCisrSU5DTFVERVMgPSBcCisrCS1JJCh0b3Bfc3JjZGlyKS9zcmMg XAorKwktSSQodG9wX2J1aWxkZGlyKS9zcmMgXAorKwkkKE5VTEwpCisrCisrQU1fQ0ZMQUdTID0g XAorKwkkKElOQ0xVREVTKSBcCisrCS1ER19MT0dfRE9NQUlOPVwiSUJVU1wiIFwKKysJLURJQlVT X0RJU0FCTEVfREVQUkVDQVRFRCBcCisrCS1Xbm8tdW51c2VkLXZhcmlhYmxlIFwKKysJLVduby11 bnVzZWQtYnV0LXNldC12YXJpYWJsZSBcCisrCS1Xbm8tdW51c2VkLWZ1bmN0aW9uIFwKKysJJChO VUxMKQorKworK0FNX0xEQUREID0gXAorKwkkKE5VTEwpCisrCisrbGliZXhlY19QUk9HUkFNUyA9 IGlidXMteGtiCisrCiAraWJ1c194a2JfU09VUkNFUyA9IFwKLSsgICAgaWJ1cy14a2ItbWFpbi5j IFwKLSsgICAgeGtibGliLmggXAotKyAgICB4a2JsaWIuYyBcCi0rICAgICQoTlVMTCkKKysJaWJ1 cy14a2ItbWFpbi5jIFwKKysJeGtibGliLmggXAorKwl4a2JsaWIuYyBcCisrCSQoTlVMTCkKICtp YnVzX3hrYl9DRkxBR1MgPSBcCi0rICAgIEBYS0JfQ0ZMQUdTQCBcCi0rICAgIEBYMTFfQ0ZMQUdT QCBcCi0rICAgIEBHTElCMl9DRkxBR1NAIFwKLSsgICAgJChOVUxMKQorKwlAWEtCX0NGTEFHU0Ag XAorKwlAWDExX0NGTEFHU0AgXAorKwlAR0xJQjJfQ0ZMQUdTQCBcCisrCSQoTlVMTCkKICtpYnVz X3hrYl9MREFERCA9IFwKLSsgICAgQFhLQl9MSUJTQCBcCi0rICAgIEBYMTFfTElCU0AgXAotKyAg ICBAR0xJQjJfTElCU0AgXAotKyAgICAkKGxpYmlidXMpIFwKLSsgICAgJChOVUxMKQotK2VuZGlm CisrCUBYS0JfTElCU0AgXAorKwlAWDExX0xJQlNAIFwKKysJQEdMSUIyX0xJQlNAIFwKKysJJChs aWJpYnVzKSBcCisrCSQoTlVMTCkKICsKLSBDTEVBTkZJTEVTID0gXAotIAlzaW1wbGUueG1sIFwK LSAJJChOVUxMKQotZGlmZiAtLWdpdCBhL2VuZ2luZS9pYnVzLXhrYi1tYWluLmMgYi9lbmdpbmUv aWJ1cy14a2ItbWFpbi5jCisrJChsaWJpYnVzKToKKysJJChNQUtFKSAtQyAkKHRvcF9idWlsZGRp cikvc3JjCisrCisrLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9naXQubWsKK2RpZmYgLS1naXQgYS9l bmdpbmUvaWJ1cy14a2IvaWJ1cy14a2ItbWFpbi5jIGIvZW5naW5lL2lidXMteGtiL2lidXMteGti LW1haW4uYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKIGluZGV4IDAwMDAwMDAuLjI1MjllNGQKIC0t LSAvZGV2L251bGwKLSsrKyBiL2VuZ2luZS9pYnVzLXhrYi1tYWluLmMKKysrKyBiL2VuZ2luZS9p YnVzLXhrYi9pYnVzLXhrYi1tYWluLmMKIEBAIC0wLDAgKzEsMTExIEBACiArLyogLSotIG1vZGU6 IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAqLwogKy8q IHZpbTpzZXQgZXQgc3RzPTQ6ICovCkBAIC0zOTgsODMzICs0NjQsMTg5IEBAIGluZGV4IDAwMDAw MDAuLjI1MjllNGQKICsKICsgICAgcmV0dXJuIDA7CiArfQotZGlmZiAtLWdpdCBhL2VuZ2luZS9t YWluLnZhbGEgYi9lbmdpbmUvbWFpbi52YWxhCi1pbmRleCBlMWZkMTI5Li4zNzdmYTJmIDEwMDY0 NAotLS0tIGEvZW5naW5lL21haW4udmFsYQotKysrIGIvZW5naW5lL21haW4udmFsYQotQEAgLTIx LDYgKzIxLDg1IEBACi0gICovCi0gCi0gdXNpbmcgSUJ1czsKLSt1c2luZyBHTGliOworZGlmZiAt LWdpdCBhL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuYyBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIu YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmJiMjU0NTUKKy0tLSAvZGV2 L251bGwKKysrKyBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuYworQEAgLTAsMCArMSwzMjcgQEAK KysvKiAtKi0gbW9kZTogQzsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5p bDsgLSotICovCisrLyogdmltOnNldCBldCBzdHM9NDogKi8KKysvKiBidXMgLSBUaGUgSW5wdXQg QnVzCisrICogQ29weXJpZ2h0IChDKSAyMDEyIFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2Fy YTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAxMiBQZW5nIEh1YW5nIDxzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVkIEhhdCwgSW5jLgor KyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrICoKKysgKiBUaGlz IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4JIFNlZSB0aGUgR05VCisrICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFs b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAq IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKyNpZmRlZiBIQVZFX0NPTkZJR19I CisrI2luY2x1ZGUgPGNvbmZpZy5oPgorKyNlbmRpZgogKwotK3ByaXZhdGUgdm9pZCBwcmludF94 bWwoc3RyaW5nICBsYXlvdXQsCi0rICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgIGxheW91 dF9kZXNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nPyB2YXJpYW50LAotKyAgICAg ICAgICAgICAgICAgICAgICAgc3RyaW5nPyB2YXJpYW50X2Rlc2MsCi0rICAgICAgICAgICAgICAg ICAgICAgICBzdHJpbmcgIGxhbmcpIHsKLSsgICAgc3RyaW5nIG5hbWUgPSAieGtiOiVzOiVzOiVz Ii5wcmludGYobGF5b3V0LCB2YXJpYW50ID8/ICIiLCBsYW5nKTsKLSsgICAgc3RyaW5nIGtleW1h cCA9IGxheW91dDsKLSsgICAgc3RyaW5nIGRlc2MgPSBsYXlvdXRfZGVzYzsKLSsgICAgc3RyaW5n IHN5bWJvbCA9IGxhbmc7CisrI2luY2x1ZGUgPGdsaWIuaD4KKysjaW5jbHVkZSA8WDExL1hsaWIu aD4KKysjaW5jbHVkZSA8WDExL1hhdG9tLmg+CisrI2luY2x1ZGUgPFgxMS9YS0JsaWIuaD4KKysj aW5jbHVkZSA8c3RkaW8uaD4gLyogZm9yIFhLQnJ1bGVzLmggKi8KKysjaW5jbHVkZSA8WDExL2V4 dGVuc2lvbnMvWEtCcnVsZXMuaD4KKysjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWEtCc3RyLmg+ CisrI2luY2x1ZGUgPHN0cmluZy5oPgogKwotKyAgICBpZiAodmFyaWFudCAhPSBudWxsKSB7Ci0r ICAgICAgICBrZXltYXAgPSAiJXMoJXMpIi5wcmludGYobGF5b3V0LCB2YXJpYW50KTsKLSsgICAg fQorKyNpbmNsdWRlICJ4a2JsaWIuaCIKICsKLSsgICAgaWYgKHZhcmlhbnRfZGVzYyAhPSBudWxs KSB7Ci0rICAgICAgICBkZXNjID0gdmFyaWFudF9kZXNjOworKyNpZm5kZWYgWEtCX1JVTEVTX1hN TF9GSUxFCisrI2RlZmluZSBYS0JfUlVMRVNfWE1MX0ZJTEUgIi91c3Ivc2hhcmUvWDExL3hrYi9y dWxlcy9ldmRldi54bWwiCisrI2VuZGlmCisrCisrc3RhdGljIGdjaGFyICAgICAgICAgICoqZGVm YXVsdF9sYXlvdXRzOworK3N0YXRpYyBnY2hhciAgICAgICAgICAqKmRlZmF1bHRfdmFyaWFudHM7 Cisrc3RhdGljIGdjaGFyICAgICAgICAgICoqZGVmYXVsdF9vcHRpb25zOworK3N0YXRpYyBpbnQg ICAgICAgICAgICAgIGRlZmF1bHRfbGF5b3V0X2dyb3VwOworKworK3N0YXRpYyBEaXNwbGF5ICoK KytnZXRfeGRpc3BsYXkgKERpc3BsYXkgKnhkaXNwbGF5KQorK3sKKysgICAgc3RhdGljIERpc3Bs YXkgKnNhdmVkX3hkaXNwbGF5ID0gTlVMTDsKKysgICAgaWYgKHhkaXNwbGF5ICE9IE5VTEwpIHsK KysgICAgICAgIHNhdmVkX3hkaXNwbGF5ID0geGRpc3BsYXk7CiArICAgIH0KKysgICAgcmV0dXJu IHNhdmVkX3hkaXNwbGF5OworK30KICsKLSsgICAgZGVzYyA9IGRlc2MucmVwbGFjZSgiPCIsICIm bHQ7IikucmVwbGFjZSgiPiIsICImZ3Q7Iik7Cisrc3RhdGljIHZvaWQKKytpbml0X3hrYl9kZWZh dWx0X2xheW91dHMgKERpc3BsYXkgKnhkaXNwbGF5KQorK3sKKysgICAgWGtiU3RhdGVSZWMgc3Rh dGU7CisrICAgIEF0b20geGtiX3J1bGVzX25hbWUsIHR5cGU7CisrICAgIGludCBmb3JtYXQ7Cisr ICAgIHVuc2lnbmVkIGxvbmcgbCwgbml0ZW1zLCBieXRlc19hZnRlcjsKKysgICAgdW5zaWduZWQg Y2hhciAqcHJvcCA9IE5VTEw7CiArCi0rICAgIGlmIChsYW5nLmxlbmd0aCA+IDIpIHsKLSsgICAg ICAgIHN5bWJvbCA9IGxhbmdbMDoyXTsKKysgICAgeGtiX3J1bGVzX25hbWUgPSBYSW50ZXJuQXRv bSAoeGRpc3BsYXksICJfWEtCX1JVTEVTX05BTUVTIiwgVFJVRSk7CisrICAgIGlmICh4a2JfcnVs ZXNfbmFtZSA9PSBOb25lKSB7CisrICAgICAgICBnX3dhcm5pbmcgKCJDb3VsZCBub3QgZ2V0IFhL QiBydWxlcyBhdG9tIik7CisrICAgICAgICByZXR1cm47CisrICAgIH0KKysgICAgaWYgKFhHZXRX aW5kb3dQcm9wZXJ0eSAoeGRpc3BsYXksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhE ZWZhdWx0Um9vdFdpbmRvdyAoeGRpc3BsYXkpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4a2JfcnVsZXNfbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMTAyNCwg RkFMU0UsIFhBX1NUUklORywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnR5cGUsICZm b3JtYXQsICZuaXRlbXMsICZieXRlc19hZnRlciwgJnByb3ApICE9IFN1Y2Nlc3MpIHsKKysgICAg ICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBnZXQgWCBwcm9wZXJ0eSIpOworKyAgICAgICAgcmV0 dXJuOworKyAgICB9CisrICAgIGlmIChuaXRlbXMgPCAzKSB7CisrICAgICAgICBnX3dhcm5pbmcg KCJDb3VsZCBub3QgZ2V0IGdyb3VwIGxheW91dCBmcm9tIFggcHJvcGVydHkiKTsKKysgICAgICAg IHJldHVybjsKKysgICAgfQorKyAgICBmb3IgKGwgPSAwOyBsIDwgMjsgbCsrKSB7CisrICAgICAg ICBwcm9wICs9IHN0cmxlbiAoKGNvbnN0IGNoYXIgKikgcHJvcCkgKyAxOworKyAgICB9CisrICAg IGlmIChwcm9wID09IE5VTEwgfHwgKnByb3AgPT0gJ1wwJykgeworKyAgICAgICAgZ193YXJuaW5n ICgiTm8gbGF5b3V0cyBmb3JtIFggcHJvcGVydHkiKTsKKysgICAgICAgIHJldHVybjsKICsgICAg fQorKyAgICBkZWZhdWx0X2xheW91dHMgPSBnX3N0cnNwbGl0ICgoZ2NoYXIgKikgcHJvcCwgIiwi LCAtMSk7CisrICAgIHByb3AgKz0gc3RybGVuICgoY29uc3QgY2hhciAqKSBwcm9wKSArIDE7Cisr ICAgIGRlZmF1bHRfdmFyaWFudHMgPSBnX3N0cnNwbGl0ICgoZ2NoYXIgKikgcHJvcCwgIiwiLCAt MSk7CisrICAgIHByb3AgKz0gc3RybGVuICgoY29uc3QgY2hhciAqKSBwcm9wKSArIDE7CisrICAg IGRlZmF1bHRfb3B0aW9ucyA9IGdfc3Ryc3BsaXQgKChnY2hhciAqKSBwcm9wLCAiLCIsIC0xKTsK ICsKLSsgICAgc3RyaW5nIGVuZ2luZSA9ICIKLSsgICAgICAgICAgICAgIDxlbmdpbmU+Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgPG5hbWU+JXM8L25hbWU+Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgPGxhbmd1YWdlPiVzPC9sYW5ndWFnZT4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Q ZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLSsgICAg ICAgICAgICAgICAgICAgICAgICA8bGF5b3V0PiVzPC9sYXlvdXQ+Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgPGxvbmduYW1lPiVzPC9sb25nbmFtZT4KLSsgICAgICAgICAgICAgICAgICAgICAg ICA8ZGVzY3JpcHRpb24+JXM8L2Rlc2NyaXB0aW9uPgotKyAgICAgICAgICAgICAgICAgICAgICAg IDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgPHN5 bWJvbD4lczwvc3ltYm9sPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxyYW5rPiVkPC9yYW5r PgotKyAgICAgICAgICAgICAgPC9lbmdpbmU+Ii5wcmludGYobmFtZSwgbGFuZywga2V5bWFwLCBk ZXNjLCBkZXNjLCBzeW1ib2wsIDk5KTsKLSsgICAgcHJpbnQgKGVuZ2luZSk7CisrICAgIGlmIChY a2JHZXRTdGF0ZSAoeGRpc3BsYXksIFhrYlVzZUNvcmVLYmQsICZzdGF0ZSkgIT0gU3VjY2Vzcykg eworKyAgICAgICAgZ193YXJuaW5nICgiQ291bGQgbm90IGdldCBzdGF0ZSIpOworKyAgICAgICAg cmV0dXJuOworKyAgICB9CisrICAgIGRlZmF1bHRfbGF5b3V0X2dyb3VwID0gc3RhdGUuZ3JvdXA7 CiArfQogKwotK3ByaXZhdGUgdm9pZCBwcmludF9jb21wb25lbnQoKSB7Ci0rICAgIElCdXMuWEtC Q29uZmlnUmVnaXN0cnkgcmVnaXN0cnkgPSBuZXcgSUJ1cy5YS0JDb25maWdSZWdpc3RyeSgpOwot KyAgICBHTGliLkxpc3QgbGF5b3V0cyA9IHJlZ2lzdHJ5LmxheW91dF9saXN0X2dldF9sYXlvdXRz KCk7Ci0rICAgIEdMaWIuTGlzdCB2YXJpYW50czsKLSsgICAgR0xpYi5MaXN0IGxhbmdzOwotKyAg ICBzdHJpbmcgbGF5b3V0X2Rlc2M7Ci0rICAgIGNvbnN0IHN0cmluZyBoZWFkZXIgPSAiPGVuZ2lu ZXM+IjsKLSsgICAgY29uc3Qgc3RyaW5nIGZvb3RlciA9ICIKLSs8L2VuZ2luZXM+IjsKKytzdGF0 aWMgQm9vbAorK3NldF94a2JfcnVsZXMgKERpc3BsYXkgKnhkaXNwbGF5LAorKyAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKnJ1bGVzX2ZpbGUsIGNvbnN0IGNoYXIgKm1vZGVsLAorKyAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKmFsbF9sYXlvdXRzLCBjb25zdCBjaGFyICphbGxfdmFyaWFudHMs CisrICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYWxsX29wdGlvbnMpCisreworKyAgICBnY2hh ciAqcnVsZXNfcGF0aDsKKysgICAgWGtiUkZfUnVsZXNQdHIgcnVsZXM7CisrICAgIFhrYlJGX1Zh ckRlZnNSZWMgcmRlZnM7CisrICAgIFhrYkNvbXBvbmVudE5hbWVzUmVjIHJuYW1lczsKKysgICAg WGtiRGVzY1B0ciB4a2I7CiArCi0rICAgIHByaW50IChoZWFkZXIpOwotKyAgICBmb3IgKHVub3du ZWQgR0xpYi5MaXN0PHN0cmluZz4gbCA9IGxheW91dHM7IGwgIT0gbnVsbDsgbCA9IGwubmV4dCkg ewotKyAgICAgICAgdmFyaWFudHMgPSByZWdpc3RyeS5sYXlvdXRfbGlzdF9nZXRfdmFyaWFudHMo bC5kYXRhKTsKLSsgICAgICAgIGxhbmdzID0gcmVnaXN0cnkubGF5b3V0X2xhbmdfZ2V0X2xhbmdz KGwuZGF0YSk7Ci0rICAgICAgICBsYXlvdXRfZGVzYyA9IHJlZ2lzdHJ5LmxheW91dF9kZXNjX2dl dF9kZXNjKGwuZGF0YSk7Ci0rICAgICAgICBmb3IgKHVub3duZWQgR0xpYi5MaXN0PHN0cmluZz4g bGcgPSBsYW5nczsgbGcgIT0gbnVsbDsgbGcgPSBsZy5uZXh0KSB7Ci0rICAgICAgICAgICAgcHJp bnRfeG1sKGwuZGF0YSwgbGF5b3V0X2Rlc2MsIG51bGwsIG51bGwsIGxnLmRhdGEpOwotKyAgICAg ICAgfQotKyAgICAgICAgZm9yICh1bm93bmVkIEdMaWIuTGlzdDxzdHJpbmc+IHYgPSB2YXJpYW50 czsgdiAhPSBudWxsOyB2ID0gdi5uZXh0KSB7Ci0rICAgICAgICAgICAgdmFyIGxfdiA9ICIlcygl cykiLnByaW50ZihsLmRhdGEsIHYuZGF0YSk7Ci0rICAgICAgICAgICAgdW5vd25lZCBHTGliLkxp c3Q8c3RyaW5nPiBsX3ZfbGFuZ3MgPSBudWxsOwotKyAgICAgICAgICAgIEdMaWIuTGlzdDxzdHJp bmc+IF9sX3ZfbGFuZ3MgPSByZWdpc3RyeS5sYXlvdXRfbGFuZ19nZXRfbGFuZ3MobF92KTsKLSsg ICAgICAgICAgICBsX3ZfbGFuZ3MgPSBfbF92X2xhbmdzOwotKyAgICAgICAgICAgIGlmIChsX3Zf bGFuZ3MgPT0gbnVsbCkgewotKyAgICAgICAgICAgICAgICBsX3ZfbGFuZ3MgPSBsYW5nczsKLSsg ICAgICAgICAgICB9Ci0rICAgICAgICAgICAgZm9yICh1bm93bmVkIEdMaWIuTGlzdDxzdHJpbmc+ IGxnID0gbF92X2xhbmdzOyBsZyAhPSBudWxsOyBsZyA9IGxnLm5leHQpIHsKLSsgICAgICAgICAg ICAgICAgcHJpbnRfeG1sKGwuZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91 dF9kZXNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgdi5kYXRhLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVnaXN0cnkudmFyaWFudF9kZXNjX2dldF9kZXNjKGxfdiksCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICBsZy5kYXRhKTsKLSsgICAgICAgICAgICB9CisrICAgIHJ1 bGVzX3BhdGggPSBnX3N0cmR1cCAoIi4vcnVsZXMvZXZkZXYiKTsKKysgICAgcnVsZXMgPSBYa2JS Rl9Mb2FkIChydWxlc19wYXRoLCAiQyIsIFRSVUUsIFRSVUUpOworKyAgICBpZiAocnVsZXMgPT0g TlVMTCkgeworKyAgICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKFhLQl9SVUxFU19YTUxfRklM RSAhPSBOVUxMLCBGQUxTRSk7CisrCisrICAgICAgICBnX2ZyZWUgKHJ1bGVzX3BhdGgpOworKyAg ICAgICAgaWYgKGdfc3RyX2hhc19zdWZmaXggKFhLQl9SVUxFU19YTUxfRklMRSwgIi54bWwiKSkg eworKyAgICAgICAgICAgIHJ1bGVzX3BhdGggPSBnX3N0cm5kdXAgKFhLQl9SVUxFU19YTUxfRklM RSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4gKFhLQl9SVUxF U19YTUxfRklMRSkgLSA0KTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgcnVsZXNf cGF0aCA9IGdfc3RyZHVwIChYS0JfUlVMRVNfWE1MX0ZJTEUpOwogKyAgICAgICAgfQorKyAgICAg ICAgcnVsZXMgPSBYa2JSRl9Mb2FkIChydWxlc19wYXRoLCAiQyIsIFRSVUUsIFRSVUUpOwogKyAg ICB9Ci0rICAgIHByaW50IChmb290ZXIpOworKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAocnVs ZXMgIT0gTlVMTCwgRkFMU0UpOworKworKyAgICBtZW1zZXQgKCZyZGVmcywgMCwgc2l6ZW9mIChY a2JSRl9WYXJEZWZzUmVjKSk7CisrICAgIG1lbXNldCAoJnJuYW1lcywgMCwgc2l6ZW9mIChYa2JD b21wb25lbnROYW1lc1JlYykpOworKyAgICByZGVmcy5tb2RlbCA9IG1vZGVsID8gZ19zdHJkdXAg KG1vZGVsKSA6IE5VTEw7CisrICAgIHJkZWZzLmxheW91dCA9IGFsbF9sYXlvdXRzID8gZ19zdHJk dXAgKGFsbF9sYXlvdXRzKSA6IE5VTEw7CisrICAgIHJkZWZzLnZhcmlhbnQgPSBhbGxfdmFyaWFu dHMgPyBnX3N0cmR1cCAoYWxsX3ZhcmlhbnRzKSA6IE5VTEw7CisrICAgIHJkZWZzLm9wdGlvbnMg PSBhbGxfb3B0aW9ucyA/IGdfc3RyZHVwIChhbGxfb3B0aW9ucykgOiBOVUxMOworKyAgICBYa2JS Rl9HZXRDb21wb25lbnRzIChydWxlcywgJnJkZWZzLCAmcm5hbWVzKTsKKysgICAgeGtiID0gWGti R2V0S2V5Ym9hcmRCeU5hbWUgKHhkaXNwbGF5LCBYa2JVc2VDb3JlS2JkLCAmcm5hbWVzLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWGtiR0JOX0FsbENvbXBvbmVudHNNYXNrLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWGtiR0JOX0FsbENvbXBvbmVudHNNYXNr ICYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh+WGtiR0JOX0dlb21ldHJ5TWFz ayksIFRydWUpOworKyAgICBpZiAoIXhrYikgeworKyAgICAgICAgZ193YXJuaW5nICgiQ2Fubm90 IGxvYWQgbmV3IGtleWJvYXJkIGRlc2NyaXB0aW9uLiIpOworKyAgICAgICAgcmV0dXJuIEZBTFNF OworKyAgICB9CisrICAgIFhrYlJGX1NldE5hbWVzUHJvcCAoeGRpc3BsYXksIHJ1bGVzX3BhdGgs ICZyZGVmcyk7CisrICAgIGdfZnJlZSAocnVsZXNfcGF0aCk7CisrICAgIGdfZnJlZSAocmRlZnMu bW9kZWwpOworKyAgICBnX2ZyZWUgKHJkZWZzLmxheW91dCk7CisrICAgIGdfZnJlZSAocmRlZnMu dmFyaWFudCk7CisrICAgIGdfZnJlZSAocmRlZnMub3B0aW9ucyk7CisrCisrICAgIHJldHVybiBU UlVFOwogK30KLSAKLSBjbGFzcyBEdW1teUVuZ2luZSA6IElCdXMuRW5naW5lU2ltcGxlIHsKLSB9 Ci1AQCAtMjgsNiArMTA3LDEzIEBAIGNsYXNzIER1bW15RW5naW5lIDogSUJ1cy5FbmdpbmVTaW1w bGUgewotIHB1YmxpYyBpbnQgbWFpbihzdHJpbmdbXSBhcmdzKSB7Ci0gICAgIElCdXMuaW5pdCgp OwotIAotKyAgICBpZiAoYXJncy5sZW5ndGggPj0gMikgewotKyAgICAgICAgaWYgKGFyZ3NbMV0g PT0gIi0teG1sIiB8fCBhcmdzWzFdID09ICIteCIpIHsKLSsgICAgICAgICAgICBwcmludF9jb21w b25lbnQoKTsKLSsgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KKysKKytzdGF0aWMg Qm9vbAorK3VwZGF0ZV94a2JfcHJvcGVydGllcyAoRGlzcGxheSAqeGRpc3BsYXksCisrICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpydWxlc19maWxlLCBjb25zdCBjaGFyICptb2Rl bCwKKysgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFsbF9sYXlvdXRzLCBjb25z dCBjaGFyICphbGxfdmFyaWFudHMsCisrICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICphbGxfb3B0aW9ucykKKyt7CisrICAgIGludCBsZW47CisrICAgIGNoYXIgKnB2YWw7CisrICAg IGNoYXIgKm5leHQ7CisrICAgIEF0b20gcnVsZXNfYXRvbTsKKysgICAgV2luZG93IHJvb3Rfd2lu ZG93OworKworKyAgICBsZW4gPSAocnVsZXNfZmlsZSA/IHN0cmxlbiAocnVsZXNfZmlsZSkgOiAw KTsKKysgICAgbGVuICs9IChtb2RlbCA/IHN0cmxlbiAobW9kZWwpIDogMCk7CisrICAgIGxlbiAr PSAoYWxsX2xheW91dHMgPyBzdHJsZW4gKGFsbF9sYXlvdXRzKSA6IDApOworKyAgICBsZW4gKz0g KGFsbF92YXJpYW50cyA/IHN0cmxlbiAoYWxsX3ZhcmlhbnRzKSA6IDApOworKyAgICBsZW4gKz0g KGFsbF9vcHRpb25zID8gc3RybGVuIChhbGxfb3B0aW9ucykgOiAwKTsKKysKKysgICAgaWYgKGxl biA8IDEpIHsKKysgICAgICAgIHJldHVybiBUUlVFOwogKyAgICB9Ci0rCi0gICAgIElCdXMuQnVz IGJ1cyA9IG5ldyBJQnVzLkJ1cygpOwotICAgICBpZiAoIWJ1cy5pc19jb25uZWN0ZWQoKSkgewot ICAgICAgICAgd2FybmluZygiaWJ1cy1kYWVtb24gZG9lcyBub3QgZXhpc3QuIik7Ci1kaWZmIC0t Z2l0IGEvZW5naW5lL3NpbXBsZS54bWwuaW4uaW4gYi9lbmdpbmUvc2ltcGxlLnhtbC5pbi5pbgot aW5kZXggMjVkYjU3OC4uN2RlOTQ5YSAxMDA2NDQKLS0tLSBhL2VuZ2luZS9zaW1wbGUueG1sLmlu LmluCi0rKysgYi9lbmdpbmUvc2ltcGxlLnhtbC5pbi5pbgotQEAgLTcsNTM0ICs3LDUgQEAKLSAJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotIAk8aG9tZXBhZ2U+aHR0cDovL2NvZGUuZ29vZ2xlLmNv bS9wL2lidXM8L2hvbWVwYWdlPgotIAk8dGV4dGRvbWFpbj5pYnVzPC90ZXh0ZG9tYWluPgotLQk8 ZW5naW5lcz4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnVzOjplbmc8L25hbWU+Ci0tCQkJ PGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJ CTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRo b3I+Ci0tCQkJPGxheW91dD51czwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5FbmdsaXNoIChVUyk8 L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChVUyk8L2Rlc2NyaXB0aW9uPgot LSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJ PHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGti OnVzOmludGw6ZW5nPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgotLQkJCTxs aWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAu aHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+dXMoaW50bCk8L2xheW91 dD4KLS0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoVVMsIGludGVybmF0aW9uYWwgd2l0aCBkZWFkIGtl eXMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoVVMsIGludGVybmF0aW9u YWwgd2l0aCBkZWFkIGtleXMpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAg ICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9l bmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjp1czpjb2xlbWFrOmVuZzwvbmFtZT4K LS0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+ Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8 L2F1dGhvcj4KLS0JCQk8bGF5b3V0PnVzKGNvbGVtYWspPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1l PkVuZ2xpc2ggKENvbGVtYWspPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAo Q29sZW1hayk8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0J CTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnVzOmR2b3Jhazplbmc8L25hbWU+Ci0tCQkJPGxhbmd1 YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRo b3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0t CQkJPGxheW91dD51cyhkdm9yYWspPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkVuZ2xpc2ggKER2 b3Jhayk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChEdm9yYWspPC9kZXNj cmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9p Y29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJ CTxuYW1lPnhrYjp1czphbHRnci1pbnRsOmVuZzwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZW5nPC9s YW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1 YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0 PnVzKGFsdGdyLWludGwpPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkVuZ2xpc2ggKGludGVybmF0 aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkVuZ2xp c2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvZGVzY3JpcHRpb24+Ci0tICAgICAg ICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45 OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6dXM6YWx0 Z3ItaW50bDplbmc8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxp Y2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD51cyhhbHRnci1pbnRsKTwv bGF5b3V0PgotLQkJCTxsb25nbmFtZT5FbmdsaXNoIChpbnRlcm5hdGlvbmFsIEFsdEdyIGRlYWQg a2V5cyk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChpbnRlcm5hdGlvbmFs IEFsdEdyIGRlYWQga2V5cyk8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAg IDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2Vu Z2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmJlOjpnZXI8L25hbWU+Ci0tCQkJPGxh bmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxh dXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+ Ci0tCQkJPGxheW91dD5iZTwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5CZWxnaWFuPC9sb25nbmFt ZT4KLS0JCQk8ZGVzY3JpcHRpb24+QmVsZ2lhbjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFu az4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6YmU6Om5sZDwvbmFt ZT4KLS0JCQk8bGFuZ3VhZ2U+bmxkPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vu c2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZn dDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmJlPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkJlbGdp YW48L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5CZWxnaWFuPC9kZXNjcmlwdGlvbj4KLS0g ICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxy YW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpi ZTo6ZnJhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5mcmE8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNl PkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdA Z21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+YmU8L2xheW91dD4KLS0JCQk8bG9u Z25hbWU+QmVsZ2lhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkJlbGdpYW48L2Rlc2Ny aXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJ PG5hbWU+eGtiOmJyOjpwb3I8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnBvcjwvbGFuZ3VhZ2U+Ci0t CQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hh d24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5icjwvbGF5b3V0 PgotLQkJCTxsb25nbmFtZT5Qb3J0dWd1ZXNlIChCcmF6aWwpPC9sb25nbmFtZT4KLS0JCQk8ZGVz Y3JpcHRpb24+UG9ydHVndWVzZSAoQnJhemlsKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFu az4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6Ymc6OmJ1bDwvbmFt ZT4KLS0JCQk8bGFuZ3VhZ2U+YnVsPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vu c2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZn dDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmJnPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkJ1bGdh cmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkJ1bGdhcmlhbjwvZGVzY3JpcHRpb24+ Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0J CQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54 a2I6Ymc6cGhvbmV0aWM6YnVsPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5idWw8L2xhbmd1YWdlPgot LQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3No YXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+YmcocGhvbmV0 aWMpPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkJ1bGdhcmlhbiAodHJhZGl0aW9uYWwgcGhvbmV0 aWMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+QnVsZ2FyaWFuICh0cmFkaXRpb25hbCBw aG9uZXRpYyk8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0J CTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmNhOjpmcmE8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmZy YTwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVu ZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxh eW91dD5jYTwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5GcmVuY2ggKENhbmFkYSk8L2xvbmduYW1l PgotLQkJCTxkZXNjcmlwdGlvbj5GcmVuY2ggKENhbmFkYSk8L2Rlc2NyaXB0aW9uPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+ OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmNhOmVu Zzplbmc8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+ R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0Bn bWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5jYShlbmcpPC9sYXlvdXQ+Ci0tCQkJ PGxvbmduYW1lPkVuZ2xpc2ggKENhbmFkYSk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5F bmdsaXNoIChDYW5hZGEpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdp bmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpocjo6c2NyPC9uYW1lPgotLQkJCTxsYW5n dWFnZT5zY3I8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0 aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgot LQkJCTxsYXlvdXQ+aHI8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+Q3JvYXRpYW48L2xvbmduYW1l PgotLQkJCTxkZXNjcmlwdGlvbj5Dcm9hdGlhbjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFu az4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6Y3o6OmN6ZTwvbmFt ZT4KLS0JCQk8bGFuZ3VhZ2U+Y3plPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vu c2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZn dDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmN6PC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkN6ZWNo PC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+Q3plY2g8L2Rlc2NyaXB0aW9uPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+ OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmRrOjpk YW48L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmRhbjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BM PC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFp bC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5kazwvbGF5b3V0PgotLQkJCTxsb25nbmFt ZT5EYW5pc2g8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5EYW5pc2g8L2Rlc2NyaXB0aW9u PgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0t CQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+ eGtiOmVlOjplc3Q8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVzdDwvbGFuZ3VhZ2U+Ci0tCQkJPGxp Y2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5lZTwvbGF5b3V0PgotLQkJ CTxsb25nbmFtZT5Fc3RvbmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkVzdG9uaWFu PC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJv YXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5l PgotLQkJCTxuYW1lPnhrYjpmaTo6ZmluPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5maW48L2xhbmd1 YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcg Jmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+Zmk8 L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+RmlubmlzaDwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPkZpbm5pc2g8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29u PmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4K LS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmZyOjpmcmE8L25hbWU+Ci0tCQkJPGxhbmd1YWdl PmZyYTwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+ UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJ PGxheW91dD5mcjwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5GcmVuY2g8L2xvbmduYW1lPgotLQkJ CTxkZXNjcmlwdGlvbj5GcmVuY2g8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAg ICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8 L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmRlOjpnZXI8L25hbWU+Ci0tCQkJ PGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJ CTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRo b3I+Ci0tCQkJPGxheW91dD5kZTwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5HZXJtYW48L2xvbmdu YW1lPgotLQkJCTxkZXNjcmlwdGlvbj5HZXJtYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAg ICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jh bms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmRlOm5lbzpnZXI8 L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5j b20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5kZShuZW8pPC9sYXlvdXQ+Ci0tCQkJPGxvbmdu YW1lPkdlcm1hbiAoTmVvIDIpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+R2VybWFuIChO ZW8gMik8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMt a2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxl bmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmdyOjpncmU8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmdyZTwv bGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBI dWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91 dD5ncjwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5HcmVlazwvbG9uZ25hbWU+Ci0tCQkJPGRlc2Ny aXB0aW9uPkdyZWVrPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpodTo6aHVuPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT5odW48L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+aHU8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+SHVuZ2FyaWFuPC9sb25nbmFtZT4K LS0JCQk8ZGVzY3JpcHRpb24+SHVuZ2FyaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAg ICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5r PgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjppbDo6aGViPC9uYW1l PgotLQkJCTxsYW5ndWFnZT5oZWI8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5z ZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0 OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+aWw8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+SGVicmV3 PC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+SGVicmV3PC9kZXNjcmlwdGlvbj4KLS0gICAg ICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5r Pjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjppdDo6 aXRhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5pdGE8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+aXQ8L2xheW91dD4KLS0JCQk8bG9uZ25h bWU+SXRhbGlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkl0YWxpYW48L2Rlc2NyaXB0 aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5h bWU+eGtiOmpwOjpqcG48L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmpwbjwvbGFuZ3VhZ2U+Ci0tCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5qcDwvbGF5b3V0Pgot LQkJCTxsb25nbmFtZT5KYXBhbmVzZTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkphcGFu ZXNlPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtl eWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5n aW5lPgotLQkJCTxuYW1lPnhrYjpsYXRhbTo6c3BhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zcGE8 L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlv dXQ+bGF0YW08L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+U3BhbmlzaCAoTGF0aW4gQW1lcmljYW4p PC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+U3BhbmlzaCAoTGF0aW4gQW1lcmljYW4pPC9k ZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgot LQkJCTxuYW1lPnhrYjpsdDo6bGl0PC9uYW1lPgotLQkJCTxsYW5ndWFnZT5saXQ8L2xhbmd1YWdl PgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0 O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+bHQ8L2xh eW91dD4KLS0JCQk8bG9uZ25hbWU+TGl0aHVhbmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPkxpdGh1YW5pYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxp Y29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2lu ZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmx2OmFwb3N0cm9waGU6bGF2PC9uYW1lPgot LQkJCTxsYW5ndWFnZT5sYXY8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4K LS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0Ozwv YXV0aG9yPgotLQkJCTxsYXlvdXQ+bHYoYXBvc3Ryb3BoZSk8L2xheW91dD4KLS0JCQk8bG9uZ25h bWU+TGF0dmlhbiAoYXBvc3Ryb3BoZSB2YXJpYW50KTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPkxhdHZpYW4gKGFwb3N0cm9waGUgdmFyaWFudCk8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAg ICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8 L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnBsOjpwb2w8 L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnBvbDwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5j b20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5wbDwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5Q b2xpc2g8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5Qb2xpc2g8L2Rlc2NyaXB0aW9uPgot LSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJ PHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGti OnB0Ojpwb3I8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnBvcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vu c2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFu Z0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5wdDwvbGF5b3V0PgotLQkJCTxs b25nbmFtZT5Qb3J0dWd1ZXNlPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+UG9ydHVndWVz ZTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXli b2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2lu ZT4KLS0JCQk8bmFtZT54a2I6cm86OnJ1bTwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+cnVtPC9sYW5n dWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5n ICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PnJv PC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPlJvbWFuaWFuPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3Jp cHRpb24+Um9tYW5pYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxp Y29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2lu ZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnJ1OjpydXM8L25hbWU+Ci0tCQkJPGxhbmd1 YWdlPnJ1czwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRo b3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0t CQkJPGxheW91dD5ydTwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5SdXNzaWFuPC9sb25nbmFtZT4K LS0JCQk8ZGVzY3JpcHRpb24+UnVzc2lhbjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAg ICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4K LS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6cnU6cGhvbmV0aWM6cnVz PC9uYW1lPgotLQkJCTxsYW5ndWFnZT5ydXM8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwv bGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwu Y29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+cnUocGhvbmV0aWMpPC9sYXlvdXQ+Ci0tCQkJ PGxvbmduYW1lPlJ1c3NpYW4gKHBob25ldGljKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9u PlJ1c3NpYW4gKHBob25ldGljKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwv ZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6cnM6OnNycDwvbmFtZT4KLS0JCQk8 bGFuZ3VhZ2U+c3JwPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJ PGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhv cj4KLS0JCQk8bGF5b3V0PnJzPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPlNlcmJpYW48L2xvbmdu YW1lPgotLQkJCTxkZXNjcmlwdGlvbj5TZXJiaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAg ICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9y YW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpzaTo6c2x2PC9u YW1lPgotLQkJCTxsYW5ndWFnZT5zbHY8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGlj ZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29t Jmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+c2k8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+U2xv dmVuaWFuPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+U2xvdmVuaWFuPC9kZXNjcmlwdGlv bj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgot LQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1l PnhrYjpzazo6c2xvPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zbG88L2xhbmd1YWdlPgotLQkJCTxs aWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAu aHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+c2s8L2xheW91dD4KLS0J CQk8bG9uZ25hbWU+U2xvdmFrPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+U2xvdmFrPC9k ZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgot LQkJCTxuYW1lPnhrYjplczo6c3BhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zcGE8L2xhbmd1YWdl PgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0 O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+ZXM8L2xh eW91dD4KLS0JCQk8bG9uZ25hbWU+U3BhbmlzaDwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9u PlNwYW5pc2g8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0J CTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmVzOmNhdDpjYXQ8L25hbWU+Ci0tCQkJPGxhbmd1YWdl PmNhdDwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+ UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJ PGxheW91dD5lcyhjYXQpPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkNhdGFsYW4gKFNwYWluLCB3 aXRoIG1pZGRsZS1kb3QgTCk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5DYXRhbGFuIChT cGFpbiwgd2l0aCBtaWRkbGUtZG90IEwpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAg ICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgot LQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpzZTo6c3dlPC9uYW1lPgot LQkJCTxsYW5ndWFnZT5zd2U8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4K LS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0Ozwv YXV0aG9yPgotLQkJCTxsYXlvdXQ+c2U8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+U3dlZGlzaDwv bG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPlN3ZWRpc2g8L2Rlc2NyaXB0aW9uPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+ OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmNoOjpn ZXI8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BM PC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFp bC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5jaDwvbGF5b3V0PgotLQkJCTxsb25nbmFt ZT5HZXJtYW4gKFN3aXR6ZXJsYW5kKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkdlcm1h biAoU3dpdHplcmxhbmQpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdp bmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpjaDpmcjpmcmE8L25hbWU+Ci0tCQkJPGxh bmd1YWdlPmZyYTwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxh dXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+ Ci0tCQkJPGxheW91dD5jaChmcik8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+RnJlbmNoIChTd2l0 emVybGFuZCk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5GcmVuY2ggKFN3aXR6ZXJsYW5k KTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXli b2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2lu ZT4KLS0JCQk8bmFtZT54a2I6dHI6OnR1cjwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+dHVyPC9sYW5n dWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5n ICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PnRy PC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPlR1cmtpc2g8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlw dGlvbj5UdXJraXNoPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjp1YTo6dWtyPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT51a3I8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+dWE8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+VWtyYWluaWFuPC9sb25nbmFtZT4K LS0JCQk8ZGVzY3JpcHRpb24+VWtyYWluaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAg ICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5r PgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpnYjpleHRkOmVuZzwv bmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xp Y2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNv bSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmdiKGV4dGQpPC9sYXlvdXQ+Ci0tCQkJPGxvbmdu YW1lPkVuZ2xpc2ggKFVLLCBleHRlbmRlZCBXaW5LZXlzKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2Ny aXB0aW9uPkVuZ2xpc2ggKFVLLCBleHRlbmRlZCBXaW5LZXlzKTwvZGVzY3JpcHRpb24+Ci0tICAg ICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFu az45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6Z2I6 ZHZvcmFrOmVuZzwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4KLS0JCQk8bGlj ZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1 YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmdiKGR2b3Jhayk8L2xheW91 dD4KLS0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoVUssIER2b3Jhayk8L2xvbmduYW1lPgotLQkJCTxk ZXNjcmlwdGlvbj5FbmdsaXNoIChVSywgRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAg ICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwv cmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6a3I6a3IxMDQ6 a29yPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5rb3I8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+a3Ioa3IxMDQpPC9sYXlvdXQ+Ci0tCQkJ PGxvbmduYW1lPktvcmVhbiAoMTAxLzEwNCBrZXkgY29tcGF0aWJsZSk8L2xvbmduYW1lPgotLQkJ CTxkZXNjcmlwdGlvbj5Lb3JlYW4gKDEwMS8xMDQga2V5IGNvbXBhdGlibGUpPC9kZXNjcmlwdGlv bj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgot LQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCTwvZW5naW5lcz4KLSsJPGVuZ2lu ZXMgZXhlYz1cIiR7bGliZXhlY2Rpcn0vaWJ1cy1lbmdpbmUtc2ltcGxlIC0teG1sXCIgLz4KLSA8 L2NvbXBvbmVudD4KLWRpZmYgLS1naXQgYS9lbmdpbmUveGtibGliLmMgYi9lbmdpbmUveGtibGli LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5iYjI1NDU1Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9lbmdpbmUveGtibGliLmMKLUBAIC0wLDAgKzEsMzI3IEBACi0rLyogLSot IG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAq LwotKy8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0rLyogYnVzIC0gVGhlIElucHV0IEJ1cwotKyAq IENvcHlyaWdodCAoQykgMjAxMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWls LmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0Bn bWFpbC5jb20+Ci0rICogQ29weXJpZ2h0IChDKSAyMDEyIFJlZCBIYXQsIEluYy4KLSsgKgotKyAq IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKLSsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCi0rICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyCi0rICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyAqCi0rICogVGhpcyBsaWJyYXJ5 IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKLSsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuCSBTZWUgdGhlIEdOVQotKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0rICoKLSsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0rICogTGljZW5zZSBhbG9uZyB3aXRo IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSsgKiBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSsgKiBCb3N0b24s IE1BIDAyMTExLTEzMDcsIFVTQS4KLSsgKi8KLSsjaWZkZWYgSEFWRV9DT05GSUdfSAotKyNpbmNs dWRlIDxjb25maWcuaD4KLSsjZW5kaWYKLSsKLSsjaW5jbHVkZSA8Z2xpYi5oPgotKyNpbmNsdWRl IDxYMTEvWGxpYi5oPgotKyNpbmNsdWRlIDxYMTEvWGF0b20uaD4KLSsjaW5jbHVkZSA8WDExL1hL QmxpYi5oPgotKyNpbmNsdWRlIDxzdGRpby5oPiAvKiBmb3IgWEtCcnVsZXMuaCAqLwotKyNpbmNs dWRlIDxYMTEvZXh0ZW5zaW9ucy9YS0JydWxlcy5oPgotKyNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9u cy9YS0JzdHIuaD4KLSsjaW5jbHVkZSA8c3RyaW5nLmg+Ci0rCi0rI2luY2x1ZGUgInhrYmxpYi5o IgotKwotKyNpZm5kZWYgWEtCX1JVTEVTX1hNTF9GSUxFCi0rI2RlZmluZSBYS0JfUlVMRVNfWE1M X0ZJTEUgIi91c3Ivc2hhcmUvWDExL3hrYi9ydWxlcy9ldmRldi54bWwiCi0rI2VuZGlmCi0rCi0r c3RhdGljIGdjaGFyICAgICAgICAgICoqZGVmYXVsdF9sYXlvdXRzOwotK3N0YXRpYyBnY2hhciAg ICAgICAgICAqKmRlZmF1bHRfdmFyaWFudHM7Ci0rc3RhdGljIGdjaGFyICAgICAgICAgICoqZGVm YXVsdF9vcHRpb25zOwotK3N0YXRpYyBpbnQgICAgICAgICAgICAgIGRlZmF1bHRfbGF5b3V0X2dy b3VwOwotKwotK3N0YXRpYyBEaXNwbGF5ICoKLStnZXRfeGRpc3BsYXkgKERpc3BsYXkgKnhkaXNw bGF5KQotK3sKLSsgICAgc3RhdGljIERpc3BsYXkgKnNhdmVkX3hkaXNwbGF5ID0gTlVMTDsKLSsg ICAgaWYgKHhkaXNwbGF5ICE9IE5VTEwpIHsKLSsgICAgICAgIHNhdmVkX3hkaXNwbGF5ID0geGRp c3BsYXk7Ci0rICAgIH0KLSsgICAgcmV0dXJuIHNhdmVkX3hkaXNwbGF5OwotK30KLSsKLStzdGF0 aWMgdm9pZAotK2luaXRfeGtiX2RlZmF1bHRfbGF5b3V0cyAoRGlzcGxheSAqeGRpc3BsYXkpCi0r ewotKyAgICBYa2JTdGF0ZVJlYyBzdGF0ZTsKLSsgICAgQXRvbSB4a2JfcnVsZXNfbmFtZSwgdHlw ZTsKLSsgICAgaW50IGZvcm1hdDsKLSsgICAgdW5zaWduZWQgbG9uZyBsLCBuaXRlbXMsIGJ5dGVz X2FmdGVyOwotKyAgICB1bnNpZ25lZCBjaGFyICpwcm9wID0gTlVMTDsKLSsKLSsgICAgeGtiX3J1 bGVzX25hbWUgPSBYSW50ZXJuQXRvbSAoeGRpc3BsYXksICJfWEtCX1JVTEVTX05BTUVTIiwgVFJV RSk7Ci0rICAgIGlmICh4a2JfcnVsZXNfbmFtZSA9PSBOb25lKSB7Ci0rICAgICAgICBnX3dhcm5p bmcgKCJDb3VsZCBub3QgZ2V0IFhLQiBydWxlcyBhdG9tIik7Ci0rICAgICAgICByZXR1cm47Ci0r ICAgIH0KLSsgICAgaWYgKFhHZXRXaW5kb3dQcm9wZXJ0eSAoeGRpc3BsYXksCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFhEZWZhdWx0Um9vdFdpbmRvdyAoeGRpc3BsYXkpLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB4a2JfcnVsZXNfbmFtZSwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwgMTAyNCwgRkFMU0UsIFhBX1NUUklORywKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnR5cGUsICZmb3JtYXQsICZuaXRlbXMsICZieXRlc19hZnRlciwgJnByb3Ap ICE9IFN1Y2Nlc3MpIHsKLSsgICAgICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBnZXQgWCBwcm9w ZXJ0eSIpOwotKyAgICAgICAgcmV0dXJuOwotKyAgICB9Ci0rICAgIGlmIChuaXRlbXMgPCAzKSB7 Ci0rICAgICAgICBnX3dhcm5pbmcgKCJDb3VsZCBub3QgZ2V0IGdyb3VwIGxheW91dCBmcm9tIFgg cHJvcGVydHkiKTsKLSsgICAgICAgIHJldHVybjsKLSsgICAgfQotKyAgICBmb3IgKGwgPSAwOyBs IDwgMjsgbCsrKSB7Ci0rICAgICAgICBwcm9wICs9IHN0cmxlbiAoKGNvbnN0IGNoYXIgKikgcHJv cCkgKyAxOwotKyAgICB9Ci0rICAgIGlmIChwcm9wID09IE5VTEwgfHwgKnByb3AgPT0gJ1wwJykg ewotKyAgICAgICAgZ193YXJuaW5nICgiTm8gbGF5b3V0cyBmb3JtIFggcHJvcGVydHkiKTsKLSsg ICAgICAgIHJldHVybjsKLSsgICAgfQotKyAgICBkZWZhdWx0X2xheW91dHMgPSBnX3N0cnNwbGl0 ICgoZ2NoYXIgKikgcHJvcCwgIiwiLCAtMSk7Ci0rICAgIHByb3AgKz0gc3RybGVuICgoY29uc3Qg Y2hhciAqKSBwcm9wKSArIDE7Ci0rICAgIGRlZmF1bHRfdmFyaWFudHMgPSBnX3N0cnNwbGl0ICgo Z2NoYXIgKikgcHJvcCwgIiwiLCAtMSk7Ci0rICAgIHByb3AgKz0gc3RybGVuICgoY29uc3QgY2hh ciAqKSBwcm9wKSArIDE7Ci0rICAgIGRlZmF1bHRfb3B0aW9ucyA9IGdfc3Ryc3BsaXQgKChnY2hh ciAqKSBwcm9wLCAiLCIsIC0xKTsKLSsKLSsgICAgaWYgKFhrYkdldFN0YXRlICh4ZGlzcGxheSwg WGtiVXNlQ29yZUtiZCwgJnN0YXRlKSAhPSBTdWNjZXNzKSB7Ci0rICAgICAgICBnX3dhcm5pbmcg KCJDb3VsZCBub3QgZ2V0IHN0YXRlIik7Ci0rICAgICAgICByZXR1cm47Ci0rICAgIH0KLSsgICAg ZGVmYXVsdF9sYXlvdXRfZ3JvdXAgPSBzdGF0ZS5ncm91cDsKLSt9Ci0rCi0rc3RhdGljIEJvb2wK LStzZXRfeGtiX3J1bGVzIChEaXNwbGF5ICp4ZGlzcGxheSwKLSsgICAgICAgICAgICAgICBjb25z dCBjaGFyICpydWxlc19maWxlLCBjb25zdCBjaGFyICptb2RlbCwKLSsgICAgICAgICAgICAgICBj b25zdCBjaGFyICphbGxfbGF5b3V0cywgY29uc3QgY2hhciAqYWxsX3ZhcmlhbnRzLAotKyAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKmFsbF9vcHRpb25zKQotK3sKLSsgICAgZ2NoYXIgKnJ1bGVz X3BhdGg7Ci0rICAgIFhrYlJGX1J1bGVzUHRyIHJ1bGVzOwotKyAgICBYa2JSRl9WYXJEZWZzUmVj IHJkZWZzOwotKyAgICBYa2JDb21wb25lbnROYW1lc1JlYyBybmFtZXM7Ci0rICAgIFhrYkRlc2NQ dHIgeGtiOwotKwotKyAgICBydWxlc19wYXRoID0gZ19zdHJkdXAgKCIuL3J1bGVzL2V2ZGV2Iik7 Ci0rICAgIHJ1bGVzID0gWGtiUkZfTG9hZCAocnVsZXNfcGF0aCwgIkMiLCBUUlVFLCBUUlVFKTsK LSsgICAgaWYgKHJ1bGVzID09IE5VTEwpIHsKLSsgICAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls IChYS0JfUlVMRVNfWE1MX0ZJTEUgIT0gTlVMTCwgRkFMU0UpOwotKwotKyAgICAgICAgZ19mcmVl IChydWxlc19wYXRoKTsKLSsgICAgICAgIGlmIChnX3N0cl9oYXNfc3VmZml4IChYS0JfUlVMRVNf WE1MX0ZJTEUsICIueG1sIikpIHsKLSsgICAgICAgICAgICBydWxlc19wYXRoID0gZ19zdHJuZHVw IChYS0JfUlVMRVNfWE1MX0ZJTEUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RybGVuIChYS0JfUlVMRVNfWE1MX0ZJTEUpIC0gNCk7Ci0rICAgICAgICB9IGVsc2Ugewot KyAgICAgICAgICAgIHJ1bGVzX3BhdGggPSBnX3N0cmR1cCAoWEtCX1JVTEVTX1hNTF9GSUxFKTsK LSsgICAgICAgIH0KLSsgICAgICAgIHJ1bGVzID0gWGtiUkZfTG9hZCAocnVsZXNfcGF0aCwgIkMi LCBUUlVFLCBUUlVFKTsKLSsgICAgfQotKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAocnVsZXMg IT0gTlVMTCwgRkFMU0UpOwotKwotKyAgICBtZW1zZXQgKCZyZGVmcywgMCwgc2l6ZW9mIChYa2JS Rl9WYXJEZWZzUmVjKSk7Ci0rICAgIG1lbXNldCAoJnJuYW1lcywgMCwgc2l6ZW9mIChYa2JDb21w b25lbnROYW1lc1JlYykpOwotKyAgICByZGVmcy5tb2RlbCA9IG1vZGVsID8gZ19zdHJkdXAgKG1v ZGVsKSA6IE5VTEw7Ci0rICAgIHJkZWZzLmxheW91dCA9IGFsbF9sYXlvdXRzID8gZ19zdHJkdXAg KGFsbF9sYXlvdXRzKSA6IE5VTEw7Ci0rICAgIHJkZWZzLnZhcmlhbnQgPSBhbGxfdmFyaWFudHMg PyBnX3N0cmR1cCAoYWxsX3ZhcmlhbnRzKSA6IE5VTEw7Ci0rICAgIHJkZWZzLm9wdGlvbnMgPSBh bGxfb3B0aW9ucyA/IGdfc3RyZHVwIChhbGxfb3B0aW9ucykgOiBOVUxMOwotKyAgICBYa2JSRl9H ZXRDb21wb25lbnRzIChydWxlcywgJnJkZWZzLCAmcm5hbWVzKTsKLSsgICAgeGtiID0gWGtiR2V0 S2V5Ym9hcmRCeU5hbWUgKHhkaXNwbGF5LCBYa2JVc2VDb3JlS2JkLCAmcm5hbWVzLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWGtiR0JOX0FsbENvbXBvbmVudHNNYXNrLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWGtiR0JOX0FsbENvbXBvbmVudHNNYXNrICYK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh+WGtiR0JOX0dlb21ldHJ5TWFzayks IFRydWUpOwotKyAgICBpZiAoIXhrYikgewotKyAgICAgICAgZ193YXJuaW5nICgiQ2Fubm90IGxv YWQgbmV3IGtleWJvYXJkIGRlc2NyaXB0aW9uLiIpOwotKyAgICAgICAgcmV0dXJuIEZBTFNFOwot KyAgICB9Ci0rICAgIFhrYlJGX1NldE5hbWVzUHJvcCAoeGRpc3BsYXksIHJ1bGVzX3BhdGgsICZy ZGVmcyk7Ci0rICAgIGdfZnJlZSAocnVsZXNfcGF0aCk7Ci0rICAgIGdfZnJlZSAocmRlZnMubW9k ZWwpOwotKyAgICBnX2ZyZWUgKHJkZWZzLmxheW91dCk7Ci0rICAgIGdfZnJlZSAocmRlZnMudmFy aWFudCk7Ci0rICAgIGdfZnJlZSAocmRlZnMub3B0aW9ucyk7Ci0rCi0rICAgIHJldHVybiBUUlVF OwotK30KLSsKLStzdGF0aWMgQm9vbAotK3VwZGF0ZV94a2JfcHJvcGVydGllcyAoRGlzcGxheSAq eGRpc3BsYXksCi0rICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpydWxlc19maWxl LCBjb25zdCBjaGFyICptb2RlbCwKLSsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KmFsbF9sYXlvdXRzLCBjb25zdCBjaGFyICphbGxfdmFyaWFudHMsCi0rICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyICphbGxfb3B0aW9ucykKLSt7Ci0rICAgIGludCBsZW47Ci0rICAg IGNoYXIgKnB2YWw7Ci0rICAgIGNoYXIgKm5leHQ7Ci0rICAgIEF0b20gcnVsZXNfYXRvbTsKLSsg ICAgV2luZG93IHJvb3Rfd2luZG93OwotKwotKyAgICBsZW4gPSAocnVsZXNfZmlsZSA/IHN0cmxl biAocnVsZXNfZmlsZSkgOiAwKTsKLSsgICAgbGVuICs9IChtb2RlbCA/IHN0cmxlbiAobW9kZWwp IDogMCk7Ci0rICAgIGxlbiArPSAoYWxsX2xheW91dHMgPyBzdHJsZW4gKGFsbF9sYXlvdXRzKSA6 IDApOwotKyAgICBsZW4gKz0gKGFsbF92YXJpYW50cyA/IHN0cmxlbiAoYWxsX3ZhcmlhbnRzKSA6 IDApOwotKyAgICBsZW4gKz0gKGFsbF9vcHRpb25zID8gc3RybGVuIChhbGxfb3B0aW9ucykgOiAw KTsKLSsKLSsgICAgaWYgKGxlbiA8IDEpIHsKLSsgICAgICAgIHJldHVybiBUUlVFOwotKyAgICB9 Ci0rICAgIGxlbiArPSA1OyAvKiB0cmFpbGluZyBOVUxzICovCisrICAgIGxlbiArPSA1OyAvKiB0 cmFpbGluZyBOVUxzICovCiArCiArICAgIHJ1bGVzX2F0b20gPSBYSW50ZXJuQXRvbSAoeGRpc3Bs YXksIF9YS0JfUkZfTkFNRVNfUFJPUF9BVE9NLCBGYWxzZSk7CiArICAgIHJvb3Rfd2luZG93ID0g WERlZmF1bHRSb290V2luZG93ICh4ZGlzcGxheSk7CkBAIC0xMzc1LDExICs3OTcsMTEgQEAgaW5k ZXggMDAwMDAwMC4uYmIyNTQ1NQogKwogKyAgICByZXR1cm4gc3RhdGUuZ3JvdXA7CiArfQotZGlm ZiAtLWdpdCBhL2VuZ2luZS94a2JsaWIuaCBiL2VuZ2luZS94a2JsaWIuaAorZGlmZiAtLWdpdCBh L2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuaCBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuaAogbmV3 IGZpbGUgbW9kZSAxMDA2NDQKIGluZGV4IDAwMDAwMDAuLjM2NTk3YzMKIC0tLSAvZGV2L251bGwK LSsrKyBiL2VuZ2luZS94a2JsaWIuaAorKysrIGIvZW5naW5lL2lidXMteGtiL3hrYmxpYi5oCiBA QCAtMCwwICsxLDQxIEBACiArLyogLSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRl bnQtdGFicy1tb2RlOiBuaWw7IC0qLSAqLwogKy8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCkBAIC0x NDIyLDYgKzg0NCw2NTAgQEAgaW5kZXggMDAwMDAwMC4uMzY1OTdjMwogKwogK0dfRU5EX0RFQ0xT CiArI2VuZGlmCitkaWZmIC0tZ2l0IGEvZW5naW5lL21haW4udmFsYSBiL2VuZ2luZS9tYWluLnZh bGEKK2luZGV4IGUxZmQxMjkuLjM3N2ZhMmYgMTAwNjQ0CistLS0gYS9lbmdpbmUvbWFpbi52YWxh CisrKysgYi9lbmdpbmUvbWFpbi52YWxhCitAQCAtMjEsNiArMjEsODUgQEAKKyAgKi8KKyAKKyB1 c2luZyBJQnVzOworK3VzaW5nIEdMaWI7CisrCisrcHJpdmF0ZSB2b2lkIHByaW50X3htbChzdHJp bmcgIGxheW91dCwKKysgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyAgbGF5b3V0X2Rlc2Ms CisrICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc/IHZhcmlhbnQsCisrICAgICAgICAgICAg ICAgICAgICAgICBzdHJpbmc/IHZhcmlhbnRfZGVzYywKKysgICAgICAgICAgICAgICAgICAgICAg IHN0cmluZyAgbGFuZykgeworKyAgICBzdHJpbmcgbmFtZSA9ICJ4a2I6JXM6JXM6JXMiLnByaW50 ZihsYXlvdXQsIHZhcmlhbnQgPz8gIiIsIGxhbmcpOworKyAgICBzdHJpbmcga2V5bWFwID0gbGF5 b3V0OworKyAgICBzdHJpbmcgZGVzYyA9IGxheW91dF9kZXNjOworKyAgICBzdHJpbmcgc3ltYm9s ID0gbGFuZzsKKysKKysgICAgaWYgKHZhcmlhbnQgIT0gbnVsbCkgeworKyAgICAgICAga2V5bWFw ID0gIiVzKCVzKSIucHJpbnRmKGxheW91dCwgdmFyaWFudCk7CisrICAgIH0KKysKKysgICAgaWYg KHZhcmlhbnRfZGVzYyAhPSBudWxsKSB7CisrICAgICAgICBkZXNjID0gdmFyaWFudF9kZXNjOwor KyAgICB9CisrCisrICAgIGRlc2MgPSBkZXNjLnJlcGxhY2UoIjwiLCAiJmx0OyIpLnJlcGxhY2Uo Ij4iLCAiJmd0OyIpOworKworKyAgICBpZiAobGFuZy5sZW5ndGggPiAyKSB7CisrICAgICAgICBz eW1ib2wgPSBsYW5nWzA6Ml07CisrICAgIH0KKysKKysgICAgc3RyaW5nIGVuZ2luZSA9ICIKKysg ICAgICAgICAgICAgIDxlbmdpbmU+CisrICAgICAgICAgICAgICAgICAgICAgICAgPG5hbWU+JXM8 L25hbWU+CisrICAgICAgICAgICAgICAgICAgICAgICAgPGxhbmd1YWdlPiVzPC9sYW5ndWFnZT4K KysgICAgICAgICAgICAgICAgICAgICAgICA8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CisrICAgICAg ICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdt YWlsLmNvbSZndDs8L2F1dGhvcj4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bGF5b3V0PiVz PC9sYXlvdXQ+CisrICAgICAgICAgICAgICAgICAgICAgICAgPGxvbmduYW1lPiVzPC9sb25nbmFt ZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24+JXM8L2Rlc2NyaXB0aW9u PgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Cisr ICAgICAgICAgICAgICAgICAgICAgICAgPHN5bWJvbD4lczwvc3ltYm9sPgorKyAgICAgICAgICAg ICAgICAgICAgICAgIDxyYW5rPiVkPC9yYW5rPgorKyAgICAgICAgICAgICAgPC9lbmdpbmU+Ii5w cmludGYobmFtZSwgbGFuZywga2V5bWFwLCBkZXNjLCBkZXNjLCBzeW1ib2wsIDk5KTsKKysgICAg cHJpbnQgKGVuZ2luZSk7CisrfQorKworK3ByaXZhdGUgdm9pZCBwcmludF9jb21wb25lbnQoKSB7 CisrICAgIElCdXMuWEtCQ29uZmlnUmVnaXN0cnkgcmVnaXN0cnkgPSBuZXcgSUJ1cy5YS0JDb25m aWdSZWdpc3RyeSgpOworKyAgICBHTGliLkxpc3QgbGF5b3V0cyA9IHJlZ2lzdHJ5LmxheW91dF9s aXN0X2dldF9sYXlvdXRzKCk7CisrICAgIEdMaWIuTGlzdCB2YXJpYW50czsKKysgICAgR0xpYi5M aXN0IGxhbmdzOworKyAgICBzdHJpbmcgbGF5b3V0X2Rlc2M7CisrICAgIGNvbnN0IHN0cmluZyBo ZWFkZXIgPSAiPGVuZ2luZXM+IjsKKysgICAgY29uc3Qgc3RyaW5nIGZvb3RlciA9ICIKKys8L2Vu Z2luZXM+IjsKKysKKysgICAgcHJpbnQgKGhlYWRlcik7CisrICAgIGZvciAodW5vd25lZCBHTGli Lkxpc3Q8c3RyaW5nPiBsID0gbGF5b3V0czsgbCAhPSBudWxsOyBsID0gbC5uZXh0KSB7CisrICAg ICAgICB2YXJpYW50cyA9IHJlZ2lzdHJ5LmxheW91dF9saXN0X2dldF92YXJpYW50cyhsLmRhdGEp OworKyAgICAgICAgbGFuZ3MgPSByZWdpc3RyeS5sYXlvdXRfbGFuZ19nZXRfbGFuZ3MobC5kYXRh KTsKKysgICAgICAgIGxheW91dF9kZXNjID0gcmVnaXN0cnkubGF5b3V0X2Rlc2NfZ2V0X2Rlc2Mo bC5kYXRhKTsKKysgICAgICAgIGZvciAodW5vd25lZCBHTGliLkxpc3Q8c3RyaW5nPiBsZyA9IGxh bmdzOyBsZyAhPSBudWxsOyBsZyA9IGxnLm5leHQpIHsKKysgICAgICAgICAgICBwcmludF94bWwo bC5kYXRhLCBsYXlvdXRfZGVzYywgbnVsbCwgbnVsbCwgbGcuZGF0YSk7CisrICAgICAgICB9Cisr ICAgICAgICBmb3IgKHVub3duZWQgR0xpYi5MaXN0PHN0cmluZz4gdiA9IHZhcmlhbnRzOyB2ICE9 IG51bGw7IHYgPSB2Lm5leHQpIHsKKysgICAgICAgICAgICB2YXIgbF92ID0gIiVzKCVzKSIucHJp bnRmKGwuZGF0YSwgdi5kYXRhKTsKKysgICAgICAgICAgICB1bm93bmVkIEdMaWIuTGlzdDxzdHJp bmc+IGxfdl9sYW5ncyA9IG51bGw7CisrICAgICAgICAgICAgR0xpYi5MaXN0PHN0cmluZz4gX2xf dl9sYW5ncyA9IHJlZ2lzdHJ5LmxheW91dF9sYW5nX2dldF9sYW5ncyhsX3YpOworKyAgICAgICAg ICAgIGxfdl9sYW5ncyA9IF9sX3ZfbGFuZ3M7CisrICAgICAgICAgICAgaWYgKGxfdl9sYW5ncyA9 PSBudWxsKSB7CisrICAgICAgICAgICAgICAgIGxfdl9sYW5ncyA9IGxhbmdzOworKyAgICAgICAg ICAgIH0KKysgICAgICAgICAgICBmb3IgKHVub3duZWQgR0xpYi5MaXN0PHN0cmluZz4gbGcgPSBs X3ZfbGFuZ3M7IGxnICE9IG51bGw7IGxnID0gbGcubmV4dCkgeworKyAgICAgICAgICAgICAgICBw cmludF94bWwobC5kYXRhLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0X2Rlc2Ms CisrICAgICAgICAgICAgICAgICAgICAgICAgICB2LmRhdGEsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICByZWdpc3RyeS52YXJpYW50X2Rlc2NfZ2V0X2Rlc2MobF92KSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgIGxnLmRhdGEpOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysg ICAgfQorKyAgICBwcmludCAoZm9vdGVyKTsKKyt9CisgCisgY2xhc3MgRHVtbXlFbmdpbmUgOiBJ QnVzLkVuZ2luZVNpbXBsZSB7CisgfQorQEAgLTI4LDYgKzEwNywxMyBAQCBjbGFzcyBEdW1teUVu Z2luZSA6IElCdXMuRW5naW5lU2ltcGxlIHsKKyBwdWJsaWMgaW50IG1haW4oc3RyaW5nW10gYXJn cykgeworICAgICBJQnVzLmluaXQoKTsKKyAKKysgICAgaWYgKGFyZ3MubGVuZ3RoID49IDIpIHsK KysgICAgICAgIGlmIChhcmdzWzFdID09ICItLXhtbCIgfHwgYXJnc1sxXSA9PSAiLXgiKSB7Cisr ICAgICAgICAgICAgcHJpbnRfY29tcG9uZW50KCk7CisrICAgICAgICAgICAgcmV0dXJuIDA7Cisr ICAgICAgICB9CisrICAgIH0KKysKKyAgICAgSUJ1cy5CdXMgYnVzID0gbmV3IElCdXMuQnVzKCk7 CisgICAgIGlmICghYnVzLmlzX2Nvbm5lY3RlZCgpKSB7CisgICAgICAgICB3YXJuaW5nKCJpYnVz LWRhZW1vbiBkb2VzIG5vdCBleGlzdC4iKTsKK2RpZmYgLS1naXQgYS9lbmdpbmUvc2ltcGxlLnht bC5pbi5pbiBiL2VuZ2luZS9zaW1wbGUueG1sLmluLmluCitpbmRleCAyNWRiNTc4Li43ZGU5NDlh IDEwMDY0NAorLS0tIGEvZW5naW5lL3NpbXBsZS54bWwuaW4uaW4KKysrKyBiL2VuZ2luZS9zaW1w bGUueG1sLmluLmluCitAQCAtNyw1MzQgKzcsNSBAQAorIAk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+ CisgCTxob21lcGFnZT5odHRwOi8vY29kZS5nb29nbGUuY29tL3AvaWJ1czwvaG9tZXBhZ2U+Cisg CTx0ZXh0ZG9tYWluPmlidXM8L3RleHRkb21haW4+CistCTxlbmdpbmVzPgorLQkJPGVuZ2luZT4K Ky0JCQk8bmFtZT54a2I6dXM6OmVuZzwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFn ZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZs dDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PnVzPC9s YXlvdXQ+CistCQkJPGxvbmduYW1lPkVuZ2xpc2ggKFVTKTwvbG9uZ25hbWU+CistCQkJPGRlc2Ny aXB0aW9uPkVuZ2xpc2ggKFVTKTwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwv ZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6dXM6aW50bDplbmc8L25hbWU+Cist CQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgor LQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9h dXRob3I+CistCQkJPGxheW91dD51cyhpbnRsKTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5Fbmds aXNoIChVUywgaW50ZXJuYXRpb25hbCB3aXRoIGRlYWQga2V5cyk8L2xvbmduYW1lPgorLQkJCTxk ZXNjcmlwdGlvbj5FbmdsaXNoIChVUywgaW50ZXJuYXRpb25hbCB3aXRoIGRlYWQga2V5cyk8L2Rl c2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8 L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+Cist CQkJPG5hbWU+eGtiOnVzOmNvbGVtYWs6ZW5nPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5lbmc8L2xh bmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcgSHVh bmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlvdXQ+ dXMoY29sZW1hayk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoQ29sZW1hayk8L2xv bmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChDb2xlbWFrKTwvZGVzY3JpcHRpb24+ CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0J CQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54 a2I6dXM6ZHZvcmFrOmVuZzwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4KKy0J CQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3 bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PnVzKGR2b3Jhayk8 L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoRHZvcmFrKTwvbG9uZ25hbWU+CistCQkJ PGRlc2NyaXB0aW9uPkVuZ2xpc2ggKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAg ICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jh bms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOnVzOmFsdGdyLWlu dGw6ZW5nPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNl PkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdA Z21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlvdXQ+dXMoYWx0Z3ItaW50bCk8L2xheW91 dD4KKy0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoaW50ZXJuYXRpb25hbCBBbHRHciBkZWFkIGtleXMp PC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoaW50ZXJuYXRpb25hbCBBbHRH ciBkZWFkIGtleXMpPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+ CistCQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjp1czphbHRnci1pbnRsOmVuZzwvbmFtZT4KKy0J CQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Cist CQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1 dGhvcj4KKy0JCQk8bGF5b3V0PnVzKGFsdGdyLWludGwpPC9sYXlvdXQ+CistCQkJPGxvbmduYW1l PkVuZ2xpc2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvbG9uZ25hbWU+CistCQkJ PGRlc2NyaXB0aW9uPkVuZ2xpc2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvZGVz Y3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwv aWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0J CQk8bmFtZT54a2I6YmU6OmdlcjwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4K Ky0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmJlPC9sYXlv dXQ+CistCQkJPGxvbmduYW1lPkJlbGdpYW48L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5C ZWxnaWFuPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8 ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpiZTo6bmxkPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5ubGQ8 L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlv dXQ+YmU8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+QmVsZ2lhbjwvbG9uZ25hbWU+CistCQkJPGRl c2NyaXB0aW9uPkJlbGdpYW48L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAg IDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2Vu Z2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOmJlOjpmcmE8L25hbWU+CistCQkJPGxh bmd1YWdlPmZyYTwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxh dXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+ CistCQkJPGxheW91dD5iZTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5CZWxnaWFuPC9sb25nbmFt ZT4KKy0JCQk8ZGVzY3JpcHRpb24+QmVsZ2lhbjwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFu az4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6YnI6OnBvcjwvbmFt ZT4KKy0JCQk8bGFuZ3VhZ2U+cG9yPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vu c2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZn dDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmJyPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPlBvcnR1 Z3Vlc2UgKEJyYXppbCk8L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5Qb3J0dWd1ZXNlIChC cmF6aWwpPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8 ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpiZzo6YnVsPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5idWw8 L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlv dXQ+Ymc8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+QnVsZ2FyaWFuPC9sb25nbmFtZT4KKy0JCQk8 ZGVzY3JpcHRpb24+QnVsZ2FyaWFuPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAg ICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJ PC9lbmdpbmU+CistCQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpiZzpwaG9uZXRpYzpidWw8L25h bWU+CistCQkJPGxhbmd1YWdlPmJ1bDwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNl bnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20m Z3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5iZyhwaG9uZXRpYyk8L2xheW91dD4KKy0JCQk8bG9u Z25hbWU+QnVsZ2FyaWFuICh0cmFkaXRpb25hbCBwaG9uZXRpYyk8L2xvbmduYW1lPgorLQkJCTxk ZXNjcmlwdGlvbj5CdWxnYXJpYW4gKHRyYWRpdGlvbmFsIHBob25ldGljKTwvZGVzY3JpcHRpb24+ CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0J CQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54 a2I6Y2E6OmZyYTwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5ndWFnZT4KKy0JCQk8bGlj ZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1 YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmNhPC9sYXlvdXQ+CistCQkJ PGxvbmduYW1lPkZyZW5jaCAoQ2FuYWRhKTwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkZy ZW5jaCAoQ2FuYWRhKTwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGlj b24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5l PgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6Y2E6ZW5nOmVuZzwvbmFtZT4KKy0JCQk8bGFu Z3VhZ2U+ZW5nPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1 dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4K Ky0JCQk8bGF5b3V0PmNhKGVuZyk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoQ2Fu YWRhKTwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKENhbmFkYSk8L2Rlc2Ny aXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJ PG5hbWU+eGtiOmhyOjpzY3I8L25hbWU+CistCQkJPGxhbmd1YWdlPnNjcjwvbGFuZ3VhZ2U+Cist CQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hh d24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5ocjwvbGF5b3V0 PgorLQkJCTxsb25nbmFtZT5Dcm9hdGlhbjwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkNy b2F0aWFuPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8 ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpjejo6Y3plPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5jemU8 L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlv dXQ+Y3o8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+Q3plY2g8L2xvbmduYW1lPgorLQkJCTxkZXNj cmlwdGlvbj5DemVjaDwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGlj b24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5l PgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6ZGs6OmRhbjwvbmFtZT4KKy0JCQk8bGFuZ3Vh Z2U+ZGFuPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhv cj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0J CQk8bGF5b3V0PmRrPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPkRhbmlzaDwvbG9uZ25hbWU+Cist CQkJPGRlc2NyaXB0aW9uPkRhbmlzaDwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAg ICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0J CTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6ZWU6OmVzdDwvbmFtZT4KKy0J CQk8bGFuZ3VhZ2U+ZXN0PC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Cist CQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1 dGhvcj4KKy0JCQk8bGF5b3V0PmVlPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPkVzdG9uaWFuPC9s b25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+RXN0b25pYW48L2Rlc2NyaXB0aW9uPgorLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+ OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOmZpOjpm aW48L25hbWU+CistCQkJPGxhbmd1YWdlPmZpbjwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BM PC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFp bC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5maTwvbGF5b3V0PgorLQkJCTxsb25nbmFt ZT5GaW5uaXNoPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+RmlubmlzaDwvZGVzY3JpcHRp b24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4K Ky0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFt ZT54a2I6ZnI6OmZyYTwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5ndWFnZT4KKy0JCQk8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmZyPC9sYXlvdXQ+Cist CQkJPGxvbmduYW1lPkZyZW5jaDwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkZyZW5jaDwv ZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2Fy ZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4K Ky0JCQk8bmFtZT54a2I6ZGU6OmdlcjwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFn ZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZs dDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmRlPC9s YXlvdXQ+CistCQkJPGxvbmduYW1lPkdlcm1hbjwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9u Pkdlcm1hbjwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1 cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJ PGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6ZGU6bmVvOmdlcjwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ Z2VyPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5Q ZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8 bGF5b3V0PmRlKG5lbyk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+R2VybWFuIChOZW8gMik8L2xv bmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5HZXJtYW4gKE5lbyAyKTwvZGVzY3JpcHRpb24+Cist ICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8 cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6 Z3I6OmdyZTwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+Z3JlPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5z ZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5n QGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmdyPC9sYXlvdXQ+CistCQkJPGxv bmduYW1lPkdyZWVrPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+R3JlZWs8L2Rlc2NyaXB0 aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5h bWU+eGtiOmh1OjpodW48L25hbWU+CistCQkJPGxhbmd1YWdlPmh1bjwvbGFuZ3VhZ2U+CistCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5odTwvbGF5b3V0Pgor LQkJCTxsb25nbmFtZT5IdW5nYXJpYW48L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5IdW5n YXJpYW48L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMt a2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxl bmdpbmU+CistCQkJPG5hbWU+eGtiOmlsOjpoZWI8L25hbWU+CistCQkJPGxhbmd1YWdlPmhlYjwv bGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBI dWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91 dD5pbDwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5IZWJyZXc8L2xvbmduYW1lPgorLQkJCTxkZXNj cmlwdGlvbj5IZWJyZXc8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxp Y29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2lu ZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOml0OjppdGE8L25hbWU+CistCQkJPGxhbmd1 YWdlPml0YTwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRo b3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Cist CQkJPGxheW91dD5pdDwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5JdGFsaWFuPC9sb25nbmFtZT4K Ky0JCQk8ZGVzY3JpcHRpb24+SXRhbGlhbjwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAg ICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4K Ky0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6anA6OmpwbjwvbmFtZT4K Ky0JCQk8bGFuZ3VhZ2U+anBuPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+ CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8 L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmpwPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPkphcGFuZXNl PC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+SmFwYW5lc2U8L2Rlc2NyaXB0aW9uPgorLSAg ICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJh bms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOmxh dGFtOjpzcGE8L25hbWU+CistCQkJPGxhbmd1YWdlPnNwYTwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vu c2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFu Z0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5sYXRhbTwvbGF5b3V0PgorLQkJ CTxsb25nbmFtZT5TcGFuaXNoIChMYXRpbiBBbWVyaWNhbik8L2xvbmduYW1lPgorLQkJCTxkZXNj cmlwdGlvbj5TcGFuaXNoIChMYXRpbiBBbWVyaWNhbik8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAg ICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8 L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOmx0OjpsaXQ8 L25hbWU+CistCQkJPGxhbmd1YWdlPmxpdDwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5j b20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5sdDwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5M aXRodWFuaWFuPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+TGl0aHVhbmlhbjwvZGVzY3Jp cHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8 bmFtZT54a2I6bHY6YXBvc3Ryb3BoZTpsYXY8L25hbWU+CistCQkJPGxhbmd1YWdlPmxhdjwvbGFu Z3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5s dihhcG9zdHJvcGhlKTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5MYXR2aWFuIChhcG9zdHJvcGhl IHZhcmlhbnQpPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+TGF0dmlhbiAoYXBvc3Ryb3Bo ZSB2YXJpYW50KTwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+ aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgor LQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6cGw6OnBvbDwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ cG9sPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5Q ZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8 bGF5b3V0PnBsPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPlBvbGlzaDwvbG9uZ25hbWU+CistCQkJ PGRlc2NyaXB0aW9uPlBvbGlzaDwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwv ZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6cHQ6OnBvcjwvbmFtZT4KKy0JCQk8 bGFuZ3VhZ2U+cG9yPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJ PGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhv cj4KKy0JCQk8bGF5b3V0PnB0PC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPlBvcnR1Z3Vlc2U8L2xv bmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5Qb3J0dWd1ZXNlPC9kZXNjcmlwdGlvbj4KKy0gICAg ICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5r Pjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpybzo6 cnVtPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5ydW08L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlvdXQ+cm88L2xheW91dD4KKy0JCQk8bG9uZ25h bWU+Um9tYW5pYW48L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5Sb21hbmlhbjwvZGVzY3Jp cHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8 bmFtZT54a2I6cnU6OnJ1czwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+cnVzPC9sYW5ndWFnZT4KKy0J CQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3 bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PnJ1PC9sYXlvdXQ+ CistCQkJPGxvbmduYW1lPlJ1c3NpYW48L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5SdXNz aWFuPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtl eWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8ZW5n aW5lPgorLQkJCTxuYW1lPnhrYjpydTpwaG9uZXRpYzpydXM8L25hbWU+CistCQkJPGxhbmd1YWdl PnJ1czwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+ UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJ PGxheW91dD5ydShwaG9uZXRpYyk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+UnVzc2lhbiAocGhv bmV0aWMpPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+UnVzc2lhbiAocGhvbmV0aWMpPC9k ZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8ZW5naW5lPgor LQkJCTxuYW1lPnhrYjpyczo6c3JwPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5zcnA8L2xhbmd1YWdl PgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0 O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlvdXQ+cnM8L2xh eW91dD4KKy0JCQk8bG9uZ25hbWU+U2VyYmlhbjwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9u PlNlcmJpYW48L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0J CTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOnNpOjpzbHY8L25hbWU+CistCQkJPGxhbmd1YWdlPnNs djwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVu ZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxh eW91dD5zaTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5TbG92ZW5pYW48L2xvbmduYW1lPgorLQkJ CTxkZXNjcmlwdGlvbj5TbG92ZW5pYW48L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAg ICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+Cist CQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOnNrOjpzbG88L25hbWU+Cist CQkJPGxhbmd1YWdlPnNsbzwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgor LQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9h dXRob3I+CistCQkJPGxheW91dD5zazwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5TbG92YWs8L2xv bmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5TbG92YWs8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAg ICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8 L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5hbWU+eGtiOmVzOjpzcGE8 L25hbWU+CistCQkJPGxhbmd1YWdlPnNwYTwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5j b20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5lczwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5T cGFuaXNoPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+U3BhbmlzaDwvZGVzY3JpcHRpb24+ CistICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0J CQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5lPgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54 a2I6ZXM6Y2F0OmNhdDwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+Y2F0PC9sYW5ndWFnZT4KKy0JCQk8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmVzKGNhdCk8L2xheW91 dD4KKy0JCQk8bG9uZ25hbWU+Q2F0YWxhbiAoU3BhaW4sIHdpdGggbWlkZGxlLWRvdCBMKTwvbG9u Z25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkNhdGFsYW4gKFNwYWluLCB3aXRoIG1pZGRsZS1kb3Qg TCk8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5 Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdp bmU+CistCQkJPG5hbWU+eGtiOnNlOjpzd2U8L25hbWU+CistCQkJPGxhbmd1YWdlPnN3ZTwvbGFu Z3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD5z ZTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5Td2VkaXNoPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3Jp cHRpb24+U3dlZGlzaDwvZGVzY3JpcHRpb24+CistICAgICAgICAgICAgICAgICAgICAgICAgPGlj b24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKy0JCQk8cmFuaz45OTwvcmFuaz4KKy0JCTwvZW5naW5l PgorLQkJPGVuZ2luZT4KKy0JCQk8bmFtZT54a2I6Y2g6OmdlcjwvbmFtZT4KKy0JCQk8bGFuZ3Vh Z2U+Z2VyPC9sYW5ndWFnZT4KKy0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhv cj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0J CQk8bGF5b3V0PmNoPC9sYXlvdXQ+CistCQkJPGxvbmduYW1lPkdlcm1hbiAoU3dpdHplcmxhbmQp PC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+R2VybWFuIChTd2l0emVybGFuZCk8L2Rlc2Ny aXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJ PG5hbWU+eGtiOmNoOmZyOmZyYTwvbmFtZT4KKy0JCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5ndWFnZT4K Ky0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+CistCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKy0JCQk8bGF5b3V0PmNoKGZyKTwv bGF5b3V0PgorLQkJCTxsb25nbmFtZT5GcmVuY2ggKFN3aXR6ZXJsYW5kKTwvbG9uZ25hbWU+Cist CQkJPGRlc2NyaXB0aW9uPkZyZW5jaCAoU3dpdHplcmxhbmQpPC9kZXNjcmlwdGlvbj4KKy0gICAg ICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5r Pjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+CistCQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjp0cjo6 dHVyPC9uYW1lPgorLQkJCTxsYW5ndWFnZT50dXI8L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxsYXlvdXQ+dHI8L2xheW91dD4KKy0JCQk8bG9uZ25h bWU+VHVya2lzaDwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPlR1cmtpc2g8L2Rlc2NyaXB0 aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxlbmdpbmU+CistCQkJPG5h bWU+eGtiOnVhOjp1a3I8L25hbWU+CistCQkJPGxhbmd1YWdlPnVrcjwvbGFuZ3VhZ2U+CistCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+CistCQkJPGxheW91dD51YTwvbGF5b3V0Pgor LQkJCTxsb25nbmFtZT5Va3JhaW5pYW48L2xvbmduYW1lPgorLQkJCTxkZXNjcmlwdGlvbj5Va3Jh aW5pYW48L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMt a2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+CistCQk8L2VuZ2luZT4KKy0JCTxl bmdpbmU+CistCQkJPG5hbWU+eGtiOmdiOmV4dGQ6ZW5nPC9uYW1lPgorLQkJCTxsYW5ndWFnZT5l bmc8L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0JCQk8YXV0aG9yPlBl bmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorLQkJCTxs YXlvdXQ+Z2IoZXh0ZCk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoVUssIGV4dGVu ZGVkIFdpbktleXMpPC9sb25nbmFtZT4KKy0JCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoVUssIGV4 dGVuZGVkIFdpbktleXMpPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdp bmU+CistCQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjpnYjpkdm9yYWs6ZW5nPC9uYW1lPgorLQkJ CTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgorLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KKy0J CQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0 aG9yPgorLQkJCTxsYXlvdXQ+Z2IoZHZvcmFrKTwvbGF5b3V0PgorLQkJCTxsb25nbmFtZT5Fbmds aXNoIChVSywgRHZvcmFrKTwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKFVL LCBEdm9yYWspPC9kZXNjcmlwdGlvbj4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5p YnVzLWtleWJvYXJkPC9pY29uPgorLQkJCTxyYW5rPjk5PC9yYW5rPgorLQkJPC9lbmdpbmU+Cist CQk8ZW5naW5lPgorLQkJCTxuYW1lPnhrYjprcjprcjEwNDprb3I8L25hbWU+CistCQkJPGxhbmd1 YWdlPmtvcjwvbGFuZ3VhZ2U+CistCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgorLQkJCTxhdXRo b3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Cist CQkJPGxheW91dD5rcihrcjEwNCk8L2xheW91dD4KKy0JCQk8bG9uZ25hbWU+S29yZWFuICgxMDEv MTA0IGtleSBjb21wYXRpYmxlKTwvbG9uZ25hbWU+CistCQkJPGRlc2NyaXB0aW9uPktvcmVhbiAo MTAxLzEwNCBrZXkgY29tcGF0aWJsZSk8L2Rlc2NyaXB0aW9uPgorLSAgICAgICAgICAgICAgICAg ICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+CistCQkJPHJhbms+OTk8L3Jhbms+Cist CQk8L2VuZ2luZT4KKy0JPC9lbmdpbmVzPgorKwk8ZW5naW5lcyBleGVjPVwiJHtsaWJleGVjZGly fS9pYnVzLWVuZ2luZS1zaW1wbGUgLS14bWxcIiAvPgorIDwvY29tcG9uZW50PgogZGlmZiAtLWdp dCBhL2lidXMtMS4wLnBjLmluIGIvaWJ1cy0xLjAucGMuaW4KIGluZGV4IDlmNTkzYWIuLjY2Yjkw MmEgMTAwNjQ0CiAtLS0gYS9pYnVzLTEuMC5wYy5pbgpAQCAtMTQ0MCw4ICsxNTA2LDUyIEBAIGlu ZGV4IDlmNTkzYWIuLjY2YjkwMmEgMTAwNjQ0CiAgCiAgTmFtZTogSUJ1cwogIERlc2NyaXB0aW9u OiBJQnVzIExpYnJhcnkKK2RpZmYgLS1naXQgYS9pYnVzLnNwZWMuaW4gYi9pYnVzLnNwZWMuaW4K K2luZGV4IDU4Y2FjMzguLjRiNmY4NjkgMTAwNjQ0CistLS0gYS9pYnVzLnNwZWMuaW4KKysrKyBi L2lidXMuc3BlYy5pbgorQEAgLTQsNiArNCw3IEBACisgCisgIyBCdWlsZCBmbGFncworICVkZWZp bmUgYnVpbGRfcHl0aG9uX2xpYnJhcnkgMAorKyVkZWZpbmUgYnVpbGRfeGtiIDAKKyAKKyAlZGVm aW5lIGdsaWJfdmVyICUoWyAtYSAle19saWJkaXJ9L3BrZ2NvbmZpZy9nbGliLTIuMC5wYyBdICYm IHBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIGdsaWItMi4wIHwgY3V0IC1kLiAtZiAxLDIgfHwgZWNo byAtbiAiOTk5IikKKyAlZGVmaW5lIGdjb25mMl92ZXJzaW9uIDIuMTIuMAorQEAgLTM4LDYgKzM5 LDEwIEBAIEJ1aWxkUmVxdWlyZXM6ICBHQ29uZjItZGV2ZWwKKyBCdWlsZFJlcXVpcmVzOiAgcHln b2JqZWN0Mi1kZXZlbAorIEJ1aWxkUmVxdWlyZXM6ICBpbnRsdG9vbAorIEJ1aWxkUmVxdWlyZXM6 ICBpc28tY29kZXMtZGV2ZWwKKyslaWYgJXtidWlsZF94a2J9CisrQnVpbGRSZXF1aXJlczogIGxp YnhrYmZpbGUtZGV2ZWwKKytCdWlsZFJlcXVpcmVzOiAgbGliZ25vbWVrYmQtZGV2ZWwKKyslZW5k aWYKKyAKKyBSZXF1aXJlczogICAle25hbWV9LWxpYnMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0K KyBSZXF1aXJlczogICAle25hbWV9LWd0azIgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KK0BAIC01 MSw2ICs1Niw5IEBAIFJlcXVpcmVzOiAgIGltLWNob29zZXIgPj0gJXtpbV9jaG9vc2VyX3ZlcnNp b259CisgUmVxdWlyZXM6ICAgR0NvbmYyID49ICV7Z2NvbmYyX3ZlcnNpb259CisgUmVxdWlyZXM6 ICAgbm90aWZ5LXB5dGhvbgorIFJlcXVpcmVzOiAgIGxpYnJzdmcyCisrJWlmICV7YnVpbGRfeGti fQorK1JlcXVpcmVzOiAgIGxpYmdub21la2JkCisrJWVuZGlmCisgCisgUmVxdWlyZXMocG9zdCk6 ICBkZXNrdG9wLWZpbGUtdXRpbHMKKyBSZXF1aXJlcyhwb3N0dW4pOiAgZGVza3RvcC1maWxlLXV0 aWxzCitAQCAtMTMyLDYgKzE0MCwxMCBAQCBPUFRJT05TPSIkT1BUSU9OUyAtLWVuYWJsZS1weXRo b24tbGlicmFyeSIKKyBPUFRJT05TPSIkT1BUSU9OUyAtLWRpc2FibGUtcHl0aG9uLWxpYnJhcnki CisgJWVuZGlmCisgCisrJWlmICV7YnVpbGRfeGtifQorK09QVElPTlM9IiRPUFRJT05TIC0tZW5h YmxlLXhrYiAtLWVuYWJsZS1saWJnbm9tZWtiZCIKKyslZW5kaWYKKysKKyAlY29uZmlndXJlICRP UFRJT05TCisgCisgIyBtYWtlIC1DIHBvIHVwZGF0ZS1nbW8KIGRpZmYgLS1naXQgYS9zZXR1cC9t YWluLnB5IGIvc2V0dXAvbWFpbi5weQotaW5kZXggZmRmYjMzYS4uNGY1NzEwNiAxMDA2NDQKK2lu ZGV4IDMwMGYxMWIuLmYzZmUxYzUgMTAwNjQ0CiAtLS0gYS9zZXR1cC9tYWluLnB5CiArKysgYi9z ZXR1cC9tYWluLnB5CiBAQCAtMTgzLDE0ICsxODMsMjIgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToK QEAgLTIxODcsMTIgKzIyOTcsMTIgQEAgaW5kZXggMDAwMDAwMC4uNjYxZTZmZAogQEAgLTAsMCAr MSBAQAogK0NvbmZpZ3VyYXRpb24gY2hlYWRlcl9maWxlbmFtZT0ibGliZ25vbWVrYmQvZ2tiZC1j b25maWd1cmF0aW9uLmgiCiBkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9NYWtlZmlsZS5hbSBiL3VpL2d0 azMvTWFrZWZpbGUuYW0KLWluZGV4IDg3YTczNzMuLjZhNDI2ZmEgMTAwNjQ0CitpbmRleCA2Mzll M2VhLi5lOGU4ZDE1IDEwMDY0NAogLS0tIGEvdWkvZ3RrMy9NYWtlZmlsZS5hbQogKysrIGIvdWkv Z3RrMy9NYWtlZmlsZS5hbQotQEAgLTQyLDYgKzQyLDkgQEAgSU5DTFVERVMgPSBcCi0gCS1JJCh0 b3BfYnVpbGRkaXIpL3NyYyBcCi0gCSQoTlVMTCkKK0BAIC00NCw2ICs0NCw5IEBAIElOQ0xVREVT ID0gXAorIAorIFVTRV9TWU1CT0xfSUNPTiA9IEZBTFNFCiAgCiArSEFWRV9JQlVTX1hLQl9DID0g JChzdHJpcCAkKHN1YnN0IGZhbHNlLCBGQUxTRSwgJChzdWJzdCB0cnVlLCBUUlVFLCAkKEhBVkVf SUJVU19YS0IpKSkpCiArSEFWRV9JQlVTX0dLQkRfQyA9ICQoc3RyaXAgJChzdWJzdCBmYWxzZSwg RkFMU0UsICQoc3Vic3QgdHJ1ZSwgVFJVRSwgJChIQVZFX0lCVVNfR0tCRCkpKSkKQEAgLTIyMDAs MTAgKzIzMTAsMTAgQEAgaW5kZXggODdhNzM3My4uNmE0MjZmYSAxMDA2NDQKICBBTV9DRkxBR1Mg PSBcCiAgCUBHTElCMl9DRkxBR1NAIFwKICAJQEdJTzJfQ0ZMQUdTQCBcCi1AQCAtNTcsNiArNjAs MTAgQEAgQU1fQ0ZMQUdTID0gXAotIAktREJJTkRJUj1cIkBiaW5kaXJAXCIgXAorQEAgLTYwLDYg KzYzLDEwIEBAIEFNX0NGTEFHUyA9IFwKICAgICAgLURJQlVTX0RJU0FCTEVfREVQUkVDQVRFRCBc CiAgCS1ESUJVU19WRVJTSU9OPVwiQElCVVNfVkVSU0lPTkBcIiBcCisgCS1EU1dJVENIRVJfVVNF X1NZTUJPTF9JQ09OPSQoVVNFX1NZTUJPTF9JQ09OKSBcCiArCS1ESEFWRV9JQlVTX1hLQj0kKEhB VkVfSUJVU19YS0JfQykgXAogKwktREhBVkVfSUJVU19HS0JEPSQoSEFWRV9JQlVTX0dLQkRfQykg XAogKwktRElCVVNfWEtCX0NPTU1BTkQ9XCIkKGxpYmV4ZWNkaXIpL2lidXMteGtiXCIgXApAQCAt MjIxMSw3ICsyMzIxLDcgQEAgaW5kZXggODdhNzM3My4uNmE0MjZmYSAxMDA2NDQKICAJLVduby11 bnVzZWQtdmFyaWFibGUgXAogIAktV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIFwKICAJLVdu by11bnVzZWQtZnVuY3Rpb24gXAotQEAgLTg3LDYgKzk0LDcgQEAgaWJ1c191aV9ndGszX1NPVVJD RVMgPSBcCitAQCAtOTAsNiArOTcsNyBAQCBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwKICAJYXBw bGljYXRpb24udmFsYSBcCiAgCWNhbmRpZGF0ZWFyZWEudmFsYSBcCiAgCWNhbmRpZGF0ZXBhbmVs LnZhbGEgXApAQCAtMjIxOSw3ICsyMzI5LDcgQEAgaW5kZXggODdhNzM3My4uNmE0MjZmYSAxMDA2 NDQKICAJaGFuZGxlLnZhbGEgXAogIAlpY29ud2lkZ2V0LnZhbGEgXAogIAlrZXliaW5kaW5nbWFu YWdlci52YWxhIFwKLUBAIC05NSw2ICsxMDMsNyBAQCBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwK K0BAIC05OCw2ICsxMDYsNyBAQCBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwKICAJcHJvcGVydHku dmFsYSBcCiAgCXNlcGFyYXRvci52YWxhIFwKICAJc3dpdGNoZXIudmFsYSBcCkBAIC0yMjI3LDcg KzIzMzcsNyBAQCBpbmRleCA4N2E3MzczLi42YTQyNmZhIDEwMDY0NAogIAlncmFia2V5Y29kZS5j IFwKICAJJChOVUxMKQogIAotQEAgLTEwMiwxMiArMTExLDUxIEBAIGlidXNfdWlfZ3RrM19MREFE RCA9IFwKK0BAIC0xMDUsMTIgKzExNCw1MSBAQCBpYnVzX3VpX2d0azNfTERBREQgPSBcCiAgCSQo QU1fTERBREQpIFwKICAJJChOVUxMKQogIApAQCAtMjQ3NCwyNiArMjU4NCwyOSBAQCBpbmRleCAw MDAwMDAwLi5hZGFjZDgxCiArICAgIH0KICsgICAgKi8KICt9Ci1kaWZmIC0tZ2l0IGEvdWkvZ3Rr My9rZXliaW5kaW5nbWFuYWdlci52YWxhIGIvdWkvZ3RrMy9rZXliaW5kaW5nbWFuYWdlci52YWxh Ci1pbmRleCBkZDNjN2JkLi40NDU5YWIyIDEwMDY0NAotLS0tIGEvdWkvZ3RrMy9rZXliaW5kaW5n bWFuYWdlci52YWxhCi0rKysgYi91aS9ndGszL2tleWJpbmRpbmdtYW5hZ2VyLnZhbGEKLUBAIC0x MzMsNiArMTMzLDEwIEBAIHB1YmxpYyBjbGFzcyBLZXliaW5kaW5nTWFuYWdlciA6IEdMaWIuT2Jq ZWN0IHsKLSAgICAgICAgICAgICBtX2JpbmRpbmdzLnJlbW92ZSAoYmluZGluZyk7Ci0gICAgIH0K LSAKLSsgICAgcHVibGljIEdMaWIuTGlzdCBnZXRfa2V5YmluZGluZ3MoKSB7Ci0rICAgICAgICBy ZXR1cm4gbV9iaW5kaW5ncy5jb3B5KCk7Ci0rICAgIH0KLSsKLSAgICAgcHVibGljIHN0YXRpYyBL ZXliaW5kaW5nTWFuYWdlciBnZXRfaW5zdGFuY2UgKCkgewotICAgICAgICAgaWYgKG1faW5zdGFu Y2UgPT0gbnVsbCkKLSAgICAgICAgICAgICBtX2luc3RhbmNlID0gbmV3IEtleWJpbmRpbmdNYW5h Z2VyICgpOwogZGlmZiAtLWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwu dmFsYQotaW5kZXggMjUxYTY1ZS4uZmY4MzI4NCAxMDA2NDQKK2luZGV4IDI1ZDcwNWQuLjJlY2Q0 OGIgMTAwNjQ0CiAtLS0gYS91aS9ndGszL3BhbmVsLnZhbGEKICsrKyBiL3VpL2d0azMvcGFuZWwu dmFsYQotQEAgLTQxLDggKzQxLDE3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ug eworQEAgLTI5LDYgKzI5LDE3IEBAIHB1YmxpYyBleHRlcm4gY29uc3Qgc3RyaW5nIElCVVNfVkVS U0lPTjsKKyBwdWJsaWMgZXh0ZXJuIGNvbnN0IHN0cmluZyBCSU5ESVI7CisgCisgY2xhc3MgUGFu ZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CisrICAgIHByaXZhdGUgY2xhc3MgS2V5YmluZGluZyB7 CisrICAgICAgICBwdWJsaWMgS2V5YmluZGluZyh1aW50IGtleXN5bSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgIEdkay5Nb2RpZmllclR5cGUgbW9kaWZpZXJzKSB7CisrICAgICAgICAgICAg dGhpcy5rZXlzeW0gPSBrZXlzeW07CisrICAgICAgICAgICAgdGhpcy5tb2RpZmllcnMgPSBtb2Rp ZmllcnM7CisrICAgICAgICB9CisrCisrICAgICAgICBwdWJsaWMgdWludCBrZXlzeW0geyBnZXQ7 IHNldDsgfQorKyAgICAgICAgcHVibGljIEdkay5Nb2RpZmllclR5cGUgbW9kaWZpZXJzIHsgZ2V0 OyBzZXQ7IH0KKysgICAgfQorKworICAgICBwcml2YXRlIElCdXMuQnVzIG1fYnVzOworICAgICBw cml2YXRlIElCdXMuQ29uZmlnIG1fY29uZmlnOworICAgICBwcml2YXRlIEd0ay5TdGF0dXNJY29u IG1fc3RhdHVzX2ljb247CitAQCAtNDEsMTAgKzUyLDE2IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5Q YW5lbFNlcnZpY2UgewogICAgICBwcml2YXRlIEdMaWIuUGlkIG1fc2V0dXBfcGlkID0gMDsKICAg ICAgcHJpdmF0ZSBHdGsuQWJvdXREaWFsb2cgbV9hYm91dF9kaWFsb2c7CiAgICAgIHByaXZhdGUg R3RrLkNzc1Byb3ZpZGVyIG1fY3NzX3Byb3ZpZGVyOwpAQCAtMjUwNCwzOSArMjYxNywyNiBAQCBp bmRleCAyNTFhNjVlLi5mZjgzMjg0IDEwMDY0NAogKyAgICBwcml2YXRlIGludCBtX2ZhbGxiYWNr X2xvY2tfaWQgPSAtMTsKICsgICAgcHJpdmF0ZSBib29sIG1fY2hhbmdlZF94a2Jfb3B0aW9uID0g ZmFsc2U7CiArICAgIHByaXZhdGUgR0xpYi5UaW1lciBtX2NoYW5nZWRfbGF5b3V0X3RpbWVyOwot KyAgICBwcml2YXRlIEdMaWIuTGlzdCBtX2tleWJpbmRpbmdzOwogICAgICBwcml2YXRlIGNvbnN0 IHN0cmluZyBBQ0NFTEVSQVRPUl9TV0lUQ0hfSU1FX0ZPUkVXQVJEID0gIjxDb250cm9sPnNwYWNl IjsKLSAgICAgcHJpdmF0ZSBjb25zdCBzdHJpbmcgQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9CQUNL V0FSRCA9ICI8Q29udHJvbD48U2hpZnQ+c3BhY2UiOwotKyAgICBwcml2YXRlIHN0cmluZ1tdIEFD Q0VMRVJBVE9SX0lNRV9IT1RLRVlTID0ge307CisgCistICAgIHByaXZhdGUgdWludCBtX3N3aXRj aF9rZXlzeW0gPSAwOworLSAgICBwcml2YXRlIEdkay5Nb2RpZmllclR5cGUgbV9zd2l0Y2hfbW9k aWZpZXJzID0gMDsKKysgICAgcHJpdmF0ZSBHTGliLkxpc3Q8S2V5YmluZGluZz4gbV9rZXliaW5k aW5ncyA9IG5ldyBHTGliLkxpc3Q8S2V5YmluZGluZz4oKTsKICAKICAgICAgcHVibGljIFBhbmVs KElCdXMuQnVzIGJ1cykgewogICAgICAgICAgR0xpYi5hc3NlcnQoYnVzLmlzX2Nvbm5lY3RlZCgp KTsKLUBAIC02NiwxMyArNzUsNiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsK K0BAIC02Nyw3ICs4NCw2IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAg ICAgICAgbV9jYW5kaWRhdGVfcGFuZWwucGFnZV9kb3duLmNvbm5lY3QoKHcpID0+IHRoaXMucGFn ZV9kb3duKCkpOwogIAogICAgICAgICAgbV9zd2l0Y2hlciA9IG5ldyBTd2l0Y2hlcigpOworLSAg ICAgICAgYmluZF9zd2l0Y2hfc2hvcnRjdXQoKTsKICAKLS0gICAgICAgIHZhciBrZXliaW5kaW5n X21hbmFnZXIgPSBLZXliaW5kaW5nTWFuYWdlci5nZXRfaW5zdGFuY2UoKTsKLS0gICAgICAgIGtl eWJpbmRpbmdfbWFuYWdlci5iaW5kKEFDQ0VMRVJBVE9SX1NXSVRDSF9JTUVfRk9SRVdBUkQsCi0t ICAgICAgICAgICAgICAgIChlKSA9PiBoYW5kbGVfZW5naW5lX3N3aXRjaChlLCBmYWxzZSkpOwot LQotLSAgICAgICAga2V5YmluZGluZ19tYW5hZ2VyLmJpbmQoQUNDRUxFUkFUT1JfU1dJVENIX0lN RV9CQUNLV0FSRCwKLS0gICAgICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNo KGUsIHRydWUpKTsKLS0KICAgICAgICAgIG1fcHJvcGVydHlfbWFuYWdlciA9IG5ldyBQcm9wZXJ0 eU1hbmFnZXIoKTsKICAgICAgICAgIG1fcHJvcGVydHlfbWFuYWdlci5wcm9wZXJ0eV9hY3RpdmF0 ZS5jb25uZWN0KChrLCBzKSA9PiB7Ci0gICAgICAgICAgICAgcHJvcGVydHlfYWN0aXZhdGUoaywg cyk7Ci1AQCAtODMsOCArODUsNjcgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7 CitAQCAtNzksNjQgKzk1LDExOSBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsK ICAKICAgICAgflBhbmVsKCkgewotICAgICAgICAgdmFyIGtleWJpbmRpbmdfbWFuYWdlciA9IEtl eWJpbmRpbmdNYW5hZ2VyLmdldF9pbnN0YW5jZSgpOwotLSAgICAgICAga2V5YmluZGluZ19tYW5h Z2VyLnVuYmluZChBQ0NFTEVSQVRPUl9TV0lUQ0hfSU1FX0ZPUkVXQVJEKTsKLS0gICAgICAgIGtl eWJpbmRpbmdfbWFuYWdlci51bmJpbmQoQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9CQUNLV0FSRCk7 Ci0rICAgICAgICBmb3JlYWNoIChzdHJpbmcga2V5YmluZGluZyBpbiBBQ0NFTEVSQVRPUl9JTUVf SE9US0VZUykgewotKyAgICAgICAgICAgIGtleWJpbmRpbmdfbWFuYWdlci51bmJpbmQoa2V5Ymlu ZGluZyk7Ci0rICAgICAgICAgICAgaWYgKGtleWJpbmRpbmcgPT0gQUNDRUxFUkFUT1JfU1dJVENI X0lNRV9GT1JFV0FSRCkgewotKyAgICAgICAgICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIudW5i aW5kKEFDQ0VMRVJBVE9SX1NXSVRDSF9JTUVfQkFDS1dBUkQpOwotKyAgICAgICAgICAgIH0KLSsg ICAgICAgIH0KKyAgICAgICAgIHVuYmluZF9zd2l0Y2hfc2hvcnRjdXQoKTsKICsKICsgICAgICAg IGlmIChIQVZFX0lCVVNfR0tCRCAmJiBtX2drYmRsYXlvdXQgIT0gbnVsbCkgewogKyAgICAgICAg ICAgIG1fZ2tiZGxheW91dC5jaGFuZ2VkLmRpc2Nvbm5lY3QoZ2tiZGxheW91dF9jaGFuZ2VkX2Ni KTsKQEAgLTI1NDUsMTYgKzI2NDUsMTcgQEAgaW5kZXggMjUxYTY1ZS4uZmY4MzI4NCAxMDA2NDQK ICsgICAgICAgIH0KICsKICsgICAgICAgIG1feGtibGF5b3V0ID0gbnVsbDsKLSsgICAgfQotKwor ICAgICB9CisgCiArICAgIC8vIFRvRG86IEN1c3RvbWl6ZSB0aGUgaW5wdXQgbWV0aG9kIHdpdGgg aWJ1cy1zZXR1cAotKyAgICBwcml2YXRlIHZvaWQgc2V0X2tleWJpbmRpbmcoKSB7CisgICAgIHBy aXZhdGUgdm9pZCBiaW5kX3N3aXRjaF9zaG9ydGN1dCgpIHsKICsgICAgICAgIHN0cmluZyBsb2Nh bGUgPSBHTGliLkludGwuc2V0bG9jYWxlKEdMaWIuTG9jYWxlQ2F0ZWdvcnkuQUxMLAogKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCk7CiArICAgICAgICBp ZiAobG9jYWxlID09IG51bGwpIHsKICsgICAgICAgICAgICBsb2NhbGUgPSAiQyI7CiArICAgICAg ICB9CiArCisrICAgICAgICBzdHJpbmdbXSBBQ0NFTEVSQVRPUl9JTUVfSE9US0VZUyA9IHt9Owog KyAgICAgICAgQUNDRUxFUkFUT1JfSU1FX0hPVEtFWVMgKz0gQUNDRUxFUkFUT1JfU1dJVENIX0lN RV9GT1JFV0FSRDsKICsKICsgICAgICAgIGlmIChtX2NvbmZpZyAhPSBudWxsKSB7CkBAIC0yNTgy LDI0ICsyNjgzLDEyMCBAQCBpbmRleCAyNTFhNjVlLi5mZjgzMjg0IDEwMDY0NAogKyAgICAgICAg ICAgIH0KICsgICAgICAgIH0KICsKLSsgICAgICAgIHZhciBrZXliaW5kaW5nX21hbmFnZXIgPSBL ZXliaW5kaW5nTWFuYWdlci5nZXRfaW5zdGFuY2UoKTsKLSsgICAgICAgIGZvcmVhY2ggKHN0cmlu ZyBrZXliaW5kaW5nIGluIEFDQ0VMRVJBVE9SX0lNRV9IT1RLRVlTKSB7Ci0rICAgICAgICAgICAg a2V5YmluZGluZ19tYW5hZ2VyLmJpbmQoa2V5YmluZGluZywKLSsgICAgICAgICAgICAgICAgKGUp ID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNoKGUsIGZhbHNlKSk7Ci0rICAgICAgICAgICAgaWYgKGtl eWJpbmRpbmcgPT0gQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9GT1JFV0FSRCkgewotKyAgICAgICAg ICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIuYmluZChBQ0NFTEVSQVRPUl9TV0lUQ0hfSU1FX0JB Q0tXQVJELAotKyAgICAgICAgICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNo KGUsIHRydWUpKTsKKyAgICAgICAgIHZhciBrZXliaW5kaW5nX21hbmFnZXIgPSBLZXliaW5kaW5n TWFuYWdlci5nZXRfaW5zdGFuY2UoKTsKKyAKKy0gICAgICAgIHZhciBhY2NlbGVyYXRvciA9IEFD Q0VMRVJBVE9SX1NXSVRDSF9JTUVfRk9SRVdBUkQ7CistICAgICAgICBHdGsuYWNjZWxlcmF0b3Jf cGFyc2UoYWNjZWxlcmF0b3IsCistICAgICAgICAgICAgICAgIG91dCBtX3N3aXRjaF9rZXlzeW0s IG91dCBtX3N3aXRjaF9tb2RpZmllcnMpOworLQorLSAgICAgICAgLy8gTWFwIHZpcnR1YWwgbW9k aWZpZXJzIHRvIChpLmUuTW9kMiwgTW9kMywgLi4uKQorLSAgICAgICAgY29uc3QgR2RrLk1vZGlm aWVyVHlwZSBWSVJUVUFMX01PRElGSUVSUyA9ICgKKy0gICAgICAgICAgICAgICAgR2RrLk1vZGlm aWVyVHlwZS5TVVBFUl9NQVNLIHwKKy0gICAgICAgICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5I WVBFUl9NQVNLIHwKKy0gICAgICAgICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5NRVRBX01BU0sp OworLSAgICAgICAgaWYgKChtX3N3aXRjaF9tb2RpZmllcnMgJiBWSVJUVUFMX01PRElGSUVSUykg IT0gMCkgeworLSAgICAgICAgLy8gd29ya2Fyb3VuZCBhIGJ1ZyBpbiBnZGsgdmFwaSB2YWxhID4g MC4xOAorLSAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dp P2lkPTY3NzU1OQorKyAgICAgICAgZm9yZWFjaCAodmFyIGFjY2VsZXJhdG9yIGluIEFDQ0VMRVJB VE9SX0lNRV9IT1RLRVlTKSB7CisrICAgICAgICAgICAgdWludCBzd2l0Y2hfa2V5c3ltID0gMDsK KysgICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlIHN3aXRjaF9tb2RpZmllcnMgPSAwOworKyAg ICAgICAgICAgIEd0ay5hY2NlbGVyYXRvcl9wYXJzZShhY2NlbGVyYXRvciwKKysgICAgICAgICAg ICAgICAgICAgIG91dCBzd2l0Y2hfa2V5c3ltLCBvdXQgc3dpdGNoX21vZGlmaWVycyk7CisrCisr ICAgICAgICAgICAgLy8gTWFwIHZpcnR1YWwgbW9kaWZpZXJzIHRvIChpLmUuIE1vZDIsIE1vZDMs IC4uLikKKysgICAgICAgICAgICBjb25zdCBHZGsuTW9kaWZpZXJUeXBlIFZJUlRVQUxfTU9ESUZJ RVJTID0gKAorKyAgICAgICAgICAgICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5TVVBFUl9NQVNL IHwKKysgICAgICAgICAgICAgICAgICAgIEdkay5Nb2RpZmllclR5cGUuSFlQRVJfTUFTSyB8Cisr ICAgICAgICAgICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLk1FVEFfTUFTSyk7CisrICAgICAg ICAgICAgaWYgKChzd2l0Y2hfbW9kaWZpZXJzICYgVklSVFVBTF9NT0RJRklFUlMpICE9IDApIHsK KysgICAgICAgICAgICAvLyB3b3JrYXJvdW5kIGEgYnVnIGluIGdkayB2YXBpIHZhbGEgPiAwLjE4 CisrICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dp P2lkPTY3NzU1OQorICNpZiBWQUxBXzBfMTgKKy0gICAgICAgICAgICBHZGsuS2V5bWFwLmdldF9k ZWZhdWx0KCkubWFwX3ZpcnR1YWxfbW9kaWZpZXJzKAorLSAgICAgICAgICAgICAgICAgICAgcmVm IG1fc3dpdGNoX21vZGlmaWVycyk7CisrICAgICAgICAgICAgICAgIEdkay5LZXltYXAuZ2V0X2Rl ZmF1bHQoKS5tYXBfdmlydHVhbF9tb2RpZmllcnMoCisrICAgICAgICAgICAgICAgICAgICAgICAg cmVmIHN3aXRjaF9tb2RpZmllcnMpOworICNlbHNlCistICAgICAgICAgICAgaWYgKChtX3N3aXRj aF9tb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBlLlNVUEVSX01BU0spICE9IDApCistICAgICAg ICAgICAgICAgIG1fc3dpdGNoX21vZGlmaWVycyB8PSBHZGsuTW9kaWZpZXJUeXBlLk1PRDRfTUFT SzsKKy0gICAgICAgICAgICBpZiAoKG1fc3dpdGNoX21vZGlmaWVycyAmIEdkay5Nb2RpZmllclR5 cGUuSFlQRVJfTUFTSykgIT0gMCkKKy0gICAgICAgICAgICAgICAgbV9zd2l0Y2hfbW9kaWZpZXJz IHw9IEdkay5Nb2RpZmllclR5cGUuTU9ENF9NQVNLOworKyAgICAgICAgICAgICAgICBpZiAoKHN3 aXRjaF9tb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBlLlNVUEVSX01BU0spICE9IDApCisrICAg ICAgICAgICAgICAgICAgICBzd2l0Y2hfbW9kaWZpZXJzIHw9IEdkay5Nb2RpZmllclR5cGUuTU9E NF9NQVNLOworKyAgICAgICAgICAgICAgICBpZiAoKHN3aXRjaF9tb2RpZmllcnMgJiBHZGsuTW9k aWZpZXJUeXBlLkhZUEVSX01BU0spICE9IDApCisrICAgICAgICAgICAgICAgICAgICBzd2l0Y2hf bW9kaWZpZXJzIHw9IEdkay5Nb2RpZmllclR5cGUuTU9ENF9NQVNLOworICNlbmRpZgorLSAgICAg ICAgICAgIG1fc3dpdGNoX21vZGlmaWVycyAmPSB+VklSVFVBTF9NT0RJRklFUlM7CistICAgICAg ICB9CisrICAgICAgICAgICAgICAgIHN3aXRjaF9tb2RpZmllcnMgJj0gflZJUlRVQUxfTU9ESUZJ RVJTOworKyAgICAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmIChtX3N3aXRjaF9rZXlzeW0gPT0g MCAmJiBtX3N3aXRjaF9tb2RpZmllcnMgPT0gMCkgeworLSAgICAgICAgICAgIHdhcm5pbmcoIlBh cnNlIGFjY2VsZXJhdG9yICclcycgZmFpbGVkISIsIGFjY2VsZXJhdG9yKTsKKy0gICAgICAgICAg ICByZXR1cm47CistICAgICAgICB9CisrICAgICAgICAgICAgaWYgKHN3aXRjaF9rZXlzeW0gPT0g MCAmJiBzd2l0Y2hfbW9kaWZpZXJzID09IDApIHsKKysgICAgICAgICAgICAgICAgd2FybmluZygi UGFyc2UgYWNjZWxlcmF0b3IgJyVzJyBmYWlsZWQhIiwgYWNjZWxlcmF0b3IpOworKyAgICAgICAg ICAgICAgICBjb250aW51ZTsKICsgICAgICAgICAgICB9CisgCistICAgICAgICBrZXliaW5kaW5n X21hbmFnZXIuYmluZChtX3N3aXRjaF9rZXlzeW0sIG1fc3dpdGNoX21vZGlmaWVycywKKy0gICAg ICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNoKGUsIGZhbHNlKSk7CisrICAg ICAgICAgICAgS2V5YmluZGluZyBrZXliaW5kaW5nID0gbmV3IEtleWJpbmRpbmcoc3dpdGNoX2tl eXN5bSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzd2l0Y2hfbW9kaWZpZXJzKTsKKysgICAgICAgICAgICBtX2tleWJpbmRpbmdzLmFwcGVuZChr ZXliaW5kaW5nKTsKKyAKKy0gICAgICAgIC8vIGFjY2VsZXJhdG9yIGFscmVhZHkgaGFzIFNoaWZ0 IG1hc2sKKy0gICAgICAgIGlmICgobV9zd2l0Y2hfbW9kaWZpZXJzICYgR2RrLk1vZGlmaWVyVHlw ZS5TSElGVF9NQVNLKSAhPSAwKQorLSAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgICAgICBr ZXliaW5kaW5nX21hbmFnZXIuYmluZChzd2l0Y2hfa2V5c3ltLCBzd2l0Y2hfbW9kaWZpZXJzLAor KyAgICAgICAgICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNoKGUsIGZhbHNl KSk7CisgCistICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIuYmluZChtX3N3aXRjaF9rZXlzeW0s CistICAgICAgICAgICAgICAgIG1fc3dpdGNoX21vZGlmaWVycyB8IEdkay5Nb2RpZmllclR5cGUu U0hJRlRfTUFTSywKKy0gICAgICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNo KGUsIHRydWUpKTsKKysgICAgICAgICAgICAvLyBhY2NlbGVyYXRvciBhbHJlYWR5IGhhcyBTaGlm dCBtYXNrCisrICAgICAgICAgICAgaWYgKChzd2l0Y2hfbW9kaWZpZXJzICYgR2RrLk1vZGlmaWVy VHlwZS5TSElGVF9NQVNLKSAhPSAwKSB7CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAg ICAgICAgICAgIH0KKysKKysgICAgICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIuYmluZChzd2l0 Y2hfa2V5c3ltLAorKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoX21vZGlmaWVycyB8IEdkay5N b2RpZmllclR5cGUuU0hJRlRfTUFTSywKKysgICAgICAgICAgICAgICAgICAgIChlKSA9PiBoYW5k bGVfZW5naW5lX3N3aXRjaChlLCB0cnVlKSk7CisrICAgICAgICB9CisgICAgIH0KKyAKKyAgICAg cHJpdmF0ZSB2b2lkIHVuYmluZF9zd2l0Y2hfc2hvcnRjdXQoKSB7CisgICAgICAgICB2YXIga2V5 YmluZGluZ19tYW5hZ2VyID0gS2V5YmluZGluZ01hbmFnZXIuZ2V0X2luc3RhbmNlKCk7CisgCist ICAgICAgICBpZiAobV9zd2l0Y2hfa2V5c3ltID09IDAgJiYgbV9zd2l0Y2hfbW9kaWZpZXJzID09 IDApCistICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgdW5vd25lZCBHTGliLkxpc3Q8S2V5 YmluZGluZz4ga2V5YmluZGluZ3MgPSBtX2tleWJpbmRpbmdzOworIAorLSAgICAgICAga2V5Ymlu ZGluZ19tYW5hZ2VyLnVuYmluZChtX3N3aXRjaF9rZXlzeW0sIG1fc3dpdGNoX21vZGlmaWVycyk7 CistICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIudW5iaW5kKG1fc3dpdGNoX2tleXN5bSwKKy0g ICAgICAgICAgICAgICAgbV9zd2l0Y2hfbW9kaWZpZXJzIHwgR2RrLk1vZGlmaWVyVHlwZS5TSElG VF9NQVNLKTsKKysgICAgICAgIGZvciAoOworKyAgICAgICAgICAgICBrZXliaW5kaW5ncyAhPSBu dWxsOworKyAgICAgICAgICAgICBrZXliaW5kaW5ncyA9IGtleWJpbmRpbmdzLm5leHQpIHsKKysg ICAgICAgICAgICBLZXliaW5kaW5nIGtleWJpbmRpbmcgPSBrZXliaW5kaW5ncy5kYXRhOworIAor LSAgICAgICAgbV9zd2l0Y2hfa2V5c3ltID0gMDsKKy0gICAgICAgIG1fc3dpdGNoX21vZGlmaWVy cyA9IDA7CisrICAgICAgICAgICAga2V5YmluZGluZ19tYW5hZ2VyLnVuYmluZChrZXliaW5kaW5n LmtleXN5bSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWJpbmRp bmcubW9kaWZpZXJzKTsKKysgICAgICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIudW5iaW5kKGtl eWJpbmRpbmcua2V5c3ltLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg a2V5YmluZGluZy5tb2RpZmllcnMgfCBHZGsuTW9kaWZpZXJUeXBlLlNISUZUX01BU0spOworKyAg ICAgICAgICAgIG1fa2V5YmluZGluZ3MucmVtb3ZlKGtleWJpbmRpbmcpOwogKyAgICAgICAgfQot KyAgICAgICAgbV9rZXliaW5kaW5ncyA9IGtleWJpbmRpbmdfbWFuYWdlci5nZXRfa2V5YmluZGlu Z3MoKTsKICAgICAgfQogIAogICAgICBwcml2YXRlIHZvaWQgc2V0X2N1c3RvbV9mb250KCkgewot QEAgLTE1MiwxMiArMjEzLDE0IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ugewor QEAgLTIwNCwxMiArMjc1LDE0IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ugewog ICAgICAgICAgfQogIAogICAgICAgICAgbV9jb25maWcgPSBjb25maWc7Ci0rICAgICAgICBzZXRf a2V5YmluZGluZygpOworKyAgICAgICAgYmluZF9zd2l0Y2hfc2hvcnRjdXQoKTsKICAgICAgICAg IGlmIChtX2NvbmZpZyAhPSBudWxsKSB7CiAgICAgICAgICAgICAgbV9jb25maWcudmFsdWVfY2hh bmdlZC5jb25uZWN0KGNvbmZpZ192YWx1ZV9jaGFuZ2VkX2NiKTsKICAgICAgICAgICAgICBtX2Nv bmZpZy53YXRjaCgiZ2VuZXJhbCIsICJwcmVsb2FkX2VuZ2luZXMiKTsKQEAgLTI2MTAsNyArMjgw Nyw3IEBAIGluZGV4IDI1MWE2NWUuLmZmODMyODQgMTAwNjQ0CiAgICAgICAgICAgICAgdXBkYXRl X2VuZ2luZXMobV9jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgInByZWxvYWRfZW5naW5lcyIp LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY29uZmlnLmdldF92YWx1ZSgiZ2VuZXJh bCIsICJlbmdpbmVzX29yZGVyIikpOwogICAgICAgICAgfSBlbHNlIHsKLUBAIC0xNjcsNiArMjMw LDE5MiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKK0BAIC0yMTksNiArMjky LDE5MiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKICAgICAgICAgIHNldF9j dXN0b21fZm9udCgpOwogICAgICB9CiAgCkBAIC0yODAzLDcgKzMwMDAsNyBAQCBpbmRleCAyNTFh NjVlLi5mZjgzMjg0IDEwMDY0NAogICAgICBwcml2YXRlIHZvaWQgc3dpdGNoX2VuZ2luZShpbnQg aSwgYm9vbCBmb3JjZSA9IGZhbHNlKSB7CiAgICAgICAgICBHTGliLmFzc2VydChpID49IDAgJiYg aSA8IG1fZW5naW5lcy5sZW5ndGgpOwogIAotQEAgLTE4NiwxNSArNDM1LDcgQEAgY2xhc3MgUGFu ZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CitAQCAtMjMzLDE1ICs0OTIsNyBAQCBjbGFzcyBQYW5l bCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9 CiAgICAgICAgICAvLyBzZXQgeGtiIGxheW91dApAQCAtMjgxNywxMTMgKzMwMTQsMTEwIEBAIGlu ZGV4IDI1MWE2NWUuLmZmODMyODQgMTAwNjQ0CiAtICAgICAgICAgICAgd2FybmluZygiZXhlY3V0 ZSBzZXR4a2JsYXlvdXQgZmFpbGVkIik7CiAtICAgICAgICB9CiArICAgICAgICBzZXRfbGF5b3V0 KGVuZ2luZS5nZXRfbGF5b3V0KCkpOworICAgICB9CiAgCi0gICAgICAgICBzdHJpbmdbXSBuYW1l cyA9IHt9OwotICAgICAgICAgZm9yZWFjaCh2YXIgZGVzYyBpbiBtX2VuZ2luZXMpIHsKLUBAIC0y MzQsNyArNDc1LDcgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CisgICAgIHBy aXZhdGUgdm9pZCBjb25maWdfdmFsdWVfY2hhbmdlZF9jYihJQnVzLkNvbmZpZyBjb25maWcsCitA QCAtMjcyLDggKzUyMyw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAg ICAgICAgICAgICAgICBldmVudCwgcHJpbWFyeV9tb2RpZmllcnMpOwogICAgICAgICAgaWYgKHBy ZXNzZWQpIHsKICAgICAgICAgICAgICBpbnQgaSA9IHJldmVydCA/IG1fZW5naW5lcy5sZW5ndGgg LSAxIDogMTsKLS0gICAgICAgICAgICBpID0gbV9zd2l0Y2hlci5ydW4oZXZlbnQsIG1fZW5naW5l cywgaSk7Ci0rICAgICAgICAgICAgaSA9IG1fc3dpdGNoZXIucnVuKGV2ZW50LCBtX2VuZ2luZXMs IGksIG1fa2V5YmluZGluZ3MpOworLSAgICAgICAgICAgIGkgPSBtX3N3aXRjaGVyLnJ1bihtX3N3 aXRjaF9rZXlzeW0sIG1fc3dpdGNoX21vZGlmaWVycywgZXZlbnQsCistICAgICAgICAgICAgICAg ICAgICBtX2VuZ2luZXMsIGkpOworKyAgICAgICAgICAgIGkgPSBtX3N3aXRjaGVyLnJ1bihtX2tl eWJpbmRpbmdzLCBldmVudCwgbV9lbmdpbmVzLCBpKTsKICAgICAgICAgICAgICBpZiAoaSA8IDAp IHsKICAgICAgICAgICAgICAgICAgZGVidWcoInN3aXRjaCBjYW5jZWxsZWQiKTsKICAgICAgICAg ICAgICB9IGVsc2UgewogZGlmZiAtLWdpdCBhL3VpL2d0azMvc3dpdGNoZXIudmFsYSBiL3VpL2d0 azMvc3dpdGNoZXIudmFsYQotaW5kZXggODE4MTJlYy4uNTJiMDU3NyAxMDA2NDQKK2luZGV4IGVh NTZjMDcuLmYyMDllN2YgMTAwNjQ0CiAtLS0gYS91aS9ndGszL3N3aXRjaGVyLnZhbGEKICsrKyBi L3VpL2d0azMvc3dpdGNoZXIudmFsYQotQEAgLTIzLDE0ICsyMyw0MiBAQAotIHVzaW5nIElCdXM7 Ci0gdXNpbmcgR0xpYjsKLSB1c2luZyBHdGs7Ci0rdXNpbmcgR2RrOworQEAgLTcxLDEzICs3MSwy MyBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgcHVibGljIHN0cmlu ZyBsb25nbmFtZSB7IGdldDsgc2V0OyB9CisgICAgIH0KICAKLSBjbGFzcyBTd2l0Y2hlciA6IEd0 ay5XaW5kb3cgewogKyAgICBwcml2YXRlIGNsYXNzIEtleWJpbmRpbmcgewotKyAgICAgICAgcHVi bGljIEtleWJpbmRpbmcoc3RyaW5nIGFjY2VsZXJhdG9yLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludCBrZXlzeW0sCisrICAgICAgICBwdWJsaWMgS2V5YmluZGluZyh1aW50IGtleXN5 bSwKICsgICAgICAgICAgICAgICAgICAgICAgICAgIEdkay5Nb2RpZmllclR5cGUgbW9kaWZpZXJz KSB7Ci0rICAgICAgICAgICAgdGhpcy5hY2NlbGVyYXRvciA9IGFjY2VsZXJhdG9yOwogKyAgICAg ICAgICAgIHRoaXMua2V5c3ltID0ga2V5c3ltOwogKyAgICAgICAgICAgIHRoaXMubW9kaWZpZXJz ID0gbW9kaWZpZXJzOwogKyAgICAgICAgfQogKwotKyAgICAgICAgcHVibGljIHN0cmluZyBhY2Nl bGVyYXRvciB7IGdldDsgc2V0OyB9CiArICAgICAgICBwdWJsaWMgdWludCBrZXlzeW0geyBnZXQ7 IHNldDsgfQogKyAgICAgICAgcHVibGljIEdkay5Nb2RpZmllclR5cGUgbW9kaWZpZXJzIHsgZ2V0 OyBzZXQ7IH0KICsgICAgfQogKwotKyAgICBwdWJsaWMgc3RhdGljIGNvbnN0IHVpbnQgTU9ESUZJ RVJfRklMVEVSID0KLSsgICAgICAgIEdkay5Nb2RpZmllclR5cGUuTU9ESUZJRVJfTUFTSyAmIH4o Ci0rICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLk1PRDJfTUFTSyB8Ci0rICAgICAgICBHZGsuTW9k aWZpZXJUeXBlLkxPQ0tfTUFTSyB8Ci0rICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLk1PRDRfTUFT SyB8Ci0rICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLk1PRDVfTUFTSyB8Ci0rICAgICAgICBHZGsu TW9kaWZpZXJUeXBlLkJVVFRPTjFfTUFTSyB8Ci0rICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLkJV VFRPTjJfTUFTSyB8Ci0rICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLkJVVFRPTjNfTUFTSyB8Ci0r ICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLkJVVFRPTjRfTUFTSyB8Ci0rICAgICAgICBHZGsuTW9k aWZpZXJUeXBlLkJVVFRPTjVfTUFTSyk7Ci0rCiAgICAgIHByaXZhdGUgR3RrLkJveCBtX2JveDsK LSAgICAgcHJpdmF0ZSBHdGsuQnV0dG9uW10gbV9idXR0b25zID0ge307CisgICAgIHByaXZhdGUg R3RrLkxhYmVsIG1fbGFiZWw7CisgICAgIHByaXZhdGUgSUJ1c0VuZ2luZUJ1dHRvbltdIG1fYnV0 dG9ucyA9IHt9OwogICAgICBwcml2YXRlIElCdXMuRW5naW5lRGVzY1tdIG1fZW5naW5lczsKICAg ICAgcHJpdmF0ZSB1aW50IG1fc2VsZWN0ZWRfZW5naW5lOwotICAgICBwcml2YXRlIHVpbnQgbV9w cmltYXJ5X21vZGlmaWVyOwotICAgICBwcml2YXRlIEdMaWIuTWFpbkxvb3AgbV9sb29wOworLSAg ICBwcml2YXRlIHVpbnQgbV9rZXl2YWw7CistICAgIHByaXZhdGUgdWludCBtX21vZGlmaWVyczsK ICsgICAgcHJpdmF0ZSB1bm93bmVkIEdMaWIuTGlzdDxLZXliaW5kaW5nPiBtX2tleWJpbmRpbmdz OworICAgICBwcml2YXRlIEdkay5Nb2RpZmllclR5cGUgbV9wcmltYXJ5X21vZGlmaWVyOworICAg ICBwcml2YXRlIEdMaWIuTWFpbkxvb3AgbV9sb29wOwogICAgICBwcml2YXRlIGludCBtX3Jlc3Vs dDsKLSAKLSAgICAgcHVibGljIFN3aXRjaGVyKCkgewotQEAgLTQ5LDcgKzc3LDcgQEAgY2xhc3Mg U3dpdGNoZXIgOiBHdGsuV2luZG93IHsKK0BAIC0xMTMsMTkgKzEyMywxNyBAQCBjbGFzcyBTd2l0 Y2hlciA6IEd0ay5XaW5kb3cgewogICAgICAgICAgZ3JhYl9mb2N1cygpOwogICAgICB9CiAgCi0t ICAgIHB1YmxpYyBpbnQgcnVuKEdkay5FdmVudCBldmVudCwgSUJ1cy5FbmdpbmVEZXNjW10gZW5n aW5lcywgaW50IGluZGV4KSB7Ci0rICAgIHB1YmxpYyBpbnQgcnVuKEdkay5FdmVudCBldmVudCwg SUJ1cy5FbmdpbmVEZXNjW10gZW5naW5lcywgaW50IGluZGV4LCBHTGliLkxpc3Qga2V5YmluZGlu Z3MpIHsKKy0gICAgcHVibGljIGludCBydW4odWludCBrZXl2YWwsCistICAgICAgICAgICAgICAg ICAgIHVpbnQgc3RhdGUsCisrICAgIHB1YmxpYyBpbnQgcnVuKEdMaWIuTGlzdCBrZXliaW5kaW5n cywKKyAgICAgICAgICAgICAgICAgICAgR2RrLkV2ZW50IGV2ZW50LAorICAgICAgICAgICAgICAg ICAgICBJQnVzLkVuZ2luZURlc2NbXSBlbmdpbmVzLAorICAgICAgICAgICAgICAgICAgICBpbnQg aW5kZXgpIHsKICAgICAgICAgIGFzc2VydCAobV9sb29wID09IG51bGwpOwogICAgICAgICAgYXNz ZXJ0IChpbmRleCA8IGVuZ2luZXMubGVuZ3RoKTsKICAKLUBAIC02MSw2ICs4OSw3IEBAIGNsYXNz IFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0gICAgICAgICBtX3Jlc3VsdCA9IDA7Ci0gICAgICAg ICBtX3NlbGVjdGVkX2VuZ2luZSA9IGluZGV4OwotICAgICAgICAgbV9idXR0b25zW2luZGV4XS5n cmFiX2ZvY3VzKCk7CistICAgICAgICBtX2tleXZhbCA9IGtleXZhbDsKKy0gICAgICAgIG1fbW9k aWZpZXJzID0gc3RhdGU7CiArICAgICAgICBtX2tleWJpbmRpbmdzID0gKEdMaWIuTGlzdDxLZXli aW5kaW5nPikga2V5YmluZGluZ3M7CisgICAgICAgICBtX3ByaW1hcnlfbW9kaWZpZXIgPQorICAg ICAgICAgICAgIEtleWJpbmRpbmdNYW5hZ2VyLmdldF9wcmltYXJ5X21vZGlmaWVyKAorLSAgICAg ICAgICAgICAgICBzdGF0ZSAmIEtleWJpbmRpbmdNYW5hZ2VyLk1PRElGSUVSX0ZJTFRFUik7Cisr ICAgICAgICAgICAgICAgIGV2ZW50LmtleS5zdGF0ZSAmIEtleWJpbmRpbmdNYW5hZ2VyLk1PRElG SUVSX0ZJTFRFUik7CiAgCi0gICAgICAgICBHZGsuRGV2aWNlIGRldmljZSA9IGV2ZW50LmdldF9k ZXZpY2UoKTsKLSAgICAgICAgIGlmIChkZXZpY2UgPT0gbnVsbCkgewotQEAgLTIxOSwxNCArMjQ4 LDI0IEBAIGNsYXNzIFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0gCisgICAgICAgICB1cGRhdGVf ZW5naW5lcyhlbmdpbmVzKTsKKyAgICAgICAgIG1fcmVzdWx0ID0gMDsKK0BAIC0zMTAsMjMgKzMx OCwyNiBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewogICAgICBwdWJsaWMgb3ZlcnJp ZGUgYm9vbCBrZXlfcHJlc3NfZXZlbnQoR2RrLkV2ZW50S2V5IGUpIHsKKyAgICAgICAgIGJvb2wg cmV0dmFsID0gdHJ1ZTsKICAgICAgICAgIEdkay5FdmVudEtleSAqcGUgPSAmZTsKLS0gICAgICAg IHN3aXRjaCAocGUtPmtleXZhbCkgewotLSAgICAgICAgICAgIGNhc2UgMHgwMDIwOiAvKiBzcGFj ZSAqLwotLSAgICAgICAgICAgIGNhc2UgMHhmZjgwOiAvKiBLUF9TcGFjZSAqLwotLSAgICAgICAg ICAgICAgICBpZiAoKHBlLT5zdGF0ZSAmIEdkay5Nb2RpZmllclR5cGUuU0hJRlRfTUFTSykgPT0g MCkKLSsgICAgICAgIEdkay5Nb2RpZmllclR5cGUgc3RhdGUgPSBwZS0+c3RhdGUgJiBNT0RJRklF Ul9GSUxURVI7Ci0rCisrICAgICAgICB1aW50IG1vZGlmaWVycyA9IEtleWJpbmRpbmdNYW5hZ2Vy Lk1PRElGSUVSX0ZJTFRFUiAmIHBlLT5zdGF0ZTsKKyAKKy0gICAgICAgIGRvIHsKKy0gICAgICAg ICAgICB1aW50IG1vZGlmaWVycyA9IEtleWJpbmRpbmdNYW5hZ2VyLk1PRElGSUVSX0ZJTFRFUiAm IHBlLT5zdGF0ZTsKKy0KKy0gICAgICAgICAgICBpZiAoKG1vZGlmaWVycyAhPSBtX21vZGlmaWVy cykgJiYKKy0gICAgICAgICAgICAgICAgKG1vZGlmaWVycyAhPSAobV9tb2RpZmllcnMgfCBHZGsu TW9kaWZpZXJUeXBlLlNISUZUX01BU0spKSkgeworLSAgICAgICAgICAgICAgICBicmVhazsKKy0g ICAgICAgICAgICB9CiArICAgICAgICBmb3IgKHVub3duZWQgR0xpYi5MaXN0PEtleWJpbmRpbmc+ IGtleWJpbmRpbmdzID0gbV9rZXliaW5kaW5nczsKICsgICAgICAgICAgICAga2V5YmluZGluZ3Mg IT0gbnVsbDsKICsgICAgICAgICAgICAga2V5YmluZGluZ3MgPSBrZXliaW5kaW5ncy5uZXh0KSB7 CiArICAgICAgICAgICAgS2V5YmluZGluZyBrZXliaW5kaW5nID0ga2V5YmluZGluZ3MuZGF0YTsK LSsgICAgICAgICAgICBpZiAocGUtPmtleXZhbCA9PSBrZXliaW5kaW5nLmtleXN5bSAmJgotKyAg ICAgICAgICAgICAgICBzdGF0ZSA9PSBrZXliaW5kaW5nLm1vZGlmaWVycykgewotKyAgICAgICAg ICAgICAgICBpZiAoKHN0YXRlICYgR2RrLk1vZGlmaWVyVHlwZS5TSElGVF9NQVNLKSA9PSAwKSB7 CisgCistICAgICAgICAgICAgaWYgKHBlLT5rZXl2YWwgPT0gbV9rZXl2YWwpIHsKKy0gICAgICAg ICAgICAgICAgaWYgKG1vZGlmaWVycyA9PSBtX21vZGlmaWVycykKKysgICAgICAgICAgICBpZiAo cGUtPmtleXZhbCA9PSBrZXliaW5kaW5nLmtleXN5bSkgeworKyAgICAgICAgICAgICAgICBpZiAo bW9kaWZpZXJzID09ICh1aW50KSBrZXliaW5kaW5nLm1vZGlmaWVycykgewogICAgICAgICAgICAg ICAgICAgICAgbmV4dF9lbmdpbmUoKTsKLS0gICAgICAgICAgICAgICAgZWxzZQotKyAgICAgICAg ICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBlbHNlIC8vIG1vZGlmaWZlcnMgPT0g bV9tb2RpZmllcnMgfCBTSElGVF9NQVNLCisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKKysgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RpZmllcnMgPT0KKysgICAgICAgICAg ICAgICAgICAgICAgICAoKHVpbnQpIGtleWJpbmRpbmcubW9kaWZpZXJzIHwgR2RrLk1vZGlmaWVy VHlwZS5TSElGVF9NQVNLKSkgewogICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNfZW5naW5l KCk7CiAtICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu IHRydWU7CiArICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7 Ci0rICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KICsgICAgICAgIH0KLSsKLSsgICAgICAg IHN3aXRjaCAocGUtPmtleXZhbCkgewotICAgICAgICAgICAgIGNhc2UgMHgwOGZiOiAvKiBsZWZ0 YXJyb3cgKi8KLSAgICAgICAgICAgICBjYXNlIDB4ZmY1MTogLyogRG93biAqLwotICAgICAgICAg ICAgICAgICBicmVhazsKKyAKKysgICAgICAgIGRvIHsKKyAgICAgICAgICAgICBzd2l0Y2ggKHBl LT5rZXl2YWwpIHsKKyAgICAgICAgICAgICAgICAgY2FzZSAweDA4ZmI6IC8qIGxlZnRhcnJvdyAq LworICAgICAgICAgICAgICAgICBjYXNlIDB4ZmY1MTogLyogTGVmdCAqLwogZGlmZiAtLWdpdCBh L3VpL2d0azMveGtibGF5b3V0LnZhbGEgYi91aS9ndGszL3hrYmxheW91dC52YWxhCiBuZXcgZmls ZSBtb2RlIDEwMDY0NAogaW5kZXggMDAwMDAwMC4uOGI3NTM4NwpAQCAtMzM5Nyw1ICszNTkxLDUg QEAgaW5kZXggMDAwMDAwMC4uOGI3NTM4NwogKyAgICAqLwogK30KIC0tIAotMS43LjEwCisxLjcu MTAuNAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmlu ZGV4IGY5Y2E3ZjYuLjNmNmRlYjQgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9p YnVzLUhFQUQucGF0Y2gKQEAgLTEsMzcgKzEsMzExIEBACi1Gcm9tIDQ2OTMzNTczMGJiOWRjN2Jh MTcwMmNmYzUxMDg0OTFiNjk5MzY3N2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGY0 NTNiZjgzZjUwMmQ4YjFlMmI2ZjA3Y2Y2NjljMTRjYmNmZTAwOGUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KK0RhdGU6 IFRodSwgMTIgSnVsIDIwMTIgMTY6NDE6MzAgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gSUJ1c0J1 czogaG9ub3IgbmV3IGNvbm5lY3QtYXN5bmMgcHJvcCBpbiB0aGUgc29ja2V0IG1vbml0b3IKKyBj YWxsYmFjaworCitJIHRoaW5rIHdlIHNob3VsZCBtYWtlIHVzZSBvZiB0aGUgYXN5bmMgY29ubmVj dGlvbiBoZXJlIGlmIHRoZQorcHJvcGVydHkgaXMgc2V0LgorCitCdXQgd2UgYWxzbyBuZWVkIGEg bmV3IGZsYWcgZm9yIG9uZ29pbmcgYXN5bmMgY29ubmVjdGlvbiBhdHRlbXB0cworYmVjYXVzZSB0 aGUgc29ja2V0IG1vbml0b3IgY2FsbGJhY2sgbWF5IGJlIGNhbGxlZCBzZXZlcmFsIHRpbWVzIGJl Zm9yZQordGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCisKK0JVRz1odHRwOi8vY29kZS5n b29nbGUuY29tL3AvaWJ1cy9pc3N1ZXMvZGV0YWlsP2lkPTE0ODIKK1RFU1Q9CisKK1JldmlldyBV Ukw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS82MzQ2MDkwCistLS0KKyBzcmMvaWJ1 c2J1cy5jIHwgIDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgNTYgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvaWJ1c2J1cy5jIGIvc3JjL2lidXNidXMuYwor aW5kZXggZmMzYzExYi4uOTExODAyMCAxMDA2NDQKKy0tLSBhL3NyYy9pYnVzYnVzLmMKKysrKyBi L3NyYy9pYnVzYnVzLmMKK0BAIC02MCw2ICs2MCw4IEBAIHN0cnVjdCBfSUJ1c0J1c1ByaXZhdGUg eworICAgICBJQnVzQ29uZmlnICpjb25maWc7CisgICAgIGdjaGFyICp1bmlxdWVfbmFtZTsKKyAg ICAgZ2Jvb2xlYW4gY29ubmVjdF9hc3luYzsKKysgICAgZ2NoYXIgKmJ1c19hZGRyZXNzOworKyAg ICBHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlOworIH07CisgCisgc3RhdGljIGd1aW50ICAgIGJ1 c19zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCB9OworQEAgLTEwMyw2ICsxMDUsOCBAQCBzdGF0 aWMgdm9pZCAgICAgIGlidXNfYnVzX2dldF9wcm9wZXJ0eSAgICAgICAgICAgKElCdXNCdXMgICAg ICAgICAgICAgICAgKmJ1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdWYWx1ZSAgICAgICAgICAgICAgICAgKnZhbHVlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAgICAgICAg ICAgICAqcHNwZWMpOworIAorK3N0YXRpYyB2b2lkICAgICBpYnVzX2J1c19jbG9zZV9jb25uZWN0 aW9uICAgICAgICAoSUJ1c0J1cyAgICAgICAgICAgICAgICAqYnVzKTsKKysKKyBHX0RFRklORV9U WVBFIChJQnVzQnVzLCBpYnVzX2J1cywgSUJVU19UWVBFX09CSkVDVCkKKyAKKyBzdGF0aWMgdm9p ZAorQEAgLTI3MCw1NiArMjc0LDU3IEBAIF9jb25uZWN0aW9uX2Nsb3NlZF9jYiAoR0RCdXNDb25u ZWN0aW9uICAqY29ubmVjdGlvbiwKKyAgICAgICAgICAqIEhvd2V2ZXIgd2UgdGhpbmsgdGhlIGVy cm9yIG1lc3NhZ2UgaXMgYWxtb3N0IGhhcm1sZXNzLiAqLworICAgICAgICAgZ19kZWJ1ZyAoIl9j b25uZWN0aW9uX2Nsb3NlZF9jYjogJXMiLCBlcnJvci0+bWVzc2FnZSk7CisgICAgIH0KKysgICAg aWJ1c19idXNfY2xvc2VfY29ubmVjdGlvbiAoYnVzKTsKKyt9CisgCistICAgIGdfYXNzZXJ0IChi dXMtPnByaXYtPmNvbm5lY3Rpb24gPT0gY29ubmVjdGlvbik7CistICAgIGdfc2lnbmFsX2hhbmRs ZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyAoYnVzLT5wcml2LT5jb25uZWN0aW9uLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9jb25uZWN0aW9u X2Nsb3NlZF9jYiksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YnVzKTsKKy0gICAgZ19vYmplY3RfdW5yZWYgKGJ1cy0+cHJpdi0+Y29ubmVjdGlvbik7CistICAg IGJ1cy0+cHJpdi0+Y29ubmVjdGlvbiA9IE5VTEw7CistCisrc3RhdGljIHZvaWQKKytpYnVzX2J1 c19jbG9zZV9jb25uZWN0aW9uIChJQnVzQnVzICpidXMpCisreworICAgICBnX2ZyZWUgKGJ1cy0+ cHJpdi0+dW5pcXVlX25hbWUpOworICAgICBidXMtPnByaXYtPnVuaXF1ZV9uYW1lID0gTlVMTDsK KyAKKyAgICAgYnVzLT5wcml2LT53YXRjaF9kYnVzX3NpZ25hbF9pZCA9IDA7CisgICAgIGJ1cy0+ cHJpdi0+d2F0Y2hfaWJ1c19zaWduYWxfaWQgPSAwOworIAorLSAgICBnX3NpZ25hbF9lbWl0IChi dXMsIGJ1c19zaWduYWxzW0RJU0NPTk5FQ1RFRF0sIDApOworLX0KKysgICAgZ19mcmVlIChidXMt PnByaXYtPmJ1c19hZGRyZXNzKTsKKysgICAgYnVzLT5wcml2LT5idXNfYWRkcmVzcyA9IE5VTEw7 CisrCisrICAgIC8qIENhbmNlbCBvbmdvaW5nIGNvbm5lY3QgcmVxdWVzdC4gKi8KKysgICAgZ19j YW5jZWxsYWJsZV9jYW5jZWwgKGJ1cy0+cHJpdi0+Y2FuY2VsbGFibGUpOworKyAgICBnX2NhbmNl bGxhYmxlX3Jlc2V0IChidXMtPnByaXYtPmNhbmNlbGxhYmxlKTsKKyAKKy1zdGF0aWMgdm9pZAor LWlidXNfYnVzX2Rpc2Nvbm5lY3QgKElCdXNCdXMgKmJ1cykKKy17CisgICAgIC8qIHVucmVmIHRo ZSBvbGQgY29ubmVjdGlvbiBhdCBmaXJzdCAqLworICAgICBpZiAoYnVzLT5wcml2LT5jb25uZWN0 aW9uICE9IE5VTEwpIHsKKyAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlf ZnVuYyAoYnVzLT5wcml2LT5jb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfY29ubmVjdGlvbl9jbG9zZWRfY2IpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXMpOworKyAg ICAgICAgaWYgKCFnX2RidXNfY29ubmVjdGlvbl9pc19jbG9zZWQoYnVzLT5wcml2LT5jb25uZWN0 aW9uKSkKKysgICAgICAgICAgICBnX2RidXNfY29ubmVjdGlvbl9jbG9zZShidXMtPnByaXYtPmNv bm5lY3Rpb24sIE5VTEwsIE5VTEwsIE5VTEwpOworICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGJ1 cy0+cHJpdi0+Y29ubmVjdGlvbik7CisgICAgICAgICBidXMtPnByaXYtPmNvbm5lY3Rpb24gPSBO VUxMOworKyAgICAgICAgZ19zaWduYWxfZW1pdCAoYnVzLCBidXNfc2lnbmFsc1tESVNDT05ORUNU RURdLCAwKTsKKyAgICAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorLWlidXNfYnVzX2Nvbm5lY3Rf ZmluaXNoIChJQnVzQnVzICpidXMpCisteworLSAgICBpZiAoYnVzLT5wcml2LT5jb25uZWN0aW9u KSB7CistICAgICAgICAvKiBGSVhNRSAqLworLSAgICAgICAgaWJ1c19idXNfaGVsbG8gKGJ1cyk7 CistCistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChidXMtPnByaXYtPmNvbm5lY3Rpb24sCist ICAgICAgICAgICAgICAgICAgICAgICAgICAiY2xvc2VkIiwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgIChHQ2FsbGJhY2spIF9jb25uZWN0aW9uX2Nsb3NlZF9jYiwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgIGJ1cyk7CistICAgICAgICBpZiAoYnVzLT5wcml2LT53YXRjaF9kYnVzX3Np Z25hbCkgeworLSAgICAgICAgICAgIGlidXNfYnVzX3dhdGNoX2RidXNfc2lnbmFsIChidXMpOwor LSAgICAgICAgfQorLSAgICAgICAgaWYgKGJ1cy0+cHJpdi0+d2F0Y2hfaWJ1c19zaWduYWwpIHsK Ky0gICAgICAgICAgICBpYnVzX2J1c193YXRjaF9pYnVzX3NpZ25hbCAoYnVzKTsKKy0gICAgICAg IH0KKy0KKy0gICAgICAgIGdfc2lnbmFsX2VtaXQgKGJ1cywgYnVzX3NpZ25hbHNbQ09OTkVDVEVE XSwgMCk7CisraWJ1c19idXNfY29ubmVjdF9jb21wbGV0ZWQgKElCdXNCdXMgKmJ1cykKKyt7Cisr ICAgIGdfYXNzZXJ0IChidXMtPnByaXYtPmNvbm5lY3Rpb24pOworKyAgICAvKiBGSVhNRSAqLwor KyAgICBpYnVzX2J1c19oZWxsbyAoYnVzKTsKKysKKysgICAgZ19zaWduYWxfY29ubmVjdCAoYnVz LT5wcml2LT5jb25uZWN0aW9uLAorKyAgICAgICAgICAgICAgICAgICAgICAiY2xvc2VkIiwKKysg ICAgICAgICAgICAgICAgICAgICAgKEdDYWxsYmFjaykgX2Nvbm5lY3Rpb25fY2xvc2VkX2NiLAor KyAgICAgICAgICAgICAgICAgICAgICBidXMpOworKyAgICBpZiAoYnVzLT5wcml2LT53YXRjaF9k YnVzX3NpZ25hbCkgeworKyAgICAgICAgaWJ1c19idXNfd2F0Y2hfZGJ1c19zaWduYWwgKGJ1cyk7 CisrICAgIH0KKysgICAgaWYgKGJ1cy0+cHJpdi0+d2F0Y2hfaWJ1c19zaWduYWwpIHsKKysgICAg ICAgIGlidXNfYnVzX3dhdGNoX2lidXNfc2lnbmFsIChidXMpOworICAgICB9CisrCisrICAgIGdf c2lnbmFsX2VtaXQgKGJ1cywgYnVzX3NpZ25hbHNbQ09OTkVDVEVEXSwgMCk7CisgfQorIAorIHN0 YXRpYyB2b2lkCitAQCAtMzMzLDcgKzMzOCw4IEBAIF9idXNfY29ubmVjdF9hc3luY19jYiAoR09i amVjdCAgICAgICpzb3VyY2Vfb2JqZWN0LAorICAgICBJQnVzQnVzICpidXMgICA9IElCVVNfQlVT ICh1c2VyX2RhdGEpOworICAgICBHRXJyb3IgICplcnJvciA9IE5VTEw7CisgCistICAgIGJ1cy0+ cHJpdi0+Y29ubmVjdGlvbiA9IGdfZGJ1c19jb25uZWN0aW9uX25ld19mb3JfYWRkcmVzc19maW5p c2ggKHJlcywgJmVycm9yKTsKKysgICAgYnVzLT5wcml2LT5jb25uZWN0aW9uID0KKysgICAgICAg ICAgICAgICAgZ19kYnVzX2Nvbm5lY3Rpb25fbmV3X2Zvcl9hZGRyZXNzX2ZpbmlzaCAocmVzLCAm ZXJyb3IpOworIAorICAgICBpZiAoZXJyb3IgIT0gTlVMTCkgeworICAgICAgICAgZ193YXJuaW5n ICgiVW5hYmxlIHRvIGNvbm5lY3QgdG8gaWJ1czogJXMiLCBlcnJvci0+bWVzc2FnZSk7CitAQCAt MzQxLDggKzM0NywxMyBAQCBfYnVzX2Nvbm5lY3RfYXN5bmNfY2IgKEdPYmplY3QgICAgICAqc291 cmNlX29iamVjdCwKKyAgICAgICAgIGVycm9yID0gTlVMTDsKKyAgICAgfQorIAorLSAgICBpZiAo YnVzLT5wcml2LT5jb25uZWN0aW9uKQorLSAgICAgICAgaWJ1c19idXNfY29ubmVjdF9maW5pc2gg KGJ1cyk7CisrICAgIGlmIChidXMtPnByaXYtPmNvbm5lY3Rpb24gIT0gTlVMTCkgeworKyAgICAg ICAgaWJ1c19idXNfY29ubmVjdF9jb21wbGV0ZWQgKGJ1cyk7CisrICAgIH0KKysgICAgZWxzZSB7 CisrICAgICAgICBnX2ZyZWUgKGJ1cy0+cHJpdi0+YnVzX2FkZHJlc3MpOworKyAgICAgICAgYnVz LT5wcml2LT5idXNfYWRkcmVzcyA9IE5VTEw7CisrICAgIH0KKyAKKyAgICAgLyogdW5yZWYgdGhl IHJlZiBmcm9tIGlidXNfYnVzX2Nvbm5lY3QgKi8KKyAgICAgZ19vYmplY3RfdW5yZWYgKGJ1cyk7 CitAQCAtMzUxLDMyICszNjIsNTIgQEAgX2J1c19jb25uZWN0X2FzeW5jX2NiIChHT2JqZWN0ICAg ICAgKnNvdXJjZV9vYmplY3QsCisgc3RhdGljIHZvaWQKKyBpYnVzX2J1c19jb25uZWN0X2FzeW5j IChJQnVzQnVzICpidXMpCisgeworLSAgICBpYnVzX2J1c19kaXNjb25uZWN0IChidXMpOworKyAg ICBjb25zdCBnY2hhciAqYnVzX2FkZHJlc3MgPSBpYnVzX2dldF9hZGRyZXNzICgpOworIAorLSAg ICBpZiAoaWJ1c19nZXRfYWRkcmVzcyAoKSAhPSBOVUxMKSB7CistICAgICAgICBnX29iamVjdF9y ZWYgKGJ1cyk7CistICAgICAgICBnX2RidXNfY29ubmVjdGlvbl9uZXdfZm9yX2FkZHJlc3MgKGli dXNfZ2V0X2FkZHJlc3MgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX0FVVEhFTlRJQ0FUSU9OX0NMSUVOVCB8Cist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfREJVU19DT05ORUNU SU9OX0ZMQUdTX01FU1NBR0VfQlVTX0NPTk5FQ1RJT04sCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF9idXNfY29ubmVjdF9hc3luY19jYiwgYnVzKTsKKy0gICAg fQorKyAgICBpZiAoYnVzX2FkZHJlc3MgPT0gTlVMTCkKKysgICAgICAgIHJldHVybjsKKysKKysg ICAgaWYgKGdfc3RyY21wMCAoYnVzLT5wcml2LT5idXNfYWRkcmVzcywgYnVzX2FkZHJlc3MpID09 IDApCisrICAgICAgICByZXR1cm47CisrCisrICAgIC8qIENsb3NlIGN1cnJlbnQgY29ubmVjdGlv biBhbmQgY2FuY2VsIG9uZ29pbmcgY29ubmVjdCByZXF1ZXN0LiAqLworKyAgICBpYnVzX2J1c19j bG9zZV9jb25uZWN0aW9uIChidXMpOworKworKyAgICBidXMtPnByaXYtPmJ1c19hZGRyZXNzID0g Z19zdHJkdXAgKGJ1c19hZGRyZXNzKTsKKysgICAgZ19vYmplY3RfcmVmIChidXMpOworKyAgICBn X2RidXNfY29ubmVjdGlvbl9uZXdfZm9yX2FkZHJlc3MgKAorKyAgICAgICAgICAgIGJ1c19hZGRy ZXNzLAorKyAgICAgICAgICAgIEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX0FVVEhFTlRJQ0FUSU9O X0NMSUVOVCB8CisrICAgICAgICAgICAgR19EQlVTX0NPTk5FQ1RJT05fRkxBR1NfTUVTU0FHRV9C VVNfQ09OTkVDVElPTiwKKysgICAgICAgICAgICBOVUxMLAorKyAgICAgICAgICAgIGJ1cy0+cHJp di0+Y2FuY2VsbGFibGUsCisrICAgICAgICAgICAgX2J1c19jb25uZWN0X2FzeW5jX2NiLCBidXMp OworIH0KKyAKKyBzdGF0aWMgdm9pZAorIGlidXNfYnVzX2Nvbm5lY3QgKElCdXNCdXMgKmJ1cykK KyB7CistICAgIGlidXNfYnVzX2Rpc2Nvbm5lY3QgKGJ1cyk7CisrICAgIGNvbnN0IGdjaGFyICpi dXNfYWRkcmVzcyA9IGlidXNfZ2V0X2FkZHJlc3MgKCk7CisgCistICAgIGlmIChpYnVzX2dldF9h ZGRyZXNzICgpICE9IE5VTEwpIHsKKy0gICAgICAgIGJ1cy0+cHJpdi0+Y29ubmVjdGlvbiA9Cist ICAgICAgICAgICAgZ19kYnVzX2Nvbm5lY3Rpb25fbmV3X2Zvcl9hZGRyZXNzX3N5bmMgKGlidXNf Z2V0X2FkZHJlc3MgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX0FVVEhFTlRJQ0FUSU9OX0NMSUVO VCB8CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX01FU1NBR0VfQlVTX0NPTk5FQ1RJT04sCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEws IE5VTEwpOworLSAgICB9CisrICAgIGlmIChidXNfYWRkcmVzcyA9PSBOVUxMKQorKyAgICAgICAg cmV0dXJuOworIAorLSAgICBpYnVzX2J1c19jb25uZWN0X2ZpbmlzaCAoYnVzKTsKKysgICAgaWYg KGdfc3RyY21wMCAoYnVzX2FkZHJlc3MsIGJ1cy0+cHJpdi0+YnVzX2FkZHJlc3MpID09IDAgJiYK KysgICAgICAgIGJ1cy0+cHJpdi0+Y29ubmVjdGlvbiAhPSBOVUxMKQorKyAgICAgICAgcmV0dXJu OworKworKyAgICAvKiBDbG9zZSBjdXJyZW50IGNvbm5lY3Rpb24gYW5kIGNhbmNlbCBvbmdvaW5n IGNvbm5lY3QgcmVxdWVzdC4gKi8KKysgICAgaWJ1c19idXNfY2xvc2VfY29ubmVjdGlvbiAoYnVz KTsKKysKKysgICAgYnVzLT5wcml2LT5jb25uZWN0aW9uID0gZ19kYnVzX2Nvbm5lY3Rpb25fbmV3 X2Zvcl9hZGRyZXNzX3N5bmMgKAorKyAgICAgICAgICAgIGJ1c19hZGRyZXNzLAorKyAgICAgICAg ICAgIEdfREJVU19DT05ORUNUSU9OX0ZMQUdTX0FVVEhFTlRJQ0FUSU9OX0NMSUVOVCB8CisrICAg ICAgICAgICAgR19EQlVTX0NPTk5FQ1RJT05fRkxBR1NfTUVTU0FHRV9CVVNfQ09OTkVDVElPTiwK KysgICAgICAgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKysgICAgaWYgKGJ1cy0+cHJpdi0+Y29u bmVjdGlvbikgeworKyAgICAgICAgYnVzLT5wcml2LT5idXNfYWRkcmVzcyA9IGdfc3RyZHVwIChi dXNfYWRkcmVzcyk7CisrICAgICAgICBpYnVzX2J1c19jb25uZWN0X2NvbXBsZXRlZCAoYnVzKTsK KysgICAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTM5MSwxMCArNDIyLDcgQEAgX2NoYW5n ZWRfY2IgKEdGaWxlTW9uaXRvciAgICAgICAqbW9uaXRvciwKKyAgICAgICAgIGV2ZW50X3R5cGUg IT0gR19GSUxFX01PTklUT1JfRVZFTlRfREVMRVRFRCkKKyAgICAgICAgIHJldHVybjsKKyAKKy0g ICAgaWYgKGlidXNfYnVzX2lzX2Nvbm5lY3RlZCAoYnVzKSkKKy0gICAgICAgIHJldHVybjsKKy0K Ky0gICAgaWJ1c19idXNfY29ubmVjdCAoYnVzKTsKKysgICAgaWJ1c19idXNfY29ubmVjdF9hc3lu YyAoYnVzKTsKKyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC00MTQsNiArNDQyLDggQEAgaWJ1c19i dXNfaW5pdCAoSUJ1c0J1cyAqYnVzKQorICAgICBidXMtPnByaXYtPndhdGNoX2lidXNfc2lnbmFs X2lkID0gMDsKKyAgICAgYnVzLT5wcml2LT51bmlxdWVfbmFtZSA9IE5VTEw7CisgICAgIGJ1cy0+ cHJpdi0+Y29ubmVjdF9hc3luYyA9IEZBTFNFOworKyAgICBidXMtPnByaXYtPmJ1c19hZGRyZXNz ID0gTlVMTDsKKysgICAgYnVzLT5wcml2LT5jYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3 ICgpOworIAorICAgICBwYXRoID0gZ19wYXRoX2dldF9kaXJuYW1lIChpYnVzX2dldF9zb2NrZXRf cGF0aCAoKSk7CisgCitAQCAtNTIzLDYgKzU1MywxMyBAQCBpYnVzX2J1c19kZXN0cm95IChJQnVz T2JqZWN0ICpvYmplY3QpCisgICAgIGdfZnJlZSAoYnVzLT5wcml2LT51bmlxdWVfbmFtZSk7Cisg ICAgIGJ1cy0+cHJpdi0+dW5pcXVlX25hbWUgPSBOVUxMOworIAorKyAgICBnX2ZyZWUgKGJ1cy0+ cHJpdi0+YnVzX2FkZHJlc3MpOworKyAgICBidXMtPnByaXYtPmJ1c19hZGRyZXNzID0gTlVMTDsK KysKKysgICAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKGJ1cy0+cHJpdi0+Y2FuY2VsbGFibGUpOwor KyAgICBnX29iamVjdF91bnJlZiAoYnVzLT5wcml2LT5jYW5jZWxsYWJsZSk7CisrICAgIGJ1cy0+ cHJpdi0+Y2FuY2VsbGFibGUgPSBOVUxMOworKworICAgICBJQlVTX09CSkVDVF9DTEFTUyAoaWJ1 c19idXNfcGFyZW50X2NsYXNzKS0+ZGVzdHJveSAob2JqZWN0KTsKKyB9CisgCitAQCAtMTYyMSw3 ICsxNjU4LDcgQEAgaWJ1c19idXNfZ2V0X2VuZ2luZXNfYnlfbmFtZXMgKElCdXNCdXMgICAgICAg ICAgICAgKmJ1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1ZBUklBTlRf VFlQRSAoIihhdikiKSk7CisgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgIHJldHVy biBOVUxMOworLSAgICAKKysKKyAgICAgR0FycmF5ICphcnJheSA9IGdfYXJyYXlfbmV3IChUUlVF LCBUUlVFLCBzaXplb2YgKElCdXNFbmdpbmVEZXNjICopKTsKKyAgICAgR1ZhcmlhbnRJdGVyICpp dGVyID0gTlVMTDsKKyAgICAgZ192YXJpYW50X2dldCAocmVzdWx0LCAiKGF2KSIsICZpdGVyKTsK Ky0tIAorMS43LjEwLjQKKworRnJvbSA1MmZiZjgyZGQxYmFiYzBkOGRlN2JlMGY1YmI2ZGU2MjJj MDY5YjRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0IDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogV2VkLCA5IE1heSAyMDEyIDE3OjA5OjIzICswOTAw CitEYXRlOiBUdWUsIDEyIEp1biAyMDEyIDExOjUzOjI5ICswOTAwCiBTdWJqZWN0OiBbUEFUQ0hd IEZpeCBub3QgdG8gc3dpdGNoIGVuZ2luZXMgYnkgbm9uLXRyaWdnZXIga2V5cy4KIAogLS0tCi0g dWkvZ3RrMy9zd2l0Y2hlci52YWxhIHwgICAgNyArKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDYg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHVpL2d0azMvc3dpdGNoZXIudmFsYSB8ICAg IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0 IGEvdWkvZ3RrMy9zd2l0Y2hlci52YWxhIGIvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi1pbmRleCA3 M2I1OGQyLi44MTgxMmVjIDEwMDY0NAoraW5kZXggYjU0M2E4Zi4uZWE1NmMwNyAxMDA2NDQKIC0t LSBhL3VpL2d0azMvc3dpdGNoZXIudmFsYQogKysrIGIvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi1A QCAtNTgsNiArNTgsNyBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewotICAgICAgICAg ICAgICAgICBldmVudC5rZXkuc3RhdGUgJiBLZXliaW5kaW5nTWFuYWdlci5NT0RJRklFUl9GSUxU RVIpOworQEAgLTEyOCw2ICsxMjgsNyBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewor ICAgICAgICAgICAgICAgICBzdGF0ZSAmIEtleWJpbmRpbmdNYW5hZ2VyLk1PRElGSUVSX0ZJTFRF Uik7CiAgCiAgICAgICAgICB1cGRhdGVfZW5naW5lcyhlbmdpbmVzKTsKICsgICAgICAgIG1fcmVz dWx0ID0gMDsKICAgICAgICAgIG1fc2VsZWN0ZWRfZW5naW5lID0gaW5kZXg7CisgICAgICAgICBt X2xhYmVsLnNldF90ZXh0KG1fYnV0dG9uc1tpbmRleF0ubG9uZ25hbWUpOwogICAgICAgICAgbV9i dXR0b25zW2luZGV4XS5ncmFiX2ZvY3VzKCk7Ci0gCi1AQCAtMjQyLDcgKzI0MywxMSBAQCBjbGFz cyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICBkZWJ1ZygiMHglMDR4IiwgcGUtPmtl eXZhbCk7Ci0tICAgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgICAgICBpZiAobV9s b29wICE9IG51bGwpIHsKLSsgICAgICAgICAgICAgICAgICAgIG1fbG9vcC5xdWl0KCk7Ci0rICAg ICAgICAgICAgICAgICAgICBtX2xvb3AgPSBudWxsOwotKyAgICAgICAgICAgICAgICB9Ci0rICAg ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgIH0KLSAgICAgICAgIHJldHVybiB0 cnVlOwotICAgICB9CitAQCAtMzQzLDYgKzM0NCwxMSBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5X aW5kb3cgeworICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgIGRl ZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiMHglMDR4IiwgcGUtPmtleXZhbCk7 CisrICAgICAgICAgICAgICAgICAgICBpZiAobV9sb29wICE9IG51bGwpIHsKKysgICAgICAgICAg ICAgICAgICAgICAgICBtX2xvb3AucXVpdCgpOworKyAgICAgICAgICAgICAgICAgICAgICAgIG1f bG9vcCA9IG51bGw7CisrICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgICAg ICByZXR2YWwgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg ICAgIH0KKyAgICAgICAgIH0gd2hpbGUgKGZhbHNlKTsKIC0tIAotMS43LjEwCisxLjcuMTAuNAog CgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1icmFuZGluZy1zd2l0Y2hlci11aS5wYXRjaCBiL2lidXMt eHgtYnJhbmRpbmctc3dpdGNoZXItdWkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDViN2FlM2IuLjAwMDAwMDAKLS0tIGEvaWJ1cy14eC1icmFuZGluZy1zd2l0Y2hlci11aS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi1kaWZmIC0tZ2l0IGEvdWkvZ3Rr My9zd2l0Y2hlci52YWxhIGIvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi1pbmRleCA1MmIwNTc3Li43 ODIxMjIxIDEwMDY0NAotLS0tIGEvdWkvZ3RrMy9zd2l0Y2hlci52YWxhCi0rKysgYi91aS9ndGsz L3N3aXRjaGVyLnZhbGEKLUBAIC0yNCw2ICsyNCw4IEBAIHVzaW5nIElCdXM7Ci0gdXNpbmcgR0xp YjsKLSB1c2luZyBHdGs7Ci0gdXNpbmcgR2RrOwotK3VzaW5nIFBhbmdvOwotK3VzaW5nIEF0azsK LSAKLSBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewotICAgICBwcml2YXRlIGNsYXNzIEtl eWJpbmRpbmcgewotQEAgLTUzLDYgKzU1LDcgQEAgY2xhc3MgU3dpdGNoZXIgOiBHdGsuV2luZG93 IHsKLSAgICAgICAgIEdkay5Nb2RpZmllclR5cGUuQlVUVE9ONV9NQVNLKTsKLSAKLSAgICAgcHJp dmF0ZSBHdGsuQm94IG1fYm94OwotKyAgICBwcml2YXRlIEd0ay5MYWJlbCBtX2xhYmVsOwotICAg ICBwcml2YXRlIEd0ay5CdXR0b25bXSBtX2J1dHRvbnMgPSB7fTsKLSAgICAgcHJpdmF0ZSBJQnVz LkVuZ2luZURlc2NbXSBtX2VuZ2luZXM7Ci0gICAgIHByaXZhdGUgdWludCBtX3NlbGVjdGVkX2Vu Z2luZTsKLUBAIC02MCw2ICs2Myw4IEBAIGNsYXNzIFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0g ICAgIHByaXZhdGUgR0xpYi5NYWluTG9vcCBtX2xvb3A7Ci0gICAgIHByaXZhdGUgdW5vd25lZCBH TGliLkxpc3Q8S2V5YmluZGluZz4gbV9rZXliaW5kaW5nczsKLSAgICAgcHJpdmF0ZSBpbnQgbV9y ZXN1bHQ7Ci0rICAgIHByaXZhdGUgaW50IG1fZGVmYXVsdF9mb250X3NpemUgPSAxNjsKLSsgICAg cHJpdmF0ZSBjb25zdCBpbnQgbV9kZXNjX2xhYmVsX21heF9sZW4gPSAyMDsKLSAKLSAgICAgcHVi bGljIFN3aXRjaGVyKCkgewotICAgICAgICAgR0xpYi5PYmplY3QoCi1AQCAtNzEsOCArNzYsMjMg QEAgY2xhc3MgU3dpdGNoZXIgOiBHdGsuV2luZG93IHsKLSAgICAgICAgICAgICBtb2RhbCA6IHRy dWUsCi0gICAgICAgICAgICAgZm9jdXNfdmlzaWJsZSA6IHRydWUKLSAgICAgICAgICk7Ci0tICAg ICAgICBtX2JveCA9IG5ldyBHdGsuQm94KEd0ay5PcmllbnRhdGlvbi5WRVJUSUNBTCwgMCk7Ci0t ICAgICAgICBhZGQobV9ib3gpOwotKyAgICAgICAgR3RrLkJveCB2Ym94ID0gbmV3IEd0ay5Cb3go R3RrLk9yaWVudGF0aW9uLlZFUlRJQ0FMLCAwKTsKLSsgICAgICAgIGFkZCh2Ym94KTsKLSsgICAg ICAgIEd0ay5BbGlnbm1lbnQgYWxpZ24gPSBuZXcgR3RrLkFsaWdubWVudCgwLjVmLCAwLjVmLCAw LjBmLCAwLjBmKTsKLSsgICAgICAgIHZib3gucGFja19zdGFydChhbGlnbiwgdHJ1ZSwgdHJ1ZSwg MCk7Ci0rICAgICAgICBtX2JveCA9IG5ldyBHdGsuQm94KEd0ay5PcmllbnRhdGlvbi5IT1JJWk9O VEFMLCAwKTsKLSsgICAgICAgIGFsaWduLmFkZChtX2JveCk7Ci0rICAgICAgICBtX2xhYmVsID0g bmV3IEd0ay5MYWJlbCgiIik7Ci0rCi0rICAgICAgICAvKiBTZXQgdGhlIGFjY2Vzc2libGUgcm9s ZSBvZiB0aGUgbGFiZWwgdG8gYSBzdGF0dXMgYmFyIHNvIGl0Ci0rICAgICAgICAgKiB3aWxsIGVt aXQgbmFtZSBjaGFuZ2VkIGV2ZW50cyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHNjcmVlbgotKyAgICAg ICAgICogcmVhZGVycy4KLSsgICAgICAgICAqLwotKyAgICAgICAgQXRrLk9iamVjdCBvYmogPSBt X2xhYmVsLmdldF9hY2Nlc3NpYmxlKCk7Ci0rICAgICAgICBvYmouc2V0X3JvbGUgKEF0ay5Sb2xl LlNUQVRVU0JBUik7Ci0rCi0rICAgICAgICBtX2xhYmVsLnNldF9wYWRkaW5nKDMsIDMpOwotKyAg ICAgICAgdmJveC5wYWNrX2VuZChtX2xhYmVsLCBmYWxzZSwgZmFsc2UsIDApOwotIAotICAgICAg ICAgZ3JhYl9mb2N1cygpOwotICAgICB9Ci1AQCAtODgsNiArMTA4LDcgQEAgY2xhc3MgU3dpdGNo ZXIgOiBHdGsuV2luZG93IHsKLSAgICAgICAgIHVwZGF0ZV9lbmdpbmVzKGVuZ2luZXMpOwotICAg ICAgICAgbV9yZXN1bHQgPSAwOwotICAgICAgICAgbV9zZWxlY3RlZF9lbmdpbmUgPSBpbmRleDsK LSsgICAgICAgIG1fbGFiZWwuc2V0X3RleHQobV9idXR0b25zW2luZGV4XS5nZXRfZGF0YSgibG9u Z25hbWUiKSk7Ci0gICAgICAgICBtX2J1dHRvbnNbaW5kZXhdLmdyYWJfZm9jdXMoKTsKLSAgICAg ICAgIG1fa2V5YmluZGluZ3MgPSAoR0xpYi5MaXN0PEtleWJpbmRpbmc+KSBrZXliaW5kaW5nczsK LSAKLUBAIC0xNjgsNiArMTg5LDM1IEBAIGNsYXNzIFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0g ICAgICAgICByZXR1cm4gbV9yZXN1bHQ7Ci0gICAgIH0KLSAKLSsgICAgcHJpdmF0ZSBHdGsuQnV0 dG9uIGltZV9idXR0b25fbmV3KElCdXMuRW5naW5lRGVzYyBlbmdpbmUpIHsKLSsgICAgICAgIHZh ciBsYW5ndWFnZSA9IGVuZ2luZS5nZXRfbGFuZ3VhZ2UoKTsKLSsgICAgICAgIHZhciBzeW1ib2wg PSBlbmdpbmUuZ2V0X3N5bWJvbCgpOwotKyAgICAgICAgdmFyIGlkID0gbGFuZ3VhZ2U7Ci0rCi0r ICAgICAgICBpZiAoaWQubGVuZ3RoID4gMikgewotKyAgICAgICAgICAgIGlkID0gaWRbMDoyXTsK LSsgICAgICAgIH0KLSsgICAgICAgIGlmIChzeW1ib2wubGVuZ3RoICE9IDApIHsKLSsgICAgICAg ICAgICBpZCA9IHN5bWJvbDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIHZhciBidXR0b24gPSBu ZXcgR3RrLkJ1dHRvbigpOwotKyAgICAgICAgR3RrLkFsaWdubWVudCBhbGlnbiA9IG5ldyBHdGsu QWxpZ25tZW50KDAuNWYsIDAuNWYsIDAuMGYsIDAuMGYpOwotKyAgICAgICAgYnV0dG9uLmFkZChh bGlnbik7Ci0rICAgICAgICBHdGsuQm94IGJveCA9IG5ldyBHdGsuQm94KEd0ay5PcmllbnRhdGlv bi5WRVJUSUNBTCwgMCk7Ci0rICAgICAgICBhbGlnbi5hZGQoYm94KTsKLSsKLSsgICAgICAgIEd0 ay5MYWJlbCBsYWJlbCA9IG5ldyBHdGsuTGFiZWwoaWQpOwotKyAgICAgICAgc3RyaW5nIGlkX2Zv bnQgPSAiJWQiLnByaW50ZihtX2RlZmF1bHRfZm9udF9zaXplKTsKLSsgICAgICAgIHN0cmluZyBt YXJrdXAgPSAiPHNwYW4gZm9udD1cIiVzXCI+JXM8L3NwYW4+Ii5wcmludGYoaWRfZm9udCwgaWQp OwotKwotKyAgICAgICAgbGFiZWwuc2V0X21hcmt1cChtYXJrdXApOwotKyAgICAgICAgYm94LnBh Y2tfc3RhcnQobGFiZWwsIGZhbHNlLCBmYWxzZSwgMCk7Ci0rCi0rICAgICAgICByZXR1cm4gYnV0 dG9uOwotKyAgICB9Ci0rCi0rICAgIC8qIEJhc2VkIG9uIG1ldGFjaXR5L3NyYy91aS90YWJwb3B1 cC5jOm1ldGFfdWlfdGFiX3BvcHVwX25ldyAqLwotICAgICBwcml2YXRlIHZvaWQgdXBkYXRlX2Vu Z2luZXMoSUJ1cy5FbmdpbmVEZXNjW10gZW5naW5lcykgewotICAgICAgICAgZm9yZWFjaCAodmFy IGJ1dHRvbiBpbiBtX2J1dHRvbnMpIHsKLSAgICAgICAgICAgICBidXR0b24uZGVzdHJveSgpOwot QEAgLTE3OSwyOCArMjI5LDE1IEBAIGNsYXNzIFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0gICAg ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgfQotIAotLSAgICAgICAgaW50IHdpZHRoLCBoZWln aHQ7Ci0tICAgICAgICBHdGsuaWNvbl9zaXplX2xvb2t1cChHdGsuSWNvblNpemUuTUVOVSwgb3V0 IHdpZHRoLCBvdXQgaGVpZ2h0KTsKLSAgICAgICAgIG1fZW5naW5lcyA9IGVuZ2luZXM7Ci0rICAg ICAgICBpbnQgbWF4X2xhYmVsX3dpZHRoID0gMDsKLSsKLSAgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgbV9lbmdpbmVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgdmFyIGluZGV4ID0g aTsKLSAgICAgICAgICAgICB2YXIgZW5naW5lID0gbV9lbmdpbmVzW2ldOwotKyAgICAgICAgICAg IHZhciBidXR0b24gPSBpbWVfYnV0dG9uX25ldyhlbmdpbmUpOwotICAgICAgICAgICAgIHZhciBs b25nbmFtZSA9IGVuZ2luZS5nZXRfbG9uZ25hbWUoKTsKLS0gICAgICAgICAgICB2YXIgbGFuZ3Vh Z2UgPSBlbmdpbmUuZ2V0X2xhbmd1YWdlKCk7Ci0tICAgICAgICAgICAgdmFyIHN5bWJvbCA9IGVu Z2luZS5nZXRfc3ltYm9sKCk7Ci0tICAgICAgICAgICAgdmFyIGlkID0gbGFuZ3VhZ2U7Ci0tCi0t ICAgICAgICAgICAgaWYgKGlkLmxlbmd0aCA+IDIpIHsKLS0gICAgICAgICAgICAgICAgaWQgPSBp ZFswOjJdOwotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgICBpZiAoc3ltYm9sLmxlbmd0aCAh PSAwKSB7Ci0tICAgICAgICAgICAgICAgIGlkID0gc3ltYm9sOwotLSAgICAgICAgICAgIH0KLS0g ICAgICAgICAgICB2YXIgbGFiZWwgPSAiJS0xNXMgJXMiLnByaW50Zihsb25nbmFtZSwgaWQpOwot LSAgICAgICAgICAgIHZhciBidXR0b24gPSBuZXcgR3RrLkJ1dHRvbi53aXRoX2xhYmVsKGxhYmVs KTsKLS0gICAgICAgICAgICBidXR0b24uc2V0X2ltYWdlKG5ldyBJY29uV2lkZ2V0KGVuZ2luZS5n ZXRfaWNvbigpLCB3aWR0aCkpOwotICAgICAgICAgICAgIGJ1dHRvbi5zZXRfcmVsaWVmKEd0ay5S ZWxpZWZTdHlsZS5OT05FKTsKLS0gICAgICAgICAgICBidXR0b24uc2V0X2FsaWdubWVudCgxLjBm LCAwLjBmKTsKLSAgICAgICAgICAgICBidXR0b24uc2hvdygpOwotIAotICAgICAgICAgICAgIGJ1 dHRvbi5lbnRlcl9ub3RpZnlfZXZlbnQuY29ubmVjdCgoZSkgPT4gewotQEAgLTIxNiwxMiArMjUz LDQwIEBAIGNsYXNzIFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0gICAgICAgICAgICAgICAgIHJl dHVybiB0cnVlOwotICAgICAgICAgICAgIH0pOwotIAotKyAgICAgICAgICAgIGlmIChsb25nbmFt ZS5sZW5ndGggPiBtX2Rlc2NfbGFiZWxfbWF4X2xlbikgewotKyAgICAgICAgICAgICAgICBsb25n bmFtZSA9IGxvbmduYW1lWzA6bV9kZXNjX2xhYmVsX21heF9sZW5dOwotKyAgICAgICAgICAgIH0K LSsKLSsgICAgICAgICAgICBidXR0b24uc2V0X2RhdGEoImxvbmduYW1lIiwgbG9uZ25hbWUpOwot KyAgICAgICAgICAgIG1fbGFiZWwuc2V0X2xhYmVsKGxvbmduYW1lKTsKLSsKLSsgICAgICAgICAg ICBpbnQgd2lkdGg7Ci0rICAgICAgICAgICAgbV9sYWJlbC5nZXRfcHJlZmVycmVkX3dpZHRoKG51 bGwsIG91dCB3aWR0aCk7Ci0rICAgICAgICAgICAgbWF4X2xhYmVsX3dpZHRoID0gaW50Lm1heCht YXhfbGFiZWxfd2lkdGgsIHdpZHRoKTsKLSsKLSAgICAgICAgICAgICBtX2JveC5wYWNrX3N0YXJ0 KGJ1dHRvbiwgdHJ1ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgbV9idXR0b25zICs9IGJ1dHRvbjsK LSAgICAgICAgIH0KLSAKLS0gICAgICAgIC8vIENhdXNlIHdpbmRvdyByZWNhbGN1bGF0ZSB0aGUg cGVyZmVycmVkIHNpemUuCi0tICAgICAgICByZXNpemUoMSwgMSk7Ci0rICAgICAgICBtX2xhYmVs LnNldF90ZXh0KG1fYnV0dG9uc1swXS5nZXRfZGF0YSgibG9uZ25hbWUiKSk7Ci0rICAgICAgICBt X2xhYmVsLnNldF9lbGxpcHNpemUoUGFuZ28uRWxsaXBzaXplTW9kZS5FTkQpOwotKwotKyAgICAg ICAgR2RrLkRpc3BsYXkgZGlzcGxheSA9IEdkay5EaXNwbGF5LmdldF9kZWZhdWx0KCk7Ci0rICAg ICAgICBHZGsuU2NyZWVuIHNjcmVlbiA9IChkaXNwbGF5ICE9IG51bGwpID8KLSsgICAgICAgICAg ICAgICAgZGlzcGxheS5nZXRfZGVmYXVsdF9zY3JlZW4oKSA6IG51bGw7Ci0rICAgICAgICBpbnQg c2NyZWVuX3dpZHRoID0gMDsKLSsKLSsgICAgICAgIGlmIChzY3JlZW4gIT0gbnVsbCkgewotKyAg ICAgICAgICAgIHNjcmVlbl93aWR0aCA9IHNjcmVlbi5nZXRfd2lkdGgoKTsKLSsgICAgICAgIH0K LSsKLSsgICAgICAgIGlmIChzY3JlZW5fd2lkdGggPiAwICYmIG1heF9sYWJlbF93aWR0aCA+IChz Y3JlZW5fd2lkdGggLyA0KSkgewotKyAgICAgICAgICAgIG1heF9sYWJlbF93aWR0aCA9IHNjcmVl bl93aWR0aCAvIDQ7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICAvKiBhZGQgcmFuZG9tIHBhZGRp bmcgKi8KLSsgICAgICAgIG1heF9sYWJlbF93aWR0aCArPSAyMDsKLSsgICAgICAgIHNldF9kZWZh dWx0X3NpemUobWF4X2xhYmVsX3dpZHRoLCAtMSk7Ci0gICAgIH0KLSAKLSAgICAgcHJpdmF0ZSB2 b2lkIG5leHRfZW5naW5lKCkgewotQEAgLTIyOSw2ICsyOTQsNyBAQCBjbGFzcyBTd2l0Y2hlciA6 IEd0ay5XaW5kb3cgewotICAgICAgICAgICAgIG1fc2VsZWN0ZWRfZW5naW5lID0gMDsKLSAgICAg ICAgIGVsc2UKLSAgICAgICAgICAgICBtX3NlbGVjdGVkX2VuZ2luZSArKzsKLSsgICAgICAgIG1f bGFiZWwuc2V0X3RleHQobV9idXR0b25zW21fc2VsZWN0ZWRfZW5naW5lXS5nZXRfZGF0YSgibG9u Z25hbWUiKSk7Ci0gICAgICAgICBzZXRfZm9jdXMobV9idXR0b25zW21fc2VsZWN0ZWRfZW5naW5l XSk7Ci0gICAgIH0KLSAKLUBAIC0yMzcsNiArMzAzLDcgQEAgY2xhc3MgU3dpdGNoZXIgOiBHdGsu V2luZG93IHsKLSAgICAgICAgICAgICBtX3NlbGVjdGVkX2VuZ2luZSA9IG1fZW5naW5lcy5sZW5n dGggLSAxOwotICAgICAgICAgZWxzZQotICAgICAgICAgICAgIG1fc2VsZWN0ZWRfZW5naW5lIC0t OwotKyAgICAgICAgbV9sYWJlbC5zZXRfdGV4dChtX2J1dHRvbnNbbV9zZWxlY3RlZF9lbmdpbmVd LmdldF9kYXRhKCJsb25nbmFtZSIpKTsKLSAgICAgICAgIHNldF9mb2N1cyhtX2J1dHRvbnNbbV9z ZWxlY3RlZF9lbmdpbmVdKTsKLSAgICAgfQotIAotQEAgLTI2NywxOCArMzM0LDE4IEBAIGNsYXNz IFN3aXRjaGVyIDogR3RrLldpbmRvdyB7Ci0gCi0gICAgICAgICBzd2l0Y2ggKHBlLT5rZXl2YWwp IHsKLSAgICAgICAgICAgICBjYXNlIDB4MDhmYjogLyogbGVmdGFycm93ICovCi0tICAgICAgICAg ICAgY2FzZSAweGZmNTE6IC8qIERvd24gKi8KLSsgICAgICAgICAgICBjYXNlIDB4ZmY1MTogLyog TGVmdCAqLwotKyAgICAgICAgICAgICAgICBwcmV2aW91c19lbmdpbmUoKTsKLSAgICAgICAgICAg ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgY2FzZSAweDA4ZmM6IC8qIHVwYXJyb3cgKi8KLSAg ICAgICAgICAgICBjYXNlIDB4ZmY1MjogLyogVXAgKi8KLS0gICAgICAgICAgICAgICAgcHJldmlv dXNfZW5naW5lKCk7Ci0gICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgIGNhc2Ug MHgwOGZkOiAvKiByaWdodGFycm93ICovCi0gICAgICAgICAgICAgY2FzZSAweGZmNTM6IC8qIFJp Z2h0ICovCi0rICAgICAgICAgICAgICAgIG5leHRfZW5naW5lKCk7Ci0gICAgICAgICAgICAgICAg IGJyZWFrOwotICAgICAgICAgICAgIGNhc2UgMHgwOGZlOiAvKiBkb3duYXJyb3cgKi8KLSAgICAg ICAgICAgICBjYXNlIDB4ZmY1NDogLyogRG93biAqLwotLSAgICAgICAgICAgICAgICBuZXh0X2Vu Z2luZSgpOwotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICBkZWZhdWx0Ogot ICAgICAgICAgICAgICAgICBkZWJ1ZygiMHglMDR4IiwgcGUtPmtleXZhbCk7CgpkaWZmIC0tZ2l0 IGEvaWJ1cy14eC1mMTgtYnVpbGQucGF0Y2ggYi9pYnVzLXh4LWYxOC1idWlsZC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWMzNjlhCi0tLSAvZGV2L251bGwKKysr IGIvaWJ1cy14eC1mMTgtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGlidXMtMS40 Ljk5LjIwMTIwNzEyL3VpL2d0azMvcGFuZWwudmFsYS5vcmlnCisrKysgaWJ1cy0xLjQuOTkuMjAx MjA3MTIvdWkvZ3RrMy9wYW5lbC52YWxhCitAQCAtMTU3LDcgKzE1Nyw3IEBAIGNsYXNzIFBhbmVs IDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgICAgIGlmICgoc3dpdGNoX21vZGlmaWVy cyAmIFZJUlRVQUxfTU9ESUZJRVJTKSAhPSAwKSB7CisgICAgICAgICAgICAgLy8gd29ya2Fyb3Vu ZCBhIGJ1ZyBpbiBnZGsgdmFwaSB2YWxhID4gMC4xOAorICAgICAgICAgICAgIC8vIGh0dHBzOi8v YnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc1NTkKKy0jaWYgVkFMQV8wXzE4 CisrI2lmIFZBTEFfMF8yMAorICAgICAgICAgICAgICAgICBHZGsuS2V5bWFwLmdldF9kZWZhdWx0 KCkubWFwX3ZpcnR1YWxfbW9kaWZpZXJzKAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlZiBz d2l0Y2hfbW9kaWZpZXJzKTsKKyAjZWxzZQoKZGlmZiAtLWdpdCBhL2lidXMteHgtZy1zLWRpc2Fi bGUtcHJlZWRpdC5wYXRjaCBiL2lidXMteHgtZy1zLWRpc2FibGUtcHJlZWRpdC5wYXRjaAppbmRl eCBhMTRmMWQ0Li42YmM2MmNjIDEwMDY0NAotLS0gYS9pYnVzLXh4LWctcy1kaXNhYmxlLXByZWVk aXQucGF0Y2gKKysrIGIvaWJ1cy14eC1nLXMtZGlzYWJsZS1wcmVlZGl0LnBhdGNoCkBAIC0xLDE4 ICsxLDE4IEBACi1Gcm9tIDIyMzhhZjE0YjY1NDIxODY5NjIyMGY4M2I1ZWUzOWFlNDljMmFkOTgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAyN2U0YTQwYTM3NjAxYzY3MzNhODkxMWZk Mzk0OWE5MzEwYjAyNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQg PHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDcgU2VwIDIwMTEgMTU6MjU6 MjcgKzA5MDAKK0RhdGU6IFdlZCwgOSBNYXkgMjAxMiAxOToxNTowMCArMDkwMAogU3ViamVjdDog W1BBVENIXSBBZGRlZCBhIHdvcmthcm91bmQgdG8gZGlzYWJsZSBwcmVlZGl0IGluIGdub21lLXNo ZWxsCiAKIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MjAK IC0tLQogIGNsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYyB8ICAgIDggKysrKysrKysKLSAxIGZp bGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyAxIGZpbGUgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9jbGllbnQvZ3RrMi9pYnVzaW1j b250ZXh0LmMgYi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLWluZGV4IDMyN2E1ZDkuLjM5 ZDJkMGMgMTAwNjQ0CitpbmRleCA1ODRiOTJkLi5jNGM2MWQzIDEwMDY0NAogLS0tIGEvY2xpZW50 L2d0azIvaWJ1c2ltY29udGV4dC5jCiArKysgYi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMK LUBAIC01ODMsNiArNTgzLDE0IEBAIGlidXNfaW1fY29udGV4dF9pbml0IChHT2JqZWN0ICpvYmop CitAQCAtNTg0LDYgKzU4NCwxNCBAQCBpYnVzX2ltX2NvbnRleHRfaW5pdCAoR09iamVjdCAqb2Jq KQogICNlbHNlCiAgICAgIGlidXNpbWNvbnRleHQtPmNhcHMgPSBJQlVTX0NBUF9QUkVFRElUX1RF WFQgfCBJQlVTX0NBUF9GT0NVUzsKICAjZW5kaWYKQEAgLTI4LDUgKzI4LDUgQEAgaW5kZXggMzI3 YTVkOS4uMzlkMmQwYyAxMDA2NDQKICAKICAgICAgLy8gQ3JlYXRlIHNsYXZlIGltIGNvbnRleHQK IC0tIAotMS43LjUuNAorMS43LjEwLjQKIAoKZGlmZiAtLWdpdCBhL2lidXMteHgtbm8tdXNlLmRp ZmYgYi9pYnVzLXh4LW5vLXVzZS5kaWZmCmluZGV4IGNjZTdjZTEuLjM4Zjg0YzUgMTAwNjQ0Ci0t LSBhL2lidXMteHgtbm8tdXNlLmRpZmYKKysrIGIvaWJ1cy14eC1uby11c2UuZGlmZgpAQCAtMSw2 ICsxLDE4IEBACi0tLS0gaWJ1cy0xLjQuOTkuMjAxMjA0Mjgvc2V0dXAvbWFpbi5weS5vcmlnCTIw MTItMDUtMDEgMTI6MTE6MjkuMDU1NjUxMDYxICswOTAwCi0rKysgaWJ1cy0xLjQuOTkuMjAxMjA0 Mjgvc2V0dXAvbWFpbi5weQkyMDEyLTA1LTAxIDE3OjU1OjIzLjA1MzQ0MDg1OSArMDkwMAotQEAg LTc1LDIyICs3NSwzMCBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgorRnJvbSAxY2QxNmZhMDVjMDVl NjRiZjVlZTg5YzkyYTAyZmU0MzIzZTFkZTJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNCBN YXkgMjAxMiAxNzo0OToxOSArMDkwMAorU3ViamVjdDogW1BBVENIXSBEaXNhYmxlZCB0byBzaG93 IG5vbi11c2VkIEdVSS4KKworLS0tCisgc2V0dXAvbWFpbi5weSAgfCAgIDYwICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisgc2V0dXAvc2V0 dXAudWkgfCAgIDMzICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNo YW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv c2V0dXAvbWFpbi5weSBiL3NldHVwL21haW4ucHkKK2luZGV4IDBlNGM4M2QuLmZkYTIwZWEgMTAw NjQ0CistLS0gYS9zZXR1cC9tYWluLnB5CisrKysgYi9zZXR1cC9tYWluLnB5CitAQCAtNzcsMjIg Kzc3LDMwIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CiAgICAgICAgICBzZWxmLl9faW5pdF91aSgp CiAgCiAgICAgIGRlZiBfX2luaXRfaG90a2V5KHNlbGYpOgpAQCAtMzcsNyArNDksNyBAQAogIAog ICAgICBkZWYgX19pbml0X3BhbmVsKHNlbGYpOgogICAgICAgICAgdmFsdWVzID0gZGljdChzZWxm Ll9fY29uZmlnLmdldF92YWx1ZXMoInBhbmVsIikpCi1AQCAtNDQzLDYgKzQ1MSw0NiBAQCBjbGFz cyBTZXR1cChvYmplY3QpOgorQEAgLTQ0NSw2ICs0NTMsNDYgQEAgY2xhc3MgU2V0dXAob2JqZWN0 KToKICAgICAgICAgIGVudHJ5LnNldF90ZXh0KHRleHQpCiAgICAgICAgICBlbnRyeS5zZXRfdG9v bHRpcF90ZXh0KHRleHQpCiAgCkBAIC04NCwyNyArOTYsMjkgQEAKICAKICAgICAgZGVmIF9faXRl bV9zdGFydGVkX2NvbHVtbl90b2dnbGVkX2NiKHNlbGYsIGNlbGwsIHBhdGhfc3RyLCBtb2RlbCk6 CiAgCi0tLS0gaWJ1cy0xLjQuOTkuMjAxMjAzMTcvc2V0dXAvc2V0dXAudWkub3JpZwkyMDEyLTAz LTE2IDE0OjU4OjIzLjk0ODQ2NjM3MyArMDkwMAotKysrIGlidXMtMS40Ljk5LjIwMTIwMzE3L3Nl dHVwL3NldHVwLnVpCTIwMTItMDMtMTYgMTQ6NTk6MjIuMjQyMDk0NDY5ICswOTAwCi1AQCAtMTAy LDcgKzEwMiw3IEBACitkaWZmIC0tZ2l0IGEvc2V0dXAvc2V0dXAudWkgYi9zZXR1cC9zZXR1cC51 aQoraW5kZXggMjAyNjE3Mi4uYzZmNWYzYSAxMDA2NDQKKy0tLSBhL3NldHVwL3NldHVwLnVpCisr KysgYi9zZXR1cC9zZXR1cC51aQorQEAgLTEwNiw3ICsxMDYsNyBAQAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJvd19zcGFjaW5nIj42PC9wcm9wZXJ0 eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJl bDgiPgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9j dXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idG9vbHRpcF90ZXh0IiB0cmFuc2xhdGFibGU9InllcyI+VGhlIHNo b3J0Y3V0IGtleXMgZm9yIHN3aXRjaGluZyB0byBuZXh0IGlucHV0IG1ldGhvZCBpbiB0aGUgbGlz dDwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InhhbGlnbiI+MDwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+TmV4 dCBpbnB1dCBtZXRob2Q6PC9wcm9wZXJ0eT4KLUBAIC0xMTYsNyArMTE2LDcgQEAKK0BAIC0xMjEs NyArMTIxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWw5Ij4K IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlz aWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2Vuc2l0aXZlIj5G YWxzZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sdGlwX3RleHQiIHRyYW5z bGF0YWJsZT0ieWVzIj5UaGUgc2hvcnRjdXQga2V5cyBmb3Igc3dpdGNoaW5nIHRvIHByZXZpb3Vz IGlucHV0IG1ldGhvZCBpbiB0aGUgbGlzdDwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InhhbGlnbiI+MDwvcHJvcGVydHk+Ci1A QCAtMTM3LDcgKzEzNyw3IEBACitAQCAtMTQ0LDcgKzE0NCw3IEBACiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtFbnRyeSIgaWQ9ImVudHJ5 X3RyaWdnZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3By b3BlcnR5PgpAQCAtMTEyLDggKzEyNiw4IEBACiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwhLS0gcHJvcGVydHkgbmFtZT0iZWRpdGFibGUiPkZhbHNlPC9wcm9wZXJ0 eSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0Pgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlv biI+MDwvcHJvcGVydHk+Ci1AQCAtMTQ1LDcgKzE0NSw5IEBACisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPlRydWU8L3Byb3Bl cnR5PgorQEAgLTE1NCw3ICsxNTQsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNo aWxkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFz cz0iR3RrQnV0dG9uIiBpZD0iYnV0dG9uX3RyaWdnZXIiPgpAQCAtMTIxLDEwICsxMzUsMTAgQEAK ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwcm9wZXJ0eSBu YW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPi4uLjwvcHJvcGVydHkgLS0+CiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCI+ Z3RrLWFwcGx5PC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9zdG9jayI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2VfYWN0 aW9uX2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5 PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0iY2FuX2ZvY3VzIj5UcnVlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJlY2VpdmVzX2RlZmF1bHQiPkZhbHNlPC9w cm9wZXJ0eT4KLUBAIC0xNjAsMTEgKzE2MiwxMiBAQAorQEAgLTE3MiwxMSArMTc0LDEyIEBACiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYWNraW5nPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwv cHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InJpZ2h0X2F0dGFjaCI+MjwvcHJvcGVydHk+CkBAIC0xMzUsOTYgKzE0OSw5OSBAQAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtIQm94 IiBpZD0iaGJveDUiPgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3Bl cnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3BhY2luZyI+NjwvcHJvcGVydHk+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrRW50cnkiIGlkPSJlbnRyeV9u ZXh0X2VuZ2luZSI+Ci1AQCAtMTk5LDcgKzIwMiw3IEBACitAQCAtMjE3LDcgKzIyMCw3IEBACiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPGNoaWxkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8b2JqZWN0IGNsYXNzPSJHdGtIQm94IiBpZD0iaGJveDYiPgogLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9w ZXJ0eT4KICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3Bh Y2luZyI+NjwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBj bGFzcz0iR3RrRW50cnkiIGlkPSJlbnRyeV9wcmV2X2VuZ2luZSI+Ci1AQCAtMjQ4LDcgKzI1MSw3 IEBACitAQCAtMjczLDcgKzI3Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtMYWJlbCIg aWQ9ImxhYmVsMTgiPgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3Bl cnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5z bGF0YWJsZT0ieWVzIj5FbmFibGU6PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC9vYmplY3Q+Ci1AQCAtMjYxLDcgKzI2NCw3IEBACitAQCAtMjg3LDcgKzI5 MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtIQm94IiBpZD0iaGJveDIiPgogLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5U cnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9w cm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ic3BhY2luZyI+NjwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PG9iamVjdCBjbGFzcz0iR3RrRW50cnkiIGlkPSJlbnRyeV9lbmFibGVfdW5jb25kaXRpb25hbCI+ Ci1AQCAtMjk2LDcgKzI5OSw3IEBACitAQCAtMzI4LDcgKzMzMSw3IEBACiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGNoaWxkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0 IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsMTkiPgogLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hv d19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9w cm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5EaXNhYmxlOjwvcHJvcGVydHk+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgotQEAgLTMwOSw3ICszMTIs NyBAQAorQEAgLTM0Miw3ICszNDUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPC9jaGlsZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrSEJveCIg aWQ9Imhib3gzIj4KIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9wZXJ0 eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i Y2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNwYWNpbmciPjY8L3Byb3BlcnR5PgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0VudHJ5IiBpZD0iZW50cnlfZGlz YWJsZV91bmNvbmRpdGlvbmFsIj4KLUBAIC00MDYsNyArNDA5LDcgQEAKK0BAIC00NTIsNyArNDU1 LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWwxMCI+CiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUi PlRydWU8L3Byb3BlcnR5PgogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8 L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJ0b29sdGlwX3RleHQiIHRyYW5zbGF0YWJsZT0ieWVzIj5TZXQgdGhlIGJlaGF2aW9y IG9mIGlidXMgaG93IHRvIHNob3cgb3IgaGlkZSBsYW5ndWFnZSBiYXI8L3Byb3BlcnR5PgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ4YWxpZ24i PjA8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlNob3cgbGFuZ3VhZ2UgcGFuZWw6 PC9wcm9wZXJ0eT4KLUBAIC00MzMsNyArNDM2LDcgQEAKK0BAIC00ODEsNyArNDg0LDcgQEAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8Y2hpbGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NvbWJvQm94IiBpZD0iY29tYm9ib3hfcGFuZWxfc2hvdyI+ CiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZp c2libGUiPlRydWU8L3Byb3BlcnR5PgogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+ RmFsc2U8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJtb2RlbCI+bW9kZWxfcGFuZWxfc2hvd19tb2RlPC9wcm9wZXJ0eT4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDZWxsUmVuZGVyZXJU ZXh0IiBpZD0icmVuZGVyZXIyIi8+Ci1AQCAtNDcwLDcgKzQ3Myw3IEBACi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CitAQCAtNTIxLDcgKzUyNCw3IEBACiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9u IiBpZD0iY2hlY2tidXR0b25fc2hvd19pY29uX29uX3N5c3RyYXkiPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxl PSJ5ZXMiPlNob3cgaWNvbiBvbiBzeXN0ZW0gdHJheTwvcHJvcGVydHk+CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25fYXBwZWFy YW5jZSI+RmFsc2U8L3Byb3BlcnR5PgogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRy dWU8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyZWNlaXZlc19kZWZhdWx0Ij5GYWxz ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InRvb2x0aXBfdGV4dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlNob3cgaWNvbiBvbiBz eXN0ZW0gdHJheTwvcHJvcGVydHk+Ci1AQCAtNDg2LDcgKzQ4OSw3IEBACi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CitAQCAtNTQwLDcgKzU0Myw3IEBACiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9u IiBpZD0iY2hlY2tidXR0b25fc2hvd19pbV9uYW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5T aG93IGlucHV0IG1ldGhvZCBuYW1lIG9uIGxhbmd1YWdlIGJhcjwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25f YXBwZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5PgogLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19h bGwiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyZWNlaXZlc19kZWZhdWx0 Ij5GYWxzZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InRvb2x0aXBfdGV4dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlNob3cgaW5w dXQgbWV0aG9kJ3MgbmFtZSBvbiBsYW5ndWFnZSBiYXIgd2hlbiBjaGVjayB0aGUgY2hlY2tib3g8 L3Byb3BlcnR5PgotQEAgLTg5Myw3ICs4OTYsNyBAQCBZb3UgbWF5IHVzZSB1cC9kb3duIGJ1dHRv bnMgdG8gY2hhbmdlIGl0CitAQCAtMTAwMSw3ICsxMDA0LDcgQEAgWW91IG1heSB1c2UgdXAvZG93 biBidXR0b25zIHRvIGNoYW5nZSBpdC4mbHQ7L2kmZ3Q7Jmx0Oy9zbWFsbCZndDs8L3Byb3BlcnR5 PgogICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KICAgICAgICAgICAgICAgICAgICAgIDxj aGlsZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrRnJhbWUiIGlk PSJmcmFtZTUiPgogLSAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNp YmxlIj5UcnVlPC9wcm9wZXJ0eT4KICsgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWxfeGFsaWduIj4wPC9wcm9wZXJ0 eT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2hhZG93X3R5cGUi Pm5vbmU8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKy0tIAor MS43LjEwLjQKKwoKZGlmZiAtLWdpdCBhL2lidXMteHgtc2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRj aCBiL2lidXMteHgtc2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRjaAppbmRleCBhZDg1YTA4Li4xOTY3 YjlkIDEwMDY0NAotLS0gYS9pYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKKysrIGIv aWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5nLnBhdGNoCkBAIC0xLDE3ICsxLDE3IEBACi1Gcm9t IGY0ZTU0NTc2Njg4ZGY3MDVmMjBmYjI1NTk3ODUyYTQ1MWUwNjNjZWYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tIDNlYjE2MmM5ODRkYzQyMGIwODU1NDdiMGE1OTBmMDc5MjYyZWY5N2Qg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI4IEFwciAyMDEyIDEzOjA4OjEyICswOTAwCitEYXRl OiBUdWUsIDE3IEp1bCAyMDEyIDE3OjQzOjEwICswOTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEVuYWJs ZSBpYnVzLXNldHVwIHRvIHNob3cgdGhlIGZyZXF1ZW50bHkgdXNlZCBsYW5ndWFnZXMKICBvbmx5 IGluIElNRSBsaXN0LgogCiAtLS0KICBkYXRhL2lidXMuc2NoZW1hcy5pbiAgICB8ICAxNjggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzZXR1cC9lbmdp bmVjb21ib2JveC5weSB8ICAxNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQorIHNldHVwL2VuZ2luZWNvbWJvYm94LnB5IHwgIDE1NSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAgc2V0dXAvbWFpbi5weSAgICAgICAgICAgfCAg ICAxICsKLSAzIGZpbGVzIGNoYW5nZWQsIDMwMCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkKKyAzIGZpbGVzIGNoYW5nZWQsIDMwMCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkK IAogZGlmZiAtLWdpdCBhL2RhdGEvaWJ1cy5zY2hlbWFzLmluIGIvZGF0YS9pYnVzLnNjaGVtYXMu aW4KLWluZGV4IDIwYzFiYzMuLmY2YjU1ZDYgMTAwNjQ0CitpbmRleCAwZDEyN2Q1Li4xZWE0Mjc3 IDEwMDY0NAogLS0tIGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4KICsrKyBiL2RhdGEvaWJ1cy5zY2hl bWFzLmluCiBAQCAtMzQwLDYgKzM0MCwxNzQgQEAgc2Usc2ksc2ssc3ksc3koa3UpLHRoLHRqLHRy LHVhLHV6LHZuCkBAIC0xOTAsNyArMTkwLDcgQEAgaW5kZXggMjBjMWJjMy4uZjZiNTVkNiAxMDA2 NDQKICAgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL3BhbmVsL2N1c3RvbV9mb250PC9hcHBs eXRvPgogICAgICAgIDxvd25lcj5pYnVzPC9vd25lcj4KIGRpZmYgLS1naXQgYS9zZXR1cC9lbmdp bmVjb21ib2JveC5weSBiL3NldHVwL2VuZ2luZWNvbWJvYm94LnB5Ci1pbmRleCAwYWM3MzY4Li41 NzgwOThjIDEwMDY0NAoraW5kZXggZjgwYjE2NC4uNTc4MDk4YyAxMDA2NDQKIC0tLSBhL3NldHVw L2VuZ2luZWNvbWJvYm94LnB5CiArKysgYi9zZXR1cC9lbmdpbmVjb21ib2JveC5weQogQEAgLTQ1 LDYgKzQ1LDkgQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goR3RrLkNvbWJvQm94KToKQEAgLTIwMyw3 ICsyMDMsNyBAQCBpbmRleCAwYWM3MzY4Li41NzgwOThjIDEwMDY0NAogIAogICAgICAgICAgcmVu ZGVyZXIgPSBHdGsuQ2VsbFJlbmRlcmVyUGl4YnVmKCkKICAgICAgICAgIHJlbmRlcmVyLnNldF9w cm9wZXJ0eSgieGFsaWduIiwgMCkKLUBAIC01OCwyMSArNjEsNTEgQEAgY2xhc3MgRW5naW5lQ29t Ym9Cb3goR3RrLkNvbWJvQm94KToKK0BAIC01OCwyMCArNjEsNTEgQEAgY2xhc3MgRW5naW5lQ29t Ym9Cb3goR3RrLkNvbWJvQm94KToKICAgICAgICAgIHNlbGYucGFja19zdGFydChyZW5kZXJlciwg VHJ1ZSkKICAgICAgICAgIHNlbGYuc2V0X2NlbGxfZGF0YV9mdW5jKHJlbmRlcmVyLCBzZWxmLl9f bmFtZV9jZWxsX2RhdGFfY2IsIE5vbmUpCiAgCkBAIC0yNDgsNyArMjQ4LDYgQEAgaW5kZXggMGFj NzM2OC4uNTc4MDk4YyAxMDA2NDQKIC0gICAgICAgIHNlbGYuX19tb2RlbC5zZXQoaXRlcjEsIDAs IDApCiAtICAgICAgICBsYW5ncyA9IHt9CiAtICAgICAgICBmb3IgZSBpbiBlbmdpbmVzOgotLSAg ICAgICAgICAgIHByaW50IGUuZ2V0X2xhbmd1YWdlKCkKIC0gICAgICAgICAgICBsID0gSUJ1cy5n ZXRfbGFuZ3VhZ2VfbmFtZShlLmdldF9sYW5ndWFnZSgpKQogLSAgICAgICAgICAgIGlmIGwgPT0g Tm9uZToKIC0gICAgICAgICAgICAgICAgbCA9ICIiCkBAIC0yNjgsNyArMjY3LDcgQEAgaW5kZXgg MGFjNzM2OC4uNTc4MDk4YyAxMDA2NDQKICAgICAgICAgIGtleXMgPSBsYW5ncy5rZXlzKCkKICAg ICAgICAgIGtleXMuc29ydChsb2NhbGUuc3RyY29sbCkKICAgICAgICAgIGxvYyA9IGxvY2FsZS5n ZXRsb2NhbGUoKVswXQotQEAgLTkwLDI5ICsxMjMsODYgQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3go R3RrLkNvbWJvQm94KToKK0BAIC04OSwyOSArMTIzLDg2IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94 KEd0ay5Db21ib0JveCk6CiAgICAgICAgICAgICAga2V5cy5yZW1vdmUoSUJ1cy5nZXRfbGFuZ3Vh Z2VfbmFtZSgiT3RoZXIiKSkKICAgICAgICAgICAgICBrZXlzICs9IFtJQnVzLmdldF9sYW5ndWFn ZV9uYW1lKCJPdGhlciIpXQogICAgICAgICAgZm9yIGwgaW4ga2V5czoKQEAgLTM2Myw3ICszNjIs NyBAQCBpbmRleCAwYWM3MzY4Li41NzgwOThjIDEwMDY0NAogICAgICAgICAgZWxzZToKICAgICAg ICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInZpc2libGUiLCBUcnVlKQogICAgICAgICAg ICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgVHJ1ZSkKLUBAIC0xMjUsNyAr MjE1LDggQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goR3RrLkNvbWJvQm94KToKK0BAIC0xMjQsNyAr MjE1LDggQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goR3RrLkNvbWJvQm94KToKICAgICAgICAgICAg ICByZW5kZXJlci5zZXRfcHJvcGVydHkoInBpeGJ1ZiIsIHBpeGJ1ZikKICAKICAgICAgZGVmIF9f bmFtZV9jZWxsX2RhdGFfY2Ioc2VsZiwgY2VsbGxheW91dCwgcmVuZGVyZXIsIG1vZGVsLCBpdGVy LCBkYXRhKToKQEAgLTM3Myw3ICszNzIsNyBAQCBpbmRleCAwYWM3MzY4Li41NzgwOThjIDEwMDY0 NAogIAogICAgICAgICAgaWYgaXNpbnN0YW5jZSAoZW5naW5lLCBzdHIpIG9yIGlzaW5zdGFuY2Ug KGVuZ2luZSwgdW5pY29kZSk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJz ZW5zaXRpdmUiLCBGYWxzZSkKLUBAIC0xMzMsOCArMjI0LDE1IEBAIGNsYXNzIEVuZ2luZUNvbWJv Qm94KEd0ay5Db21ib0JveCk6CitAQCAtMTMyLDggKzIyNCwxNSBAQCBjbGFzcyBFbmdpbmVDb21i b0JveChHdGsuQ29tYm9Cb3gpOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgi d2VpZ2h0IiwgUGFuZ28uV2VpZ2h0Lk5PUk1BTCkKICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShl bmdpbmUsIGludCk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJzZW5zaXRp dmUiLCBUcnVlKQpAQCAtMzkxLDcgKzM5MCw3IEBAIGluZGV4IDBhYzczNjguLjU3ODA5OGMgMTAw NjQ0CiAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgi c2Vuc2l0aXZlIiwgVHJ1ZSkKICAgICAgICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInRl eHQiLCBlbmdpbmUuZ2V0X2xvbmduYW1lKCkpCi1AQCAtMTUwLDEwICsyNDgsMTggQEAgY2xhc3Mg RW5naW5lQ29tYm9Cb3goR3RrLkNvbWJvQm94KToKK0BAIC0xNDksMTAgKzI0OCwxOCBAQCBjbGFz cyBFbmdpbmVDb21ib0JveChHdGsuQ29tYm9Cb3gpOgogICAgICAgICAgICAgIGlmIGkgPT0gMCBv ciBpID09IC0xOgogICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICAgIGl0 ZXIgPSBzZWxmLmdldF9hY3RpdmVfaXRlcigpCkBAIC00MTIsNyArNDExLDcgQEAgaW5kZXggMGFj NzM2OC4uNTc4MDk4YyAxMDA2NDQKICAgICAgICAgIHJldHVybiBzZWxmLmdldF9wcm9wZXJ0eSgi YWN0aXZlLWVuZ2luZSIpCiAgCiBkaWZmIC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVwL21h aW4ucHkKLWluZGV4IDc2MTI0MDcuLjFjYjNlNjAgMTAwNjQ0CitpbmRleCBiNzgzM2UzLi40MDhl NjU1IDEwMDY0NAogLS0tIGEvc2V0dXAvbWFpbi5weQogKysrIGIvc2V0dXAvbWFpbi5weQogQEAg LTIwOSw2ICsyMDksNyBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgpAQCAtNDI0LDUgKzQyMyw1IEBA IGluZGV4IDc2MTI0MDcuLjFjYjNlNjAgMTAwNjQ0CiAgCiAgICAgICAgICBlbmdpbmVfbmFtZXMg PSB2YWx1ZXMuZ2V0KCJwcmVsb2FkX2VuZ2luZXMiLCBbXSkKIC0tIAotMS43LjEwCisxLjcuMTAu NAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVjCmluZGV4IDk1NTM4ODIuLmU1 ODVkYzYgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVzLnNwZWMKQEAgLTI5LDggKzI5 LDggQEAKICVkZWZpbmUgZ25vbWVfaWNvbl90aGVtZV9sZWdhY3lfdmVyc2lvbiAyLjkxLjYKIAog TmFtZTogICAgICAgaWJ1cwotVmVyc2lvbjogICAgMS40Ljk5LjIwMTIwNDI4Ci1SZWxlYXNlOiAg ICAzJXs/ZGlzdH0KK1ZlcnNpb246ICAgIDEuNC45OS4yMDEyMDcxMgorUmVsZWFzZTogICAgMSV7 P2Rpc3R9CiBTdW1tYXJ5OiAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMgZm9yIExpbnV4IE9TCiBM aWNlbnNlOiAgICBMR1BMdjIrCiBHcm91cDogICAgICBTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFy aWVzCkBAIC00OCwxMCArNDgsMTAgQEAgUGF0Y2gzOiAgICAgaWJ1cy14eC1zZXR1cC1mcmVxdWVu dC1sYW5nLnBhdGNoCiAjIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9p ZD02NTg0MjAKIFBhdGNoOTI6ICAgIGlidXMteHgtZy1zLWRpc2FibGUtcHJlZWRpdC5wYXRjaAog UGF0Y2g5MzogICAgaWJ1cy03NzExMTUtcHJvcGVydHktY29tcGF0aWJsZS5wYXRjaAotIyBBcHBs eSBHTk9NRSBBbHQrVGFiIFVJIHRvIElNRSBzd2l0Y2hlciBVSS4KLVBhdGNoOTQ6ICAgIGlidXMt eHgtYnJhbmRpbmctc3dpdGNoZXItdWkucGF0Y2gKICMgSGlkZSBubyBudXNlZCBwcm9wZXJ0aWVz IGluIGYxNy4KLVBhdGNoOTU6ICAgIGlidXMteHgtbm8tdXNlLmRpZmYKK1BhdGNoOTQ6ICAgIGli dXMteHgtbm8tdXNlLmRpZmYKKyMgV29ya2Fyb3VuZCBzaW5jZSBmMTggdmFsYSBpcyBvbGQuCitQ YXRjaDk1OiAgICBpYnVzLXh4LWYxOC1idWlsZC5wYXRjaAogCiBCdWlsZFJvb3Q6ICAle190bXBw YXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQog CkBAIC0xMTksNiArMTE5LDEwIEBAIFJlcXVpcmVzOiAgIGdub21lLWljb24tdGhlbWUtc3ltYm9s aWMKIAogUmVxdWlyZXMocG9zdCk6ICBkZXNrdG9wLWZpbGUtdXRpbHMKIFJlcXVpcmVzKHBvc3R1 bik6ICBkZXNrdG9wLWZpbGUtdXRpbHMKKyVpZiAld2l0aF9kY29uZgorUmVxdWlyZXMocG9zdHVu KTogIGRjb25mCitSZXF1aXJlcyhwb3N0dHJhbnMpOiBkY29uZgorJWVuZGlmCiAKIFJlcXVpcmVz KHByZSk6IEdDb25mMgogUmVxdWlyZXMocG9zdCk6IEdDb25mMgpAQCAtMjEzLDYgKzIxNyw3IEBA IGNwIGNsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYyBjbGllbnQvZ3RrMy9pYnVzaW1jb250ZXh0 LmMgfHwKICVpZiAld2l0aF94a2JmaWxlCiAlcGF0Y2gxIC1wMSAtYiAueGtiCiBybSAtZiBiaW5k aW5ncy92YWxhL2lidXMtMS4wLnZhcGkKK3JtIC1mIGRhdGEvZGNvbmYvMDAtdXBzdHJlYW0tc2V0 dGluZ3MKICVlbmRpZgogJXBhdGNoMiAtcDEgLWIgLnByZWxvYWQtc3lzCiAlcGF0Y2gzIC1wMSAt YiAuc2V0dXAtZnJlcXVlbnQtbGFuZwpAQCAtMjIxLDggKzIyNiw4IEBAIHJtIC1mIGJpbmRpbmdz L3ZhbGEvaWJ1cy0xLjAudmFwaQogJXBhdGNoOTMgLXAxIC1iIC5jb21wYXQKICVlbmRpZgogCi0l cGF0Y2g5NCAtcDEgLWIgLmltZS11aQotJXBhdGNoOTUgLXAxIC1iIC5uby11c2VkCislcGF0Y2g5 NCAtcDEgLWIgLm5vLXVzZWQKKyVwYXRjaDk1IC1wMSAtYiAuZjE4CiAKICVidWlsZAogJWlmICV3 aXRoX3hrYmZpbGUKQEAgLTI2NSwxNSArMjcwLDE1IEBAIGF1dG9yZWNvbmYgLWYgLWkKIG1ha2Ug LUMgdWkvZ3RrMyBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMKICVlbmRpZgogIyBtYWtlIC1DIHBv IHVwZGF0ZS1nbW8KLW1ha2UgJXs/X3NtcF9tZmxhZ3N9CittYWtlIFVTRV9TWU1CT0xfSUNPTj1U UlVFICV7P19zbXBfbWZsYWdzfQogCiAlaWYgJXdpdGhfZ2pzCiBkPWBiYXNlbmFtZSAlU09VUkNF MiAudGFyLmd6YAogY2QgJGQKIGV4cG9ydCBQS0dfQ09ORklHX1BBVEg9Li46L3Vzci9saWI2NC9w a2djb25maWc6L3Vzci9saWIvcGtnY29uZmlnCiAlY29uZmlndXJlIFwKLSAgLS13aXRoLWdub21l LXNoZWxsLXZlcnNpb249IjMuNCwzLjMuOTIsMy4zLjkwLDMuMy41LDMuMy40LDMuMy4zLDMuMiIg XAotICAtLXdpdGgtZ2pzLXZlcnNpb249IjEuMzIsMS4zMS4yMiwxLjMxLjIwLDEuMzEuMTAsMS4z MS42LDEuMzEuMTEsMS4zMCIKKyAgLS13aXRoLWdub21lLXNoZWxsLXZlcnNpb249IjMuNS4zLDMu NCwzLjMuOTIsMy4zLjkwLDMuMy41LDMuMy40LDMuMy4zLDMuMiIgXAorICAtLXdpdGgtZ2pzLXZl cnNpb249IjEuMzMuMywxLjMyLDEuMzEuMjIsMS4zMS4yMCwxLjMxLjEwLDEuMzEuNiwxLjMxLjEx LDEuMzAiCiBtYWtlICV7P19zbXBfbWZsYWdzfQogY2QgLi4KICVlbmRpZgpAQCAtMzYxLDYgKzM2 NiwxMSBAQCBpZiBbICIkMSIgLWVxIDAgXTsgdGhlbgogCiAlaWYgJXdpdGhfZGNvbmYKICAgZ2xp Yi1jb21waWxlLXNjaGVtYXMgJXtfZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyAmPi9kZXYvbnVs bCB8fCA6CisgICMgJ2Rjb25mIHVwZGF0ZScgc29tZXRpbWVzIGRvZXMgbm90IHVwZGF0ZSB0aGUg ZGIuLi4KKyAgZGNvbmYgdXBkYXRlCisgIGlmIFsgLWYgJXtfc3lzY29uZmRpcn0vZGNvbmYvZGIv aWJ1cyBdIDsgdGhlbgorICAgICAgcm0gLWYgJXtfc3lzY29uZmRpcn0vZGNvbmYvZGIvaWJ1cwor ICBmaQogJWVuZGlmCiBmaQogCkBAIC0zNjgsNiArMzc4LDcgQEAgZmkKIGd0ay11cGRhdGUtaWNv bi1jYWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9udWxsIHx8IDoKICVpZiAl d2l0aF9kY29uZgogZ2xpYi1jb21waWxlLXNjaGVtYXMgJXtfZGF0YWRpcn0vZ2xpYi0yLjAvc2No ZW1hcyAmPi9kZXYvbnVsbCB8fCA6CitkY29uZiB1cGRhdGUKICVlbmRpZgogCiAlcG9zdCBsaWJz IC1wIC9zYmluL2xkY29uZmlnCkBAIC00MTYsNyArNDI3LDcgQEAgZ2xpYi1jb21waWxlLXNjaGVt YXMgJXtfZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyAmPi9kZXYvbnVsbCB8fCA6CiAjICV7X3N5 c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQvaWJ1cy5kZXNrdG9wCiAle19zeXNjb25mZGlyfS9iYXNo X2NvbXBsZXRpb24uZC9pYnVzLmJhc2gKICVpZiAld2l0aF9kY29uZgotJXtfc3lzY29uZmRpcn0v ZGNvbmYvZGIvaWJ1cworJXtfc3lzY29uZmRpcn0vZGNvbmYvZGIvaWJ1cy5kCiAle19zeXNjb25m ZGlyfS9kY29uZi9wcm9maWxlL2lidXMKICVlbHNlCiAle19zeXNjb25mZGlyfS9nY29uZi9zY2hl bWFzL2lidXMuc2NoZW1hcwpAQCAtNDYyLDYgKzQ3MywxMCBAQCBnbGliLWNvbXBpbGUtc2NoZW1h cyAle19kYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzICY+L2Rldi9udWxsIHx8IDoKICV7X2RhdGFk aXJ9L2d0ay1kb2MvaHRtbC8qCiAKICVjaGFuZ2Vsb2cKKyogVHVlIEp1bCAxNyAyMDEyIFRha2Fv IEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuNC45OS4yMDEyMDcxMi0xCistIEJ1 bXBlZCB0byAxLjQuOTkuMjAxMjA3MTIKKy0gUmVtb3ZlZCBpYnVzLXh4LWJyYW5kaW5nLXN3aXRj aGVyLXVpLnBhdGNoIGFzIHVwc3RyZWFtZWQuCisKICogRnJpIEp1biAgOCAyMDEyIE1hdHRoaWFz IENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPiAtIDEuNC45OS4yMDEyMDQyOC0zCiAtIFJlYnVp bGQgYWdhaW5zdCBuZXcgbGliZ25vbWVrYmQKIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3Vy Y2VzCmluZGV4IGZjYTdhOTIuLmM4OGEwZTYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291 cmNlcwpAQCAtMSwzICsxLDMgQEAKLTI3NmYzMGE4MWI2MzRmZWI5YzRiY2MzZTU2NGFjOTQ4ICBp YnVzLTEuNC45OS4yMDEyMDQyOC50YXIuZ3oKKzBkODg0ZmFmZWRmMmRkZmFhNzNhMzRhOGVhYzdh MWYwICBpYnVzLTEuNC45OS4yMDEyMDcxMi50YXIuZ3oKIDJkMmFkNThlM2U0MTQyOWRiZDg4M2Jh N2U1MDFjOWIyICBpYnVzLWdqcy0zLjIuMS4yMDExMTIzMC50YXIuZ3oKIDNmZGVmM2UzMWMwMzU0 ZDkyN2RjMDZkZjVkYzAyZjljICBpYnVzLWdqcy0zLjQuMS4yMDEyMDUxOC50YXIuZ3oK