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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 7.2.90.20110525 (which is a 7.3 pre-release). Date: Thu, 23 Jul 2026 18:29:58 GMT Message-ID: <178483139861.1.16571672852120736167.rpms-gdb-c8a4544144b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: c8a4544144b54e1e58bc93b51510e76b3b8b2758 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogYzhhNDU0NDE0NGI1NGUxZTU4YmM5M2I1MTUxMGU3NmIzYjhiMjc1OAog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wNS0yNVQyMToyNToyNiswMjowMAogICAg ICAgICAgICBTdGF0cyAgOiArNjE1Ly0xODEwIGluIDEzIGZpbGUocykKICAgICAgICAgICAgVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9jOGE0NTQ0MTQ0 YjU0ZTFlNThiYzkzYjUxNTEwZTc2YjNiOGIyNzU4P2JyYW5jaD1maXgtZHVwLXBhdGNoCgogICAg ICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcuMi45MC4yMDExMDUy NSAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgpbc3RhcF0gRml4IGRvdWJsZSBmcmVlIChT ZXJnaW8gRHVyaWdhbiBKdW5pb3IpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdp dGlnbm9yZQppbmRleCA3NmZkMmRjLi5jMjYzYzdkIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisr KyBiLy5naXRpZ25vcmUKQEAgLTEsMiArMSwyIEBACiAvbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1 OTc4LnRhci5iejIKLS9nZGItNy4yLjkwLjIwMTEwNDI5LnRhci5iejIKKy9nZGItNy4yLjkwLjIw MTEwNTI1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gg Yi9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKaW5kZXggMGE0Nzg2Ni4uYTU2ODcwYiAxMDA2 NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGll LWFkZG9ucy5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3 L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJy ZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMTE3Lm9yaWcvZ2RiL2R3YXJm MnJlYWQuYwkyMDExLTAxLTE3IDE1OjU2OjIzLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu NTAuMjAxMTAxMTcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTAxLTE3IDE2OjAwOjE0LjAwMDAwMDAw MCArMDEwMAotQEAgLTc0NzUsNyArNzQ3NSwxMiBAQCByZWFkX2NvbW1vbl9ibG9jayAoc3RydWN0 IGRpZV9pbmZvICpkaWUsCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kd2FyZjJy ZWFkLmMJMjAxMS0wNS0yNSAxNzoxMDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0yNSAxNzoxMjozNS4wMDAwMDAwMDAg KzAyMDAKK0BAIC03Njc1LDcgKzc2NzUsMTIgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBk aWVfaW5mbyAqZGllLAogIHsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAgICBzdHJ1Y3Qg c3ltYm9sICpzeW07CkBAIC0xNiw3ICsxNiw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3 L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9s b2NhdGlvbiwgY3UpOwogICAgaWYgKGF0dHIpCi1AQCAtNzQ4NCw2ICs3NDg5LDcgQEAgcmVhZF9j b21tb25fYmxvY2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAorQEAgLTc2ODQsNiArNzY4OSw3IEBA IHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAgICAgICBpZiAoYXR0 cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgICAgIHsKICAgICAgICAgICAgYmFzZSA9IGRl Y29kZV9sb2NkZXNjIChEV19CTE9DSyAoYXR0ciksIGN1KTsKQEAgLTI0LDE1ICsyNCwxNSBAQCBJ bmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgICB9CiAg ICAgICAgZWxzZSBpZiAoYXR0cl9mb3JtX2lzX3NlY3Rpb25fb2Zmc2V0IChhdHRyKSkKICAgICAg ICAgIHsKLUBAIC03NTQ1LDEyICs3NTUxLDE1IEBAIHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwKLSAJICAgICAgZWxzZQotIAkJZHdhcmYyX2NvbXBsZXhfbG9jYXRpb25f ZXhwcl9jb21wbGFpbnQgKCk7Ci0gCi0tCSAgICAgIFNZTUJPTF9WQUxVRV9BRERSRVNTIChzeW0p ID0gYmFzZSArIGJ5dGVfb2Zmc2V0OworQEAgLTc3MzYsMTIgKzc3NDIsMTUgQEAgcmVhZF9jb21t b25fYmxvY2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAorIAkgIGlmIChzeW0gIT0gTlVMTAorIAkg ICAgICAmJiBoYW5kbGVfZGF0YV9tZW1iZXJfbG9jYXRpb24gKGNoaWxkX2RpZSwgY3UsICZvZmZz ZXQpKQorIAkgICAgeworLQkgICAgICBTWU1CT0xfVkFMVUVfQUREUkVTUyAoc3ltKSA9IGJhc2Ug KyBvZmZzZXQ7CiArCSAgICAgIGlmICghYmFzZV9wKQogKwkJZHdhcmYyX2ludmFsaWRfYXR0cmli X2NsYXNzX2NvbXBsYWludAogKwkJICAoIkRXX0FUX2RhdGFfbWVtYmVyX2xvY2F0aW9uIiwgImNv bW1vbiBibG9jayBtZW1iZXIiKTsKLSsJICAgICAgU1lNQk9MX1ZBTFVFX0FERFJFU1MgKHN5bSkg PSBiYXNlICsgYnl0ZV9vZmZzZXQgKyBiYXNlYWRkcjsKKysJICAgICAgU1lNQk9MX1ZBTFVFX0FE RFJFU1MgKHN5bSkgPSBiYXNlICsgb2Zmc2V0ICsgYmFzZWFkZHI7CiAgCSAgICAgIGFkZF9zeW1i b2xfdG9fbGlzdCAoc3ltLCAmZ2xvYmFsX3N5bWJvbHMpOwogIAkgICAgfQogIApAQCAtNDIsNyAr NDIsNyBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYycmVhZC5jCiAgCSAg ZWxzZQogIAkgICAgU0VUX0ZJRUxEX1BIWVNOQU1FICgqZmllbGQsIFNZTUJPTF9MSU5LQUdFX05B TUUgKHN5bSkpOwogIAkgIEZJRUxEX1RZUEUgKCpmaWVsZCkgPSBTWU1CT0xfVFlQRSAoc3ltKTsK LUBAIC03NTY0LDcgKzc1NzMsNyBAQCByZWFkX2NvbW1vbl9ibG9jayAoc3RydWN0IGRpZV9pbmZv ICpkaWUsCitAQCAtNzc1NSw3ICs3NzY0LDcgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBk aWVfaW5mbyAqZGllLAogIAogICAgICAgIHN5bSA9IG5ld19zeW1ib2wgKGRpZSwgdHlwZSwgY3Up OwogICAgICAgIC8qIFNZTUJPTF9WQUxVRV9BRERSRVNTIG5ldmVyIGdldHMgdXNlZCBhcyBhbGwg aXRzIGZpZWxkcyBhcmUgc3RhdGljLiAgKi8KQEAgLTUxLDExICs1MSwxMSBAQCBJbmRleDogZ2Ri LTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICAgICAgc2V0X2RpZV90eXBl IChkaWUsIHR5cGUsIGN1KTsKICAgICAgfQotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2Ri L2dkYnR5cGVzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJ0eXBlcy5oCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDExNy5vcmlnL2dkYi9nZGJ0eXBlcy5oCTIw MTEtMDEtMTcgMTU6NTE6MDMuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDExMDEx Ny9nZGIvZ2RidHlwZXMuaAkyMDExLTAxLTE3IDE2OjAwOjMyLjAwMDAwMDAwMCArMDEwMAotQEAg LTM5NCw2ICszOTQsNyBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQorLS0tIGdkYi03 LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmgJMjAx MS0wNS0yNSAxNzoxMToxMC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zOTYsNiArMzk2LDcgQEAgZW51 bSB0eXBlX2luc3RhbmNlX2ZsYWdfdmFsdWUKICBlbnVtIGZpZWxkX2xvY19raW5kCiAgICB7CiAg ICAgIEZJRUxEX0xPQ19LSU5EX0JJVFBPUywJLyogYml0cG9zICovCkBAIC02Myw3ICs2Myw3IEBA IEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9nZGJ0eXBlcy5oCiAgICAgIEZJRUxEX0xP Q19LSU5EX1BIWVNBRERSLAkvKiBwaHlzYWRkciAqLwogICAgICBGSUVMRF9MT0NfS0lORF9QSFlT TkFNRQkvKiBwaHlzbmFtZSAqLwogICAgfTsKLUBAIC01NzYsNiArNTc3LDcgQEAgc3RydWN0IG1h aW5fdHlwZQorQEAgLTU4MCw2ICs1ODEsNyBAQCBzdHJ1Y3QgbWFpbl90eXBlCiAgCSAgIGlzIHRo ZSBsb2NhdGlvbiAoaW4gdGhlIHRhcmdldCkgb2YgdGhlIHN0YXRpYyBmaWVsZC4KICAJICAgT3Ro ZXJ3aXNlLCBwaHlzbmFtZSBpcyB0aGUgbWFuZ2xlZCBsYWJlbCBvZiB0aGUgc3RhdGljIGZpZWxk LiAgKi8KICAKQEAgLTcxLDcgKzcxLDcgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2Ri L2dkYnR5cGVzLmgKICAJQ09SRV9BRERSIHBoeXNhZGRyOwogIAljaGFyICpwaHlzbmFtZTsKICAg ICAgICB9Ci1AQCAtMTEwMiw2ICsxMTA0LDcgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9h dXhfdHlwZSAoc3RydQorQEAgLTExMDYsNiArMTEwOCw3IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRl X2duYXRfYXV4X3R5cGUgKHN0cnUKICAjZGVmaW5lIEZJRUxEX0xPQ19LSU5EKHRoaXNmbGQpICgo dGhpc2ZsZCkubG9jX2tpbmQpCiAgI2RlZmluZSBGSUVMRF9CSVRQT1ModGhpc2ZsZCkgKCh0aGlz ZmxkKS5sb2MuYml0cG9zKQogICNkZWZpbmUgRklFTERfU1RBVElDX1BIWVNOQU1FKHRoaXNmbGQp ICgodGhpc2ZsZCkubG9jLnBoeXNuYW1lKQpAQCAtNzksNyArNzksNyBAQCBJbmRleDogZ2RiLTcu Mi41MC4yMDExMDExNy9nZGIvZ2RidHlwZXMuaAogICNkZWZpbmUgRklFTERfU1RBVElDX1BIWVNB RERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNhZGRyKQogICNkZWZpbmUgU0VUX0ZJRUxE X0JJVFBPUyh0aGlzZmxkLCBiaXRwb3MpCQkJXAogICAgKEZJRUxEX0xPQ19LSU5EICh0aGlzZmxk KSA9IEZJRUxEX0xPQ19LSU5EX0JJVFBPUywJCVwKLUBAIC0xMTA5LDYgKzExMTIsNyBAQCBleHRl cm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1CitAQCAtMTExMyw2ICsxMTE2LDcg QEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQogICNkZWZpbmUgU0VU X0ZJRUxEX1BIWVNOQU1FKHRoaXNmbGQsIG5hbWUpCQkJXAogICAgKEZJRUxEX0xPQ19LSU5EICh0 aGlzZmxkKSA9IEZJRUxEX0xPQ19LSU5EX1BIWVNOQU1FLAkJXAogICAgIEZJRUxEX1NUQVRJQ19Q SFlTTkFNRSAodGhpc2ZsZCkgPSAobmFtZSkpCkBAIC04Nyw3ICs4Nyw3IEBAIEluZGV4OiBnZGIt Ny4yLjUwLjIwMTEwMTE3L2dkYi9nZGJ0eXBlcy5oCiAgI2RlZmluZSBTRVRfRklFTERfUEhZU0FE RFIodGhpc2ZsZCwgYWRkcikJCQlcCiAgICAoRklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklF TERfTE9DX0tJTkRfUEhZU0FERFIsCQlcCiAgICAgRklFTERfU1RBVElDX1BIWVNBRERSICh0aGlz ZmxkKSA9IChhZGRyKSkKLUBAIC0xMTIxLDYgKzExMjUsNyBAQCBleHRlcm4gdm9pZCBhbGxvY2F0 ZV9nbmF0X2F1eF90eXBlIChzdHJ1CitAQCAtMTEyNSw2ICsxMTI5LDcgQEAgZXh0ZXJuIHZvaWQg YWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQogICNkZWZpbmUgVFlQRV9GSUVMRF9MT0NfS0lO RCh0aGlzdHlwZSwgbikgRklFTERfTE9DX0tJTkQgKFRZUEVfRklFTEQgKHRoaXN0eXBlLCBuKSkK ICAjZGVmaW5lIFRZUEVfRklFTERfQklUUE9TKHRoaXN0eXBlLCBuKSBGSUVMRF9CSVRQT1MgKFRZ UEVfRklFTEQgKHRoaXN0eXBlLCBuKSkKICAjZGVmaW5lIFRZUEVfRklFTERfU1RBVElDX1BIWVNO QU1FKHRoaXN0eXBlLCBuKSBGSUVMRF9TVEFUSUNfUEhZU05BTUUgKFRZUEVfRklFTEQgKHRoaXN0 eXBlLCBuKSkKQEAgLTk1LDEwICs5NSwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9n ZGIvZ2RidHlwZXMuaAogICNkZWZpbmUgVFlQRV9GSUVMRF9TVEFUSUNfUEhZU0FERFIodGhpc3R5 cGUsIG4pIEZJRUxEX1NUQVRJQ19QSFlTQUREUiAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4pKQog ICNkZWZpbmUgVFlQRV9GSUVMRF9BUlRJRklDSUFMKHRoaXN0eXBlLCBuKSBGSUVMRF9BUlRJRklD SUFMKFRZUEVfRklFTEQodGhpc3R5cGUsbikpCiAgI2RlZmluZSBUWVBFX0ZJRUxEX0JJVFNJWkUo dGhpc3R5cGUsIG4pIEZJRUxEX0JJVFNJWkUoVFlQRV9GSUVMRCh0aGlzdHlwZSxuKSkKLUluZGV4 OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9qdi1sYW5nLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9qdi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMTE3 Lm9yaWcvZ2RiL2p2LWxhbmcuYwkyMDExLTAxLTA5IDA0OjA4OjU3LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2p2LWxhbmcuYwkyMDExLTAxLTE3IDE2OjAwOjU5 LjAwMDAwMDAwMCArMDEwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvanYtbGFu Zy5jCTIwMTEtMDMtMDIgMDE6NDI6NTMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvanYtbGFuZy5jCTIwMTEtMDUtMjUgMTc6MTE6MTAuMDAwMDAwMDAwICswMjAw CiBAQCAtNDE0LDcgKzQxNCw4IEBAIGphdmFfbGlua19jbGFzc190eXBlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2QKICAKICAgIGZpZWxkcyA9IE5VTEw7CkBAIC0xMTksMTEgKzExOSwxMSBAQCBJbmRleDog Z2RiLTcuMi41MC4yMDExMDExNy9nZGIvanYtbGFuZy5jCiAgICAgICAgZWxzZQogIAlUWVBFX0ZJ RUxEX0JJVFBPUyAodHlwZSwgaSkgPSA4ICogYm9mZnNldDsKICAgICAgICBpZiAoYWNjZmxhZ3Mg JiAweDgwMDApCS8qIEZJRUxEX1VOUkVTT0xWRURfRkxBRyAqLwotSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAxMTcvZ2RiL3ZhbHVlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWx1 ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDExNy5vcmlnL2dkYi92YWx1ZS5j CTIwMTEtMDEtMTcgMTU6NDc6MzcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi41MC4yMDEx MDExNy9nZGIvdmFsdWUuYwkyMDExLTAxLTE3IDE2OjAwOjE0LjAwMDAwMDAwMCArMDEwMAotQEAg LTE5OTcsNyArMTk5Nyw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUs IGkKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3ZhbHVlLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWx1 ZS5jCTIwMTEtMDUtMjUgMTc6MTE6MTAuMDAwMDAwMDAwICswMjAwCitAQCAtMjQ5Miw3ICsyNDky LDggQEAgdmFsdWVfc3RhdGljX2ZpZWxkIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaQogICAgICB7CiAg ICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFsdWVf YXRfbGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKCmRpZmYgLS1naXQgYS9n ZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCBiZmJlYzliLi42YmY5MTY4 IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIucGF0Y2gKQEAg LTExLDEwICsxMSwxMCBAQCBhcmNoZXItdHJvbWV5LXB5dGhvbgogYXJjaGVyLXNlcmdpb2RqLXN0 YXAtZmVkb3JhMTVqawogCiAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYtYmZk LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYtYmZkLmgKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvYmZkL2VsZi1iZmQuaAkyMDExLTAzLTE0IDE2 OjU0OjU3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvYmZkL2VsZi1i ZmQuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9iZmQvZWxmLWJmZC5oCTIwMTEtMDMtMTQgMTY6NTQ6NTcuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQvZWxmLWJmZC5oCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTQ3Niw2ICsxNDc2LDE1IEBAIGVudW0KICAg IFRhZ19jb21wYXRpYmlsaXR5ID0gMzIKICB9OwpAQCAtNDMsMTAgKzQzLDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYtYmZkLmgKICAgIC8qIFRydWUgaWYgdGhlIGJmZCBj b250YWlucyBzeW1ib2xzIHRoYXQgaGF2ZSB0aGUgU1RUX0dOVV9JRlVOQwogICAgICAgc3ltYm9s IHR5cGUuICBVc2VkIHRvIHNldCB0aGUgb3NhYmkgZmllbGQgaW4gdGhlIEVMRiBoZWFkZXIKICAg ICAgIHN0cnVjdHVyZS4gICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9iZmQvZWxmLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9iZmQvZWxmLmMJMjAxMS0wMy0xNCAxNjo1NDo1OC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYuYwkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9i ZmQvZWxmLmMJMjAxMS0wMy0xNCAxNjo1NDo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2JmZC9lbGYuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTg0MTYsNiArODQxNiwzNyBAQCBlbGZvYmpfZ3Jva19nbnVfbm90ZSAoYmZkICphYmZk LCBFbGZfSW50CiAgICAgIH0KICB9CkBAIC05OCwxMCArOTgsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvYmZkL2VsZi5jCiAgCSAgYnJlYWs7CiAgCX0KICAKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL01ha2VmaWxlLmluCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi9NYWtlZmlsZS5pbgkyMDExLTAzLTMwIDA4OjU1OjM5LjAwMDAwMDAwMCArMDIwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL01ha2VmaWxlLmluCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9NYWtlZmls ZS5pbgkyMDExLTAzLTMwIDA4OjU1OjM5LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL01ha2VmaWxlLmluCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtNzIxLDggKzcyMSw4IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFk YS10eXBlcHIKICAJc2VudGluZWwtZnJhbWUuYyBcCiAgCXNlcmlhbC5jIHNlci1iYXNlLmMgc2Vy LXVuaXguYyBcCkBAIC0xNDQsMTAgKzE0NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvTWFrZWZpbGUuaW4KICBjb25maWcuc3RhdHVzOiAkKHNyY2RpcikvY29uZmlndXJlIGNv bmZpZ3VyZS50Z3QgY29uZmlndXJlLmhvc3QKICAJJChTSEVMTCkgY29uZmlnLnN0YXR1cyAtLXJl Y2hlY2sKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ORVdTCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvTkVXUwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAx MTA0Mjkub3JpZy9nZGIvTkVXUwkyMDExLTAzLTMxIDE2OjMyOjQ4LjAwMDAwMDAwMCArMDIwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL05FV1MJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL05FV1MJMjAxMS0w My0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9ORVdTCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYsNiArMzYs MTAgQEAKICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIE9wZW5DTCBDIGxhbmd1YWdlIChodHRw Oi8vd3d3Lmtocm9ub3Mub3JnL29wZW5jbCkKICAgIGhhcyBiZWVuIGludGVncmF0ZWQgaW50byBH REIuCkBAIC0xNTksMTEgKzE1OSwxMSBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv TkVXUwogICogUHl0aG9uIHNjcmlwdGluZwogIAogICAgKiogVGhlIGZ1bmN0aW9uIGdkYi5Xcml0 ZSBub3cgYWNjZXB0cyBhbiBvcHRpb25hbCBrZXl3b3JkICdzdHJlYW0nLgotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL2FkYS1sYW5nLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9hZGEtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi9hZGEtbGFuZy5jCTIwMTEtMDQtMjAgMjI6MTA6MjkuMDAwMDAwMDAwICswMjAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYWRhLWxhbmcuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAotQEAgLTExMzkzLDYgKzExMzkzLDcgQEAgYWRhX29wZXJhdG9yX2xlbmd0 aCAoY29uc3Qgc3RydWN0IGV4cHJlcworLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv YWRhLWxhbmcuYwkyMDExLTA1LTE3IDIzOjI2OjA4LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKK0BAIC0xMTQyMSw2ICsxMTQyMSw3IEBAIGFkYV9vcGVyYXRvcl9sZW5ndGggKGNv bnN0IHN0cnVjdCBleHByZXMKICAKICBzdGF0aWMgaW50CiAgYWRhX29wZXJhdG9yX2NoZWNrIChz dHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLApAQCAtMTcxLDcgKzE3MSw3IEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hZGEtbGFuZy5jCiAgCQkgICAgaW50ICgqb2JqZmls ZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmRhdGEpLAogIAkJICAgIHZv aWQgKmRhdGEpCiAgewotQEAgLTExNDA3LDEyICsxMTQwOCwxNSBAQCBhZGFfb3BlcmF0b3JfY2hl Y2sgKHN0cnVjdCBleHByZXNzaW9uICplCitAQCAtMTE0MzUsMTIgKzExNDM2LDE1IEBAIGFkYV9v cGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmUKICAJYnJlYWs7CiAgCiAgICAgICAg ZGVmYXVsdDoKQEAgLTE4OSwxMCArMTg5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgJiYgKCpvYmpmaWxlX2Z1bmMpIChUWVBFX09CSkZJTEUg KHR5cGUpLCBkYXRhKSkKICAgICAgcmV0dXJuIDE7CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvYW1kNjQtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9hbWQ2NC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvYW1kNjQtbGludXgtbmF0LmMJMjAxMS0wMS0wNyAyMDozNjoxNS4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hbWQ2NC1saW51eC1uYXQuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUu b3JpZy9nZGIvYW1kNjQtbGludXgtbmF0LmMJMjAxMS0wMS0wNyAyMDozNjoxNS4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9hbWQ2NC1saW51eC1uYXQuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTI2NSwxOCArMjY1LDExIEBAIGFt ZDY0X2xpbnV4X3N0b3JlX2luZmVyaW9yX3JlZ2lzdGVycyAoc3QKICAMCiAgLyogU3VwcG9ydCBm b3IgZGVidWcgcmVnaXN0ZXJzLiAgKi8KQEAgLTQxMSwxMCArNDExLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9hbWQ2NC1saW51eC1uYXQuYwogIH0KICAMCiAgCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYXgtZ2RiLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9heC1nZGIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvYXgtZ2RiLmMJMjAxMS0wMi0yNCAwODozOTo0Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9heC1nZGIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvYXgtZ2RiLmMJMjAx MS0wMi0yNCAwODozOTo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9heC1nZGIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIw MDEsNyArMjAwMSw4IEBAIGdlbl9leHByIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCB1bmlvbiAK ICAKICAgICAgY2FzZSBPUF9JTlRFUk5BTFZBUjoKQEAgLTQzNCwxMCArNDM0LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9heC1nZGIuYwogIAkgIGVycm9yIChfKCIkJXMgaXMg bm90IGEgdHJhY2Ugc3RhdGUgdmFyaWFibGU7IEdEQiBhZ2VudCAiCiAgCQkgICAiZXhwcmVzc2lv bnMgY2Fubm90IHVzZSBjb252ZW5pZW5jZSB2YXJpYWJsZXMuIiksIG5hbWUpOwogICAgICAgIH0K LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ibG9jay5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvYmxvY2suYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0 Mjkub3JpZy9nZGIvYmxvY2suYwkyMDExLTAxLTAxIDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2Jsb2NrLmMJ MjAxMS0wMS0wMSAxNjozMjo1Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9ibG9jay5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MzIyLDMgKzMyMiwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2sp CiAgCiAgICByZXR1cm4gYmw7CkBAIC00NjAsMTAgKzQ2MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvYmxvY2suYwogKwogKyAgcmV0dXJuIFNZTUJPTF9TWU1UQUIgKGZ1bmMp LT5vYmpmaWxlOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ibG9jay5oCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYmxvY2suaAkyMDExLTAxLTAxIDE2OjMyOjU3LjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmgJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9y aWcvZ2RiL2Jsb2NrLmgJMjAxMS0wMS0wMSAxNjozMjo1Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9ibG9jay5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMTY3LDQgKzE2Nyw2IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgYmxvY2sg KmJsb2NrX2dsb2JhbF8KICAKICBleHRlcm4gc3RydWN0IGJsb2NrICphbGxvY2F0ZV9ibG9jayAo c3RydWN0IG9ic3RhY2sgKm9ic3RhY2spOwpAQCAtNDcxLDEwICs0NzEsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmgKICtleHRlcm4gc3RydWN0IG9iamZpbGUgKmJs b2NrX29iamZpbGUgKGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2spOwogKwogICNlbmRpZiAvKiBC TE9DS19IICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtwb2ludC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9icmVha3BvaW50LmMJMjAxMS0wNC0xNSAw NjoxODozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9icmVh a3BvaW50LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA1LTE3IDIzOjI1OjU2LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTYzLDYgKzYzLDggQEAKICAj aW5jbHVkZSAiaml0LmgiCiAgI2luY2x1ZGUgInhtbC1zeXNjYWxsLmgiCkBAIC04ODcsMTAgKzg4 NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtwb2ludC5jCiArICBv YnNlcnZlcl9hdHRhY2hfbWFya191c2VkIChicmVha3BvaW50X3R5cGVzX21hcmtfdXNlZCk7CiAr I2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2JyZWFrcG9pbnQuaAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTEtMDMtMzEg MTY6MzI6NDguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJl YWtwb2ludC5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMS0wNS0xNyAyMzoyNTo1Ni4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9icmVha3BvaW50LmgJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNjMsNiArMzYzLDExIEBA IHN0cnVjdCBicF9sb2NhdGlvbgogICAgICAgcHJvY2Vzc29yJ3MgYXJjaGl0ZWN0dWFsIGNvbnN0 cmFpbnRzLiAgKi8KICAgIENPUkVfQUREUiByZXF1ZXN0ZWRfYWRkcmVzczsKQEAgLTkwMyw3ICs5 MDMsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtwb2ludC5oCiAgICBj aGFyICpmdW5jdGlvbl9uYW1lOwogIAogICAgLyogRGV0YWlscyBvZiB0aGUgcGxhY2VkIGJyZWFr cG9pbnQsIHdoZW4gaW5zZXJ0ZWQuICAqLwotQEAgLTEyMzMsNCArMTIzOCwxMSBAQCBleHRlcm4g c3RydWN0IGJyZWFrcG9pbnQgKml0ZXJhdGVfb3Zlcl9iCitAQCAtMTIzNyw0ICsxMjQyLDExIEBA IGV4dGVybiBzdHJ1Y3QgYnJlYWtwb2ludCAqaXRlcmF0ZV9vdmVyX2IKICAKICBleHRlcm4gaW50 IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJlYWtwb2ludCAqKTsKICAKQEAgLTkxNSwxMCAr OTE1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9icmVha3BvaW50LmgKICtl eHRlcm4gdm9pZCBtb2RpZnlfc2VtYXBob3JlIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvY2F0aW9u LCBpbnQgc2V0KTsKICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jLXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvYy10eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvYy10eXBlcHJpbnQuYwkyMDExLTAzLTIyIDE4OjM1OjIyLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2MtdHlwZXByaW50LmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS0wMy0yMiAxODozNToyMi4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9jLXR5cGVwcmludC5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNjI1LDkgKzYyNSwxNCBAQCBjX3R5cGVf cHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlCiAgCSAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiKSIpOwogIApAQCAtOTM3LDEwICs5MzcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2MtdHlwZXByaW50LmMKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAi XSIpOwogIAogIAljX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUg KHR5cGUpLCBzdHJlYW0sCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11 dGlscy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxz LmMJMjAxMS0wMy0xNiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9jbGkvY2xpLXV0aWxzLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuYwky MDExLTAzLTE2IDIyOjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2NsaS9jbGktdXRpbHMuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTI0NSwzICsyNDUsMzIgQEAgcmVtb3ZlX3RyYWlsaW5nX3doaXRlc3BhY2UgKGNvbnN0 IGNoYXIgKgogIAogICAgcmV0dXJuIHM7CkBAIC05NzQsMTAgKzk3NCwxMCBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11dGlscy5jCiArCiArICByZXR1cm4gY29weTsK ICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11dGlscy5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0wMy0x NiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9j bGkvY2xpLXV0aWxzLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuaAkyMDExLTAzLTE2IDIy OjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2NsaS9j bGktdXRpbHMuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEwMyw0 ICsxMDMsMTEgQEAgZXh0ZXJuIGNoYXIgKnNraXBfdG9fc3BhY2UgKGNoYXIgKmlucCk7CiAgICAg U1RBUlQuICAqLwogIApAQCAtOTkwLDEwICs5OTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL2NsaS9jbGktdXRpbHMuaAogK2V4dGVybiBjaGFyICpleHRyYWN0X2FyZyAoY2hh ciAqKmFyZyk7CiArCiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvY29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2NvZmZyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L2NvZmZyZWFkLmMJMjAxMS0wMy0xNyAxNDoxOToyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9jb2ZmcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9jb2ZmcmVhZC5jCTIw MTEtMDMtMTcgMTQ6MTk6MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvY29mZnJlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTIxOTMsNiArMjE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBjb2ZmX3N5bV9m bnMKICAKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3JlbG9jYXRlOiBSZWxv Y2F0ZSBhIGRlYnVnCkBAIC0xMDAyLDEwICsxMDAyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9jb2ZmcmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5 L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4JMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFr ZWZpbGUuaW4JMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01MiwxMSAr NTIsMjMgQEAgU1lTQ0FMTFNfRklMRVMgPSBcCiAgUFlUSE9OX0RJUiA9IHB5dGhvbgogIFBZVEhP Tl9JTlNUQUxMX0RJUiA9ICQoREVTVERJUikkKEdEQl9EQVRBRElSKS8kKFBZVEhPTl9ESVIpCkBA IC0xMDMzLDEwICsxMDMzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kYXRh LWRpcmVjdG9yeS9NYWtlZmlsZS5pbgogIAogIEZMQUdTX1RPX1BBU1MgPSBcCiAgCSJwcmVmaXg9 JChwcmVmaXgpIiBcCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZGJ4cmVhZC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGJ4cmVhZC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kYnhyZWFkLmMJMjAxMS0wMy0yMyAxOToyMzo1 NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kYnhyZWFkLmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2RieHJlYWQuYwkyMDExLTAzLTIzIDE5OjIzOjU0LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RieHJlYWQuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsNiArMSw2IEBACiAgLyogUmVhZCBkYnggc3ltYm9s IHRhYmxlcyBhbmQgY29udmVydCB0byBpbnRlcm5hbCBmb3JtYXQsIGZvciBHREIuCiAgICAgQ29w eXJpZ2h0IChDKSAxOTg2LCAxOTg3LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkz LCAxOTk0LCAxOTk1LApAQCAtMTA1MywxMCArMTA1MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZGJ4cmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RlZnMuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2RlZnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvZGVmcy5oCTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZGVmcy5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kZWZzLmgJMjAxMS0wMy0zMSAx NjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kZWZz LmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOTgsNiArMzk4LDgg QEAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdAogIGV4dGVybiBzdHJ1 Y3QgY2xlYW51cCAqCiAgICBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVf cGFnZV9pbmZvICh2b2lkKTsKQEAgLTEwNjYsMTAgKzEwNjYsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2RlZnMuaAogIGV4dGVybiBjaGFyICpnZGJfcmVhbHBhdGggKGNvbnN0 IGNoYXIgKik7CiAgZXh0ZXJuIGNoYXIgKnhmdWxscGF0aCAoY29uc3QgY2hhciAqKTsKICAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiLnRleGluZm8KK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA0LTIwIDE5OjI2 OjQyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RvYy9nZGIu dGV4aW5mbwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIu OTAuMjAxMTA1MjUub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDUtMTcgMjM6Mjc6NDgu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dkYi50ZXhp bmZvCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE3Nyw2ICsxMTc3 LDE2IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9y IHlvdXIgcHJvZ3JhbSdzIHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtp bmdkb24gdGhpbmtzIHRoZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgpAQCAtMTI0 MywxMCArMTI0MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZG9jL2dkYi50 ZXhpbmZvCiAgQGNpbmRleCBweXRob24gc3Rkb3V0CiAgQGNpbmRleCBweXRob24gcGFnaW5hdGlv bgogIEF0IHN0YXJ0dXAsIEB2YWx1ZXtHREJOfSBvdmVycmlkZXMgUHl0aG9uJ3MgQGNvZGV7c3lz LnN0ZG91dH0gYW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZG9jL2dkYmludC50 ZXhpbmZvCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dkYmludC50ZXhpbmZv CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kb2MvZ2RiaW50 LnRleGluZm8JMjAxMS0wMi0wNCAyMDoxMDoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiaW50LnRleGluZm8JMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RvYy9nZGJp bnQudGV4aW5mbwkyMDExLTAyLTA0IDIwOjEwOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTIxMDQsNiArMjEwNCwxOCBAQCB0aW1lLCBhbmQgc28gd2Ug YXR0ZW1wdCB0byBoYW5kbGUgc3ltYm9sCiAgd2UgY3JlYXRlIEBkZm57cGFydGlhbCBzeW1ib2wg dGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2VsZWN0ZWQKICBzeW1ib2xzLCBhbmQgb25seSBl eHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJsZXMgd2hlbiBuZWNlc3NhcnkuCkBAIC0xMzcy LDEwICsxMzcyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiaW50 LnRleGluZm8KICAKICAKICBAbm9kZSBMYW5ndWFnZSBTdXBwb3J0Ci1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZG9jL29ic2VydmVyLnRleGkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAx MTA0Mjkub3JpZy9nZGIvZG9jL29ic2VydmVyLnRleGkJMjAxMS0wMS0wNSAwNjowOTo1NC4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4 aQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvZG9jL29ic2VydmVyLnRleGkJMjAxMS0wMS0wNSAwNjowOTo1NC4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4 aQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIyMyw2ICsyMjMsMTEg QEAgQnl0ZXMgZnJvbSBAdmFye2RhdGF9IHRvIEB2YXJ7ZGF0YX0gKyBAdgogIHRvIHRoZSBjdXJy ZW50IGluZmVyaW9yIGF0IEB2YXJ7YWRkcn0uCiAgQGVuZCBkZWZ0eXBlZnVuCkBAIC0xMzg4LDEw ICsxMzg4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2Mvb2JzZXJ2ZXIu dGV4aQogIEBkZWZ0eXBlZnVuIHZvaWQgdGVzdF9ub3RpZmljYXRpb24gKGludCBAdmFye3NvbWVh cmd9KQogIFRoaXMgb2JzZXJ2ZXIgaXMgdXNlZCBmb3IgaW50ZXJuYWwgdGVzdGluZy4gIERvIG5v dCB1c2UuICAKICBTZWUgdGVzdHN1aXRlL2dkYi5nZGIvb2JzZXJ2ZXIuZXhwLgotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2R3YXJmMmV4cHIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0 Mjkub3JpZy9nZGIvZHdhcmYyZXhwci5jCTIwMTEtMDMtMjIgMjI6MDY6MzIuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYyZXhwci5jCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi9kd2FyZjJleHByLmMJMjAxMS0wNS0xMyAyMDo1NDo0Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJleHByLmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC05MTIsNiArOTEyLDEzIEBAIGV4ZWN1dGVfc3RhY2tfb3AgKHN0 cnVjdCBkd2FyZl9leHByX2NvbnQKICAJICBjdHgtPm51bV9waWVjZXMgPSAwOwogIAkgIGdvdG8g YWJvcnRfZXhwcmVzc2lvbjsKQEAgLTE0MDYsMTAgKzE0MDYsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuYwogIAlkZWZhdWx0OgogIAkgIGVycm9yIChfKCJV bmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBvcGNvZGUgMHgleCIpLCBvcCk7CiAgCX0KLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJleHByLmgKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9kd2FyZjJleHByLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIw MTEwNDI5Lm9yaWcvZ2RiL2R3YXJmMmV4cHIuaAkyMDExLTAyLTI3IDE3OjI1OjM3LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuaAkyMDExLTA0 LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvZHdhcmYyZXhwci5oCTIwMTEtMDItMjcgMTc6MjU6MzcuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhwci5oCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE0LDkgKzExNCwxNSBAQCBzdHJ1Y3QgZHdhcmZfZXhw cl9jb250ZXh0CiAgI2lmIDAKICAgIC8qIE5vdCB5ZXQgaW1wbGVtZW50ZWQuICAqLwpAQCAtMTQy NywxMCArMTQyNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYyZXhw ci5oCiAgCiAgICAvKiBUaGUgY3VycmVudCBkZXB0aCBvZiBkd2FyZiBleHByZXNzaW9uIHJlY3Vy c2lvbiwgdmlhIERXX09QX2NhbGwqLAogICAgICAgRFdfT1BfZmJyZWcsIERXX09QX3B1c2hfb2Jq ZWN0X2FkZHJlc3MsIGV0Yy4sIGFuZCB0aGUgbWF4aW11bQotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL2R3YXJmMmxvYy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdh cmYybG9jLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2R3 YXJmMmxvYy5jCTIwMTEtMDMtMjIgMjI6MDY6MzMuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZHdhcmYybG9jLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIw MTEtMDMtMjIgMjI6MDY6MzMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZHdhcmYybG9jLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0xMzQsNiArMTM0LDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KICB7CiAgICBzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWU7CkBAIC0xNzg0LDEwICsxNzg0LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuYwogKyAgbWlzc2luZ19kZXNjcmliZV9sb2NhdGlv biwKICsgIG1pc3NpbmdfdHJhY2Vwb2ludF92YXJfcmVmCiArfTsKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2R3YXJmMmxvYy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9kd2FyZjJsb2MuaAkyMDExLTAyLTE3IDE3OjIwOjQ0LjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kd2FyZjJsb2Mu aAkyMDExLTAyLTE3IDE3OjIwOjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMTA3LDYgKzEwNywxNSBAQCBzdHJ1Y3QgZHdhcmYyX2xvY2xpc3RfYmF0b24KICAKICBl eHRlcm4gY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYyX2xvY2V4cHJfZnVu Y3M7CkBAIC0xODA0LDExICsxODA0LDExIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9kd2FyZjJsb2MuaAogIAogIC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9u IHRvIGFuIGFnZW50IGV4cHJlc3Npb24uCiAgICAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvZHdhcmYycmVhZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYy cmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kd2Fy ZjJyZWFkLmMJMjAxMS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKLUBAIC0xMjEyLDYgKzEyMTIsOSBAQCBzdGF0aWMgdm9pZCBmaWxsX2luX2xvY2xp c3RfYmF0b24gKHN0cnVjCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kd2FyZjJy ZWFkLmMJMjAxMS0wNS0xNyAyMzoyNjozOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0yNSAxNzowNjowNi4wMDAwMDAwMDAg KzAyMDAKK0BAIC0xMjE5LDYgKzEyMTksOSBAQCBzdGF0aWMgdm9pZCBmaWxsX2luX2xvY2xpc3Rf YmF0b24gKHN0cnVjCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0b24s CiAgCQkJCSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTgxOCw3ICsxODE4LDcg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIHN0YXRpYyB2 b2lkIGR3YXJmMl9zeW1ib2xfbWFya19jb21wdXRlZCAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwK ICAJCQkJCSBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgCQkJCQkgc3RydWN0IGR3YXJmMl9jdSAqY3Up OwotQEAgLTEyNDYsNiArMTI0OSw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0 cyAodm9pZCkKK0BAIC0xMjUzLDYgKzEyNTYsOSBAQCBzdGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2Nv bXBfdW5pdHMgKHZvaWQpCiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5p dCAodm9pZCAqKTsKICAKQEAgLTE4MjgsNyArMTgyOCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICBzdGF0aWMgc3RydWN0IHR5cGUgKnNldF9kaWVfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICosIHN0cnVjdCB0eXBlICosCiAgCQkJCSAgc3RydWN0IGR3YXJm Ml9jdSAqKTsKICAKLUBAIC0xMjcwLDYgKzEyNzYsOSBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKmdl dF9kaWVfdHlwZV9hdF9vZmZzCitAQCAtMTI3Nyw2ICsxMjgzLDkgQEAgc3RhdGljIHN0cnVjdCB0 eXBlICpnZXRfZGllX3R5cGVfYXRfb2ZmcwogIAogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZ2V0X2Rp ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpOwogIApA QCAtMTgzOCw3ICsxODM4LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJm MnJlYWQuYwogIHN0YXRpYyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2b2lkICpkdW1teSk7 CiAgCiAgc3RhdGljIHZvaWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9k YXRhICpwZXJfY3UsCi1AQCAtNzM1OSw2ICs3MzY4LDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25f c2NvcGUgKHN0cnVjdCBkaWVfaW4KK0BAIC03NDU1LDYgKzc0NjQsMjkgQEAgcHJvY2Vzc19lbnVt ZXJhdGlvbl9zY29wZSAoc3RydWN0IGRpZV9pbgogICAgbmV3X3N5bWJvbCAoZGllLCB0aGlzX3R5 cGUsIGN1KTsKICB9CiAgCkBAIC0xODY4LDcgKzE4NjgsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgLyogRXh0cmFjdCBhbGwgaW5mb3JtYXRpb24gZnJv bSBhIERXX1RBR19hcnJheV90eXBlIERJRSBhbmQgcHV0IGl0IGluCiAgICAgdGhlIERJRSdzIHR5 cGUgZmllbGQuICBGb3Igbm93LCB0aGlzIG9ubHkgaGFuZGxlcyBvbmUgZGltZW5zaW9uYWwKICAg ICBhcnJheXMuICAqLwotQEAgLTczNzIsNyArNzQwNCw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHMKK0BAIC03NDY4LDcgKzc1MDAsNyBAQCByZWFkX2FycmF5X3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBl LCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqKnJhbmdlX3R5cGVz ID0gTlVMTDsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0xODc3LDcgKzE4NzcsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICBzdHJ1Y3Qg Y2xlYW51cCAqYmFja190bzsKICAgIGNoYXIgKm5hbWU7CiAgCi1AQCAtNzQyNSwxNyArNzQ1Nywx OSBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtNzUyMSwx NyArNzU1MywxOSBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAg ICB0eXBlID0gZWxlbWVudF90eXBlOwogIAogICAgaWYgKHJlYWRfYXJyYXlfb3JkZXIgKGRpZSwg Y3UpID09IERXX09SRF9jb2xfbWFqb3IpCkBAIC0xOTA4LDcgKzE5MDgsNyBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICAvKiBVbmRlcnN0YW5kIER3 YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAgICAg dGhlIFBvd2VyUEMgdy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmlidXRl IHRvIHRoZQotQEAgLTc5MjgsMjkgKzc5NjIsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChz dHJ1Y3QgZGllX2luZm8gKmQKK0BAIC04MDE1LDI5ICs4MDQ5LDExNCBAQCByZWFkX3RhZ19zdHJp bmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5n ZV90eXBlLCAqaW5kZXhfdHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0 dHI7CkBAIC0yMDM2LDcgKzIwMzYsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv ZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChj dS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBl IChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAotQEAgLTgyMzUsOCArODM1NCw3IEBA IHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUKK0BAIC04MzIyLDggKzg0 NDEsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCiAgICBzdHJ1 Y3QgdHlwZSAqYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGU7CiAgICBzdHJ1 Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjA0Niw3ICsyMDQ2LDcgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hhciAqbmFtZTsKICAgIExPTkdFU1Qg bmVnYXRpdmVfbWFzazsKICAKLUBAIC04MjQ5LDUzICs4MzY3LDEyNiBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCitAQCAtODMzNiw1MyArODQ1NCwxMjYgQEAgcmVh ZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQogICAgaWYgKHJhbmdlX3R5cGUp CiAgICAgIHJldHVybiByYW5nZV90eXBlOwogIApAQCAtMjIwOCw3ICsyMjA4LDcgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgICB9CiAgCiAgICAvKiBE d2FyZi0yIHNwZWNpZmljYXRpb25zIGV4cGxpY2l0bHkgYWxsb3dzIHRvIGNyZWF0ZSBzdWJyYW5n ZSB0eXBlcwotQEAgLTgzMzYsMjQgKzg1MjcsNDEgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZQorQEAgLTg0MjMsMjQgKzg2MTQsNDEgQEAgcmVhZF9zdWJyYW5nZV90 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQogIAl9CiAgICAgIH0KICAKQEAgLTIyNjgsNyArMjI2 OCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAKICAg IG5hbWUgPSBkd2FyZjJfbmFtZSAoZGllLCBjdSk7CiAgICBpZiAobmFtZSkKLUBAIC0xMDg5OCwx MCArMTExMDYsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYQor QEAgLTEwOTg1LDEwICsxMTE5MywxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0 cmlidXRlICphCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2YWx1ZSBvZiBhIHJlZ2lzdGVyIG9yIG1l bW9yeSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNlZCwgb3IgYSB0aHJlYWQtbG9jYWwgYmxv Y2ssIGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQKICAgICAgIG5vdCBiZSB3b3J0aHdoaWxl LiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5sZXNzIHBlcmZvcm1hbmNlCkBAIC0yMjgw LDEwICsyMjgwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFk LmMKIC0gIGR3YXJmMl9zeW1ib2xfbWFya19jb21wdXRlZCAoYXR0ciwgc3ltLCBjdSk7CiAgICBT WU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0NfQ09NUFVURUQ7CiArICBkd2FyZjJfc3ltYm9sX21hcmtf Y29tcHV0ZWQgKGF0dHIsIHN5bSwgY3UpOwotIH0KICAKLSAvKiBHaXZlbiBhIHBvaW50ZXIgdG8g YSBEV0FSRiBpbmZvcm1hdGlvbiBlbnRyeSwgZmlndXJlIG91dCBpZiB3ZSBuZWVkCi1AQCAtMTA5 MzksNiArMTExNDksOCBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz CisgICBpZiAoU1lNQk9MX0NPTVBVVEVEX09QUyAoc3ltKSA9PSAmZHdhcmYyX2xvY2xpc3RfZnVu Y3MpCisgICAgIGN1LT5oYXNfbG9jbGlzdCA9IDE7CitAQCAtMTEwMjksNiArMTEyMzksOCBAQCBu ZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICAgICAgZWxzZQogIAlz eW0gPSBPQlNUQUNLX1pBTExPQyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywgc3RydWN0IHN5 bWJvbCk7CiAgICAgICAgT0JKU1RBVCAob2JqZmlsZSwgbl9zeW1zKyspOwpAQCAtMjI5Miw3ICsy MjkyLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIAog ICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5hbWUncyBkZW1hbmds ZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5HVUFHRSAoc3ltLCBj dS0+bGFuZ3VhZ2UpOwotQEAgLTExNzExLDYgKzExOTIzLDkgQEAgcmVhZF90eXBlX2RpZV8xIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgcworQEAgLTExODAxLDYgKzEyMDEzLDkgQEAgcmVhZF90eXBl X2RpZV8xIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogICAgICAgIGJyZWFrOwogICAgICB9CiAg CkBAIC0yMzAyLDcgKzIzMDIsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdh cmYycmVhZC5jCiAgICByZXR1cm4gdGhpc190eXBlOwogIH0KICAKLUBAIC0xNDU2NSw2MSArMTQ3 ODAsOTkgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1IAorQEAgLTE0 NjU1LDYxICsxNDg3MCw5OSBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJf Y3UgCiAgICBiYXRvbi0+YmFzZV9hZGRyZXNzID0gY3UtPmJhc2VfYWRkcmVzczsKICB9CiAgCkBA IC0yNDQ1LDcgKzI0NDUsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYy cmVhZC5jCiAgICAgIH0KICB9CiAgCi1AQCAtMTQ5NjgsNiArMTUyMjEsMjUgQEAgb2Zmc2V0X2Fu ZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocworQEAgLTE1MDU4LDYgKzE1MzExLDI1IEBA IG9mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMKICAgIHJldHVybiBvZnNf bGhzLT5vZmZzZXQgPT0gb2ZzX3Jocy0+b2Zmc2V0OwogIH0KICAKQEAgLTI0NzEsNyArMjQ3MSw3 IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAvKiBTZXQg dGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIERJRSB0byBUWVBFLiAgU2F2ZSBpdCBpbiBDVSdzIGhh c2gKICAgICB0YWJsZSBpZiBuZWNlc3NhcnkuICBGb3IgY29udmVuaWVuY2UsIHJldHVybiBUWVBF LgogIAotQEAgLTE0OTkzLDYgKzE1MjY1LDggQEAgc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydQorQEAgLTE1MDgzLDYgKzE1MzU1LDggQEAgc2V0X2RpZV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydQogICAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUgPSBjdS0+ b2JqZmlsZTsKICAgIGh0YWJfdCAqdHlwZV9oYXNoX3B0cjsKICAKQEAgLTI0ODAsMTAgKzI0ODAs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgLyog Rm9yIEFkYSB0eXBlcywgbWFrZSBzdXJlIHRoYXQgdGhlIGduYXQtc3BlY2lmaWMgZGF0YSBpcyBh bHdheXMKICAgICAgIGluaXRpYWxpemVkIChpZiBub3QgYWxyZWFkeSBzZXQpLiAgVGhlcmUgYXJl IGEgZmV3IHR5cGVzIHdoZXJlCiAgICAgICB3ZSBzaG91bGQgbm90IGJlIGRvaW5nIHNvLCBiZWNh dXNlIHRoZSB0eXBlLXNwZWNpZmljIGFyZWEgaXMKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9lbGZyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9lbGZyZWFkLmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2VsZnJlYWQuYwky MDExLTA0LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL2VsZnJlYWQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0t IGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTEtMDUtMDMgMTg6MjU6 MjAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZWxmcmVhZC5j CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDMsNiArNDMsMTIgQEAK ICAjaW5jbHVkZSAiaW5mY2FsbC5oIgogICNpbmNsdWRlICJnZGJ0aHJlYWQuaCIKQEAgLTI1MTks NyArMjUxOSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKICBz dGF0aWMgdm9pZCBmcmVlX2VsZmluZm8gKHZvaWQgKik7CiAgCiAgLyogTWluaW1hbCBzeW1ib2xz IGxvY2F0ZWQgYXQgdGhlIEdPVCBlbnRyaWVzIGZvciAucGx0IC0gdGhhdCBpcyB0aGUgcmVhbAot QEAgLTE1NTYsNyArMTU3NywyNjYgQEAgZWxmc3RhYl9vZmZzZXRfc2VjdGlvbnMgKHN0cnVjdCBv YmpmaWxlIAorQEAgLTE1NTMsNyArMTU3NCwyNjYgQEAgZWxmc3RhYl9vZmZzZXRfc2VjdGlvbnMg KHN0cnVjdCBvYmpmaWxlIAogICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCiAg CSAgICAgICBfKCJlbGYvc3RhYiBzZWN0aW9uIGluZm9ybWF0aW9uIG1pc3NpbmcgZm9yICVzIiks IGZpbGVuYW1lKTsKICB9CkBAIC0yNzg2LDcgKzI3ODYsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZWxmcmVhZC5jCiAgLyogUmVnaXN0ZXIgdGhhdCB3ZSBhcmUgYWJsZSB0byBo YW5kbGUgRUxGIG9iamVjdCBmaWxlIGZvcm1hdHMuICAqLwogIAogIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyA9Ci1AQCAtMTU3MSw2ICsxODUxLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9zeW1fZm5zIAorQEAgLTE1NjgsNiArMTg0OCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyAKICAgIGVsZl9zeW1maWxlX3Nl Z21lbnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAg TlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBz ZWN0aW9uLiAgKi8KQEAgLTI3OTQsNyArMjc5NCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9lbGZyZWFkLmMKICAgICZwc3ltX2Z1bmN0aW9ucwogIH07CiAgCi1AQCAtMTU4OSw2 ICsxODcwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9zeW1fZm5zXworQEAg LTE1ODYsNiArMTg2Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zu c18KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24g ZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJ LyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI4MDIsNyArMjgwMiw3IEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKICAgICZwc3ltX2Z1bmN0aW9u cwogIH07CiAgCi1AQCAtMTYwNiw2ICsxODg4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1f Zm5zIGVsZl9zeW1fZm5zXworQEAgLTE2MDMsNiArMTg4NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zuc18KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0 IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1 bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAg LTI4MTAsNyArMjgxMCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFk LmMKICAgICZkd2FyZjJfZ2RiX2luZGV4X2Z1bmN0aW9ucwogIH07CiAgCi1AQCAtMTYyMiw2ICsx OTA1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnbnVfaWZ1bmNfZm5zIGVsZl9nbgorQEAgLTE2 MTksNiArMTkwMiw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ251X2lmdW5jX2ZucyBlbGZfZ24K ICB2b2lkCiAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICB7CkBAIC0yODE5LDEwICsyODE5 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKICAgIGFkZF9z eW10YWJfZm5zICgmZWxmX3N5bV9mbnMpOwogIAogICAgZWxmX29iamZpbGVfZ251X2lmdW5jX2Nh Y2hlX2RhdGEgPSByZWdpc3Rlcl9vYmpmaWxlX2RhdGEgKCk7Ci1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZXZhbC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZXZhbC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9ldmFsLmMJMjAx MS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9ldmFsLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2V2YWwuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2V2YWwuYwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQ0LDYgKzQ0LDcgQEAKICAjaW5jbHVkZSAi b2JqZmlsZXMuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgpAQCAtMzMwNywxMCArMzMw NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZXZhbC5jCiAtICByZXR1cm4g bmRpbWVuOwogKwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLWV4cC55CitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1leHAueQogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi1leHAueQkyMDExLTAzLTE4IDE0OjUxOjQxLjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtZXhwLnkJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9y aWcvZ2RiL2YtZXhwLnkJMjAxMS0wMy0xOCAxNDo1MTo0MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWV4cC55CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMjkzLDcgKzI5Myw5IEBAIGFyZ2xpc3QgOglzdWJyYW5nZQogIAkJCXsg YXJnbGlzdF9sZW4gPSAxOyB9CiAgCTsKQEAgLTMzMjIsMTAgKzMzMjIsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtZXhwLnkKICAJCQl7IGFyZ2xpc3RfbGVuKys7IH0KICAJ OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtbGFuZy5oCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi1sYW5nLmgJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L2YtbGFuZy5oCTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvZi1sYW5nLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0yOCw2ICsyOCwxMCBAQCBleHRlcm4gdm9pZCBmX2Vycm9yIChjaGFyICopOwkv KiBEZWZpbmVkCiAgZXh0ZXJuIHZvaWQgZl9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqLCBjb25z dCBjaGFyICosIHN0cnVjdCB1aV9maWxlICosIGludCwKICAJCQkgIGludCk7CkBAIC0zMzM3LDEw ICszMzM3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLWxhbmcuaAogIGV4 dGVybiBpbnQgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosIGlu dCwgQ09SRV9BRERSLAogIAkJCXN0cnVjdCB1aV9maWxlICosIGludCwKICAJCQljb25zdCBzdHJ1 Y3QgdmFsdWUgKiwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXR5cGVwcmludC5j CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi10eXBlcHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi10eXBlcHJpbnQuYwkyMDExLTAx LTA3IDIwOjM2OjE2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2YtdHlwZXByaW50LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxMS0wMS0wNyAyMDoz NjoxNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLXR5cGVw cmludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzIsNyArMzIs NyBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgInRhcmdldC5oIgpAQCAtMzQw NSwxMCArMzQwNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi10eXBlcHJp bnQuYwogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7CiAgICAgIGNhc2UgVFlQ RV9DT0RFX0FSUkFZOgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtdmFscHJpbnQu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtdmFscHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTEtMDIt MDcgMTg6NDk6MzIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv Zi12YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxMS0wMi0wNyAxODo0OToz Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLXZhbHByaW50 LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01NCwxNSArNTQsMTcg QEAgaW50IGY3N19hcnJheV9vZmZzZXRfdGJsW01BWF9GT1JUUkFOX0RJTQogIC8qIFRoZSBmb2xs b3dpbmcgbWFjcm8gZ2l2ZXMgdXMgdGhlIHNpemUgb2YgdGhlIG50aCBkaW1lbnNpb24sIFdoZXJl IAogICAgIG4gaXMgMSBiYXNlZC4gICovCkBAIC0zNTQ0LDEwICszNTQ0LDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXZhbHByaW50LmMKICAgIENIRUNLX1RZUEVERUYgKHR5 cGUpOwogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZmluZHZhci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZmluZHZhci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9maW5kdmFyLmMJMjAxMS0wMy0xOCAxOTo0Mjo0MS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9maW5kdmFyLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2ZpbmR2YXIuYwkyMDEx LTAzLTE4IDE5OjQyOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2ZpbmR2YXIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTM1 LDYgKzM1LDcgQEAKICAjaW5jbHVkZSAidXNlci1yZWdzLmgiCiAgI2luY2x1ZGUgImJsb2NrLmgi CkBAIC0zNjkzLDEwICszNjkzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9m aW5kdmFyLmMKICAJCQkJICAgICAgdmFsdWVfY29udGVudHNfcmF3ICh2KSwgJm9wdGltLAogIAkJ CQkgICAgICAmdW5hdmFpbCk7CiAgICAgIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9nZGJpbml0LmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZ2RiaW5pdC5pbgog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZ2RiaW5pdC5pbgky MDA5LTEwLTA1IDE1OjQ2OjUyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL2dkYmluaXQuaW4JMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2dkYmluaXQuaW4JMjAwOS0xMC0wNSAxNTo0 Njo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJpbml0 LmluCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMSw1ICsxLDE1IEBA CiAgZWNobyBTZXR0aW5nIHVwIHRoZSBlbnZpcm9ubWVudCBmb3IgZGVidWdnaW5nIGdkYi5cbgog IApAQCAtMzcxMywxMCArMzcxMywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv Z2RiaW5pdC5pbgogIHNldCBjb21wbGFpbnRzIDEKICAKICBiIGludGVybmFsX2Vycm9yCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxMS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAy MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9nZGJ0eXBlcy5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9n ZGJ0eXBlcy5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvZ2RidHlwZXMuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTM5LDYgKzM5LDkgQEAKICAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgI2luY2x1 ZGUgImdkYl9hc3NlcnQuaCIKQEAgLTQ2MjcsMTAgKzQ2MjcsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2dkYnR5cGVzLmMKICAgIG9iamZpbGVfdHlwZV9kYXRhID0gcmVnaXN0 ZXJfb2JqZmlsZV9kYXRhICgpOwogIAogICAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgib3Zl cmxvYWQiLCBub19jbGFzcywgJm92ZXJsb2FkX2RlYnVnLAotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL2dkYnR5cGVzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9nZGJ0 eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9nZGJ0 eXBlcy5oCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDExLTAz LTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2dkYnR5cGVzLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yMTUs NiArMjE1LDExIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCiAgCiAgI2RlZmluZSBU WVBFX1RBUkdFVF9TVFVCKHQpCShUWVBFX01BSU5fVFlQRSAodCktPmZsYWdfdGFyZ2V0X3N0dWIp CkBAIC00ODY1LDEwICs0ODY1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9n ZGJ0eXBlcy5oCiArI2VuZGlmCiArCiAgI2VuZGlmIC8qIEdEQlRZUEVTX0ggKi8KLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2LWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvaTM4Ni1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4Ni1saW51eC1uYXQuYwkyMDExLTAyLTI3IDE3OjI1OjM3 LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2kzODYtbGludXgt bmF0LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkw LjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbGludXgtbmF0LmMJMjAxMS0wMi0yNyAxNzoyNTozNy4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LWxpbnV4LW5h dC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNjQ5LDIyICs2NDks MTMgQEAgaTM4Nl9saW51eF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMgKHN0cgogIH0KICAMCkBA IC01MDczLDEwICs1MDczLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2 LWxpbnV4LW5hdC5jCiAgfQogIAwKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9p Mzg2LW5hdC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEx LTAyLTI2IDIzOjA0OjUxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL2kzODYtbmF0LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmMJMjAxMS0wMi0yNiAyMzowNDo1 MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LW5hdC5j CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjUsNiArMjUsNyBAQAog ICNpbmNsdWRlICJnZGJjbWQuaCIKICAjaW5jbHVkZSAidGFyZ2V0LmgiCkBAIC01NDI4LDEwICs1 NDI4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2LW5hdC5jCiAgfQog IAogIHZvaWQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2LW5hdC5oCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4Ni1uYXQuaAkyMDExLTAxLTA5IDA0OjA4OjU2 LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2kzODYtbmF0LmgJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmgJMjAxMS0wMS0wOSAwNDowODo1Ni4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LW5hdC5oCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsNiArNzgsMjggQEAgc3RydWN0IGkzODZfZHJf bG93X3R5cGUgCiAgCiAgZXh0ZXJuIHN0cnVjdCBpMzg2X2RyX2xvd190eXBlIGkzODZfZHJfbG93 OwpAQCAtNTQ2MSwxMCArNTQ2MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv aTM4Ni1uYXQuaAogIC8qIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNldCBpMzg2X2RyX2xvdyBkZWJ1 Z19yZWdpc3Rlcl9sZW5ndGggZmllbGQKICAgICByYXRoZXIgdGhhbiBzZXR0aW5nIGl0IGRpcmVj dGx5IHRvIGNoZWNrIHRoYXQgdGhlIGxlbmd0aCBpcyBvbmx5CiAgICAgc2V0IG9uY2UuICBJdCBh bHNvIGVuYWJsZXMgdGhlICdtYWludCBzZXQvc2hvdyBzaG93LWRlYnVnLXJlZ3MnIAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2luZnJ1bi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvaW5mcnVuLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL2luZnJ1bi5jCTIwMTEtMDQtMjAgMTk6MDQ6MzIuMDAwMDAwMDAwICswMjAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvaW5mcnVuLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2luZnJ1bi5jCTIw MTEtMDQtMjAgMTk6MDQ6MzIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvaW5mcnVuLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01 NCw2ICs1NCw4IEBACiAgI2luY2x1ZGUgImlubGluZS1mcmFtZS5oIgogICNpbmNsdWRlICJqaXQu aCIKQEAgLTU2MjAsMTAgKzU2MjAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2luZnJ1bi5jCiAgCiAgICBhZGRfc2V0c2hvd19ib29sZWFuX2NtZCAoIm9ic2VydmVyIiwgbm9f Y2xhc3MsCiAgCQkJICAgJm9ic2VydmVyX21vZGVfMSwgXygiXAotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9s aW5lc3BlYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9s aW5lc3BlYy5jCTIwMTEtMDMtMjUgMTg6MTM6MTIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbGluZXNwZWMuYwkyMDEx LTAzLTI1IDE4OjEzOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2xpbmVzcGVjLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00 Myw2ICs0Myw3IEBACiAgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSA8Y3R5cGUu aD4KQEAgLTU2NTAsMTAgKzU2NTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2xpbmVzcGVjLmMKICAgIGlzX3F1b3RlZCA9IChzdHJjaHIgKGdldF9nZGJfY29tcGxldGVyX3F1 b3RlX2NoYXJhY3RlcnMgKCksCiAgCQkgICAgICAgKiphcmdwdHIpICE9IE5VTEwpOwogIAotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmgKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9saW5lc3BlYy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9saW5lc3BlYy5oCTIwMTEtMDMtMjQgMjA6NDc6MTcuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuaAkyMDExLTA0LTI5IDA5 OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv bGluZXNwZWMuaAkyMDExLTAzLTI0IDIwOjQ3OjE3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbmVzcGVjLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0zMCw2ICszMCwxMCBAQCBzdHJ1Y3QgbGluZXNwZWNfcmVzdWx0CiAgICAg ICBkaXNwbGF5IG1lY2hhbmlzbSB3b3VsZCBkbyB0aGUgd3JvbmcgdGhpbmcuICAqLwogICAgaW50 IHNwZWNpYWxfZGlzcGxheTsKQEAgLTU2NjUsMTEgKzU2NjUsMTEgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmgKICAgIC8qIElmIG5vbi1OVUxMLCBhbiBhcnJheSBv ZiBjYW5vbmljYWwgbmFtZXMgZm9yIHJldHVybmVkCiAgICAgICBzeW10YWJfYW5kX2xpbmUgb2Jq ZWN0cy4gIFRoZSBhcnJheSBoYXMgYXMgbWFueSBlbGVtZW50cyBhcyB0aGUKICAgICAgIGBuZWx0 cycgZmllbGQgaW4gdGhlIHN5bXRhYnNfYW5kX2xpbmUgcmV0dXJuZWQgYnkgZGVjb2RlX2xpbmVf MS4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9saW51eC1uYXQuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu Mi45MC4yMDExMDQyOS5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDExLTAzLTA5IDEzOjQ4OjU1LjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbnV4LW5hdC5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCi1AQCAtMTI1NCw2ICsxMjU0LDY0IEBA IGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkX3QgZmlsdGVyLAorLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvbGludXgtbmF0LmMJMjAxMS0wNC0yOSAxODowMjoxMC4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW51eC1uYXQuYwkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorQEAgLTEyNzIsNiArMTI3Miw2NCBAQCBpdGVyYXRlX292 ZXJfbHdwcyAocHRpZF90IGZpbHRlciwKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTU3MzQs MTAgKzU3MzQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbnV4LW5hdC5j CiAgLyogVXBkYXRlIG91ciBpbnRlcm5hbCBzdGF0ZSB3aGVuIGNoYW5naW5nIGZyb20gb25lIGNo ZWNrcG9pbnQgdG8KICAgICBhbm90aGVyIGluZGljYXRlZCBieSBORVdfUFRJRC4gIFdlIGNhbiBv bmx5IHN3aXRjaCBzaW5nbGUtdGhyZWFkZWQKICAgICBhcHBsaWNhdGlvbnMsIHNvIHdlIG9ubHkg Y3JlYXRlIG9uZSBuZXcgTFdQLCBhbmQgdGhlIHByZXZpb3VzIGxpc3QKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9saW51eC1uYXQuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL2xpbnV4LW5hdC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi9saW51eC1uYXQuaAkyMDExLTAxLTA1IDIzOjIyOjQ5LjAwMDAwMDAwMCArMDEwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbnV4LW5hdC5oCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9saW51eC1u YXQuaAkyMDExLTAxLTA1IDIzOjIyOjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMTQwLDYgKzE0MCwxMSBAQCBzdHJ1Y3QgbHdwX2luZm8gKml0ZXJhdGVfb3Zlcl9s d3BzIChwdGlkCiAgCQkJCQkJICAgICB2b2lkICopLCAKICAJCQkJICAgIHZvaWQgKmRhdGEpOwpA QCAtNTc1MCwxMCArNTc1MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGlu dXgtbmF0LmgKICAvKiBDcmVhdGUgYSBwcm90b3R5cGUgZ2VuZXJpYyBHTlUvTGludXggdGFyZ2V0 LiAgVGhlIGNsaWVudCBjYW4KICAgICBvdmVycmlkZSBpdCB3aXRoIGxvY2FsIG1ldGhvZHMuICAq LwogIHN0cnVjdCB0YXJnZXRfb3BzICogbGludXhfdGFyZ2V0ICh2b2lkKTsKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9tYWNob3JlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL21hY2hvcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9tYWNob3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21hY2hvcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6 NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9tYWNo b3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL21hY2hvcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtODQ5LDYgKzg0OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBt YWNob19zeW1fZm4KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogR2V0IHNlZ21lbnQg aW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKQEAgLTU3NjIsMTAgKzU3NjIs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21hY2hvcmVhZC5jCiAgICAmcHN5 bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21haW4u YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21haW4uYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvbWFpbi5jCTIwMTEtMDMtMDcgMTk6MzQ6MzEu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWFpbi5jCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5v cmlnL2dkYi9tYWluLmMJMjAxMS0wMy0wNyAxOTozNDozMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0zOSw2ICszOSw3IEBACiAgCiAgI2luY2x1ZGUgImludGVycHMuaCIKQEAg LTU5MTMsMTAgKzU5MTMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21haW4u YwogICAgLS1xdWlldCAgICAgICAgICAgIERvIG5vdCBwcmludCB2ZXJzaW9uIG51bWJlciBvbiBz dGFydHVwLlxuXAogICAgLS1yZWFkbm93ICAgICAgICAgIEZ1bGx5IHJlYWQgc3ltYm9sIGZpbGVz IG9uIGZpcnN0IGFjY2Vzcy5cblwKICAiKSwgc3RyZWFtKTsKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9taS9taS1jbWQtdmFyLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9taS9taS1jbWQtdmFyLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTAxLTEyIDIyOjA5OjM5LjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9n ZGIvbWkvbWktY21kLXZhci5jCTIwMTEtMDEtMTIgMjI6MDk6MzkuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWkvbWktY21kLXZhci5jCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNzA3LDcgKzcwNyw2IEBAIG1pX2NtZF92YXJfdXBk YXRlIChjaGFyICpjb21tYW5kLCBjaGFyICoKICAgICAgfQogICAgZWxzZQpAQCAtNTkyNSwxMCAr NTkyNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWkvbWktY21kLXZhci5j CiAgICAgICAgc3RydWN0IHZhcm9iaiAqdmFyID0gdmFyb2JqX2dldF9oYW5kbGUgKG5hbWUpOwog IAogICAgICAgIHZhcm9ial91cGRhdGVfb25lICh2YXIsIHByaW50X3ZhbHVlcywgMSAvKiBleHBs aWNpdCAqLyk7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWlwc3JlYWQuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pcHNyZWFkLmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL21pcHNyZWFkLmMJMjAxMS0wMy0wNyAxNzoxNzoy OS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9taXBzcmVhZC5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9taXBzcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3JlYWQuYwkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQwMiw2ICs0MDIsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHN5bV9mbnMgZWNvZmZfc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMs CS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIE5VTEwsCkBA IC01OTM3LDEwICs1OTM3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9taXBz cmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL29iamZpbGVzLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9vYmpm aWxlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9vYmpm aWxlcy5jCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvb2JqZmlsZXMuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvb2JqZmlsZXMuYwkyMDExLTA0 LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L29iamZpbGVzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC04NDYs NiArODQ2LDExIEBAIG9iamZpbGVfcmVsb2NhdGUxIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmkKICAJ CQkJb2JqX3NlY3Rpb25fYWRkciAocykpOwogICAgICB9CkBAIC01OTUzLDEwICs1OTUzLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9vYmpmaWxlcy5jCiAgICAvKiBEYXRhIGNo YW5nZWQuICAqLwogICAgcmV0dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3AtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3AtdmFscHJp bnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcC12YWxw cmludC5jCTIwMTEtMDMtMTUgMTc6MDA6NTYuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvcC12YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9wLXZhbHByaW50LmMJMjAx MS0wMy0xNSAxNzowMDo1Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9wLXZhbHByaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0zOSw2ICszOSw3IEBACiAgI2luY2x1ZGUgImNwLWFiaS5oIgogICNpbmNsdWRlICJjcC1zdXBw b3J0LmgiCkBAIC02MDMzLDEwICs2MDMzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9wLXZhbHByaW50LmMKICAgIHJldHVybiAoMCk7CiAgfQogIAwKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9wYXJzZS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv cGFyc2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcGFy c2UuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3BhcnNlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BhcnNlLmMJMjAxMS0wMy0yOCAyMjoy MTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wYXJzZS5j CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTUwMiw2ICsxNTAyLDcg QEAgcGFyc2VyX2ZwcmludGYgKEZJTEUgKngsIGNvbnN0IGNoYXIgKnksIAogIAogIGludApAQCAt NjE0MiwxMCArNjE0MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcGFyc2Uu YwogIAogIHZvaWQKICBfaW5pdGlhbGl6ZV9wYXJzZSAodm9pZCkKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9wYXJzZXItZGVmcy5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcGFyc2VyLWRlZnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvcGFyc2VyLWRlZnMuaAkyMDExLTAxLTEwIDIxOjM4OjQ5LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3BhcnNlci1kZWZzLmgJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Bh cnNlci1kZWZzLmgJMjAxMS0wMS0xMCAyMTozODo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9wYXJzZXItZGVmcy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMTk0LDYgKzE5NCw4IEBAIGV4dGVybiB2b2lkIG9wZXJhdG9yX2xl bmd0aF9zdGFuZGFyZCAoY28KICAJCQkJICAgICAgaW50ICopOwogIApAQCAtNjE3NCwxMCArNjE3 NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcGFyc2VyLWRlZnMuaAogKyNl bmRpZgogKwogICNlbmRpZiAvKiBQQVJTRVJfREVGU19IICovCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvcHBjLWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHBjLWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNC0xOCAyMzoyOToxOC4wMDAwMDAwMDAgKzAy MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNC0y OSAwOTo0MTowNi4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL3BwYy1saW51eC1uYXQuYwkyMDExLTA0LTE4IDIzOjI5OjE4LjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTE2MzcsNiArMTYzNywxNCBAQCBib29rZV9yZW1v dmVfcG9pbnQgKHN0cnVjdCBwcGNfaHdfYnJlYWtwCiAgICBod19icmVha3NbaV0uaHdfYnJlYWsg PSBOVUxMOwogIH0KQEAgLTYzMjEsMTAgKzYzMjEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3BwYy1saW51eC1uYXQuYwogICAgICB9CiAgCiAgICByZXR1cm4gcmV0OwotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ByaW50Y21kLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9wcmludGNtZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTEtMDMtMjIgMTU6Mzk6NDAuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHJpbnRjbWQuYwkyMDExLTA0LTI5IDA5 OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv cHJpbnRjbWQuYwkyMDExLTAzLTIyIDE1OjM5OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3ByaW50Y21kLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC05NzUsNiArOTc1LDExIEBAIHByaW50X2NvbW1hbmRfMSAoY2hhciAqZXhw LCBpbnQgaW5zcGVjdCwKICAgIGVsc2UKICAgICAgdmFsID0gYWNjZXNzX3ZhbHVlX2hpc3Rvcnkg KDApOwpAQCAtNjM3MSwxMCArNjM3MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHJpbnRjbWQuYwogKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAocHJpbnRfdHlwZXNf bWFya191c2VkKTsKICsjZW5kaWYKICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv cHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lSXRlcmF0b3IucHkKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5CTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv cHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgSXRlcmF0b3Igb3ZlciBmcmFtZXMuCiAr CkBAIC02NDA5LDEwICs2NDA5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9w eXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5CiArICAgICAgICAgICAgcmFpc2UgU3RvcEl0 ZXJhdGlvbgogKyAgICAgICAgc2VsZi5mcmFtZSA9IHJlc3VsdC5vbGRlciAoKQogKyAgICAgICAg cmV0dXJuIHJlc3VsdAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIv Z2RiL0ZyYW1lV3JhcHBlci5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhv bi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2Ri L0ZyYW1lV3JhcHBlci5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTAsMCArMSwxMTIgQEAKICsjIFdyYXBwZXIgQVBJIGZvciBmcmFtZXMuCiArCkBAIC02NTI2LDEw ICs2NTI2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dk Yi9GcmFtZVdyYXBwZXIucHkKICsKICsgICAgZGVmIF9fZ2V0YXR0cl9fIChzZWxmLCBuYW1lKToK ICsgICAgICAgIHJldHVybiBnZXRhdHRyIChzZWxmLmZyYW1lLCBuYW1lKQotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAogKyMgRmlsdGVyaW5nIGJhY2t0cmFjZS4K ICsKQEAgLTY1NzMsMTAgKzY1NzMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQogKyAgICAgICAgcmV0dXJuIGl0ZXIKICsgICAg cmV0dXJuIGZyYW1lX2ZpbHRlciAoaXRlcikKICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CitJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYWxpYXMucHkJMjAx MS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDU5IEBACiArIyBBbGlhcyBjb21tYW5kLgogKwpA QCAtNjYzNywxMCArNjYzNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0 aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQogKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIlRoaXMgY29tbWFuZCBpcyBhbiBhbGlhcyBmb3IgJyVzJy4iICUgdGFyZ2V0KQogKwogK0Fs aWFzQ29tbWFuZCgpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9n ZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w eXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYmFja3RyYWNlLnB5CTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv cHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTA2IEBACiArIyBOZXcgYmFja3RyYWNlIGNvbW1h bmQuCiArCkBAIC02NzQ4LDEwICs2NzQ4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQogKyAgICAgICAgICAgIHBh aXJbMV0uZGVzY3JpYmUgKHN5cy5zdGRvdXQsIGZ1bGwpCiArCiArRmlsdGVyaW5nQmFja3RyYWNl KCkKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5k L2lnbm9yZV9lcnJvcnMucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24v bGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIElnbm9yZSBlcnJvcnMg aW4gdXNlciBjb21tYW5kcy4KICsKQEAgLTY3OTAsMTAgKzY3OTAsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdub3JlX2Vycm9ycy5w eQogKyAgICAgICAgICAgIHBhc3MKICsKICtJZ25vcmVFcnJvcnNDb21tYW5kICgpCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhvbGUucHkK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3Bh aG9sZS5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvcGFob2xlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9wYWhvbGUu cHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzUgQEAK ICsjIHBhaG9sZSBjb21tYW5kIGZvciBnZGIKICsKQEAgLTY4NzAsMTAgKzY4NzAsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xl LnB5CiArICAgICAgICBzZWxmLnBhaG9sZSAodHlwZSwgMCwgJycpCiArCiArUGFob2xlKCkKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3JlcXVp cmUucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21t YW5kL3JlcXVpcmUucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24v bGliL2dkYi9jb21tYW5kL3JlcXVpcmUucHkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5k L3JlcXVpcmUucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsNTcgQEAKICsjIERlbWFuZC1sb2FkaW5nIGNvbW1hbmRzLgogKwpAQCAtNjkzMiwxMCArNjkz MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvY29t bWFuZC9yZXF1aXJlLnB5CiArUmVxdWlyZUNvbW1hbmQoKQogK1JlcXVpcmVTdWJjb21tYW5kKCJj b21tYW5kIikKICtSZXF1aXJlU3ViY29tbWFuZCgiZnVuY3Rpb24iKQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0 by5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMjkgQEAKICsjIHVwdG8gY29tbWFu ZC4KICsKQEAgLTcwNjYsMTYgKzcwNjYsMTYgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQogK1VwdG9Tb3VyY2VDb21tYW5kICgp CiArVXB0b09iamVjdENvbW1hbmQgKCkKICtVcHRvV2hlcmVDb21tYW5kICgpCi1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vX19pbml0X18ucHkK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9f X2luaXRfXy5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIv Z2RiL2Z1bmN0aW9uL19faW5pdF9fLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24v X19pbml0X18ucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEgQEAKICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9m dW5jdGlvbi9jYWxsZXJfaXMucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRo b24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9w eXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTggQEAKICsjIENhbGxlci1pcyBmdW5jdGlvbnMu CiArCkBAIC03MTM1LDEwICs3MTM1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKICsKICtDYWxsZXJJcygpCiAr Q2FsbGVyTWF0Y2hlcygpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xp Yi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Njb3BlLnB5CTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDcgQEAKICsjIEluLXNjb3BlIGZ1bmN0aW9u LgogKwpAQCAtNzE4NywxMCArNzE4NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKICsJcmV0dXJuIHdhbnRlZCA9 PSBmb3VuZAogKwogK0luU2NvcGUgKCkKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9w eXRob24vcHktdHlwZS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5 LXR5cGUuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcHl0 aG9uL3B5LXR5cGUuYwkyMDExLTAxLTI2IDIxOjUzOjQ1LjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS10eXBlLmMJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhv bi9weS10eXBlLmMJMjAxMS0wMS0yNiAyMTo1Mzo0NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHktdHlwZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMjksNiArMjksOCBAQAogICNpbmNsdWRlICJsYW5ndWFnZS5o IgogICNpbmNsdWRlICJ2ZWMuaCIKQEAgLTczODUsMTAgKzczODUsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS10eXBlLmMKICB9CiAgCiAgDAotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5LXZhbHVlLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEtMDMtMTggMTc6MDk6 NTcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5 LXZhbHVlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEtMDMtMTggMTc6MDk6 NTcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5 LXZhbHVlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yOCw2ICsy OCw3IEBACiAgI2luY2x1ZGUgImluZmNhbGwuaCIKICAjaW5jbHVkZSAiZXhwcmVzc2lvbi5oIgpA QCAtNzQyOCwxMCArNzQyOCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0 aG9uL3B5LXZhbHVlLmMKICB9CiAgCiAgDAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3B5dGhvbi9weXRob24uYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9w eXRob24uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvcHl0 aG9uL3B5dGhvbi5jCTIwMTEtMDMtMTggMDk6NDQ6NDcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9weXRob24v cHl0aG9uLmMJMjAxMS0wMy0xOCAwOTo0NDo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC00OSw4ICs0OSwxMSBAQCBzdGF0aWMgaW50IGdkYnB5X3Nob3VsZF9w cmludF9zdGFjayA9IDE7CiAgI2luY2x1ZGUgImxpbmVzcGVjLmgiCiAgI2luY2x1ZGUgInNvdXJj ZS5oIgpAQCAtNzUwNywxMCArNzUwNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHl0aG9uL3B5dGhvbi5jCiAgICB7ICJwYXJhbWV0ZXIiLCBnZGJweV9wYXJhbWV0ZXIsIE1F VEhfVkFSQVJHUywKICAgICAgIlJldHVybiBhIGdkYiBwYXJhbWV0ZXIncyB2YWx1ZSIgfSwKICAK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vcHl0aG9uLmgKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24uaAkyMDExLTAzLTE0IDE3 OjA5OjU0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhv bi9weXRob24uaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03 LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTEtMDMtMTQgMTc6MDk6 NTQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5 dGhvbi5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzIsNiArMzIs OCBAQCB2b2lkIGV2YWxfcHl0aG9uX2Zyb21fY29udHJvbF9jb21tYW5kIChzCiAgCiAgdm9pZCBz b3VyY2VfcHl0aG9uX3NjcmlwdCAoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFyICpmaWxlKTsKQEAg LTc1MjAsMTAgKzc1MjAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhv bi9weXRob24uaAogIGludCBhcHBseV92YWxfcHJldHR5X3ByaW50ZXIgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJCQkgICAgICBpbnQgZW1iZWRkZWRfb2Zm c2V0LCBDT1JFX0FERFIgYWRkcmVzcywKICAJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zb21yZWFkLmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFkLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3NvbXJlYWQuYwkyMDExLTAzLTA3IDE3OjE3 OjI5LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3NvbXJlYWQu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvc29tcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6MjkuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc29tcmVhZC5jCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDM5LDYgKzQzOSw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3Qgc3ltX2ZucyBzb21fc3ltX2ZucyAKICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJ LyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKQEAg LTc1MzIsMTAgKzc1MzIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3NvbXJl YWQuYwogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9zdGFjay5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3RhY2suYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3RhY2suYwkyMDEx LTAzLTE4IDE5OjQ4OjU2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3N0YWNrLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMS0wMy0xOCAxOTo0ODo1Ni4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFjay5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzY2LDYgKzM2Niw3IEBAIHByaW50X2Zy YW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHMKICAJICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdlOwpAQCAtNzU1OCwx MCArNzU1OCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3RhY2suYwogIAkJ ICB1aV9vdXRfZmllbGRfc3RyZWFtICh1aW91dCwgInZhbHVlIiwgc3RiKTsKICAJICAgICAgICB9 CiAgCSAgICAgIGVsc2UKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zdGFwLXByb2Jl LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFwLXByb2JlLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zdGFwLXByb2JlLmMJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFwLXByb2Jl LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjA0MSBA QAogKy8qIFN5c3RlbVRhcCBwcm9iZSBzdXBwb3J0IGZvciBHREIuCiArCkBAIC05NjA0LDEwICs5 NjA0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zdGFwLXByb2JlLmMKICsg IGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfcHJvYmVfYXJnOSIsICZwcm9iZV9mdW5j cywKICsJCQkJKHZvaWQgKikgKHVpbnRwdHJfdCkgOSk7CiArfQotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3N0YXAtcHJvYmUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3N0YXAtcHJvYmUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YXAtcHJv YmUuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3N0YXAtcHJvYmUuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsvKiBTeXN0ZW1UYXAgcHJvYmUgc3VwcG9ydCBmb3Ig R0RCLgogKwpAQCAtOTcxOCwxMCArOTcxOCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvc3RhcC1wcm9iZS5oCiArCQkJCQkgICAgICAgaW50IG4pOwogKwogKyNlbmRpZiAvKiAh ZGVmaW5lZCAoU1RBUF9QUk9CRV9IKSAqLwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bWZpbGUuaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltZmlsZS5oCTIwMTEt MDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvc3ltZmlsZS5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9zeW1maWxlLmgJMjAxMS0wNC0yNSAyMzoyNToxOC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW1maWxlLmgJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMSw2ICszMSwxMSBAQCBzdHJ1 Y3Qgb2JqZmlsZTsKICBzdHJ1Y3Qgb2JqX3NlY3Rpb247CiAgc3RydWN0IG9ic3RhY2s7CkBAIC05 Nzk4LDEwICs5Nzk4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW1maWxl LmgKICAgIC8qIFRoZSAicXVpY2siIChha2EgcGFydGlhbCkgc3ltYm9sIGZ1bmN0aW9ucyBmb3Ig dGhpcyBzeW1ib2wKICAgICAgIHJlYWRlci4gICovCiAgICBjb25zdCBzdHJ1Y3QgcXVpY2tfc3lt Ym9sX2Z1bmN0aW9ucyAqcWY7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3ltdGFi LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNC0yMCAyMjox MDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNS0wNiAxNzoxMzozNy4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTc3MCw2ICs3NzAsNyBAQCBpbml0X3NhbCAoc3RydWN0 IHN5bXRhYl9hbmRfbGluZSAqc2FsKQogICAgc2FsLT5lbmQgPSAwOwogICAgc2FsLT5leHBsaWNp dF9wYyA9IDA7CkBAIC05ODEwLDExICs5ODEwLDExIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9zeW10YWIuYwogIH0KICAMCiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvc3ltdGFiLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmgJMjAxMS0w NC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAotQEAgLTExMTIs NiArMTExMiwxMCBAQCBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lCistLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9zeW10YWIuaAkyMDExLTA1LTA2IDE3OjEzOjM3LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCitAQCAtMTExOCw2ICsxMTE4LDEwIEBAIHN0cnVjdCBzeW10YWJf YW5kX2xpbmUKICAgIENPUkVfQUREUiBlbmQ7CiAgICBpbnQgZXhwbGljaXRfcGM7CiAgICBpbnQg ZXhwbGljaXRfbGluZTsKQEAgLTk4MjUsMTAgKzk4MjUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3N5bXRhYi5oCiAgfTsKICAKICBleHRlcm4gdm9pZCBpbml0X3NhbCAoc3Ry dWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRl ci1mb28uUwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu YXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtMCwwICsxLDQ1NyBAQAogKwkuZmlsZQkieDg2XzY0LXZsYS1wb2ludGVyLmMiCiAr CS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCkBAIC0xMDI4NywxMCArMTAyODcs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKICsJLnN0cmluZwkiR05VIEMgNC4zLjIgMjAwODExMDUg KFJlZCBIYXQgNC4zLjItNykiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMuMiAyMDA4MTEwNSAo UmVkIEhhdCA0LjMuMi03KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNrLCIiLEBwcm9nYml0 cwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZf NjQtdmxhLXBvaW50ZXIuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDExLTA0 LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MyBAQAogKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMDMzNSwxMCArMTAzMzUs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtdmxhLXBvaW50ZXIuYwogK30KICsKICsjZW5kaWYKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxh LXBvaW50ZXIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFy Y2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSw2NiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQwNiwxMCArMTA0MDYsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIu ZXhwCiArCiArZ2RiX3Rlc3QgIndoYXRpcyAqYXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxd IiAic2Vjb25kOiB3aGF0aXMgKmFycmF5IgogK2dkYl90ZXN0ICJwdHlwZSAqYXJyYXkiICJ0eXBl ID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSAqYXJyYXkiCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1m b28uUworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94 ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0NTUgQEAKICsJLmZpbGUJIng4Nl82NC12 bGEtdHlwZWRlZi5jIgogKwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBwcm9nYml0cwpAQCAt MTA4NjYsMTAgKzEwODY2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCiArCS5zdHJpbmcJIkdOVSBD IDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgogKwkuaWRlbnQJIkdDQzogKEdOVSkg NC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiArCS5zZWN0aW9uCS5ub3RlLkdOVS1z dGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10 eXBlZGVmLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDMgQEAKICsv KiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAt MTA5MTQsMTAgKzEwOTE0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKICt9CiArCiArI2VuZGlmCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEt dHlwZWRlZi5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYuZXhwCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjQgQEAKICsjIENvcHlyaWdodCAyMDA5 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA5ODMsMTAgKzEwOTgzLDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2 XzY0LXZsYS10eXBlZGVmLmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXkiICJ0eXBlID0gYXJy YXlfdCIgInNlY29uZDogd2hhdGlzIGFycmF5IgogKwogK2dkYl90ZXN0ICJwdHlwZSBhcnJheSIg InR5cGUgPSBjaGFyIFxcXFs3OFxcXF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5IgotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hcnJheWlkeC5jCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTEtMDEtMDEgMTY6 MzM6NDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0xNyw2ICsxNywxMyBAQAogIAogIGludCBhcnJheVtdID0gezEsIDIsIDMsIDR9OwpA QCAtMTEwMDEsMTAgKzExMDAxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogIGludAogIG1haW4gKHZvaWQpCiAgewotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5l eHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJy YXlpZHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAw MDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FycmF5aWR4LmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4 cAkyMDExLTAxLTAxIDE2OjMzOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01Nyw0ICs1NywxMiBAQCBnZGJfdGVzdCAicHJpbnQg YXJyYXkiIFwKICAgICAgICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFcXFxdID0gMiwgXFxc WzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQcmludCBhcnJheSB3 aXRoIGFycmF5LWluZGV4ZXMgb24iCkBAIC0xMTAxOSwxMCArMTEwMTksMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKICsJ dW5zdXBwb3J0ZWQgIiR0ZXN0IChubyBHQ0MpIgogKyAgICB9CiArfQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2RlZmF1bHQuZXhwCTIwMTEtMDItMTUgMjI6MTc6NTIuMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAxMS0wMi0xNSAyMjox Nzo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC02MDcsNiArNjA3LDE3IEBAIGdkYl90ZXN0X2xpc3RfZXhhY3QgInNob3cgY29udmVu aWVuY2UiICIKICAJeyRfc2RhdGEgPSB2b2lkfSBcCiAgCXskX3NpZ2luZm8gPSB2b2lkfSBcCkBA IC0xMTA0MSwxMCArMTEwNDEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAogICAgICB9CiAgCiAgI3Rlc3Qgc2hvdyBkaXJl Y3RvcmllcwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJu YWwtdmFyLWZpZWxkLWFkZHJlc3MuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5h bC12YXItZmllbGQtYWRkcmVzcy5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDIwIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhl IEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExMDY2LDEwICsxMTA2NiwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50IGZpZWxkOwogK30gc3RhdGljc3RydWN0ID0geyAx IH07Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2lu dGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5leHAKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW50ZXJu YWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVy bmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSwyNiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTA5NywxMCArMTEwOTcsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQt YWRkcmVzcy5leHAKICsKICtnZGJfdGVzdCB7c2V0ICR2YXJzdHJ1Y3QgPSBzdGF0aWNzdHJ1Y3R9 CiArZ2RiX3Rlc3Qge3AgJHZhcnN0cnVjdC5maWVsZH0gIiA9IDEiCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1w cm9iZS5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuYwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2OSBAQAogKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTE3MSwxMCAr MTExNzEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9zdGFwLXByb2JlLmMKICsgIG0xKCk7CiArICBtMigpOwogK30KLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5l eHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c3RhcC1wcm9iZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzIgQEAKICsj IENvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAg LTExMjQ4LDEwICsxMTI0OCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuZXhwCiArICAgIHJldHVybiAtMQogK30KICtzdGFw X3Rlc3QgIi1EVVNFX1BST0JFUyIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzAgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTEyODMsMTAgKzExMjgzLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92 ZXJmbG93LmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZsb3cuZXhwCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS1vdmVy Zmxvdy5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsjIENv cHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTEzOTcs MTAgKzExMzk3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAogK2dkYl90ZXN0ICJidCIgImluIFxbXiBcXSphYm9y dCBcXCguKiBpbiBtYWluIFxcKC4qIiAiQmFja3RyYWNlIGFmdGVyIGFib3J0KCkiCiArCiArdmVy Ym9zZSAtbG9nICJrYl9mb3VuZCBpbiBidCBhZnRlciBhYm9ydCgpID0gW2V4cHIgW21lbW9yeV92 X3BhZ2VzX2dldF0gKiAkcGFnZXNpemUgLyAxMDI0XSIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvdmxhLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsNTUgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLgogKwpAQCAtMTE0NTcsMTAgKzExNDU3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKICsgIGZvbyAoNzgpOwogKyAgcmV0dXJu IDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS92bGEuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3ZsYS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDow MC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvdmxhLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEuZXhwCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDYyIEBACiArIyBDb3B5 cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExNTI0LDEw ICsxMTUyNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3ZsYS5leHAKICtnZGJfdGVzdCAicCB0ZW1wMSIgIiA9ICcxJyA8cmVwZWF0cyA3OCB0 aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAxIgogK2dkYl90ZXN0ICJwIHRlbXAyIiAiID0gJzIn IDxyZXBlYXRzIDc4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDIiCiArZ2RiX3Rlc3QgInAg dGVtcDMiICIgPSAnMycgPHJlcGVhdHMgNDggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMyIK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVy dGhyb3cuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5j cC9uZXh0b3ZlcnRocm93LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAkyMDExLTAxLTAxIDE2 OjMzOjQ0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0wMS0wMSAxNjozMzo0NC4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhy b3cuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNTMsNiArNTMs MTcgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IF9VbndpbmRfRGVidWdIbwogICAgICB9CiAg fQpAQCAtMTE1NDYsMTAgKzExNTQ2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCiAgICAgIHVuc3VwcG9ydGVkICJu ZXh0b3ZlcnRocm93LmV4cCBjb3VsZCBub3QgZmluZCBfVW53aW5kX0RlYnVnSG9vayIKICAgICAg cmV0dXJuIC0xCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5TCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxv Y2xpc3QuUwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQ2IEBACiAr LyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAg LTExNzk3LDEwICsxMTc5NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwogKwkuc3RyaW5nCQkiY2hhciIK ICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQkidW5zaWduZWQgaW50IgotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3 Mi1ib3VuZC1sb2NsaXN0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1NCBAQAogKyMgQ29weXJpZ2h0IDIwMTAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTg1NiwxMCArMTE4NTYsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3Vu ZC1sb2NsaXN0LmV4cAogKwogKyMgVGhlIHJlZ2lzdGVyIGNvbnRhaW5zIHVucHJlZGljdGFibGUg dmFsdWUgLSB0aGUgYXJyYXkgc2l6ZS4KICtnZGJfdGVzdCAicHR5cGUgcmVnX3N0cmluZyIge3R5 cGUgPSBjaGFyIFxbLT9bMC05XStcXX0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVk LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuYwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAogKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMTkwMywxMCAr MTE5MDMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu ZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiArICBmdW5jMSAoMSwgMik7CiArICByZXR1cm4gMDsKICt9 Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcy LXN0cmlwcGVkLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSw3OSBAQAogKyMgQ29weXJpZ2h0IDIwMDYgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTk4NywxMCArMTE5ODcsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBl ZC5leHAKICtnZGJfdGVzdCAic3RlcCIgXAogKyAgICAgICAgICJmdW5jLiogXFwoLipcXCkgYXQg LioiIFwKICsgICAgICAgICAic3RlcCIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Ry dWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9u LlMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxv Y2F0aW9uLlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs ODMgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgogKwpAQCAtMTIwNzUsMTAgKzEyMDc1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0CiAr CiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCiArCS5ieXRlCQkweDAJCQkvKiBUZXJt aW5hdG9yICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5k d2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1k YXRhLWxvY2F0aW9uLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRpb24uZXhwCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5l eHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAK ICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAt MTIxMTcsMTAgKzEyMTE3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0CiArY2xlYW5fcmVz dGFydCAkYmluZmlsZQogKwogK2dkYl90ZXN0ICJwdHlwZSBzdHJ1Y3Qgc29tZV9zdHJ1Y3QiICJ0 eXBlID0gc3RydWN0IHNvbWVfc3RydWN0IHtcW1xyXG4gXHRcXSp2b2lkIGZpZWxkO1xbXHJcbiBc dFxdKn0iCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2R3YXJmLXN0cmlkZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJpZGUuZXhwCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsjIENvcHlyaWdodCAyMDA5 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxNjQsMTAgKzEyMTY0LDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v ZHdhcmYtc3RyaWRlLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJicmVhay1oZXJl IiAiLipicmVhay1oZXJlLioiCiArZ2RiX3Rlc3QgInAgYzQwcHQoMSkiICIgPSAnMC1oZWxsby4q IgogK2dkYl90ZXN0ICJwIGM0MHB0KDIpIiAiID0gJzEtaGVsbG8uKiIKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2Fy Zi1zdHJpZGUuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vZHdhcmYtc3RyaWRlLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw0MCBAQAogKyEgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArIQpAQCAtMTIyMDksMTAgKzEyMjA5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAogKyAg cHJpbnQgKiwgYzQwcHQgICEgYnJlYWstaGVyZQogKwogK2VuZCBwcm9ncmFtIHJlcHJvCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUtc3R1Yi5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5MAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90 aGVyLWZyYW1lLXN0dWIuZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUtc3R1Yi5mOTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsMjQgQEAKICshIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKyEKQEAgLTEyMjM4LDEwICsxMjIzOCwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUt c3R1Yi5mOQogKyAgcmVhbCA6OiBkdW1teQogKyAgZHVtbXkgPSAxCiArZW5kIHN1YnJvdXRpbmUg YmFyCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3Ro ZXItZnJhbWUuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXIt ZnJhbWUuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsx LDM3IEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICsKQEAgLTEyMjgwLDEwICsxMjI4MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCiArfQogKwog K2dkYl90ZXN0ICJidCIge2ZvbyBcKHN0cmluZz0naGVsbG8nLip9Ci1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUu ZjkwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM2IEBACiArISBDb3B5cmlnaHQg MjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0xMjMyMSwxMCArMTIz MjEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAogKyAgZW5kIGludGVyZmFjZQogKyAgY2FsbCBm b28gKCdoZWxsbycpCiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDE0NSBAQAogKyMgQ29weXJpZ2h0IDIwMDcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMjQ3MSwxMCArMTI0NzEsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWlj LmV4cAogK2dkYl90ZXN0ICJwIHZhcnQoMyw4KSIgIlxcJFxbMC05XF0qID0gOSIKICsjIG1hcHMg dG8gZm9vOjp2YXJ5KDEsMykKICtnZGJfdGVzdCAicCB2YXJ0KDIsOSkiICJcXCRcWzAtOVxdKiA9 IDEwIgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9keW5hbWljLmY5MAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi9keW5hbWljLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw5OCBAQAogKyEgQ29weXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiArIQpAQCAtMTI1NzQsMTAgKzEyNTc0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5mOTAKICsgIGlmICh4 ICgxLCAxKSAubmUuIDggLm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgxLCAyKSAubmUuIDQp IGNhbGwgYWJvcnQKICsgIGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFib3J0CiArZW5kCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmlu Zy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3RyaW5nLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0 cmluZy5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs NTkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTI2MzgsMTAgKzEyNjM4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAogK2dkYl9jb250aW51ZV90b19icmVh a3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90ZXN0ICJwIGUiICJcXCRcWzAtOVxdKiA9ICdlICAg JyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0gXFwoXFwoICdm ICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJ1xcKSBc XCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAn XFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAn ZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmY5MAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICshIENvcHlyaWdodCAyMDA4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyNjgwLDEwICsxMjY4MCwxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0 cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2VuZAotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5leHAK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi cmFuZ2UuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N1YnJhbmdlLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJy YW5nZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs NjAgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTI3NDUsMTAgKzEyNzQ1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCiArZGVsZXRlX2JyZWFrcG9pbnRz CiArZ2RiX3VubG9hZAogK2dkYl90ZXN0IHtwICRhICgzLCAyOjIpfSB7ID0gXCgyM1wpfQotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdWJyYW5n ZS5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vc3VicmFuZ2UuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6 MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9zdWJyYW5nZS5mOTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKyEKQEAgLTEyNzc4LDEwICsxMjc3OCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAogKyAgcHRyID0+IGEK ICsgIHdyaXRlICgqLCopIGEgICAgICAgICAgICAgICAgICEgYnJlYWstc3RhdGljCiArZW5kCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3Qu ZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2Vs ZnRlc3QuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90 ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxMS0wNC0yOSAwOTo0MDo0My4wMDAwMDAw MDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9z ZWxmdGVzdC5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAky MDExLTA1LTI1IDE3OjA0OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTkyLDYgKzkyLDEwIEBAIHByb2MgZG9fc3RlcHNfYW5kX25l eHRzIHt9IHsKICAJCXNldCBkZXNjcmlwdGlvbiAic3RlcCBvdmVyIHR0eWFyZyBpbml0aWFsaXph dGlvbiIKICAJCXNldCBjb21tYW5kICJzdGVwIgpAQCAtMTI3OTMsMTAgKzEyNzkzLDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5l eHAKICAJICAgIC1yZSAiLipwcmVfc3RhdF9jaGFpbiA9IG1ha2VfY29tbWFuZF9zdGF0c19jbGVh bnVwLiokZ2RiX3Byb21wdCAkIiB7CiAgCQlzZXQgZGVzY3JpcHRpb24gIm5leHQgb3ZlciBtYWtl X2NvbW1hbmRfc3RhdHNfY2xlYW51cCBhbmQgZXZlcnl0aGluZyBpdCBjYWxscyIKICAJCXNldCBj b21tYW5kICJuZXh0IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjYgQEAKICsvKiBDb3B5cmlnaHQg MjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEyODI0LDEwICsxMjgy NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aTItdmFyLXN0YWxlLXR5cGUuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1z dGFsZS10eXBlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkv bWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTAsMCArMSw1NyBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiArIwpAQCAtMTI4ODYsMTAgKzEyODg2LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAK ICttaV9jcmVhdGVfdmFyb2JqICJ2bGEiICJ2bGEiICJjcmVhdGUgbG9jYWwgdmFyaWFibGUgdmxh IgogKwogK21pX2dkYl90ZXN0ICItdmFyLXVwZGF0ZSAqIiAiXFxeZG9uZSxjaGFuZ2VsaXN0PS4q IiAiLXZhci11cGRhdGUgKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11 bHRpLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1OSBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMjk1 MCwxMCArMTI5NTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCiArICBtYXJrZXJfZXhpdDIgKCk7CiArICBy ZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5leHAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVs dGkuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4cAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMTMgQEAKICsj IENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTMw NjgsMTAgKzEzMDY4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwCiArICAgIH0KICt9CiArCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdp c3Rlci1mdW5jLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1mdW5jLmMJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlz IGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMzA5NSwxMCAr MTMwOTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu b3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCiArewogKyAgcmV0dXJuIGFyclswXTsKICt9 Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXkt ZnJvbS1yZWdpc3Rlci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxs CTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv dGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhpcyBmaWxlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTMxMjgsMTAgKzEzMTI4LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1m cm9tLXJlZ2lzdGVyLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20t cmVnaXN0ZXIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6 MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm9w dC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTMxNjYsMTAgKzEzMTY2LDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVy LmV4cAogKyMgU2VlbiByZWdyZXNzaW9uOgogKyMgQWRkcmVzcyByZXF1ZXN0ZWQgZm9yIGlkZW50 aWZpZXIgImFyciIgd2hpY2ggaXMgaW4gcmVnaXN0ZXIgJHJkaQogK2dkYl90ZXN0ICJwIGFyclxb MFxdIiAiXFwkXFswLTlcXSsgPSA0MiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5leHAJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDEwNCBAQAogKyMgQ29weXJpZ2h0IDIwMDgsIDIwMDkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTMyNzUsMTAgKzEzMjc1LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJh eXMuZXhwCiArfQogK2dkYl90ZXN0ICJwcmludCBEeW5BcnJDaGFyIiAiLiogPSAnYWJjZGVmZ2hp amtsbSciICJQcmludCBkeW5hbWljIGFycmF5IG9mIGNoYXIiCiArCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAw MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJh eXMucGFzCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBhcwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw4MiBAQAogK3sKICsgQ29weXJp Z2h0IDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xMzM2Miwx MCArMTMzNjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIucGFzY2FsL2FycmF5cy5wYXMKICsgIHMgOj0gJ3Rlc3QnIzAnc3RyaW5nJzsKICsgIHdyaXRl bG4ocyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtlbmQuCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhw CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1mcmFtZS5leHAJMjAxMS0wMi0yNiAxNTowNjoyOC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1m cmFtZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAky MDExLTAyLTI2IDE1OjA2OjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTc4LDggKzc4LDYgQEAgZ2RiX3Rlc3QgInB5dGhvbiBw cmludCBiZnJhbWUgPT0gZ2RiLm5ldwogIAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3Vs dCA9JywgZjAgPT0gZjEiICIgPSBGYWxzZSIgInRlc3QgZXF1YWxpdHkgY29tcGFyaXNvbiAoZmFs c2UpIgpAQCAtMTMzODEsMTAgKzEzMzgxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKICBnZGJfdGVzdCAicHl0aG9u IHByaW50ICdyZXN1bHQgPScsIGdkYi5zZWxlY3RlZF9mcmFtZSAoKSA9PSBmMSIgIiA9IFRydWUi ICJ0ZXN0IGdkYi5zZWxlY3RlZF9mcmFtZSIKICsKICtnZGJfdGVzdCAicHl0aG9uIHByaW50ICdy ZXN1bHQgPScsIGYwLmJsb2NrICgpIiAiPGdkYi5CbG9jayBvYmplY3QgYXQgMHhcW1xbOnhkaWdp dDpcXVxdKz4iICJ0ZXN0IEZyYW1lLmJsb2NrIgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktdmFsdWUuZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wMS0wMSAx NjozMzo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0zMTgsNiArMzE4LDE1IEBAIHByb2MgdGVzdF92YWx1ZV9hZnRlcl9kZWF0 aCB7fSB7CiAgICAgICJwcmludCB2YWx1ZSdzIHR5cGUiCiAgfQpAQCAtMTM0MDksMTAgKzEzNDA5 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhv bi9weS12YWx1ZS5leHAKICAKICAjIFRoZSBmb2xsb3dpbmcgdGVzdCByZWNvbXBpbGVzIHRoZSBi aW5hcnkgdG8gdGVzdCBlaXRoZXIgQyBvciBDKysKICAjIHZhbHVlcy4gCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1j aGlsZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5jCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEyNyBAQAogKy8qIFRlc3Qg Y2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBw cm9jZXNzLgogKwpAQCAtMTM1NDEsMTAgKzEzNTQxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLWNoaWxkLmMK ICsgIGkgPSBzaWdhY3Rpb24gKFNJR1VTUjEsICZvbGRhY3QsIE5VTEwpOwogKyAgYXNzZXJ0IChp ID09IDApOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2lu dC1mb3JrLW10LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3Jr LW10LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTc0 IEBACiArLyogVGVzdCBjYXNlIGZvciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2ludHMgYWZ0ZXIgZm9y aygpLW9mZiBvZiBhIHByb2Nlc3MuCiArCkBAIC0xMzcyMCwxMCArMTM3MjAsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmstbXQuYwogKyAgbWFya19leGl0ICgpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmstcGFyZW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1wYXJlbnQu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmstcGFyZW50LmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzQgQEAKICsv KiBUZXN0IGNhc2UgZm9yIGZvcmdvdHRlbiBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2Zm IG9mIGEgcHJvY2Vzcy4KICsKQEAgLTEzNzk5LDEwICsxMzc5OSwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1w YXJlbnQuYwogKyAgICAgIG1hcmtlciAoKTsKICsgICAgfQogK30KLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMK K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0 Y2hwb2ludC1mb3JrLXN0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAw MDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjEgQEAKICsvKiBUZXN0IGNhc2UgZm9yIGZvcmdvdHRl biBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2ZmIG9mIGEgcHJvY2Vzcy4KICsKQEAgLTEz ODY1LDEwICsxMzg2NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1zdC5jCiArICBtYXJrX2V4aXQgKCk7CiAr ICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBv aW50LWZvcmsuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9y ay5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTQ5 IEBACiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSwgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTE0MDE5LDEwICsxNDAxOSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAKICt9 IGVsc2UgewogKyAgICB1bnRlc3RlZCAiY2hpbGQiCiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50 LWZvcmsuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93 YXRjaHBvaW50LWZvcmsuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAg LTAsMCArMSwzMiBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRz IGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTQwNTYsMTAgKzE0MDU2LDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv d2F0Y2hwb2ludC1mb3JrLmgKICsKICtleHRlcm4gdm9pZCBtYXJrZXIgKHZvaWQpOwogK2V4dGVy biB2b2lkIGZvcmtvZmYgKGludCBucik7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5jCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzEgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQxMzIsMTAgKzE0MTMyLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAt dHJhY2UuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5leHAKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNl LmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5leHAJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTI5IEBACiArIyBDb3B5cmln aHQgMjAxMQogKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0xNDI2NiwxMCAr MTQyNjYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu dHJhY2Uvc3RhcC10cmFjZS5leHAKICsKICsjIEZpbmlzaGVkIQogK2dkYl90ZXN0ICJ0ZmluZCBu b25lIiAiLioiICIiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90ZXN0 c3VpdGUvbGliL2dkYi5leHAJMjAxMS0wMy0yNSAxNDowODoxMS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDExLTAzLTI1IDE0OjA4OjExLjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTE0MSw2ICsxNDEsMTEgQEAg cHJvYyBnZGJfdW5sb2FkIHt9IHsKICAJICAgIHNlbmRfZ2RiICJ5XG4iCiAgCSAgICBleHBfY29u dGludWUKQEAgLTE0MjgyLDEwICsxNDI4MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBzeW1ib2wgdGFibGUg ZnJvbSAuKnkgb3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJICAgIGV4cF9jb250 aW51ZQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2Fs LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2Fs LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVzdHN1 aXRlL2xpYi9wYXNjYWwuZXhwCTIwMTEtMDEtMDEgMTY6MzM6NTIuMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5v cmlnL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wMS0wMSAxNjozMzo1Mi4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvbGliL3Bh c2NhbC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNyw2ICsz Nyw5IEBAIHByb2MgcGFzY2FsX2luaXQge30gewogICAgICBnbG9iYWwgcGFzY2FsX2NvbXBpbGVy X2lzX2ZwYwogICAgICBnbG9iYWwgZ3BjX2NvbXBpbGVyCkBAIC0xNDMxNywxMCArMTQzMTcsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4 cAogICAgICB9CiAgICAgIHNldCBwYXNjYWxfaW5pdF9kb25lIDEKICB9ICAgCi1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdGhyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90aHJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvdGhyZWFkLmMJMjAxMS0wNC0xOSAxNzoyNDo0OS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90aHJlYWQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGhyZWFkLmMJMjAxMS0w NC0xOSAxNzoyNDo0OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90aHJlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTE0Mzgs NyArMTQzOCw4IEBAIHVwZGF0ZV90aHJlYWRfbGlzdCAodm9pZCkKICAgICBubyB0aHJlYWQgaXMg c2VsZWN0ZWQsIG9yIG5vIHRocmVhZHMgZXhpc3QuICAqLwogIApAQCAtMTQzNTQsMTAgKzE0MzU0 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90aHJlYWQuYwogLSAgY3JlYXRl X2ludGVybmFsdmFyX3R5cGVfbGF6eSAoIl90aHJlYWQiLCB0aHJlYWRfaWRfbWFrZV92YWx1ZSk7 CiArICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RocmVhZCIsICZ0aHJlYWRfZnVu Y3MsIE5VTEwpOwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90b3AuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RvcC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu Mi45MC4yMDExMDQyOS5vcmlnL2dkYi90b3AuYwkyMDExLTAzLTEyIDIzOjU5OjI0LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RvcC5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90 b3AuYwkyMDExLTAzLTEyIDIzOjU5OjI0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3RvcC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMzQzLDYgKzM0Myw5IEBAIHZvaWQKICBwcmVwYXJlX2V4ZWN1dGVfY29tbWFuZCAodm9pZCkK ICB7CkBAIC0xNDM2OCwxMSArMTQzNjgsMTEgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3RvcC5jCiAgCiAgICAvKiBXaXRoIG11bHRpcGxlIHRocmVhZHMgcnVubmluZyB3aGlsZSB0 aGUgb25lIHdlJ3JlIGV4YW1pbmluZyBpcwogICAgICAgc3RvcHBlZCwgdGhlIGRjYWNoZSBjYW4g Z2V0IHN0YWxlIHdpdGhvdXQgdXMgYmVpbmcgYWJsZSB0byBkZXRlY3QKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90cmFjZXBvaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL3RyYWNlcG9pbnQuYwkyMDExLTAzLTE4IDE5OjQ3OjU2LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RyYWNlcG9pbnQuYwkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAotQEAgLTE2MDAsNiArMTYwMCw4IEBAIHN0YXJ0X3RyYWNpbmcg KHZvaWQpCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90cmFjZXBvaW50LmMJMjAx MS0wNS0yMCAxNjozNzo0Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90cmFjZXBvaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKK0BA IC0xNjAzLDYgKzE2MDMsOCBAQCBzdGFydF90cmFjaW5nICh2b2lkKQogIAogICAgZm9yIChpeCA9 IDA7IFZFQ19pdGVyYXRlIChicmVha3BvaW50X3AsIHRwX3ZlYywgaXgsIHQpOyBpeCsrKQogICAg ICB7CkBAIC0xNDM4MSw3ICsxNDM4MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90cmFjZXBvaW50LmMKICAgICAgICBpZiAoKHQtPnR5cGUgPT0gYnBfZmFzdF90cmFjZXBvaW50 CiAgCSAgID8gIW1heV9pbnNlcnRfZmFzdF90cmFjZXBvaW50cwogIAkgICA6ICFtYXlfaW5zZXJ0 X3RyYWNlcG9pbnRzKSkKLUBAIC0xNjA4LDYgKzE2MTAsOSBAQCBzdGFydF90cmFjaW5nICh2b2lk KQorQEAgLTE2MTEsNiArMTYxMyw5IEBAIHN0YXJ0X3RyYWNpbmcgKHZvaWQpCiAgICAgICAgdC0+ bnVtYmVyX29uX3RhcmdldCA9IDA7CiAgICAgICAgdGFyZ2V0X2Rvd25sb2FkX3RyYWNlcG9pbnQg KHQpOwogICAgICAgIHQtPm51bWJlcl9vbl90YXJnZXQgPSB0LT5udW1iZXI7CkBAIC0xNDM5MSw3 ICsxNDM5MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMK ICAgICAgfQogICAgVkVDX2ZyZWUgKGJyZWFrcG9pbnRfcCwgdHBfdmVjKTsKICAKLUBAIC0xNjY5 LDcgKzE2NzQsMjggQEAgdHJhY2Vfc3RvcF9jb21tYW5kIChjaGFyICphcmdzLCBpbnQgZnJvbQor QEAgLTE2NzIsNyArMTY3NywyOCBAQCB0cmFjZV9zdG9wX2NvbW1hbmQgKGNoYXIgKmFyZ3MsIGlu dCBmcm9tCiAgdm9pZAogIHN0b3BfdHJhY2luZyAodm9pZCkKICB7CkBAIC0xNDQyMCw3ICsxNDQy MCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMKICAgIC8q IFNob3VsZCBjaGFuZ2UgaW4gcmVzcG9uc2UgdG8gcmVwbHk/ICAqLwogICAgY3VycmVudF90cmFj ZV9zdGF0dXMgKCktPnJ1bm5pbmcgPSAwOwogIH0KLUBAIC00NDk3LDcgKzQ1MjMsOCBAQCBpbmZv X3N0YXRpY190cmFjZXBvaW50X21hcmtlcnNfY29tbWFuZCAoCitAQCAtNDUxNSw3ICs0NTQxLDgg QEAgaW5mb19zdGF0aWNfdHJhY2Vwb2ludF9tYXJrZXJzX2NvbW1hbmQgKAogICAgIGF2YWlsYWJs ZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0xNDQzMCw3ICsxNDQzMCw3IEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMKICB7CiAgICBMT05H RVNUIHNpemU7CiAgICBnZGJfYnl0ZSAqYnVmOwotQEAgLTQ2NzYsNiArNDcwMywxNSBAQCB0cmFj ZWZyYW1lX2F2YWlsYWJsZV9tZW1vcnkgKFZFQyhtZW1fcmFuCitAQCAtNDY5NCw2ICs0NzIxLDE1 IEBAIHRyYWNlZnJhbWVfYXZhaWxhYmxlX21lbW9yeSAoVkVDKG1lbV9yYW4KICAgIHJldHVybiAw OwogIH0KICAKQEAgLTE0NDQ2LDcgKzE0NDQ2LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3RyYWNlcG9pbnQuYwogIC8qIG1vZHVsZSBpbml0aWFsaXphdGlvbiAqLwogIHZvaWQK ICBfaW5pdGlhbGl6ZV90cmFjZXBvaW50ICh2b2lkKQotQEAgLTQ2ODYsNyArNDcyMiw3IEBAIF9p bml0aWFsaXplX3RyYWNlcG9pbnQgKHZvaWQpCitAQCAtNDcwNCw3ICs0NzQwLDcgQEAgX2luaXRp YWxpemVfdHJhY2Vwb2ludCAodm9pZCkKICAgICAgIHZhbHVlIHdpdGggYSB2b2lkIHR5cGVkIHZh bHVlLCBhbmQgd2hlbiB3ZSBnZXQgaGVyZSwgZ2RiYXJjaAogICAgICAgaXNuJ3QgaW5pdGlhbGl6 ZWQgeWV0LiAgQXQgdGhpcyBwb2ludCwgd2UncmUgcXVpdGUgc3VyZSB0aGVyZQogICAgICAgaXNu J3QgYW5vdGhlciBjb252ZW5pZW5jZSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLiAgKi8KQEAg LTE0NDU1LDEwICsxNDQ1NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdHJh Y2Vwb2ludC5jCiAgCiAgICB0cmFjZWZyYW1lX251bWJlciA9IC0xOwogICAgdHJhY2Vwb2ludF9u dW1iZXIgPSAtMTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90eXBlcHJpbnQuYwor SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVwcmludC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90eXBlcHJpbnQuYwkyMDExLTAxLTExIDIy OjUzOjI1LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3R5cGVw cmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi90eXBlcHJpbnQuYwkyMDExLTAxLTExIDIyOjUzOjI1LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVwcmludC5jCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYsNiArMzYsNyBAQAogICNpbmNs dWRlICJnZGJfc3RyaW5nLmgiCiAgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKQEAgLTE0NTEyLDEw ICsxNDUxMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdHlwZXByaW50LmMK ICB9CiAgCiAgc3RhdGljIHZvaWQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi91dGls cy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdXRpbHMuYwkyMDExLTAzLTMxIDE2OjMy OjQ4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3V0aWxzLmMJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNS0xNyAyMzoyNjoyOC4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi91dGlscy5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMjI0Myw2ICsyMjQzLDM2IEBAIHNldF9iYXRjaF9mbGFnX2Fu ZF9tYWtlX2NsZWFudXBfcmVzdG9yZV8KICAgIHJldHVybiBiYWNrX3RvOwogIH0KQEAgLTE0NTUz LDEwICsxNDU1MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdXRpbHMuYwog IC8qIFNldCB0aGUgc2NyZWVuIHNpemUgYmFzZWQgb24gTElORVNfUEVSX1BBR0UgYW5kIENIQVJT X1BFUl9MSU5FLiAgKi8KICAKICBzdGF0aWMgdm9pZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3ZhbGFyaXRoLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxhcml0 aC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi92YWxhcml0 aC5jCTIwMTEtMDItMTggMjA6MTA6NDYuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdmFsYXJpdGguYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdmFsYXJpdGguYwkyMDExLTAyLTE4 IDIwOjEwOjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Zh bGFyaXRoLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xOTgsNyAr MTk4LDEwIEBAIHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAoc3RydWN0IHZhbHVlICoKICAgIHN0 cnVjdCB0eXBlICphcnJheV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJyYXkp KTsKICAgIHN0cnVjdCB0eXBlICplbHRfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VU X1RZUEUgKGFycmF5X3R5cGUpKTsKQEAgLTE0NTgwLDEwICsxNDU4MCwxMCBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdmFsYXJpdGguYwogICAgcmV0dXJuIGJpbm9wX3R5cGVzX3Vz ZXJfZGVmaW5lZF9wIChvcCwgdmFsdWVfdHlwZSAoYXJnMSksIHZhbHVlX3R5cGUgKGFyZzIpKTsK ICB9CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsb3BzLmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvdmFsb3BzLmMJMjAxMS0wMy0yOSAxOTowNDozMC4wMDAwMDAw MDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWxvcHMuYwkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9n ZGIvdmFsb3BzLmMJMjAxMS0wMy0yOSAxOTowNDozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTQ3LDYgKzQ3LDcgQEAKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAjaW5j bHVkZSAic3ltdGFiLmgiCkBAIC0xNDczNSwxMCArMTQ3MzUsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3ZhbG9wcy5jCiAgICBpZiAoVFlQRV9DT0RFIChhcnJheV90eXBlKSA9 PSBUWVBFX0NPREVfQklUU1RSSU5HKQogICAgICB7CiAgICAgICAgaW50IGk7Ci1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3ZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL3ZhbHByaW50LmMJMjAxMS0wMi0xNCAxMjozNTo0NS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi92YWxwcmlu dC5jCTIwMTEtMDQtMjkgMjE6MjM6MDUuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTM2LDYgKzM2LDcgQEAKICAjaW5jbHVkZSAiZGZwLmgiCiAgI2luY2x1ZGUgInB5dGhv bi9weXRob24uaCIKQEAgLTE0Nzk5LDcgKzE0Nzk5LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3ZhbHByaW50LmMKICAgIGluZGV4X3R5cGUgPSBUWVBFX0lOREVYX1RZUEUgKHR5 cGUpOwogIAogICAgaWYgKGdldF9hcnJheV9ib3VuZHMgKHR5cGUsICZsb3dfYm91bmQsICZoaWdo X2JvdW5kKSkKLUBAIC0xMjg0LDYgKzEzMDksOCBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMg KHN0cnVjdCB0eXBlICp0CitAQCAtMTI5MCw2ICsxMzE1LDggQEAgdmFsX3ByaW50X2FycmF5X2Vs ZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdAogICAgICB7CiAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiLi4uIik7CiAgICAgIH0KQEAgLTE0ODA4LDEwICsxNDgwOCwxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFscHJpbnQuYwogIH0KICAKICAvKiBSZWFkIExFTiBi eXRlcyBvZiB0YXJnZXQgbWVtb3J5IGF0IGFkZHJlc3MgTUVNQUREUiwgcGxhY2luZyB0aGUKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWx1ZS5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdmFsdWUuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvdmFsdWUuYwkyMDExLTAyLTI3IDIxOjU3OjE1LjAwMDAwMDAwMCArMDEwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHVlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3ZhbHVlLmMJMjAx MS0wMi0yNyAyMTo1NzoxNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi92YWx1ZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDMs NiArNDMsNyBAQAogICNpbmNsdWRlICJweXRob24vcHl0aG9uLmgiCiAgI2luY2x1ZGUgPGN0eXBl Lmg+CkBAIC0xNTA4NywxMCArMTUwODcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3ZhbHVlLmMKICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHZhbHVlX3R5cGVzX21h cmtfdXNlZCk7CiArI2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Zh bHVlLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWx1ZS5oCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi92YWx1ZS5oCTIwMTEtMDMtMDQgMjE6 MDc6MjIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsdWUu aAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvdmFsdWUuaAkyMDExLTAzLTA0IDIxOjA3OjIyLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHVlLmgJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00NzMsNiArNDczLDEwIEBAIGV4dGVybiBzdHJ1Y3QgdmFs dWUgKnZhbHVlX2Zyb21fZGVjZmxvYXQKICAJCQkJCSAgY29uc3QgZ2RiX2J5dGUgKmRlY2J5dGVz KTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2hpc3RvcnlfcmVmIChjaGFyICos IGNoYXIgKiopOwpAQCAtMTUxNTgsMTAgKzE1MTU4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCBpbnRlcm5hbHZhciAqbG9va3Vw X2ludGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1lKTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi93aW5kb3dzLXRkZXAuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3dpbmRvd3MtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi93aW5kb3dzLXRkZXAuYwkyMDExLTAxLTEyIDAyOjIzOjI5LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi93 aW5kb3dzLXRkZXAuYwkyMDExLTAxLTEyIDAyOjIzOjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMjY4LDcgKzI2OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbHZhbF9m dW5jcyB0bGJfdmFsdWVfZnVuY3MKICAgICBpZiB0aGVyZSdzIG5vIG9iamVjdCBhdmFpbGFibGUu ICAqLwogIApAQCAtMTUxOTQsMTAgKzE1MTk0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi93aW5kb3dzLXRkZXAuYwogLSAgY3JlYXRlX2ludGVybmFsdmFyX3R5cGVfbGF6eSAo Il90bGIiLCB0bGJfbWFrZV92YWx1ZSk7CiArICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5 ICgiX3RsYiIsICZ0bGJfZnVuY3MsIE5VTEwpOwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi94Y29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3hjb2Zm cmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi94Y29m ZnJlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAw ICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi94Y29mZnJlYWQuYwkyMDEx LTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MzA5MCw2ICszMDkwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIHhjb2ZmX3N5bV9m bgogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkvKiBHZXQgc2VnbWVudCBpbmZvcm1hdGlv biBmcm9tIGEgZmlsZS4gICovCiAgICBhaXhfcHJvY2Vzc19saW5lbm9zLAoKZGlmZiAtLWdpdCBh L2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0Y2ggYi9nZGItYno2NDU3NzMt Y2FzZS1pbnNlbnNpdGl2ZS00b2Y1LnBhdGNoCmluZGV4IDJlZjM2OWQuLjExMzVjYzcgMTAwNjQ0 Ci0tLSBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0Y2gKKysrIGIvZ2Ri LWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtNG9mNS5wYXRjaApAQCAtNTgsMTAgKzU4LDEwIEBA IGdkYi90ZXN0c3VpdGUvCiAJKiBnZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmM6IE5l dyBmaWxlLgogCSogZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS5leHA6IE5ldyBmaWxl LgogCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yOSAwOTo0Mzoz NC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFk LmMJMjAxMS0wNC0yOSAwOTo0NTo1OC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1LTI1IDE3OjEyOjUxLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1 LTI1IDE5OjEyOjMzLjAwMDAwMDAwMCArMDIwMAogQEAgLTE1Miw2ICsxNTIsOSBAQCBERUZfVkVD X0kgKG9mZnNldF90eXBlKTsKICAgICBhIGNvbW1lbnQgYnkgdGhlIGNvZGUgdGhhdCB3cml0ZXMg dGhlIGluZGV4LiAgKi8KICBzdHJ1Y3QgbWFwcGVkX2luZGV4CkBAIC03Miw3ICs3Miw3IEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAgIC8qIFRoZSB0b3Rh bCBsZW5ndGggb2YgdGhlIGJ1ZmZlci4gICovCiAgICBvZmZfdCB0b3RhbF9zaXplOwogIAotQEAg LTE5OTAsMTcgKzE5OTMsMjMgQEAgY3JlYXRlX2FkZHJtYXBfZnJvbV9pbmRleCAoc3RydWN0IG9i amZpbAorQEAgLTE5OTcsMTcgKzIwMDAsMjMgQEAgY3JlYXRlX2FkZHJtYXBfZnJvbV9pbmRleCAo c3RydWN0IG9iamZpbAogICAgIFNZTUJPTF9IQVNIX05FWFQsIGJ1dCB3ZSBrZWVwIGEgc2VwYXJh dGUgY29weSB0byBtYWludGFpbiBjb250cm9sIG92ZXIgdGhlCiAgICAgaW1wbGVtZW50YXRpb24u ICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBoYXNoIGZ1bmN0aW9uIGlzIHRpZWQgdG8g dGhlCiAgICAgZm9ybWF0IG9mIHRoZSBtYXBwZWQgaW5kZXggZmlsZS4gIFRoZSBoYXNoIHZhbHVl cyBkbyBub3QgaGF2ZSB0byBtYXRjaCB3aXRoCkBAIC05OSwyOSArOTksMzQgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgcmV0dXJuIHI7CiAgfQot QEAgLTIwMTMsMTEgKzIwMjIsMTkgQEAgc3RhdGljIGludAotIGZpbmRfc2xvdF9pbl9tYXBwZWRf aGFzaCAoc3RydWN0IG1hcHBlZF9pbmRleCAqaW5kZXgsIGNvbnN0IGNoYXIgKm5hbWUsCi0gCQkJ ICBvZmZzZXRfdHlwZSAqKnZlY19vdXQpCi0gewotLSAgb2Zmc2V0X3R5cGUgaGFzaCA9IG1hcHBl ZF9pbmRleF9zdHJpbmdfaGFzaCAobmFtZSk7CitAQCAtMjAyMyw2ICsyMDMyLDcgQEAgZmluZF9z bG90X2luX21hcHBlZF9oYXNoIChzdHJ1Y3QgbWFwcGVkXworICAgc3RydWN0IGNsZWFudXAgKmJh Y2tfdG8gPSBtYWtlX2NsZWFudXAgKG51bGxfY2xlYW51cCwgMCk7CisgICBvZmZzZXRfdHlwZSBo YXNoOworICAgb2Zmc2V0X3R5cGUgc2xvdCwgc3RlcDsKKysgIGludCAoKmNtcCkgKGNvbnN0IGNo YXIgKiwgY29uc3QgY2hhciAqKTsKKyAKKyAgIGlmIChjdXJyZW50X2xhbmd1YWdlLT5sYV9sYW5n dWFnZSA9PSBsYW5ndWFnZV9jcGx1cworICAgICAgIHx8IGN1cnJlbnRfbGFuZ3VhZ2UtPmxhX2xh bmd1YWdlID09IGxhbmd1YWdlX2phdmEKK0BAIC0yMDQ1LDkgKzIwNTUsMTYgQEAgZmluZF9zbG90 X2luX21hcHBlZF9oYXNoIChzdHJ1Y3QgbWFwcGVkXworIAl9CisgICAgIH0KKyAKKy0gIGhhc2gg PSBtYXBwZWRfaW5kZXhfc3RyaW5nX2hhc2ggKG5hbWUpOwogKyAgLyogSW5kZXggdmVyc2lvbiA0 IGRpZCBub3Qgc3VwcG9ydCBjYXNlIGluc2Vuc2l0aXZlIHNlYXJjaGVzLiAgQnV0IHRoZQogKyAg ICAgaW5kZXhlcyBmb3IgY2FzZSBpbnNlbnNpdGl2ZSBsYW5ndWFnZXMgYXJlIGJ1aWx0IGluIGxv d2VyY2FzZSwgdGhlcmVmb3JlCiArICAgICBzaW11bGF0ZSBvdXIgTkFNRSBiZWluZyBzZWFyY2hl ZCBpcyBhbHNvIGxvd2VyY2FzZWQuICAqLwotKyAgb2Zmc2V0X3R5cGUgaGFzaCA9IG1hcHBlZF9p bmRleF9zdHJpbmdfaGFzaCAoKGluZGV4LT52ZXJzaW9uID09IDQKKysgIGhhc2ggPSBtYXBwZWRf aW5kZXhfc3RyaW5nX2hhc2ggKChpbmRleC0+dmVyc2lvbiA9PSA0CiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJiYgY2FzZV9zZW5zaXRpdml0eSA9PSBjYXNlX3NlbnNpdGl2 ZV9vZmYKICsJCQkJICAgID8gNSA6IGluZGV4LT52ZXJzaW9uKSwKICsJCQkJICAgbmFtZSk7Ci0g ICBvZmZzZXRfdHlwZSBzbG90LCBzdGVwOwotKyAgaW50ICgqY21wKSAoY29uc3QgY2hhciAqLCBj b25zdCBjaGFyICopOwotIAogICAgc2xvdCA9IGhhc2ggJiAoaW5kZXgtPnN5bWJvbF90YWJsZV9z bG90cyAtIDEpOwogICAgc3RlcCA9ICgoaGFzaCAqIDE3KSAmIChpbmRleC0+c3ltYm9sX3RhYmxl X3Nsb3RzIC0gMSkpIHwgMTsKICsgIGNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vu c2l0aXZlX29uID8gc3RyY21wIDogc3RyY2FzZWNtcCk7CiAgCiAgICBmb3IgKDs7KQogICAgICB7 Ci1AQCAtMjAyOCw3ICsyMDQ1LDcgQEAgZmluZF9zbG90X2luX21hcHBlZF9oYXNoIChzdHJ1Y3Qg bWFwcGVkXwotIAlyZXR1cm4gMDsKK0BAIC0yMDYxLDcgKzIwNzgsNyBAQCBmaW5kX3Nsb3RfaW5f bWFwcGVkX2hhc2ggKHN0cnVjdCBtYXBwZWRfCisgCX0KICAKICAgICAgICBzdHIgPSBpbmRleC0+ Y29uc3RhbnRfcG9vbCArIE1BWUJFX1NXQVAgKGluZGV4LT5zeW1ib2xfdGFibGVbaV0pOwogLSAg ICAgIGlmICghc3RyY21wIChuYW1lLCBzdHIpKQpAQCAtMTI5LDcgKzEzNCw3IEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAJewogIAkgICp2ZWNfb3V0ID0g KG9mZnNldF90eXBlICopIChpbmRleC0+Y29uc3RhbnRfcG9vbAogIAkJCQkgICAgICArIE1BWUJF X1NXQVAgKGluZGV4LT5zeW1ib2xfdGFibGVbaSArIDFdKSk7Ci1AQCAtMjA3MSwxNSArMjA4OCwx NyBAQCBkd2FyZjJfcmVhZF9pbmRleCAoc3RydWN0IG9iamZpbGUgKm9iamZpCitAQCAtMjEwNSwx NSArMjEyMiwxNyBAQCBkd2FyZjJfcmVhZF9pbmRleCAoc3RydWN0IG9iamZpbGUgKm9iamZpCiAg ICAvKiBWZXJzaW9ucyBlYXJsaWVyIHRoYW4gMyBlbWl0dGVkIGV2ZXJ5IGNvcHkgb2YgYSBwc3lt Ym9sLiAgVGhpcwogICAgICAgY2F1c2VzIHRoZSBpbmRleCB0byBiZWhhdmUgdmVyeSBwb29ybHkg Zm9yIGNlcnRhaW4gcmVxdWVzdHMuICBWZXJzaW9uIDMKICAgICAgIGNvbnRhaW5lZCBpbmNvbXBs ZXRlIGFkZHJtYXAuICBTbywgaXQgc2VlbXMgYmV0dGVyIHRvIGp1c3QgaWdub3JlIHN1Y2gKQEAg LTE0OSw3ICsxNTQsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVh ZC5jCiAgICBtYXAtPnRvdGFsX3NpemUgPSBkd2FyZjJfcGVyX29iamZpbGUtPmdkYl9pbmRleC5z aXplOwogIAogICAgbWV0YWRhdGEgPSAob2Zmc2V0X3R5cGUgKikgKGFkZHIgKyBzaXplb2YgKG9m ZnNldF90eXBlKSk7Ci1AQCAtMTU2MDIsMTMgKzE1NjIxLDE2IEBAIHN0cnVjdCBzdHJ0YWJfZW50 cnkKK0BAIC0xNTY5MiwxMyArMTU3MTEsMTYgQEAgc3RydWN0IHN0cnRhYl9lbnRyeQogICAgY29u c3QgY2hhciAqc3RyOwogIH07CiAgCkBAIC0xNjgsNyArMTczLDcgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIH0KICAKICAvKiBFcXVhbGl0eSBmdW5jdGlv biBmb3IgYSBzdHJ0YWJfZW50cnkuICAqLwotQEAgLTE1NzQ2LDEyICsxNTc2OCwxNSBAQCBjbGVh bnVwX21hcHBlZF9zeW10YWIgKHZvaWQgKnApCitAQCAtMTU4MzYsMTIgKzE1ODU4LDE1IEBAIGNs ZWFudXBfbWFwcGVkX3N5bXRhYiAodm9pZCAqcCkKICB9CiAgCiAgLyogRmluZCBhIHNsb3QgaW4g U1lNVEFCIGZvciB0aGUgc3ltYm9sIE5BTUUuICBSZXR1cm5zIGEgcG9pbnRlciB0bwpAQCAtMTg2 LDcgKzE5MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMK ICAKICAgIGluZGV4ID0gaGFzaCAmIChzeW10YWItPnNpemUgLSAxKTsKICAgIHN0ZXAgPSAoKGhh c2ggKiAxNykgJiAoc3ltdGFiLT5zaXplIC0gMSkpIHwgMTsKLUBAIC0xNjI3OSw3ICsxNjMwNCw3 IEBAIHdyaXRlX3BzeW10YWJzX3RvX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAKK0BAIC0xNjM2OSw3 ICsxNjM5NCw3IEBAIHdyaXRlX3BzeW10YWJzX3RvX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAKICAg IHRvdGFsX2xlbiA9IHNpemVfb2ZfY29udGVudHM7CiAgCiAgICAvKiBUaGUgdmVyc2lvbiBudW1i ZXIuICAqLwpAQCAtMTk1LDEwICsyMDAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL2R3YXJmMnJlYWQuYwogICAgb2JzdGFja19ncm93ICgmY29udGVudHMsICZ2YWwsIHNpemVv ZiAodmFsKSk7CiAgCiAgICAvKiBUaGUgb2Zmc2V0IG9mIHRoZSBDVSBsaXN0IGZyb20gdGhlIHN0 YXJ0IG9mIHRoZSBmaWxlLiAgKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9taW5z eW1zLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9taW5zeW1zLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL21pbnN5bXMuYwkyMDExLTA0LTI5 IDA5OjQzOjM0LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21p bnN5bXMuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIu OTAuMjAxMTA1MjUub3JpZy9nZGIvbWluc3ltcy5jCTIwMTEtMDUtMjUgMTc6MTI6NTEuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWluc3ltcy5jCTIwMTEtMDUt MjUgMTc6MTM6MTMuMDAwMDAwMDAwICswMjAwCiBAQCAtMjM5LDExICsyMzksMTYgQEAgbG9va3Vw X21pbmltYWxfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lLAogIAogIAkJICBpZiAocGFzcyA9PSAx KQpAQCAtMjE4LDEwICsyMjMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21p bnN5bXMuYwogIAkJICAgICAgbWF0Y2ggPSBTWU1CT0xfTUFUQ0hFU19TRUFSQ0hfTkFNRSAobXN5 bWJvbCwKICAJCQkJCQkJICBtb2RpZmllZF9uYW1lKTsKICAJCSAgICB9Ci1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvcHN5bXRhYi5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHN5bXRhYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9wc3ltdGFiLmMJMjAxMS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9wc3ltdGFiLmMJMjAxMS0wNC0yOSAwOTo0NDoxNS4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BzeW10YWIuYwkyMDEx LTA0LTIwIDIyOjEwOjI5LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3BzeW10YWIuYwkyMDExLTA1LTI1IDE3OjEzOjEzLjAwMDAwMDAwMCArMDIwMAogQEAgLTY5 MCw4ICs2OTAsMTUgQEAgbG9va3VwX3BhcnRpYWxfc3ltYm9sIChzdHJ1Y3QgcGFydGlhbF9zeQog IAlpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAogIAkJCV8oImZhaWxlZCBpbnRl cm5hbCBjb25zaXN0ZW5jeSBjaGVjayIpKTsKQEAgLTI0MCwxMCArMjQ1LDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wc3ltdGFiLmMKICAJewogIAkgIGlmIChzeW1ib2xfbWF0 Y2hlc19kb21haW4gKFNZTUJPTF9MQU5HVUFHRSAoKnRvcCksCiAgCQkJCSAgICAgU1lNQk9MX0RP TUFJTiAoKnRvcCksIGRvbWFpbikpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3lt dGFiLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNC0yOSAw OTo0Mzo1NS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10 YWIuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNS0yNSAxNzoxMjo1MS4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwkyMDExLTA1LTI1IDE3 OjEzOjQ5LjAwMDAwMDAwMCArMDIwMAogQEAgLTEwNjIsMTkgKzEwNjIsNiBAQCBsb29rdXBfc3lt Ym9sX2luX2xhbmd1YWdlIChjb25zdCBjaGFyICpuCiAgCX0KICAgICAgfQpAQCAtMjY0LDcgKzI2 OSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuYwogICAgcmV0dXJu dmFsID0gbG9va3VwX3N5bWJvbF9hdXggKG1vZGlmaWVkX25hbWUsIGJsb2NrLCBkb21haW4sIGxh bmcsCiAgCQkJCSBpc19hX2ZpZWxkX29mX3RoaXMpOwogICAgZG9fY2xlYW51cHMgKGNsZWFudXAp OwotQEAgLTMwODIsNyArMzA2OSw5IEBAIHNlYXJjaF9zeW1ib2xzIChjaGFyICpyZWdleHAsIGRv bWFpbl9lbnUKK0BAIC0zMTA2LDcgKzMwOTMsOSBAQCBzZWFyY2hfc3ltYm9scyAoY2hhciAqcmVn ZXhwLCBkb21haW5fZW51CiAgCSAgICB9CiAgCX0KICAKQEAgLTI3NSwyNiArMjgwLDI0IEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuYwogICAgICAgIGlmIChlcnJjb2Rl ICE9IDApCiAgCXsKICAJICBjaGFyICplcnIgPSBnZXRfcmVnY29tcF9lcnJvciAoZXJyY29kZSwg JmRhdHVtLnByZWcpOwotQEAgLTM1MjksMTAgKzM1MTgsMTMgQEAgY29tcGxldGlvbl9saXN0X2Fk ZF9uYW1lIChjaGFyICpzeW1uYW1lLAotIAkJCSAgY2hhciAqdGV4dCwgY2hhciAqd29yZCkKK0BA IC0zNTQ2LDcgKzM1MzUsMTEgQEAgcmJyZWFrX2NvbW1hbmQgKGNoYXIgKnJlZ2V4cCwgaW50IGZy b21fdAorIHN0YXRpYyBpbnQKKyBjb21wYXJlX3N5bWJvbF9uYW1lIChjb25zdCBjaGFyICpuYW1l LCBjb25zdCBjaGFyICpzeW1fdGV4dCwgaW50IHN5bV90ZXh0X2xlbikKICB7Ci0gICBpbnQgbmV3 c2l6ZTsKKy0gIGlmIChzdHJuY21wIChuYW1lLCBzeW1fdGV4dCwgc3ltX3RleHRfbGVuKSAhPSAw KQogKyAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOwog KwogKyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3Ry bmNtcCA6IHN0cm5jYXNlY21wKTsKKysKKysgIGlmIChuY21wIChuYW1lLCBzeW1fdGV4dCwgc3lt X3RleHRfbGVuKSAhPSAwKQorICAgICByZXR1cm4gMDsKICAKLSAgIC8qIENsaXAgc3ltYm9scyB0 aGF0IGNhbm5vdCBtYXRjaC4gICovCi0gCi0tICBpZiAoc3RybmNtcCAoc3ltbmFtZSwgc3ltX3Rl eHQsIHN5bV90ZXh0X2xlbikgIT0gMCkKLSsgIGlmIChuY21wIChzeW1uYW1lLCBzeW1fdGV4dCwg c3ltX3RleHRfbGVuKSAhPSAwKQotICAgICB7Ci0gICAgICAgcmV0dXJuOwotICAgICB9Ci1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgKKyAgIGlmIChzeW1fdGV4dFtzeW1f dGV4dF9sZW5dID09ICcoJykKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmgJ MjAxMS0wNC0yOSAwOTo0MzozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAotQEAg LTEwMzAsNyArMTAzMCw4IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgbXN5bWJvbF9oYXNoIChjb25z dCAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMjUg MTc6MTI6NTEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc3lt dGFiLmgJMjAxMS0wNS0yNSAxNzoxMzoxMy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMDM2LDcgKzEw MzYsOCBAQCBleHRlcm4gdW5zaWduZWQgaW50IG1zeW1ib2xfaGFzaCAoY29uc3QgCiAgICAgaXMg b25seSBhIEdEQiBpbi1tZW1vcnkgY29tcHV0ZWQgdmFsdWUgd2l0aCBubyBleHRlcm5hbCBmaWxl cyBjb21wYXRpYmlsaXR5CiAgICAgcmVxdWlyZW1lbnRzLiAgKi8KICAKQEAgLTMwNCwxMCArMzA3 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuaAogIAogIGV4dGVy biBzdHJ1Y3Qgb2JqZmlsZSAqIG1zeW1ib2xfb2JqZmlsZSAoc3RydWN0IG1pbmltYWxfc3ltYm9s ICpzeW0pOwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9mb3J0cmFuLXN5bS1jYXNlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZm9ydHJhbi1zeW0tY2FzZS5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuYwkyMDEx LTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3J0cmFuLXN5bS1jYXNlLmMJMjAxMS0wNS0yNSAxNzox MzoxMy4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBUaGlzIHRlc3RjYXNl IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzMxLDEwICszMzQsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3J0 cmFuLXN5bS1jYXNlLmMKICt7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3lt LWNhc2UuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCTIwMTEtMDQtMjkgMDk6NDQ6MTUuMDAwMDAwMDAw ICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zv cnRyYW4tc3ltLWNhc2UuZXhwCTIwMTEtMDUtMjUgMTc6MTM6MTMuMDAwMDAwMDAwICswMjAwCiBA QCAtMCwwICsxLDI3IEBACiArIyBDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiArCkBAIC0zNjMsMTAgKzM2NiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCiArZ2Ri X3Rlc3QgInNldCBsYW5ndWFnZSBmb3J0cmFuIiB7V2FybmluZzogdGhlIGN1cnJlbnQgbGFuZ3Vh Z2UgZG9lcyBub3QgbWF0Y2ggdGhpcyBmcmFtZVwufQogKwogK2dkYl90ZXN0ICJmcmFtZSIgIiwg YVJHdj0uKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS1kZWJ1Zy5TCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUtZGVidWcu UwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1jYXNlLWluc2Vuc2l0aXZlLWRlYnVnLlMJMjAxMS0wNC0yOSAwOTo0NDoxNS4wMDAwMDAw MDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItY2FzZS1pbnNlbnNpdGl2ZS1kZWJ1Zy5TCTIwMTEtMDUtMjUgMTc6MTM6MTMuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDEwMiBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC00NzAsMTAgKzQ3MywxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNhc2UtaW5z ZW5zaXRpdmUtZGVidWcuUwogKwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwogKwku Ynl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNl bnNpdGl2ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmMJMjAxMS0wNS0yNSAxNzoxMzoxMy4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsMzggQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RC LCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNTEzLDEwICs1MTYsMTAgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0 aXZlLmMKICsgIEZVTkNfc3ltdGFiICgpOwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0 aXZlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmV4cAkyMDEx LTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmV4cAkyMDExLTA1 LTI1IDE3OjEzOjEzLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0OSBAQAogKyMgQ29weXJp Z2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC01NjcsMTAgKzU3 MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2Fy ZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUuZXhwCiAraWYge1tnZGJfYnJlYWtwb2ludCAiZnVOQ19z eW10YWIiXSA9PSAxfSB7CiArICAgIHBhc3MgInNldHRpbmcgYnJlYWtwb2ludCBhdCBmdU5DX3N5 bXRhYiIKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdXRpbHMuYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3V0aWxzLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNC0yOSAwOTo0MzozNC4wMDAwMDAw MDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi91dGlscy5jCTIwMTEtMDQtMjkg MDk6NDQ6MTUuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi91dGlscy5jCTIwMTEtMDUtMjUgMTc6MTI6NTEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwkyMDExLTA1LTI1IDE3OjEzOjEzLjAwMDAwMDAwMCAr MDIwMAogQEAgLTMwMDMsMTAgKzMwMDMsMTIgQEAgc3RyY21wX2l3IChjb25zdCBjaGFyICpzdHJp bmcxLCBjb25zdCBjaAogIAl7CiAgCSAgc3RyaW5nMisrOwoKZGlmZiAtLWdpdCBhL2dkYi1iejY0 NTc3My1jYXNlLWluc2Vuc2l0aXZlLTVvZjUucGF0Y2ggYi9nZGItYno2NDU3NzMtY2FzZS1pbnNl bnNpdGl2ZS01b2Y1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDc3MDM3 Li4wMDAwMDAwCi0tLSBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTVvZjUucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDU0Ni5odG1sCi1TdWJqZWN0OiBbb2J2XSBGaXggY29t cGxldGVyIHByZS1leHBhbnNpb24gZm9yIGNhc2UgaW5zZW5zaXRpdmUgbG9va3VwcwotCi1IaSwK LQotZHVlIHRvIHRoZSBwZW5kaW5nIHBhdGNoZXMgdGhlcmUgaGFwcGVuZWQgYSBzZW1hbnRpYyBj b2xsaXNpb24uICBCb3RoIHBhdGhzZXRzCi13ZXJlIHJpZ2h0IG9uIHRoZWlyIG93biBidXQgdG9n ZXRoZXIgaXQgZGlkIG5vdCB3b3JrIHdlbGwuICBUaGVyZSBjb3VsZCBiZQotYSB0ZXN0Y2FzZSBm b3IgaXQgYnV0IEkgZG8gbm90IHByb3ZpZGUgaXQsIGl0IHNlZW1zIG9idmlvdXMgZW5vdWdodCB0 byBtZS4KLQotVGhlIHR3byBwYXRjaGVzIHdlcmU6Ci0JUmU6IFtwYXRjaCAzLzNdIGNhc2UgaW5z ZW5zaXRpdmU6IHRoZSBmaXggW3JlZGlmZl0KLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2Ri LXBhdGNoZXMvMjAxMS0wNC9tc2cwMDQxOC5odG1sCi0JIC0gc2VlIHRoZSBjaGFuZ2UgaW4gY29t cGxldGlvbl9saXN0X2FkZF9uYW1lCi1hbmQKLQlbcGF0Y2hdWys3LjNdIEZpeCBwaHlzbmFtZSBj b21wbGV0aW9uIHJlZ3Jlc3Npb24KLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxMS0wNC9tc2cwMDE0MC5odG1sCi0JIC0gc2VlIGV4cGFuZF9wYXJ0aWFsX3N5bWJvbF9u YW1lIHdoaWNoIGp1c3QgY2FsbGVkCi0JICAgY29tcGxldGlvbl9saXN0X2FkZF9uYW1lIGJlZm9y ZSBidXQgbm93IGl0IGhhcyBleHBsaWNpdCBzdHJuY21wLgotCi1Bbm90aGVyIHByb2JsZW0gaXMg dGhpcyBjb2RlIGlzIHN0aWxsIHdyb25nLiAgVGhhdCBpcyB0aGUgc3ViamVjdCBvZjoKLQlDVSBl eHBhbnNpb24gcHJvYmxlbSBmb3IgcGFyYW1ldGVycwotCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDgKLQotQnV0IEkgZGlkIG5vdCB3YW50IHRvIG1p eCB0d28gdW5yZWxhdGVkIGZpeGVzIGludG8gYSBzaW5nbGUgcGF0Y2gKLQotTm8gcmVncmVzc2lv bnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE1LWxpbnV4LWdudS4gIENoZWNr ZWQgaXQgaW4KLWFscmVhZHkgdG8gbm90IGdldCBsb3N0IGluIHRoZSBpbnRlci1wYXRjaCBkZXBl bmRlbmNpZXMgYWdhaW4uCi0KLQotU29ycnksCi1KYW4KLQotCi1odHRwOi8vc291cmNld2FyZS5v cmcvbWwvZ2RiLWN2cy8yMDExLTA0L21zZzAwMTg2Lmh0bWwKLQotIyMjIHNyYy9nZGIvQ2hhbmdl TG9nCTIwMTEvMDQvMjggMTU6NTI6NTMJMS4xMjk2NAotIyMjIHNyYy9nZGIvQ2hhbmdlTG9nCTIw MTEvMDQvMjggMTc6Mzc6MDIJMS4xMjk2NQotIyMgLTEsMyArMSw4IEBACi0rMjAxMS0wNC0yOCAg SmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotKwotKwkqIHN5bXRh Yi5jIChleHBhbmRfcGFydGlhbF9zeW1ib2xfbmFtZSk6IE5ldyB2YXJpYWJsZSBOQ01QLiAgU3Vw cG9ydAotKwljYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmlzb24uCi0rCi0gMjAxMS0wNC0yOCAgVWxy aWNoIFdlaWdhbmQgIDx1bHJpY2gud2VpZ2FuZEBsaW5hcm8ub3JnPgotIAotIAkqIGluZnJ1bi5j IChwcm9jZWVkKTogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZS4KLS0tLSBzcmMvZ2RiL3N5bXRhYi5j CTIwMTEvMDQvMjcgMjA6MDM6MDMJMS4yNjkKLSsrKyBzcmMvZ2RiL3N5bXRhYi5jCTIwMTEvMDQv MjggMTc6Mzc6MDYJMS4yNzAKLUBAIC0zNzA3LDggKzM3MDcsMTEgQEAKLSBleHBhbmRfcGFydGlh bF9zeW1ib2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdXNlcl9kYXRhKQotIHsKLSAg IHN0cnVjdCBhZGRfbmFtZV9kYXRhICpkYXR1bSA9IChzdHJ1Y3QgYWRkX25hbWVfZGF0YSAqKSB1 c2VyX2RhdGE7Ci0rICBpbnQgKCpuY21wKSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHNp emVfdCk7Ci0gCi0tICByZXR1cm4gc3RybmNtcCAobmFtZSwgZGF0dW0tPnN5bV90ZXh0LCBkYXR1 bS0+c3ltX3RleHRfbGVuKSA9PSAwOwotKyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNh c2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKLSsKLSsgIHJldHVybiBu Y21wIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRhdHVtLT5zeW1fdGV4dF9sZW4pID09IDA7Ci0g fQotIAotIGNoYXIgKioKLQoKZGlmZiAtLWdpdCBhL2dkYi1iejcwMTEzMS1yZWFkbGluZTYyLTNv ZjMucGF0Y2ggYi9nZGItYno3MDExMzEtcmVhZGxpbmU2Mi0zb2YzLnBhdGNoCmluZGV4IDQxZDIz NzQuLjY5NzI1YTQgMTAwNjQ0Ci0tLSBhL2dkYi1iejcwMTEzMS1yZWFkbGluZTYyLTNvZjMucGF0 Y2gKKysrIGIvZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItM29mMy5wYXRjaApAQCAtNTgsOCArNTgs MTAgQEAgcmVhZGxpbmUvZG9jLwogCUBkZWZjb2RlaW5kZXguICBNYWtlIHRoZSBgUHJvZ3JhbW1p bmcgd2l0aCBHTlUgSGlzdG9yeScgcmVmZXJlbmNlCiAJZXh0ZXJuYWwuCiAKLS0tLSBhL2dkYi9k b2MvTWFrZWZpbGUuaW4KLSsrKyBiL2dkYi9kb2MvTWFrZWZpbGUuaW4KK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9kb2MvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4y LjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RvYy9NYWtlZmlsZS5pbgkyMDExLTAxLTAzIDE0OjAxOjA1 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9NYWtlZmls ZS5pbgkyMDExLTA1LTI1IDE5OjE2OjM1LjAwMDAwMDAwMCArMDIwMAogQEAgLTExNyw3ICsxMTcs NyBAQCBHREJfRE9DX1NPVVJDRV9JTkNMVURFUyA9IFwKICAJJChzcmNkaXIpL2dwbC50ZXhpIFwK ICAJJChzcmNkaXIpL2FnZW50ZXhwci50ZXhpIFwKQEAgLTY5LDkgKzcxLDExIEBAIHJlYWRsaW5l L2RvYy8KICBHREJfRE9DX0JVSUxEX0lOQ0xVREVTID0gXAogIAlnZGItY2ZnLnRleGkgXAogIAlH REJ2bi50ZXhpCi0tLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCi0rKysgYi9nZGIvZG9jL2dkYi50 ZXhpbmZvCi1AQCAtMzEwMDgsMTMgKzMxMDA4LDEzIEBAIHRoaW5ncyB3aXRob3V0IGZpcnN0IHVz aW5nIHRoZSBkZWJ1Z2dlciB0byBmaW5kIHRoZSBmYWN0cy4KK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA1LTI1IDE5OjE0OjM2LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGIudGV4aW5mbwky MDExLTA1LTI1IDE5OjE3OjAxLjAwMDAwMDAwMCArMDIwMAorQEAgLTMxMDk1LDEzICszMTA5NSwx MyBAQCB0aGluZ3Mgd2l0aG91dCBmaXJzdCB1c2luZyB0aGUgZGVidWdnZXIgCiAgCiAgQGMgVGhl IHJlYWRsaW5lIGRvY3VtZW50YXRpb24gaXMgZGlzdHJpYnV0ZWQgd2l0aCB0aGUgcmVhZGxpbmUg Y29kZQogIEBjIGFuZCBjb25zaXN0cyBvZiB0aGUgdHdvIGZvbGxvd2luZyBmaWxlczoKQEAgLTg3 LDEwICs5MSwxMiBAQCByZWFkbGluZS9kb2MvCiArQGluY2x1ZGUgaHN1c2VyLnRleGkKICBAZW5k IGlmY2xlYXIKICAKLSAKLS0tLSBhL3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQotKysrIGIvcmVh ZGxpbmUvZG9jL2hzdXNlci50ZXhpCi1AQCAtMjYsOSArMjYsMTAgQEAgaW50byBhbm90aGVyIGxh bmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgbW9kaWZpZWQgdmVyc2lvbnMu CisgQG5vZGUgSW4gTWVtb3JpYW0KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L3JlYWRsaW5l L2RvYy9oc3VzZXIudGV4aQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9yZWFkbGluZS9kb2MvaHN1c2VyLnRleGkJMjAxMS0wNS0yNSAxOToxNjoxNy4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQky MDExLTA1LTI1IDE5OjE2OjM1LjAwMDAwMDAwMCArMDIwMAorQEAgLTI2LDkgKzI2LDEwIEBAIGlu dG8gYW5vdGhlciBsYW5ndWFnZSwgdW5kZXIgdGhlIGFib3ZlIGMKICBAbm9kZSBVc2luZyBIaXN0 b3J5IEludGVyYWN0aXZlbHkKICBAY2hhcHRlciBVc2luZyBIaXN0b3J5IEludGVyYWN0aXZlbHkK ICAKQEAgLTEwNCw3ICsxMTAsNyBAQCByZWFkbGluZS9kb2MvCiAgCiAgQGlmc2V0IEJhc2hGZWF0 dXJlcwogIFRoaXMgY2hhcHRlciBkZXNjcmliZXMgaG93IHRvIHVzZSB0aGUgQHNje2dudX0gSGlz dG9yeSBMaWJyYXJ5Ci1AQCAtNDEsNyArNDIsOCBAQCBzZWUgdGhlIEBzY3tnbnV9IFJlYWRsaW5l IExpYnJhcnkgTWFudWFsLgorQEAgLTQxLDcgKzQyLDggQEAgc2VlIHRoZSBAc2N7Z251fSBSZWFk bGluZSBMaWJyYXJ5IE1hbnVhbAogIFRoaXMgY2hhcHRlciBkZXNjcmliZXMgaG93IHRvIHVzZSB0 aGUgQHNje2dudX0gSGlzdG9yeSBMaWJyYXJ5IGludGVyYWN0aXZlbHksCiAgZnJvbSBhIHVzZXIn cyBzdGFuZHBvaW50LiAgSXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSB1c2VyJ3MgZ3VpZGUuICBG b3IKICBpbmZvcm1hdGlvbiBvbiB1c2luZyB0aGUgQHNje2dudX0gSGlzdG9yeSBMaWJyYXJ5IGlu IHlvdXIgb3duIHByb2dyYW1zLApAQCAtMTE0LDQgKzEyMCwzIEBAIHJlYWRsaW5lL2RvYy8KICBA ZW5kIGlmY2xlYXIKICAKICBAaWZzZXQgQmFzaEZlYXR1cmVzCi0KCmRpZmYgLS1naXQgYS9nZGIt Zm9ydHJhbi1jb21tb24ucGF0Y2ggYi9nZGItZm9ydHJhbi1jb21tb24ucGF0Y2gKaW5kZXggYmU1 YmYyMi4uMTMwNDg2OCAxMDA2NDQKLS0tIGEvZ2RiLWZvcnRyYW4tY29tbW9uLnBhdGNoCisrKyBi L2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA0LTI5IDA5OjQxOjE0LjAwMDAwMDAwMCArMDIwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA0LTI5IDA5OjQx OjIwLjAwMDAwMDAwMCArMDIwMAotQEAgLTc1NjksMTIgKzc1NjksMTQgQEAgcmVhZF9zZXRfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cgorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDUtMjUgMTc6MDY6MTkuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDUtMjUgMTc6MTA6 NDYuMDAwMDAwMDAwICswMjAwCitAQCAtNzY2NSwxMiArNzY2NSwxNCBAQCByZWFkX3NldF90eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RyCiAgICByZXR1cm4gc2V0X2RpZV90eXBlIChkaWUs IHNldF90eXBlLCBjdSk7CiAgfQogIApAQCAtMTksNyArMTksNyBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwog ICAgc3RydWN0IHN5bWJvbCAqc3ltOwogICAgQ09SRV9BRERSIGJhc2UgPSAoQ09SRV9BRERSKSAw OwotQEAgLTc1OTksMTAgKzc2MDEsNDAgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBkaWVf aW5mbyAqZGllLAorQEAgLTc2OTUsMjAgKzc2OTcsNjcgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLAogICAgICB9CiAgICBpZiAoZGllLT5jaGlsZCAhPSBOVUxMKQog ICAgICB7CkBAIC01MiwxNiArNTIsMTcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2R3YXJmMnJlYWQuYwogICAgICAgIGNoaWxkX2RpZSA9IGRpZS0+Y2hpbGQ7CiAgICAgICAgd2hp bGUgKGNoaWxkX2RpZSAmJiBjaGlsZF9kaWUtPnRhZykKICAJeworIAkgIExPTkdFU1Qgb2Zmc2V0 OworIAogKwkgIC8qIENyZWF0ZSB0aGUgc3ltYm9sIGluIHRoZSBEV19UQUdfY29tbW9uX2Jsb2Nr IGJsb2NrIGluIHRoZSBjdXJyZW50CiArCSAgICAgc3ltYm9sIHNjb3BlLiAgKi8KICAJICBzeW0g PSBuZXdfc3ltYm9sIChjaGlsZF9kaWUsIE5VTEwsIGN1KTsKICsKICsJICAvKiBVbmRvY3VtZW50 ZWQgaW4gRFdBUkYzLCB3aGVuIGl0IGNhbiBiZSBwcmVzZW50PyAgKi8KLSAJICBhdHRyID0gZHdh cmYyX2F0dHIgKGNoaWxkX2RpZSwgRFdfQVRfZGF0YV9tZW1iZXJfbG9jYXRpb24sIGN1KTsKLSAJ ICBpZiAoc3ltICE9IE5VTEwgJiYgYXR0ciAhPSBOVUxMKQorIAkgIGlmIChzeW0gIT0gTlVMTAor IAkgICAgICAmJiBoYW5kbGVfZGF0YV9tZW1iZXJfbG9jYXRpb24gKGNoaWxkX2RpZSwgY3UsICZv ZmZzZXQpKQogIAkgICAgewotQEAgLTc2MjAsOCArNzY1MiwyNSBAQCByZWFkX2NvbW1vbl9ibG9j ayAoc3RydWN0IGRpZV9pbmZvICpkaWUsCi0gCSAgICAgIFNZTUJPTF9WQUxVRV9BRERSRVNTIChz eW0pID0gYmFzZSArIGJ5dGVfb2Zmc2V0OworIAkgICAgICBTWU1CT0xfVkFMVUVfQUREUkVTUyAo c3ltKSA9IGJhc2UgKyBvZmZzZXQ7CiAgCSAgICAgIGFkZF9zeW1ib2xfdG9fbGlzdCAoc3ltLCAm Z2xvYmFsX3N5bWJvbHMpOwogIAkgICAgfQogKwpAQCAtODYsNyArODcsNyBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICB9CiAgCi1AQCAtMTEy ODYsNiArMTEzMzUsMTMgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg cworQEAgLTExMzc2LDYgKzExNDI1LDEzIEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHMKICAJICAgIHsKICAJICAgICAgdmFyX2RlY29kZV9sb2NhdGlvbiAoYXR0ciwg c3ltLCBjdSk7CiAgCSAgICAgIGF0dHIyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfZXh0ZXJu YWwsIGN1KTsKQEAgLTEwMCw3ICsxMDEsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZHdhcmYycmVhZC5jCiAgCSAgICAgIGlmIChTWU1CT0xfQ0xBU1MgKHN5bSkgPT0gTE9DX1NU QVRJQwogIAkJICAmJiBTWU1CT0xfVkFMVUVfQUREUkVTUyAoc3ltKSA9PSAwCiAgCQkgICYmICFk d2FyZjJfcGVyX29iamZpbGUtPmhhc19zZWN0aW9uX2F0X3plcm8pCi1AQCAtMTE0NTgsNiArMTE1 MTQsMTEgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcworQEAgLTEx NTQ4LDYgKzExNjA0LDExIEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUs IHMKICAJICBTWU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0NfVFlQRURFRjsKICAJICBsaXN0X3RvX2Fk ZCA9ICZnbG9iYWxfc3ltYm9sczsKICAJICBicmVhazsKQEAgLTExMiwxMCArMTEzLDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAJZGVmYXVsdDoKICAJ ICAvKiBOb3QgYSB0YWcgd2UgcmVjb2duaXplLiAgSG9wZWZ1bGx5IHdlIGFyZW4ndCBwcm9jZXNz aW5nCiAgCSAgICAgdHJhc2ggZGF0YSwgYnV0IHNpbmNlIHdlIG11c3Qgc3BlY2lmaWNhbGx5IGln bm9yZSB0aGluZ3MKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLWxhbmcuYworSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLWxhbmcuYwkyMDExLTA0LTI5IDA5OjQxOjE1LjAw MDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtbGFuZy5jCTIwMTEt MDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5v cmlnL2dkYi9mLWxhbmcuYwkyMDExLTA1LTI1IDE3OjA2OjIyLjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5jCTIwMTEtMDUtMjUgMTc6MDc6MDIuMDAw MDAwMDAwICswMjAwCiBAQCAtNDQ2LDI3ICs0NDYsMyBAQCBfaW5pdGlhbGl6ZV9mX2xhbmd1YWdl ICh2b2lkKQogIAogICAgYWRkX2xhbmd1YWdlICgmZl9sYW5ndWFnZV9kZWZuKTsKQEAgLTE0NCwx MCArMTQ1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLWxhbmcuYwogLSAg ICB9CiAtICByZXR1cm4gKE5VTEwpOwogLX0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9mLWxhbmcuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTA0 LTI5IDA5OjQxOjE1LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2YtbGFuZy5oCTIwMTEtMDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTA1LTI1IDE3OjA2OjIyLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5oCTIwMTEtMDUt MjUgMTc6MDc6MDIuMDAwMDAwMDAwICswMjAwCiBAQCAtNTIsMzYgKzUyLDggQEAgZW51bSBmOTBf cmFuZ2VfdHlwZQogICAgICBOT05FX0JPVU5EX0RFRkFVTFQJCS8qICIobG93OmhpZ2gpIiAgKi8K ICAgIH07CkBAIC0xODUsMTAgKzE4NiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZi1sYW5nLmgKICAKICAvKiBXaGVuIHJlYXNvbmFibGUgYXJyYXkgYm91bmRzIGNhbm5vdCBi ZSBmZXRjaGVkLCBzdWNoIGFzIHdoZW4gCiAgICAgeW91IGFzayB0byAnbXQgcHJpbnQgc3ltYm9s cycgYW5kIHRoZXJlIGlzIG5vIHN0YWNrIGZyYW1lIGFuZCAKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9mLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9m LXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L2YtdmFscHJpbnQuYwkyMDExLTA0LTI5IDA5OjQxOjE1LjAwMDAwMDAwMCArMDIwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtdmFscHJpbnQuYwkyMDExLTA0LTI5IDA5OjQxOjIwLjAw MDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZi12YWxwcmlu dC5jCTIwMTEtMDUtMjUgMTc6MDY6MjIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvZi12YWxwcmludC5jCTIwMTEtMDUtMjUgMTc6MDc6MDIuMDAwMDAwMDAwICsw MjAwCiBAQCAtMzQsNiArMzQsOCBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUg ImNvbW1hbmQuaCIKQEAgLTM3MSwxMCArMzcyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9mLXZhbHByaW50LmMKICB9CiAgCiAgdm9pZAotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3N0YWNrLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFjay5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9zdGFjay5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvc3RhY2suYwkyMDExLTA0LTI5IDA5OjQxOjIwLjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvc3RhY2suYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0YWNrLmMJMjAxMS0w NS0yNSAxNzowNzowMi4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNTI1LDYgKzE1MjUsOCBAQCBpdGVy YXRlX292ZXJfYmxvY2tfbG9jYWxzIChzdHJ1Y3QgYmxvY2sgCiAgCWNhc2UgTE9DX0NPTVBVVEVE OgogIAkgIGlmIChTWU1CT0xfSVNfQVJHVU1FTlQgKHN5bSkpCkBAIC0zODQsMTAgKzM4NSwxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3RhY2suYwogIAkgICgqY2IpIChTWU1C T0xfUFJJTlRfTkFNRSAoc3ltKSwgc3ltLCBjYl9kYXRhKTsKICAJICBicmVhazsKICAKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3N5bXRhYi5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5bXRhYi5oCTIwMTEtMDQtMjkgMDk6NDI6MTcuMDAw MDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9zeW10YWIuaAky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMjUgMTc6MDc6MDIuMDAwMDAwMDAwICswMjAwCiBAQCAt NDExLDcgKzQxMSwxMCBAQCB0eXBlZGVmIGVudW0gZG9tYWluX2VudW1fdGFnCiAgICBUWVBFU19E T01BSU4sCiAgCkBAIC00MDAsMTAgKzQwMSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvc3ltdGFiLmgKICB9CiAgZG9tYWluX2VudW07CiAgCi1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJs b2NrLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9jb21tb24tYmxvY2suZXhwCTIwMTEtMDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Nv bW1vbi1ibG9jay5leHAJMjAxMS0wNS0yNSAxNzowNzowMi4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICsKQEAgLTUwNiwxMCArNTA3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAogK2dkYl90ZXN0ICJw IGl4X3giICIgPSAxICoiICJwIGl4X3ggaW4iCiArZ2RiX3Rlc3QgInAgaXlfeSIgIiA9IDIgKiIg InAgaXlfeSBpbiIKICtnZGJfdGVzdCAicCBpel96MiIgIiA9IDMgKiIgInAgaXpfejIgaW4iCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1v bi1ibG9jay5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vY29tbW9uLWJsb2NrLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZjkwCTIwMTEtMDQtMjkgMDk6 NDE6MjAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAJMjAxMS0wNS0yNSAxNzowNzowMi4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjcgQEAKICshIENvcHlyaWdodCAyMDA4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKCmRpZmYgLS1naXQgYS9nZGItb3B0aW0tZy1wcm9s b2d1ZS1za2lwLnBhdGNoIGIvZ2RiLW9wdGltLWctcHJvbG9ndWUtc2tpcC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRhYWIxMy4uMDAwMDAwMAotLS0gYS9nZGItb3B0aW0t Zy1wcm9sb2d1ZS1za2lwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODMwICswLDAgQEAKLWh0 dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDExLTA0L21zZzAwMjI5Lmh0bWwK LVN1YmplY3Q6IFtyZmMsIDcuMz9dIC1PMiAtZyBicmVha3BvaW50cyBpbnRlcm5hbCBlcnJvciAr IHByb2xvZ3VlIHNraXBwaW5nCi0KLVsgQmFja3BvcnRlZC4gIF0KLQotSGksCi0KLW9ic29sZXRl cyBteToKLQlbcGF0Y2hdIEZpeCBpbnRlcm5hbCBlcnJvciBvbiBzb21lIC1PMiAtZyBicmVha3Bv aW50cwotCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEwLTA3L21zZzAw NTMzLmh0bWwKLWFuZCBJTU8gYWxzbyBQYXVsJ3M6Ci0JW3BhdGNoXSBGaXggZm9yIFBSIGdkYi8x MjU3MwotCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDExLTAzL21zZzAw ODgzLmh0bWwKLWl0IGlzIGFuIGltcHJvdmVtZW50IG9mOgotCVtwYXRjaF0gRG8gbm90IHNraXAg cHJvbG9ndWUgZm9yIC1PMiAtZyB3aXRoIEdDQyBWVEEgUmU6IFtwYXRjaF0gRml4IGZvciBQUiBn ZGIvMTI1NzMKLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wMy9t c2cwMTEyOS5odG1sCi0KLUp1c3QgdGhlIHJlbW92YWwgb2YgZ2RiX2Fzc2VydCBtYXkgcGxhY2Ug dGhlIGJyZWFrcG9pbnRzIG9uIC1PMiAtZyBjb2RlIHRvbwotbGF0ZS4gIElNTyBvbiBgKGdkYikg YnJlYWsgQmFyOjpCYXInIG5vIHJlYWwgaW5mZXJpb3IgbW9kaWZpY2F0aW9uIHNob3VsZAotaGFw cGVuIHdoaWxlIHdpdGggdGhlIFBhdWwncyByZXByb2R1Y2VyIGluIHRoZSBQUiB0aGUgYGZyZWUo bWFsbG9jKDEpKTsnIGxpbmUKLWlzIGFscmVhZHkgZXhlY3V0ZWQgd2hlbiBHREIgc3RvcHMuICBU aGlzIG92ZXItZXhlY3V0aW9uIGlzIHRlc3RlZCBpbiB0aGUKLWF0dGFjaGVkIGFydGlmaWNpYWwg cmVwcm9kdWNlciBieSB0aGUgdGVzdGNhc2UgIm5vIHN0YXRlbWVudCBnb3QgZXhlY3V0ZWQiLgot Ci1UaGVyZSBhcmUgc2V2ZXJhbCBpc3N1ZXMgb2YgdGhpcyBwYXRjaDoKLQotIzEgVGhlIHR3by1w YXNzIGNvbXBsaWNhdGVkIGV4ZWN1dGlvbiBpbiBza2lwX3Byb2xvZ3VlX3NhbCBjdXJyZW50bHkg aGFzIG5vCi1lZmZlY3QgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgZGVwZW5kaW5nIG9uIGl0IGRvZXMg bm90IHdvcmsgbm93LiAgQnV0IHRoYXQgaXMKLWEgc2VwYXJhdGUgbmV3IEJ1ZyBhbmQgdGhlIHR3 byBwYXNzZXMgd2lsbCBiZSBuZWVkZWQgYWZ0ZXIgaXRzIGZpeDoKLQlyZWdyZXNzaW9uIGJ5IHBo eXNuYW1lOiBQRTMyIHByb2xvZ3VlIHNraXAgdnMuIHN0YXRpYyBpbml0aWFsaXplcnMKLQlodHRw Oi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEyNjgwCi0KLSMyIEEg Y29uc2VydmF0aXZlIGFwcHJvYWNoIGhhcyBiZWVuIHRha2VuLiAgVGhlIHByb2JsZW1hdGljIHBy b2xvZ3VlIHNraXBwaW5nCi1pcyBkaXNhYmxlZCBvbmx5IGlmIC5kZWJ1Z19sb2MgcmVmZXJlbmNl IGlzIGZvdW5kIHdoaWNoIHByb3ZlcyAtTzIgKHdpdGggLWcpLgotICAgICBUaGlzIHRlc3QgaXMg aW1wZXJmZWN0IGFzIHRoZXJlIG1heSBleGlzdCBvcHRpbWl6ZWQgZGVidWcgY29kZSBub3QgdXNp bmcgCi0gICAgIGFueSBsb2NhdGlvbiBsaXN0IGFuZCBzdGlsbCBmYWNpbmcgaW5saW5pbmcgaXNz dWVzIGlmIGhhbmRsZWQgYXMKLSAgICAgdW5vcHRpbWl6ZWQgY29kZS4gIEZvciBhIGZ1dHVyZSBi ZXR0ZXIgdGVzdCBzZWUgR0NDIFBSIG90aGVyLzMyOTk4LgotICAgICBHQ0MgUFIgb3RoZXIvMzI5 OTggPSAtZnJlY29yZC1nY2Mtc3dpdGNoZXMgaXNzdWVzLCBTdGF0dXM6IE5FVwotVGhlIG9wcG9z aXRlIG9wdGlvbiB3b3VsZCBiZSB0byBrZWVwIHRoZSBwcm9sb2d1ZSBza2lwcGluZyBlbmFibGVk IG9ubHkgaWYKLXRoZXJlIGlzIGFueSBEV19BVF9sb2NhdGlvbihEV19PUF9mYnJlZyh4KSkuICBJ IGhhdmVuJ3QgdGVzdGVkIHRoaXMgd2F5LCBpdAotc2VlbXMgdmVyeSBpbnRydXNpdmUgdG8gbWUu ICBJbiBwcmFjdGljZSBJIGRvdWJ0IHRoZXJlIHdpbGwgYmUgYSByZWFsIHdvcmxkCi1jYXNlIG9m IC1PMiAtZyBDVSBub3QgcmVmZXJlbmNpbmcgLmRlYnVnX2xvYyAtIHN1Y2ggYXMgaWYgYWxsIGl0 cyBjb2RlIGFjY2Vzc2VzCi1vbmx5IGdsb2JhbCB2YXJpYWJsZXMgYW5kIGhhcyBubyBsb2NhbCB2 YXJpYWJsZXMuICBKdXN0IHRoZSB0ZXN0Y2FzZSBvcmlnaW5hbGx5Ci13YXMgc3VjaCBhIGNvdW50 ZXJjYXNlIENVLiA6LS8gIFRoZSBHREIgaW50ZXJuYWwgZXJyb3IgaXMga2VwdCBpbiBwbGFjZSBh cyBpdAotc3RpbGwgY2FuIGhhcHBlbiBpbiBzdWNoIGNhc2UsIHRoaXMgcHJvYmxlbSBpcyBub3Qg eWV0IGZ1bGx5IGZpeGVkLgotCi0jMyBXaGV0aGVyIGEgLmRlYnVnX2xvYyByZWZlcmVuY2UgbWF5 IGJlIHByZXNlbnQgd2l0aCBzdGlsbCBpbnZhbGlkCi1EV19BVF9sb2NhdGlvbiBiZWZvcmUgcHJv bG9ndWUgSSBkbyBub3Qga25vdywgaXQgZG9lcyBub3Qgc2VlbSB0byBoYXBwZW4gZm9yCi1HQ0Mu ICBUaGVyZSBpcyBjdXJyZW50bHkgbm8gRFdfQVRfcHJvZHVjZXIgY2hlY2suICBFdmVuIGJlZm9y ZSBWVEEgKFZhcmlhYmxlCi1UcmFja2luZyBBc3NpZ25tZW50cywgc2luY2UgRlNGIEdDQyA0LjUs IC1PMiAtZyB2YXJpYWJsZXMgRFdfQVRfbG9jYXRpb24KLWltcHJvdmVtZW50KSBpdCBzZWVtcyB0 byBtZSB0aGUgdmFsaWRpdHkgYXQgZnVuY3Rpb24gZW50cnkgcG9pbnQgd29ya2VkIHdlbGwKLWVu b3VnaC4KLQotIzQgVGhpcyB3aG9sZSBwcm9ibGVtcyBhcHBlYXJzIG9ubHkgd2l0aCBpbnZvbHZl bWVudCBvZiBpbmxpbmVkIGNvZGUsIGVpdGhlcgotZXhwbGljaXRseSBvciBpbXBsaWNpdGx5LiAg QnV0IEdEQiBkb2VzIG5vdCBzdXBwb3J0IGlubGluZWQgY29kZSBicmVha3BvaW50cwotd2VsbCAo UFIgYnJlYWtwb2ludHMvMTA3MzgsIFJIIEJaIzE0OTEyNSkuICBXaGVuIG9uZSBwbGF5cyB3aXRo IHRlc3RpbmcgdGhpcwotcGF0Y2ggdmFyaW91cyBzdWl0YWJsZSBicmVha3BvaW50cyBhcmUgbm90 IHBsYWNlZCBidXQgQUZBSUsgYWxsIG9mIHRoZW0gYXJlIGluCi10aGUgc2NvcGUgb2YgdGhlIFBS IDEwNzM4LgotCi0jNSBJZiBmdW5jdGlvbiBkb2VzIG5vdCBzdGFydCBpcyBub3Qgb24gYSBsaW5l IGJvdW5kYXJ5IHRoZSBtdWx0aS1sb2NhdGlvbgotYnJlYWtwb2ludHMgYXJlIGFscmVhZHkgbm90 IGZvdW5kIHByb3Blcmx5IGFuZCBldmVyeXRoaW5nIGZhaWxzLiAgSSBkbyBub3QKLXRoaW5rIGl0 IGNhbiBldmVyIGhhcHBlbiBpbiByZWFsIHdvcmxkLiAgRXZlbiBmb3IgYSBzaW5nZS1saW5lIGNv ZGUKLSAgICB2b2lkIGYgKHZvaWQpIHt9IHZvaWQgZyAodm9pZCkge30KLUdDQyBwbGFjZXMgdGhl cmUgbXVsdGlwbGUgbGluZSBtYXJrZXJzIC0gLU8yIC1nLCBkdXBsaWNpdHkgaXMgZm9yIHByb2xv Z3VlczoKLUZpbGUgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lIG51bWJlciAg ICBTdGFydGluZyBhZGRyZXNzCi0xLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgMAotMS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgIDAKLTEuYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAweDEw Ci0xLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAg ICAgICAgICAgMHgxMAotCi0KLVdoZXRoZXIgdGhpcyBzaG91bGQgZ28gZm9yIDcuMyBJIGFtIG5v dCBzdXJlLiAgVGhlIHNpbXBsZSByZW1vdmFsIG9mCi1nZGJfYXNzZXJ0IGxvb2tzIG5pY2UsIEdE QiBkb2VzIG5vdCBjcmFzaC4gQnV0IEdEQiBiZWhhdmVzIHdyb25nIGFuZCBgYnJlYWsKLWZ1bmMn IG1heSBub3Qgc3RvcCBiZWZvcmUgYSBjcmFzaCB0aGVyZSBhdCBhbGwgZXRjLgotCi1ObyByZWdy ZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0tZmVkb3JhMTUtbGludXgtZ251Lgot Ci1JIHdpbGwgdG8gY29tbWl0IGl0IHdpdGhvdXQgYW55IHJldmlldy9kaXNjdXNzaW9uLgotCi0K LVRoYW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTEtMDQtMTUgIEphbiBLcmF0b2NodmlsICA8amFu LmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSogZHdhcmYycmVhZC5jIChzdHJ1Y3QgZHdhcmYy X2N1KTogTmV3IGZpZWxkIGhhc19sb2NsaXN0LgotCShwcm9jZXNzX2Z1bGxfY29tcF91bml0KTog U2V0IGFsc28gc3ltdGFiLT5sb2NhdGlvbnNfdmFsaWQuICBNb3ZlIHRoZQotCXN5bXRhYi0+bGFu Z3VhZ2UgY29kZS4KLQkodmFyX2RlY29kZV9sb2NhdGlvbik6IFNldCBjdS0+aGFzX2xvY2xpc3Qu Ci0JKiBzeW10YWIuYyAoc2tpcF9wcm9sb2d1ZV9zYWwpOiBOZXcgdmFyaWFibGVzIHNhdmVkX3Bj LCBmb3JjZV9za2lwIGFuZAotCXNraXAuICBJbnRpYWxpemUgZm9yY2Vfc2tpcCBmcm9tIGxvY2F0 aW9uc192YWxpZC4gIE1vdmUgdGhlIHByb2xvZ3VlCi0Jc2tpcHBpbmcgY29kZSBpbnRvIHR3byBw YXNzZXMuCi0JKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYik6IE1ha2UgdGhlIHByaW1hcnkgZmll bGQgYSBiaXRmaWVsZC4gIE5ldwotCWZpZWxkIGxvY2F0aW9uc192YWxpZC4KLQotZ2RiL3Rlc3Rz dWl0ZS8KLTIwMTEtMDQtMTUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KLQotCSogZ2RiLmR3YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5TOiBOZXcgZmlsZS4KLQkq IGdkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuYzogTmV3IGZpbGUuCi0JKiBnZGIuZHdhcmYy L2R3Mi1za2lwLXByb2xvZ3VlLmV4cDogTmV3IGZpbGUuCi0KLS0tLSBhL2dkYi9kd2FyZjJyZWFk LmMKLSsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0zOTYsNiArMzk2LDEzIEBAIHN0cnVjdCBk d2FyZjJfY3UKLSAgICAgIERJRXMgZm9yIG5hbWVzcGFjZXMsIHdlIGRvbid0IG5lZWQgdG8gdHJ5 IHRvIGluZmVyIHRoZW0KLSAgICAgIGZyb20gbWFuZ2xlZCBuYW1lcy4gICovCi0gICB1bnNpZ25l ZCBpbnQgaGFzX25hbWVzcGFjZV9pbmZvIDogMTsKLSsKLSsgIC8qIFRoaXMgQ1UgcmVmZXJlbmNl cyAuZGVidWdfbG9jLiAgU2VlIHRoZSBzeW10YWItPmxvY2F0aW9uc192YWxpZCBmaWVsZC4KLSsg ICAgIFRoaXMgdGVzdCBpcyBpbXBlcmZlY3QgYXMgdGhlcmUgbWF5IGV4aXN0IG9wdGltaXplZCBk ZWJ1ZyBjb2RlIG5vdCB1c2luZwotKyAgICAgYW55IGxvY2F0aW9uIGxpc3QgYW5kIHN0aWxsIGZh Y2luZyBpbmxpbmluZyBpc3N1ZXMgaWYgaGFuZGxlZCBhcwotKyAgICAgdW5vcHRpbWl6ZWQgY29k ZS4gIEZvciBhIGZ1dHVyZSBiZXR0ZXIgdGVzdCBzZWUgR0NDIFBSIG90aGVyLzMyOTk4LiAgKi8K LSsKLSsgIHVuc2lnbmVkIGludCBoYXNfbG9jbGlzdCA6IDE7Ci0gfTsKLSAKLSAvKiBQZXJzaXN0 ZW50IGRhdGEgaGVsZCBmb3IgYSBjb21waWxhdGlvbiB1bml0LCBldmVuIHdoZW4gbm90Ci1AQCAt NDY1NCwxMyArNDY2MSwxNSBAQCBwcm9jZXNzX2Z1bGxfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYy X3Blcl9jdV9kYXRhICpwZXJfY3UpCi0gCi0gICBzeW10YWIgPSBlbmRfc3ltdGFiIChoaWdocGMg KyBiYXNlYWRkciwgb2JqZmlsZSwgU0VDVF9PRkZfVEVYVCAob2JqZmlsZSkpOwotIAotLSAgLyog U2V0IHN5bXRhYiBsYW5ndWFnZSB0byBsYW5ndWFnZSBmcm9tIERXX0FUX2xhbmd1YWdlLgotLSAg ICAgSWYgdGhlIGNvbXBpbGF0aW9uIGlzIGZyb20gYSBDIGZpbGUgZ2VuZXJhdGVkIGJ5IGxhbmd1 YWdlIHByZXByb2Nlc3NvcnMsCi0tICAgICBkbyBub3Qgc2V0IHRoZSBsYW5ndWFnZSBpZiBpdCB3 YXMgYWxyZWFkeSBkZWR1Y2VkIGJ5IHN0YXJ0X3N1YmZpbGUuICAqLwotLSAgaWYgKHN5bXRhYiAh PSBOVUxMCi0tICAgICAgJiYgIShjdS0+bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfYyAmJiBzeW10YWIt Pmxhbmd1YWdlICE9IGxhbmd1YWdlX2MpKQotKyAgaWYgKHN5bXRhYiAhPSBOVUxMKQotICAgICB7 Ci0tICAgICAgc3ltdGFiLT5sYW5ndWFnZSA9IGN1LT5sYW5ndWFnZTsKLSsgICAgICAvKiBTZXQg c3ltdGFiIGxhbmd1YWdlIHRvIGxhbmd1YWdlIGZyb20gRFdfQVRfbGFuZ3VhZ2UuICBJZiB0aGUK LSsJIGNvbXBpbGF0aW9uIGlzIGZyb20gYSBDIGZpbGUgZ2VuZXJhdGVkIGJ5IGxhbmd1YWdlIHBy ZXByb2Nlc3NvcnMsIGRvCi0rCSBub3Qgc2V0IHRoZSBsYW5ndWFnZSBpZiBpdCB3YXMgYWxyZWFk eSBkZWR1Y2VkIGJ5IHN0YXJ0X3N1YmZpbGUuICAqLwotKyAgICAgIGlmICghKGN1LT5sYW5ndWFn ZSA9PSBsYW5ndWFnZV9jICYmIHN5bXRhYi0+bGFuZ3VhZ2UgIT0gbGFuZ3VhZ2VfYykpCi0rCXN5 bXRhYi0+bGFuZ3VhZ2UgPSBjdS0+bGFuZ3VhZ2U7Ci0rCi0rICAgICAgc3ltdGFiLT5sb2NhdGlv bnNfdmFsaWQgPSBjdS0+aGFzX2xvY2xpc3Q7Ci0gICAgIH0KLSAKLSAgIGlmIChkd2FyZjJfcGVy X29iamZpbGUtPnVzaW5nX2luZGV4KQotQEAgLTExMjIxLDYgKzExMjMwLDkgQEAgdmFyX2RlY29k ZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYQotIAotICAgU1lNQk9MX0NMQVNTIChzeW0p ID0gTE9DX0NPTVBVVEVEOwotICAgZHdhcmYyX3N5bWJvbF9tYXJrX2NvbXB1dGVkIChhdHRyLCBz eW0sIGN1KTsKLSsKLSsgIGlmIChTWU1CT0xfQ09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJf bG9jbGlzdF9mdW5jcykKLSsgICAgY3UtPmhhc19sb2NsaXN0ID0gMTsKLSB9Ci0gCi0gLyogR2l2 ZW4gYSBwb2ludGVyIHRvIGEgRFdBUkYgaW5mb3JtYXRpb24gZW50cnksIGZpZ3VyZSBvdXQgaWYg d2UgbmVlZAotLS0tIGEvZ2RiL3N5bXRhYi5jCi0rKysgYi9nZGIvc3ltdGFiLmMKLUBAIC0yNDU0 LDEyICsyNDU0LDEzIEBAIHNraXBfcHJvbG9ndWVfc2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5l ICpzYWwpCi0gICBzdHJ1Y3Qgc3ltYm9sICpzeW07Ci0gICBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5l IHN0YXJ0X3NhbDsKLSAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW47Ci0tICBDT1JFX0FERFIg cGM7Ci0rICBDT1JFX0FERFIgcGMsIHNhdmVkX3BjOwotICAgc3RydWN0IG9ial9zZWN0aW9uICpz ZWN0aW9uOwotICAgY29uc3QgY2hhciAqbmFtZTsKLSAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxl OwotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7Ci0gICBzdHJ1Y3QgYmxvY2sgKmIsICpmdW5j dGlvbl9ibG9jazsKLSsgIGludCBmb3JjZV9za2lwLCBza2lwOwotIAotICAgLyogRG8gbm90IGNo YW5nZSB0aGUgU0FMIGlzIFBDIHdhcyBzcGVjaWZpZWQgZXhwbGljaXRseS4gICovCi0gICBpZiAo c2FsLT5leHBsaWNpdF9wYykKLUBAIC0yNDk3LDQ2ICsyNDk4LDY5IEBAIHNraXBfcHJvbG9ndWVf c2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lICpzYWwpCi0gCi0gICBnZGJhcmNoID0gZ2V0X29i amZpbGVfYXJjaCAob2JqZmlsZSk7Ci0gCi0tICAvKiBJZiB0aGUgZnVuY3Rpb24gaXMgaW4gYW4g dW5tYXBwZWQgb3ZlcmxheSwgdXNlIGl0cyB1bm1hcHBlZCBMTUEgYWRkcmVzcywKLS0gICAgIHNv IHRoYXQgZ2RiYXJjaF9za2lwX3Byb2xvZ3VlIGhhcyBzb21ldGhpbmcgdW5pcXVlIHRvIHdvcmsg b24uICAqLwotLSAgaWYgKHNlY3Rpb25faXNfb3ZlcmxheSAoc2VjdGlvbikgJiYgIXNlY3Rpb25f aXNfbWFwcGVkIChzZWN0aW9uKSkKLS0gICAgcGMgPSBvdmVybGF5X3VubWFwcGVkX2FkZHJlc3Mg KHBjLCBzZWN0aW9uKTsKLSsgIC8qIFByb2Nlc3MgdGhlIHByb2xvZ3VlIGluIHR3byBwYXNzZXMu ICBJbiB0aGUgZmlyc3QgcGFzcyB0cnkgdG8gc2tpcCB0aGUKLSsgICAgIHByb2xvZ3VlIChTS0lQ IGlzIHRydWUpIGFuZCB2ZXJpZnkgdGhlcmUgaXMgYSByZWFsIG5lZWQgZm9yIGl0IChpbmRpY2F0 ZWQKLSsgICAgIGJ5IEZPUkNFX1NLSVApLiAgSWYgbm8gc3VjaCByZWFzb24gd2FzIGZvdW5kIHJ1 biBhIHNlY29uZCBwYXNzIHdoZXJlIHRoZQotKyAgICAgcHJvbG9ndWUgaXMgbm90IHNraXBwZWQg KFNLSVAgaXMgZmFsc2UpLiAgKi8KLSAKLS0gIC8qIFNraXAgImZpcnN0IGxpbmUiIG9mIGZ1bmN0 aW9uICh3aGljaCBpcyBhY3R1YWxseSBpdHMgcHJvbG9ndWUpLiAgKi8KLS0gIHBjICs9IGdkYmFy Y2hfZGVwcmVjYXRlZF9mdW5jdGlvbl9zdGFydF9vZmZzZXQgKGdkYmFyY2gpOwotLSAgcGMgPSBn ZGJhcmNoX3NraXBfcHJvbG9ndWUgKGdkYmFyY2gsIHBjKTsKLSsgIHNraXAgPSAxOwotKyAgZm9y Y2Vfc2tpcCA9IDE7Ci0gCi0tICAvKiBGb3Igb3ZlcmxheXMsIG1hcCBwYyBiYWNrIGludG8gaXRz IG1hcHBlZCBWTUEgcmFuZ2UuICAqLwotLSAgcGMgPSBvdmVybGF5X21hcHBlZF9hZGRyZXNzIChw Yywgc2VjdGlvbik7Ci0rICAvKiBCZSBjb25zZXJ2YXRpdmUgLSBhbGxvdyBkaXJlY3QgUEMgKHdp dGhvdXQgc2tpcHBpbmcgcHJvbG9ndWUpIG9ubHkgaWYgd2UKLSsgICAgIGhhdmUgcHJvdmVuIHRo ZSBDVSAoQ29tcGlsYXRpb24gVW5pdCkgc3VwcG9ydHMgaXQuICBzYWwtPlNZTVRBQiBkb2VzIG5v dAotKyAgICAgaGF2ZSB0byBiZSBzZXQgYnkgdGhlIGNhbGxlciBzbyB3ZSB1c2UgU1lNIGluc3Rl YWQuICAqLwotKyAgaWYgKHN5bSAmJiBTWU1CT0xfU1lNVEFCIChzeW0pLT5sb2NhdGlvbnNfdmFs aWQpCi0rICAgIGZvcmNlX3NraXAgPSAwOwotIAotLSAgLyogQ2FsY3VsYXRlIGxpbmUgbnVtYmVy LiAgKi8KLS0gIHN0YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChwYywgc2VjdGlvbiwgMCk7 Ci0tCi0tICAvKiBDaGVjayBpZiBnZGJhcmNoX3NraXBfcHJvbG9ndWUgbGVmdCB1cyBpbiBtaWQt bGluZSwgYW5kIHRoZSBuZXh0Ci0tICAgICBsaW5lIGlzIHN0aWxsIHBhcnQgb2YgdGhlIHNhbWUg ZnVuY3Rpb24uICAqLwotLSAgaWYgKHN0YXJ0X3NhbC5wYyAhPSBwYwotLSAgICAgICYmIChzeW0/ IChCTE9DS19TVEFSVCAoU1lNQk9MX0JMT0NLX1ZBTFVFIChzeW0pKSA8PSBzdGFydF9zYWwuZW5k Ci0tCSAgICAgICAgJiYgc3RhcnRfc2FsLmVuZCA8IEJMT0NLX0VORCAoU1lNQk9MX0JMT0NLX1ZB TFVFIChzeW0pKSkKLS0gICAgICAgICAgOiAobG9va3VwX21pbmltYWxfc3ltYm9sX2J5X3BjX3Nl Y3Rpb24gKHN0YXJ0X3NhbC5lbmQsIHNlY3Rpb24pCi0tICAgICAgICAgICAgID09IGxvb2t1cF9t aW5pbWFsX3N5bWJvbF9ieV9wY19zZWN0aW9uIChwYywgc2VjdGlvbikpKSkKLSsgIHNhdmVkX3Bj ID0gcGM7Ci0rICBkbwotICAgICB7Ci0tICAgICAgLyogRmlyc3QgcGMgb2YgbmV4dCBsaW5lICov Ci0tICAgICAgcGMgPSBzdGFydF9zYWwuZW5kOwotLSAgICAgIC8qIFJlY2FsY3VsYXRlIHRoZSBs aW5lIG51bWJlciAobWlnaHQgbm90IGJlIE4rMSkuICAqLwotLSAgICAgIHN0YXJ0X3NhbCA9IGZp bmRfcGNfc2VjdF9saW5lIChwYywgc2VjdGlvbiwgMCk7Ci0tICAgIH0KLSsgICAgICBwYyA9IHNh dmVkX3BjOwotIAotLSAgLyogT24gdGFyZ2V0cyB3aXRoIGV4ZWN1dGFibGUgZm9ybWF0cyB0aGF0 IGRvbid0IGhhdmUgYSBjb25jZXB0IG9mCi0tICAgICBjb25zdHJ1Y3RvcnMgKEVMRiB3aXRoIC5p bml0IGhhcywgUEUgZG9lc24ndCksIGdjYyBlbWl0cyBhIGNhbGwKLS0gICAgIHRvIGBfX21haW4n IGluIGBtYWluJyBiZXR3ZWVuIHRoZSBwcm9sb2d1ZSBhbmQgYmVmb3JlIHVzZXIKLS0gICAgIGNv ZGUuICAqLwotLSAgaWYgKGdkYmFyY2hfc2tpcF9tYWluX3Byb2xvZ3VlX3AgKGdkYmFyY2gpCi0t ICAgICAgJiYgbmFtZSAmJiBzdHJjbXAgKG5hbWUsICJtYWluIikgPT0gMCkKLS0gICAgewotLSAg ICAgIHBjID0gZ2RiYXJjaF9za2lwX21haW5fcHJvbG9ndWUgKGdkYmFyY2gsIHBjKTsKLS0gICAg ICAvKiBSZWNhbGN1bGF0ZSB0aGUgbGluZSBudW1iZXIgKG1pZ2h0IG5vdCBiZSBOKzEpLiAgKi8K LSsgICAgICAvKiBJZiB0aGUgZnVuY3Rpb24gaXMgaW4gYW4gdW5tYXBwZWQgb3ZlcmxheSwgdXNl IGl0cyB1bm1hcHBlZCBMTUEgYWRkcmVzcywKLSsJIHNvIHRoYXQgZ2RiYXJjaF9za2lwX3Byb2xv Z3VlIGhhcyBzb21ldGhpbmcgdW5pcXVlIHRvIHdvcmsgb24uICAqLwotKyAgICAgIGlmIChzZWN0 aW9uX2lzX292ZXJsYXkgKHNlY3Rpb24pICYmICFzZWN0aW9uX2lzX21hcHBlZCAoc2VjdGlvbikp Ci0rCXBjID0gb3ZlcmxheV91bm1hcHBlZF9hZGRyZXNzIChwYywgc2VjdGlvbik7Ci0rCi0rICAg ICAgLyogU2tpcCAiZmlyc3QgbGluZSIgb2YgZnVuY3Rpb24gKHdoaWNoIGlzIGFjdHVhbGx5IGl0 cyBwcm9sb2d1ZSkuICAqLwotKyAgICAgIHBjICs9IGdkYmFyY2hfZGVwcmVjYXRlZF9mdW5jdGlv bl9zdGFydF9vZmZzZXQgKGdkYmFyY2gpOwotKyAgICAgIGlmIChza2lwKQotKwlwYyA9IGdkYmFy Y2hfc2tpcF9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMpOwotKwotKyAgICAgIC8qIEZvciBvdmVybGF5 cywgbWFwIHBjIGJhY2sgaW50byBpdHMgbWFwcGVkIFZNQSByYW5nZS4gICovCi0rICAgICAgcGMg PSBvdmVybGF5X21hcHBlZF9hZGRyZXNzIChwYywgc2VjdGlvbik7Ci0rCi0rICAgICAgLyogQ2Fs Y3VsYXRlIGxpbmUgbnVtYmVyLiAgKi8KLSAgICAgICBzdGFydF9zYWwgPSBmaW5kX3BjX3NlY3Rf bGluZSAocGMsIHNlY3Rpb24sIDApOwotKwotKyAgICAgIC8qIENoZWNrIGlmIGdkYmFyY2hfc2tp cF9wcm9sb2d1ZSBsZWZ0IHVzIGluIG1pZC1saW5lLCBhbmQgdGhlIG5leHQKLSsJIGxpbmUgaXMg c3RpbGwgcGFydCBvZiB0aGUgc2FtZSBmdW5jdGlvbi4gICovCi0rICAgICAgaWYgKHNraXAgJiYg c3RhcnRfc2FsLnBjICE9IHBjCi0rCSAgJiYgKHN5bT8gKEJMT0NLX1NUQVJUIChTWU1CT0xfQkxP Q0tfVkFMVUUgKHN5bSkpIDw9IHN0YXJ0X3NhbC5lbmQKLSsJCSAgICAmJiBzdGFydF9zYWwuZW5k IDwgQkxPQ0tfRU5EIChTWU1CT0xfQkxPQ0tfVkFMVUUgKHN5bSkpKQotKwkgICAgICA6IChsb29r dXBfbWluaW1hbF9zeW1ib2xfYnlfcGNfc2VjdGlvbiAoc3RhcnRfc2FsLmVuZCwgc2VjdGlvbikK LSsJCSA9PSBsb29rdXBfbWluaW1hbF9zeW1ib2xfYnlfcGNfc2VjdGlvbiAocGMsIHNlY3Rpb24p KSkpCi0rCXsKLSsJICAvKiBGaXJzdCBwYyBvZiBuZXh0IGxpbmUgKi8KLSsJICBwYyA9IHN0YXJ0 X3NhbC5lbmQ7Ci0rCSAgLyogUmVjYWxjdWxhdGUgdGhlIGxpbmUgbnVtYmVyIChtaWdodCBub3Qg YmUgTisxKS4gICovCi0rCSAgc3RhcnRfc2FsID0gZmluZF9wY19zZWN0X2xpbmUgKHBjLCBzZWN0 aW9uLCAwKTsKLSsJfQotKwotKyAgICAgIC8qIE9uIHRhcmdldHMgd2l0aCBleGVjdXRhYmxlIGZv cm1hdHMgdGhhdCBkb24ndCBoYXZlIGEgY29uY2VwdCBvZgotKwkgY29uc3RydWN0b3JzIChFTEYg d2l0aCAuaW5pdCBoYXMsIFBFIGRvZXNuJ3QpLCBnY2MgZW1pdHMgYSBjYWxsCi0rCSB0byBgX19t YWluJyBpbiBgbWFpbicgYmV0d2VlbiB0aGUgcHJvbG9ndWUgYW5kIGJlZm9yZSB1c2VyCi0rCSBj b2RlLiAgKi8KLSsgICAgICBpZiAoZ2RiYXJjaF9za2lwX21haW5fcHJvbG9ndWVfcCAoZ2RiYXJj aCkKLSsJICAmJiBuYW1lICYmIHN0cmNtcCAobmFtZSwgIm1haW4iKSA9PSAwKQotKwl7Ci0rCSAg cGMgPSBnZGJhcmNoX3NraXBfbWFpbl9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMpOwotKwkgIC8qIFJl Y2FsY3VsYXRlIHRoZSBsaW5lIG51bWJlciAobWlnaHQgbm90IGJlIE4rMSkuICAqLwotKwkgIHN0 YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChwYywgc2VjdGlvbiwgMCk7Ci0rCSAgZm9yY2Vf c2tpcCA9IDE7Ci0rCX0KLSAgICAgfQotKyAgd2hpbGUgKCFmb3JjZV9za2lwICYmIHNraXAtLSk7 Ci0gCi0gICAvKiBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGEgdmFsaWQgc291cmNlIGxpbmUsIHRy eSB0byBmaW5kIHRoZSBmaXJzdAotICAgICAgUEMgaW4gdGhlIGxpbmVpbmZvIHRhYmxlIHRoYXQg YmVsb25ncyB0byB0aGUgc2FtZSBmdW5jdGlvbi4gIFRoaXMKLUBAIC0yNTQ2LDcgKzI1NzAsNyBA QCBza2lwX3Byb2xvZ3VlX3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKQotICAgICAg dGhlIGNhc2Ugd2l0aCB0aGUgREpHUFAgdGFyZ2V0IHVzaW5nICJnY2MgLWdjb2ZmIiB3aGVuIHRo ZQotICAgICAgY29tcGlsZXIgaW5zZXJ0ZWQgY29kZSBhZnRlciB0aGUgcHJvbG9ndWUgdG8gbWFr ZSBzdXJlIHRoZSBzdGFjawotICAgICAgaXMgYWxpZ25lZC4gICovCi0tICBpZiAoc3ltICYmIHN0 YXJ0X3NhbC5zeW10YWIgPT0gTlVMTCkKLSsgIGlmICghZm9yY2Vfc2tpcCAmJiBzeW0gJiYgc3Rh cnRfc2FsLnN5bXRhYiA9PSBOVUxMKQotICAgICB7Ci0gICAgICAgcGMgPSBza2lwX3Byb2xvZ3Vl X3VzaW5nX2xpbmVpbmZvIChwYywgU1lNQk9MX1NZTVRBQiAoc3ltKSk7Ci0gICAgICAgLyogUmVj YWxjdWxhdGUgdGhlIGxpbmUgbnVtYmVyLiAgKi8KLS0tLSBhL2dkYi9zeW10YWIuaAotKysrIGIv Z2RiL3N5bXRhYi5oCi1AQCAtNzY3LDcgKzc2NywxMyBAQCBzdHJ1Y3Qgc3ltdGFiCi0gICAgICBz aG91bGQgYmUgZGVzaWduYXRlZCB0aGUgcHJpbWFyeSwgc28gdGhhdCB0aGUgYmxvY2t2ZWN0b3IK LSAgICAgIGlzIHJlbG9jYXRlZCBleGFjdGx5IG9uY2UgYnkgb2JqZmlsZV9yZWxvY2F0ZS4gICov Ci0gCi0tICBpbnQgcHJpbWFyeTsKLSsgIHVuc2lnbmVkIGludCBwcmltYXJ5IDogMTsKLSsKLSsg IC8qIFN5bXRhYiBoYXMgYmVlbiBjb21waWxlZCB3aXRoIGJvdGggb3B0aW1pemF0aW9ucyBhbmQg ZGVidWcgaW5mbyBzbyB0aGF0Ci0rICAgICBHREIgbWF5IHN0b3Agc2tpcHBpbmcgcHJvbG9ndWVz IGFzIHZhcmlhYmxlcyBsb2NhdGlvbnMgYXJlIHZhbGlkIGFscmVhZHkKLSsgICAgIGF0IGZ1bmN0 aW9uIGVudHJ5IHBvaW50cy4gICovCi0rCi0rICB1bnNpZ25lZCBpbnQgbG9jYXRpb25zX3ZhbGlk IDogMTsKLSAKLSAgIC8qIFRoZSBtYWNybyB0YWJsZSBmb3IgdGhpcyBzeW10YWIuICBMaWtlIHRo ZSBibG9ja3ZlY3RvciwgdGhpcwotICAgICAgbWF5IGJlIHNoYXJlZCBiZXR3ZWVuIGRpZmZlcmVu dCBzeW10YWJzIC0tLSBhbmQgbm9ybWFsbHkgaXMgZm9yCi0tLS0gL2Rldi9udWxsCi0rKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuUwotQEAgLTAsMCArMSwz OTEgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2Vy LgotKwotKyAgIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgot KwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsJLnNlY3Rp b24gLmRlYnVnX2luZm8KLSsuTGN1MV9iZWdpbjoKLSsJLyogQ1UgaGVhZGVyICovCi0rCS40Ynl0 ZQkuTGN1MV9lbmQgLSAuTGN1MV9zdGFydAkJLyogTGVuZ3RoIG9mIENvbXBpbGF0aW9uIFVuaXQg Ki8KLSsuTGN1MV9zdGFydDoKLSsJLjJieXRlCTIJCQkJLyogRFdBUkYgVmVyc2lvbiAqLwotKwku NGJ5dGUJLkxhYmJyZXYxX2JlZ2luCQkJLyogT2Zmc2V0IGludG8gYWJicmV2IHNlY3Rpb24gKi8K LSsJLmJ5dGUJNAkJCQkvKiBQb2ludGVyIHNpemUgKi8KLSsKLSsJLyogQ1UgZGllICovCi0rCS51 bGViMTI4IDEJCQkJLyogQWJicmV2OiBEV19UQUdfY29tcGlsZV91bml0ICovCi0rCS40Ynl0ZQku TGxpbmUxX2JlZ2luCQkJLyogRFdfQVRfc3RtdF9saXN0ICovCi0rCS40Ynl0ZQlmdW5jX3N0YXJ0 CQkJLyogRFdfQVRfbG93X3BjICovCi0rCS40Ynl0ZQlmdW5jX2VuZAkJCS8qIERXX0FUX2hpZ2hf cGMgKi8KLSsJLmFzY2lpCSJtYWluLmNcMCIJCQkvKiBEV19BVF9uYW1lICovCi0rCS5hc2NpaQki R05VIEMgMy4zLjNcMCIJCQkvKiBEV19BVF9wcm9kdWNlciAqLwotKwkuYnl0ZQkyCQkJCS8qIERX X0FUX2xhbmd1YWdlIChEV19MQU5HX0MpICovCi0rCi0rCS51bGViMTI4CTIJCQkvKiBBYmJyZXY6 IERXX1RBR19zdWJwcm9ncmFtICovCi0rCS5ieXRlCQkxCQkJLyogRFdfQVRfZXh0ZXJuYWwgKi8K LSsJLmFzY2lpCQkiZnVuY1wwIgkJLyogRFdfQVRfbmFtZSAqLwotKwkuNGJ5dGUJCS5MdHlwZV9p bnQtLkxjdTFfYmVnaW4JLyogRFdfQVRfdHlwZSAqLwotKwkuNGJ5dGUJCWZ1bmNfc3RhcnQJCS8q IERXX0FUX2xvd19wYyAqLwotKwkuNGJ5dGUJCWZ1bmNfZW5kCQkvKiBEV19BVF9oaWdoX3BjICov Ci0rCi0rLyogR0RCIGBoYXNfbG9jbGlzdCcgZGV0ZWN0aW9uIG9mIC1PMiAtZyBjb2RlIG5lZWRz IHRvIHNlZSBhIERXX0FUX2xvY2F0aW9uCi0rICAgbG9jYXRpb24gbGlzdC4gIFRoZXJlIG1heSBl eGlzdCAtTzIgLWcgQ1VzIHN0aWxsIG5vdCBuZWVkaW5nL3VzaW5nIGFueSBzdWNoCi0rICAgbG9j YXRpb24gbGlzdCAtIGV4YWN0bHkgbGlrZSB0aGlzIENVLiAgTWFrZSBvbmUgdXAuICAqLwotKwot KwkudWxlYjEyOAkweDcJCQkvKiAoRElFICgweDQyKSBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikg Ki8KLSsJLmFzY2lpCQkicGFyYW1cMCIJCS8qIERXX0FUX25hbWUgKi8KLSsJLmxvbmcJCS5MdHlw ZV9pbnQgLSAuTGN1MV9iZWdpbgkvKiBEV19BVF90eXBlICovCi0rCS5sb25nCQlsb2NsaXN0CQkJ LyogRFdfQVRfbG9jYXRpb24gKi8KLSsKLSsJLnVsZWIxMjgJNAkJCS8qIEFiYnJldjogRFdfVEFH X2lubGluZWRfc3Vicm91dGluZSAqLwotKwkuYXNjaWkJCSJpbmxpbmVkXDAiCQkvKiBEV19BVF9u YW1lICovCi0rCS40Ynl0ZQkJZnVuYzAJCQkvKiBEV19BVF9sb3dfcGMgKi8KLSsJLjRieXRlCQlm dW5jMQkJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsJLmJ5dGUJCTMJCQkvKiBEV19BVF9pbmxpbmUg KERXX0lOTF9kZWNsYXJlZF9pbmxpbmVkKSAqLwotKwkuYnl0ZQkJMQkJCS8qIERXX0FUX2NhbGxf ZmlsZSAqLwotKwkuYnl0ZQkJOAkJCS8qIERXX0FUX2NhbGxfbGluZSAqLwotKwotKwkudWxlYjEy OAk0CQkJLyogQWJicmV2OiBEV19UQUdfaW5saW5lZF9zdWJyb3V0aW5lICovCi0rCS5hc2NpaQkJ ImlubGluZWQyXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJZnVuYzIJCQkvKiBEV19B VF9sb3dfcGMgKi8KLSsJLjRieXRlCQlmdW5jMwkJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsJLmJ5 dGUJCTMJCQkvKiBEV19BVF9pbmxpbmUgKERXX0lOTF9kZWNsYXJlZF9pbmxpbmVkKSAqLwotKwku Ynl0ZQkJMQkJCS8qIERXX0FUX2NhbGxfZmlsZSAqLwotKwkuYnl0ZQkJMTEJCQkvKiBEV19BVF9j YWxsX2xpbmUgKi8KLSsKLSsjaWZkZWYgSU5MSU5FRAotKwkudWxlYjEyOAk0CQkJLyogQWJicmV2 OiBEV19UQUdfaW5saW5lZF9zdWJyb3V0aW5lICovCi0rCS5hc2NpaQkJIm90aGVyaW5saW5lXDAi CQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJZnVuYzMJCQkvKiBEV19BVF9sb3dfcGMgKi8K LSsJLjRieXRlCQlmdW5jX2VuZAkJLyogRFdfQVRfaGlnaF9wYyAqLwotKwkuYnl0ZQkJMwkJCS8q IERXX0FUX2lubGluZSAoRFdfSU5MX2RlY2xhcmVkX2lubGluZWQpICovCi0rCS5ieXRlCQkxCQkJ LyogRFdfQVRfY2FsbF9maWxlICovCi0rCS5ieXRlCQk5CQkJLyogRFdfQVRfY2FsbF9saW5lICov Ci0rI2VuZGlmCi0rCi0rI2lmZGVmIExFWElDQUwKLSsJLnVsZWIxMjgJNQkJCS8qIEFiYnJldjog RFdfVEFHX2xleGljYWxfYmxvY2sgKi8KLSsJLjRieXRlCQlmdW5jMwkJCS8qIERXX0FUX2xvd19w YyAqLwotKwkuNGJ5dGUJCWZ1bmNfZW5kCQkvKiBEV19BVF9oaWdoX3BjICovCi0rCi0rCS8qIEdE QiB3b3VsZCBvdGhlcndpc2UgaWdub3JlIHRoZSBEV19UQUdfbGV4aWNhbF9ibG9jay4gICovCi0r CS51bGViMTI4CTYJCQkvKiBBYmJyZXY6IERXX1RBR192YXJpYWJsZSAqLwotKwkuYXNjaWkJCSJs ZXhpY2FsdmFyXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJLkx0eXBlX2ludC0uTGN1 MV9iZWdpbgkvKiBEV19BVF90eXBlICovCi0rCi0rCS5ieXRlCQkwCQkJLyogRW5kIG9mIGNoaWxk cmVuIG9mIERXX1RBR19sZXhpY2FsX2Jsb2NrICovCi0rI2VuZGlmCi0rCi0rCS5ieXRlCQkwCQkJ LyogRW5kIG9mIGNoaWxkcmVuIG9mIERXX1RBR19zdWJwcm9ncmFtICovCi0rCi0rLyogU2ltdWxh dGUgYGZ1bmQnIGlzIGFsc28gbmFtZWQgYGZ1bmMnIHNvIHRoYXQgdGhlIGZ1bmN0aW9uIG5hbWUg bWF0Y2hlcyBhbmQKLSsgICBmdW5kJ3MgU0FMIGlzIG5vdCBkaXNjYXJkZWQgaW4gZXhwYW5kX2xp bmVfc2FsX21heWJlLiAgKi8KLSsKLSsJLnVsZWIxMjgJMgkJCS8qIEFiYnJldjogRFdfVEFHX3N1 YnByb2dyYW0gKi8KLSsJLmJ5dGUJCTEJCQkvKiBEV19BVF9leHRlcm5hbCAqLwotKwkuYXNjaWkJ CSJmdW5jXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJLkx0eXBlX2ludC0uTGN1MV9i ZWdpbgkvKiBEV19BVF90eXBlICovCi0rCS40Ynl0ZQkJZnVuZF9zdGFydAkJLyogRFdfQVRfbG93 X3BjICovCi0rCS40Ynl0ZQkJZnVuZF9lbmQJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsKLSsJLmJ5 dGUJCTAJCQkvKiBFbmQgb2YgY2hpbGRyZW4gb2YgRFdfVEFHX3N1YnByb2dyYW0gKi8KLSsKLSsu THR5cGVfaW50OgotKwkudWxlYjEyOAkzCQkJLyogQWJicmV2OiBEV19UQUdfYmFzZV90eXBlICov Ci0rCS5hc2NpaQkJImludFwwIgkJCS8qIERXX0FUX25hbWUgKi8KLSsJLmJ5dGUJCTQJCQkvKiBE V19BVF9ieXRlX3NpemUgKi8KLSsJLmJ5dGUJCTUJCQkvKiBEV19BVF9lbmNvZGluZyAqLwotKwot KwkuYnl0ZQkJMAkJCS8qIEVuZCBvZiBjaGlsZHJlbiBvZiBDVSAqLwotKwotKy5MY3UxX2VuZDoK LSsKLSsJLnNlY3Rpb24JLmRlYnVnX2xvYwotK2xvY2xpc3Q6Ci0rCS8qIFJlc2V0IHRoZSBsb2Nh dGlvbiBsaXN0IGJhc2UgYWRkcmVzcyBmaXJzdC4gICovCi0rCS5sb25nCQktMSwgMAotKwotKwku bG9uZwkJZnVuY19zdGFydCwgZnVuY19lbmQKLSsJLjJieXRlCQkyZi0xZgotKzE6CS5ieXRlCQkw eDUwCS8qIERXX09QX3JlZzAgKi8KLSsyOgotKwkvKiBMb2NhdGlvbiBsaXN0IGVuZC4gICovCi0r CS5sb25nCTAsIDAKLSsKLSsvKiBBYmJyZXYgdGFibGUgKi8KLSsJLnNlY3Rpb24gLmRlYnVnX2Fi YnJldgotKy5MYWJicmV2MV9iZWdpbjoKLSsJLnVsZWIxMjgJMQkJCS8qIEFiYnJldiBjb2RlICov Ci0rCS51bGViMTI4CTB4MTEJCQkvKiBEV19UQUdfY29tcGlsZV91bml0ICovCi0rCS5ieXRlCQkx CQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MTAJCQkvKiBEV19BVF9zdG10X2xp c3QgKi8KLSsJLnVsZWIxMjgJMHg2CQkJLyogRFdfRk9STV9kYXRhNCAqLwotKwkudWxlYjEyOAkw eDExCQkJLyogRFdfQVRfbG93X3BjICovCi0rCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRk ciAqLwotKwkudWxlYjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLwotKwkudWxlYjEyOAkw eDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgzCQkJLyogRFdfQVRfbmFtZSAq LwotKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLwotKwkudWxlYjEyOAkweDI1 CQkJLyogRFdfQVRfcHJvZHVjZXIgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJp bmcgKi8KLSsJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0FUX2xhbmd1YWdlICovCi0rCS51bGViMTI4 CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3Ig Ki8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVsZWIxMjgJMgkJCS8q IEFiYnJldiBjb2RlICovCi0rCS51bGViMTI4CTB4MmUJCQkvKiBEV19UQUdfc3VicHJvZ3JhbSAq LwotKwkuYnl0ZQkJMQkJCS8qIGhhc19jaGlsZHJlbiAqLwotKwkudWxlYjEyOAkweDNmCQkJLyog RFdfQVRfZXh0ZXJuYWwgKi8KLSsJLnVsZWIxMjgJMHhjCQkJLyogRFdfRk9STV9mbGFnICovCi0r CS51bGViMTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdf Rk9STV9zdHJpbmcgKi8KLSsJLnVsZWIxMjgJMHg0OQkJCS8qIERXX0FUX3R5cGUgKi8KLSsJLnVs ZWIxMjgJMHgxMwkJCS8qIERXX0ZPUk1fcmVmNCAqLwotKwkudWxlYjEyOAkweDExCQkJLyogRFdf QVRfbG93X3BjICovCi0rCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRkciAqLwotKwkudWxl YjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLwotKwkudWxlYjEyOAkweDEJCQkvKiBEV19G T1JNX2FkZHIgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsJLmJ5dGUJCTB4 MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVsZWIxMjgJMwkJCS8qIEFiYnJldiBjb2RlICov Ci0rCS51bGViMTI4CTB4MjQJCQkvKiBEV19UQUdfYmFzZV90eXBlICovCi0rCS5ieXRlCQkwCQkJ LyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KLSsJ LnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KLSsJLnVsZWIxMjgJMHhiCQkJLyog RFdfQVRfYnl0ZV9zaXplICovCi0rCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8K LSsJLnVsZWIxMjgJMHgzZQkJCS8qIERXX0FUX2VuY29kaW5nICovCi0rCS51bGViMTI4CTB4YgkJ CS8qIERXX0ZPUk1fZGF0YTEgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsJ LmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVsZWIxMjgJNAkJCS8qIEFiYnJl diBjb2RlICovCi0rCS51bGViMTI4CTB4MWQJCQkvKiBEV19UQUdfaW5saW5lZF9zdWJyb3V0aW5l ICovCi0rCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MwkJCS8q IERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KLSsJ LnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwotKwkudWxlYjEyOAkweDEJCQkvKiBE V19GT1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgxMgkJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsJ LnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCi0rCS51bGViMTI4CTB4MjAJCQkvKiBE V19BVF9pbmxpbmUgKi8KLSsJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9kYXRhMSAqLwotKwku dWxlYjEyOAkweDU4CQkJLyogRFdfQVRfY2FsbF9maWxlICovCi0rCS51bGViMTI4CTB4YgkJCS8q IERXX0ZPUk1fZGF0YTEgKi8KLSsJLnVsZWIxMjgJMHg1OQkJCS8qIERXX0FUX2NhbGxfbGluZSAq LwotKwkudWxlYjEyOAkweGIJCQkvKiBEV19GT1JNX2RhdGExICovCi0rCS5ieXRlCQkweDAJCQkv KiBUZXJtaW5hdG9yICovCi0rCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi0rCi0rCS51 bGViMTI4CTUJCQkvKiBBYmJyZXYgY29kZSAqLwotKwkudWxlYjEyOAkweDBiCQkJLyogRFdfVEFH X2xleGljYWxfYmxvY2sgKi8KLSsJLmJ5dGUJCTEJCQkvKiBoYXNfY2hpbGRyZW4gKi8KLSsJLnVs ZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwotKwkudWxlYjEyOAkweDEJCQkvKiBEV19G T1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgxMgkJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsJLnVs ZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCi0rCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5h dG9yICovCi0rCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi0rCi0rCS51bGViMTI4CTYJ CQkvKiBBYmJyZXYgY29kZSAqLwotKwkudWxlYjEyOAkweDM0CQkJLyogRFdfVEFHX3ZhcmlhYmxl ICovCi0rCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MwkJCS8q IERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KLSsJ LnVsZWIxMjgJMHg0OQkJCS8qIERXX0FUX3R5cGUgKi8KLSsJLnVsZWIxMjgJMHgxMwkJCS8qIERX X0ZPUk1fcmVmNCAqLwotKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotKwkuYnl0ZQkJ MHgwCQkJLyogVGVybWluYXRvciAqLwotKwotKwkudWxlYjEyOAkweDcJCQkvKiAoYWJicmV2IGNv ZGUpICovCi0rCS51bGViMTI4CTB4NQkJCS8qIChUQUc6IERXX1RBR19mb3JtYWxfcGFyYW1ldGVy KSAqLwotKwkuYnl0ZQkJMHgwCQkJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjgJMHgz CQkJLyogRFdfQVRfbmFtZSAqLwotKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAq LwotKwkudWxlYjEyOAkweDQ5CQkJLyogKERXX0FUX3R5cGUpICovCi0rCS51bGViMTI4CTB4MTMJ CQkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOAkweDAyCQkJLyogKERXX0FUX2xvY2F0 aW9uKSAqLwotKwkudWxlYjEyOAkweDA2CQkJLyogKERXX0ZPUk1fZGF0YTQpICovCi0rCS5ieXRl CQkweDAKLSsJLmJ5dGUJCTB4MAotKwotKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwot KwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotKwotKy8qIExpbmUgdGFibGUgKi8KLSsJ LnNlY3Rpb24gLmRlYnVnX2xpbmUKLSsuTGxpbmUxX2JlZ2luOgotKwkuNGJ5dGUJCS5MbGluZTFf ZW5kIC0gLkxsaW5lMV9zdGFydAkvKiBJbml0aWFsIGxlbmd0aCAqLwotKy5MbGluZTFfc3RhcnQ6 Ci0rCS4yYnl0ZQkJMgkJCS8qIFZlcnNpb24gKi8KLSsJLjRieXRlCQkuTGxpbmUxX2xpbmVzIC0g LkxsaW5lMV9oZHIJLyogaGVhZGVyX2xlbmd0aCAqLwotKy5MbGluZTFfaGRyOgotKwkuYnl0ZQkJ MQkJCS8qIE1pbmltdW0gaW5zbiBsZW5ndGggKi8KLSsJLmJ5dGUJCTEJCQkvKiBkZWZhdWx0X2lz X3N0bXQgKi8KLSsJLmJ5dGUJCTEJCQkvKiBsaW5lX2Jhc2UgKi8KLSsJLmJ5dGUJCTEJCQkvKiBs aW5lX3JhbmdlICovCi0rCS5ieXRlCQkweDEwCQkJLyogb3Bjb2RlX2Jhc2UgKi8KLSsKLSsJLyog U3RhbmRhcmQgbGVuZ3RocyAqLwotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMQot KwkuYnl0ZQkJMQotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJ MAotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMQotKwkuYnl0 ZQkJMAotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwotKwkvKiBJbmNsdWRlIGRpcmVjdG9yaWVz ICovCi0rCS5ieXRlCQkwCi0rCi0rCS8qIEZpbGUgbmFtZXMgKi8KLSsJLmFzY2lpCQkibWFpbi5j XDAiCi0rCS51bGViMTI4CTAKLSsJLnVsZWIxMjgJMAotKwkudWxlYjEyOAkwCi0rCi0rCS5hc2Np aQkJIm90aGVyLmNcMCIKLSsJLnVsZWIxMjgJMAotKwkudWxlYjEyOAkwCi0rCS51bGViMTI4CTAK LSsKLSsJLmJ5dGUJCTAKLSsKLSsuTGxpbmUxX2xpbmVzOgotKwkuYnl0ZQkJMAkvKiBEV19MTkVf c2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmNf c3RhcnQKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAk0 CS8qIC4uLiB0byA1ICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCi0rCi0rCS5ieXRl CQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0rCS5ieXRlCQkyCi0r CS40Ynl0ZQkJZnVuYzAKLSsJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCi0rCS51bGVi MTI4CTIKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAkt NAkvKiAuLi4gdG8gMSAqLwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLwotKwotKwkuYnl0 ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgot KwkuNGJ5dGUJCWZ1bmMxCi0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLwotKwkudWxl YjEyOAkxCi0rCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KLSsJLnNsZWIxMjgJ OAkvKiAuLi4gdG8gOSAqLwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLwotKwotKwkuYnl0 ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgot KwkuNGJ5dGUJCWZ1bmMyCi0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLwotKwkudWxl YjEyOAkyCi0rCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KLSsJLnNsZWIxMjgJ LTgJLyogLi4uIHRvIDEgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5 dGUJCTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIK LSsJLjRieXRlCQlmdW5jMwotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KLSsJLnVs ZWIxMjgJMQotKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCi0rCS5zbGViMTI4 CTgJLyogLi4uIHRvIDkgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5 dGUJCTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIK LSsJLjRieXRlCQlmdW5jX2VuZAotKwotKy8qIEVxdWl2YWxlbnQgY29weSBidXQgcmVuYW1lZCBz L2Z1bmMvZnVuZC8uICAqLwotKwotKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8K LSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmRfc3RhcnQKLSsJLmJ5dGUJ CTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAktNAkvKiAuLi4gdG8gNSAq LwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLwotKwotKwkuYnl0ZQkJMAkvKiBEV19MTkVf c2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmQw Ci0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLwotKwkudWxlYjEyOAkyCi0rCS5ieXRl CQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KLSsJLnNsZWIxMjgJLTQJLyogLi4uIHRvIDEg Ki8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5dGUJCTAJLyogRFdfTE5F X3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIKLSsJLjRieXRlCQlmdW5k MQotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KLSsJLnVsZWIxMjgJMQotKwkuYnl0 ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCi0rCS5zbGViMTI4CTgJLyogLi4uIHRvIDkg Ki8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5dGUJCTAJLyogRFdfTE5F X3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIKLSsJLjRieXRlCQlmdW5k MgotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KLSsJLnVsZWIxMjgJMgotKwkuYnl0 ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCi0rCS5zbGViMTI4CS04CS8qIC4uLiB0byAx ICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCi0rCi0rCS5ieXRlCQkwCS8qIERXX0xO RV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0rCS5ieXRlCQkyCi0rCS40Ynl0ZQkJZnVu ZDMKLSsJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCi0rCS51bGViMTI4CTEKLSsJLmJ5 dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAk4CS8qIC4uLiB0byA5 ICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCi0rCi0rCS5ieXRlCQkwCS8qIERXX0xO RV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0rCS5ieXRlCQkyCi0rCS40Ynl0ZQkJZnVu ZF9lbmQKLSsKLSsvKiBMaW5lIG51bWJlcmluZyBlbmQuICAqLwotKwotKwkuYnl0ZQkJMAkvKiBE V19MTkVfZW5kX29mX3NlcXVlbmNlICovCi0rCS51bGViMTI4CTEKLSsJLmJ5dGUJCTEKLSsKLSsu TGxpbmUxX2VuZDoKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItc2tpcC1wcm9sb2d1ZS5jCi1AQCAtMCwwICsxLDU4IEBACi0rLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAx MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rc3RhdGljIHZvbGF0aWxlIGludCB2OwotKwotK2Fz bSAoImZ1bmNfc3RhcnQ6IC5nbG9ibCBmdW5jX3N0YXJ0XG4iKTsKLStzdGF0aWMgaW50Ci0rZnVu YyAodm9pZCkKLSt7Ci0rICB2Kys7Ci0rYXNtICgiZnVuYzA6IC5nbG9ibCBmdW5jMFxuIik7Ci0r ICB2Kys7Ci0rYXNtICgiZnVuYzE6IC5nbG9ibCBmdW5jMVxuIik7Ci0rICB2Kys7Ci0rYXNtICgi ZnVuYzI6IC5nbG9ibCBmdW5jMlxuIik7Ci0rICB2Kys7Ci0rYXNtICgiZnVuYzM6IC5nbG9ibCBm dW5jM1xuIik7Ci0rICByZXR1cm4gdjsKLSt9Ci0rYXNtICgiZnVuY19lbmQ6IC5nbG9ibCBmdW5j X2VuZFxuIik7Ci0rCi0rLyogRXF1aXZhbGVudCBjb3B5IGJ1dCByZW5hbWVkIHMvZnVuYy9mdW5k Ly4gICovCi0rCi0rYXNtICgiZnVuZF9zdGFydDogLmdsb2JsIGZ1bmRfc3RhcnRcbiIpOwotK3N0 YXRpYyBpbnQKLStmdW5kICh2b2lkKQotK3sKLSsgIHYrKzsKLSthc20gKCJmdW5kMDogLmdsb2Js IGZ1bmQwXG4iKTsKLSsgIHYrKzsKLSthc20gKCJmdW5kMTogLmdsb2JsIGZ1bmQxXG4iKTsKLSsg IHYrKzsKLSthc20gKCJmdW5kMjogLmdsb2JsIGZ1bmQyXG4iKTsKLSsgIHYrKzsKLSthc20gKCJm dW5kMzogLmdsb2JsIGZ1bmQzXG4iKTsKLSsgIHJldHVybiB2OwotK30KLSthc20gKCJmdW5kX2Vu ZDogLmdsb2JsIGZ1bmRfZW5kXG4iKTsKLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIHJl dHVybiBmdW5jICgpICsgZnVuZCAoKTsKLSt9Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuZXhwCi1AQCAtMCwwICsxLDc0IEBA Ci0rIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0r IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rbG9hZF9saWIgZHdhcmYuZXhwCi0rCi0rIyBU ZXN0IG11bHRpcGxlIGxvY2F0aW9uIGJyZWFrcG9pbnRzIHZzLiBwcm9sb2d1ZSBhbmFseXNpcyBv biAtTzIgLWcgY29kZS4KLSsjIHdoZW4gdGhlIGZpcnN0IHN0YXRlbWVudCBvZiBhIGZ1bmN0aW9u IGlzIGFuIGlubGluZWQgZnVuY3Rpb24gR0RCIGNvdWxkCi0rIyBjcmFzaC4gIE1hcCBvZiB0aGlz IHRlc3RjYXNlOgotKyMgCi0rIyBGaWxlIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGluZSBudW1iZXIgICAgU3RhcnRpbmcgYWRkcmVzcwotKyMgbWFpbi5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA1ICAgIGZ1bmNfc3RhcnQKLSsjIG90aGVyLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICBmdW5jMAotKyMgCWBpbmxp bmVkJyBjYWxsZWQgYXQgbWFpbi5jIGxpbmUgOAotKyMgbWFpbi5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA5ICAgIGZ1bmMxCi0rIyAJZnVuYzEgPSBCcmVha3BvaW50 IGxvY2F0aW9uIDEKLSsjIG90aGVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMSAgICBmdW5jMgotKyMgCWBpbmxpbmVkMicgY2FsbGVkIGF0IG1haW4uYyBsaW5lIDEx Ci0rIyBtYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkgICAg ZnVuYzMKLSsjIAlmdW5jMyA9IEJyZWFrcG9pbnQgbG9jYXRpb24gMgotKyMgCWBvdGhlcmlubGlu ZScgY2FsbGVkIGF0IG1haW4uYyBsaW5lIDkKLSsjIGVuZCBvZiBtYWluICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jX2VuZAotKwotKyMgVGhpcyB0ZXN0IGNhbiBv bmx5IGJlIHJ1biBvbiB0YXJnZXRzIHdoaWNoIHN1cHBvcnQgRFdBUkYtMiBhbmQgdXNlIGdhcy4K LStpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKLSsgICAgcmV0dXJuIDAgIAotK30KLSsKLStzZXQg dGVzdGZpbGUgImR3Mi1za2lwLXByb2xvZ3VlIgotK3NldCBleGVjdXRhYmxlICR7dGVzdGZpbGV9 Ci0rc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke2V4ZWN1dGFibGV9Ci0rCi0raWYg e1tidWlsZF9leGVjdXRhYmxlICR7dGVzdGZpbGV9LmV4cCAke2V4ZWN1dGFibGV9ICIke3Rlc3Rm aWxlfS5jICR7dGVzdGZpbGV9LlMiIHthZGRpdGlvbmFsX2ZsYWdzPS1ESU5MSU5FRH1dID09IC0x fSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFdlIG5lZWQgdGhvc2Ugc3ltYm9scyBnbG9i YWwgdG8gYWNjZXNzIHRoZW0gZnJvbSB0aGUgLlMgZmlsZS4KLStzZXQgdGVzdCAic3RyaXAgc3R1 YiBzeW1ib2xzIgotK3NldCBvYmpjb3B5X3Byb2dyYW0gW3RyYW5zZm9ybSBvYmpjb3B5XQotK3Nl dCByZXN1bHQgW2NhdGNoICJleGVjICRvYmpjb3B5X3Byb2dyYW0JCQkJCQkJXAotKwkJCS1OIGZ1 bmMwIC1OIGZ1bmMxIC1OIGZ1bmMyIC1OIGZ1bmMzICAgICAgICAgLU4gZnVuY19zdGFydCAtTiBm dW5jX2VuZAlcCi0rCQkJLU4gZnVuZDAgLU4gZnVuZDEgLU4gZnVuZDIgLU4gZnVuZDMgLU4gZnVu ZCAtTiBmdW5kX3N0YXJ0CQlcCi0rCQkJJHtiaW5maWxlfSIgb3V0cHV0XQotK3ZlcmJvc2UgInJl c3VsdCBpcyAkcmVzdWx0IgotK3ZlcmJvc2UgIm91dHB1dCBpcyAkb3V0cHV0IgotK2lmIHskcmVz dWx0ICE9IDB9IHsKLSsgICAgZmFpbCAkdGVzdAotKyAgICByZXR1cm4KLSt9Ci0rcGFzcyAkdGVz dAotKwotK2NsZWFuX3Jlc3RhcnQgJGV4ZWN1dGFibGUKLSsKLStpZiAhW3J1bnRvX21haW5dIHsK LSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9icmVha3BvaW50ICJmdW5jIgotK2dkYl9jb250 aW51ZV90b19icmVha3BvaW50ICJmdW5jIgotKwotKyMgU2FuaXR5IGNoZWNrIEdEQiBoYXMgcmVh bGx5IGZvdW5kIDIgbG9jYXRpb25zCi0rZ2RiX3Rlc3Qge2luZm8gYnJlYWsgJGJwbnVtfSAiXHJc bjJcXC4xXFsgXHRcXVxbXlxuXF0qXHJcbjJcXC4yXFsgXHRcXVxbXlxuXF0qIiAiMiBsb2NhdGlv bnMgZm91bmQiCi0rCi0rZ2RiX3Rlc3QgInAgdiIgIiA9IDAiICJubyBzdGF0ZW1lbnQgZ290IGV4 ZWN1dGVkIgotCgpkaWZmIC0tZ2l0IGEvZ2RiLXBoeXNuYW1lLWV4cGFuZC1jb21wbGV0ZXIucGF0 Y2ggYi9nZGItcGh5c25hbWUtZXhwYW5kLWNvbXBsZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNGQ1Mzg3MC4uMDAwMDAwMAotLS0gYS9nZGItcGh5c25hbWUtZXhwYW5k LWNvbXBsZXRlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyOCArMCwwIEBACi1odHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDU1MS5odG1sCi1TdWJq ZWN0OiBbcGF0Y2hdIHBoeXNuYW1lLXJlbGF0ZWQgQ1UgZXhwYW5zaW9uIGlzc3VlIGZvciBDKysg KFBSIDEyNzA4KQotCi1IaSwKLQotaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3df YnVnLmNnaT9pZD0xMjcwOCNjMQotCi1UaGUgZGVwZW5kZW5jeSBvbiBDVSBleHBhbnNpb24gaXMg YSBwaHlzbmFtZSByZWdyZXNzaW9uLgotQnV0IHRoZSBmZWF0dXJlIG9mIG9yaWdpbmFsbHktdHlw ZWQtcGFyYW1ldGVycyBzeW1ib2xzIHdhcyBub3QgcHJlc2VudCBiZWZvcmUKLXBoeXNuYW1lIGF0 IGFsbCBzbyBpdCBpcyByYXRoZXIgYnVnZ3ktZmVhdHVyZSB0aGFuIGEgcmVncmVzc2lvbi4KLQot Zm9yCi10eXBlZGVmIGludCBpbnRfdHlwZWRlZjsKLXZvaWQgZiAoaW50X3R5cGVkZWYgeCkge30K LQotZ2RiIC1ueCAuLzFiLm8gLWV4ICdzZXQgbGFuZ3VhZ2UgYysrJyAtZXggImNvbXBsZXRlIGIg J2YoIiAtZXggcQotCi0rIHByZXBoeXNuYW1lICg0MjI4NGZkZjlkOGNkYjIwYzhlODMzYmRiZGIy YjU2OTc3ZmVhNTI1XikKLWIgJ2YoaW50KQotKyBwcmVwaHlzbmFtZSAtcmVhZG5vdwotYiAnZihp bnQpCi0KLSsgcGh5c25hbWUgKDQyMjg0ZmRmOWQ4Y2RiMjBjOGU4MzNiZGJkYjJiNTY5NzdmZWE1 MjUpCi1iICdmKGludCkKLSsgcGh5c25hbWUgLXJlYWRub3cKLWIgJ2YoaW50KQotYiAnZihpbnRf dHlwZWRlZikKLQotKyBIRUFECi1iICdmKGludCkKLSsgSEVBRCAtcmVhZG5vdwotYiAnZihpbnQp Ci1iICdmKGludF90eXBlZGVmKQotCi0KLVRoaXMgaXMgYW5vdGhlciBpc3N1ZSBmcm9tIHRoZSBm YWN0IHRoYXQgcGFydGlhbCBzeW10YWJzIChhbmQgZXZlbiBnZGJpbmRleCkKLW5vIGxvbmdlciBj b250YWluIHBhcmFtZXRlcnMgYXMgYmVmb3JlLiAgJ2YoJyBjYW4gbmV2ZXIgYmUgZm91bmQgYW55 IHBhcnRpYWwKLXN5bXRhYnMsIG9ubHkgYGYnIHdpbGwgYmUgcHJlc2VudCB0aGVyZS4KLQotTm8g cmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE1LWxpbnV4LWdu dS4KLQotCi1UaGFua3MsCi1KYW4KLQotCi1nZGIvCi0yMDExLTA0LTI4ICBKYW4gS3JhdG9jaHZp bCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLSAgICAKLQkqIHN5bXRhYi5jIChjb21w YXJlX3N5bWJvbF9uYW1lKTogTmV3IGZ1bmN0aW9uLgotCShjb21wbGV0aW9uX2xpc3RfYWRkX25h bWUsIGV4cGFuZF9wYXJ0aWFsX3N5bWJvbF9uYW1lKTogQ2FsbCBpdCwKLQlyZW1vdmUgdGhlIHZh cmlhYmxlIG5jbXAuCi0JKGRlZmF1bHRfbWFrZV9zeW1ib2xfY29tcGxldGlvbl9saXN0X2JyZWFr X29uKTogUmVkdWNlIFNZTV9URVhUX0xFTiwKLQlnZGJfYXNzZXJ0IGl0LgotCi1HZGIvdGVzdHN1 aXRlLwotMjAxMS0wNC0yOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQu Y29tPgotCi0JKiBnZGIuY3AvcHN5bXRhYi1wYXJhbWV0ZXIuY2M6IE5ldyBmaWxlLgotCSogZ2Ri LmNwL3BzeW10YWItcGFyYW1ldGVyLmV4cDogTmV3IGZpbGUuCi0KLS0tLSBhL2dkYi9zeW10YWIu YwotKysrIGIvZ2RiL3N5bXRhYi5jCi1AQCAtMzQ4OSw2ICszNDg5LDQwIEBAIHJicmVha19jb21t YW5kIChjaGFyICpyZWdleHAsIGludCBmcm9tX3R0eSkKLSB9Ci0gDAotIAotKy8qIEV2YWx1YXRl IGlmIE5BTUUgbWF0Y2hlcyBTWU1fVEVYVCBhbmQgU1lNX1RFWFRfTEVOLgotKwotKyAgIEVpdGhl ciBzeW1fdGV4dFtzeW1fdGV4dF9sZW5dICE9ICcoJyBhbmQgdGhlbiB3ZSBzZWFyY2ggZm9yIGFu eQotKyAgIHN5bWJvbCBzdGFydGluZyB3aXRoIFNZTV9URVhUIHRleHQuCi0rCi0rICAgT3RoZXJ3 aXNlIHN5bV90ZXh0W3N5bV90ZXh0X2xlbl0gPT0gJygnIGFuZCB0aGVuIHdlIHJlcXVpcmUgc3lt Ym9sIG5hbWUgdG8KLSsgICBiZSB0ZXJtaW5hdGVkIGF0IHRoYXQgcG9pbnQuICBQYXJ0aWFsIHN5 bWJvbCB0YWJsZXMgZG8gbm90IGhhdmUgcGFyYW1ldGVycwotKyAgIGluZm9ybWF0aW9uLiAgKi8K LSsKLStzdGF0aWMgaW50Ci0rY29tcGFyZV9zeW1ib2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwg Y29uc3QgY2hhciAqc3ltX3RleHQsIGludCBzeW1fdGV4dF9sZW4pCi0rewotKyAgaW50ICgqbmNt cCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOwotKwotKyAgbmNtcCA9IChj YXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNl Y21wKTsKLSsKLSsgIGlmIChuY21wIChuYW1lLCBzeW1fdGV4dCwgc3ltX3RleHRfbGVuKSAhPSAw KQotKyAgICByZXR1cm4gMDsKLSsKLSsgIGlmIChzeW1fdGV4dFtzeW1fdGV4dF9sZW5dID09ICco JykKLSsgICAgewotKyAgICAgIC8qIFVzZXIgc2VhcmNoZXMgZm9yIGBuYW1lKHNvbWV0aC4uLicu ICBSZXF1aXJlIE5BTUUgdG8gYmUgdGVybWluYXRlZC4KLSsJIE5vcm1hbGx5IHBzeW10YWJzIGFu ZCBnZGJpbmRleCBoYXZlIG5vIHBhcmFtZXRlciB0eXBlcyBzbyAnXDAnIHdpbGwgYmUKLSsJIHBy ZXNlbnQgYnV0IGFjY2VwdCBldmVuIHBhcmFtZXRlcnMgcHJlc2VuY2UuICBJbiB0aGlzIGNhc2Ug dGhpcwotKwkgZnVuY3Rpb24gaXMgaW4gZmFjdCBzdHJjbXBfaXcgYnV0IHdoaXRlc3BhY2Ugc2tp cHBpbmcgaXMgbm90IHN1cHBvcnRlZAotKwkgZm9yIHRhYiBjb21wbGV0aW9uLiAgKi8KLSsKLSsg ICAgICBpZiAobmFtZVtzeW1fdGV4dF9sZW5dICE9ICdcMCcgJiYgbmFtZVtzeW1fdGV4dF9sZW5d ICE9ICcoJykKLSsJcmV0dXJuIDA7Ci0rICAgIH0KLSsKLSsgIHJldHVybiAxOwotK30KLSsKLSAv KiBIZWxwZXIgcm91dGluZSBmb3IgbWFrZV9zeW1ib2xfY29tcGxldGlvbl9saXN0LiAgKi8KLSAK LSBzdGF0aWMgaW50IHJldHVybl92YWxfc2l6ZTsKLUBAIC0zNTA4LDE2ICszNTQyLDEwIEBAIGNv bXBsZXRpb25fbGlzdF9hZGRfbmFtZSAoY2hhciAqc3ltbmFtZSwgY2hhciAqc3ltX3RleHQsIGlu dCBzeW1fdGV4dF9sZW4sCi0gCQkJICBjaGFyICp0ZXh0LCBjaGFyICp3b3JkKQotIHsKLSAgIGlu dCBuZXdzaXplOwotLSAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBz aXplX3QpOwotLQotLSAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZl X29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKLSAKLSAgIC8qIENsaXAgc3ltYm9scyB0aGF0 IGNhbm5vdCBtYXRjaC4gICovCi0tCi0tICBpZiAobmNtcCAoc3ltbmFtZSwgc3ltX3RleHQsIHN5 bV90ZXh0X2xlbikgIT0gMCkKLS0gICAgewotLSAgICAgIHJldHVybjsKLS0gICAgfQotKyAgaWYg KCFjb21wYXJlX3N5bWJvbF9uYW1lIChzeW1uYW1lLCBzeW1fdGV4dCwgc3ltX3RleHRfbGVuKSkK LSsgICAgcmV0dXJuOwotIAotICAgLyogV2UgaGF2ZSBhIG1hdGNoIGZvciBhIGNvbXBsZXRpb24s IHNvIGFkZCBTWU1OQU1FIHRvIHRoZSBjdXJyZW50IGxpc3QKLSAgICAgIG9mIG1hdGNoZXMuICBO b3RlIHRoYXQgdGhlIG5hbWUgaXMgbW92ZWQgdG8gZnJlc2hseSBtYWxsb2MnZCBzcGFjZS4gICov Ci1AQCAtMzcwNywxMSArMzczNSw4IEBAIHN0YXRpYyBpbnQKLSBleHBhbmRfcGFydGlhbF9zeW1i b2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdXNlcl9kYXRhKQotIHsKLSAgIHN0cnVj dCBhZGRfbmFtZV9kYXRhICpkYXR1bSA9IChzdHJ1Y3QgYWRkX25hbWVfZGF0YSAqKSB1c2VyX2Rh dGE7Ci0tICBpbnQgKCpuY21wKSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7 Ci0tCi0tICBuY21wID0gKGNhc2Vfc2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5zaXRpdmVfb24gPyBz dHJuY21wIDogc3RybmNhc2VjbXApOwotIAotLSAgcmV0dXJuIG5jbXAgKG5hbWUsIGRhdHVtLT5z eW1fdGV4dCwgZGF0dW0tPnN5bV90ZXh0X2xlbikgPT0gMDsKLSsgIHJldHVybiBjb21wYXJlX3N5 bWJvbF9uYW1lIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRhdHVtLT5zeW1fdGV4dF9sZW4pOwot IH0KLSAKLSBjaGFyICoqCi1AQCAtMzc5MCw2ICszODE1LDIyIEBAIGRlZmF1bHRfbWFrZV9zeW1i b2xfY29tcGxldGlvbl9saXN0X2JyZWFrX29uIChjaGFyICp0ZXh0LCBjaGFyICp3b3JkLAotIAot ICAgc3ltX3RleHRfbGVuID0gc3RybGVuIChzeW1fdGV4dCk7Ci0gCi0rICAvKiBQcmVwYXJlIFNZ TV9URVhUX0xFTiBmb3IgY29tcGFyZV9zeW1ib2xfbmFtZS4gICovCi0rCi0rICBpZiAoY3VycmVu dF9sYW5ndWFnZS0+bGFfbGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfY3BsdXMKLSsgICAgICB8fCBjdXJy ZW50X2xhbmd1YWdlLT5sYV9sYW5ndWFnZSA9PSBsYW5ndWFnZV9qYXZhCi0rICAgICAgfHwgY3Vy cmVudF9sYW5ndWFnZS0+bGFfbGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJhbikKLSsgICAgewot KyAgICAgIC8qIFRoZXNlIGxhbmd1YWdlcyBtYXkgaGF2ZSBwYXJhbWV0ZXJzIGVudGVyZWQgYnkg dXNlciBidXQgdGhleSBhcmUgbmV2ZXIKLSsJIHByZXNlbnQgaW4gdGhlIHBhcnRpYWwgc3ltYm9s IHRhYmxlcy4gICovCi0rCi0rICAgICAgY29uc3QgY2hhciAqY3MgPSBtZW1jaHIgKHN5bV90ZXh0 LCAnKCcsIHN5bV90ZXh0X2xlbik7Ci0rCi0rICAgICAgaWYgKGNzKQotKwlzeW1fdGV4dF9sZW4g PSBjcyAtIHN5bV90ZXh0OwotKyAgICB9Ci0rICBnZGJfYXNzZXJ0IChzeW1fdGV4dFtzeW1fdGV4 dF9sZW5dID09ICdcMCcgfHwgc3ltX3RleHRbc3ltX3RleHRfbGVuXSA9PSAnKCcpOwotKwotICAg cmV0dXJuX3ZhbF9zaXplID0gMTAwOwotICAgcmV0dXJuX3ZhbF9pbmRleCA9IDA7Ci0gICByZXR1 cm5fdmFsID0gKGNoYXIgKiopIHhtYWxsb2MgKChyZXR1cm5fdmFsX3NpemUgKyAxKSAqIHNpemVv ZiAoY2hhciAqKSk7Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9w c3ltdGFiLXBhcmFtZXRlci5jYwotQEAgLTAsMCArMSwyMiBAQAotKy8qIFRoaXMgdGVzdGNhc2Ug aXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCi0rCi0rICAgQ29weXJpZ2h0IDIwMDks IDIwMTAsIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK LSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKwotKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rICAgKi8KLSsKLSt0eXBlZGVmIGludCB0eXBl ZGVmZWQ7Ci0rdm9pZCBmdW5jICh0eXBlZGVmZWQgcGFyYW0pCi0rewotK30KLS0tLSAvZGV2L251 bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3BzeW10YWItcGFyYW1ldGVyLmV4cAotQEAg LTAsMCArMSwzOSBAQAotKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0r IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK2lmIHsgW3NraXBf Y3BsdXNfdGVzdHNdIH0geyBjb250aW51ZSB9Ci0rCi0rCi0rc2V0IHRlc3RmaWxlIHBzeW10YWIt cGFyYW1ldGVyCi0rc2V0IGV4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0ueAotK3NldCBzcmNmaWxlICR7 dGVzdGZpbGV9LmNjCi0rc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke2V4ZWN1dGFi bGV9Ci0rCi0raWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxl fSIgIiR7YmluZmlsZX0iIG9iamVjdCB7ZGVidWcgYysrfV0gIT0gIiIgfSB7Ci0rICAgIHVudGVz dGVkICR7dGVzdGZpbGV9LmV4cAotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0rY2xlYW5fcmVzdGFy dCAkZXhlY3V0YWJsZQotKwotKyMgQXMgYG1haW4nIGlzIG5vdCBwcmVzZW50IEdEQiBmYWlscyB0 byBmaW5kIHRoZSBwcm9wZXIgaW5mZXJpb3IgbGFuZ3VhZ2UuCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0 ICJzZXQgbGFuZ3VhZ2UgYysrIgotKwotKyMgVGhlIGdvYWwgaXMgdG8ga2VlcCB0aGUgQ1UgKENv bXBpbGF0aW9uIFVuaXQpIHVuZXhwYW5kZWQuICBJdCB3b3VsZCBiZSByYXRoZXIKLSsjIFhGQUlM IHRoYW4gRkFJTCBoZXJlLiAgRm9yIGV4YW1wbGUgLXJlYWRub3cgYnJlYWtzIGl0LgotK2dkYl90 ZXN0X25vX291dHB1dCAibWFpbnRlbmFuY2UgaW5mbyBzeW10YWJzIgotKwotKyMgR0RCIGhhcyBz aG93biBvbmx5IHRoZSBgZnVuYyhpbnQpJyBlbnRyeSBiZWZvcmUuCi0rZ2RiX3Rlc3QgImNvbXBs ZXRlIGJyZWFrICdmdW5jKCIgImJyZWFrICdmdW5jXFwoaW50XFwpXHJcbmJyZWFrICdmdW5jXFwo dHlwZWRlZmVkXFwpIgotCgpkaWZmIC0tZ2l0IGEvZ2RiLXN0YXAtZG91YmxlLWZyZWUucGF0Y2gg Yi9nZGItc3RhcC1kb3VibGUtZnJlZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4yYzdmYzQwCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXN0YXAtZG91YmxlLWZyZWUu cGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorLS0tIGEvZ2RiL3N0YXAtcHJvYmUuYworKysrIGIvZ2Ri L3N0YXAtcHJvYmUuYworQEAgLTM1NSw5ICszNTUsNyBAQCBzdGFwX2ZyZWVfYXJnc19pbmZvICh2 b2lkICphcmdzX2luZm9fcHRyKQorICAgaW50IGk7CisgCisgICBmb3IgKGkgPSAwOyBpIDwgYS0+ bl9hcmdzOyBpKyspCistICAgIHsKKy0gICAgICB4ZnJlZSAoYS0+YXJnW2ldLmFyZ19zdHIpOwor LSAgICB9CisrICAgIHhmcmVlIChhLT5hcmdbaV0uYXJnX3N0cik7CisgCisgICB4ZnJlZSAoYS0+ YXJnKTsKKyAgIHhmcmVlIChhKTsKK0BAIC00MDEsNiArMzk5LDcgQEAgc3RhcF9wYXJzZV9wcm9i ZV9hcmd1bWVudHMgKHN0cnVjdCBzdGFwX3Byb2JlICpwcm9iZSkKKyAgICAgcmV0dXJuOworIAor ICAgYXJnc19pbmZvID0geG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qgc3RhcF9hcmdzX2luZm8pKTsK KysgIGFyZ3NfaW5mby0+bl9hcmdzID0gMDsKKyAgIGJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKHN0 YXBfZnJlZV9hcmdzX2luZm8sIGFyZ3NfaW5mbyk7CisgICBhcmdzX2luZm8tPmFyZyA9IHhjYWxs b2MgKFNUQVBfTUFYX0FSR1MsIHNpemVvZiAoc3RydWN0IHN0YXBfcHJvYmVfYXJnKSk7CisgCitA QCAtNDkzLDYgKzQ5Miw3IEBAIHN0YXBfcGFyc2VfcHJvYmVfYXJndW1lbnRzIChzdHJ1Y3Qgc3Rh cF9wcm9iZSAqcHJvYmUpCisgCisgCSAgICAgIGFyZ3NfaW5mby0+YXJnW2N1cnJlbnRfYXJnXS5h cmdfc3RyCisgCQk9IHNhdmVzdHJpbmcgKHN0YXJ0LCBjdXIgLSBzdGFydCk7CisrCSAgICAgICsr YXJnc19pbmZvLT5uX2FyZ3M7CisgCSAgICAgIC8qIFN0YXJ0IGl0IG92ZXIgYWdhaW4uICAqLwor IAkgICAgICBjdXIgPSBza2lwX3NwYWNlcyAoKGNoYXIgKikgY3VyKTsKKyAJICAgICAgY3VycmVu dF9zdGF0ZSA9IE5FV19BUkc7CitAQCAtNTEzLDcgKzUxMyw2IEBAIHN0YXBfcGFyc2VfcHJvYmVf YXJndW1lbnRzIChzdHJ1Y3Qgc3RhcF9wcm9iZSAqcHJvYmUpCisgCX0KKyAgICAgfQorIAorLSAg YXJnc19pbmZvLT5uX2FyZ3MgPSBjdXJyZW50X2FyZyArIDE7CisgICBhcmdzX2luZm8tPmFyZyA9 IHhyZWFsbG9jIChhcmdzX2luZm8tPmFyZywKKyAJCQkgICAgICBhcmdzX2luZm8tPm5fYXJncwor IAkJCSAgICAgICogc2l6ZW9mIChzdHJ1Y3Qgc3RhcF9wcm9iZV9hcmcpKTsKK0BAIC0xNTI2LDgg KzE1MjUsOSBAQCBzdGFwX2ZyZWVfcGFyc2VkX2FyZ3MgKHN0cnVjdCBzdGFwX2FyZ3NfaW5mbyAq cGFyc2VkX2FyZ3MpCisgICAgIHJldHVybjsKKyAKKyAgIGZvciAoaSA9IDA7IGkgPCBwYXJzZWRf YXJncy0+bl9hcmdzOyBpKyspCistICAgIHhmcmVlIChwYXJzZWRfYXJncy0+YXJnKTsKKysgICAg eGZyZWUgKHBhcnNlZF9hcmdzLT5hcmdbaV0uYXJnX3N0cik7CisgCisrICB4ZnJlZSAocGFyc2Vk X2FyZ3MtPmFyZyk7CisgICB4ZnJlZSAocGFyc2VkX2FyZ3MpOworIH0KKyAKK0BAIC0xODU5LDcg KzE4NTksNyBAQCBwYXJzZV9zdGFwX3Byb2JlIChjaGFyICoqYXJncHRyLCBzdHJ1Y3QgbGluZXNw ZWNfcmVzdWx0ICpjYW5vbmljYWwpCisgCWlmIChjYW5vbmljYWwpCisgCSAgeworIAkgICAgY2Fu b25pY2FsLT5jYW5vbmljYWwgPSB4cmVhbGxvYyAoY2Fub25pY2FsLT5jYW5vbmljYWwsCistCQkJ CQkgICAgIHJlc3VsdC5uZWx0cyAqIHNpemVvZiAoY2hhciAqKikpOworKwkJCQkJICAgICByZXN1 bHQubmVsdHMgKiBzaXplb2YgKGNoYXIgKikpOworIAkgICAgY2Fub25pY2FsLT5jYW5vbmljYWxb cmVzdWx0Lm5lbHRzIC0gMV0gPSB4c3RyZHVwIChmdWxsX2FyZyk7CisgCSAgfQorICAgICAgIH0K CmRpZmYgLS1naXQgYS9nZGItdXBzdHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJlYW0ucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkN2E5NWYuLjAwMDAwMDAKLS0tIGEvZ2RiLXVw c3RyZWFtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM5ICswLDAgQEAKLUZpeCBQeXRob24g YWNjZXNzIHRvIGlubGluZWQgZnJhbWVzIChCWiA2OTQ4MjQpLgotaHR0cDovL3NvdXJjZXdhcmUu b3JnL21sL2dkYi1jdnMvMjAxMS0wNC9tc2cwMDE4OS5odG1sCi0KLSMjIyBzcmMvZ2RiL0NoYW5n ZUxvZwkyMDExLzA0LzI3IDAzOjUyOjIwCTEuMTI4ODcuMi4xNAotIyMjIHNyYy9nZGIvQ2hhbmdl TG9nCTIwMTEvMDQvMjkgMDc6MzI6MzcJMS4xMjg4Ny4yLjE1Ci0jIyAtMSwzICsxLDkgQEAKLSsy MDExLTA0LTI5ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0r Ci0rCUZpeCBQeXRob24gYWNjZXNzIHRvIGlubGluZWQgZnJhbWVzLgotKwkqIHB5dGhvbi9weS1m cmFtZS5jIChmcmFweV9yZWFkX3Zhcik6IEZpbmQgQkxPQ0sgdXNpbmcgZ2V0X2ZyYW1lX2Jsb2Nr LgotKwkqIHB5dGhvbi9weS1zeW1ib2wuYyAoZ2RicHlfbG9va3VwX3N5bWJvbCk6IExpa2V3aXNl LgotKwotIDIwMTEtMDQtMjYgIE1pY2hhZWwgV2FsbGUgIDxtaWNoYWVsQHdhbGxlLmNjPgotIAot IAkqIHJlbW90ZS5jIChyZW1vdGVfc3RhcnRfcmVtb3RlKTogQWNrIHBhY2tldCBhZnRlciBzZW5k aW5nIHRoZQotLS0tIHNyYy9nZGIvcHl0aG9uL3B5LWZyYW1lLmMJMjAxMS8wMS8yNiAyMDo1Mzo0 NQkxLjE1Ci0rKysgc3JjL2dkYi9weXRob24vcHktZnJhbWUuYwkyMDExLzA0LzI5IDA3OjMyOjQw CTEuMTUuMi4xCi1AQCAtNDM2LDcgKzQzNiw3IEBACi0gCSAgRlJBUFlfUkVRVUlSRV9WQUxJRCAo KGZyYW1lX29iamVjdCAqKSBzZWxmLCBmcmFtZSk7Ci0gCi0gCSAgaWYgKCFibG9jaykKLS0JICAg IGJsb2NrID0gYmxvY2tfZm9yX3BjIChnZXRfZnJhbWVfYWRkcmVzc19pbl9ibG9jayAoZnJhbWUp KTsKLSsJICAgIGJsb2NrID0gZ2V0X2ZyYW1lX2Jsb2NrIChmcmFtZSwgTlVMTCk7Ci0gCSAgdmFy ID0gbG9va3VwX3N5bWJvbCAodmFyX25hbWUsIGJsb2NrLCBWQVJfRE9NQUlOLCBOVUxMKTsKLSAJ fQotICAgICAgIEdEQl9QWV9IQU5ETEVfRVhDRVBUSU9OIChleGNlcHQpOwotLS0tIHNyYy9nZGIv cHl0aG9uL3B5LXN5bWJvbC5jCTIwMTEvMDMvMTcgMDk6MzY6MTYJMS42Ci0rKysgc3JjL2dkYi9w eXRob24vcHktc3ltYm9sLmMJMjAxMS8wNC8yOSAwNzozMjo0MAkxLjYuMi4xCi1AQCAtMjc1LDgg KzI3NSw4IEBACi0gCi0gICAgICAgVFJZX0NBVENIIChleGNlcHQsIFJFVFVSTl9NQVNLX0FMTCkK LSAJewotLQkgIHNlbGVjdGVkX2ZyYW1lICA9IGdldF9zZWxlY3RlZF9mcmFtZSAoXygiTm8gZnJh bWUgc2VsZWN0ZWQuIikpOwotLQkgIGJsb2NrID0gYmxvY2tfZm9yX3BjIChnZXRfZnJhbWVfYWRk cmVzc19pbl9ibG9jayAoc2VsZWN0ZWRfZnJhbWUpKTsKLSsJICBzZWxlY3RlZF9mcmFtZSA9IGdl dF9zZWxlY3RlZF9mcmFtZSAoXygiTm8gZnJhbWUgc2VsZWN0ZWQuIikpOwotKwkgIGJsb2NrID0g Z2V0X2ZyYW1lX2Jsb2NrIChzZWxlY3RlZF9mcmFtZSwgTlVMTCk7Ci0gCX0KLSAgICAgICBHREJf UFlfSEFORExFX0VYQ0VQVElPTiAoZXhjZXB0KTsKLSAgICAgfQotIyMjIHNyYy9nZGIvdGVzdHN1 aXRlL0NoYW5nZUxvZwkyMDExLzA0LzI1IDIxOjI1OjE4CTEuMjY1NS4yLjQKLSMjIyBzcmMvZ2Ri L3Rlc3RzdWl0ZS9DaGFuZ2VMb2cJMjAxMS8wNC8yOSAwNzozMjo0MAkxLjI2NTUuMi41Ci0jIyAt MSwzICsxLDkgQEAKLSsyMDExLTA0LTI5ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2Nodmls QHJlZGhhdC5jb20+Ci0rCi0rCUZpeCBQeXRob24gYWNjZXNzIHRvIGlubGluZWQgZnJhbWVzLgot KwkqIGdkYi5weXRob24vcHktZnJhbWUtaW5saW5lLmM6IE5ldyBmaWxlLgotKwkqIGdkYi5weXRo b24vcHktZnJhbWUtaW5saW5lLmV4cDogTmV3IGZpbGUuCi0rCi0gMjAxMS0wNC0yNSAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotIAotIAkqIGdkYi5iYXNlL2dk YmluZGV4LXN0YWJzLWR3YXJmLmM6IE5ldyBmaWxlLgotLS0tIHNyYy9nZGIvdGVzdHN1aXRlL2dk Yi5weXRob24vcHktZnJhbWUtaW5saW5lLmMKLSsrKyBzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5LWZyYW1lLWlubGluZS5jCTIwMTEtMDQtMjkgMDc6MzM6NDUuOTEyNTUyMDAwICswMDAw Ci1AQCAtMCwwICsxLDQzIEBACi0rLyogVGhpcyB0ZXN0IGlzIHBhcnQgb2YgR0RCLCB0aGUgR05V IGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsK LSt2b2xhdGlsZSBpbnQgdiA9IDQyOwotKwotK19fYXR0cmlidXRlX18oKF9fYWx3YXlzX2lubGlu ZV9fKSkgc3RhdGljIGludAotK2YgKHZvaWQpCi0rewotKyAgLyogUHJvdmlkZSBmaXJzdCBzdHVi IGxpbmUgc28gdGhhdCBHREIgdW5kZXJzdGFuZCB0aGUgUEMgaXMgYWxyZWFkeSBpbnNpZGUKLSsg ICAgIHRoZSBpbmxpbmVkIGZ1bmN0aW9uIGFuZCBkb2VzIG5vdCBleHBlY3QgYSBzdGVwIGludG8g aXQuICAqLwotKyAgdisrOwotKyAgdisrOwkJLyogYnJlYWstaGVyZSAqLwotKwotKyAgcmV0dXJu IHY7Ci0rfQotKwotK19fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpIHN0YXRpYyBpbnQKLStn ICh2b2lkKQotK3sKLSsgIHZvbGF0aWxlIGludCBsID0gdjsKLSsKLSsgIHJldHVybiBmICgpOwot K30KLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIHJldHVybiBnICgpOwotK30KLS0tLSBz cmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5leHAKLSsrKyBzcmMv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5leHAJMjAxMS0wNC0yOSAw NzozMzo0Ni42NDk4MTcwMDAgKzAwMDAKLUBAIC0wLDAgKzEsMzkgQEAKLSsjIENvcHlyaWdodCAo QykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCi0rCi0rbG9hZF9saWIgZ2RiLXB5dGhvbi5leHAKLSsKLStzZXQgdGVz dGZpbGUgInB5LWZyYW1lLWlubGluZSIKLStzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCi0raWYg eyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNm aWxlfV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFNraXAgYWxsIHRlc3RzIGlmIFB5 dGhvbiBzY3JpcHRpbmcgaXMgbm90IGVuYWJsZWQuCi0raWYgeyBbc2tpcF9weXRob25fdGVzdHNd IH0geyBjb250aW51ZSB9Ci0rCi0raWYgIVtydW50byBtYWluXSB0aGVuIHsKLSsgICAgZmFpbCAi Q2FuJ3QgcnVuIHRvIGZ1bmN0aW9uIGYiCi0rICAgIHJldHVybiAwCi0rfQotKwotK2dkYl9icmVh a3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhay1oZXJlIl0KLStnZGJfY29udGludWVf dG9fYnJlYWtwb2ludCAiQmxvY2sgYnJlYWsgaGVyZS4iCi0rCi0rZ2RiX3Rlc3QgImluZm8gZnJh bWUiICJpbmxpbmVkIGludG8gZnJhbWUgMVxyXG4uKiIKLSsKLStnZGJfdGVzdCAidXAiICIjMSAg ZyAuKiIKLSsKLStnZGJfdGVzdCAicHl0aG9uIHByaW50IGdkYi5zZWxlY3RlZF9mcmFtZSgpLnJl YWRfdmFyKCdsJykiICJcclxuNDIiCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwpp bmRleCAzOGI0YmZhLi5mY2E5MzQzIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3Bl YwpAQCAtMjMsMTEgKzIzLDExIEBAIE5hbWU6IGdkYiV7P193aXRoX2RlYnVnOi1kZWJ1Z30KICMg U2V0IHZlcnNpb24gdG8gY29udGVudHMgb2YgZ2RiL3ZlcnNpb24uaW4uCiAjIE5PVEU6IHRoZSBG U0YgZ2RiIHZlcnNpb25zIGFyZSBudW1iZXJlZCBOLk0gZm9yIG9mZmljaWFsIHJlbGVhc2VzLCBs aWtlIDYuMwogIyBhbmQsIHNpbmNlIEphbnVhcnkgMjAwNSwgWC5ZLlouZGF0ZSBmb3IgZGFpbHkg c25hcHNob3RzLCBsaWtlIDYuMy41MC4yMDA1MDExMiAjIChkYWlseSBzbmFwc2hvdCBmcm9tIG1h aWxpbmUpLCBvciA2LjMuMC4yMDA0MDExMiAoaGVhZCBvZiB0aGUgcmVsZWFzZSBicmFuY2gpLgot VmVyc2lvbjogNy4yLjkwLjIwMTEwNDI5CitWZXJzaW9uOiA3LjIuOTAuMjAxMTA1MjUKIAogIyBU aGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3Rh cnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5 IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxl YXNlOiAzNyV7P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTogMzgl ez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFu ZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2Vw dGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3Jv dXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtMjYwLDcgKzI2MCw3IEBAIFBhdGNoMjMxOiBn ZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gKIAogIyBCYWNrcG9y dGVkIGZpeHVwcyBwb3N0IHRoZSBzb3VyY2UgdGFyYmFsbC4KICNYZHJvcDogSnVzdCBiYWNrcG9y dHMuCi1QYXRjaDIzMjogZ2RiLXVwc3RyZWFtLnBhdGNoCisjUGF0Y2gyMzI6IGdkYi11cHN0cmVh bS5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciBQUEMgUG93ZXI2L0RGUCBpbnN0cnVjdGlvbnMgZGlz YXNzZW1ibHkgKEJaIDIzMDAwMCkuCiAjPWZlZG9yYXRlc3QrcHBjCkBAIC01NTcsMTkgKzU1Nywx NSBAQCBQYXRjaDU4MDogZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtMW9mNS5wYXRjaAog UGF0Y2g1ODE6IGdkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTJvZjUucGF0Y2gKIFBhdGNo NTgyOiBnZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS0zb2Y1LnBhdGNoCiBQYXRjaDU4Mzog Z2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtNG9mNS5wYXRjaAotUGF0Y2g1ODg6IGdkYi1i ejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTVvZjUucGF0Y2gKLQotIyBGaXggLU8yIC1nIGJyZWFr cG9pbnRzIGludGVybmFsIGVycm9yICsgcHJvbG9ndWUgc2tpcHBpbmcgKEJaIDYxMjI1MykuCi1Q YXRjaDU4OTogZ2RiLW9wdGltLWctcHJvbG9ndWUtc2tpcC5wYXRjaAotCi0jIEZpeCBwaHlzbmFt ZS1yZWxhdGVkIENVIGV4cGFuc2lvbiBpc3N1ZSBmb3IgQysrIChQUiAxMjcwOCkuCi1QYXRjaDU5 MDogZ2RiLXBoeXNuYW1lLWV4cGFuZC1jb21wbGV0ZXIucGF0Y2gKIAogIyBCdW5kbGUgcmVhZGxp bmUtNi4yIHdpdGggYSB3b3JrYXJvdW5kIG9mIHNraXBwZWQgImFzayIgKEJaIDcwMTEzMSkuCiBQ YXRjaDU5MTogZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItMW9mMy5wYXRjaAogUGF0Y2g1OTI6IGdk Yi1iejcwMTEzMS1yZWFkbGluZTYyLTJvZjMucGF0Y2gKIFBhdGNoNTkzOiBnZGItYno3MDExMzEt cmVhZGxpbmU2Mi0zb2YzLnBhdGNoCiAKKyMgW3N0YXBdIEZpeCBkb3VibGUgZnJlZS4KK1BhdGNo NTk0OiBnZGItc3RhcC1kb3VibGUtZnJlZS5wYXRjaAorCiBCdWlsZFJlcXVpcmVzOiBuY3Vyc2Vz LWRldmVsJXs/X2lzYX0gdGV4aW5mbyBnZXR0ZXh0IGZsZXggYmlzb24gZXhwYXQtZGV2ZWwlez9f aXNhfQogIyAtLXdpdGhvdXQtc3lzdGVtLXJlYWRsaW5lCiAjIFJlcXVpcmVzOiByZWFkbGluZSV7 P19pc2F9CkBAIC03MjcsNyArNzIzLDcgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAu YyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogCiAlaWYgMCV7IT9fd2l0aF91cHN0cmVhbTox fQogCi0lcGF0Y2gyMzIgLXAxCisjcGF0Y2gyMzIgLXAxCiAlcGF0Y2gzNDkgLXAxCiAlcGF0Y2gx IC1wMQogJXBhdGNoMyAtcDEKQEAgLTg0MywxMiArODM5LDEwIEBAIHJtIC1mIGdkYi9qdi1leHAu YyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMKICVwYXRjaDU4MSAtcDEK ICVwYXRjaDU4MiAtcDEKICVwYXRjaDU4MyAtcDEKLSVwYXRjaDU4OCAtcDEKLSVwYXRjaDU4OSAt cDEKLSVwYXRjaDU5MCAtcDEKICVwYXRjaDU5MSAtcDEKICVwYXRjaDU5MiAtcDEKICVwYXRjaDU5 MyAtcDEKKyVwYXRjaDU5NCAtcDEKIAogJXBhdGNoMzkzIC1wMQogJXBhdGNoMzM1IC1wMQpAQCAt MTI3MSw2ICsxMjY1LDEwIEBAIGZpCiAle19pbmZvZGlyfS9nZGIuaW5mbyoKIAogJWNoYW5nZWxv ZworKiBXZWQgTWF5IDI1IDIwMTEgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhh dC5jb20+IC0gNy4yLjkwLjIwMTEwNTI1LTM4LmZjMTUKKy0gUmViYXNlIHRvIEZTRiBHREIgNy4y LjkwLjIwMTEwNTI1ICh3aGljaCBpcyBhIDcuMyBwcmUtcmVsZWFzZSkuCistIFtzdGFwXSBGaXgg ZG91YmxlIGZyZWUgKFNlcmdpbyBEdXJpZ2FuIEp1bmlvcikuCisKICogVHVlIE1heSAgMyAyMDEx IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi45MC4yMDEx MDQyOS0zNy5mYzE1CiAtIFNlYXJjaCBhbHNvIGZvciAuPHNlcW5vPiBmaWxlcyBpbiAvdXNyL2xp Yi9kZWJ1Zy8uYnVpbGQtaWQgKEJaIDY0MTM3NykuCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIv c291cmNlcwppbmRleCAxNGVjZmVhLi45OGYxYTA0IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBi L3NvdXJjZXMKQEAgLTEsMiArMSwyIEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNjNDg5OTBmZTYxOTU4 ZCAgbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLWU1ODVlNDg0MDAxZjVjZDY5 ZTg3Y2JjZDBjOTljMWY3ICBnZGItNy4yLjkwLjIwMTEwNDI5LnRhci5iejIKK2I2MTI4ZWIwMzQx ZGY1NmQ2NmYwYTM1NThlYmM5ODk5ICBnZGItNy4yLjkwLjIwMTEwNTI1LnRhci5iejIK