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] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.2.90.20110525 (which is a 7.3 pre-release). Date: Sat, 27 Jun 2026 23:55:10 GMT Message-ID: <178260451009.1.101268711807271447.rpms-gdb-c8a4544144b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: c8a4544144b54e1e58bc93b51510e76b3b8b2758 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYzhhNDU0NDE0NGI1NGUxZTU4YmM5M2I1MTUxMGU3NmIzYjhi Mjc1OAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wNS0yNVQyMToyNToyNiswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArNjE1Ly0xODEwIGluIDEzIGZpbGUocykKICAgICAgICAg ICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy9jOGE0 NTQ0MTQ0YjU0ZTFlNThiYzkzYjUxNTEwZTc2YjNiOGIyNzU4P2JyYW5jaD1nZGItMTcuMi1yZWJh c2UtZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlYmFzZSB0byBGU0YgR0RCIDcu Mi45MC4yMDExMDUyNSAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgpbc3RhcF0gRml4IGRv dWJsZSBmcmVlIChTZXJnaW8gRHVyaWdhbiBKdW5pb3IpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0 aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA3NmZkMmRjLi5jMjYzYzdkIDEwMDY0NAotLS0gYS8u Z2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsMiArMSwyIEBACiAvbGlic3RkYysrLXYz LXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy4yLjkwLjIwMTEwNDI5LnRhci5iejIKKy9n ZGItNy4yLjkwLjIwMTEwNTI1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1h ZGRvbnMucGF0Y2ggYi9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKaW5kZXggMGE0Nzg2Ni4u YTU2ODcwYiAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCisrKyBiL2dk Yi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUluZGV4OiBnZGItNy4y LjUwLjIwMTEwMTE3L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMTE3Lm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTAxLTE3IDE1OjU2OjIzLjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTAxLTE3IDE2OjAw OjE0LjAwMDAwMDAwMCArMDEwMAotQEAgLTc0NzUsNyArNzQ3NSwxMiBAQCByZWFkX2NvbW1vbl9i bG9jayAoc3RydWN0IGRpZV9pbmZvICpkaWUsCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0yNSAxNzoxMDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0yNSAxNzoxMjoz NS4wMDAwMDAwMDAgKzAyMDAKK0BAIC03Njc1LDcgKzc2NzUsMTIgQEAgcmVhZF9jb21tb25fYmxv Y2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAogIHsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7 CiAgICBzdHJ1Y3Qgc3ltYm9sICpzeW07CkBAIC0xNiw3ICsxNiw3IEBAIEluZGV4OiBnZGItNy4y LjUwLjIwMTEwMTE3L2dkYi9kd2FyZjJyZWFkLmMKICAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAo ZGllLCBEV19BVF9sb2NhdGlvbiwgY3UpOwogICAgaWYgKGF0dHIpCi1AQCAtNzQ4NCw2ICs3NDg5 LDcgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAorQEAgLTc2ODQs NiArNzY4OSw3IEBAIHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAg ICAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgICAgIHsKICAgICAgICAg ICAgYmFzZSA9IGRlY29kZV9sb2NkZXNjIChEV19CTE9DSyAoYXR0ciksIGN1KTsKQEAgLTI0LDE1 ICsyNCwxNSBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYycmVhZC5jCiAg ICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoYXR0cl9mb3JtX2lzX3NlY3Rpb25fb2Zmc2V0IChh dHRyKSkKICAgICAgICAgIHsKLUBAIC03NTQ1LDEyICs3NTUxLDE1IEBAIHJlYWRfY29tbW9uX2Js b2NrIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwKLSAJICAgICAgZWxzZQotIAkJZHdhcmYyX2NvbXBs ZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKCk7Ci0gCi0tCSAgICAgIFNZTUJPTF9WQUxVRV9B RERSRVNTIChzeW0pID0gYmFzZSArIGJ5dGVfb2Zmc2V0OworQEAgLTc3MzYsMTIgKzc3NDIsMTUg QEAgcmVhZF9jb21tb25fYmxvY2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAorIAkgIGlmIChzeW0g IT0gTlVMTAorIAkgICAgICAmJiBoYW5kbGVfZGF0YV9tZW1iZXJfbG9jYXRpb24gKGNoaWxkX2Rp ZSwgY3UsICZvZmZzZXQpKQorIAkgICAgeworLQkgICAgICBTWU1CT0xfVkFMVUVfQUREUkVTUyAo c3ltKSA9IGJhc2UgKyBvZmZzZXQ7CiArCSAgICAgIGlmICghYmFzZV9wKQogKwkJZHdhcmYyX2lu dmFsaWRfYXR0cmliX2NsYXNzX2NvbXBsYWludAogKwkJICAoIkRXX0FUX2RhdGFfbWVtYmVyX2xv Y2F0aW9uIiwgImNvbW1vbiBibG9jayBtZW1iZXIiKTsKLSsJICAgICAgU1lNQk9MX1ZBTFVFX0FE RFJFU1MgKHN5bSkgPSBiYXNlICsgYnl0ZV9vZmZzZXQgKyBiYXNlYWRkcjsKKysJICAgICAgU1lN Qk9MX1ZBTFVFX0FERFJFU1MgKHN5bSkgPSBiYXNlICsgb2Zmc2V0ICsgYmFzZWFkZHI7CiAgCSAg ICAgIGFkZF9zeW1ib2xfdG9fbGlzdCAoc3ltLCAmZ2xvYmFsX3N5bWJvbHMpOwogIAkgICAgfQog IApAQCAtNDIsNyArNDIsNyBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYy cmVhZC5jCiAgCSAgZWxzZQogIAkgICAgU0VUX0ZJRUxEX1BIWVNOQU1FICgqZmllbGQsIFNZTUJP TF9MSU5LQUdFX05BTUUgKHN5bSkpOwogIAkgIEZJRUxEX1RZUEUgKCpmaWVsZCkgPSBTWU1CT0xf VFlQRSAoc3ltKTsKLUBAIC03NTY0LDcgKzc1NzMsNyBAQCByZWFkX2NvbW1vbl9ibG9jayAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsCitAQCAtNzc1NSw3ICs3NzY0LDcgQEAgcmVhZF9jb21tb25fYmxv Y2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAogIAogICAgICAgIHN5bSA9IG5ld19zeW1ib2wgKGRp ZSwgdHlwZSwgY3UpOwogICAgICAgIC8qIFNZTUJPTF9WQUxVRV9BRERSRVNTIG5ldmVyIGdldHMg dXNlZCBhcyBhbGwgaXRzIGZpZWxkcyBhcmUgc3RhdGljLiAgKi8KQEAgLTUxLDExICs1MSwxMSBA QCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICAgICAg c2V0X2RpZV90eXBlIChkaWUsIHR5cGUsIGN1KTsKICAgICAgfQotSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAxMTcvZ2RiL2dkYnR5cGVzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9n ZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDExNy5vcmlnL2dkYi9n ZGJ0eXBlcy5oCTIwMTEtMDEtMTcgMTU6NTE6MDMuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi41MC4yMDExMDExNy9nZGIvZ2RidHlwZXMuaAkyMDExLTAxLTE3IDE2OjAwOjMyLjAwMDAwMDAw MCArMDEwMAotQEAgLTM5NCw2ICszOTQsNyBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1 ZQorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dk YnR5cGVzLmgJMjAxMS0wNS0yNSAxNzoxMToxMC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zOTYsNiAr Mzk2LDcgQEAgZW51bSB0eXBlX2luc3RhbmNlX2ZsYWdfdmFsdWUKICBlbnVtIGZpZWxkX2xvY19r aW5kCiAgICB7CiAgICAgIEZJRUxEX0xPQ19LSU5EX0JJVFBPUywJLyogYml0cG9zICovCkBAIC02 Myw3ICs2Myw3IEBAIEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9nZGJ0eXBlcy5oCiAg ICAgIEZJRUxEX0xPQ19LSU5EX1BIWVNBRERSLAkvKiBwaHlzYWRkciAqLwogICAgICBGSUVMRF9M T0NfS0lORF9QSFlTTkFNRQkvKiBwaHlzbmFtZSAqLwogICAgfTsKLUBAIC01NzYsNiArNTc3LDcg QEAgc3RydWN0IG1haW5fdHlwZQorQEAgLTU4MCw2ICs1ODEsNyBAQCBzdHJ1Y3QgbWFpbl90eXBl CiAgCSAgIGlzIHRoZSBsb2NhdGlvbiAoaW4gdGhlIHRhcmdldCkgb2YgdGhlIHN0YXRpYyBmaWVs ZC4KICAJICAgT3RoZXJ3aXNlLCBwaHlzbmFtZSBpcyB0aGUgbWFuZ2xlZCBsYWJlbCBvZiB0aGUg c3RhdGljIGZpZWxkLiAgKi8KICAKQEAgLTcxLDcgKzcxLDcgQEAgSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAxMTcvZ2RiL2dkYnR5cGVzLmgKICAJQ09SRV9BRERSIHBoeXNhZGRyOwogIAljaGFyICpw aHlzbmFtZTsKICAgICAgICB9Ci1AQCAtMTEwMiw2ICsxMTA0LDcgQEAgZXh0ZXJuIHZvaWQgYWxs b2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQorQEAgLTExMDYsNiArMTEwOCw3IEBAIGV4dGVybiB2 b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnUKICAjZGVmaW5lIEZJRUxEX0xPQ19LSU5E KHRoaXNmbGQpICgodGhpc2ZsZCkubG9jX2tpbmQpCiAgI2RlZmluZSBGSUVMRF9CSVRQT1ModGhp c2ZsZCkgKCh0aGlzZmxkKS5sb2MuYml0cG9zKQogICNkZWZpbmUgRklFTERfU1RBVElDX1BIWVNO QU1FKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNuYW1lKQpAQCAtNzksNyArNzksNyBAQCBJ bmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvZ2RidHlwZXMuaAogICNkZWZpbmUgRklFTERf U1RBVElDX1BIWVNBRERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNhZGRyKQogICNkZWZp bmUgU0VUX0ZJRUxEX0JJVFBPUyh0aGlzZmxkLCBiaXRwb3MpCQkJXAogICAgKEZJRUxEX0xPQ19L SU5EICh0aGlzZmxkKSA9IEZJRUxEX0xPQ19LSU5EX0JJVFBPUywJCVwKLUBAIC0xMTA5LDYgKzEx MTIsNyBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1CitAQCAtMTEx Myw2ICsxMTE2LDcgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQog ICNkZWZpbmUgU0VUX0ZJRUxEX1BIWVNOQU1FKHRoaXNmbGQsIG5hbWUpCQkJXAogICAgKEZJRUxE X0xPQ19LSU5EICh0aGlzZmxkKSA9IEZJRUxEX0xPQ19LSU5EX1BIWVNOQU1FLAkJXAogICAgIEZJ RUxEX1NUQVRJQ19QSFlTTkFNRSAodGhpc2ZsZCkgPSAobmFtZSkpCkBAIC04Nyw3ICs4Nyw3IEBA IEluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9nZGJ0eXBlcy5oCiAgI2RlZmluZSBTRVRf RklFTERfUEhZU0FERFIodGhpc2ZsZCwgYWRkcikJCQlcCiAgICAoRklFTERfTE9DX0tJTkQgKHRo aXNmbGQpID0gRklFTERfTE9DX0tJTkRfUEhZU0FERFIsCQlcCiAgICAgRklFTERfU1RBVElDX1BI WVNBRERSICh0aGlzZmxkKSA9IChhZGRyKSkKLUBAIC0xMTIxLDYgKzExMjUsNyBAQCBleHRlcm4g dm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1CitAQCAtMTEyNSw2ICsxMTI5LDcgQEAg ZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydQogICNkZWZpbmUgVFlQRV9G SUVMRF9MT0NfS0lORCh0aGlzdHlwZSwgbikgRklFTERfTE9DX0tJTkQgKFRZUEVfRklFTEQgKHRo aXN0eXBlLCBuKSkKICAjZGVmaW5lIFRZUEVfRklFTERfQklUUE9TKHRoaXN0eXBlLCBuKSBGSUVM RF9CSVRQT1MgKFRZUEVfRklFTEQgKHRoaXN0eXBlLCBuKSkKICAjZGVmaW5lIFRZUEVfRklFTERf U1RBVElDX1BIWVNOQU1FKHRoaXN0eXBlLCBuKSBGSUVMRF9TVEFUSUNfUEhZU05BTUUgKFRZUEVf RklFTEQgKHRoaXN0eXBlLCBuKSkKQEAgLTk1LDEwICs5NSwxMCBAQCBJbmRleDogZ2RiLTcuMi41 MC4yMDExMDExNy9nZGIvZ2RidHlwZXMuaAogICNkZWZpbmUgVFlQRV9GSUVMRF9TVEFUSUNfUEhZ U0FERFIodGhpc3R5cGUsIG4pIEZJRUxEX1NUQVRJQ19QSFlTQUREUiAoVFlQRV9GSUVMRCAodGhp c3R5cGUsIG4pKQogICNkZWZpbmUgVFlQRV9GSUVMRF9BUlRJRklDSUFMKHRoaXN0eXBlLCBuKSBG SUVMRF9BUlRJRklDSUFMKFRZUEVfRklFTEQodGhpc3R5cGUsbikpCiAgI2RlZmluZSBUWVBFX0ZJ RUxEX0JJVFNJWkUodGhpc3R5cGUsIG4pIEZJRUxEX0JJVFNJWkUoVFlQRV9GSUVMRCh0aGlzdHlw ZSxuKSkKLUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMTE3L2dkYi9qdi1sYW5nLmMKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9qdi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4y LjUwLjIwMTEwMTE3Lm9yaWcvZ2RiL2p2LWxhbmcuYwkyMDExLTAxLTA5IDA0OjA4OjU3LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL2p2LWxhbmcuYwkyMDExLTAx LTE3IDE2OjAwOjU5LjAwMDAwMDAwMCArMDEwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3Jp Zy9nZGIvanYtbGFuZy5jCTIwMTEtMDMtMDIgMDE6NDI6NTMuMDAwMDAwMDAwICswMTAwCisrKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvanYtbGFuZy5jCTIwMTEtMDUtMjUgMTc6MTE6MTAuMDAw MDAwMDAwICswMjAwCiBAQCAtNDE0LDcgKzQxNCw4IEBAIGphdmFfbGlua19jbGFzc190eXBlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2QKICAKICAgIGZpZWxkcyA9IE5VTEw7CkBAIC0xMTksMTEgKzExOSwx MSBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDExNy9nZGIvanYtbGFuZy5jCiAgICAgICAgZWxz ZQogIAlUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwgaSkgPSA4ICogYm9mZnNldDsKICAgICAgICBp ZiAoYWNjZmxhZ3MgJiAweDgwMDApCS8qIEZJRUxEX1VOUkVTT0xWRURfRkxBRyAqLwotSW5kZXg6 IGdkYi03LjIuNTAuMjAxMTAxMTcvZ2RiL3ZhbHVlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi92YWx1ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDExNy5vcmln L2dkYi92YWx1ZS5jCTIwMTEtMDEtMTcgMTU6NDc6MzcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuMi41MC4yMDExMDExNy9nZGIvdmFsdWUuYwkyMDExLTAxLTE3IDE2OjAwOjE0LjAwMDAwMDAw MCArMDEwMAotQEAgLTE5OTcsNyArMTk5Nyw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3RydWN0 IHR5cGUgKnR5cGUsIGkKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3ZhbHVlLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi92YWx1ZS5jCTIwMTEtMDUtMjUgMTc6MTE6MTAuMDAwMDAwMDAwICswMjAwCitAQCAt MjQ5Miw3ICsyNDkyLDggQEAgdmFsdWVfc3RhdGljX2ZpZWxkIChzdHJ1Y3QgdHlwZSAqdHlwZSwg aQogICAgICB7CiAgICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0 dmFsID0gdmFsdWVfYXRfbGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKCmRp ZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCBiZmJl YzliLi42YmY5MTY4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNo ZXIucGF0Y2gKQEAgLTExLDEwICsxMSwxMCBAQCBhcmNoZXItdHJvbWV5LXB5dGhvbgogYXJjaGVy LXNlcmdpb2RqLXN0YXAtZmVkb3JhMTVqawogCiAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2JmZC9lbGYtYmZkLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYtYmZkLmgK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvYmZkL2VsZi1iZmQuaAky MDExLTAzLTE0IDE2OjU0OjU3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvYmZkL2VsZi1iZmQuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0t IGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9iZmQvZWxmLWJmZC5oCTIwMTEtMDMtMTQgMTY6NTQ6 NTcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9iZmQvZWxmLWJmZC5o CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTQ3Niw2ICsxNDc2LDE1 IEBAIGVudW0KICAgIFRhZ19jb21wYXRpYmlsaXR5ID0gMzIKICB9OwpAQCAtNDMsMTAgKzQzLDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYtYmZkLmgKICAgIC8qIFRydWUg aWYgdGhlIGJmZCBjb250YWlucyBzeW1ib2xzIHRoYXQgaGF2ZSB0aGUgU1RUX0dOVV9JRlVOQwog ICAgICAgc3ltYm9sIHR5cGUuICBVc2VkIHRvIHNldCB0aGUgb3NhYmkgZmllbGQgaW4gdGhlIEVM RiBoZWFkZXIKICAgICAgIHN0cnVjdHVyZS4gICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9iZmQvZWxmLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9iZmQvZWxmLmMJMjAxMS0wMy0xNCAx Njo1NDo1OC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2JmZC9lbGYu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9iZmQvZWxmLmMJMjAxMS0wMy0xNCAxNjo1NDo1OC4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2JmZC9lbGYuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTg0MTYsNiArODQxNiwzNyBAQCBlbGZvYmpfZ3Jva19nbnVfbm90 ZSAoYmZkICphYmZkLCBFbGZfSW50CiAgICAgIH0KICB9CkBAIC05OCwxMCArOTgsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvYmZkL2VsZi5jCiAgCSAgYnJlYWs7CiAgCX0KICAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9NYWtlZmlsZS5pbgorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL01ha2VmaWxlLmluCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9NYWtlZmlsZS5pbgkyMDExLTAzLTMwIDA4OjU1OjM5LjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL01ha2VmaWxlLmluCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9NYWtlZmlsZS5pbgkyMDExLTAzLTMwIDA4OjU1OjM5LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL01ha2VmaWxlLmluCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtNzIxLDggKzcyMSw4IEBAIFNGSUxFUyA9IGFkYS1leHAueSBh ZGEtbGFuZy5jIGFkYS10eXBlcHIKICAJc2VudGluZWwtZnJhbWUuYyBcCiAgCXNlcmlhbC5jIHNl ci1iYXNlLmMgc2VyLXVuaXguYyBcCkBAIC0xNDQsMTAgKzE0NCwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvTWFrZWZpbGUuaW4KICBjb25maWcuc3RhdHVzOiAkKHNyY2Rpcikv Y29uZmlndXJlIGNvbmZpZ3VyZS50Z3QgY29uZmlndXJlLmhvc3QKICAJJChTSEVMTCkgY29uZmln LnN0YXR1cyAtLXJlY2hlY2sKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ORVdT CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvTkVXUwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvTkVXUwkyMDExLTAzLTMxIDE2OjMyOjQ4LjAwMDAw MDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL05FV1MJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L05FV1MJMjAxMS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9ORVdTCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMzYsNiArMzYsMTAgQEAKICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIE9wZW5DTCBDIGxh bmd1YWdlIChodHRwOi8vd3d3Lmtocm9ub3Mub3JnL29wZW5jbCkKICAgIGhhcyBiZWVuIGludGVn cmF0ZWQgaW50byBHREIuCkBAIC0xNTksMTEgKzE1OSwxMSBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvTkVXUwogICogUHl0aG9uIHNjcmlwdGluZwogIAogICAgKiogVGhlIGZ1bmN0 aW9uIGdkYi5Xcml0ZSBub3cgYWNjZXB0cyBhbiBvcHRpb25hbCBrZXl3b3JkICdzdHJlYW0nLgot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2FkYS1sYW5nLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9hZGEtbGFuZy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9hZGEtbGFuZy5jCTIwMTEtMDQtMjAgMjI6MTA6MjkuMDAwMDAwMDAw ICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYWRhLWxhbmcuYwkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAotQEAgLTExMzkzLDYgKzExMzkzLDcgQEAgYWRhX29w ZXJhdG9yX2xlbmd0aCAoY29uc3Qgc3RydWN0IGV4cHJlcworLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvYWRhLWxhbmcuYwkyMDExLTA1LTE3IDIzOjI2OjA4LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2FkYS1sYW5nLmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMTQyMSw2ICsxMTQyMSw3IEBAIGFkYV9vcGVyYXRv cl9sZW5ndGggKGNvbnN0IHN0cnVjdCBleHByZXMKICAKICBzdGF0aWMgaW50CiAgYWRhX29wZXJh dG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLApAQCAtMTcxLDcgKzE3 MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hZGEtbGFuZy5jCiAgCQkgICAg aW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmRhdGEp LAogIAkJICAgIHZvaWQgKmRhdGEpCiAgewotQEAgLTExNDA3LDEyICsxMTQwOCwxNSBAQCBhZGFf b3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNzaW9uICplCitAQCAtMTE0MzUsMTIgKzExNDM2 LDE1IEBAIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmUKICAJYnJlYWs7 CiAgCiAgICAgICAgZGVmYXVsdDoKQEAgLTE4OSwxMCArMTg5LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgJiYgKCpvYmpmaWxlX2Z1bmMpIChU WVBFX09CSkZJTEUgKHR5cGUpLCBkYXRhKSkKICAgICAgcmV0dXJuIDE7CiAgCi1JbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvYW1kNjQtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9hbWQ2NC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvYW1kNjQtbGludXgtbmF0LmMJMjAxMS0wMS0wNyAyMDozNjox NS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hbWQ2NC1saW51 eC1uYXQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIu OTAuMjAxMTA1MjUub3JpZy9nZGIvYW1kNjQtbGludXgtbmF0LmMJMjAxMS0wMS0wNyAyMDozNjox NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9hbWQ2NC1saW51 eC1uYXQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTI2NSwxOCAr MjY1LDExIEBAIGFtZDY0X2xpbnV4X3N0b3JlX2luZmVyaW9yX3JlZ2lzdGVycyAoc3QKICAMCiAg LyogU3VwcG9ydCBmb3IgZGVidWcgcmVnaXN0ZXJzLiAgKi8KQEAgLTQxMSwxMCArNDExLDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9hbWQ2NC1saW51eC1uYXQuYwogIH0KICAM CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYXgtZ2RiLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9heC1nZGIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAu MjAxMTA0Mjkub3JpZy9nZGIvYXgtZ2RiLmMJMjAxMS0wMi0yNCAwODozOTo0Ny4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9heC1nZGIuYwkyMDExLTA0LTI5IDA5 OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIv YXgtZ2RiLmMJMjAxMS0wMi0yNCAwODozOTo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9heC1nZGIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTIwMDEsNyArMjAwMSw4IEBAIGdlbl9leHByIChzdHJ1Y3QgZXhwcmVzc2lvbiAq ZXhwLCB1bmlvbiAKICAKICAgICAgY2FzZSBPUF9JTlRFUk5BTFZBUjoKQEAgLTQzNCwxMCArNDM0 LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9heC1nZGIuYwogIAkgIGVycm9y IChfKCIkJXMgaXMgbm90IGEgdHJhY2Ugc3RhdGUgdmFyaWFibGU7IEdEQiBhZ2VudCAiCiAgCQkg ICAiZXhwcmVzc2lvbnMgY2Fubm90IHVzZSBjb252ZW5pZW5jZSB2YXJpYWJsZXMuIiksIG5hbWUp OwogICAgICAgIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9ibG9jay5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYmxvY2suYwkyMDExLTAxLTAxIDE2OjMyOjU3LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmMJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2Jsb2NrLmMJMjAxMS0wMS0wMSAxNjozMjo1Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9ibG9jay5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMzIyLDMgKzMyMiwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3Rh Y2sgKm9ic3RhY2spCiAgCiAgICByZXR1cm4gYmw7CkBAIC00NjAsMTAgKzQ2MCwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYmxvY2suYwogKwogKyAgcmV0dXJuIFNZTUJPTF9T WU1UQUIgKGZ1bmMpLT5vYmpmaWxlOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9ibG9jay5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYmxvY2suaAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYmxvY2suaAkyMDExLTAxLTAx IDE2OjMyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Js b2NrLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkw LjIwMTEwNTI1Lm9yaWcvZ2RiL2Jsb2NrLmgJMjAxMS0wMS0wMSAxNjozMjo1Ny4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9ibG9jay5oCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTY3LDQgKzE2Nyw2IEBAIGV4dGVybiBjb25zdCBz dHJ1Y3QgYmxvY2sgKmJsb2NrX2dsb2JhbF8KICAKICBleHRlcm4gc3RydWN0IGJsb2NrICphbGxv Y2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2spOwpAQCAtNDcxLDEwICs0NzEsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jsb2NrLmgKICtleHRlcm4gc3RydWN0 IG9iamZpbGUgKmJsb2NrX29iamZpbGUgKGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2spOwogKwog ICNlbmRpZiAvKiBCTE9DS19IICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJl YWtwb2ludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYnJlYWtwb2ludC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9icmVha3BvaW50LmMJ MjAxMS0wNC0xNSAwNjoxODozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9icmVha3BvaW50LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDExLTA1LTE3 IDIzOjI1OjU2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Jy ZWFrcG9pbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTYzLDYg KzYzLDggQEAKICAjaW5jbHVkZSAiaml0LmgiCiAgI2luY2x1ZGUgInhtbC1zeXNjYWxsLmgiCkBA IC04ODcsMTAgKzg4NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtw b2ludC5jCiArICBvYnNlcnZlcl9hdHRhY2hfbWFya191c2VkIChicmVha3BvaW50X3R5cGVzX21h cmtfdXNlZCk7CiArI2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Jy ZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2JyZWFrcG9pbnQuaAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYnJlYWtwb2ludC5o CTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvYnJlYWtwb2ludC5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMS0wNS0x NyAyMzoyNTo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9i cmVha3BvaW50LmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zNjMs NiArMzYzLDExIEBAIHN0cnVjdCBicF9sb2NhdGlvbgogICAgICAgcHJvY2Vzc29yJ3MgYXJjaGl0 ZWN0dWFsIGNvbnN0cmFpbnRzLiAgKi8KICAgIENPUkVfQUREUiByZXF1ZXN0ZWRfYWRkcmVzczsK QEAgLTkwMyw3ICs5MDMsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvYnJlYWtw b2ludC5oCiAgICBjaGFyICpmdW5jdGlvbl9uYW1lOwogIAogICAgLyogRGV0YWlscyBvZiB0aGUg cGxhY2VkIGJyZWFrcG9pbnQsIHdoZW4gaW5zZXJ0ZWQuICAqLwotQEAgLTEyMzMsNCArMTIzOCwx MSBAQCBleHRlcm4gc3RydWN0IGJyZWFrcG9pbnQgKml0ZXJhdGVfb3Zlcl9iCitAQCAtMTIzNyw0 ICsxMjQyLDExIEBAIGV4dGVybiBzdHJ1Y3QgYnJlYWtwb2ludCAqaXRlcmF0ZV9vdmVyX2IKICAK ICBleHRlcm4gaW50IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJlYWtwb2ludCAqKTsKICAK QEAgLTkxNSwxMCArOTE1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9icmVh a3BvaW50LmgKICtleHRlcm4gdm9pZCBtb2RpZnlfc2VtYXBob3JlIChzdHJ1Y3QgYnBfbG9jYXRp b24gKmxvY2F0aW9uLCBpbnQgc2V0KTsKICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9J TlRfSCkgKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jLXR5cGVwcmludC5jCitJ bmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvYy10eXBlcHJpbnQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvYy10eXBlcHJpbnQuYwkyMDExLTAzLTIy IDE4OjM1OjIyLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Mt dHlwZXByaW50LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS0wMy0yMiAxODozNToy Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9jLXR5cGVwcmlu dC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNjI1LDkgKzYyNSwx NCBAQCBjX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlCiAgCSAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiKSIpOwogIApAQCAtOTM3LDEwICs5MzcsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2MtdHlwZXByaW50LmMKICAJZnByaW50Zl9maWx0ZXJl ZCAoc3RyZWFtLCAiXSIpOwogIAogIAljX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVf VEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJlYW0sCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvY2xpL2NsaS11dGlscy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2Ns aS11dGlscy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9j bGkvY2xpLXV0aWxzLmMJMjAxMS0wMy0xNiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jbGkvY2xpLXV0aWxzLmMJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2NsaS9j bGktdXRpbHMuYwkyMDExLTAzLTE2IDIyOjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2NsaS9jbGktdXRpbHMuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTI0NSwzICsyNDUsMzIgQEAgcmVtb3ZlX3RyYWlsaW5nX3doaXRl c3BhY2UgKGNvbnN0IGNoYXIgKgogIAogICAgcmV0dXJuIHM7CkBAIC05NzQsMTAgKzk3NCwxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11dGlscy5jCiArCiArICBy ZXR1cm4gY29weTsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY2xpL2NsaS11 dGlscy5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvY2xpL2NsaS11dGlscy5oCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9jbGkvY2xpLXV0aWxz LmgJMjAxMS0wMy0xNiAyMjoxMjoxMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9jbGkvY2xpLXV0aWxzLmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2NsaS9jbGktdXRpbHMuaAky MDExLTAzLTE2IDIyOjEyOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL2NsaS9jbGktdXRpbHMuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTEwMyw0ICsxMDMsMTEgQEAgZXh0ZXJuIGNoYXIgKnNraXBfdG9fc3BhY2UgKGNoYXIg KmlucCk7CiAgICAgU1RBUlQuICAqLwogIApAQCAtOTkwLDEwICs5OTAsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2NsaS9jbGktdXRpbHMuaAogK2V4dGVybiBjaGFyICpleHRy YWN0X2FyZyAoY2hhciAqKmFyZyk7CiArCiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvY29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2NvZmZyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL2NvZmZyZWFkLmMJMjAxMS0wMy0xNyAxNDoxOToyMy4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jb2ZmcmVhZC5jCTIwMTEtMDQtMjkgMDk6 NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9j b2ZmcmVhZC5jCTIwMTEtMDMtMTcgMTQ6MTk6MjMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvY29mZnJlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTIxOTMsNiArMjE5Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2Zu cyBjb2ZmX3N5bV9mbnMKICAKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3Jl bG9jYXRlOiBSZWxvY2F0ZSBhIGRlYnVnCkBAIC0xMDAyLDEwICsxMDAyLDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9jb2ZmcmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9 OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2Vm aWxlLmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFr ZWZpbGUuaW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2Rh dGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6MzQ6NDEuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUu aW4JMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCTIwMTEtMDItMDQgMTk6 MzQ6NDEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGF0YS1k aXJlY3RvcnkvTWFrZWZpbGUuaW4JMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC01MiwxMSArNTIsMjMgQEAgU1lTQ0FMTFNfRklMRVMgPSBcCiAgUFlUSE9OX0RJUiA9IHB5 dGhvbgogIFBZVEhPTl9JTlNUQUxMX0RJUiA9ICQoREVTVERJUikkKEdEQl9EQVRBRElSKS8kKFBZ VEhPTl9ESVIpCkBAIC0xMDMzLDEwICsxMDMzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgogIAogIEZMQUdTX1RPX1BBU1MgPSBc CiAgCSJwcmVmaXg9JChwcmVmaXgpIiBcCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv ZGJ4cmVhZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZGJ4cmVhZC5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kYnhyZWFkLmMJMjAxMS0w My0yMyAxOToyMzo1NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9kYnhyZWFkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RieHJlYWQuYwkyMDExLTAzLTIzIDE5OjIzOjU0LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RieHJlYWQuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTEsNiArMSw2IEBACiAgLyogUmVh ZCBkYnggc3ltYm9sIHRhYmxlcyBhbmQgY29udmVydCB0byBpbnRlcm5hbCBmb3JtYXQsIGZvciBH REIuCiAgICAgQ29weXJpZ2h0IChDKSAxOTg2LCAxOTg3LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkx LCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LApAQCAtMTA1MywxMCArMTA1MywxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZGJ4cmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9 OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RlZnMuaAorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL2RlZnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAx MTA0Mjkub3JpZy9nZGIvZGVmcy5oCTIwMTEtMDMtMzEgMTY6MzI6NDguMDAwMDAwMDAwICswMjAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZGVmcy5oCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9kZWZzLmgJ MjAxMS0wMy0zMSAxNjozMjo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9kZWZzLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0z OTgsNiArMzk4LDggQEAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdAog IGV4dGVybiBzdHJ1Y3QgY2xlYW51cCAqCiAgICBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVh bnVwX3Jlc3RvcmVfcGFnZV9pbmZvICh2b2lkKTsKQEAgLTEwNjYsMTAgKzEwNjYsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2RlZnMuaAogIGV4dGVybiBjaGFyICpnZGJfcmVh bHBhdGggKGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIGNoYXIgKnhmdWxscGF0aCAoY29uc3QgY2hh ciAqKTsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiLnRleGluZm8K K0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDEx LTA0LTIwIDE5OjI2OjQyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAor LS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDUt MTcgMjM6Mjc6NDguMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv ZG9jL2dkYi50ZXhpbmZvCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MTE3Nyw2ICsxMTc3LDE2IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFy e2RldmljZX0gZm9yIHlvdXIgcHJvZ3JhbSdzIHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAg QGMgRklYTUU6IGtpbmdkb24gdGhpbmtzIHRoZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGln YXRlLgpAQCAtMTI0MywxMCArMTI0MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZG9jL2dkYi50ZXhpbmZvCiAgQGNpbmRleCBweXRob24gc3Rkb3V0CiAgQGNpbmRleCBweXRo b24gcGFnaW5hdGlvbgogIEF0IHN0YXJ0dXAsIEB2YWx1ZXtHREJOfSBvdmVycmlkZXMgUHl0aG9u J3MgQGNvZGV7c3lzLnN0ZG91dH0gYW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv ZG9jL2dkYmludC50ZXhpbmZvCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZG9jL2dk YmludC50ZXhpbmZvCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9kb2MvZ2RiaW50LnRleGluZm8JMjAxMS0wMi0wNCAyMDoxMDoxMi4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2MvZ2RiaW50LnRleGluZm8JMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcv Z2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTAyLTA0IDIwOjEwOjEyLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9nZGJpbnQudGV4aW5mbwkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIxMDQsNiArMjEwNCwxOCBAQCB0aW1l LCBhbmQgc28gd2UgYXR0ZW1wdCB0byBoYW5kbGUgc3ltYm9sCiAgd2UgY3JlYXRlIEBkZm57cGFy dGlhbCBzeW1ib2wgdGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2VsZWN0ZWQKICBzeW1ib2xz LCBhbmQgb25seSBleHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJsZXMgd2hlbiBuZWNlc3Nh cnkuCkBAIC0xMzcyLDEwICsxMzcyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9kb2MvZ2RiaW50LnRleGluZm8KICAKICAKICBAbm9kZSBMYW5ndWFnZSBTdXBwb3J0Ci1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZG9jL29ic2VydmVyLnRleGkKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZG9jL29ic2VydmVyLnRleGkJMjAxMS0wMS0wNSAw NjowOTo1NC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kb2Mv b2JzZXJ2ZXIudGV4aQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZG9jL29ic2VydmVyLnRleGkJMjAxMS0wMS0wNSAw NjowOTo1NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2Mv b2JzZXJ2ZXIudGV4aQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTIy Myw2ICsyMjMsMTEgQEAgQnl0ZXMgZnJvbSBAdmFye2RhdGF9IHRvIEB2YXJ7ZGF0YX0gKyBAdgog IHRvIHRoZSBjdXJyZW50IGluZmVyaW9yIGF0IEB2YXJ7YWRkcn0uCiAgQGVuZCBkZWZ0eXBlZnVu CkBAIC0xMzg4LDEwICsxMzg4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9k b2Mvb2JzZXJ2ZXIudGV4aQogIEBkZWZ0eXBlZnVuIHZvaWQgdGVzdF9ub3RpZmljYXRpb24gKGlu dCBAdmFye3NvbWVhcmd9KQogIFRoaXMgb2JzZXJ2ZXIgaXMgdXNlZCBmb3IgaW50ZXJuYWwgdGVz dGluZy4gIERvIG5vdCB1c2UuICAKICBTZWUgdGVzdHN1aXRlL2dkYi5nZGIvb2JzZXJ2ZXIuZXhw LgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmV4cHIuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZHdhcmYyZXhwci5jCTIwMTEtMDMtMjIgMjI6MDY6MzIu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYyZXhwci5j CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi9kd2FyZjJleHByLmMJMjAxMS0wNS0xMyAyMDo1NDo0Ny4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJleHByLmMJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC05MTIsNiArOTEyLDEzIEBAIGV4ZWN1dGVf c3RhY2tfb3AgKHN0cnVjdCBkd2FyZl9leHByX2NvbnQKICAJICBjdHgtPm51bV9waWVjZXMgPSAw OwogIAkgIGdvdG8gYWJvcnRfZXhwcmVzc2lvbjsKQEAgLTE0MDYsMTAgKzE0MDYsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4cHIuYwogIAlkZWZhdWx0OgogIAkg IGVycm9yIChfKCJVbmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBvcGNvZGUgMHgleCIpLCBvcCk7 CiAgCX0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJleHByLmgKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJleHByLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2R3YXJmMmV4cHIuaAkyMDExLTAyLTI3IDE3OjI1 OjM3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmV4 cHIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9nZGIvZHdhcmYyZXhwci5oCTIwMTEtMDItMjcgMTc6MjU6MzcuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYyZXhwci5oCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTE0LDkgKzExNCwxNSBAQCBzdHJ1 Y3QgZHdhcmZfZXhwcl9jb250ZXh0CiAgI2lmIDAKICAgIC8qIE5vdCB5ZXQgaW1wbGVtZW50ZWQu ICAqLwpAQCAtMTQyNywxMCArMTQyNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZHdhcmYyZXhwci5oCiAgCiAgICAvKiBUaGUgY3VycmVudCBkZXB0aCBvZiBkd2FyZiBleHBy ZXNzaW9uIHJlY3Vyc2lvbiwgdmlhIERXX09QX2NhbGwqLAogICAgICAgRFdfT1BfZmJyZWcsIERX X09QX3B1c2hfb2JqZWN0X2FkZHJlc3MsIGV0Yy4sIGFuZCB0aGUgbWF4aW11bQotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmxvYy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvZHdhcmYybG9jLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5 Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTEtMDMtMjIgMjI6MDY6MzMuMDAwMDAwMDAwICswMTAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYybG9jLmMJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2R3 YXJmMmxvYy5jCTIwMTEtMDMtMjIgMjI6MDY6MzMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvZHdhcmYybG9jLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0xMzQsNiArMTM0LDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KICB7 CiAgICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7CkBAIC0xNzg0LDEwICsxNzg0LDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuYwogKyAgbWlzc2luZ19kZXNj cmliZV9sb2NhdGlvbiwKICsgIG1pc3NpbmdfdHJhY2Vwb2ludF92YXJfcmVmCiArfTsKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuaAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9kd2FyZjJsb2MuaAkyMDExLTAyLTE3IDE3OjIwOjQ0LjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDQtMjkg MDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi9kd2FyZjJsb2MuaAkyMDExLTAyLTE3IDE3OjIwOjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMmxvYy5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMTA3LDYgKzEwNywxNSBAQCBzdHJ1Y3QgZHdhcmYyX2xvY2xpc3Rf YmF0b24KICAKICBleHRlcm4gY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYy X2xvY2V4cHJfZnVuY3M7CkBAIC0xODA0LDExICsxODA0LDExIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9kd2FyZjJsb2MuaAogIAogIC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlv biBleHByZXNzaW9uIHRvIGFuIGFnZW50IGV4cHJlc3Npb24uCiAgICAgCi1JbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKLUBAIC0xMjEyLDYgKzEyMTIsOSBAQCBzdGF0aWMgdm9pZCBm aWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0xNyAyMzoyNjozOS4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0wNS0yNSAxNzowNjow Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMjE5LDYgKzEyMTksOSBAQCBzdGF0aWMgdm9pZCBmaWxs X2luX2xvY2xpc3RfYmF0b24gKHN0cnVjCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9i YXRvbiAqYmF0b24sCiAgCQkJCSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTgx OCw3ICsxODE4LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQu YwogIHN0YXRpYyB2b2lkIGR3YXJmMl9zeW1ib2xfbWFya19jb21wdXRlZCAoc3RydWN0IGF0dHJp YnV0ZSAqYXR0ciwKICAJCQkJCSBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgCQkJCQkgc3RydWN0IGR3 YXJmMl9jdSAqY3UpOwotQEAgLTEyNDYsNiArMTI0OSw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNo ZWRfY29tcF91bml0cyAodm9pZCkKK0BAIC0xMjUzLDYgKzEyNTYsOSBAQCBzdGF0aWMgdm9pZCBh Z2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpCiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2Fj aGVkX2NvbXBfdW5pdCAodm9pZCAqKTsKICAKQEAgLTE4MjgsNyArMTgyOCw3IEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICBzdGF0aWMgc3RydWN0IHR5cGUg KnNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICosIHN0cnVjdCB0eXBlICosCiAgCQkJCSAg c3RydWN0IGR3YXJmMl9jdSAqKTsKICAKLUBAIC0xMjcwLDYgKzEyNzYsOSBAQCBzdGF0aWMgc3Ry dWN0IHR5cGUgKmdldF9kaWVfdHlwZV9hdF9vZmZzCitAQCAtMTI3Nyw2ICsxMjgzLDkgQEAgc3Rh dGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGVfYXRfb2ZmcwogIAogIHN0YXRpYyBzdHJ1Y3Qg dHlwZSAqZ2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UpOwogIApAQCAtMTgzOCw3ICsxODM4LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL2R3YXJmMnJlYWQuYwogIHN0YXRpYyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2 b2lkICpkdW1teSk7CiAgCiAgc3RhdGljIHZvaWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdh cmYyX3Blcl9jdV9kYXRhICpwZXJfY3UsCi1AQCAtNzM1OSw2ICs3MzY4LDI5IEBAIHByb2Nlc3Nf ZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW4KK0BAIC03NDU1LDYgKzc0NjQsMjkgQEAg cHJvY2Vzc19lbnVtZXJhdGlvbl9zY29wZSAoc3RydWN0IGRpZV9pbgogICAgbmV3X3N5bWJvbCAo ZGllLCB0aGlzX3R5cGUsIGN1KTsKICB9CiAgCkBAIC0xODY4LDcgKzE4NjgsNyBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgLyogRXh0cmFjdCBhbGwgaW5m b3JtYXRpb24gZnJvbSBhIERXX1RBR19hcnJheV90eXBlIERJRSBhbmQgcHV0IGl0IGluCiAgICAg dGhlIERJRSdzIHR5cGUgZmllbGQuICBGb3Igbm93LCB0aGlzIG9ubHkgaGFuZGxlcyBvbmUgZGlt ZW5zaW9uYWwKICAgICBhcnJheXMuICAqLwotQEAgLTczNzIsNyArNzQwNCw3IEBAIHJlYWRfYXJy YXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHMKK0BAIC03NDY4LDcgKzc1MDAsNyBAQCBy ZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICBzdHJ1Y3QgdHlwZSAq ZWxlbWVudF90eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAq KnJhbmdlX3R5cGVzID0gTlVMTDsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0xODc3 LDcgKzE4NzcsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5j CiAgICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKICAgIGNoYXIgKm5hbWU7CiAgCi1AQCAtNzQy NSwxNyArNzQ1NywxOSBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz CitAQCAtNzUyMSwxNyArNzU1MywxOSBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzCiAgICB0eXBlID0gZWxlbWVudF90eXBlOwogIAogICAgaWYgKHJlYWRfYXJyYXlf b3JkZXIgKGRpZSwgY3UpID09IERXX09SRF9jb2xfbWFqb3IpCkBAIC0xOTA4LDcgKzE5MDgsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICAvKiBV bmRlcnN0YW5kIER3YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1 ciBvbgogICAgICAgdGhlIFBvd2VyUEMgdy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3Ro ZXIgYXR0cmlidXRlIHRvIHRoZQotQEAgLTc5MjgsMjkgKzc5NjIsMTE0IEBAIHJlYWRfdGFnX3N0 cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmQKK0BAIC04MDE1LDI5ICs4MDQ5LDExNCBAQCBy ZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkCiAgICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUg KnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBh dHRyaWJ1dGUgKmF0dHI7CkBAIC0yMDM2LDcgKzIwMzYsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICBjaGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdf Y2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRl X3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAotQEAgLTgyMzUs OCArODM1NCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUKK0BA IC04MzIyLDggKzg0NDEsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllCiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlOwogICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5 cGU7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjA0Niw3ICsyMDQ2LDcgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hhciAqbmFtZTsK ICAgIExPTkdFU1QgbmVnYXRpdmVfbWFzazsKICAKLUBAIC04MjQ5LDUzICs4MzY3LDEyNiBAQCBy ZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllCitAQCAtODMzNiw1MyArODQ1 NCwxMjYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQogICAgaWYg KHJhbmdlX3R5cGUpCiAgICAgIHJldHVybiByYW5nZV90eXBlOwogIApAQCAtMjIwOCw3ICsyMjA4 LDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgICB9 CiAgCiAgICAvKiBEd2FyZi0yIHNwZWNpZmljYXRpb25zIGV4cGxpY2l0bHkgYWxsb3dzIHRvIGNy ZWF0ZSBzdWJyYW5nZSB0eXBlcwotQEAgLTgzMzYsMjQgKzg1MjcsNDEgQEAgcmVhZF9zdWJyYW5n ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQorQEAgLTg0MjMsMjQgKzg2MTQsNDEgQEAgcmVh ZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZQogIAl9CiAgICAgIH0KICAKQEAg LTIyNjgsNyArMjI2OCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJy ZWFkLmMKICAKICAgIG5hbWUgPSBkd2FyZjJfbmFtZSAoZGllLCBjdSk7CiAgICBpZiAobmFtZSkK LUBAIC0xMDg5OCwxMCArMTExMDYsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0 dHJpYnV0ZSAqYQorQEAgLTEwOTg1LDEwICsxMTE5MywxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9u IChzdHJ1Y3QgYXR0cmlidXRlICphCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2YWx1ZSBvZiBhIHJl Z2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNlZCwgb3IgYSB0aHJl YWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQKICAgICAgIG5vdCBi ZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5sZXNzIHBlcmZvcm1h bmNlCkBAIC0yMjgwLDEwICsyMjgwLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9kd2FyZjJyZWFkLmMKIC0gIGR3YXJmMl9zeW1ib2xfbWFya19jb21wdXRlZCAoYXR0ciwgc3lt LCBjdSk7CiAgICBTWU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0NfQ09NUFVURUQ7CiArICBkd2FyZjJf c3ltYm9sX21hcmtfY29tcHV0ZWQgKGF0dHIsIHN5bSwgY3UpOwotIH0KICAKLSAvKiBHaXZlbiBh IHBvaW50ZXIgdG8gYSBEV0FSRiBpbmZvcm1hdGlvbiBlbnRyeSwgZmlndXJlIG91dCBpZiB3ZSBu ZWVkCi1AQCAtMTA5MzksNiArMTExNDksOCBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzCisgICBpZiAoU1lNQk9MX0NPTVBVVEVEX09QUyAoc3ltKSA9PSAmZHdhcmYy X2xvY2xpc3RfZnVuY3MpCisgICAgIGN1LT5oYXNfbG9jbGlzdCA9IDE7CitAQCAtMTEwMjksNiAr MTEyMzksOCBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCiAgICAg ICAgZWxzZQogIAlzeW0gPSBPQlNUQUNLX1pBTExPQyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFj aywgc3RydWN0IHN5bWJvbCk7CiAgICAgICAgT0JKU1RBVCAob2JqZmlsZSwgbl9zeW1zKyspOwpA QCAtMjI5Miw3ICsyMjkyLDcgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJm MnJlYWQuYwogIAogICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5h bWUncyBkZW1hbmdsZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5H VUFHRSAoc3ltLCBjdS0+bGFuZ3VhZ2UpOwotQEAgLTExNzExLDYgKzExOTIzLDkgQEAgcmVhZF90 eXBlX2RpZV8xIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcworQEAgLTExODAxLDYgKzEyMDEzLDkg QEAgcmVhZF90eXBlX2RpZV8xIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogICAgICAgIGJyZWFr OwogICAgICB9CiAgCkBAIC0yMzAyLDcgKzIzMDIsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICByZXR1cm4gdGhpc190eXBlOwogIH0KICAKLUBAIC0x NDU2NSw2MSArMTQ3ODAsOTkgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYy X2N1IAorQEAgLTE0NjU1LDYxICsxNDg3MCw5OSBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0 cnVjdCBkd2FyZjJfY3UgCiAgICBiYXRvbi0+YmFzZV9hZGRyZXNzID0gY3UtPmJhc2VfYWRkcmVz czsKICB9CiAgCkBAIC0yNDQ1LDcgKzI0NDUsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICB9CiAgCi1AQCAtMTQ5NjgsNiArMTUyMjEsMjUg QEAgb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocworQEAgLTE1MDU4LDYg KzE1MzExLDI1IEBAIG9mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMKICAg IHJldHVybiBvZnNfbGhzLT5vZmZzZXQgPT0gb2ZzX3Jocy0+b2Zmc2V0OwogIH0KICAKQEAgLTI0 NzEsNyArMjQ3MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFk LmMKICAvKiBTZXQgdGhlIHR5cGUgYXNzb2NpYXRlZCB3aXRoIERJRSB0byBUWVBFLiAgU2F2ZSBp dCBpbiBDVSdzIGhhc2gKICAgICB0YWJsZSBpZiBuZWNlc3NhcnkuICBGb3IgY29udmVuaWVuY2Us IHJldHVybiBUWVBFLgogIAotQEAgLTE0OTkzLDYgKzE1MjY1LDggQEAgc2V0X2RpZV90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQorQEAgLTE1MDgzLDYgKzE1MzU1LDggQEAgc2V0X2Rp ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydQogICAgc3RydWN0IG9iamZpbGUgKm9i amZpbGUgPSBjdS0+b2JqZmlsZTsKICAgIGh0YWJfdCAqdHlwZV9oYXNoX3B0cjsKICAKQEAgLTI0 ODAsMTAgKzI0ODAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJl YWQuYwogICAgLyogRm9yIEFkYSB0eXBlcywgbWFrZSBzdXJlIHRoYXQgdGhlIGduYXQtc3BlY2lm aWMgZGF0YSBpcyBhbHdheXMKICAgICAgIGluaXRpYWxpemVkIChpZiBub3QgYWxyZWFkeSBzZXQp LiAgVGhlcmUgYXJlIGEgZmV3IHR5cGVzIHdoZXJlCiAgICAgICB3ZSBzaG91bGQgbm90IGJlIGRv aW5nIHNvLCBiZWNhdXNlIHRoZSB0eXBlLXNwZWNpZmljIGFyZWEgaXMKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9lbGZyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L2VsZnJlYWQuYwkyMDExLTA0LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL2VsZnJlYWQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTEt MDUtMDMgMTg6MjU6MjAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvZWxmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDMs NiArNDMsMTIgQEAKICAjaW5jbHVkZSAiaW5mY2FsbC5oIgogICNpbmNsdWRlICJnZGJ0aHJlYWQu aCIKQEAgLTI1MTksNyArMjUxOSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9l bGZyZWFkLmMKICBzdGF0aWMgdm9pZCBmcmVlX2VsZmluZm8gKHZvaWQgKik7CiAgCiAgLyogTWlu aW1hbCBzeW1ib2xzIGxvY2F0ZWQgYXQgdGhlIEdPVCBlbnRyaWVzIGZvciAucGx0IC0gdGhhdCBp cyB0aGUgcmVhbAotQEAgLTE1NTYsNyArMTU3NywyNjYgQEAgZWxmc3RhYl9vZmZzZXRfc2VjdGlv bnMgKHN0cnVjdCBvYmpmaWxlIAorQEAgLTE1NTMsNyArMTU3NCwyNjYgQEAgZWxmc3RhYl9vZmZz ZXRfc2VjdGlvbnMgKHN0cnVjdCBvYmpmaWxlIAogICAgICBjb21wbGFpbnQgKCZzeW1maWxlX2Nv bXBsYWludHMsCiAgCSAgICAgICBfKCJlbGYvc3RhYiBzZWN0aW9uIGluZm9ybWF0aW9uIG1pc3Np bmcgZm9yICVzIiksIGZpbGVuYW1lKTsKICB9CkBAIC0yNzg2LDcgKzI3ODYsNyBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZWxmcmVhZC5jCiAgLyogUmVnaXN0ZXIgdGhhdCB3ZSBh cmUgYWJsZSB0byBoYW5kbGUgRUxGIG9iamVjdCBmaWxlIGZvcm1hdHMuICAqLwogIAogIHN0YXRp YyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyA9Ci1AQCAtMTU3MSw2ICsxODUxLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9zeW1fZm5zIAorQEAgLTE1NjgsNiAr MTg0OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyAKICAgIGVs Zl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZp bGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2Nh dGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI3OTQsNyArMjc5NCw3IEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKICAgICZwc3ltX2Z1bmN0aW9ucwogIH07CiAg Ci1AQCAtMTU4OSw2ICsxODcwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9z eW1fZm5zXworQEAgLTE1ODYsNiArMTg2Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2Zu cyBlbGZfc3ltX2Zuc18KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21lbnQg aW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmls ZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI4MDIsNyAr MjgwMiw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFkLmMKICAgICZw c3ltX2Z1bmN0aW9ucwogIH07CiAgCi1AQCAtMTYwNiw2ICsxODg4LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBzeW1fZm5zIGVsZl9zeW1fZm5zXworQEAgLTE2MDMsNiArMTg4NSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2Zuc18KICAgIGVsZl9zeW1maWxlX3NlZ21l bnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVM TCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0 aW9uLiAgKi8KQEAgLTI4MTAsNyArMjgxMCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9lbGZyZWFkLmMKICAgICZkd2FyZjJfZ2RiX2luZGV4X2Z1bmN0aW9ucwogIH07CiAgCi1A QCAtMTYyMiw2ICsxOTA1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnbnVfaWZ1bmNfZm5zIGVs Zl9nbgorQEAgLTE2MTksNiArMTkwMiw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ251X2lmdW5j X2ZucyBlbGZfZ24KICB2b2lkCiAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICB7CkBAIC0y ODE5LDEwICsyODE5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9lbGZyZWFk LmMKICAgIGFkZF9zeW10YWJfZm5zICgmZWxmX3N5bV9mbnMpOwogIAogICAgZWxmX29iamZpbGVf Z251X2lmdW5jX2NhY2hlX2RhdGEgPSByZWdpc3Rlcl9vYmpmaWxlX2RhdGEgKCk7Ci1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZXZhbC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvZXZhbC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9ldmFsLmMJMjAxMS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9ldmFsLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2V2YWwuYwkyMDExLTAzLTI4IDIy OjIxOjAzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2V2YWwu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQ0LDYgKzQ0LDcgQEAK ICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAjaW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgpAQCAt MzMwNywxMCArMzMwNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZXZhbC5j CiAtICByZXR1cm4gbmRpbWVuOwogKwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9mLWV4cC55CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1leHAueQogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi1leHAueQkyMDExLTAzLTE4 IDE0OjUxOjQxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Yt ZXhwLnkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkw LjIwMTEwNTI1Lm9yaWcvZ2RiL2YtZXhwLnkJMjAxMS0wMy0xOCAxNDo1MTo0MS4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9mLWV4cC55CTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjkzLDcgKzI5Myw5IEBAIGFyZ2xpc3QgOglzdWJy YW5nZQogIAkJCXsgYXJnbGlzdF9sZW4gPSAxOyB9CiAgCTsKQEAgLTMzMjIsMTAgKzMzMjIsMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtZXhwLnkKICAJCQl7IGFyZ2xpc3Rf bGVuKys7IH0KICAJOwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtbGFuZy5o CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTEtMDEtMDcgMjA6MzY6 MTYuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZi1sYW5nLmgJ MjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEw NTI1Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTEtMDEtMDcgMjA6MzY6MTYuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi1sYW5nLmgJMjAxMS0wNS0yNSAxNzowNToy MS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yOCw2ICsyOCwxMCBAQCBleHRlcm4gdm9pZCBmX2Vycm9y IChjaGFyICopOwkvKiBEZWZpbmVkCiAgZXh0ZXJuIHZvaWQgZl9wcmludF90eXBlIChzdHJ1Y3Qg dHlwZSAqLCBjb25zdCBjaGFyICosIHN0cnVjdCB1aV9maWxlICosIGludCwKICAJCQkgIGludCk7 CkBAIC0zMzM3LDEwICszMzM3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9m LWxhbmcuaAogIGV4dGVybiBpbnQgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdk Yl9ieXRlICosIGludCwgQ09SRV9BRERSLAogIAkJCXN0cnVjdCB1aV9maWxlICosIGludCwKICAJ CQljb25zdCBzdHJ1Y3QgdmFsdWUgKiwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9m LXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi10eXBlcHJpbnQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi10eXBlcHJp bnQuYwkyMDExLTAxLTA3IDIwOjM2OjE2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2YtdHlwZXByaW50LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAx MS0wMS0wNyAyMDozNjoxNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9mLXR5cGVwcmludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMzIsNyArMzIsNyBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgInRhcmdl dC5oIgpAQCAtMzQwNSwxMCArMzQwNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZi10eXBlcHJpbnQuYwogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7CiAg ICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2YtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtdmFscHJpbnQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvZi12YWxwcmlu dC5jCTIwMTEtMDItMDcgMTg6NDk6MzIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZi12YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxMS0w Mi0wNyAxODo0OTozMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9mLXZhbHByaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01 NCwxNSArNTQsMTcgQEAgaW50IGY3N19hcnJheV9vZmZzZXRfdGJsW01BWF9GT1JUUkFOX0RJTQog IC8qIFRoZSBmb2xsb3dpbmcgbWFjcm8gZ2l2ZXMgdXMgdGhlIHNpemUgb2YgdGhlIG50aCBkaW1l bnNpb24sIFdoZXJlIAogICAgIG4gaXMgMSBiYXNlZC4gICovCkBAIC0zNTQ0LDEwICszNTQ0LDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXZhbHByaW50LmMKICAgIENIRUNL X1RZUEVERUYgKHR5cGUpOwogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7Ci1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZmluZHZhci5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvZmluZHZhci5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9maW5kdmFyLmMJMjAxMS0wMy0xOCAxOTo0Mjo0MS4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9maW5kdmFyLmMJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2Zp bmR2YXIuYwkyMDExLTAzLTE4IDE5OjQyOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2ZpbmR2YXIuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCAr MDIwMAogQEAgLTM1LDYgKzM1LDcgQEAKICAjaW5jbHVkZSAidXNlci1yZWdzLmgiCiAgI2luY2x1 ZGUgImJsb2NrLmgiCkBAIC0zNjkzLDEwICszNjkzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9maW5kdmFyLmMKICAJCQkJICAgICAgdmFsdWVfY29udGVudHNfcmF3ICh2KSwg Jm9wdGltLAogIAkJCQkgICAgICAmdW5hdmFpbCk7CiAgICAgIH0KLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9nZGJpbml0LmluCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIv Z2RiaW5pdC5pbgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIv Z2RiaW5pdC5pbgkyMDA5LTEwLTA1IDE1OjQ2OjUyLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYmluaXQuaW4JMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAw MDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2dkYmluaXQuaW4JMjAw OS0xMC0wNSAxNTo0Njo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9nZGJpbml0LmluCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt MSw1ICsxLDE1IEBACiAgZWNobyBTZXR0aW5nIHVwIHRoZSBlbnZpcm9ubWVudCBmb3IgZGVidWdn aW5nIGdkYi5cbgogIApAQCAtMzcxMywxMCArMzcxMywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvZ2RiaW5pdC5pbgogIHNldCBjb21wbGFpbnRzIDEKICAKICBiIGludGVybmFs X2Vycm9yCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuYworSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxMS0wMy0yOCAyMjoyMTowMy4w MDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9nZGJ0eXBlcy5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZ2RidHlwZXMuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTM5LDYgKzM5LDkgQEAKICAjaW5jbHVkZSAiY3AtYWJp LmgiCiAgI2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKQEAgLTQ2MjcsMTAgKzQ2MjcsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYnR5cGVzLmMKICAgIG9iamZpbGVfdHlwZV9k YXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRhICgpOwogIAogICAgYWRkX3NldHNob3dfemludGVn ZXJfY21kICgib3ZlcmxvYWQiLCBub19jbGFzcywgJm92ZXJsb2FkX2RlYnVnLAotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL2dkYnR5cGVzLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9nZGJ0eXBlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9nZGJ0eXBlcy5oCTIwMTEtMDMtMjggMjI6MjE6MDMuMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZ2RidHlwZXMuaAkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvZ2RidHlw ZXMuaAkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL2dkYnR5cGVzLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0yMTUsNiArMjE1LDExIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCiAg CiAgI2RlZmluZSBUWVBFX1RBUkdFVF9TVFVCKHQpCShUWVBFX01BSU5fVFlQRSAodCktPmZsYWdf dGFyZ2V0X3N0dWIpCkBAIC00ODY1LDEwICs0ODY1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9nZGJ0eXBlcy5oCiArI2VuZGlmCiArCiAgI2VuZGlmIC8qIEdEQlRZUEVTX0gg Ki8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2LWxpbnV4LW5hdC5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1saW51eC1uYXQuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4Ni1saW51eC1uYXQuYwkyMDExLTAy LTI3IDE3OjI1OjM3LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2kzODYtbGludXgtbmF0LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0t LSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbGludXgtbmF0LmMJMjAxMS0wMi0y NyAxNzoyNTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9p Mzg2LWxpbnV4LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAt NjQ5LDIyICs2NDksMTMgQEAgaTM4Nl9saW51eF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMgKHN0 cgogIH0KICAMCkBAIC01MDczLDEwICs1MDczLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9pMzg2LWxpbnV4LW5hdC5jCiAgfQogIAwKICAKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9pMzg2LW5hdC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4 Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4 Ni1uYXQuYwkyMDExLTAyLTI2IDIzOjA0OjUxLjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2kzODYtbmF0LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmMJMjAxMS0w Mi0yNiAyMzowNDo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9pMzg2LW5hdC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjUs NiArMjUsNyBAQAogICNpbmNsdWRlICJnZGJjbWQuaCIKICAjaW5jbHVkZSAidGFyZ2V0LmgiCkBA IC01NDI4LDEwICs1NDI4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2 LW5hdC5jCiAgfQogIAogIHZvaWQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9pMzg2 LW5hdC5oCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvaTM4Ni1uYXQuaAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvaTM4Ni1uYXQuaAkyMDExLTAx LTA5IDA0OjA4OjU2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2kzODYtbmF0LmgJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2kzODYtbmF0LmgJMjAxMS0wMS0wOSAwNDowODo1Ni4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9pMzg2LW5hdC5oCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsNiArNzgsMjggQEAgc3Ry dWN0IGkzODZfZHJfbG93X3R5cGUgCiAgCiAgZXh0ZXJuIHN0cnVjdCBpMzg2X2RyX2xvd190eXBl IGkzODZfZHJfbG93OwpAQCAtNTQ2MSwxMCArNTQ2MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvaTM4Ni1uYXQuaAogIC8qIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHNldCBpMzg2 X2RyX2xvdyBkZWJ1Z19yZWdpc3Rlcl9sZW5ndGggZmllbGQKICAgICByYXRoZXIgdGhhbiBzZXR0 aW5nIGl0IGRpcmVjdGx5IHRvIGNoZWNrIHRoYXQgdGhlIGxlbmd0aCBpcyBvbmx5CiAgICAgc2V0 IG9uY2UuICBJdCBhbHNvIGVuYWJsZXMgdGhlICdtYWludCBzZXQvc2hvdyBzaG93LWRlYnVnLXJl Z3MnIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2luZnJ1bi5jCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvaW5mcnVuLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL2luZnJ1bi5jCTIwMTEtMDQtMjAgMTk6MDQ6MzIuMDAwMDAwMDAw ICswMjAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvaW5mcnVuLmMJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L2luZnJ1bi5jCTIwMTEtMDQtMjAgMTk6MDQ6MzIuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvaW5mcnVuLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC01NCw2ICs1NCw4IEBACiAgI2luY2x1ZGUgImlubGluZS1mcmFtZS5oIgogICNp bmNsdWRlICJqaXQuaCIKQEAgLTU2MjAsMTAgKzU2MjAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2luZnJ1bi5jCiAgCiAgICBhZGRfc2V0c2hvd19ib29sZWFuX2NtZCAoIm9i c2VydmVyIiwgbm9fY2xhc3MsCiAgCQkJICAgJm9ic2VydmVyX21vZGVfMSwgXygiXAotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9saW5lc3BlYy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQy OS5vcmlnL2dkYi9saW5lc3BlYy5jCTIwMTEtMDMtMjUgMTg6MTM6MTIuMDAwMDAwMDAwICswMTAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuYwkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbGlu ZXNwZWMuYwkyMDExLTAzLTI1IDE4OjEzOjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2xpbmVzcGVjLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC00Myw2ICs0Myw3IEBACiAgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5j bHVkZSA8Y3R5cGUuaD4KQEAgLTU2NTAsMTAgKzU2NTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmMKICAgIGlzX3F1b3RlZCA9IChzdHJjaHIgKGdldF9nZGJf Y29tcGxldGVyX3F1b3RlX2NoYXJhY3RlcnMgKCksCiAgCQkgICAgICAgKiphcmdwdHIpICE9IE5V TEwpOwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmgKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW5lc3BlYy5oCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9saW5lc3BlYy5oCTIwMTEtMDMtMjQgMjA6NDc6MTcu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbGluZXNwZWMuaAky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvbGluZXNwZWMuaAkyMDExLTAzLTI0IDIwOjQ3OjE3LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbmVzcGVjLmgJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMCw2ICszMCwxMCBAQCBzdHJ1Y3QgbGluZXNwZWNf cmVzdWx0CiAgICAgICBkaXNwbGF5IG1lY2hhbmlzbSB3b3VsZCBkbyB0aGUgd3JvbmcgdGhpbmcu ICAqLwogICAgaW50IHNwZWNpYWxfZGlzcGxheTsKQEAgLTU2NjUsMTEgKzU2NjUsMTEgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbmVzcGVjLmgKICAgIC8qIElmIG5vbi1OVUxM LCBhbiBhcnJheSBvZiBjYW5vbmljYWwgbmFtZXMgZm9yIHJldHVybmVkCiAgICAgICBzeW10YWJf YW5kX2xpbmUgb2JqZWN0cy4gIFRoZSBhcnJheSBoYXMgYXMgbWFueSBlbGVtZW50cyBhcyB0aGUK ICAgICAgIGBuZWx0cycgZmllbGQgaW4gdGhlIHN5bXRhYnNfYW5kX2xpbmUgcmV0dXJuZWQgYnkg ZGVjb2RlX2xpbmVfMS4KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9saW51eC1uYXQu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDExLTAzLTA5 IDEzOjQ4OjU1LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xp bnV4LW5hdC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCi1AQCAtMTI1NCw2 ICsxMjU0LDY0IEBAIGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkX3QgZmlsdGVyLAorLS0tIGdkYi03 LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbGludXgtbmF0LmMJMjAxMS0wNC0yOSAxODowMjoxMC4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9saW51eC1uYXQuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorQEAgLTEyNzIsNiArMTI3Miw2NCBA QCBpdGVyYXRlX292ZXJfbHdwcyAocHRpZF90IGZpbHRlciwKICAgIHJldHVybiBOVUxMOwogIH0K ICAKQEAgLTU3MzQsMTAgKzU3MzQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L2xpbnV4LW5hdC5jCiAgLyogVXBkYXRlIG91ciBpbnRlcm5hbCBzdGF0ZSB3aGVuIGNoYW5naW5n IGZyb20gb25lIGNoZWNrcG9pbnQgdG8KICAgICBhbm90aGVyIGluZGljYXRlZCBieSBORVdfUFRJ RC4gIFdlIGNhbiBvbmx5IHN3aXRjaCBzaW5nbGUtdGhyZWFkZWQKICAgICBhcHBsaWNhdGlvbnMs IHNvIHdlIG9ubHkgY3JlYXRlIG9uZSBuZXcgTFdQLCBhbmQgdGhlIHByZXZpb3VzIGxpc3QKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9saW51eC1uYXQuaAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi9saW51eC1uYXQuaAkyMDExLTAxLTA1IDIzOjIyOjQ5LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2xpbnV4LW5hdC5oCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9saW51eC1uYXQuaAkyMDExLTAxLTA1IDIzOjIyOjQ5LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2xpbnV4LW5hdC5oCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMTQwLDYgKzE0MCwxMSBAQCBzdHJ1Y3QgbHdwX2luZm8gKml0 ZXJhdGVfb3Zlcl9sd3BzIChwdGlkCiAgCQkJCQkJICAgICB2b2lkICopLCAKICAJCQkJICAgIHZv aWQgKmRhdGEpOwpAQCAtNTc1MCwxMCArNTc1MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvbGludXgtbmF0LmgKICAvKiBDcmVhdGUgYSBwcm90b3R5cGUgZ2VuZXJpYyBHTlUv TGludXggdGFyZ2V0LiAgVGhlIGNsaWVudCBjYW4KICAgICBvdmVycmlkZSBpdCB3aXRoIGxvY2Fs IG1ldGhvZHMuICAqLwogIHN0cnVjdCB0YXJnZXRfb3BzICogbGludXhfdGFyZ2V0ICh2b2lkKTsK LUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9tYWNob3JlYWQuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL21hY2hvcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDQyOS5vcmlnL2dkYi9tYWNob3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21hY2hvcmVhZC5jCTIwMTEt MDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5v cmlnL2dkYi9tYWNob3JlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21hY2hvcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6 MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtODQ5LDYgKzg0OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc3ltX2ZucyBtYWNob19zeW1fZm4KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyog R2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKQEAgLTU3 NjIsMTAgKzU3NjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21hY2hvcmVh ZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL21haW4uYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21haW4uYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvbWFpbi5jCTIwMTEtMDMt MDcgMTk6MzQ6MzEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv bWFpbi5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi9tYWluLmMJMjAxMS0wMy0wNyAxOTozNDozMS4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9tYWluLmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zOSw2ICszOSw3IEBACiAgCiAgI2luY2x1ZGUgImlu dGVycHMuaCIKQEAgLTU5MTMsMTAgKzU5MTMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL21haW4uYwogICAgLS1xdWlldCAgICAgICAgICAgIERvIG5vdCBwcmludCB2ZXJzaW9u IG51bWJlciBvbiBzdGFydHVwLlxuXAogICAgLS1yZWFkbm93ICAgICAgICAgIEZ1bGx5IHJlYWQg c3ltYm9sIGZpbGVzIG9uIGZpcnN0IGFjY2Vzcy5cblwKICAiKSwgc3RyZWFtKTsKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9taS9taS1jbWQtdmFyLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9taS9taS1jbWQtdmFyLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL21pL21pLWNtZC12YXIuYwkyMDExLTAxLTEyIDIyOjA5OjM5LjAw MDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL21pL21pLWNtZC12YXIu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvbWkvbWktY21kLXZhci5jCTIwMTEtMDEtMTIgMjI6MDk6MzkuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWkvbWktY21kLXZhci5jCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNzA3LDcgKzcwNyw2IEBAIG1p X2NtZF92YXJfdXBkYXRlIChjaGFyICpjb21tYW5kLCBjaGFyICoKICAgICAgfQogICAgZWxzZQpA QCAtNTkyNSwxMCArNTkyNSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWkv bWktY21kLXZhci5jCiAgICAgICAgc3RydWN0IHZhcm9iaiAqdmFyID0gdmFyb2JqX2dldF9oYW5k bGUgKG5hbWUpOwogIAogICAgICAgIHZhcm9ial91cGRhdGVfb25lICh2YXIsIHByaW50X3ZhbHVl cywgMSAvKiBleHBsaWNpdCAqLyk7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvbWlw c3JlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL21pcHNyZWFkLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL21pcHNyZWFkLmMJMjAxMS0w My0wNyAxNzoxNzoyOS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9taXBzcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9taXBzcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6Mjku MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWlwc3JlYWQuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQwMiw2ICs0MDIsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWNvZmZfc3ltX2ZuCiAgICBkZWZhdWx0X3N5bWZp bGVfc2VnbWVudHMsCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8K ICAgIE5VTEwsCkBAIC01OTM3LDEwICs1OTM3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9taXBzcmVhZC5jCiAgICAmcHN5bV9mdW5jdGlvbnMKICB9OwogIAotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL29iamZpbGVzLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9vYmpmaWxlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi9vYmpmaWxlcy5jCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvb2JqZmlsZXMuYwkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvb2JqZmls ZXMuYwkyMDExLTA0LTI1IDIzOjI1OjE4LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL29iamZpbGVzLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC04NDYsNiArODQ2LDExIEBAIG9iamZpbGVfcmVsb2NhdGUxIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmkKICAJCQkJb2JqX3NlY3Rpb25fYWRkciAocykpOwogICAgICB9CkBAIC01OTUzLDEw ICs1OTUzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9vYmpmaWxlcy5jCiAg ICAvKiBEYXRhIGNoYW5nZWQuICAqLwogICAgcmV0dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3AtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3AtdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvcC12YWxwcmludC5jCTIwMTEtMDMtMTUgMTc6MDA6NTYuMDAwMDAwMDAwICswMTAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcC12YWxwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6 NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9wLXZh bHByaW50LmMJMjAxMS0wMy0xNSAxNzowMDo1Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9wLXZhbHByaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKIEBAIC0zOSw2ICszOSw3IEBACiAgI2luY2x1ZGUgImNwLWFiaS5oIgogICNpbmNs dWRlICJjcC1zdXBwb3J0LmgiCkBAIC02MDMzLDEwICs2MDMzLDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9wLXZhbHByaW50LmMKICAgIHJldHVybiAoMCk7CiAgfQogIAwKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wYXJzZS5jCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvcGFyc2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvcGFyc2UuYwkyMDExLTAzLTI4IDIyOjIxOjAzLjAwMDAwMDAwMCArMDIwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3BhcnNlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAw MDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3BhcnNlLmMJMjAx MS0wMy0yOCAyMjoyMTowMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9wYXJzZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTUw Miw2ICsxNTAyLDcgQEAgcGFyc2VyX2ZwcmludGYgKEZJTEUgKngsIGNvbnN0IGNoYXIgKnksIAog IAogIGludApAQCAtNjE0MiwxMCArNjE0MiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvcGFyc2UuYwogIAogIHZvaWQKICBfaW5pdGlhbGl6ZV9wYXJzZSAodm9pZCkKLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wYXJzZXItZGVmcy5oCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcGFyc2VyLWRlZnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAu MjAxMTA0Mjkub3JpZy9nZGIvcGFyc2VyLWRlZnMuaAkyMDExLTAxLTEwIDIxOjM4OjQ5LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3BhcnNlci1kZWZzLmgJMjAx MS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1 Lm9yaWcvZ2RiL3BhcnNlci1kZWZzLmgJMjAxMS0wMS0xMCAyMTozODo0OS4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wYXJzZXItZGVmcy5oCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMTk0LDYgKzE5NCw4IEBAIGV4dGVybiB2b2lk IG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY28KICAJCQkJICAgICAgaW50ICopOwogIApAQCAt NjE3NCwxMCArNjE3NCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcGFyc2Vy LWRlZnMuaAogKyNlbmRpZgogKwogICNlbmRpZiAvKiBQQVJTRVJfREVGU19IICovCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHBjLWxpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHBjLWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDQyOS5vcmlnL2dkYi9wcGMtbGludXgtbmF0LmMJMjAxMS0wNC0xOCAyMzoyOToxOC4w MDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wcGMtbGludXgtbmF0 LmMJMjAxMS0wNC0yOSAwOTo0MTowNi4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDExLTA0LTE4IDIzOjI5OjE4LjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3BwYy1saW51eC1uYXQuYwky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTE2MzcsNiArMTYzNywxNCBA QCBib29rZV9yZW1vdmVfcG9pbnQgKHN0cnVjdCBwcGNfaHdfYnJlYWtwCiAgICBod19icmVha3Nb aV0uaHdfYnJlYWsgPSBOVUxMOwogIH0KQEAgLTYzMjEsMTAgKzYzMjEsMTAgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3BwYy1saW51eC1uYXQuYwogICAgICB9CiAgCiAgICByZXR1 cm4gcmV0OwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ByaW50Y21kLmMKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9wcmludGNtZC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTEtMDMtMjIgMTU6Mzk6NDAu MDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHJpbnRjbWQuYwky MDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1 MjUub3JpZy9nZGIvcHJpbnRjbWQuYwkyMDExLTAzLTIyIDE1OjM5OjQwLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ByaW50Y21kLmMJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC05NzUsNiArOTc1LDExIEBAIHByaW50X2NvbW1hbmRf MSAoY2hhciAqZXhwLCBpbnQgaW5zcGVjdCwKICAgIGVsc2UKICAgICAgdmFsID0gYWNjZXNzX3Zh bHVlX2hpc3RvcnkgKDApOwpAQCAtNjM3MSwxMCArNjM3MSwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvcHJpbnRjbWQuYwogKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAo cHJpbnRfdHlwZXNfbWFya191c2VkKTsKICsjZW5kaWYKICB9Ci1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQorSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lSXRlcmF0b3IucHkKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9y LnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvRnJhbWVJdGVyYXRvci5weQkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgSXRlcmF0b3Igb3Zl ciBmcmFtZXMuCiArCkBAIC02NDA5LDEwICs2NDA5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9GcmFtZUl0ZXJhdG9yLnB5CiArICAgICAgICAgICAg cmFpc2UgU3RvcEl0ZXJhdGlvbgogKyAgICAgICAgc2VsZi5mcmFtZSA9IHJlc3VsdC5vbGRlciAo KQogKyAgICAgICAgcmV0dXJuIHJlc3VsdAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5 dGhvbi9saWIvZ2RiL0ZyYW1lV3JhcHBlci5weQkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSwxMTIgQEAKICsjIFdyYXBwZXIgQVBJIGZvciBmcmFtZXMuCiAr CkBAIC02NTI2LDEwICs2NTI2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9w eXRob24vbGliL2dkYi9GcmFtZVdyYXBwZXIucHkKICsKICsgICAgZGVmIF9fZ2V0YXR0cl9fIChz ZWxmLCBuYW1lKToKICsgICAgICAgIHJldHVybiBnZXRhdHRyIChzZWxmLmZyYW1lLCBuYW1lKQot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5w eQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFj ZS5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Jh Y2t0cmFjZS5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAogKyMgRmlsdGVyaW5n IGJhY2t0cmFjZS4KICsKQEAgLTY1NzMsMTAgKzY1NzMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2JhY2t0cmFjZS5weQogKyAgICAgICAgcmV0dXJu IGl0ZXIKICsgICAgcmV0dXJuIGZyYW1lX2ZpbHRlciAoaXRlcikKICsKLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CitJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQv YWxpYXMucHkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2FsaWFzLnB5CTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDU5IEBACiArIyBBbGlhcyBj b21tYW5kLgogKwpAQCAtNjYzNywxMCArNjYzNywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9hbGlhcy5weQogKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIlRoaXMgY29tbWFuZCBpcyBhbiBhbGlhcyBmb3IgJyVzJy4iICUgdGFy Z2V0KQogKwogK0FsaWFzQ29tbWFuZCgpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv cHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvYmFja3RyYWNl LnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFuZC9iYWNrdHJhY2UucHkJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTA2IEBACiArIyBOZXcgYmFj a3RyYWNlIGNvbW1hbmQuCiArCkBAIC02NzQ4LDEwICs2NzQ4LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2JhY2t0cmFjZS5weQogKyAg ICAgICAgICAgIHBhaXJbMV0uZGVzY3JpYmUgKHN5cy5zdGRvdXQsIGZ1bGwpCiArCiArRmlsdGVy aW5nQmFja3RyYWNlKCkKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGli L2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJv cnMucHkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL2lnbm9yZV9lcnJvcnMucHkJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICsjIEln bm9yZSBlcnJvcnMgaW4gdXNlciBjb21tYW5kcy4KICsKQEAgLTY3OTAsMTAgKzY3OTAsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvaWdu b3JlX2Vycm9ycy5weQogKyAgICAgICAgICAgIHBhc3MKICsKICtJZ25vcmVFcnJvcnNDb21tYW5k ICgpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvY29tbWFu ZC9wYWhvbGUucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dk Yi9jb21tYW5kL3BhaG9sZS5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5 dGhvbi9saWIvZ2RiL2NvbW1hbmQvcGFob2xlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvY29t bWFuZC9wYWhvbGUucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsNzUgQEAKICsjIHBhaG9sZSBjb21tYW5kIGZvciBnZGIKICsKQEAgLTY4NzAsMTAgKzY4 NzAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Nv bW1hbmQvcGFob2xlLnB5CiArICAgICAgICBzZWxmLnBhaG9sZSAodHlwZSwgMCwgJycpCiArCiAr UGFob2xlKCkKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9j b21tYW5kL3JlcXVpcmUucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24v bGliL2dkYi9jb21tYW5kL3JlcXVpcmUucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3 MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3JlcXVpcmUucHkJMjAxMS0wNC0yOSAwOTo0MDo0 Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGli L2dkYi9jb21tYW5kL3JlcXVpcmUucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsNTcgQEAKICsjIERlbWFuZC1sb2FkaW5nIGNvbW1hbmRzLgogKwpAQCAt NjkzMiwxMCArNjkzMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9u L2xpYi9nZGIvY29tbWFuZC9yZXF1aXJlLnB5CiArUmVxdWlyZUNvbW1hbmQoKQogK1JlcXVpcmVT dWJjb21tYW5kKCJjb21tYW5kIikKICtSZXF1aXJlU3ViY29tbWFuZCgiZnVuY3Rpb24iKQotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5w eQorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQv dXB0by5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAw MDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2Ri L2NvbW1hbmQvdXB0by5weQkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQky MDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMjkgQEAKICsj IHVwdG8gY29tbWFuZC4KICsKQEAgLTcwNjYsMTYgKzcwNjYsMTYgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1hbmQvdXB0by5weQogK1VwdG9Tb3Vy Y2VDb21tYW5kICgpCiArVXB0b09iamVjdENvbW1hbmQgKCkKICtVcHRvV2hlcmVDb21tYW5kICgp Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24v X19pbml0X18ucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dk Yi9mdW5jdGlvbi9fX2luaXRfXy5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL19faW5pdF9fLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9n ZGIvZnVuY3Rpb24vX19pbml0X18ucHkJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEgQEAKICsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRo b24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMu cHkJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTggQEAKICsjIENhbGxlci1p cyBmdW5jdGlvbnMuCiArCkBAIC03MTM1LDEwICs3MTM1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9jYWxsZXJfaXMucHkKICsKICtD YWxsZXJJcygpCiArQ2FsbGVyTWF0Y2hlcygpCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi9weXRob24vbGliL2dkYi9mdW5jdGlvbi9pbl9zY29wZS5weQogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9saWIvZ2RiL2Z1bmN0aW9uL2luX3Nj b3BlLnB5CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDcgQEAKICsjIEluLXNj b3BlIGZ1bmN0aW9uLgogKwpAQCAtNzE4NywxMCArNzE4NywxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvcHl0aG9uL2xpYi9nZGIvZnVuY3Rpb24vaW5fc2NvcGUucHkKICsJcmV0 dXJuIHdhbnRlZCA9PSBmb3VuZAogKwogK0luU2NvcGUgKCkKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi9weXRob24vcHktdHlwZS5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL3B5LXR5cGUuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvcHl0aG9uL3B5LXR5cGUuYwkyMDExLTAxLTI2IDIxOjUzOjQ1LjAwMDAwMDAwMCAr MDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS10eXBlLmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9y aWcvZ2RiL3B5dGhvbi9weS10eXBlLmMJMjAxMS0wMS0yNiAyMTo1Mzo0NS4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHktdHlwZS5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjksNiArMjksOCBAQAogICNpbmNsdWRl ICJsYW5ndWFnZS5oIgogICNpbmNsdWRlICJ2ZWMuaCIKQEAgLTczODUsMTAgKzczODUsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS10eXBlLmMKICB9CiAgCiAg DAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCitJbmRl eDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvcHl0aG9uL3B5LXZhbHVlLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEt MDMtMTggMTc6MDk6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvcHl0aG9uL3B5LXZhbHVlLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCTIwMTEt MDMtMTggMTc6MDk6NTcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL3B5LXZhbHVlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0yOCw2ICsyOCw3IEBACiAgI2luY2x1ZGUgImluZmNhbGwuaCIKICAjaW5jbHVkZSAiZXhw cmVzc2lvbi5oIgpAQCAtNzQyOCwxMCArNzQyOCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvcHl0aG9uL3B5LXZhbHVlLmMKICB9CiAgCiAgDAotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3B5dGhvbi9weXRob24uYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3B5dGhvbi9weXRob24uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjku b3JpZy9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEtMDMtMTggMDk6NDQ6NDcuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5dGhvbi5jCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi9weXRob24vcHl0aG9uLmMJMjAxMS0wMy0xOCAwOTo0NDo0Ny4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00OSw4ICs0OSwxMSBAQCBzdGF0aWMgaW50IGdk YnB5X3Nob3VsZF9wcmludF9zdGFjayA9IDE7CiAgI2luY2x1ZGUgImxpbmVzcGVjLmgiCiAgI2lu Y2x1ZGUgInNvdXJjZS5oIgpAQCAtNzUwNywxMCArNzUwNywxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvcHl0aG9uL3B5dGhvbi5jCiAgICB7ICJwYXJhbWV0ZXIiLCBnZGJweV9w YXJhbWV0ZXIsIE1FVEhfVkFSQVJHUywKICAgICAgIlJldHVybiBhIGdkYiBwYXJhbWV0ZXIncyB2 YWx1ZSIgfSwKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9weXRob24vcHl0aG9u LmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9weXRob24vcHl0aG9uLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3B5dGhvbi9weXRob24uaAky MDExLTAzLTE0IDE3OjA5OjU0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3B5dGhvbi9weXRob24uaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTEt MDMtMTQgMTc6MDk6NTQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtMzIsNiArMzIsOCBAQCB2b2lkIGV2YWxfcHl0aG9uX2Zyb21fY29udHJvbF9jb21tYW5kIChz CiAgCiAgdm9pZCBzb3VyY2VfcHl0aG9uX3NjcmlwdCAoRklMRSAqc3RyZWFtLCBjb25zdCBjaGFy ICpmaWxlKTsKQEAgLTc1MjAsMTAgKzc1MjAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3B5dGhvbi9weXRob24uaAogIGludCBhcHBseV92YWxfcHJldHR5X3ByaW50ZXIgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJCQkgICAgICBpbnQg ZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKICAJCQkgICAgICBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9zb21yZWFkLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zb21yZWFkLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3NvbXJlYWQuYwkyMDEx LTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3NvbXJlYWQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvc29tcmVhZC5jCTIwMTEtMDMtMDcgMTc6MTc6Mjku MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvc29tcmVhZC5jCTIw MTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtNDM5LDYgKzQzOSw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBzb21fc3ltX2ZucyAKICAgIGRlZmF1bHRfc3ltZmls ZV9zZWdtZW50cywJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwog ICAgTlVMTCwKQEAgLTc1MzIsMTAgKzc1MzIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3NvbXJlYWQuYwogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsKICAKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9zdGFjay5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvc3RhY2suYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIv c3RhY2suYwkyMDExLTAzLTE4IDE5OjQ4OjU2LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3N0YWNrLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMS0wMy0xOCAx OTo0ODo1Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFj ay5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzY2LDYgKzM2Niw3 IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHMKICAJICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdl OwpAQCAtNzU1OCwxMCArNzU1OCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv c3RhY2suYwogIAkJICB1aV9vdXRfZmllbGRfc3RyZWFtICh1aW91dCwgInZhbHVlIiwgc3RiKTsK ICAJICAgICAgICB9CiAgCSAgICAgIGVsc2UKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9zdGFwLXByb2JlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zdGFwLXByb2Jl LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zdGFwLXByb2JlLmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi9zdGFwLXByb2JlLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsMjA0MSBAQAogKy8qIFN5c3RlbVRhcCBwcm9iZSBzdXBwb3J0IGZvciBHREIuCiArCkBA IC05NjA0LDEwICs5NjA0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zdGFw LXByb2JlLmMKICsgIGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfcHJvYmVfYXJnOSIs ICZwcm9iZV9mdW5jcywKICsJCQkJKHZvaWQgKikgKHVpbnRwdHJfdCkgOSk7CiArfQotSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YXAtcHJvYmUuaAorSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3N0YXAtcHJvYmUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3N0YXAtcHJvYmUuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0YXAtcHJvYmUuaAkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwxMDkgQEAKICsvKiBTeXN0ZW1UYXAgcHJvYmUg c3VwcG9ydCBmb3IgR0RCLgogKwpAQCAtOTcxOCwxMCArOTcxOCwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvc3RhcC1wcm9iZS5oCiArCQkJCQkgICAgICAgaW50IG4pOwogKwog KyNlbmRpZiAvKiAhZGVmaW5lZCAoU1RBUF9QUk9CRV9IKSAqLwotSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5 bWZpbGUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3lt ZmlsZS5oCTIwMTEtMDQtMjUgMjM6MjU6MTguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvc3ltZmlsZS5oCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9zeW1maWxlLmgJMjAxMS0wNC0y NSAyMzoyNToxOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9z eW1maWxlLmgJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMSw2ICsz MSwxMSBAQCBzdHJ1Y3Qgb2JqZmlsZTsKICBzdHJ1Y3Qgb2JqX3NlY3Rpb247CiAgc3RydWN0IG9i c3RhY2s7CkBAIC05Nzk4LDEwICs5Nzk4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9zeW1maWxlLmgKICAgIC8qIFRoZSAicXVpY2siIChha2EgcGFydGlhbCkgc3ltYm9sIGZ1 bmN0aW9ucyBmb3IgdGhpcyBzeW1ib2wKICAgICAgIHJlYWRlci4gICovCiAgICBjb25zdCBzdHJ1 Y3QgcXVpY2tfc3ltYm9sX2Z1bmN0aW9ucyAqcWY7Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvc3ltdGFiLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJMjAx MS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi9zeW10YWIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNS0wNiAxNzoxMzozNy4w MDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTc3MCw2ICs3NzAsNyBAQCBpbml0 X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKQogICAgc2FsLT5lbmQgPSAwOwogICAg c2FsLT5leHBsaWNpdF9wYyA9IDA7CkBAIC05ODEwLDExICs5ODEwLDExIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuYwogIH0KICAMCiAgCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9z eW10YWIuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3lt dGFiLmgJMjAxMS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIw MAotQEAgLTExMTIsNiArMTExMiwxMCBAQCBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lCistLS0gZ2Ri LTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9zeW10YWIuaAkyMDExLTA1LTA2IDE3OjEzOjM3LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCitAQCAtMTExOCw2ICsxMTE4LDEwIEBAIHN0 cnVjdCBzeW10YWJfYW5kX2xpbmUKICAgIENPUkVfQUREUiBlbmQ7CiAgICBpbnQgZXhwbGljaXRf cGM7CiAgICBpbnQgZXhwbGljaXRfbGluZTsKQEAgLTk4MjUsMTAgKzk4MjUsMTAgQEAgSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5bXRhYi5oCiAgfTsKICAKICBleHRlcm4gdm9pZCBp bml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKTsKLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5T CitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82 NC12bGEtcG9pbnRlci1mb28uUwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLWZvby5TCTIwMTEtMDUtMjUgMTc6MDU6MjEu MDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDQ1NyBAQAogKwkuZmlsZQkieDg2XzY0LXZsYS1w b2ludGVyLmMiCiArCS5zZWN0aW9uCS5kZWJ1Z19hYmJyZXYsIiIsQHByb2diaXRzCkBAIC0xMDI4 NywxMCArMTAyODcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXItZm9vLlMKICsJLnN0cmluZwkiR05VIEMgNC4z LjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiArCS5pZGVudAkiR0NDOiAoR05VKSA0LjMu MiAyMDA4MTEwNSAoUmVkIEhhdCA0LjMuMi03KSIKICsJLnNlY3Rpb24JLm5vdGUuR05VLXN0YWNr LCIiLEBwcm9nYml0cwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50 ZXIuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MyBAQAogKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC0xMDMz NSwxMCArMTAzMzUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXBvaW50ZXIuYwogK30KICsKICsjZW5kaWYKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2lu dGVyLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC94ODZfNjQtdmxhLXBvaW50ZXIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtcG9pbnRlci5leHAJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS1wb2ludGVyLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2NiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMDQwNiwxMCArMTA0MDYsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQt dmxhLXBvaW50ZXIuZXhwCiArCiArZ2RiX3Rlc3QgIndoYXRpcyAqYXJyYXkiICJ0eXBlID0gY2hh ciBcXFxbNzhcXFxdIiAic2Vjb25kOiB3aGF0aXMgKmFycmF5IgogK2dkYl90ZXN0ICJwdHlwZSAq YXJyYXkiICJ0eXBlID0gY2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSAqYXJyYXkiCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12 bGEtdHlwZWRlZi1mb28uUworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYtZm9vLlMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5T CTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi1mb28uUwkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0NTUgQEAKICsJLmZp bGUJIng4Nl82NC12bGEtdHlwZWRlZi5jIgogKwkuc2VjdGlvbgkuZGVidWdfYWJicmV2LCIiLEBw cm9nYml0cwpAQCAtMTA4NjYsMTAgKzEwODY2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLWZvby5TCiArCS5z dHJpbmcJIkdOVSBDIDQuMy4yIDIwMDgxMTA1IChSZWQgSGF0IDQuMy4yLTcpIgogKwkuaWRlbnQJ IkdDQzogKEdOVSkgNC4zLjIgMjAwODExMDUgKFJlZCBIYXQgNC4zLjItNykiCiArCS5zZWN0aW9u CS5ub3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVm LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv eDg2XzY0LXZsYS10eXBlZGVmLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZs YS10eXBlZGVmLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsNDMgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVn Z2VyLgogKwpAQCAtMTA5MTQsMTAgKzEwOTE0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmMKICt9CiArCiAr I2VuZGlmCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNo L3g4Nl82NC12bGEtdHlwZWRlZi5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC94ODZfNjQtdmxhLXR5cGVkZWYu ZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3g4Nl82NC12bGEtdHlwZWRlZi5leHAJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjQgQEAKICsjIENv cHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTA5ODMs MTAgKzEwOTgzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmFyY2gveDg2XzY0LXZsYS10eXBlZGVmLmV4cAogK2dkYl90ZXN0ICJ3aGF0aXMgYXJyYXki ICJ0eXBlID0gYXJyYXlfdCIgInNlY29uZDogd2hhdGlzIGFycmF5IgogKwogK2dkYl90ZXN0ICJw dHlwZSBhcnJheSIgInR5cGUgPSBjaGFyIFxcXFs3OFxcXF0iICJzZWNvbmQ6IHB0eXBlIGFycmF5 IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJh eWlkeC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FycmF5aWR4LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIwMTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAw MDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FycmF5aWR4LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCTIw MTEtMDEtMDEgMTY6MzM6NDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC0xNyw2ICsxNywxMyBAQAogIAogIGludCBhcnJheVtdID0gezEs IDIsIDMsIDR9OwpAQCAtMTEwMDEsMTAgKzExMDAxLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguYwogIGludAogIG1haW4gKHZv aWQpCiAgewotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9hcnJheWlkeC5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2UvYXJyYXlpZHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQy OS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYXJyYXlpZHguZXhwCTIwMTEtMDEtMDEgMTY6 MzM6NDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2FycmF5aWR4LmV4cAkyMDExLTAxLTAxIDE2OjMzOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC01Nyw0ICs1NywxMiBAQCBnZGJf dGVzdCAicHJpbnQgYXJyYXkiIFwKICAgICAgICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFc XFxdID0gMiwgXFxcWzJcXFxdID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQ cmludCBhcnJheSB3aXRoIGFycmF5LWluZGV4ZXMgb24iCkBAIC0xMTAxOSwxMCArMTEwMTksMTAg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJh eWlkeC5leHAKICsJdW5zdXBwb3J0ZWQgIiR0ZXN0IChubyBHQ0MpIgogKyAgICB9CiArfQotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4 cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZh dWx0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTEtMDItMTUgMjI6MTc6NTIuMDAwMDAwMDAw ICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Rl ZmF1bHQuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAx MS0wMi0xNSAyMjoxNzo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4w MDAwMDAwMDAgKzAyMDAKIEBAIC02MDcsNiArNjA3LDE3IEBAIGdkYl90ZXN0X2xpc3RfZXhhY3Qg InNob3cgY29udmVuaWVuY2UiICIKICAJeyRfc2RhdGEgPSB2b2lkfSBcCiAgCXskX3NpZ2luZm8g PSB2b2lkfSBcCkBAIC0xMTA0MSwxMCArMTEwNDEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4cAogICAgICB9CiAgCiAgI3Rl c3Qgc2hvdyBkaXJlY3RvcmllcwotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1h ZGRyZXNzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRkcmVzcy5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAw MDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIwIEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0 IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsKQEAgLTExMDY2LDEwICsxMTA2NiwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ludGVybmFs LXZhci1maWVsZC1hZGRyZXNzLmMKICtzdHJ1Y3QgewogKyAgaW50IGZpZWxkOwogK30gc3RhdGlj c3RydWN0ID0geyAxIH07Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5hbC12YXItZmllbGQtYWRk cmVzcy5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvaW50ZXJuYWwtdmFyLWZpZWxkLWFkZHJlc3MuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2ludGVybmFsLXZhci1maWVsZC1hZGRyZXNzLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwyNiBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTA5NywxMCArMTEwOTcsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbnRlcm5h bC12YXItZmllbGQtYWRkcmVzcy5leHAKICsKICtnZGJfdGVzdCB7c2V0ICR2YXJzdHJ1Y3QgPSBz dGF0aWNzdHJ1Y3R9CiArZ2RiX3Rlc3Qge3AgJHZhcnN0cnVjdC5maWVsZH0gIiA9IDEiCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUu YworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zdGFw LXByb2JlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2Uvc3RhcC1wcm9iZS5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw2OSBAQAog Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0xMTE3MSwxMCArMTExNzEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9zdGFwLXByb2JlLmMKICsgIG0xKCk7CiArICBtMigpOwogK30KLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3RhcC1wcm9i ZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c3RhcC1wcm9iZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDow MDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvc3RhcC1wcm9iZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAg KzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc3Rh cC1wcm9iZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsNzIgQEAKICsjIENvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KICsKQEAgLTExMjQ4LDEwICsxMTI0OCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3N0YXAtcHJvYmUuZXhwCiArICAgIHJldHVybiAt MQogK30KICtzdGFwX3Rlc3QgIi1EVVNFX1BST0JFUyIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAK LSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJm bG93LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmMJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzAgQEAKICsvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTEyODMsMTAg KzExMjgzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvdmxhLW92ZXJmbG93LmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAorSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92bGEtb3ZlcmZs b3cuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAw MDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3ZsYS1vdmVyZmxvdy5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK KysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJm bG93LmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwx MDkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KwpAQCAtMTEzOTcsMTAgKzExMzk3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLW92ZXJmbG93LmV4cAogK2dkYl90ZXN0ICJidCIgImlu IFxbXiBcXSphYm9ydCBcXCguKiBpbiBtYWluIFxcKC4qIiAiQmFja3RyYWNlIGFmdGVyIGFib3J0 KCkiCiArCiArdmVyYm9zZSAtbG9nICJrYl9mb3VuZCBpbiBidCBhZnRlciBhYm9ydCgpID0gW2V4 cHIgW21lbW9yeV92X3BhZ2VzX2dldF0gKiAkcGFnZXNpemUgLyAxMDI0XSIKLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxMS0wNC0y OSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAy MDAKIEBAIC0wLDAgKzEsNTUgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0 aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTE0NTcsMTAgKzExNDU3LDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmMKICsgIGZvbyAoNzgp OwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS92bGEuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvdmxhLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS92 bGEuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDYy IEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsK QEAgLTExNTI0LDEwICsxMTUyNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3ZsYS5leHAKICtnZGJfdGVzdCAicCB0ZW1wMSIgIiA9ICcxJyA8 cmVwZWF0cyA3OCB0aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAxIgogK2dkYl90ZXN0ICJwIHRl bXAyIiAiID0gJzInIDxyZXBlYXRzIDc4IHRpbWVzPiIgInNlY29uZDogcHJpbnQgdGVtcDIiCiAr Z2RiX3Rlc3QgInAgdGVtcDMiICIgPSAnMycgPHJlcGVhdHMgNDggdGltZXM+IiAic2Vjb25kOiBw cmludCB0ZW1wMyIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL25leHRvdmVydGhyb3cuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9uZXh0b3ZlcnRocm93LmV4cAky MDExLTAxLTAxIDE2OjMzOjQ0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAJMjAxMS0wMS0wMSAxNjozMzo0NC4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmNw L25leHRvdmVydGhyb3cuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBA QCAtNTMsNiArNTMsMTcgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IF9VbndpbmRfRGVidWdI bwogICAgICB9CiAgfQpAQCAtMTE1NDYsMTAgKzExNTQ2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwCiAgICAgIHVu c3VwcG9ydGVkICJuZXh0b3ZlcnRocm93LmV4cCBjb3VsZCBub3QgZmluZCBfVW53aW5kX0RlYnVn SG9vayIKICAgICAgcmV0dXJuIC0xCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LlMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItYm91bmQtbG9jbGlzdC5T CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWJvdW5kLWxvY2xpc3QuUwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAor KysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3Vu ZC1sb2NsaXN0LlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMjQ2IEBACiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1 Z2dlci4KICsKQEAgLTExNzk3LDEwICsxMTc5NywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWJvdW5kLWxvY2xpc3QuUwogKwkuc3Ry aW5nCQkiY2hhciIKICsuTHVpbnRfc3RyOgogKwkuc3RyaW5nCQkidW5zaWduZWQgaW50IgotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3Vu ZC1sb2NsaXN0LmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUv Z2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1NCBAQAogKyMgQ29weXJpZ2h0 IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTg1NiwxMCArMTE4 NTYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdh cmYyL2R3Mi1ib3VuZC1sb2NsaXN0LmV4cAogKwogKyMgVGhlIHJlZ2lzdGVyIGNvbnRhaW5zIHVu cHJlZGljdGFibGUgdmFsdWUgLSB0aGUgYXJyYXkgc2l6ZS4KICtnZGJfdGVzdCAicHR5cGUgcmVn X3N0cmluZyIge3R5cGUgPSBjaGFyIFxbLT9bMC05XStcXX0KLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuYworSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLXN0cmlwcGVkLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQu YwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0MiBAQAog Ky8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0xMTkwMywxMCArMTE5MDMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5jCiArICBmdW5jMSAoMSwgMik7CiArICBy ZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJpcHBlZC5leHAKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RyaXBwZWQuZXhwCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cmlwcGVkLmV4cAkyMDExLTA1LTI1IDE3 OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3OSBAQAogKyMgQ29weXJpZ2h0IDIw MDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMTk4NywxMCArMTE5ODcs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYy L2R3Mi1zdHJpcHBlZC5leHAKICtnZGJfdGVzdCAic3RlcCIgXAogKyAgICAgICAgICJmdW5jLiog XFwoLipcXCkgYXQgLioiIFwKICsgICAgICAgICAic3RlcCIKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxv Y2F0aW9uLlMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3 YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLlMKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAv ZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1k YXRhLWxvY2F0aW9uLlMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1l bWJlci1kYXRhLWxvY2F0aW9uLlMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsODMgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgogKwpAQCAtMTIwNzUsMTAgKzEyMDc1LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1k YXRhLWxvY2F0CiArCiArCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCiArCS5ieXRlCQkw eDAJCQkvKiBUZXJtaW5hdG9yICovCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0YS1sb2NhdGlvbi5leHAKK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3Ry dWN0LW1lbWJlci1kYXRhLWxvY2F0aW9uLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1zdHJ1Y3QtbWVtYmVyLWRhdGEtbG9jYXRp b24uZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXN0cnVjdC1tZW1iZXItZGF0 YS1sb2NhdGlvbi5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsMzcgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogKwpAQCAtMTIxMTcsMTAgKzEyMTE3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItc3RydWN0LW1lbWJlci1kYXRhLWxvY2F0 CiArY2xlYW5fcmVzdGFydCAkYmluZmlsZQogKwogK2dkYl90ZXN0ICJwdHlwZSBzdHJ1Y3Qgc29t ZV9zdHJ1Y3QiICJ0eXBlID0gc3RydWN0IHNvbWVfc3RydWN0IHtcW1xyXG4gXHRcXSp2b2lkIGZp ZWxkO1xbXHJcbiBcdFxdKn0iCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9kd2FyZi1zdHJp ZGUuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5leHAJMjAx MS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNDIgQEAKICsjIENv cHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTIxNjQs MTAgKzEyMTY0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmV4cAogK2dkYl9jb250aW51ZV90b19icmVha3BvaW50 ICJicmVhay1oZXJlIiAiLipicmVhay1oZXJlLioiCiArZ2RiX3Rlc3QgInAgYzQwcHQoMSkiICIg PSAnMC1oZWxsby4qIgogK2dkYl90ZXN0ICJwIGM0MHB0KDIpIiAiID0gJzEtaGVsbG8uKiIKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYt c3RyaWRlLmY5MAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9kd2FyZi1zdHJpZGUuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R3YXJmLXN0cmlkZS5mOTAJMjAxMS0wNC0yOSAwOTo0 MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3RyaWRlLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSw0MCBAQAogKyEgQ29weXJpZ2h0IDIwMDkgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTIyMDksMTAgKzEyMjA5LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHdhcmYtc3Ry aWRlLmY5MAogKyAgcHJpbnQgKiwgYzQwcHQgICEgYnJlYWstaGVyZQogKwogK2VuZCBwcm9ncmFt IHJlcHJvCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy1vdGhlci1mcmFtZS1zdHViLmY5 MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAw MCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9keW5hbWljLW90aGVyLWZyYW1lLXN0dWIuZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUtc3R1Yi5mOTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAw MDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjQgQEAKICshIENvcHlyaWdodCAyMDEwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyMjM4LDEwICsxMjIzOCwxMCBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUtc3R1Yi5mOQogKyAgcmVhbCA6OiBkdW1teQogKyAgZHVtbXkgPSAxCiArZW5k IHN1YnJvdXRpbmUgYmFyCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCitJbmRleDogZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZXhw CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L2R5bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5 bmFtaWMtb3RoZXItZnJhbWUuZXhwCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDM3IEBACiArIyBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsKQEAgLTEyMjgwLDEwICsxMjI4MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUu ZXhwCiArfQogKwogK2dkYl90ZXN0ICJidCIge2ZvbyBcKHN0cmluZz0naGVsbG8nLip9Ci1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMt b3RoZXItZnJhbWUuZjkwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUu ZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMtb3RoZXItZnJhbWUuZjkw CTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDM2IEBACiAr ISBDb3B5cmlnaHQgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC0x MjMyMSwxMCArMTIzMjEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLW90aGVyLWZyYW1lLmY5MAogKyAgZW5kIGludGVyZmFj ZQogKyAgY2FsbCBmb28gKCdoZWxsbycpCiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMu ZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2R5bmFtaWMuZXhwCTIwMTEtMDUtMjUg MTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDE0NSBAQAogKyMgQ29weXJpZ2h0 IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xMjQ3MSwxMCArMTI0 NzEsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9keW5hbWljLmV4cAogK2dkYl90ZXN0ICJwIHZhcnQoMyw4KSIgIlxcJFxbMC05XF0qID0g OSIKICsjIG1hcHMgdG8gZm9vOjp2YXJ5KDEsMykKICtnZGJfdGVzdCAicCB2YXJ0KDIsOSkiICJc XCRcWzAtOVxdKiA9IDEwIgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA0LTI5 IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9keW5hbWljLmY5MAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAw MDAwMCArMDIwMAogQEAgLTAsMCArMSw5OCBAQAogKyEgQ29weXJpZ2h0IDIwMDcgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIQpAQCAtMTI1NzQsMTAgKzEyNTc0LDEwIEBAIEluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vZHluYW1pYy5m OTAKICsgIGlmICh4ICgxLCAxKSAubmUuIDggLm9yLiB4ICgyLCAyKSAubmUuIDkgLm9yLiB4ICgx LCAyKSAubmUuIDQpIGNhbGwgYWJvcnQKICsgIGlmICh4ICgzLCAxKSAubmUuIDEwKSBjYWxsIGFi b3J0CiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3N0cmluZy5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N0cmluZy5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsNTkgQEAKICsjIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTI2MzgsMTAgKzEyNjM4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4cAogK2dkYl9jb250 aW51ZV90b19icmVha3BvaW50ICJ2YXItZmluaXNoIgogK2dkYl90ZXN0ICJwIGUiICJcXCRcWzAt OVxdKiA9ICdlICAgJyIgInAgZSByZS1zZXQiCiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0q ID0gXFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcs ICdmICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdm ICAgJywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAg JywgJ2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCi1JbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAKK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmY5MAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dHJpbmcuZjkwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5mOTAJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzcgQEAKICshIENvcHly aWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyNjgwLDEw ICsxMjY4MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3N0cmluZy5mOTAKICsgIGggPSAnaCcKICsgIGNhbGwgZm9vIChnLCBoKQogK2Vu ZAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9z dWJyYW5nZS5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vc3VicmFuZ2UuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9zdWJyYW5nZS5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0wLDAgKzEsNjAgQEAKICsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTI3NDUsMTAgKzEyNzQ1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhwCiArZGVsZXRl X2JyZWFrcG9pbnRzCiArZ2RiX3VubG9hZAogK2dkYl90ZXN0IHtwICRhICgzLCAyOjIpfSB7ID0g XCgyM1wpfQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJyYW5nZS5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZjkwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsMjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEyNzc4LDEwICsxMjc3OCwxMCBAQCBJbmRleDogZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MAog KyAgcHRyID0+IGEKICsgIHdyaXRlICgqLCopIGEgICAgICAgICAgICAgICAgICEgYnJlYWstc3Rh dGljCiArZW5kCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5n ZGIvc2VsZnRlc3QuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5nZGIvc2VsZnRlc3QuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQy OS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxMS0wNC0yOSAwOTo0 MDo0My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLmdkYi9zZWxmdGVzdC5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3Nl bGZ0ZXN0LmV4cAkyMDExLTA1LTI1IDE3OjA0OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0ZXN0LmV4cAkyMDExLTA1 LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTkyLDYgKzkyLDEwIEBAIHByb2MgZG9f c3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNldCBkZXNjcmlwdGlvbiAic3RlcCBvdmVyIHR0eWFy ZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBjb21tYW5kICJzdGVwIgpAQCAtMTI3OTMsMTAgKzEy NzkzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmdk Yi9zZWxmdGVzdC5leHAKICAJICAgIC1yZSAiLipwcmVfc3RhdF9jaGFpbiA9IG1ha2VfY29tbWFu ZF9zdGF0c19jbGVhbnVwLiokZ2RiX3Byb21wdCAkIiB7CiAgCQlzZXQgZGVzY3JpcHRpb24gIm5l eHQgb3ZlciBtYWtlX2NvbW1hbmRfc3RhdHNfY2xlYW51cCBhbmQgZXZlcnl0aGluZyBpdCBjYWxs cyIKICAJCXNldCBjb21tYW5kICJuZXh0IgotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMKK0luZGV4OiBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5taS9taTItdmFyLXN0 YWxlLXR5cGUuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmMJ MjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjYgQEAKICsv KiBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEy ODI0LDEwICsxMjgyNCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFs ZS10eXBlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcw LTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDExLTA0LTI5IDA5 OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1NyBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTI4ODYsMTAgKzEyODg2LDEwIEBAIElu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3Rh bGUtdHlwZS5leHAKICttaV9jcmVhdGVfdmFyb2JqICJ2bGEiICJ2bGEiICJjcmVhdGUgbG9jYWwg dmFyaWFibGUgdmxhIgogKwogK21pX2dkYl90ZXN0ICItdmFyLXVwZGF0ZSAqIiAiXFxeZG9uZSxj aGFuZ2VsaXN0PS4qIiAiLXZhci11cGRhdGUgKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAw ICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93 YXRjaHBvaW50LW11bHRpLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQt bXVsdGkuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw1 OSBAQAogKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CiArCkBAIC0xMjk1MCwxMCArMTI5NTAsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5jCiArICBtYXJrZXJfZXhp dDIgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50LW11bHRpLmV4cAorSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIubXVsdGkvd2F0Y2hwb2ludC1tdWx0aS5leHAK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dh dGNocG9pbnQtbXVsdGkuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5tdWx0aS93YXRjaHBvaW50 LW11bHRpLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSwxMTMgQEAKICsjIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKwpAQCAtMTMwNjgsMTAgKzEzMDY4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5 L2dkYi90ZXN0c3VpdGUvZ2RiLm11bHRpL3dhdGNocG9pbnQtbXVsdGkuZXhwCiArICAgIH0KICt9 CiArCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJy YXktZnJvbS1yZWdpc3Rlci1mdW5jLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLWZ1bmMuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0 ZXItZnVuYy5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci1m dW5jLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjIg QEAKICsvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBA IC0xMzA5NSwxMCArMTMwOTUsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIub3B0L2FycmF5LWZyb20tcmVnaXN0ZXItZnVuYy5jCiArewogKyAgcmV0dXJu IGFyclswXTsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dk Yi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9n ZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rl ci5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4y MDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5jCTIwMTEt MDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDI4IEBACiArLyogVGhp cyBmaWxlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTMxMjgsMTAg KzEzMTI4LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri Lm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lz dGVyLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIub3B0 L2FycmF5LWZyb20tcmVnaXN0ZXIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAt MDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi5vcHQvYXJyYXktZnJvbS1yZWdpc3Rlci5leHAJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvZ2RiLm9wdC9hcnJheS1mcm9tLXJlZ2lzdGVyLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIx LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzMyBAQAogKyMgQ29weXJpZ2h0IDIwMDkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTMxNjYsMTAgKzEzMTY2LDEwIEBA IEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLm9wdC9hcnJheS1m cm9tLXJlZ2lzdGVyLmV4cAogKyMgU2VlbiByZWdyZXNzaW9uOgogKyMgQWRkcmVzcyByZXF1ZXN0 ZWQgZm9yIGlkZW50aWZpZXIgImFyciIgd2hpY2ggaXMgaW4gcmVnaXN0ZXIgJHJkaQogK2dkYl90 ZXN0ICJwIGFyclxbMFxdIiAiXFwkXFswLTlcXSsgPSA0MiIKLUluZGV4OiBnZGItNy4yLjkwLjIw MTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCitJbmRleDogZ2RiLTcu Mi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLmV4cAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5l eHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnBhc2NhbC9hcnJheXMuZXhwCTIwMTEtMDUtMjUgMTc6 MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEwNCBAQAogKyMgQ29weXJpZ2h0IDIw MDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTMyNzUsMTAg KzEzMjc1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMuZXhwCiArfQogK2dkYl90ZXN0ICJwcmludCBEeW5BcnJDaGFyIiAiLiog PSAnYWJjZGVmZ2hpamtsbSciICJQcmludCBkeW5hbWljIGFycmF5IG9mIGNoYXIiCiArCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBh cworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2Fy cmF5cy5wYXMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LnBhc2NhbC9hcnJheXMucGFzCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisr KysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5wYXNjYWwvYXJyYXlzLnBh cwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw4MiBAQAog K3sKICsgQ29weXJpZ2h0IDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CkBAIC0xMzM2MiwxMCArMTMzNjIsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2Ri L3Rlc3RzdWl0ZS9nZGIucGFzY2FsL2FycmF5cy5wYXMKICsgIHMgOj0gJ3Rlc3QnIzAnc3RyaW5n JzsKICsgIHdyaXRlbG4ocyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtlbmQuCi1JbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUu ZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktZnJhbWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAJMjAxMS0wMi0yNiAxNTowNjoyOC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LnB5dGhvbi9weS1mcmFtZS5leHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWZyYW1lLmV4cAkyMDExLTAyLTI2IDE1OjA2OjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAkyMDEx LTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTc4LDggKzc4LDYgQEAgZ2RiX3Rl c3QgInB5dGhvbiBwcmludCBiZnJhbWUgPT0gZ2RiLm5ldwogIAogIGdkYl90ZXN0ICJweXRob24g cHJpbnQgJ3Jlc3VsdCA9JywgZjAgPT0gZjEiICIgPSBGYWxzZSIgInRlc3QgZXF1YWxpdHkgY29t cGFyaXNvbiAoZmFsc2UpIgpAQCAtMTMzODEsMTAgKzEzMzgxLDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKICBnZGJf dGVzdCAicHl0aG9uIHByaW50ICdyZXN1bHQgPScsIGdkYi5zZWxlY3RlZF9mcmFtZSAoKSA9PSBm MSIgIiA9IFRydWUiICJ0ZXN0IGdkYi5zZWxlY3RlZF9mcmFtZSIKICsKICtnZGJfdGVzdCAicHl0 aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLmJsb2NrICgpIiAiPGdkYi5CbG9jayBvYmplY3QgYXQg MHhcW1xbOnhkaWdpdDpcXVxdKz4iICJ0ZXN0IEZyYW1lLmJsb2NrIgotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4cAorSW5kZXg6 IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXZhbHVlLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktdmFsdWUuZXhwCTIwMTEtMDEtMDEgMTY6MzM6NDkuMDAwMDAwMDAwICsw MTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHkt dmFsdWUuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcu Mi45MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJ MjAxMS0wMS0wMSAxNjozMzo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEw NTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAJMjAxMS0wNS0yNSAxNzow NToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0zMTgsNiArMzE4LDE1IEBAIHByb2MgdGVzdF92YWx1 ZV9hZnRlcl9kZWF0aCB7fSB7CiAgICAgICJwcmludCB2YWx1ZSdzIHR5cGUiCiAgfQpAQCAtMTM0 MDksMTAgKzEzNDA5LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS12YWx1ZS5leHAKICAKICAjIFRoZSBmb2xsb3dpbmcgdGVzdCByZWNv bXBpbGVzIHRoZSBiaW5hcnkgdG8gdGVzdCBlaXRoZXIgQyBvciBDKysKICAjIHZhbHVlcy4gCi1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNo cG9pbnQtZm9yay1jaGlsZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGlsZC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1j aGlsZC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1jaGls ZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEyNyBA QAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3LXdhdGNocG9pbnRzIGFmdGVyIGZvcmso KS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTM1NDEsMTAgKzEzNTQxLDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1m b3JrLWNoaWxkLmMKICsgIGkgPSBzaWdhY3Rpb24gKFNJR1VTUjEsICZvbGRhY3QsIE5VTEwpOwog KyAgYXNzZXJ0IChpID09IDApOwogK30KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLW10 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAw MDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvd2F0Y2hwb2ludC1mb3JrLW10LmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0 Y2hwb2ludC1mb3JrLW10LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsMTc0IEBACiArLyogVGVzdCBjYXNlIGZvciBmb3Jnb3R0ZW4gaHctd2F0Y2hwb2lu dHMgYWZ0ZXIgZm9yaygpLW9mZiBvZiBhIHByb2Nlc3MuCiArCkBAIC0xMzcyMCwxMCArMTM3MjAs MTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmstbXQuYwogKyAgbWFya19leGl0ICgpOwogKyAgcmV0dXJuIDA7CiAr fQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93 YXRjaHBvaW50LWZvcmstcGFyZW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXBhcmVudC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQt Zm9yay1wYXJlbnQuYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmstcGFyZW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsNzQgQEAKICsvKiBUZXN0IGNhc2UgZm9yIGZvcmdvdHRlbiBody13YXRjaHBvaW50cyBhZnRl ciBmb3JrKCktb2ZmIG9mIGEgcHJvY2Vzcy4KICsKQEAgLTEzNzk5LDEwICsxMzc5OSwxMCBAQCBJ bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNo cG9pbnQtZm9yay1wYXJlbnQuYwogKyAgICAgIG1hcmtlciAoKTsKICsgICAgfQogK30KLUluZGV4 OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2lu dC1mb3JrLXN0LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMJMjAxMS0w NC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLXN0LmMJMjAxMS0wNS0yNSAx NzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjEgQEAKICsvKiBUZXN0IGNhc2Ug Zm9yIGZvcmdvdHRlbiBody13YXRjaHBvaW50cyBhZnRlciBmb3JrKCktb2ZmIG9mIGEgcHJvY2Vz cy4KICsKQEAgLTEzODY1LDEwICsxMzg2NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay1zdC5jCiArICBtYXJr X2V4aXQgKCk7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHAKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3Jr LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICsw MjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dh dGNocG9pbnQtZm9yay5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBA IC0wLDAgKzEsMTQ5IEBACiArIyBDb3B5cmlnaHQgMjAwOCwgMjAwOSwgMjAxMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTE0MDE5LDEwICsxNDAxOSwxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3dhdGNocG9pbnQt Zm9yay5leHAKICt9IGVsc2UgewogKyAgICB1bnRlc3RlZCAiY2hpbGQiCiArfQotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZv cmsuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmsuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAkyMDExLTA0LTI5IDA5OjQwOjQ2 LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSwzMiBAQAogKy8qIFRlc3QgY2FzZSBmb3IgZm9yZ290dGVuIGh3 LXdhdGNocG9pbnRzIGFmdGVyIGZvcmsoKS1vZmYgb2YgYSBwcm9jZXNzLgogKwpAQCAtMTQwNTYs MTAgKzE0MDU2LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmgKICsKICtleHRlcm4gdm9pZCBtYXJrZXIgKHZv aWQpOwogK2V4dGVybiB2b2lkIGZvcmtvZmYgKGludCBucik7Ci1JbmRleDogZ2RiLTcuMi45MC4y MDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmMKK0luZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2UuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10 cmFjZS5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi50cmFjZS9zdGFwLXRyYWNlLmMJMjAxMS0wNS0y NSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzEgQEAKICsvKiBUaGlzIHRl c3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTQxMzIsMTAg KzE0MTMyLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2Ri LnRyYWNlL3N0YXAtdHJhY2UuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5leHAKK0luZGV4 OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLnRyYWNlL3N0YXAtdHJhY2Uu ZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAw MDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi50cmFj ZS9zdGFwLXRyYWNlLmV4cAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5l eHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTI5IEBA CiArIyBDb3B5cmlnaHQgMjAxMQogKyMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBA IC0xNDI2NiwxMCArMTQyNjYsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIudHJhY2Uvc3RhcC10cmFjZS5leHAKICsKICsjIEZpbmlzaGVkIQogK2dkYl90 ZXN0ICJ0ZmluZCBub25lIiAiLioiICIiCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMS0wMy0yNSAxNDowODoxMS4wMDAwMDAw MDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5l eHAJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIw MTEwNTI1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDExLTAzLTI1IDE0OjA4OjEx LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTE0MSw2 ICsxNDEsMTEgQEAgcHJvYyBnZGJfdW5sb2FkIHt9IHsKICAJICAgIHNlbmRfZ2RiICJ5XG4iCiAg CSAgICBleHBfY29udGludWUKQEAgLTE0MjgyLDEwICsxNDI4MiwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgCS1yZSAiRGlzY2FyZCBz eW1ib2wgdGFibGUgZnJvbSAuKnkgb3Igbi4qJCIgewogIAkgICAgc2VuZF9nZGIgInlcbiIKICAJ ICAgIGV4cF9jb250aW51ZQotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9saWIvcGFzY2FsLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0 ZS9saWIvcGFzY2FsLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3Jp Zy9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCTIwMTEtMDEtMDEgMTY6MzM6NTIuMDAwMDAw MDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNj YWwuZXhwCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wMS0wMSAx NjozMzo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0 c3VpdGUvbGliL3Bhc2NhbC5leHAJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0zNyw2ICszNyw5IEBAIHByb2MgcGFzY2FsX2luaXQge30gewogICAgICBnbG9iYWwgcGFz Y2FsX2NvbXBpbGVyX2lzX2ZwYwogICAgICBnbG9iYWwgZ3BjX2NvbXBpbGVyCkBAIC0xNDMxNywx MCArMTQzMTcsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9s aWIvcGFzY2FsLmV4cAogICAgICB9CiAgICAgIHNldCBwYXNjYWxfaW5pdF9kb25lIDEKICB9ICAg Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGhyZWFkLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90aHJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAx MTA0Mjkub3JpZy9nZGIvdGhyZWFkLmMJMjAxMS0wNC0xOSAxNzoyNDo0OS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90aHJlYWQuYwkyMDExLTA0LTI5IDA5OjQw OjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdGhy ZWFkLmMJMjAxMS0wNC0xOSAxNzoyNDo0OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkw LjIwMTEwNTI1L2dkYi90aHJlYWQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIw MAogQEAgLTE0MzgsNyArMTQzOCw4IEBAIHVwZGF0ZV90aHJlYWRfbGlzdCAodm9pZCkKICAgICBu byB0aHJlYWQgaXMgc2VsZWN0ZWQsIG9yIG5vIHRocmVhZHMgZXhpc3QuICAqLwogIApAQCAtMTQz NTQsMTAgKzE0MzU0LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90aHJlYWQu YwogLSAgY3JlYXRlX2ludGVybmFsdmFyX3R5cGVfbGF6eSAoIl90aHJlYWQiLCB0aHJlYWRfaWRf bWFrZV92YWx1ZSk7CiArICBjcmVhdGVfaW50ZXJuYWx2YXJfdHlwZV9sYXp5ICgiX3RocmVhZCIs ICZ0aHJlYWRfZnVuY3MsIE5VTEwpOwogIH0KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi90b3AuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RvcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90b3AuYwkyMDExLTAzLTEyIDIzOjU5 OjI0LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RvcC5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi90b3AuYwkyMDExLTAzLTEyIDIzOjU5OjI0LjAwMDAwMDAwMCArMDEwMAorKysr IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3RvcC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAw MDAwICswMjAwCiBAQCAtMzQzLDYgKzM0Myw5IEBAIHZvaWQKICBwcmVwYXJlX2V4ZWN1dGVfY29t bWFuZCAodm9pZCkKICB7CkBAIC0xNDM2OCwxMSArMTQzNjgsMTEgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3RvcC5jCiAgCiAgICAvKiBXaXRoIG11bHRpcGxlIHRocmVhZHMgcnVu bmluZyB3aGlsZSB0aGUgb25lIHdlJ3JlIGV4YW1pbmluZyBpcwogICAgICAgc3RvcHBlZCwgdGhl IGRjYWNoZSBjYW4gZ2V0IHN0YWxlIHdpdGhvdXQgdXMgYmVpbmcgYWJsZSB0byBkZXRlY3QKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90cmFjZXBvaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL3RyYWNlcG9pbnQuYwkyMDExLTAzLTE4IDE5OjQ3OjU2LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3RyYWNlcG9pbnQuYwkyMDEx LTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAotQEAgLTE2MDAsNiArMTYwMCw4IEBAIHN0 YXJ0X3RyYWNpbmcgKHZvaWQpCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90cmFj ZXBvaW50LmMJMjAxMS0wNS0yMCAxNjozNzo0Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi90cmFjZXBvaW50LmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAw MDAgKzAyMDAKK0BAIC0xNjAzLDYgKzE2MDMsOCBAQCBzdGFydF90cmFjaW5nICh2b2lkKQogIAog ICAgZm9yIChpeCA9IDA7IFZFQ19pdGVyYXRlIChicmVha3BvaW50X3AsIHRwX3ZlYywgaXgsIHQp OyBpeCsrKQogICAgICB7CkBAIC0xNDM4MSw3ICsxNDM4MSw3IEBAIEluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMKICAgICAgICBpZiAoKHQtPnR5cGUgPT0gYnBfZmFz dF90cmFjZXBvaW50CiAgCSAgID8gIW1heV9pbnNlcnRfZmFzdF90cmFjZXBvaW50cwogIAkgICA6 ICFtYXlfaW5zZXJ0X3RyYWNlcG9pbnRzKSkKLUBAIC0xNjA4LDYgKzE2MTAsOSBAQCBzdGFydF90 cmFjaW5nICh2b2lkKQorQEAgLTE2MTEsNiArMTYxMyw5IEBAIHN0YXJ0X3RyYWNpbmcgKHZvaWQp CiAgICAgICAgdC0+bnVtYmVyX29uX3RhcmdldCA9IDA7CiAgICAgICAgdGFyZ2V0X2Rvd25sb2Fk X3RyYWNlcG9pbnQgKHQpOwogICAgICAgIHQtPm51bWJlcl9vbl90YXJnZXQgPSB0LT5udW1iZXI7 CkBAIC0xNDM5MSw3ICsxNDM5MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 cmFjZXBvaW50LmMKICAgICAgfQogICAgVkVDX2ZyZWUgKGJyZWFrcG9pbnRfcCwgdHBfdmVjKTsK ICAKLUBAIC0xNjY5LDcgKzE2NzQsMjggQEAgdHJhY2Vfc3RvcF9jb21tYW5kIChjaGFyICphcmdz LCBpbnQgZnJvbQorQEAgLTE2NzIsNyArMTY3NywyOCBAQCB0cmFjZV9zdG9wX2NvbW1hbmQgKGNo YXIgKmFyZ3MsIGludCBmcm9tCiAgdm9pZAogIHN0b3BfdHJhY2luZyAodm9pZCkKICB7CkBAIC0x NDQyMCw3ICsxNDQyMCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBv aW50LmMKICAgIC8qIFNob3VsZCBjaGFuZ2UgaW4gcmVzcG9uc2UgdG8gcmVwbHk/ICAqLwogICAg Y3VycmVudF90cmFjZV9zdGF0dXMgKCktPnJ1bm5pbmcgPSAwOwogIH0KLUBAIC00NDk3LDcgKzQ1 MjMsOCBAQCBpbmZvX3N0YXRpY190cmFjZXBvaW50X21hcmtlcnNfY29tbWFuZCAoCitAQCAtNDUx NSw3ICs0NTQxLDggQEAgaW5mb19zdGF0aWNfdHJhY2Vwb2ludF9tYXJrZXJzX2NvbW1hbmQgKAog ICAgIGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0xNDQzMCw3 ICsxNDQzMCw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90cmFjZXBvaW50LmMK ICB7CiAgICBMT05HRVNUIHNpemU7CiAgICBnZGJfYnl0ZSAqYnVmOwotQEAgLTQ2NzYsNiArNDcw MywxNSBAQCB0cmFjZWZyYW1lX2F2YWlsYWJsZV9tZW1vcnkgKFZFQyhtZW1fcmFuCitAQCAtNDY5 NCw2ICs0NzIxLDE1IEBAIHRyYWNlZnJhbWVfYXZhaWxhYmxlX21lbW9yeSAoVkVDKG1lbV9yYW4K ICAgIHJldHVybiAwOwogIH0KICAKQEAgLTE0NDQ2LDcgKzE0NDQ2LDcgQEAgSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3RyYWNlcG9pbnQuYwogIC8qIG1vZHVsZSBpbml0aWFsaXphdGlv biAqLwogIHZvaWQKICBfaW5pdGlhbGl6ZV90cmFjZXBvaW50ICh2b2lkKQotQEAgLTQ2ODYsNyAr NDcyMiw3IEBAIF9pbml0aWFsaXplX3RyYWNlcG9pbnQgKHZvaWQpCitAQCAtNDcwNCw3ICs0NzQw LDcgQEAgX2luaXRpYWxpemVfdHJhY2Vwb2ludCAodm9pZCkKICAgICAgIHZhbHVlIHdpdGggYSB2 b2lkIHR5cGVkIHZhbHVlLCBhbmQgd2hlbiB3ZSBnZXQgaGVyZSwgZ2RiYXJjaAogICAgICAgaXNu J3QgaW5pdGlhbGl6ZWQgeWV0LiAgQXQgdGhpcyBwb2ludCwgd2UncmUgcXVpdGUgc3VyZSB0aGVy ZQogICAgICAgaXNuJ3QgYW5vdGhlciBjb252ZW5pZW5jZSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBu YW1lLiAgKi8KQEAgLTE0NDU1LDEwICsxNDQ1NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvdHJhY2Vwb2ludC5jCiAgCiAgICB0cmFjZWZyYW1lX251bWJlciA9IC0xOwogICAg dHJhY2Vwb2ludF9udW1iZXIgPSAtMTsKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90 eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVwcmludC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi90eXBlcHJpbnQuYwky MDExLTAxLTExIDIyOjUzOjI1LjAwMDAwMDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0 MjkvZ2RiL3R5cGVwcmludC5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCist LS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi90eXBlcHJpbnQuYwkyMDExLTAxLTExIDIy OjUzOjI1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3R5cGVw cmludC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMzYsNiArMzYs NyBAQAogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIK QEAgLTE0NTEyLDEwICsxNDUxMiwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dHlwZXByaW50LmMKICB9CiAgCiAgc3RhdGljIHZvaWQKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi91dGlscy5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdXRpbHMuYwkyMDEx LTAzLTMxIDE2OjMyOjQ4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0Mjkv Z2RiL3V0aWxzLmMJMjAxMS0wNC0yOSAwOTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGIt Ny4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNS0xNyAyMzoyNjoyOC4wMDAw MDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi91dGlscy5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjI0Myw2ICsyMjQzLDM2IEBAIHNldF9i YXRjaF9mbGFnX2FuZF9tYWtlX2NsZWFudXBfcmVzdG9yZV8KICAgIHJldHVybiBiYWNrX3RvOwog IH0KQEAgLTE0NTUzLDEwICsxNDU1MywxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvdXRpbHMuYwogIC8qIFNldCB0aGUgc2NyZWVuIHNpemUgYmFzZWQgb24gTElORVNfUEVSX1BB R0UgYW5kIENIQVJTX1BFUl9MSU5FLiAgKi8KICAKICBzdGF0aWMgdm9pZAotSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbGFyaXRoLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi92YWxhcml0aC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmln L2dkYi92YWxhcml0aC5jCTIwMTEtMDItMTggMjA6MTA6NDYuMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsYXJpdGguYwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAw MDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdmFsYXJpdGgu YwkyMDExLTAyLTE4IDIwOjEwOjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAx MTA1MjUvZ2RiL3ZhbGFyaXRoLmMJMjAxMS0wNS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xOTgsNyArMTk4LDEwIEBAIHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAoc3RydWN0IHZh bHVlICoKICAgIHN0cnVjdCB0eXBlICphcnJheV90eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVf dHlwZSAoYXJyYXkpKTsKICAgIHN0cnVjdCB0eXBlICplbHRfdHlwZSA9IGNoZWNrX3R5cGVkZWYg KFRZUEVfVEFSR0VUX1RZUEUgKGFycmF5X3R5cGUpKTsKQEAgLTE0NTgwLDEwICsxNDU4MCwxMCBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsYXJpdGguYwogICAgcmV0dXJuIGJp bm9wX3R5cGVzX3VzZXJfZGVmaW5lZF9wIChvcCwgdmFsdWVfdHlwZSAoYXJnMSksIHZhbHVlX3R5 cGUgKGFyZzIpKTsKICB9CiAgCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFsb3Bz LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvdmFsb3BzLmMJMjAxMS0wMy0yOSAxOTow NDozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWxvcHMu YwkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAx MTA1MjUub3JpZy9nZGIvdmFsb3BzLmMJMjAxMS0wMy0yOSAxOTowNDozMC4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWxvcHMuYwkyMDExLTA1LTI1IDE3OjA1 OjIxLjAwMDAwMDAwMCArMDIwMAogQEAgLTQ3LDYgKzQ3LDcgQEAKICAjaW5jbHVkZSAib2JqZmls ZXMuaCIKICAjaW5jbHVkZSAic3ltdGFiLmgiCkBAIC0xNDczNSwxMCArMTQ3MzUsMTAgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbG9wcy5jCiAgICBpZiAoVFlQRV9DT0RFIChh cnJheV90eXBlKSA9PSBUWVBFX0NPREVfQklUU1RSSU5HKQogICAgICB7CiAgICAgICAgaW50IGk7 Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFscHJpbnQuYworSW5kZXg6IGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxMS0wMi0xNCAxMjozNTo0NS4wMDAwMDAw MDAgKzAxMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWxwcmludC5jCTIwMTEtMDQt MjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmln L2dkYi92YWxwcmludC5jCTIwMTEtMDQtMjkgMjE6MjM6MDUuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFscHJpbnQuYwkyMDExLTA1LTI1IDE3OjA1OjIxLjAw MDAwMDAwMCArMDIwMAogQEAgLTM2LDYgKzM2LDcgQEAKICAjaW5jbHVkZSAiZGZwLmgiCiAgI2lu Y2x1ZGUgInB5dGhvbi9weXRob24uaCIKQEAgLTE0Nzk5LDcgKzE0Nzk5LDcgQEAgSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHByaW50LmMKICAgIGluZGV4X3R5cGUgPSBUWVBFX0lO REVYX1RZUEUgKHR5cGUpOwogIAogICAgaWYgKGdldF9hcnJheV9ib3VuZHMgKHR5cGUsICZsb3df Ym91bmQsICZoaWdoX2JvdW5kKSkKLUBAIC0xMjg0LDYgKzEzMDksOCBAQCB2YWxfcHJpbnRfYXJy YXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0CitAQCAtMTI5MCw2ICsxMzE1LDggQEAgdmFsX3By aW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdAogICAgICB7CiAgICAgICAgZnByaW50 Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLi4uIik7CiAgICAgIH0KQEAgLTE0ODA4LDEwICsxNDgwOCwx MCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdmFscHJpbnQuYwogIH0KICAKICAv KiBSZWFkIExFTiBieXRlcyBvZiB0YXJnZXQgbWVtb3J5IGF0IGFkZHJlc3MgTUVNQUREUiwgcGxh Y2luZyB0aGUKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWx1ZS5jCitJbmRleDog Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdmFsdWUuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIu OTAuMjAxMTA0Mjkub3JpZy9nZGIvdmFsdWUuYwkyMDExLTAyLTI3IDIxOjU3OjE1LjAwMDAwMDAw MCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3ZhbHVlLmMJMjAxMS0wNC0yOSAw OTo0MDo0Ni4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2Ri L3ZhbHVlLmMJMjAxMS0wMi0yNyAyMTo1NzoxNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi92YWx1ZS5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAwICsw MjAwCiBAQCAtNDMsNiArNDMsNyBAQAogICNpbmNsdWRlICJweXRob24vcHl0aG9uLmgiCiAgI2lu Y2x1ZGUgPGN0eXBlLmg+CkBAIC0xNTA4NywxMCArMTUwODcsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3ZhbHVlLmMKICsgIG9ic2VydmVyX2F0dGFjaF9tYXJrX3VzZWQgKHZh bHVlX3R5cGVzX21hcmtfdXNlZCk7CiArI2VuZGlmCiAgfQotSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL3ZhbHVlLmgKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi92YWx1ZS5o CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi92YWx1ZS5oCTIw MTEtMDMtMDQgMjE6MDc6MjIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQy OS9nZGIvdmFsdWUuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAwMCArMDIwMAorLS0tIGdk Yi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvdmFsdWUuaAkyMDExLTAzLTA0IDIxOjA3OjIyLjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3ZhbHVlLmgJMjAxMS0w NS0yNSAxNzowNToyMS4wMDAwMDAwMDAgKzAyMDAKIEBAIC00NzMsNiArNDczLDEwIEBAIGV4dGVy biBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZGVjZmxvYXQKICAJCQkJCSAgY29uc3QgZ2RiX2J5 dGUgKmRlY2J5dGVzKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2hpc3Rvcnlf cmVmIChjaGFyICosIGNoYXIgKiopOwpAQCAtMTUxNTgsMTAgKzE1MTU4LDEwIEBAIEluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCBpbnRlcm5h bHZhciAqbG9va3VwX2ludGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1lKTsKICAKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi93aW5kb3dzLXRkZXAuYworSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4y MDExMDQyOS5vcmlnL2dkYi93aW5kb3dzLXRkZXAuYwkyMDExLTAxLTEyIDAyOjIzOjI5LjAwMDAw MDAwMCArMDEwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3dpbmRvd3MtdGRlcC5jCTIw MTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUy NS5vcmlnL2dkYi93aW5kb3dzLXRkZXAuYwkyMDExLTAxLTEyIDAyOjIzOjI5LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3dpbmRvd3MtdGRlcC5jCTIwMTEtMDUt MjUgMTc6MDU6MjEuMDAwMDAwMDAwICswMjAwCiBAQCAtMjY4LDcgKzI2OCw3IEBAIHN0YXRpYyBz dHJ1Y3QgbHZhbF9mdW5jcyB0bGJfdmFsdWVfZnVuY3MKICAgICBpZiB0aGVyZSdzIG5vIG9iamVj dCBhdmFpbGFibGUuICAqLwogIApAQCAtMTUxOTQsMTAgKzE1MTk0LDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi93aW5kb3dzLXRkZXAuYwogLSAgY3JlYXRlX2ludGVybmFsdmFy X3R5cGVfbGF6eSAoIl90bGIiLCB0bGJfbWFrZV92YWx1ZSk7CiArICBjcmVhdGVfaW50ZXJuYWx2 YXJfdHlwZV9sYXp5ICgiX3RsYiIsICZ0bGJfZnVuY3MsIE5VTEwpOwogIH0KLUluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi94Y29mZnJlYWQuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1 MjUvZ2RiL3hjb2ZmcmVhZC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5v cmlnL2dkYi94Y29mZnJlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAot KysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDQtMjkgMDk6NDA6 NDYuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi94Y29m ZnJlYWQuYwkyMDExLTAzLTA3IDE3OjE3OjI5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3hjb2ZmcmVhZC5jCTIwMTEtMDUtMjUgMTc6MDU6MjEuMDAwMDAwMDAw ICswMjAwCiBAQCAtMzA5MCw2ICszMDkwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5z IHhjb2ZmX3N5bV9mbgogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkvKiBHZXQgc2VnbWVu dCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBhaXhfcHJvY2Vzc19saW5lbm9zLAoK ZGlmZiAtLWdpdCBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0Y2ggYi9n ZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS00b2Y1LnBhdGNoCmluZGV4IDJlZjM2OWQuLjEx MzVjYzcgMTAwNjQ0Ci0tLSBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTRvZjUucGF0 Y2gKKysrIGIvZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtNG9mNS5wYXRjaApAQCAtNTgs MTAgKzU4LDEwIEBAIGdkYi90ZXN0c3VpdGUvCiAJKiBnZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vu c2l0aXZlLmM6IE5ldyBmaWxlLgogCSogZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS5l eHA6IE5ldyBmaWxlLgogCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVh ZC5jCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxMS0w NC0yOSAwOTo0MzozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dk Yi9kd2FyZjJyZWFkLmMJMjAxMS0wNC0yOSAwOTo0NTo1OC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA1LTI1IDE3OjEy OjUxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2R3YXJmMnJl YWQuYwkyMDExLTA1LTI1IDE5OjEyOjMzLjAwMDAwMDAwMCArMDIwMAogQEAgLTE1Miw2ICsxNTIs OSBAQCBERUZfVkVDX0kgKG9mZnNldF90eXBlKTsKICAgICBhIGNvbW1lbnQgYnkgdGhlIGNvZGUg dGhhdCB3cml0ZXMgdGhlIGluZGV4LiAgKi8KICBzdHJ1Y3QgbWFwcGVkX2luZGV4CkBAIC03Miw3 ICs3Miw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAg IC8qIFRoZSB0b3RhbCBsZW5ndGggb2YgdGhlIGJ1ZmZlci4gICovCiAgICBvZmZfdCB0b3RhbF9z aXplOwogIAotQEAgLTE5OTAsMTcgKzE5OTMsMjMgQEAgY3JlYXRlX2FkZHJtYXBfZnJvbV9pbmRl eCAoc3RydWN0IG9iamZpbAorQEAgLTE5OTcsMTcgKzIwMDAsMjMgQEAgY3JlYXRlX2FkZHJtYXBf ZnJvbV9pbmRleCAoc3RydWN0IG9iamZpbAogICAgIFNZTUJPTF9IQVNIX05FWFQsIGJ1dCB3ZSBr ZWVwIGEgc2VwYXJhdGUgY29weSB0byBtYWludGFpbiBjb250cm9sIG92ZXIgdGhlCiAgICAgaW1w bGVtZW50YXRpb24uICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBoYXNoIGZ1bmN0aW9u IGlzIHRpZWQgdG8gdGhlCiAgICAgZm9ybWF0IG9mIHRoZSBtYXBwZWQgaW5kZXggZmlsZS4gIFRo ZSBoYXNoIHZhbHVlcyBkbyBub3QgaGF2ZSB0byBtYXRjaCB3aXRoCkBAIC05OSwyOSArOTksMzQg QEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIAogICAgcmV0 dXJuIHI7CiAgfQotQEAgLTIwMTMsMTEgKzIwMjIsMTkgQEAgc3RhdGljIGludAotIGZpbmRfc2xv dF9pbl9tYXBwZWRfaGFzaCAoc3RydWN0IG1hcHBlZF9pbmRleCAqaW5kZXgsIGNvbnN0IGNoYXIg Km5hbWUsCi0gCQkJICBvZmZzZXRfdHlwZSAqKnZlY19vdXQpCi0gewotLSAgb2Zmc2V0X3R5cGUg aGFzaCA9IG1hcHBlZF9pbmRleF9zdHJpbmdfaGFzaCAobmFtZSk7CitAQCAtMjAyMyw2ICsyMDMy LDcgQEAgZmluZF9zbG90X2luX21hcHBlZF9oYXNoIChzdHJ1Y3QgbWFwcGVkXworICAgc3RydWN0 IGNsZWFudXAgKmJhY2tfdG8gPSBtYWtlX2NsZWFudXAgKG51bGxfY2xlYW51cCwgMCk7CisgICBv ZmZzZXRfdHlwZSBoYXNoOworICAgb2Zmc2V0X3R5cGUgc2xvdCwgc3RlcDsKKysgIGludCAoKmNt cCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKyAKKyAgIGlmIChjdXJyZW50X2xhbmd1 YWdlLT5sYV9sYW5ndWFnZSA9PSBsYW5ndWFnZV9jcGx1cworICAgICAgIHx8IGN1cnJlbnRfbGFu Z3VhZ2UtPmxhX2xhbmd1YWdlID09IGxhbmd1YWdlX2phdmEKK0BAIC0yMDQ1LDkgKzIwNTUsMTYg QEAgZmluZF9zbG90X2luX21hcHBlZF9oYXNoIChzdHJ1Y3QgbWFwcGVkXworIAl9CisgICAgIH0K KyAKKy0gIGhhc2ggPSBtYXBwZWRfaW5kZXhfc3RyaW5nX2hhc2ggKG5hbWUpOwogKyAgLyogSW5k ZXggdmVyc2lvbiA0IGRpZCBub3Qgc3VwcG9ydCBjYXNlIGluc2Vuc2l0aXZlIHNlYXJjaGVzLiAg QnV0IHRoZQogKyAgICAgaW5kZXhlcyBmb3IgY2FzZSBpbnNlbnNpdGl2ZSBsYW5ndWFnZXMgYXJl IGJ1aWx0IGluIGxvd2VyY2FzZSwgdGhlcmVmb3JlCiArICAgICBzaW11bGF0ZSBvdXIgTkFNRSBi ZWluZyBzZWFyY2hlZCBpcyBhbHNvIGxvd2VyY2FzZWQuICAqLwotKyAgb2Zmc2V0X3R5cGUgaGFz aCA9IG1hcHBlZF9pbmRleF9zdHJpbmdfaGFzaCAoKGluZGV4LT52ZXJzaW9uID09IDQKKysgIGhh c2ggPSBtYXBwZWRfaW5kZXhfc3RyaW5nX2hhc2ggKChpbmRleC0+dmVyc2lvbiA9PSA0CiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgY2FzZV9zZW5zaXRpdml0eSA9PSBj YXNlX3NlbnNpdGl2ZV9vZmYKICsJCQkJICAgID8gNSA6IGluZGV4LT52ZXJzaW9uKSwKICsJCQkJ ICAgbmFtZSk7Ci0gICBvZmZzZXRfdHlwZSBzbG90LCBzdGVwOwotKyAgaW50ICgqY21wKSAoY29u c3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotIAogICAgc2xvdCA9IGhhc2ggJiAoaW5kZXgtPnN5 bWJvbF90YWJsZV9zbG90cyAtIDEpOwogICAgc3RlcCA9ICgoaGFzaCAqIDE3KSAmIChpbmRleC0+ c3ltYm9sX3RhYmxlX3Nsb3RzIC0gMSkpIHwgMTsKICsgIGNtcCA9IChjYXNlX3NlbnNpdGl2aXR5 ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RyY21wIDogc3RyY2FzZWNtcCk7CiAgCiAgICBmb3Ig KDs7KQogICAgICB7Ci1AQCAtMjAyOCw3ICsyMDQ1LDcgQEAgZmluZF9zbG90X2luX21hcHBlZF9o YXNoIChzdHJ1Y3QgbWFwcGVkXwotIAlyZXR1cm4gMDsKK0BAIC0yMDYxLDcgKzIwNzgsNyBAQCBm aW5kX3Nsb3RfaW5fbWFwcGVkX2hhc2ggKHN0cnVjdCBtYXBwZWRfCisgCX0KICAKICAgICAgICBz dHIgPSBpbmRleC0+Y29uc3RhbnRfcG9vbCArIE1BWUJFX1NXQVAgKGluZGV4LT5zeW1ib2xfdGFi bGVbaV0pOwogLSAgICAgIGlmICghc3RyY21wIChuYW1lLCBzdHIpKQpAQCAtMTI5LDcgKzEzNCw3 IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAJewogIAkg ICp2ZWNfb3V0ID0gKG9mZnNldF90eXBlICopIChpbmRleC0+Y29uc3RhbnRfcG9vbAogIAkJCQkg ICAgICArIE1BWUJFX1NXQVAgKGluZGV4LT5zeW1ib2xfdGFibGVbaSArIDFdKSk7Ci1AQCAtMjA3 MSwxNSArMjA4OCwxNyBAQCBkd2FyZjJfcmVhZF9pbmRleCAoc3RydWN0IG9iamZpbGUgKm9iamZp CitAQCAtMjEwNSwxNSArMjEyMiwxNyBAQCBkd2FyZjJfcmVhZF9pbmRleCAoc3RydWN0IG9iamZp bGUgKm9iamZpCiAgICAvKiBWZXJzaW9ucyBlYXJsaWVyIHRoYW4gMyBlbWl0dGVkIGV2ZXJ5IGNv cHkgb2YgYSBwc3ltYm9sLiAgVGhpcwogICAgICAgY2F1c2VzIHRoZSBpbmRleCB0byBiZWhhdmUg dmVyeSBwb29ybHkgZm9yIGNlcnRhaW4gcmVxdWVzdHMuICBWZXJzaW9uIDMKICAgICAgIGNvbnRh aW5lZCBpbmNvbXBsZXRlIGFkZHJtYXAuICBTbywgaXQgc2VlbXMgYmV0dGVyIHRvIGp1c3QgaWdu b3JlIHN1Y2gKQEAgLTE0OSw3ICsxNTQsNyBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9n ZGIvZHdhcmYycmVhZC5jCiAgICBtYXAtPnRvdGFsX3NpemUgPSBkd2FyZjJfcGVyX29iamZpbGUt PmdkYl9pbmRleC5zaXplOwogIAogICAgbWV0YWRhdGEgPSAob2Zmc2V0X3R5cGUgKikgKGFkZHIg KyBzaXplb2YgKG9mZnNldF90eXBlKSk7Ci1AQCAtMTU2MDIsMTMgKzE1NjIxLDE2IEBAIHN0cnVj dCBzdHJ0YWJfZW50cnkKK0BAIC0xNTY5MiwxMyArMTU3MTEsMTYgQEAgc3RydWN0IHN0cnRhYl9l bnRyeQogICAgY29uc3QgY2hhciAqc3RyOwogIH07CiAgCkBAIC0xNjgsNyArMTczLDcgQEAgSW5k ZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogIH0KICAKICAvKiBFcXVh bGl0eSBmdW5jdGlvbiBmb3IgYSBzdHJ0YWJfZW50cnkuICAqLwotQEAgLTE1NzQ2LDEyICsxNTc2 OCwxNSBAQCBjbGVhbnVwX21hcHBlZF9zeW10YWIgKHZvaWQgKnApCitAQCAtMTU4MzYsMTIgKzE1 ODU4LDE1IEBAIGNsZWFudXBfbWFwcGVkX3N5bXRhYiAodm9pZCAqcCkKICB9CiAgCiAgLyogRmlu ZCBhIHNsb3QgaW4gU1lNVEFCIGZvciB0aGUgc3ltYm9sIE5BTUUuICBSZXR1cm5zIGEgcG9pbnRl ciB0bwpAQCAtMTg2LDcgKzE5MSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9k d2FyZjJyZWFkLmMKICAKICAgIGluZGV4ID0gaGFzaCAmIChzeW10YWItPnNpemUgLSAxKTsKICAg IHN0ZXAgPSAoKGhhc2ggKiAxNykgJiAoc3ltdGFiLT5zaXplIC0gMSkpIHwgMTsKLUBAIC0xNjI3 OSw3ICsxNjMwNCw3IEBAIHdyaXRlX3BzeW10YWJzX3RvX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAK K0BAIC0xNjM2OSw3ICsxNjM5NCw3IEBAIHdyaXRlX3BzeW10YWJzX3RvX2luZGV4IChzdHJ1Y3Qg b2JqZmlsZSAKICAgIHRvdGFsX2xlbiA9IHNpemVfb2ZfY29udGVudHM7CiAgCiAgICAvKiBUaGUg dmVyc2lvbiBudW1iZXIuICAqLwpAQCAtMTk1LDEwICsyMDAsMTAgQEAgSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgb2JzdGFja19ncm93ICgmY29udGVudHMs ICZ2YWwsIHNpemVvZiAodmFsKSk7CiAgCiAgICAvKiBUaGUgb2Zmc2V0IG9mIHRoZSBDVSBsaXN0 IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlLiAgKi8KLUluZGV4OiBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9taW5zeW1zLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9taW5zeW1z LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL21pbnN5bXMu YwkyMDExLTA0LTI5IDA5OjQzOjM0LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL21pbnN5bXMuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAor LS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvbWluc3ltcy5jCTIwMTEtMDUtMjUgMTc6 MTI6NTEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvbWluc3lt cy5jCTIwMTEtMDUtMjUgMTc6MTM6MTMuMDAwMDAwMDAwICswMjAwCiBAQCAtMjM5LDExICsyMzks MTYgQEAgbG9va3VwX21pbmltYWxfc3ltYm9sIChjb25zdCBjaGFyICpuYW1lLAogIAogIAkJICBp ZiAocGFzcyA9PSAxKQpAQCAtMjE4LDEwICsyMjMsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAx MTA0MjkvZ2RiL21pbnN5bXMuYwogIAkJICAgICAgbWF0Y2ggPSBTWU1CT0xfTUFUQ0hFU19TRUFS Q0hfTkFNRSAobXN5bWJvbCwKICAJCQkJCQkJICBtb2RpZmllZF9uYW1lKTsKICAJCSAgICB9Ci1J bmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvcHN5bXRhYi5jCitJbmRleDogZ2RiLTcuMi45 MC4yMDExMDUyNS9nZGIvcHN5bXRhYi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDEx MDQyOS5vcmlnL2dkYi9wc3ltdGFiLmMJMjAxMS0wNC0yMCAyMjoxMDoyOS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wc3ltdGFiLmMJMjAxMS0wNC0yOSAwOTo0 NDoxNS4wMDAwMDAwMDAgKzAyMDAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3Bz eW10YWIuYwkyMDExLTA0LTIwIDIyOjEwOjI5LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3BzeW10YWIuYwkyMDExLTA1LTI1IDE3OjEzOjEzLjAwMDAwMDAwMCAr MDIwMAogQEAgLTY5MCw4ICs2OTAsMTUgQEAgbG9va3VwX3BhcnRpYWxfc3ltYm9sIChzdHJ1Y3Qg cGFydGlhbF9zeQogIAlpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAogIAkJCV8o ImZhaWxlZCBpbnRlcm5hbCBjb25zaXN0ZW5jeSBjaGVjayIpKTsKQEAgLTI0MCwxMCArMjQ1LDEw IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9wc3ltdGFiLmMKICAJewogIAkgIGlm IChzeW1ib2xfbWF0Y2hlc19kb21haW4gKFNZTUJPTF9MQU5HVUFHRSAoKnRvcCksCiAgCQkJCSAg ICAgU1lNQk9MX0RPTUFJTiAoKnRvcCksIGRvbWFpbikpCi1JbmRleDogZ2RiLTcuMi45MC4yMDEx MDQyOS9nZGIvc3ltdGFiLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9nZGIvc3ltdGFiLmMJ MjAxMS0wNC0yOSAwOTo0Mzo1NS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEw NDI5L2dkYi9zeW10YWIuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorLS0t IGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvc3ltdGFiLmMJMjAxMS0wNS0yNSAxNzoxMjo1 MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9zeW10YWIuYwky MDExLTA1LTI1IDE3OjEzOjQ5LjAwMDAwMDAwMCArMDIwMAogQEAgLTEwNjIsMTkgKzEwNjIsNiBA QCBsb29rdXBfc3ltYm9sX2luX2xhbmd1YWdlIChjb25zdCBjaGFyICpuCiAgCX0KICAgICAgfQpA QCAtMjY0LDcgKzI2OSw3IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIu YwogICAgcmV0dXJudmFsID0gbG9va3VwX3N5bWJvbF9hdXggKG1vZGlmaWVkX25hbWUsIGJsb2Nr LCBkb21haW4sIGxhbmcsCiAgCQkJCSBpc19hX2ZpZWxkX29mX3RoaXMpOwogICAgZG9fY2xlYW51 cHMgKGNsZWFudXApOwotQEAgLTMwODIsNyArMzA2OSw5IEBAIHNlYXJjaF9zeW1ib2xzIChjaGFy ICpyZWdleHAsIGRvbWFpbl9lbnUKK0BAIC0zMTA2LDcgKzMwOTMsOSBAQCBzZWFyY2hfc3ltYm9s cyAoY2hhciAqcmVnZXhwLCBkb21haW5fZW51CiAgCSAgICB9CiAgCX0KICAKQEAgLTI3NSwyNiAr MjgwLDI0IEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuYwogICAgICAg IGlmIChlcnJjb2RlICE9IDApCiAgCXsKICAJICBjaGFyICplcnIgPSBnZXRfcmVnY29tcF9lcnJv ciAoZXJyY29kZSwgJmRhdHVtLnByZWcpOwotQEAgLTM1MjksMTAgKzM1MTgsMTMgQEAgY29tcGxl dGlvbl9saXN0X2FkZF9uYW1lIChjaGFyICpzeW1uYW1lLAotIAkJCSAgY2hhciAqdGV4dCwgY2hh ciAqd29yZCkKK0BAIC0zNTQ2LDcgKzM1MzUsMTEgQEAgcmJyZWFrX2NvbW1hbmQgKGNoYXIgKnJl Z2V4cCwgaW50IGZyb21fdAorIHN0YXRpYyBpbnQKKyBjb21wYXJlX3N5bWJvbF9uYW1lIChjb25z dCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpzeW1fdGV4dCwgaW50IHN5bV90ZXh0X2xlbikKICB7 Ci0gICBpbnQgbmV3c2l6ZTsKKy0gIGlmIChzdHJuY21wIChuYW1lLCBzeW1fdGV4dCwgc3ltX3Rl eHRfbGVuKSAhPSAwKQogKyAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAq LCBzaXplX3QpOwogKwogKyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0 aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKKysKKysgIGlmIChuY21wIChuYW1lLCBz eW1fdGV4dCwgc3ltX3RleHRfbGVuKSAhPSAwKQorICAgICByZXR1cm4gMDsKICAKLSAgIC8qIENs aXAgc3ltYm9scyB0aGF0IGNhbm5vdCBtYXRjaC4gICovCi0gCi0tICBpZiAoc3RybmNtcCAoc3lt bmFtZSwgc3ltX3RleHQsIHN5bV90ZXh0X2xlbikgIT0gMCkKLSsgIGlmIChuY21wIChzeW1uYW1l LCBzeW1fdGV4dCwgc3ltX3RleHRfbGVuKSAhPSAwKQotICAgICB7Ci0gICAgICAgcmV0dXJuOwot ICAgICB9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgKKyAgIGlmIChz eW1fdGV4dFtzeW1fdGV4dF9sZW5dID09ICcoJykKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9zeW10YWIuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuOTAuMjAxMTA0Mjkub3JpZy9n ZGIvc3ltdGFiLmgJMjAxMS0wNC0yOSAwOTo0MzozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAw MCArMDIwMAotQEAgLTEwMzAsNyArMTAzMCw4IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgbXN5bWJv bF9oYXNoIChjb25zdCAKKy0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL3N5bXRhYi5o CTIwMTEtMDUtMjUgMTc6MTI6NTEuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDEx MDUyNS9nZGIvc3ltdGFiLmgJMjAxMS0wNS0yNSAxNzoxMzoxMy4wMDAwMDAwMDAgKzAyMDAKK0BA IC0xMDM2LDcgKzEwMzYsOCBAQCBleHRlcm4gdW5zaWduZWQgaW50IG1zeW1ib2xfaGFzaCAoY29u c3QgCiAgICAgaXMgb25seSBhIEdEQiBpbi1tZW1vcnkgY29tcHV0ZWQgdmFsdWUgd2l0aCBubyBl eHRlcm5hbCBmaWxlcyBjb21wYXRpYmlsaXR5CiAgICAgcmVxdWlyZW1lbnRzLiAgKi8KICAKQEAg LTMwNCwxMCArMzA3LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIu aAogIAogIGV4dGVybiBzdHJ1Y3Qgb2JqZmlsZSAqIG1zeW1ib2xfb2JqZmlsZSAoc3RydWN0IG1p bmltYWxfc3ltYm9sICpzeW0pOwogIAotSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9mb3J0cmFuLXN5bS1jYXNlLmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9ydHJhbi1zeW0tY2FzZS5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0r KysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3lt LWNhc2UuYwkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3J0cmFuLXN5bS1jYXNlLmMJMjAx MS0wNS0yNSAxNzoxMzoxMy4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMjIgQEAKICsvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMzMx LDEwICszMzQsMTAgQEAgSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9mb3J0cmFuLXN5bS1jYXNlLmMKICt7CiArICByZXR1cm4gMDsKICt9Ci1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNh c2UuZXhwCitJbmRleDogZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2ZvcnRyYW4tc3ltLWNhc2UuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCTIwMTEtMDQtMjkgMDk6NDQ6 MTUuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNhc2UuZXhwCTIwMTEtMDUtMjUgMTc6MTM6MTMuMDAwMDAw MDAwICswMjAwCiBAQCAtMCwwICsxLDI3IEBACiArIyBDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0zNjMsMTAgKzM2NiwxMCBAQCBJbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcnRyYW4tc3ltLWNh c2UuZXhwCiArZ2RiX3Rlc3QgInNldCBsYW5ndWFnZSBmb3J0cmFuIiB7V2FybmluZzogdGhlIGN1 cnJlbnQgbGFuZ3VhZ2UgZG9lcyBub3QgbWF0Y2ggdGhpcyBmcmFtZVwufQogKwogK2dkYl90ZXN0 ICJmcmFtZSIgIiwgYVJHdj0uKiIKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi90ZXN0 c3VpdGUvZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS1kZWJ1Zy5TCitJbmRleDogZ2Ri LTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5z aXRpdmUtZGVidWcuUwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLWRlYnVnLlMJMjAxMS0wNC0yOSAwOTo0 NDoxNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItY2FzZS1pbnNlbnNpdGl2ZS1kZWJ1Zy5TCTIwMTEtMDUtMjUgMTc6 MTM6MTMuMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEwMiBAQAogKy8qIFRoaXMgdGVzdGNh c2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCiArCkBAIC00NzAsMTAgKzQ3Mywx MCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHcyLWNhc2UtaW5zZW5zaXRpdmUtZGVidWcuUwogKwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWlu YXRvciAqLwogKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotSW5kZXg6IGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZl LmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9k dzItY2FzZS1pbnNlbnNpdGl2ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUuYwkyMDExLTA0LTI5IDA5 OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmMJMjAxMS0wNS0yNSAxNzoxMzox My4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzggQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtNTEzLDEwICs1MTYsMTAgQEAg SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1j YXNlLWluc2Vuc2l0aXZlLmMKICsgIEZVTkNfc3ltdGFiICgpOwogKyAgcmV0dXJuIDA7CiArfQot SW5kZXg6IGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1j YXNlLWluc2Vuc2l0aXZlLmV4cAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZlLmV4cAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0t IC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03 LjIuOTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0 aXZlLmV4cAkyMDExLTA0LTI5IDA5OjQ0OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIu OTAuMjAxMTA1MjUvZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R3Mi1jYXNlLWluc2Vuc2l0aXZl LmV4cAkyMDExLTA1LTI1IDE3OjEzOjEzLjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw0OSBA QAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBA IC01NjcsMTAgKzU3MCwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1 aXRlL2dkYi5kd2FyZjIvZHcyLWNhc2UtaW5zZW5zaXRpdmUuZXhwCiAraWYge1tnZGJfYnJlYWtw b2ludCAiZnVOQ19zeW10YWIiXSA9PSAxfSB7CiArICAgIHBhc3MgInNldHRpbmcgYnJlYWtwb2lu dCBhdCBmdU5DX3N5bXRhYiIKICt9Ci1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdXRp bHMuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3V0aWxzLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4yLjkwLjIwMTEwNDI5Lm9yaWcvZ2RiL3V0aWxzLmMJMjAxMS0wNC0yOSAwOTo0 MzozNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi91dGlscy5j CTIwMTEtMDQtMjkgMDk6NDQ6MTUuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDEx MDUyNS5vcmlnL2dkYi91dGlscy5jCTIwMTEtMDUtMjUgMTc6MTI6NTEuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdXRpbHMuYwkyMDExLTA1LTI1IDE3OjEzOjEz LjAwMDAwMDAwMCArMDIwMAogQEAgLTMwMDMsMTAgKzMwMDMsMTIgQEAgc3RyY21wX2l3IChjb25z dCBjaGFyICpzdHJpbmcxLCBjb25zdCBjaAogIAl7CiAgCSAgc3RyaW5nMisrOwoKZGlmZiAtLWdp dCBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTVvZjUucGF0Y2ggYi9nZGItYno2NDU3 NzMtY2FzZS1pbnNlbnNpdGl2ZS01b2Y1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA3MDc3MDM3Li4wMDAwMDAwCi0tLSBhL2dkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZl LTVvZjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1odHRwOi8vc291cmNl d2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDU0Ni5odG1sCi1TdWJqZWN0OiBb b2J2XSBGaXggY29tcGxldGVyIHByZS1leHBhbnNpb24gZm9yIGNhc2UgaW5zZW5zaXRpdmUgbG9v a3VwcwotCi1IaSwKLQotZHVlIHRvIHRoZSBwZW5kaW5nIHBhdGNoZXMgdGhlcmUgaGFwcGVuZWQg YSBzZW1hbnRpYyBjb2xsaXNpb24uICBCb3RoIHBhdGhzZXRzCi13ZXJlIHJpZ2h0IG9uIHRoZWly IG93biBidXQgdG9nZXRoZXIgaXQgZGlkIG5vdCB3b3JrIHdlbGwuICBUaGVyZSBjb3VsZCBiZQot YSB0ZXN0Y2FzZSBmb3IgaXQgYnV0IEkgZG8gbm90IHByb3ZpZGUgaXQsIGl0IHNlZW1zIG9idmlv dXMgZW5vdWdodCB0byBtZS4KLQotVGhlIHR3byBwYXRjaGVzIHdlcmU6Ci0JUmU6IFtwYXRjaCAz LzNdIGNhc2UgaW5zZW5zaXRpdmU6IHRoZSBmaXggW3JlZGlmZl0KLQlodHRwOi8vc291cmNld2Fy ZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDQxOC5odG1sCi0JIC0gc2VlIHRoZSBj aGFuZ2UgaW4gY29tcGxldGlvbl9saXN0X2FkZF9uYW1lCi1hbmQKLQlbcGF0Y2hdWys3LjNdIEZp eCBwaHlzbmFtZSBjb21wbGV0aW9uIHJlZ3Jlc3Npb24KLQlodHRwOi8vc291cmNld2FyZS5vcmcv bWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDE0MC5odG1sCi0JIC0gc2VlIGV4cGFuZF9wYXJ0 aWFsX3N5bWJvbF9uYW1lIHdoaWNoIGp1c3QgY2FsbGVkCi0JICAgY29tcGxldGlvbl9saXN0X2Fk ZF9uYW1lIGJlZm9yZSBidXQgbm93IGl0IGhhcyBleHBsaWNpdCBzdHJuY21wLgotCi1Bbm90aGVy IHByb2JsZW0gaXMgdGhpcyBjb2RlIGlzIHN0aWxsIHdyb25nLiAgVGhhdCBpcyB0aGUgc3ViamVj dCBvZjoKLQlDVSBleHBhbnNpb24gcHJvYmxlbSBmb3IgcGFyYW1ldGVycwotCWh0dHA6Ly9zb3Vy Y2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDgKLQotQnV0IEkgZGlkIG5v dCB3YW50IHRvIG1peCB0d28gdW5yZWxhdGVkIGZpeGVzIGludG8gYSBzaW5nbGUgcGF0Y2gKLQot Tm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE1LWxpbnV4 LWdudS4gIENoZWNrZWQgaXQgaW4KLWFscmVhZHkgdG8gbm90IGdldCBsb3N0IGluIHRoZSBpbnRl ci1wYXRjaCBkZXBlbmRlbmNpZXMgYWdhaW4uCi0KLQotU29ycnksCi1KYW4KLQotCi1odHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDExLTA0L21zZzAwMTg2Lmh0bWwKLQotIyMjIHNy Yy9nZGIvQ2hhbmdlTG9nCTIwMTEvMDQvMjggMTU6NTI6NTMJMS4xMjk2NAotIyMjIHNyYy9nZGIv Q2hhbmdlTG9nCTIwMTEvMDQvMjggMTc6Mzc6MDIJMS4xMjk2NQotIyMgLTEsMyArMSw4IEBACi0r MjAxMS0wNC0yOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgot KwotKwkqIHN5bXRhYi5jIChleHBhbmRfcGFydGlhbF9zeW1ib2xfbmFtZSk6IE5ldyB2YXJpYWJs ZSBOQ01QLiAgU3VwcG9ydAotKwljYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmlzb24uCi0rCi0gMjAx MS0wNC0yOCAgVWxyaWNoIFdlaWdhbmQgIDx1bHJpY2gud2VpZ2FuZEBsaW5hcm8ub3JnPgotIAot IAkqIGluZnJ1bi5jIChwcm9jZWVkKTogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZS4KLS0tLSBzcmMv Z2RiL3N5bXRhYi5jCTIwMTEvMDQvMjcgMjA6MDM6MDMJMS4yNjkKLSsrKyBzcmMvZ2RiL3N5bXRh Yi5jCTIwMTEvMDQvMjggMTc6Mzc6MDYJMS4yNzAKLUBAIC0zNzA3LDggKzM3MDcsMTEgQEAKLSBl eHBhbmRfcGFydGlhbF9zeW1ib2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdXNlcl9k YXRhKQotIHsKLSAgIHN0cnVjdCBhZGRfbmFtZV9kYXRhICpkYXR1bSA9IChzdHJ1Y3QgYWRkX25h bWVfZGF0YSAqKSB1c2VyX2RhdGE7Ci0rICBpbnQgKCpuY21wKSAoY29uc3QgY2hhciAqLCBjb25z dCBjaGFyICosIHNpemVfdCk7Ci0gCi0tICByZXR1cm4gc3RybmNtcCAobmFtZSwgZGF0dW0tPnN5 bV90ZXh0LCBkYXR1bS0+c3ltX3RleHRfbGVuKSA9PSAwOwotKyAgbmNtcCA9IChjYXNlX3NlbnNp dGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKLSsK LSsgIHJldHVybiBuY21wIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRhdHVtLT5zeW1fdGV4dF9s ZW4pID09IDA7Ci0gfQotIAotIGNoYXIgKioKLQoKZGlmZiAtLWdpdCBhL2dkYi1iejcwMTEzMS1y ZWFkbGluZTYyLTNvZjMucGF0Y2ggYi9nZGItYno3MDExMzEtcmVhZGxpbmU2Mi0zb2YzLnBhdGNo CmluZGV4IDQxZDIzNzQuLjY5NzI1YTQgMTAwNjQ0Ci0tLSBhL2dkYi1iejcwMTEzMS1yZWFkbGlu ZTYyLTNvZjMucGF0Y2gKKysrIGIvZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItM29mMy5wYXRjaApA QCAtNTgsOCArNTgsMTAgQEAgcmVhZGxpbmUvZG9jLwogCUBkZWZjb2RlaW5kZXguICBNYWtlIHRo ZSBgUHJvZ3JhbW1pbmcgd2l0aCBHTlUgSGlzdG9yeScgcmVmZXJlbmNlCiAJZXh0ZXJuYWwuCiAK LS0tLSBhL2dkYi9kb2MvTWFrZWZpbGUuaW4KLSsrKyBiL2dkYi9kb2MvTWFrZWZpbGUuaW4KK0lu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2MvTWFrZWZpbGUuaW4KKz09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0tLSBnZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RvYy9NYWtlZmlsZS5pbgkyMDExLTAx LTAzIDE0OjAxOjA1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2Ri L2RvYy9NYWtlZmlsZS5pbgkyMDExLTA1LTI1IDE5OjE2OjM1LjAwMDAwMDAwMCArMDIwMAogQEAg LTExNyw3ICsxMTcsNyBAQCBHREJfRE9DX1NPVVJDRV9JTkNMVURFUyA9IFwKICAJJChzcmNkaXIp L2dwbC50ZXhpIFwKICAJJChzcmNkaXIpL2FnZW50ZXhwci50ZXhpIFwKQEAgLTY5LDkgKzcxLDEx IEBAIHJlYWRsaW5lL2RvYy8KICBHREJfRE9DX0JVSUxEX0lOQ0xVREVTID0gXAogIAlnZGItY2Zn LnRleGkgXAogIAlHREJ2bi50ZXhpCi0tLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCi0rKysgYi9n ZGIvZG9jL2dkYi50ZXhpbmZvCi1AQCAtMzEwMDgsMTMgKzMxMDA4LDEzIEBAIHRoaW5ncyB3aXRo b3V0IGZpcnN0IHVzaW5nIHRoZSBkZWJ1Z2dlciB0byBmaW5kIHRoZSBmYWN0cy4KK0luZGV4OiBn ZGItNy4yLjkwLjIwMTEwNTI1L2dkYi9kb2MvZ2RiLnRleGluZm8KKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBn ZGItNy4yLjkwLjIwMTEwNTI1Lm9yaWcvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDExLTA1LTI1IDE5 OjE0OjM2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2RvYy9n ZGIudGV4aW5mbwkyMDExLTA1LTI1IDE5OjE3OjAxLjAwMDAwMDAwMCArMDIwMAorQEAgLTMxMDk1 LDEzICszMTA5NSwxMyBAQCB0aGluZ3Mgd2l0aG91dCBmaXJzdCB1c2luZyB0aGUgZGVidWdnZXIg CiAgCiAgQGMgVGhlIHJlYWRsaW5lIGRvY3VtZW50YXRpb24gaXMgZGlzdHJpYnV0ZWQgd2l0aCB0 aGUgcmVhZGxpbmUgY29kZQogIEBjIGFuZCBjb25zaXN0cyBvZiB0aGUgdHdvIGZvbGxvd2luZyBm aWxlczoKQEAgLTg3LDEwICs5MSwxMiBAQCByZWFkbGluZS9kb2MvCiArQGluY2x1ZGUgaHN1c2Vy LnRleGkKICBAZW5kIGlmY2xlYXIKICAKLSAKLS0tLSBhL3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4 aQotKysrIGIvcmVhZGxpbmUvZG9jL2hzdXNlci50ZXhpCi1AQCAtMjYsOSArMjYsMTAgQEAgaW50 byBhbm90aGVyIGxhbmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgbW9kaWZp ZWQgdmVyc2lvbnMuCisgQG5vZGUgSW4gTWVtb3JpYW0KK0luZGV4OiBnZGItNy4yLjkwLjIwMTEw NTI1L3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9yZWFkbGluZS9kb2MvaHN1c2VyLnRleGkJMjAxMS0wNS0yNSAxOToxNjox Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4yLjkwLjIwMTEwNTI1L3JlYWRsaW5lL2RvYy9o c3VzZXIudGV4aQkyMDExLTA1LTI1IDE5OjE2OjM1LjAwMDAwMDAwMCArMDIwMAorQEAgLTI2LDkg KzI2LDEwIEBAIGludG8gYW5vdGhlciBsYW5ndWFnZSwgdW5kZXIgdGhlIGFib3ZlIGMKICBAbm9k ZSBVc2luZyBIaXN0b3J5IEludGVyYWN0aXZlbHkKICBAY2hhcHRlciBVc2luZyBIaXN0b3J5IElu dGVyYWN0aXZlbHkKICAKQEAgLTEwNCw3ICsxMTAsNyBAQCByZWFkbGluZS9kb2MvCiAgCiAgQGlm c2V0IEJhc2hGZWF0dXJlcwogIFRoaXMgY2hhcHRlciBkZXNjcmliZXMgaG93IHRvIHVzZSB0aGUg QHNje2dudX0gSGlzdG9yeSBMaWJyYXJ5Ci1AQCAtNDEsNyArNDIsOCBAQCBzZWUgdGhlIEBzY3tn bnV9IFJlYWRsaW5lIExpYnJhcnkgTWFudWFsLgorQEAgLTQxLDcgKzQyLDggQEAgc2VlIHRoZSBA c2N7Z251fSBSZWFkbGluZSBMaWJyYXJ5IE1hbnVhbAogIFRoaXMgY2hhcHRlciBkZXNjcmliZXMg aG93IHRvIHVzZSB0aGUgQHNje2dudX0gSGlzdG9yeSBMaWJyYXJ5IGludGVyYWN0aXZlbHksCiAg ZnJvbSBhIHVzZXIncyBzdGFuZHBvaW50LiAgSXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSB1c2Vy J3MgZ3VpZGUuICBGb3IKICBpbmZvcm1hdGlvbiBvbiB1c2luZyB0aGUgQHNje2dudX0gSGlzdG9y eSBMaWJyYXJ5IGluIHlvdXIgb3duIHByb2dyYW1zLApAQCAtMTE0LDQgKzEyMCwzIEBAIHJlYWRs aW5lL2RvYy8KICBAZW5kIGlmY2xlYXIKICAKICBAaWZzZXQgQmFzaEZlYXR1cmVzCi0KCmRpZmYg LS1naXQgYS9nZGItZm9ydHJhbi1jb21tb24ucGF0Y2ggYi9nZGItZm9ydHJhbi1jb21tb24ucGF0 Y2gKaW5kZXggYmU1YmYyMi4uMTMwNDg2OCAxMDA2NDQKLS0tIGEvZ2RiLWZvcnRyYW4tY29tbW9u LnBhdGNoCisrKyBiL2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUlu ZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy4y LjkwLjIwMTEwNTI1L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkw LjIwMTEwNDI5Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDExLTA0LTI5IDA5OjQxOjE0LjAwMDAw MDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwkyMDEx LTA0LTI5IDA5OjQxOjIwLjAwMDAwMDAwMCArMDIwMAotQEAgLTc1NjksMTIgKzc1NjksMTQgQEAg cmVhZF9zZXRfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cgorLS0tIGdkYi03LjIuOTAu MjAxMTA1MjUub3JpZy9nZGIvZHdhcmYycmVhZC5jCTIwMTEtMDUtMjUgMTc6MDY6MTkuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZHdhcmYycmVhZC5jCTIwMTEt MDUtMjUgMTc6MTA6NDYuMDAwMDAwMDAwICswMjAwCitAQCAtNzY2NSwxMiArNzY2NSwxNCBAQCBy ZWFkX3NldF90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RyCiAgICByZXR1cm4gc2V0X2Rp ZV90eXBlIChkaWUsIHNldF90eXBlLCBjdSk7CiAgfQogIApAQCAtMTksNyArMTksNyBAQCBJbmRl eDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICBzdHJ1Y3QgYXR0cmli dXRlICphdHRyOwogICAgc3RydWN0IHN5bWJvbCAqc3ltOwogICAgQ09SRV9BRERSIGJhc2UgPSAo Q09SRV9BRERSKSAwOwotQEAgLTc1OTksMTAgKzc2MDEsNDAgQEAgcmVhZF9jb21tb25fYmxvY2sg KHN0cnVjdCBkaWVfaW5mbyAqZGllLAorQEAgLTc2OTUsMjAgKzc2OTcsNjcgQEAgcmVhZF9jb21t b25fYmxvY2sgKHN0cnVjdCBkaWVfaW5mbyAqZGllLAogICAgICB9CiAgICBpZiAoZGllLT5jaGls ZCAhPSBOVUxMKQogICAgICB7CkBAIC01MiwxNiArNTIsMTcgQEAgSW5kZXg6IGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgIGNoaWxkX2RpZSA9IGRpZS0+Y2hpbGQ7 CiAgICAgICAgd2hpbGUgKGNoaWxkX2RpZSAmJiBjaGlsZF9kaWUtPnRhZykKICAJeworIAkgIExP TkdFU1Qgb2Zmc2V0OworIAogKwkgIC8qIENyZWF0ZSB0aGUgc3ltYm9sIGluIHRoZSBEV19UQUdf Y29tbW9uX2Jsb2NrIGJsb2NrIGluIHRoZSBjdXJyZW50CiArCSAgICAgc3ltYm9sIHNjb3BlLiAg Ki8KICAJICBzeW0gPSBuZXdfc3ltYm9sIChjaGlsZF9kaWUsIE5VTEwsIGN1KTsKICsKICsJICAv KiBVbmRvY3VtZW50ZWQgaW4gRFdBUkYzLCB3aGVuIGl0IGNhbiBiZSBwcmVzZW50PyAgKi8KLSAJ ICBhdHRyID0gZHdhcmYyX2F0dHIgKGNoaWxkX2RpZSwgRFdfQVRfZGF0YV9tZW1iZXJfbG9jYXRp b24sIGN1KTsKLSAJICBpZiAoc3ltICE9IE5VTEwgJiYgYXR0ciAhPSBOVUxMKQorIAkgIGlmIChz eW0gIT0gTlVMTAorIAkgICAgICAmJiBoYW5kbGVfZGF0YV9tZW1iZXJfbG9jYXRpb24gKGNoaWxk X2RpZSwgY3UsICZvZmZzZXQpKQogIAkgICAgewotQEAgLTc2MjAsOCArNzY1MiwyNSBAQCByZWFk X2NvbW1vbl9ibG9jayAoc3RydWN0IGRpZV9pbmZvICpkaWUsCi0gCSAgICAgIFNZTUJPTF9WQUxV RV9BRERSRVNTIChzeW0pID0gYmFzZSArIGJ5dGVfb2Zmc2V0OworIAkgICAgICBTWU1CT0xfVkFM VUVfQUREUkVTUyAoc3ltKSA9IGJhc2UgKyBvZmZzZXQ7CiAgCSAgICAgIGFkZF9zeW1ib2xfdG9f bGlzdCAoc3ltLCAmZ2xvYmFsX3N5bWJvbHMpOwogIAkgICAgfQogKwpAQCAtODYsNyArODcsNyBA QCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICB9 CiAgCi1AQCAtMTEyODYsNiArMTEzMzUsMTMgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgcworQEAgLTExMzc2LDYgKzExNDI1LDEzIEBAIG5ld19zeW1ib2xfZnVsbCAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHMKICAJICAgIHsKICAJICAgICAgdmFyX2RlY29kZV9sb2Nh dGlvbiAoYXR0ciwgc3ltLCBjdSk7CiAgCSAgICAgIGF0dHIyID0gZHdhcmYyX2F0dHIgKGRpZSwg RFdfQVRfZXh0ZXJuYWwsIGN1KTsKQEAgLTEwMCw3ICsxMDEsNyBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZHdhcmYycmVhZC5jCiAgCSAgICAgIGlmIChTWU1CT0xfQ0xBU1MgKHN5 bSkgPT0gTE9DX1NUQVRJQwogIAkJICAmJiBTWU1CT0xfVkFMVUVfQUREUkVTUyAoc3ltKSA9PSAw CiAgCQkgICYmICFkd2FyZjJfcGVyX29iamZpbGUtPmhhc19zZWN0aW9uX2F0X3plcm8pCi1AQCAt MTE0NTgsNiArMTE1MTQsMTEgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgcworQEAgLTExNTQ4LDYgKzExNjA0LDExIEBAIG5ld19zeW1ib2xfZnVsbCAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHMKICAJICBTWU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0NfVFlQRURFRjsKICAJ ICBsaXN0X3RvX2FkZCA9ICZnbG9iYWxfc3ltYm9sczsKICAJICBicmVhazsKQEAgLTExMiwxMCAr MTEzLDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9kd2FyZjJyZWFkLmMKICAJ ZGVmYXVsdDoKICAJICAvKiBOb3QgYSB0YWcgd2UgcmVjb2duaXplLiAgSG9wZWZ1bGx5IHdlIGFy ZW4ndCBwcm9jZXNzaW5nCiAgCSAgICAgdHJhc2ggZGF0YSwgYnV0IHNpbmNlIHdlIG11c3Qgc3Bl Y2lmaWNhbGx5IGlnbm9yZSB0aGluZ3MKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9m LWxhbmcuYworSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLWxhbmcuYwkyMDExLTA0LTI5 IDA5OjQxOjE1LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2Yt bGFuZy5jCTIwMTEtMDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45 MC4yMDExMDUyNS5vcmlnL2dkYi9mLWxhbmcuYwkyMDExLTA1LTI1IDE3OjA2OjIyLjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFuZy5jCTIwMTEtMDUtMjUg MTc6MDc6MDIuMDAwMDAwMDAwICswMjAwCiBAQCAtNDQ2LDI3ICs0NDYsMyBAQCBfaW5pdGlhbGl6 ZV9mX2xhbmd1YWdlICh2b2lkKQogIAogICAgYWRkX2xhbmd1YWdlICgmZl9sYW5ndWFnZV9kZWZu KTsKQEAgLTE0NCwxMCArMTQ1LDEwIEBAIEluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9m LWxhbmcuYwogLSAgICB9CiAtICByZXR1cm4gKE5VTEwpOwogLX0KLUluZGV4OiBnZGItNy4yLjkw LjIwMTEwNDI5L2dkYi9mLWxhbmcuaAorSW5kZXg6IGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2Yt bGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dkYi9mLWxh bmcuaAkyMDExLTA0LTI5IDA5OjQxOjE1LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjIuOTAu MjAxMTA0MjkvZ2RiL2YtbGFuZy5oCTIwMTEtMDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICswMjAw CistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dkYi9mLWxhbmcuaAkyMDExLTA1LTI1IDE3 OjA2OjIyLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL2YtbGFu Zy5oCTIwMTEtMDUtMjUgMTc6MDc6MDIuMDAwMDAwMDAwICswMjAwCiBAQCAtNTIsMzYgKzUyLDgg QEAgZW51bSBmOTBfcmFuZ2VfdHlwZQogICAgICBOT05FX0JPVU5EX0RFRkFVTFQJCS8qICIobG93 OmhpZ2gpIiAgKi8KICAgIH07CkBAIC0xODUsMTAgKzE4NiwxMCBAQCBJbmRleDogZ2RiLTcuMi45 MC4yMDExMDQyOS9nZGIvZi1sYW5nLmgKICAKICAvKiBXaGVuIHJlYXNvbmFibGUgYXJyYXkgYm91 bmRzIGNhbm5vdCBiZSBmZXRjaGVkLCBzdWNoIGFzIHdoZW4gCiAgICAgeW91IGFzayB0byAnbXQg cHJpbnQgc3ltYm9scycgYW5kIHRoZXJlIGlzIG5vIHN0YWNrIGZyYW1lIGFuZCAKLUluZGV4OiBn ZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9mLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy4yLjkwLjIw MTEwNTI1L2dkYi9mLXZhbHByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjkwLjIwMTEw NDI5Lm9yaWcvZ2RiL2YtdmFscHJpbnQuYwkyMDExLTA0LTI5IDA5OjQxOjE1LjAwMDAwMDAwMCAr MDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL2YtdmFscHJpbnQuYwkyMDExLTA0LTI5 IDA5OjQxOjIwLjAwMDAwMDAwMCArMDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9n ZGIvZi12YWxwcmludC5jCTIwMTEtMDUtMjUgMTc6MDY6MjIuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuMi45MC4yMDExMDUyNS9nZGIvZi12YWxwcmludC5jCTIwMTEtMDUtMjUgMTc6MDc6MDIu MDAwMDAwMDAwICswMjAwCiBAQCAtMzQsNiArMzQsOCBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgi CiAgI2luY2x1ZGUgImNvbW1hbmQuaCIKQEAgLTM3MSwxMCArMzcyLDEwIEBAIEluZGV4OiBnZGIt Ny4yLjkwLjIwMTEwNDI5L2dkYi9mLXZhbHByaW50LmMKICB9CiAgCiAgdm9pZAotSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N0YWNrLmMKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1 L2dkYi9zdGFjay5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45MC4yMDExMDQyOS5vcmlnL2dk Yi9zdGFjay5jCTIwMTEtMDQtMjkgMDk6NDA6NDYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvc3RhY2suYwkyMDExLTA0LTI5IDA5OjQxOjIwLjAwMDAwMDAwMCAr MDIwMAorLS0tIGdkYi03LjIuOTAuMjAxMTA1MjUub3JpZy9nZGIvc3RhY2suYwkyMDExLTA1LTI1 IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N0 YWNrLmMJMjAxMS0wNS0yNSAxNzowNzowMi4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xNTI1LDYgKzE1 MjUsOCBAQCBpdGVyYXRlX292ZXJfYmxvY2tfbG9jYWxzIChzdHJ1Y3QgYmxvY2sgCiAgCWNhc2Ug TE9DX0NPTVBVVEVEOgogIAkgIGlmIChTWU1CT0xfSVNfQVJHVU1FTlQgKHN5bSkpCkBAIC0zODQs MTAgKzM4NSwxMCBAQCBJbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvc3RhY2suYwogIAkg ICgqY2IpIChTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgc3ltLCBjYl9kYXRhKTsKICAJICBicmVh azsKICAKLUluZGV4OiBnZGItNy4yLjkwLjIwMTEwNDI5L2dkYi9zeW10YWIuaAorSW5kZXg6IGdk Yi03LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMi45 MC4yMDExMDQyOS5vcmlnL2dkYi9zeW10YWIuaAkyMDExLTA0LTI5IDA5OjQwOjQ2LjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3N5bXRhYi5oCTIwMTEtMDQtMjkg MDk6NDI6MTcuMDAwMDAwMDAwICswMjAwCistLS0gZ2RiLTcuMi45MC4yMDExMDUyNS5vcmlnL2dk Yi9zeW10YWIuaAkyMDExLTA1LTI1IDE3OjA1OjIxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03 LjIuOTAuMjAxMTA1MjUvZ2RiL3N5bXRhYi5oCTIwMTEtMDUtMjUgMTc6MDc6MDIuMDAwMDAwMDAw ICswMjAwCiBAQCAtNDExLDcgKzQxMSwxMCBAQCB0eXBlZGVmIGVudW0gZG9tYWluX2VudW1fdGFn CiAgICBUWVBFU19ET01BSU4sCiAgCkBAIC00MDAsMTAgKzQwMSwxMCBAQCBJbmRleDogZ2RiLTcu Mi45MC4yMDExMDQyOS9nZGIvc3ltdGFiLmgKICB9CiAgZG9tYWluX2VudW07CiAgCi1JbmRleDog Z2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9j ay5leHAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vY29tbW9uLWJsb2NrLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuOTAuMjAxMTA0MjkvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCTIwMTEtMDQtMjkgMDk6NDE6MjAu MDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUyNS9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAJMjAxMS0wNS0yNSAxNzowNzowMi4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTUwNiwxMCArNTA3LDEwIEBAIEluZGV4OiBnZGItNy4y LjkwLjIwMTEwNDI5L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAog K2dkYl90ZXN0ICJwIGl4X3giICIgPSAxICoiICJwIGl4X3ggaW4iCiArZ2RiX3Rlc3QgInAgaXlf eSIgIiA9IDIgKiIgInAgaXlfeSBpbiIKICtnZGJfdGVzdCAicCBpel96MiIgIiA9IDMgKiIgInAg aXpfejIgaW4iCi1JbmRleDogZ2RiLTcuMi45MC4yMDExMDQyOS9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL2NvbW1vbi1ibG9jay5mOTAKK0luZGV4OiBnZGItNy4yLjkwLjIwMTEwNTI1L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmY5MAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9k ZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIu OTAuMjAxMTA0MjkvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZjkwCTIw MTEtMDQtMjkgMDk6NDE6MjAuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMi45MC4yMDExMDUy NS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAJMjAxMS0wNS0yNSAx NzowNzowMi4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNjcgQEAKICshIENvcHlyaWdodCAy MDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKCmRpZmYgLS1naXQgYS9nZGIt b3B0aW0tZy1wcm9sb2d1ZS1za2lwLnBhdGNoIGIvZ2RiLW9wdGltLWctcHJvbG9ndWUtc2tpcC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWRhYWIxMy4uMDAwMDAwMAotLS0g YS9nZGItb3B0aW0tZy1wcm9sb2d1ZS1za2lwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODMw ICswLDAgQEAKLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDExLTA0L21z ZzAwMjI5Lmh0bWwKLVN1YmplY3Q6IFtyZmMsIDcuMz9dIC1PMiAtZyBicmVha3BvaW50cyBpbnRl cm5hbCBlcnJvciArIHByb2xvZ3VlIHNraXBwaW5nCi0KLVsgQmFja3BvcnRlZC4gIF0KLQotSGks Ci0KLW9ic29sZXRlcyBteToKLQlbcGF0Y2hdIEZpeCBpbnRlcm5hbCBlcnJvciBvbiBzb21lIC1P MiAtZyBicmVha3BvaW50cwotCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8y MDEwLTA3L21zZzAwNTMzLmh0bWwKLWFuZCBJTU8gYWxzbyBQYXVsJ3M6Ci0JW3BhdGNoXSBGaXgg Zm9yIFBSIGdkYi8xMjU3MwotCWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8y MDExLTAzL21zZzAwODgzLmh0bWwKLWl0IGlzIGFuIGltcHJvdmVtZW50IG9mOgotCVtwYXRjaF0g RG8gbm90IHNraXAgcHJvbG9ndWUgZm9yIC1PMiAtZyB3aXRoIEdDQyBWVEEgUmU6IFtwYXRjaF0g Rml4IGZvciBQUiBnZGIvMTI1NzMKLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxMS0wMy9tc2cwMTEyOS5odG1sCi0KLUp1c3QgdGhlIHJlbW92YWwgb2YgZ2RiX2Fzc2Vy dCBtYXkgcGxhY2UgdGhlIGJyZWFrcG9pbnRzIG9uIC1PMiAtZyBjb2RlIHRvbwotbGF0ZS4gIElN TyBvbiBgKGdkYikgYnJlYWsgQmFyOjpCYXInIG5vIHJlYWwgaW5mZXJpb3IgbW9kaWZpY2F0aW9u IHNob3VsZAotaGFwcGVuIHdoaWxlIHdpdGggdGhlIFBhdWwncyByZXByb2R1Y2VyIGluIHRoZSBQ UiB0aGUgYGZyZWUobWFsbG9jKDEpKTsnIGxpbmUKLWlzIGFscmVhZHkgZXhlY3V0ZWQgd2hlbiBH REIgc3RvcHMuICBUaGlzIG92ZXItZXhlY3V0aW9uIGlzIHRlc3RlZCBpbiB0aGUKLWF0dGFjaGVk IGFydGlmaWNpYWwgcmVwcm9kdWNlciBieSB0aGUgdGVzdGNhc2UgIm5vIHN0YXRlbWVudCBnb3Qg ZXhlY3V0ZWQiLgotCi1UaGVyZSBhcmUgc2V2ZXJhbCBpc3N1ZXMgb2YgdGhpcyBwYXRjaDoKLQot IzEgVGhlIHR3by1wYXNzIGNvbXBsaWNhdGVkIGV4ZWN1dGlvbiBpbiBza2lwX3Byb2xvZ3VlX3Nh bCBjdXJyZW50bHkgaGFzIG5vCi1lZmZlY3QgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgZGVwZW5kaW5n IG9uIGl0IGRvZXMgbm90IHdvcmsgbm93LiAgQnV0IHRoYXQgaXMKLWEgc2VwYXJhdGUgbmV3IEJ1 ZyBhbmQgdGhlIHR3byBwYXNzZXMgd2lsbCBiZSBuZWVkZWQgYWZ0ZXIgaXRzIGZpeDoKLQlyZWdy ZXNzaW9uIGJ5IHBoeXNuYW1lOiBQRTMyIHByb2xvZ3VlIHNraXAgdnMuIHN0YXRpYyBpbml0aWFs aXplcnMKLQlodHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEy NjgwCi0KLSMyIEEgY29uc2VydmF0aXZlIGFwcHJvYWNoIGhhcyBiZWVuIHRha2VuLiAgVGhlIHBy b2JsZW1hdGljIHByb2xvZ3VlIHNraXBwaW5nCi1pcyBkaXNhYmxlZCBvbmx5IGlmIC5kZWJ1Z19s b2MgcmVmZXJlbmNlIGlzIGZvdW5kIHdoaWNoIHByb3ZlcyAtTzIgKHdpdGggLWcpLgotICAgICBU aGlzIHRlc3QgaXMgaW1wZXJmZWN0IGFzIHRoZXJlIG1heSBleGlzdCBvcHRpbWl6ZWQgZGVidWcg Y29kZSBub3QgdXNpbmcgCi0gICAgIGFueSBsb2NhdGlvbiBsaXN0IGFuZCBzdGlsbCBmYWNpbmcg aW5saW5pbmcgaXNzdWVzIGlmIGhhbmRsZWQgYXMKLSAgICAgdW5vcHRpbWl6ZWQgY29kZS4gIEZv ciBhIGZ1dHVyZSBiZXR0ZXIgdGVzdCBzZWUgR0NDIFBSIG90aGVyLzMyOTk4LgotICAgICBHQ0Mg UFIgb3RoZXIvMzI5OTggPSAtZnJlY29yZC1nY2Mtc3dpdGNoZXMgaXNzdWVzLCBTdGF0dXM6IE5F VwotVGhlIG9wcG9zaXRlIG9wdGlvbiB3b3VsZCBiZSB0byBrZWVwIHRoZSBwcm9sb2d1ZSBza2lw cGluZyBlbmFibGVkIG9ubHkgaWYKLXRoZXJlIGlzIGFueSBEV19BVF9sb2NhdGlvbihEV19PUF9m YnJlZyh4KSkuICBJIGhhdmVuJ3QgdGVzdGVkIHRoaXMgd2F5LCBpdAotc2VlbXMgdmVyeSBpbnRy dXNpdmUgdG8gbWUuICBJbiBwcmFjdGljZSBJIGRvdWJ0IHRoZXJlIHdpbGwgYmUgYSByZWFsIHdv cmxkCi1jYXNlIG9mIC1PMiAtZyBDVSBub3QgcmVmZXJlbmNpbmcgLmRlYnVnX2xvYyAtIHN1Y2gg YXMgaWYgYWxsIGl0cyBjb2RlIGFjY2Vzc2VzCi1vbmx5IGdsb2JhbCB2YXJpYWJsZXMgYW5kIGhh cyBubyBsb2NhbCB2YXJpYWJsZXMuICBKdXN0IHRoZSB0ZXN0Y2FzZSBvcmlnaW5hbGx5Ci13YXMg c3VjaCBhIGNvdW50ZXJjYXNlIENVLiA6LS8gIFRoZSBHREIgaW50ZXJuYWwgZXJyb3IgaXMga2Vw dCBpbiBwbGFjZSBhcyBpdAotc3RpbGwgY2FuIGhhcHBlbiBpbiBzdWNoIGNhc2UsIHRoaXMgcHJv YmxlbSBpcyBub3QgeWV0IGZ1bGx5IGZpeGVkLgotCi0jMyBXaGV0aGVyIGEgLmRlYnVnX2xvYyBy ZWZlcmVuY2UgbWF5IGJlIHByZXNlbnQgd2l0aCBzdGlsbCBpbnZhbGlkCi1EV19BVF9sb2NhdGlv biBiZWZvcmUgcHJvbG9ndWUgSSBkbyBub3Qga25vdywgaXQgZG9lcyBub3Qgc2VlbSB0byBoYXBw ZW4gZm9yCi1HQ0MuICBUaGVyZSBpcyBjdXJyZW50bHkgbm8gRFdfQVRfcHJvZHVjZXIgY2hlY2su ICBFdmVuIGJlZm9yZSBWVEEgKFZhcmlhYmxlCi1UcmFja2luZyBBc3NpZ25tZW50cywgc2luY2Ug RlNGIEdDQyA0LjUsIC1PMiAtZyB2YXJpYWJsZXMgRFdfQVRfbG9jYXRpb24KLWltcHJvdmVtZW50 KSBpdCBzZWVtcyB0byBtZSB0aGUgdmFsaWRpdHkgYXQgZnVuY3Rpb24gZW50cnkgcG9pbnQgd29y a2VkIHdlbGwKLWVub3VnaC4KLQotIzQgVGhpcyB3aG9sZSBwcm9ibGVtcyBhcHBlYXJzIG9ubHkg d2l0aCBpbnZvbHZlbWVudCBvZiBpbmxpbmVkIGNvZGUsIGVpdGhlcgotZXhwbGljaXRseSBvciBp bXBsaWNpdGx5LiAgQnV0IEdEQiBkb2VzIG5vdCBzdXBwb3J0IGlubGluZWQgY29kZSBicmVha3Bv aW50cwotd2VsbCAoUFIgYnJlYWtwb2ludHMvMTA3MzgsIFJIIEJaIzE0OTEyNSkuICBXaGVuIG9u ZSBwbGF5cyB3aXRoIHRlc3RpbmcgdGhpcwotcGF0Y2ggdmFyaW91cyBzdWl0YWJsZSBicmVha3Bv aW50cyBhcmUgbm90IHBsYWNlZCBidXQgQUZBSUsgYWxsIG9mIHRoZW0gYXJlIGluCi10aGUgc2Nv cGUgb2YgdGhlIFBSIDEwNzM4LgotCi0jNSBJZiBmdW5jdGlvbiBkb2VzIG5vdCBzdGFydCBpcyBu b3Qgb24gYSBsaW5lIGJvdW5kYXJ5IHRoZSBtdWx0aS1sb2NhdGlvbgotYnJlYWtwb2ludHMgYXJl IGFscmVhZHkgbm90IGZvdW5kIHByb3Blcmx5IGFuZCBldmVyeXRoaW5nIGZhaWxzLiAgSSBkbyBu b3QKLXRoaW5rIGl0IGNhbiBldmVyIGhhcHBlbiBpbiByZWFsIHdvcmxkLiAgRXZlbiBmb3IgYSBz aW5nZS1saW5lIGNvZGUKLSAgICB2b2lkIGYgKHZvaWQpIHt9IHZvaWQgZyAodm9pZCkge30KLUdD QyBwbGFjZXMgdGhlcmUgbXVsdGlwbGUgbGluZSBtYXJrZXJzIC0gLU8yIC1nLCBkdXBsaWNpdHkg aXMgZm9yIHByb2xvZ3VlczoKLUZpbGUgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aW5lIG51bWJlciAgICBTdGFydGluZyBhZGRyZXNzCi0xLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgMAotMS5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgIDAK LTEuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAg ICAgICAgICAweDEwCi0xLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDEgICAgICAgICAgICAgICAgMHgxMAotCi0KLVdoZXRoZXIgdGhpcyBzaG91bGQgZ28gZm9y IDcuMyBJIGFtIG5vdCBzdXJlLiAgVGhlIHNpbXBsZSByZW1vdmFsIG9mCi1nZGJfYXNzZXJ0IGxv b2tzIG5pY2UsIEdEQiBkb2VzIG5vdCBjcmFzaC4gQnV0IEdEQiBiZWhhdmVzIHdyb25nIGFuZCBg YnJlYWsKLWZ1bmMnIG1heSBub3Qgc3RvcCBiZWZvcmUgYSBjcmFzaCB0aGVyZSBhdCBhbGwgZXRj LgotCi1ObyByZWdyZXNzaW9ucyBvbiB7eDg2XzY0LHg4Nl82NC1tMzIsaTY4Nn0tZmVkb3JhMTUt bGludXgtZ251LgotCi1JIHdpbGwgdG8gY29tbWl0IGl0IHdpdGhvdXQgYW55IHJldmlldy9kaXNj dXNzaW9uLgotCi0KLVRoYW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTEtMDQtMTUgIEphbiBLcmF0 b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSogZHdhcmYycmVhZC5jIChz dHJ1Y3QgZHdhcmYyX2N1KTogTmV3IGZpZWxkIGhhc19sb2NsaXN0LgotCShwcm9jZXNzX2Z1bGxf Y29tcF91bml0KTogU2V0IGFsc28gc3ltdGFiLT5sb2NhdGlvbnNfdmFsaWQuICBNb3ZlIHRoZQot CXN5bXRhYi0+bGFuZ3VhZ2UgY29kZS4KLQkodmFyX2RlY29kZV9sb2NhdGlvbik6IFNldCBjdS0+ aGFzX2xvY2xpc3QuCi0JKiBzeW10YWIuYyAoc2tpcF9wcm9sb2d1ZV9zYWwpOiBOZXcgdmFyaWFi bGVzIHNhdmVkX3BjLCBmb3JjZV9za2lwIGFuZAotCXNraXAuICBJbnRpYWxpemUgZm9yY2Vfc2tp cCBmcm9tIGxvY2F0aW9uc192YWxpZC4gIE1vdmUgdGhlIHByb2xvZ3VlCi0Jc2tpcHBpbmcgY29k ZSBpbnRvIHR3byBwYXNzZXMuCi0JKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYik6IE1ha2UgdGhl IHByaW1hcnkgZmllbGQgYSBiaXRmaWVsZC4gIE5ldwotCWZpZWxkIGxvY2F0aW9uc192YWxpZC4K LQotZ2RiL3Rlc3RzdWl0ZS8KLTIwMTEtMDQtMTUgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRv Y2h2aWxAcmVkaGF0LmNvbT4KLQotCSogZ2RiLmR3YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5TOiBO ZXcgZmlsZS4KLQkqIGdkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuYzogTmV3IGZpbGUuCi0J KiBnZGIuZHdhcmYyL2R3Mi1za2lwLXByb2xvZ3VlLmV4cDogTmV3IGZpbGUuCi0KLS0tLSBhL2dk Yi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0zOTYsNiArMzk2LDEz IEBAIHN0cnVjdCBkd2FyZjJfY3UKLSAgICAgIERJRXMgZm9yIG5hbWVzcGFjZXMsIHdlIGRvbid0 IG5lZWQgdG8gdHJ5IHRvIGluZmVyIHRoZW0KLSAgICAgIGZyb20gbWFuZ2xlZCBuYW1lcy4gICov Ci0gICB1bnNpZ25lZCBpbnQgaGFzX25hbWVzcGFjZV9pbmZvIDogMTsKLSsKLSsgIC8qIFRoaXMg Q1UgcmVmZXJlbmNlcyAuZGVidWdfbG9jLiAgU2VlIHRoZSBzeW10YWItPmxvY2F0aW9uc192YWxp ZCBmaWVsZC4KLSsgICAgIFRoaXMgdGVzdCBpcyBpbXBlcmZlY3QgYXMgdGhlcmUgbWF5IGV4aXN0 IG9wdGltaXplZCBkZWJ1ZyBjb2RlIG5vdCB1c2luZwotKyAgICAgYW55IGxvY2F0aW9uIGxpc3Qg YW5kIHN0aWxsIGZhY2luZyBpbmxpbmluZyBpc3N1ZXMgaWYgaGFuZGxlZCBhcwotKyAgICAgdW5v cHRpbWl6ZWQgY29kZS4gIEZvciBhIGZ1dHVyZSBiZXR0ZXIgdGVzdCBzZWUgR0NDIFBSIG90aGVy LzMyOTk4LiAgKi8KLSsKLSsgIHVuc2lnbmVkIGludCBoYXNfbG9jbGlzdCA6IDE7Ci0gfTsKLSAK LSAvKiBQZXJzaXN0ZW50IGRhdGEgaGVsZCBmb3IgYSBjb21waWxhdGlvbiB1bml0LCBldmVuIHdo ZW4gbm90Ci1AQCAtNDY1NCwxMyArNDY2MSwxNSBAQCBwcm9jZXNzX2Z1bGxfY29tcF91bml0IChz dHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3UpCi0gCi0gICBzeW10YWIgPSBlbmRfc3lt dGFiIChoaWdocGMgKyBiYXNlYWRkciwgb2JqZmlsZSwgU0VDVF9PRkZfVEVYVCAob2JqZmlsZSkp OwotIAotLSAgLyogU2V0IHN5bXRhYiBsYW5ndWFnZSB0byBsYW5ndWFnZSBmcm9tIERXX0FUX2xh bmd1YWdlLgotLSAgICAgSWYgdGhlIGNvbXBpbGF0aW9uIGlzIGZyb20gYSBDIGZpbGUgZ2VuZXJh dGVkIGJ5IGxhbmd1YWdlIHByZXByb2Nlc3NvcnMsCi0tICAgICBkbyBub3Qgc2V0IHRoZSBsYW5n dWFnZSBpZiBpdCB3YXMgYWxyZWFkeSBkZWR1Y2VkIGJ5IHN0YXJ0X3N1YmZpbGUuICAqLwotLSAg aWYgKHN5bXRhYiAhPSBOVUxMCi0tICAgICAgJiYgIShjdS0+bGFuZ3VhZ2UgPT0gbGFuZ3VhZ2Vf YyAmJiBzeW10YWItPmxhbmd1YWdlICE9IGxhbmd1YWdlX2MpKQotKyAgaWYgKHN5bXRhYiAhPSBO VUxMKQotICAgICB7Ci0tICAgICAgc3ltdGFiLT5sYW5ndWFnZSA9IGN1LT5sYW5ndWFnZTsKLSsg ICAgICAvKiBTZXQgc3ltdGFiIGxhbmd1YWdlIHRvIGxhbmd1YWdlIGZyb20gRFdfQVRfbGFuZ3Vh Z2UuICBJZiB0aGUKLSsJIGNvbXBpbGF0aW9uIGlzIGZyb20gYSBDIGZpbGUgZ2VuZXJhdGVkIGJ5 IGxhbmd1YWdlIHByZXByb2Nlc3NvcnMsIGRvCi0rCSBub3Qgc2V0IHRoZSBsYW5ndWFnZSBpZiBp dCB3YXMgYWxyZWFkeSBkZWR1Y2VkIGJ5IHN0YXJ0X3N1YmZpbGUuICAqLwotKyAgICAgIGlmICgh KGN1LT5sYW5ndWFnZSA9PSBsYW5ndWFnZV9jICYmIHN5bXRhYi0+bGFuZ3VhZ2UgIT0gbGFuZ3Vh Z2VfYykpCi0rCXN5bXRhYi0+bGFuZ3VhZ2UgPSBjdS0+bGFuZ3VhZ2U7Ci0rCi0rICAgICAgc3lt dGFiLT5sb2NhdGlvbnNfdmFsaWQgPSBjdS0+aGFzX2xvY2xpc3Q7Ci0gICAgIH0KLSAKLSAgIGlm IChkd2FyZjJfcGVyX29iamZpbGUtPnVzaW5nX2luZGV4KQotQEAgLTExMjIxLDYgKzExMjMwLDkg QEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYQotIAotICAgU1lNQk9M X0NMQVNTIChzeW0pID0gTE9DX0NPTVBVVEVEOwotICAgZHdhcmYyX3N5bWJvbF9tYXJrX2NvbXB1 dGVkIChhdHRyLCBzeW0sIGN1KTsKLSsKLSsgIGlmIChTWU1CT0xfQ09NUFVURURfT1BTIChzeW0p ID09ICZkd2FyZjJfbG9jbGlzdF9mdW5jcykKLSsgICAgY3UtPmhhc19sb2NsaXN0ID0gMTsKLSB9 Ci0gCi0gLyogR2l2ZW4gYSBwb2ludGVyIHRvIGEgRFdBUkYgaW5mb3JtYXRpb24gZW50cnksIGZp Z3VyZSBvdXQgaWYgd2UgbmVlZAotLS0tIGEvZ2RiL3N5bXRhYi5jCi0rKysgYi9nZGIvc3ltdGFi LmMKLUBAIC0yNDU0LDEyICsyNDU0LDEzIEBAIHNraXBfcHJvbG9ndWVfc2FsIChzdHJ1Y3Qgc3lt dGFiX2FuZF9saW5lICpzYWwpCi0gICBzdHJ1Y3Qgc3ltYm9sICpzeW07Ci0gICBzdHJ1Y3Qgc3lt dGFiX2FuZF9saW5lIHN0YXJ0X3NhbDsKLSAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW47Ci0t ICBDT1JFX0FERFIgcGM7Ci0rICBDT1JFX0FERFIgcGMsIHNhdmVkX3BjOwotICAgc3RydWN0IG9i al9zZWN0aW9uICpzZWN0aW9uOwotICAgY29uc3QgY2hhciAqbmFtZTsKLSAgIHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlOwotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7Ci0gICBzdHJ1Y3QgYmxv Y2sgKmIsICpmdW5jdGlvbl9ibG9jazsKLSsgIGludCBmb3JjZV9za2lwLCBza2lwOwotIAotICAg LyogRG8gbm90IGNoYW5nZSB0aGUgU0FMIGlzIFBDIHdhcyBzcGVjaWZpZWQgZXhwbGljaXRseS4g ICovCi0gICBpZiAoc2FsLT5leHBsaWNpdF9wYykKLUBAIC0yNDk3LDQ2ICsyNDk4LDY5IEBAIHNr aXBfcHJvbG9ndWVfc2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lICpzYWwpCi0gCi0gICBnZGJh cmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7Ci0gCi0tICAvKiBJZiB0aGUgZnVuY3Rp b24gaXMgaW4gYW4gdW5tYXBwZWQgb3ZlcmxheSwgdXNlIGl0cyB1bm1hcHBlZCBMTUEgYWRkcmVz cywKLS0gICAgIHNvIHRoYXQgZ2RiYXJjaF9za2lwX3Byb2xvZ3VlIGhhcyBzb21ldGhpbmcgdW5p cXVlIHRvIHdvcmsgb24uICAqLwotLSAgaWYgKHNlY3Rpb25faXNfb3ZlcmxheSAoc2VjdGlvbikg JiYgIXNlY3Rpb25faXNfbWFwcGVkIChzZWN0aW9uKSkKLS0gICAgcGMgPSBvdmVybGF5X3VubWFw cGVkX2FkZHJlc3MgKHBjLCBzZWN0aW9uKTsKLSsgIC8qIFByb2Nlc3MgdGhlIHByb2xvZ3VlIGlu IHR3byBwYXNzZXMuICBJbiB0aGUgZmlyc3QgcGFzcyB0cnkgdG8gc2tpcCB0aGUKLSsgICAgIHBy b2xvZ3VlIChTS0lQIGlzIHRydWUpIGFuZCB2ZXJpZnkgdGhlcmUgaXMgYSByZWFsIG5lZWQgZm9y IGl0IChpbmRpY2F0ZWQKLSsgICAgIGJ5IEZPUkNFX1NLSVApLiAgSWYgbm8gc3VjaCByZWFzb24g d2FzIGZvdW5kIHJ1biBhIHNlY29uZCBwYXNzIHdoZXJlIHRoZQotKyAgICAgcHJvbG9ndWUgaXMg bm90IHNraXBwZWQgKFNLSVAgaXMgZmFsc2UpLiAgKi8KLSAKLS0gIC8qIFNraXAgImZpcnN0IGxp bmUiIG9mIGZ1bmN0aW9uICh3aGljaCBpcyBhY3R1YWxseSBpdHMgcHJvbG9ndWUpLiAgKi8KLS0g IHBjICs9IGdkYmFyY2hfZGVwcmVjYXRlZF9mdW5jdGlvbl9zdGFydF9vZmZzZXQgKGdkYmFyY2gp OwotLSAgcGMgPSBnZGJhcmNoX3NraXBfcHJvbG9ndWUgKGdkYmFyY2gsIHBjKTsKLSsgIHNraXAg PSAxOwotKyAgZm9yY2Vfc2tpcCA9IDE7Ci0gCi0tICAvKiBGb3Igb3ZlcmxheXMsIG1hcCBwYyBi YWNrIGludG8gaXRzIG1hcHBlZCBWTUEgcmFuZ2UuICAqLwotLSAgcGMgPSBvdmVybGF5X21hcHBl ZF9hZGRyZXNzIChwYywgc2VjdGlvbik7Ci0rICAvKiBCZSBjb25zZXJ2YXRpdmUgLSBhbGxvdyBk aXJlY3QgUEMgKHdpdGhvdXQgc2tpcHBpbmcgcHJvbG9ndWUpIG9ubHkgaWYgd2UKLSsgICAgIGhh dmUgcHJvdmVuIHRoZSBDVSAoQ29tcGlsYXRpb24gVW5pdCkgc3VwcG9ydHMgaXQuICBzYWwtPlNZ TVRBQiBkb2VzIG5vdAotKyAgICAgaGF2ZSB0byBiZSBzZXQgYnkgdGhlIGNhbGxlciBzbyB3ZSB1 c2UgU1lNIGluc3RlYWQuICAqLwotKyAgaWYgKHN5bSAmJiBTWU1CT0xfU1lNVEFCIChzeW0pLT5s b2NhdGlvbnNfdmFsaWQpCi0rICAgIGZvcmNlX3NraXAgPSAwOwotIAotLSAgLyogQ2FsY3VsYXRl IGxpbmUgbnVtYmVyLiAgKi8KLS0gIHN0YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChwYywg c2VjdGlvbiwgMCk7Ci0tCi0tICAvKiBDaGVjayBpZiBnZGJhcmNoX3NraXBfcHJvbG9ndWUgbGVm dCB1cyBpbiBtaWQtbGluZSwgYW5kIHRoZSBuZXh0Ci0tICAgICBsaW5lIGlzIHN0aWxsIHBhcnQg b2YgdGhlIHNhbWUgZnVuY3Rpb24uICAqLwotLSAgaWYgKHN0YXJ0X3NhbC5wYyAhPSBwYwotLSAg ICAgICYmIChzeW0/IChCTE9DS19TVEFSVCAoU1lNQk9MX0JMT0NLX1ZBTFVFIChzeW0pKSA8PSBz dGFydF9zYWwuZW5kCi0tCSAgICAgICAgJiYgc3RhcnRfc2FsLmVuZCA8IEJMT0NLX0VORCAoU1lN Qk9MX0JMT0NLX1ZBTFVFIChzeW0pKSkKLS0gICAgICAgICAgOiAobG9va3VwX21pbmltYWxfc3lt Ym9sX2J5X3BjX3NlY3Rpb24gKHN0YXJ0X3NhbC5lbmQsIHNlY3Rpb24pCi0tICAgICAgICAgICAg ID09IGxvb2t1cF9taW5pbWFsX3N5bWJvbF9ieV9wY19zZWN0aW9uIChwYywgc2VjdGlvbikpKSkK LSsgIHNhdmVkX3BjID0gcGM7Ci0rICBkbwotICAgICB7Ci0tICAgICAgLyogRmlyc3QgcGMgb2Yg bmV4dCBsaW5lICovCi0tICAgICAgcGMgPSBzdGFydF9zYWwuZW5kOwotLSAgICAgIC8qIFJlY2Fs Y3VsYXRlIHRoZSBsaW5lIG51bWJlciAobWlnaHQgbm90IGJlIE4rMSkuICAqLwotLSAgICAgIHN0 YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChwYywgc2VjdGlvbiwgMCk7Ci0tICAgIH0KLSsg ICAgICBwYyA9IHNhdmVkX3BjOwotIAotLSAgLyogT24gdGFyZ2V0cyB3aXRoIGV4ZWN1dGFibGUg Zm9ybWF0cyB0aGF0IGRvbid0IGhhdmUgYSBjb25jZXB0IG9mCi0tICAgICBjb25zdHJ1Y3RvcnMg KEVMRiB3aXRoIC5pbml0IGhhcywgUEUgZG9lc24ndCksIGdjYyBlbWl0cyBhIGNhbGwKLS0gICAg IHRvIGBfX21haW4nIGluIGBtYWluJyBiZXR3ZWVuIHRoZSBwcm9sb2d1ZSBhbmQgYmVmb3JlIHVz ZXIKLS0gICAgIGNvZGUuICAqLwotLSAgaWYgKGdkYmFyY2hfc2tpcF9tYWluX3Byb2xvZ3VlX3Ag KGdkYmFyY2gpCi0tICAgICAgJiYgbmFtZSAmJiBzdHJjbXAgKG5hbWUsICJtYWluIikgPT0gMCkK LS0gICAgewotLSAgICAgIHBjID0gZ2RiYXJjaF9za2lwX21haW5fcHJvbG9ndWUgKGdkYmFyY2gs IHBjKTsKLS0gICAgICAvKiBSZWNhbGN1bGF0ZSB0aGUgbGluZSBudW1iZXIgKG1pZ2h0IG5vdCBi ZSBOKzEpLiAgKi8KLSsgICAgICAvKiBJZiB0aGUgZnVuY3Rpb24gaXMgaW4gYW4gdW5tYXBwZWQg b3ZlcmxheSwgdXNlIGl0cyB1bm1hcHBlZCBMTUEgYWRkcmVzcywKLSsJIHNvIHRoYXQgZ2RiYXJj aF9za2lwX3Byb2xvZ3VlIGhhcyBzb21ldGhpbmcgdW5pcXVlIHRvIHdvcmsgb24uICAqLwotKyAg ICAgIGlmIChzZWN0aW9uX2lzX292ZXJsYXkgKHNlY3Rpb24pICYmICFzZWN0aW9uX2lzX21hcHBl ZCAoc2VjdGlvbikpCi0rCXBjID0gb3ZlcmxheV91bm1hcHBlZF9hZGRyZXNzIChwYywgc2VjdGlv bik7Ci0rCi0rICAgICAgLyogU2tpcCAiZmlyc3QgbGluZSIgb2YgZnVuY3Rpb24gKHdoaWNoIGlz IGFjdHVhbGx5IGl0cyBwcm9sb2d1ZSkuICAqLwotKyAgICAgIHBjICs9IGdkYmFyY2hfZGVwcmVj YXRlZF9mdW5jdGlvbl9zdGFydF9vZmZzZXQgKGdkYmFyY2gpOwotKyAgICAgIGlmIChza2lwKQot KwlwYyA9IGdkYmFyY2hfc2tpcF9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMpOwotKwotKyAgICAgIC8q IEZvciBvdmVybGF5cywgbWFwIHBjIGJhY2sgaW50byBpdHMgbWFwcGVkIFZNQSByYW5nZS4gICov Ci0rICAgICAgcGMgPSBvdmVybGF5X21hcHBlZF9hZGRyZXNzIChwYywgc2VjdGlvbik7Ci0rCi0r ICAgICAgLyogQ2FsY3VsYXRlIGxpbmUgbnVtYmVyLiAgKi8KLSAgICAgICBzdGFydF9zYWwgPSBm aW5kX3BjX3NlY3RfbGluZSAocGMsIHNlY3Rpb24sIDApOwotKwotKyAgICAgIC8qIENoZWNrIGlm IGdkYmFyY2hfc2tpcF9wcm9sb2d1ZSBsZWZ0IHVzIGluIG1pZC1saW5lLCBhbmQgdGhlIG5leHQK LSsJIGxpbmUgaXMgc3RpbGwgcGFydCBvZiB0aGUgc2FtZSBmdW5jdGlvbi4gICovCi0rICAgICAg aWYgKHNraXAgJiYgc3RhcnRfc2FsLnBjICE9IHBjCi0rCSAgJiYgKHN5bT8gKEJMT0NLX1NUQVJU IChTWU1CT0xfQkxPQ0tfVkFMVUUgKHN5bSkpIDw9IHN0YXJ0X3NhbC5lbmQKLSsJCSAgICAmJiBz dGFydF9zYWwuZW5kIDwgQkxPQ0tfRU5EIChTWU1CT0xfQkxPQ0tfVkFMVUUgKHN5bSkpKQotKwkg ICAgICA6IChsb29rdXBfbWluaW1hbF9zeW1ib2xfYnlfcGNfc2VjdGlvbiAoc3RhcnRfc2FsLmVu ZCwgc2VjdGlvbikKLSsJCSA9PSBsb29rdXBfbWluaW1hbF9zeW1ib2xfYnlfcGNfc2VjdGlvbiAo cGMsIHNlY3Rpb24pKSkpCi0rCXsKLSsJICAvKiBGaXJzdCBwYyBvZiBuZXh0IGxpbmUgKi8KLSsJ ICBwYyA9IHN0YXJ0X3NhbC5lbmQ7Ci0rCSAgLyogUmVjYWxjdWxhdGUgdGhlIGxpbmUgbnVtYmVy IChtaWdodCBub3QgYmUgTisxKS4gICovCi0rCSAgc3RhcnRfc2FsID0gZmluZF9wY19zZWN0X2xp bmUgKHBjLCBzZWN0aW9uLCAwKTsKLSsJfQotKwotKyAgICAgIC8qIE9uIHRhcmdldHMgd2l0aCBl eGVjdXRhYmxlIGZvcm1hdHMgdGhhdCBkb24ndCBoYXZlIGEgY29uY2VwdCBvZgotKwkgY29uc3Ry dWN0b3JzIChFTEYgd2l0aCAuaW5pdCBoYXMsIFBFIGRvZXNuJ3QpLCBnY2MgZW1pdHMgYSBjYWxs Ci0rCSB0byBgX19tYWluJyBpbiBgbWFpbicgYmV0d2VlbiB0aGUgcHJvbG9ndWUgYW5kIGJlZm9y ZSB1c2VyCi0rCSBjb2RlLiAgKi8KLSsgICAgICBpZiAoZ2RiYXJjaF9za2lwX21haW5fcHJvbG9n dWVfcCAoZ2RiYXJjaCkKLSsJICAmJiBuYW1lICYmIHN0cmNtcCAobmFtZSwgIm1haW4iKSA9PSAw KQotKwl7Ci0rCSAgcGMgPSBnZGJhcmNoX3NraXBfbWFpbl9wcm9sb2d1ZSAoZ2RiYXJjaCwgcGMp OwotKwkgIC8qIFJlY2FsY3VsYXRlIHRoZSBsaW5lIG51bWJlciAobWlnaHQgbm90IGJlIE4rMSku ICAqLwotKwkgIHN0YXJ0X3NhbCA9IGZpbmRfcGNfc2VjdF9saW5lIChwYywgc2VjdGlvbiwgMCk7 Ci0rCSAgZm9yY2Vfc2tpcCA9IDE7Ci0rCX0KLSAgICAgfQotKyAgd2hpbGUgKCFmb3JjZV9za2lw ICYmIHNraXAtLSk7Ci0gCi0gICAvKiBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGEgdmFsaWQgc291 cmNlIGxpbmUsIHRyeSB0byBmaW5kIHRoZSBmaXJzdAotICAgICAgUEMgaW4gdGhlIGxpbmVpbmZv IHRhYmxlIHRoYXQgYmVsb25ncyB0byB0aGUgc2FtZSBmdW5jdGlvbi4gIFRoaXMKLUBAIC0yNTQ2 LDcgKzI1NzAsNyBAQCBza2lwX3Byb2xvZ3VlX3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAq c2FsKQotICAgICAgdGhlIGNhc2Ugd2l0aCB0aGUgREpHUFAgdGFyZ2V0IHVzaW5nICJnY2MgLWdj b2ZmIiB3aGVuIHRoZQotICAgICAgY29tcGlsZXIgaW5zZXJ0ZWQgY29kZSBhZnRlciB0aGUgcHJv bG9ndWUgdG8gbWFrZSBzdXJlIHRoZSBzdGFjawotICAgICAgaXMgYWxpZ25lZC4gICovCi0tICBp ZiAoc3ltICYmIHN0YXJ0X3NhbC5zeW10YWIgPT0gTlVMTCkKLSsgIGlmICghZm9yY2Vfc2tpcCAm JiBzeW0gJiYgc3RhcnRfc2FsLnN5bXRhYiA9PSBOVUxMKQotICAgICB7Ci0gICAgICAgcGMgPSBz a2lwX3Byb2xvZ3VlX3VzaW5nX2xpbmVpbmZvIChwYywgU1lNQk9MX1NZTVRBQiAoc3ltKSk7Ci0g ICAgICAgLyogUmVjYWxjdWxhdGUgdGhlIGxpbmUgbnVtYmVyLiAgKi8KLS0tLSBhL2dkYi9zeW10 YWIuaAotKysrIGIvZ2RiL3N5bXRhYi5oCi1AQCAtNzY3LDcgKzc2NywxMyBAQCBzdHJ1Y3Qgc3lt dGFiCi0gICAgICBzaG91bGQgYmUgZGVzaWduYXRlZCB0aGUgcHJpbWFyeSwgc28gdGhhdCB0aGUg YmxvY2t2ZWN0b3IKLSAgICAgIGlzIHJlbG9jYXRlZCBleGFjdGx5IG9uY2UgYnkgb2JqZmlsZV9y ZWxvY2F0ZS4gICovCi0gCi0tICBpbnQgcHJpbWFyeTsKLSsgIHVuc2lnbmVkIGludCBwcmltYXJ5 IDogMTsKLSsKLSsgIC8qIFN5bXRhYiBoYXMgYmVlbiBjb21waWxlZCB3aXRoIGJvdGggb3B0aW1p emF0aW9ucyBhbmQgZGVidWcgaW5mbyBzbyB0aGF0Ci0rICAgICBHREIgbWF5IHN0b3Agc2tpcHBp bmcgcHJvbG9ndWVzIGFzIHZhcmlhYmxlcyBsb2NhdGlvbnMgYXJlIHZhbGlkIGFscmVhZHkKLSsg ICAgIGF0IGZ1bmN0aW9uIGVudHJ5IHBvaW50cy4gICovCi0rCi0rICB1bnNpZ25lZCBpbnQgbG9j YXRpb25zX3ZhbGlkIDogMTsKLSAKLSAgIC8qIFRoZSBtYWNybyB0YWJsZSBmb3IgdGhpcyBzeW10 YWIuICBMaWtlIHRoZSBibG9ja3ZlY3RvciwgdGhpcwotICAgICAgbWF5IGJlIHNoYXJlZCBiZXR3 ZWVuIGRpZmZlcmVudCBzeW10YWJzIC0tLSBhbmQgbm9ybWFsbHkgaXMgZm9yCi0tLS0gL2Rldi9u dWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuUwot QEAgLTAsMCArMSwzOTEgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUg R05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K LSsKLSsJLnNlY3Rpb24gLmRlYnVnX2luZm8KLSsuTGN1MV9iZWdpbjoKLSsJLyogQ1UgaGVhZGVy ICovCi0rCS40Ynl0ZQkuTGN1MV9lbmQgLSAuTGN1MV9zdGFydAkJLyogTGVuZ3RoIG9mIENvbXBp bGF0aW9uIFVuaXQgKi8KLSsuTGN1MV9zdGFydDoKLSsJLjJieXRlCTIJCQkJLyogRFdBUkYgVmVy c2lvbiAqLwotKwkuNGJ5dGUJLkxhYmJyZXYxX2JlZ2luCQkJLyogT2Zmc2V0IGludG8gYWJicmV2 IHNlY3Rpb24gKi8KLSsJLmJ5dGUJNAkJCQkvKiBQb2ludGVyIHNpemUgKi8KLSsKLSsJLyogQ1Ug ZGllICovCi0rCS51bGViMTI4IDEJCQkJLyogQWJicmV2OiBEV19UQUdfY29tcGlsZV91bml0ICov Ci0rCS40Ynl0ZQkuTGxpbmUxX2JlZ2luCQkJLyogRFdfQVRfc3RtdF9saXN0ICovCi0rCS40Ynl0 ZQlmdW5jX3N0YXJ0CQkJLyogRFdfQVRfbG93X3BjICovCi0rCS40Ynl0ZQlmdW5jX2VuZAkJCS8q IERXX0FUX2hpZ2hfcGMgKi8KLSsJLmFzY2lpCSJtYWluLmNcMCIJCQkvKiBEV19BVF9uYW1lICov Ci0rCS5hc2NpaQkiR05VIEMgMy4zLjNcMCIJCQkvKiBEV19BVF9wcm9kdWNlciAqLwotKwkuYnl0 ZQkyCQkJCS8qIERXX0FUX2xhbmd1YWdlIChEV19MQU5HX0MpICovCi0rCi0rCS51bGViMTI4CTIJ CQkvKiBBYmJyZXY6IERXX1RBR19zdWJwcm9ncmFtICovCi0rCS5ieXRlCQkxCQkJLyogRFdfQVRf ZXh0ZXJuYWwgKi8KLSsJLmFzY2lpCQkiZnVuY1wwIgkJLyogRFdfQVRfbmFtZSAqLwotKwkuNGJ5 dGUJCS5MdHlwZV9pbnQtLkxjdTFfYmVnaW4JLyogRFdfQVRfdHlwZSAqLwotKwkuNGJ5dGUJCWZ1 bmNfc3RhcnQJCS8qIERXX0FUX2xvd19wYyAqLwotKwkuNGJ5dGUJCWZ1bmNfZW5kCQkvKiBEV19B VF9oaWdoX3BjICovCi0rCi0rLyogR0RCIGBoYXNfbG9jbGlzdCcgZGV0ZWN0aW9uIG9mIC1PMiAt ZyBjb2RlIG5lZWRzIHRvIHNlZSBhIERXX0FUX2xvY2F0aW9uCi0rICAgbG9jYXRpb24gbGlzdC4g IFRoZXJlIG1heSBleGlzdCAtTzIgLWcgQ1VzIHN0aWxsIG5vdCBuZWVkaW5nL3VzaW5nIGFueSBz dWNoCi0rICAgbG9jYXRpb24gbGlzdCAtIGV4YWN0bHkgbGlrZSB0aGlzIENVLiAgTWFrZSBvbmUg dXAuICAqLwotKwotKwkudWxlYjEyOAkweDcJCQkvKiAoRElFICgweDQyKSBEV19UQUdfZm9ybWFs X3BhcmFtZXRlcikgKi8KLSsJLmFzY2lpCQkicGFyYW1cMCIJCS8qIERXX0FUX25hbWUgKi8KLSsJ LmxvbmcJCS5MdHlwZV9pbnQgLSAuTGN1MV9iZWdpbgkvKiBEV19BVF90eXBlICovCi0rCS5sb25n CQlsb2NsaXN0CQkJLyogRFdfQVRfbG9jYXRpb24gKi8KLSsKLSsJLnVsZWIxMjgJNAkJCS8qIEFi YnJldjogRFdfVEFHX2lubGluZWRfc3Vicm91dGluZSAqLwotKwkuYXNjaWkJCSJpbmxpbmVkXDAi CQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJZnVuYzAJCQkvKiBEV19BVF9sb3dfcGMgKi8K LSsJLjRieXRlCQlmdW5jMQkJCS8qIERXX0FUX2hpZ2hfcGMgKi8KLSsJLmJ5dGUJCTMJCQkvKiBE V19BVF9pbmxpbmUgKERXX0lOTF9kZWNsYXJlZF9pbmxpbmVkKSAqLwotKwkuYnl0ZQkJMQkJCS8q IERXX0FUX2NhbGxfZmlsZSAqLwotKwkuYnl0ZQkJOAkJCS8qIERXX0FUX2NhbGxfbGluZSAqLwot KwotKwkudWxlYjEyOAk0CQkJLyogQWJicmV2OiBEV19UQUdfaW5saW5lZF9zdWJyb3V0aW5lICov Ci0rCS5hc2NpaQkJImlubGluZWQyXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJZnVu YzIJCQkvKiBEV19BVF9sb3dfcGMgKi8KLSsJLjRieXRlCQlmdW5jMwkJCS8qIERXX0FUX2hpZ2hf cGMgKi8KLSsJLmJ5dGUJCTMJCQkvKiBEV19BVF9pbmxpbmUgKERXX0lOTF9kZWNsYXJlZF9pbmxp bmVkKSAqLwotKwkuYnl0ZQkJMQkJCS8qIERXX0FUX2NhbGxfZmlsZSAqLwotKwkuYnl0ZQkJMTEJ CQkvKiBEV19BVF9jYWxsX2xpbmUgKi8KLSsKLSsjaWZkZWYgSU5MSU5FRAotKwkudWxlYjEyOAk0 CQkJLyogQWJicmV2OiBEV19UQUdfaW5saW5lZF9zdWJyb3V0aW5lICovCi0rCS5hc2NpaQkJIm90 aGVyaW5saW5lXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJZnVuYzMJCQkvKiBEV19B VF9sb3dfcGMgKi8KLSsJLjRieXRlCQlmdW5jX2VuZAkJLyogRFdfQVRfaGlnaF9wYyAqLwotKwku Ynl0ZQkJMwkJCS8qIERXX0FUX2lubGluZSAoRFdfSU5MX2RlY2xhcmVkX2lubGluZWQpICovCi0r CS5ieXRlCQkxCQkJLyogRFdfQVRfY2FsbF9maWxlICovCi0rCS5ieXRlCQk5CQkJLyogRFdfQVRf Y2FsbF9saW5lICovCi0rI2VuZGlmCi0rCi0rI2lmZGVmIExFWElDQUwKLSsJLnVsZWIxMjgJNQkJ CS8qIEFiYnJldjogRFdfVEFHX2xleGljYWxfYmxvY2sgKi8KLSsJLjRieXRlCQlmdW5jMwkJCS8q IERXX0FUX2xvd19wYyAqLwotKwkuNGJ5dGUJCWZ1bmNfZW5kCQkvKiBEV19BVF9oaWdoX3BjICov Ci0rCi0rCS8qIEdEQiB3b3VsZCBvdGhlcndpc2UgaWdub3JlIHRoZSBEV19UQUdfbGV4aWNhbF9i bG9jay4gICovCi0rCS51bGViMTI4CTYJCQkvKiBBYmJyZXY6IERXX1RBR192YXJpYWJsZSAqLwot KwkuYXNjaWkJCSJsZXhpY2FsdmFyXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJLkx0 eXBlX2ludC0uTGN1MV9iZWdpbgkvKiBEV19BVF90eXBlICovCi0rCi0rCS5ieXRlCQkwCQkJLyog RW5kIG9mIGNoaWxkcmVuIG9mIERXX1RBR19sZXhpY2FsX2Jsb2NrICovCi0rI2VuZGlmCi0rCi0r CS5ieXRlCQkwCQkJLyogRW5kIG9mIGNoaWxkcmVuIG9mIERXX1RBR19zdWJwcm9ncmFtICovCi0r Ci0rLyogU2ltdWxhdGUgYGZ1bmQnIGlzIGFsc28gbmFtZWQgYGZ1bmMnIHNvIHRoYXQgdGhlIGZ1 bmN0aW9uIG5hbWUgbWF0Y2hlcyBhbmQKLSsgICBmdW5kJ3MgU0FMIGlzIG5vdCBkaXNjYXJkZWQg aW4gZXhwYW5kX2xpbmVfc2FsX21heWJlLiAgKi8KLSsKLSsJLnVsZWIxMjgJMgkJCS8qIEFiYnJl djogRFdfVEFHX3N1YnByb2dyYW0gKi8KLSsJLmJ5dGUJCTEJCQkvKiBEV19BVF9leHRlcm5hbCAq LwotKwkuYXNjaWkJCSJmdW5jXDAiCQkvKiBEV19BVF9uYW1lICovCi0rCS40Ynl0ZQkJLkx0eXBl X2ludC0uTGN1MV9iZWdpbgkvKiBEV19BVF90eXBlICovCi0rCS40Ynl0ZQkJZnVuZF9zdGFydAkJ LyogRFdfQVRfbG93X3BjICovCi0rCS40Ynl0ZQkJZnVuZF9lbmQJCS8qIERXX0FUX2hpZ2hfcGMg Ki8KLSsKLSsJLmJ5dGUJCTAJCQkvKiBFbmQgb2YgY2hpbGRyZW4gb2YgRFdfVEFHX3N1YnByb2dy YW0gKi8KLSsKLSsuTHR5cGVfaW50OgotKwkudWxlYjEyOAkzCQkJLyogQWJicmV2OiBEV19UQUdf YmFzZV90eXBlICovCi0rCS5hc2NpaQkJImludFwwIgkJCS8qIERXX0FUX25hbWUgKi8KLSsJLmJ5 dGUJCTQJCQkvKiBEV19BVF9ieXRlX3NpemUgKi8KLSsJLmJ5dGUJCTUJCQkvKiBEV19BVF9lbmNv ZGluZyAqLwotKwotKwkuYnl0ZQkJMAkJCS8qIEVuZCBvZiBjaGlsZHJlbiBvZiBDVSAqLwotKwot Ky5MY3UxX2VuZDoKLSsKLSsJLnNlY3Rpb24JLmRlYnVnX2xvYwotK2xvY2xpc3Q6Ci0rCS8qIFJl c2V0IHRoZSBsb2NhdGlvbiBsaXN0IGJhc2UgYWRkcmVzcyBmaXJzdC4gICovCi0rCS5sb25nCQkt MSwgMAotKwotKwkubG9uZwkJZnVuY19zdGFydCwgZnVuY19lbmQKLSsJLjJieXRlCQkyZi0xZgot KzE6CS5ieXRlCQkweDUwCS8qIERXX09QX3JlZzAgKi8KLSsyOgotKwkvKiBMb2NhdGlvbiBsaXN0 IGVuZC4gICovCi0rCS5sb25nCTAsIDAKLSsKLSsvKiBBYmJyZXYgdGFibGUgKi8KLSsJLnNlY3Rp b24gLmRlYnVnX2FiYnJldgotKy5MYWJicmV2MV9iZWdpbjoKLSsJLnVsZWIxMjgJMQkJCS8qIEFi YnJldiBjb2RlICovCi0rCS51bGViMTI4CTB4MTEJCQkvKiBEV19UQUdfY29tcGlsZV91bml0ICov Ci0rCS5ieXRlCQkxCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MTAJCQkvKiBE V19BVF9zdG10X2xpc3QgKi8KLSsJLnVsZWIxMjgJMHg2CQkJLyogRFdfRk9STV9kYXRhNCAqLwot KwkudWxlYjEyOAkweDExCQkJLyogRFdfQVRfbG93X3BjICovCi0rCS51bGViMTI4CTB4MQkJCS8q IERXX0ZPUk1fYWRkciAqLwotKwkudWxlYjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLwot KwkudWxlYjEyOAkweDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgzCQkJLyog RFdfQVRfbmFtZSAqLwotKwkudWxlYjEyOAkweDgJCQkvKiBEV19GT1JNX3N0cmluZyAqLwotKwku dWxlYjEyOAkweDI1CQkJLyogRFdfQVRfcHJvZHVjZXIgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyog RFdfRk9STV9zdHJpbmcgKi8KLSsJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0FUX2xhbmd1YWdlICov Ci0rCS51bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KLSsJLmJ5dGUJCTB4MAkJCS8q IFRlcm1pbmF0b3IgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVs ZWIxMjgJMgkJCS8qIEFiYnJldiBjb2RlICovCi0rCS51bGViMTI4CTB4MmUJCQkvKiBEV19UQUdf c3VicHJvZ3JhbSAqLwotKwkuYnl0ZQkJMQkJCS8qIGhhc19jaGlsZHJlbiAqLwotKwkudWxlYjEy OAkweDNmCQkJLyogRFdfQVRfZXh0ZXJuYWwgKi8KLSsJLnVsZWIxMjgJMHhjCQkJLyogRFdfRk9S TV9mbGFnICovCi0rCS51bGViMTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJ MHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KLSsJLnVsZWIxMjgJMHg0OQkJCS8qIERXX0FUX3R5 cGUgKi8KLSsJLnVsZWIxMjgJMHgxMwkJCS8qIERXX0ZPUk1fcmVmNCAqLwotKwkudWxlYjEyOAkw eDExCQkJLyogRFdfQVRfbG93X3BjICovCi0rCS51bGViMTI4CTB4MQkJCS8qIERXX0ZPUk1fYWRk ciAqLwotKwkudWxlYjEyOAkweDEyCQkJLyogRFdfQVRfaGlnaF9wYyAqLwotKwkudWxlYjEyOAkw eDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8K LSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVsZWIxMjgJMwkJCS8qIEFi YnJldiBjb2RlICovCi0rCS51bGViMTI4CTB4MjQJCQkvKiBEV19UQUdfYmFzZV90eXBlICovCi0r CS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGViMTI4CTB4MwkJCS8qIERXX0FU X25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9zdHJpbmcgKi8KLSsJLnVsZWIx MjgJMHhiCQkJLyogRFdfQVRfYnl0ZV9zaXplICovCi0rCS51bGViMTI4CTB4YgkJCS8qIERXX0ZP Uk1fZGF0YTEgKi8KLSsJLnVsZWIxMjgJMHgzZQkJCS8qIERXX0FUX2VuY29kaW5nICovCi0rCS51 bGViMTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1p bmF0b3IgKi8KLSsJLmJ5dGUJCTB4MAkJCS8qIFRlcm1pbmF0b3IgKi8KLSsKLSsJLnVsZWIxMjgJ NAkJCS8qIEFiYnJldiBjb2RlICovCi0rCS51bGViMTI4CTB4MWQJCQkvKiBEV19UQUdfaW5saW5l ZF9zdWJyb3V0aW5lICovCi0rCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGVi MTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9z dHJpbmcgKi8KLSsJLnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwotKwkudWxlYjEy OAkweDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgxMgkJCS8qIERXX0FUX2hp Z2hfcGMgKi8KLSsJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCi0rCS51bGViMTI4 CTB4MjAJCQkvKiBEV19BVF9pbmxpbmUgKi8KLSsJLnVsZWIxMjgJMHhiCQkJLyogRFdfRk9STV9k YXRhMSAqLwotKwkudWxlYjEyOAkweDU4CQkJLyogRFdfQVRfY2FsbF9maWxlICovCi0rCS51bGVi MTI4CTB4YgkJCS8qIERXX0ZPUk1fZGF0YTEgKi8KLSsJLnVsZWIxMjgJMHg1OQkJCS8qIERXX0FU X2NhbGxfbGluZSAqLwotKwkudWxlYjEyOAkweGIJCQkvKiBEV19GT1JNX2RhdGExICovCi0rCS5i eXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi0rCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9y ICovCi0rCi0rCS51bGViMTI4CTUJCQkvKiBBYmJyZXYgY29kZSAqLwotKwkudWxlYjEyOAkweDBi CQkJLyogRFdfVEFHX2xleGljYWxfYmxvY2sgKi8KLSsJLmJ5dGUJCTEJCQkvKiBoYXNfY2hpbGRy ZW4gKi8KLSsJLnVsZWIxMjgJMHgxMQkJCS8qIERXX0FUX2xvd19wYyAqLwotKwkudWxlYjEyOAkw eDEJCQkvKiBEV19GT1JNX2FkZHIgKi8KLSsJLnVsZWIxMjgJMHgxMgkJCS8qIERXX0FUX2hpZ2hf cGMgKi8KLSsJLnVsZWIxMjgJMHgxCQkJLyogRFdfRk9STV9hZGRyICovCi0rCS5ieXRlCQkweDAJ CQkvKiBUZXJtaW5hdG9yICovCi0rCS5ieXRlCQkweDAJCQkvKiBUZXJtaW5hdG9yICovCi0rCi0r CS51bGViMTI4CTYJCQkvKiBBYmJyZXYgY29kZSAqLwotKwkudWxlYjEyOAkweDM0CQkJLyogRFdf VEFHX3ZhcmlhYmxlICovCi0rCS5ieXRlCQkwCQkJLyogaGFzX2NoaWxkcmVuICovCi0rCS51bGVi MTI4CTB4MwkJCS8qIERXX0FUX25hbWUgKi8KLSsJLnVsZWIxMjgJMHg4CQkJLyogRFdfRk9STV9z dHJpbmcgKi8KLSsJLnVsZWIxMjgJMHg0OQkJCS8qIERXX0FUX3R5cGUgKi8KLSsJLnVsZWIxMjgJ MHgxMwkJCS8qIERXX0ZPUk1fcmVmNCAqLwotKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAq LwotKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotKwotKwkudWxlYjEyOAkweDcJCQkv KiAoYWJicmV2IGNvZGUpICovCi0rCS51bGViMTI4CTB4NQkJCS8qIChUQUc6IERXX1RBR19mb3Jt YWxfcGFyYW1ldGVyKSAqLwotKwkuYnl0ZQkJMHgwCQkJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJ LnVsZWIxMjgJMHgzCQkJLyogRFdfQVRfbmFtZSAqLwotKwkudWxlYjEyOAkweDgJCQkvKiBEV19G T1JNX3N0cmluZyAqLwotKwkudWxlYjEyOAkweDQ5CQkJLyogKERXX0FUX3R5cGUpICovCi0rCS51 bGViMTI4CTB4MTMJCQkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOAkweDAyCQkJLyog KERXX0FUX2xvY2F0aW9uKSAqLwotKwkudWxlYjEyOAkweDA2CQkJLyogKERXX0ZPUk1fZGF0YTQp ICovCi0rCS5ieXRlCQkweDAKLSsJLmJ5dGUJCTB4MAotKwotKwkuYnl0ZQkJMHgwCQkJLyogVGVy bWluYXRvciAqLwotKwkuYnl0ZQkJMHgwCQkJLyogVGVybWluYXRvciAqLwotKwotKy8qIExpbmUg dGFibGUgKi8KLSsJLnNlY3Rpb24gLmRlYnVnX2xpbmUKLSsuTGxpbmUxX2JlZ2luOgotKwkuNGJ5 dGUJCS5MbGluZTFfZW5kIC0gLkxsaW5lMV9zdGFydAkvKiBJbml0aWFsIGxlbmd0aCAqLwotKy5M bGluZTFfc3RhcnQ6Ci0rCS4yYnl0ZQkJMgkJCS8qIFZlcnNpb24gKi8KLSsJLjRieXRlCQkuTGxp bmUxX2xpbmVzIC0gLkxsaW5lMV9oZHIJLyogaGVhZGVyX2xlbmd0aCAqLwotKy5MbGluZTFfaGRy OgotKwkuYnl0ZQkJMQkJCS8qIE1pbmltdW0gaW5zbiBsZW5ndGggKi8KLSsJLmJ5dGUJCTEJCQkv KiBkZWZhdWx0X2lzX3N0bXQgKi8KLSsJLmJ5dGUJCTEJCQkvKiBsaW5lX2Jhc2UgKi8KLSsJLmJ5 dGUJCTEJCQkvKiBsaW5lX3JhbmdlICovCi0rCS5ieXRlCQkweDEwCQkJLyogb3Bjb2RlX2Jhc2Ug Ki8KLSsKLSsJLyogU3RhbmRhcmQgbGVuZ3RocyAqLwotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMQot KwkuYnl0ZQkJMQotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJ MAotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMQotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwkuYnl0 ZQkJMQotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwkuYnl0ZQkJMAotKwotKwkvKiBJbmNsdWRl IGRpcmVjdG9yaWVzICovCi0rCS5ieXRlCQkwCi0rCi0rCS8qIEZpbGUgbmFtZXMgKi8KLSsJLmFz Y2lpCQkibWFpbi5jXDAiCi0rCS51bGViMTI4CTAKLSsJLnVsZWIxMjgJMAotKwkudWxlYjEyOAkw Ci0rCi0rCS5hc2NpaQkJIm90aGVyLmNcMCIKLSsJLnVsZWIxMjgJMAotKwkudWxlYjEyOAkwCi0r CS51bGViMTI4CTAKLSsKLSsJLmJ5dGUJCTAKLSsKLSsuTGxpbmUxX2xpbmVzOgotKwkuYnl0ZQkJ MAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwku NGJ5dGUJCWZ1bmNfc3RhcnQKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwot Kwkuc2xlYjEyOAk0CS8qIC4uLiB0byA1ICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICov Ci0rCi0rCS5ieXRlCQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0r CS5ieXRlCQkyCi0rCS40Ynl0ZQkJZnVuYzAKLSsJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxl ICovCi0rCS51bGViMTI4CTIKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwot Kwkuc2xlYjEyOAktNAkvKiAuLi4gdG8gMSAqLwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAq LwotKwotKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQot KwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmMxCi0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmls ZSAqLwotKwkudWxlYjEyOAkxCi0rCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8K LSsJLnNsZWIxMjgJOAkvKiAuLi4gdG8gOSAqLwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAq LwotKwotKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQot KwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmMyCi0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmls ZSAqLwotKwkudWxlYjEyOAkyCi0rCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8K LSsJLnNsZWIxMjgJLTgJLyogLi4uIHRvIDEgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkg Ki8KLSsKLSsJLmJ5dGUJCTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUK LSsJLmJ5dGUJCTIKLSsJLjRieXRlCQlmdW5jMwotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2Zp bGUgKi8KLSsJLnVsZWIxMjgJMQotKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICov Ci0rCS5zbGViMTI4CTgJLyogLi4uIHRvIDkgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkg Ki8KLSsKLSsJLmJ5dGUJCTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUK LSsJLmJ5dGUJCTIKLSsJLjRieXRlCQlmdW5jX2VuZAotKwotKy8qIEVxdWl2YWxlbnQgY29weSBi dXQgcmVuYW1lZCBzL2Z1bmMvZnVuZC8uICAqLwotKwotKwkuYnl0ZQkJMAkvKiBEV19MTkVfc2V0 X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwkuNGJ5dGUJCWZ1bmRfc3Rh cnQKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAktNAkv KiAuLi4gdG8gNSAqLwotKwkuYnl0ZQkJMQkvKiBEV19MTlNfY29weSAqLwotKwotKwkuYnl0ZQkJ MAkvKiBEV19MTkVfc2V0X2FkZHJlc3MgKi8KLSsJLnVsZWIxMjgJNQotKwkuYnl0ZQkJMgotKwku NGJ5dGUJCWZ1bmQwCi0rCS5ieXRlCQk0CS8qIERXX0xOU19zZXRfZmlsZSAqLwotKwkudWxlYjEy OAkyCi0rCS5ieXRlCQkzCS8qIERXX0xOU19hZHZhbmNlX2xpbmUgKi8KLSsJLnNsZWIxMjgJLTQJ LyogLi4uIHRvIDEgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5dGUJ CTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIKLSsJ LjRieXRlCQlmdW5kMQotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KLSsJLnVsZWIx MjgJMQotKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCi0rCS5zbGViMTI4CTgJ LyogLi4uIHRvIDkgKi8KLSsJLmJ5dGUJCTEJLyogRFdfTE5TX2NvcHkgKi8KLSsKLSsJLmJ5dGUJ CTAJLyogRFdfTE5FX3NldF9hZGRyZXNzICovCi0rCS51bGViMTI4CTUKLSsJLmJ5dGUJCTIKLSsJ LjRieXRlCQlmdW5kMgotKwkuYnl0ZQkJNAkvKiBEV19MTlNfc2V0X2ZpbGUgKi8KLSsJLnVsZWIx MjgJMgotKwkuYnl0ZQkJMwkvKiBEV19MTlNfYWR2YW5jZV9saW5lICovCi0rCS5zbGViMTI4CS04 CS8qIC4uLiB0byAxICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCi0rCi0rCS5ieXRl CQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0rCS5ieXRlCQkyCi0r CS40Ynl0ZQkJZnVuZDMKLSsJLmJ5dGUJCTQJLyogRFdfTE5TX3NldF9maWxlICovCi0rCS51bGVi MTI4CTEKLSsJLmJ5dGUJCTMJLyogRFdfTE5TX2FkdmFuY2VfbGluZSAqLwotKwkuc2xlYjEyOAk4 CS8qIC4uLiB0byA5ICovCi0rCS5ieXRlCQkxCS8qIERXX0xOU19jb3B5ICovCi0rCi0rCS5ieXRl CQkwCS8qIERXX0xORV9zZXRfYWRkcmVzcyAqLwotKwkudWxlYjEyOAk1Ci0rCS5ieXRlCQkyCi0r CS40Ynl0ZQkJZnVuZF9lbmQKLSsKLSsvKiBMaW5lIG51bWJlcmluZyBlbmQuICAqLwotKwotKwku Ynl0ZQkJMAkvKiBEV19MTkVfZW5kX29mX3NlcXVlbmNlICovCi0rCS51bGViMTI4CTEKLSsJLmJ5 dGUJCTEKLSsKLSsuTGxpbmUxX2VuZDoKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9kdzItc2tpcC1wcm9sb2d1ZS5jCi1AQCAtMCwwICsxLDU4IEBACi0rLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBD b3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0r ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rc3RhdGljIHZvbGF0aWxlIGlu dCB2OwotKwotK2FzbSAoImZ1bmNfc3RhcnQ6IC5nbG9ibCBmdW5jX3N0YXJ0XG4iKTsKLStzdGF0 aWMgaW50Ci0rZnVuYyAodm9pZCkKLSt7Ci0rICB2Kys7Ci0rYXNtICgiZnVuYzA6IC5nbG9ibCBm dW5jMFxuIik7Ci0rICB2Kys7Ci0rYXNtICgiZnVuYzE6IC5nbG9ibCBmdW5jMVxuIik7Ci0rICB2 Kys7Ci0rYXNtICgiZnVuYzI6IC5nbG9ibCBmdW5jMlxuIik7Ci0rICB2Kys7Ci0rYXNtICgiZnVu YzM6IC5nbG9ibCBmdW5jM1xuIik7Ci0rICByZXR1cm4gdjsKLSt9Ci0rYXNtICgiZnVuY19lbmQ6 IC5nbG9ibCBmdW5jX2VuZFxuIik7Ci0rCi0rLyogRXF1aXZhbGVudCBjb3B5IGJ1dCByZW5hbWVk IHMvZnVuYy9mdW5kLy4gICovCi0rCi0rYXNtICgiZnVuZF9zdGFydDogLmdsb2JsIGZ1bmRfc3Rh cnRcbiIpOwotK3N0YXRpYyBpbnQKLStmdW5kICh2b2lkKQotK3sKLSsgIHYrKzsKLSthc20gKCJm dW5kMDogLmdsb2JsIGZ1bmQwXG4iKTsKLSsgIHYrKzsKLSthc20gKCJmdW5kMTogLmdsb2JsIGZ1 bmQxXG4iKTsKLSsgIHYrKzsKLSthc20gKCJmdW5kMjogLmdsb2JsIGZ1bmQyXG4iKTsKLSsgIHYr KzsKLSthc20gKCJmdW5kMzogLmdsb2JsIGZ1bmQzXG4iKTsKLSsgIHJldHVybiB2OwotK30KLSth c20gKCJmdW5kX2VuZDogLmdsb2JsIGZ1bmRfZW5kXG4iKTsKLSsKLStpbnQKLSttYWluICh2b2lk KQotK3sKLSsgIHJldHVybiBmdW5jICgpICsgZnVuZCAoKTsKLSt9Ci0tLS0gL2Rldi9udWxsCi0r KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLXNraXAtcHJvbG9ndWUuZXhwCi1AQCAt MCwwICsxLDc0IEBACi0rIyBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rbG9hZF9saWIgZHdhcmYu ZXhwCi0rCi0rIyBUZXN0IG11bHRpcGxlIGxvY2F0aW9uIGJyZWFrcG9pbnRzIHZzLiBwcm9sb2d1 ZSBhbmFseXNpcyBvbiAtTzIgLWcgY29kZS4KLSsjIHdoZW4gdGhlIGZpcnN0IHN0YXRlbWVudCBv ZiBhIGZ1bmN0aW9uIGlzIGFuIGlubGluZWQgZnVuY3Rpb24gR0RCIGNvdWxkCi0rIyBjcmFzaC4g IE1hcCBvZiB0aGlzIHRlc3RjYXNlOgotKyMgCi0rIyBGaWxlIG5hbWUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGluZSBudW1iZXIgICAgU3RhcnRpbmcgYWRkcmVzcwotKyMgbWFpbi5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1ICAgIGZ1bmNfc3RhcnQKLSsj IG90aGVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICBmdW5j MAotKyMgCWBpbmxpbmVkJyBjYWxsZWQgYXQgbWFpbi5jIGxpbmUgOAotKyMgbWFpbi5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5ICAgIGZ1bmMxCi0rIyAJZnVuYzEg PSBCcmVha3BvaW50IGxvY2F0aW9uIDEKLSsjIG90aGVyLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMSAgICBmdW5jMgotKyMgCWBpbmxpbmVkMicgY2FsbGVkIGF0IG1h aW4uYyBsaW5lIDExCi0rIyBtYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDkgICAgZnVuYzMKLSsjIAlmdW5jMyA9IEJyZWFrcG9pbnQgbG9jYXRpb24gMgotKyMg CWBvdGhlcmlubGluZScgY2FsbGVkIGF0IG1haW4uYyBsaW5lIDkKLSsjIGVuZCBvZiBtYWluICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jX2VuZAotKwotKyMgVGhp cyB0ZXN0IGNhbiBvbmx5IGJlIHJ1biBvbiB0YXJnZXRzIHdoaWNoIHN1cHBvcnQgRFdBUkYtMiBh bmQgdXNlIGdhcy4KLStpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKLSsgICAgcmV0dXJuIDAgIAot K30KLSsKLStzZXQgdGVzdGZpbGUgImR3Mi1za2lwLXByb2xvZ3VlIgotK3NldCBleGVjdXRhYmxl ICR7dGVzdGZpbGV9Ci0rc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGlyfS8ke2V4ZWN1dGFi bGV9Ci0rCi0raWYge1tidWlsZF9leGVjdXRhYmxlICR7dGVzdGZpbGV9LmV4cCAke2V4ZWN1dGFi bGV9ICIke3Rlc3RmaWxlfS5jICR7dGVzdGZpbGV9LlMiIHthZGRpdGlvbmFsX2ZsYWdzPS1ESU5M SU5FRH1dID09IC0xfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFdlIG5lZWQgdGhvc2Ug c3ltYm9scyBnbG9iYWwgdG8gYWNjZXNzIHRoZW0gZnJvbSB0aGUgLlMgZmlsZS4KLStzZXQgdGVz dCAic3RyaXAgc3R1YiBzeW1ib2xzIgotK3NldCBvYmpjb3B5X3Byb2dyYW0gW3RyYW5zZm9ybSBv Ympjb3B5XQotK3NldCByZXN1bHQgW2NhdGNoICJleGVjICRvYmpjb3B5X3Byb2dyYW0JCQkJCQkJ XAotKwkJCS1OIGZ1bmMwIC1OIGZ1bmMxIC1OIGZ1bmMyIC1OIGZ1bmMzICAgICAgICAgLU4gZnVu Y19zdGFydCAtTiBmdW5jX2VuZAlcCi0rCQkJLU4gZnVuZDAgLU4gZnVuZDEgLU4gZnVuZDIgLU4g ZnVuZDMgLU4gZnVuZCAtTiBmdW5kX3N0YXJ0CQlcCi0rCQkJJHtiaW5maWxlfSIgb3V0cHV0XQot K3ZlcmJvc2UgInJlc3VsdCBpcyAkcmVzdWx0IgotK3ZlcmJvc2UgIm91dHB1dCBpcyAkb3V0cHV0 IgotK2lmIHskcmVzdWx0ICE9IDB9IHsKLSsgICAgZmFpbCAkdGVzdAotKyAgICByZXR1cm4KLSt9 Ci0rcGFzcyAkdGVzdAotKwotK2NsZWFuX3Jlc3RhcnQgJGV4ZWN1dGFibGUKLSsKLStpZiAhW3J1 bnRvX21haW5dIHsKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9icmVha3BvaW50ICJmdW5j IgotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJmdW5jIgotKwotKyMgU2FuaXR5IGNoZWNr IEdEQiBoYXMgcmVhbGx5IGZvdW5kIDIgbG9jYXRpb25zCi0rZ2RiX3Rlc3Qge2luZm8gYnJlYWsg JGJwbnVtfSAiXHJcbjJcXC4xXFsgXHRcXVxbXlxuXF0qXHJcbjJcXC4yXFsgXHRcXVxbXlxuXF0q IiAiMiBsb2NhdGlvbnMgZm91bmQiCi0rCi0rZ2RiX3Rlc3QgInAgdiIgIiA9IDAiICJubyBzdGF0 ZW1lbnQgZ290IGV4ZWN1dGVkIgotCgpkaWZmIC0tZ2l0IGEvZ2RiLXBoeXNuYW1lLWV4cGFuZC1j b21wbGV0ZXIucGF0Y2ggYi9nZGItcGh5c25hbWUtZXhwYW5kLWNvbXBsZXRlci5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ1Mzg3MC4uMDAwMDAwMAotLS0gYS9nZGItcGh5 c25hbWUtZXhwYW5kLWNvbXBsZXRlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyOCArMCww IEBACi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMS0wNC9tc2cwMDU1 MS5odG1sCi1TdWJqZWN0OiBbcGF0Y2hdIHBoeXNuYW1lLXJlbGF0ZWQgQ1UgZXhwYW5zaW9uIGlz c3VlIGZvciBDKysgKFBSIDEyNzA4KQotCi1IaSwKLQotaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMjcwOCNjMQotCi1UaGUgZGVwZW5kZW5jeSBvbiBDVSBl eHBhbnNpb24gaXMgYSBwaHlzbmFtZSByZWdyZXNzaW9uLgotQnV0IHRoZSBmZWF0dXJlIG9mIG9y aWdpbmFsbHktdHlwZWQtcGFyYW1ldGVycyBzeW1ib2xzIHdhcyBub3QgcHJlc2VudCBiZWZvcmUK LXBoeXNuYW1lIGF0IGFsbCBzbyBpdCBpcyByYXRoZXIgYnVnZ3ktZmVhdHVyZSB0aGFuIGEgcmVn cmVzc2lvbi4KLQotZm9yCi10eXBlZGVmIGludCBpbnRfdHlwZWRlZjsKLXZvaWQgZiAoaW50X3R5 cGVkZWYgeCkge30KLQotZ2RiIC1ueCAuLzFiLm8gLWV4ICdzZXQgbGFuZ3VhZ2UgYysrJyAtZXgg ImNvbXBsZXRlIGIgJ2YoIiAtZXggcQotCi0rIHByZXBoeXNuYW1lICg0MjI4NGZkZjlkOGNkYjIw YzhlODMzYmRiZGIyYjU2OTc3ZmVhNTI1XikKLWIgJ2YoaW50KQotKyBwcmVwaHlzbmFtZSAtcmVh ZG5vdwotYiAnZihpbnQpCi0KLSsgcGh5c25hbWUgKDQyMjg0ZmRmOWQ4Y2RiMjBjOGU4MzNiZGJk YjJiNTY5NzdmZWE1MjUpCi1iICdmKGludCkKLSsgcGh5c25hbWUgLXJlYWRub3cKLWIgJ2YoaW50 KQotYiAnZihpbnRfdHlwZWRlZikKLQotKyBIRUFECi1iICdmKGludCkKLSsgSEVBRCAtcmVhZG5v dwotYiAnZihpbnQpCi1iICdmKGludF90eXBlZGVmKQotCi0KLVRoaXMgaXMgYW5vdGhlciBpc3N1 ZSBmcm9tIHRoZSBmYWN0IHRoYXQgcGFydGlhbCBzeW10YWJzIChhbmQgZXZlbiBnZGJpbmRleCkK LW5vIGxvbmdlciBjb250YWluIHBhcmFtZXRlcnMgYXMgYmVmb3JlLiAgJ2YoJyBjYW4gbmV2ZXIg YmUgZm91bmQgYW55IHBhcnRpYWwKLXN5bXRhYnMsIG9ubHkgYGYnIHdpbGwgYmUgcHJlc2VudCB0 aGVyZS4KLQotTm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9y YTE1LWxpbnV4LWdudS4KLQotCi1UaGFua3MsCi1KYW4KLQotCi1nZGIvCi0yMDExLTA0LTI4ICBK YW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLSAgICAKLQkqIHN5 bXRhYi5jIChjb21wYXJlX3N5bWJvbF9uYW1lKTogTmV3IGZ1bmN0aW9uLgotCShjb21wbGV0aW9u X2xpc3RfYWRkX25hbWUsIGV4cGFuZF9wYXJ0aWFsX3N5bWJvbF9uYW1lKTogQ2FsbCBpdCwKLQly ZW1vdmUgdGhlIHZhcmlhYmxlIG5jbXAuCi0JKGRlZmF1bHRfbWFrZV9zeW1ib2xfY29tcGxldGlv bl9saXN0X2JyZWFrX29uKTogUmVkdWNlIFNZTV9URVhUX0xFTiwKLQlnZGJfYXNzZXJ0IGl0Lgot Ci1HZGIvdGVzdHN1aXRlLwotMjAxMS0wNC0yOCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgotCi0JKiBnZGIuY3AvcHN5bXRhYi1wYXJhbWV0ZXIuY2M6IE5ldyBm aWxlLgotCSogZ2RiLmNwL3BzeW10YWItcGFyYW1ldGVyLmV4cDogTmV3IGZpbGUuCi0KLS0tLSBh L2dkYi9zeW10YWIuYwotKysrIGIvZ2RiL3N5bXRhYi5jCi1AQCAtMzQ4OSw2ICszNDg5LDQwIEBA IHJicmVha19jb21tYW5kIChjaGFyICpyZWdleHAsIGludCBmcm9tX3R0eSkKLSB9Ci0gDAotIAot Ky8qIEV2YWx1YXRlIGlmIE5BTUUgbWF0Y2hlcyBTWU1fVEVYVCBhbmQgU1lNX1RFWFRfTEVOLgot KwotKyAgIEVpdGhlciBzeW1fdGV4dFtzeW1fdGV4dF9sZW5dICE9ICcoJyBhbmQgdGhlbiB3ZSBz ZWFyY2ggZm9yIGFueQotKyAgIHN5bWJvbCBzdGFydGluZyB3aXRoIFNZTV9URVhUIHRleHQuCi0r Ci0rICAgT3RoZXJ3aXNlIHN5bV90ZXh0W3N5bV90ZXh0X2xlbl0gPT0gJygnIGFuZCB0aGVuIHdl IHJlcXVpcmUgc3ltYm9sIG5hbWUgdG8KLSsgICBiZSB0ZXJtaW5hdGVkIGF0IHRoYXQgcG9pbnQu ICBQYXJ0aWFsIHN5bWJvbCB0YWJsZXMgZG8gbm90IGhhdmUgcGFyYW1ldGVycwotKyAgIGluZm9y bWF0aW9uLiAgKi8KLSsKLStzdGF0aWMgaW50Ci0rY29tcGFyZV9zeW1ib2xfbmFtZSAoY29uc3Qg Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3ltX3RleHQsIGludCBzeW1fdGV4dF9sZW4pCi0rewot KyAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOwotKwot KyAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNhc2Vfc2Vuc2l0aXZlX29uID8gc3RybmNt cCA6IHN0cm5jYXNlY21wKTsKLSsKLSsgIGlmIChuY21wIChuYW1lLCBzeW1fdGV4dCwgc3ltX3Rl eHRfbGVuKSAhPSAwKQotKyAgICByZXR1cm4gMDsKLSsKLSsgIGlmIChzeW1fdGV4dFtzeW1fdGV4 dF9sZW5dID09ICcoJykKLSsgICAgewotKyAgICAgIC8qIFVzZXIgc2VhcmNoZXMgZm9yIGBuYW1l KHNvbWV0aC4uLicuICBSZXF1aXJlIE5BTUUgdG8gYmUgdGVybWluYXRlZC4KLSsJIE5vcm1hbGx5 IHBzeW10YWJzIGFuZCBnZGJpbmRleCBoYXZlIG5vIHBhcmFtZXRlciB0eXBlcyBzbyAnXDAnIHdp bGwgYmUKLSsJIHByZXNlbnQgYnV0IGFjY2VwdCBldmVuIHBhcmFtZXRlcnMgcHJlc2VuY2UuICBJ biB0aGlzIGNhc2UgdGhpcwotKwkgZnVuY3Rpb24gaXMgaW4gZmFjdCBzdHJjbXBfaXcgYnV0IHdo aXRlc3BhY2Ugc2tpcHBpbmcgaXMgbm90IHN1cHBvcnRlZAotKwkgZm9yIHRhYiBjb21wbGV0aW9u LiAgKi8KLSsKLSsgICAgICBpZiAobmFtZVtzeW1fdGV4dF9sZW5dICE9ICdcMCcgJiYgbmFtZVtz eW1fdGV4dF9sZW5dICE9ICcoJykKLSsJcmV0dXJuIDA7Ci0rICAgIH0KLSsKLSsgIHJldHVybiAx OwotK30KLSsKLSAvKiBIZWxwZXIgcm91dGluZSBmb3IgbWFrZV9zeW1ib2xfY29tcGxldGlvbl9s aXN0LiAgKi8KLSAKLSBzdGF0aWMgaW50IHJldHVybl92YWxfc2l6ZTsKLUBAIC0zNTA4LDE2ICsz NTQyLDEwIEBAIGNvbXBsZXRpb25fbGlzdF9hZGRfbmFtZSAoY2hhciAqc3ltbmFtZSwgY2hhciAq c3ltX3RleHQsIGludCBzeW1fdGV4dF9sZW4sCi0gCQkJICBjaGFyICp0ZXh0LCBjaGFyICp3b3Jk KQotIHsKLSAgIGludCBuZXdzaXplOwotLSAgaW50ICgqbmNtcCkgKGNvbnN0IGNoYXIgKiwgY29u c3QgY2hhciAqLCBzaXplX3QpOwotLQotLSAgbmNtcCA9IChjYXNlX3NlbnNpdGl2aXR5ID09IGNh c2Vfc2Vuc2l0aXZlX29uID8gc3RybmNtcCA6IHN0cm5jYXNlY21wKTsKLSAKLSAgIC8qIENsaXAg c3ltYm9scyB0aGF0IGNhbm5vdCBtYXRjaC4gICovCi0tCi0tICBpZiAobmNtcCAoc3ltbmFtZSwg c3ltX3RleHQsIHN5bV90ZXh0X2xlbikgIT0gMCkKLS0gICAgewotLSAgICAgIHJldHVybjsKLS0g ICAgfQotKyAgaWYgKCFjb21wYXJlX3N5bWJvbF9uYW1lIChzeW1uYW1lLCBzeW1fdGV4dCwgc3lt X3RleHRfbGVuKSkKLSsgICAgcmV0dXJuOwotIAotICAgLyogV2UgaGF2ZSBhIG1hdGNoIGZvciBh IGNvbXBsZXRpb24sIHNvIGFkZCBTWU1OQU1FIHRvIHRoZSBjdXJyZW50IGxpc3QKLSAgICAgIG9m IG1hdGNoZXMuICBOb3RlIHRoYXQgdGhlIG5hbWUgaXMgbW92ZWQgdG8gZnJlc2hseSBtYWxsb2Mn ZCBzcGFjZS4gICovCi1AQCAtMzcwNywxMSArMzczNSw4IEBAIHN0YXRpYyBpbnQKLSBleHBhbmRf cGFydGlhbF9zeW1ib2xfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqdXNlcl9kYXRhKQot IHsKLSAgIHN0cnVjdCBhZGRfbmFtZV9kYXRhICpkYXR1bSA9IChzdHJ1Y3QgYWRkX25hbWVfZGF0 YSAqKSB1c2VyX2RhdGE7Ci0tICBpbnQgKCpuY21wKSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFy ICosIHNpemVfdCk7Ci0tCi0tICBuY21wID0gKGNhc2Vfc2Vuc2l0aXZpdHkgPT0gY2FzZV9zZW5z aXRpdmVfb24gPyBzdHJuY21wIDogc3RybmNhc2VjbXApOwotIAotLSAgcmV0dXJuIG5jbXAgKG5h bWUsIGRhdHVtLT5zeW1fdGV4dCwgZGF0dW0tPnN5bV90ZXh0X2xlbikgPT0gMDsKLSsgIHJldHVy biBjb21wYXJlX3N5bWJvbF9uYW1lIChuYW1lLCBkYXR1bS0+c3ltX3RleHQsIGRhdHVtLT5zeW1f dGV4dF9sZW4pOwotIH0KLSAKLSBjaGFyICoqCi1AQCAtMzc5MCw2ICszODE1LDIyIEBAIGRlZmF1 bHRfbWFrZV9zeW1ib2xfY29tcGxldGlvbl9saXN0X2JyZWFrX29uIChjaGFyICp0ZXh0LCBjaGFy ICp3b3JkLAotIAotICAgc3ltX3RleHRfbGVuID0gc3RybGVuIChzeW1fdGV4dCk7Ci0gCi0rICAv KiBQcmVwYXJlIFNZTV9URVhUX0xFTiBmb3IgY29tcGFyZV9zeW1ib2xfbmFtZS4gICovCi0rCi0r ICBpZiAoY3VycmVudF9sYW5ndWFnZS0+bGFfbGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfY3BsdXMKLSsg ICAgICB8fCBjdXJyZW50X2xhbmd1YWdlLT5sYV9sYW5ndWFnZSA9PSBsYW5ndWFnZV9qYXZhCi0r ICAgICAgfHwgY3VycmVudF9sYW5ndWFnZS0+bGFfbGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfZm9ydHJh bikKLSsgICAgewotKyAgICAgIC8qIFRoZXNlIGxhbmd1YWdlcyBtYXkgaGF2ZSBwYXJhbWV0ZXJz IGVudGVyZWQgYnkgdXNlciBidXQgdGhleSBhcmUgbmV2ZXIKLSsJIHByZXNlbnQgaW4gdGhlIHBh cnRpYWwgc3ltYm9sIHRhYmxlcy4gICovCi0rCi0rICAgICAgY29uc3QgY2hhciAqY3MgPSBtZW1j aHIgKHN5bV90ZXh0LCAnKCcsIHN5bV90ZXh0X2xlbik7Ci0rCi0rICAgICAgaWYgKGNzKQotKwlz eW1fdGV4dF9sZW4gPSBjcyAtIHN5bV90ZXh0OwotKyAgICB9Ci0rICBnZGJfYXNzZXJ0IChzeW1f dGV4dFtzeW1fdGV4dF9sZW5dID09ICdcMCcgfHwgc3ltX3RleHRbc3ltX3RleHRfbGVuXSA9PSAn KCcpOwotKwotICAgcmV0dXJuX3ZhbF9zaXplID0gMTAwOwotICAgcmV0dXJuX3ZhbF9pbmRleCA9 IDA7Ci0gICByZXR1cm5fdmFsID0gKGNoYXIgKiopIHhtYWxsb2MgKChyZXR1cm5fdmFsX3NpemUg KyAxKSAqIHNpemVvZiAoY2hhciAqKSk7Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5jcC9wc3ltdGFiLXBhcmFtZXRlci5jYwotQEAgLTAsMCArMSwyMiBAQAotKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCi0rCi0rICAgQ29w eXJpZ2h0IDIwMDksIDIwMTAsIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0r Ci0rICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rICAgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotKwotKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0rICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rICAgKi8KLSsKLSt0eXBl ZGVmIGludCB0eXBlZGVmZWQ7Ci0rdm9pZCBmdW5jICh0eXBlZGVmZWQgcGFyYW0pCi0rewotK30K LS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3BzeW10YWItcGFyYW1l dGVyLmV4cAotQEAgLTAsMCArMSwzOSBAQAotKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsj IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwot K2lmIHsgW3NraXBfY3BsdXNfdGVzdHNdIH0geyBjb250aW51ZSB9Ci0rCi0rCi0rc2V0IHRlc3Rm aWxlIHBzeW10YWItcGFyYW1ldGVyCi0rc2V0IGV4ZWN1dGFibGUgJHt0ZXN0ZmlsZX0ueAotK3Nl dCBzcmNmaWxlICR7dGVzdGZpbGV9LmNjCi0rc2V0IGJpbmZpbGUgJHtvYmpkaXJ9LyR7c3ViZGly fS8ke2V4ZWN1dGFibGV9Ci0rCi0raWYgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRp cn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIG9iamVjdCB7ZGVidWcgYysrfV0gIT0gIiIgfSB7 Ci0rICAgIHVudGVzdGVkICR7dGVzdGZpbGV9LmV4cAotKyAgICByZXR1cm4gLTEKLSt9Ci0rCi0r Y2xlYW5fcmVzdGFydCAkZXhlY3V0YWJsZQotKwotKyMgQXMgYG1haW4nIGlzIG5vdCBwcmVzZW50 IEdEQiBmYWlscyB0byBmaW5kIHRoZSBwcm9wZXIgaW5mZXJpb3IgbGFuZ3VhZ2UuCi0rZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJzZXQgbGFuZ3VhZ2UgYysrIgotKwotKyMgVGhlIGdvYWwgaXMgdG8ga2Vl cCB0aGUgQ1UgKENvbXBpbGF0aW9uIFVuaXQpIHVuZXhwYW5kZWQuICBJdCB3b3VsZCBiZSByYXRo ZXIKLSsjIFhGQUlMIHRoYW4gRkFJTCBoZXJlLiAgRm9yIGV4YW1wbGUgLXJlYWRub3cgYnJlYWtz IGl0LgotK2dkYl90ZXN0X25vX291dHB1dCAibWFpbnRlbmFuY2UgaW5mbyBzeW10YWJzIgotKwot KyMgR0RCIGhhcyBzaG93biBvbmx5IHRoZSBgZnVuYyhpbnQpJyBlbnRyeSBiZWZvcmUuCi0rZ2Ri X3Rlc3QgImNvbXBsZXRlIGJyZWFrICdmdW5jKCIgImJyZWFrICdmdW5jXFwoaW50XFwpXHJcbmJy ZWFrICdmdW5jXFwodHlwZWRlZmVkXFwpIgotCgpkaWZmIC0tZ2l0IGEvZ2RiLXN0YXAtZG91Ymxl LWZyZWUucGF0Y2ggYi9nZGItc3RhcC1kb3VibGUtZnJlZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi4yYzdmYzQwCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXN0YXAt ZG91YmxlLWZyZWUucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorLS0tIGEvZ2RiL3N0YXAtcHJvYmUu YworKysrIGIvZ2RiL3N0YXAtcHJvYmUuYworQEAgLTM1NSw5ICszNTUsNyBAQCBzdGFwX2ZyZWVf YXJnc19pbmZvICh2b2lkICphcmdzX2luZm9fcHRyKQorICAgaW50IGk7CisgCisgICBmb3IgKGkg PSAwOyBpIDwgYS0+bl9hcmdzOyBpKyspCistICAgIHsKKy0gICAgICB4ZnJlZSAoYS0+YXJnW2ld LmFyZ19zdHIpOworLSAgICB9CisrICAgIHhmcmVlIChhLT5hcmdbaV0uYXJnX3N0cik7CisgCisg ICB4ZnJlZSAoYS0+YXJnKTsKKyAgIHhmcmVlIChhKTsKK0BAIC00MDEsNiArMzk5LDcgQEAgc3Rh cF9wYXJzZV9wcm9iZV9hcmd1bWVudHMgKHN0cnVjdCBzdGFwX3Byb2JlICpwcm9iZSkKKyAgICAg cmV0dXJuOworIAorICAgYXJnc19pbmZvID0geG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qgc3RhcF9h cmdzX2luZm8pKTsKKysgIGFyZ3NfaW5mby0+bl9hcmdzID0gMDsKKyAgIGJhY2tfdG8gPSBtYWtl X2NsZWFudXAgKHN0YXBfZnJlZV9hcmdzX2luZm8sIGFyZ3NfaW5mbyk7CisgICBhcmdzX2luZm8t PmFyZyA9IHhjYWxsb2MgKFNUQVBfTUFYX0FSR1MsIHNpemVvZiAoc3RydWN0IHN0YXBfcHJvYmVf YXJnKSk7CisgCitAQCAtNDkzLDYgKzQ5Miw3IEBAIHN0YXBfcGFyc2VfcHJvYmVfYXJndW1lbnRz IChzdHJ1Y3Qgc3RhcF9wcm9iZSAqcHJvYmUpCisgCisgCSAgICAgIGFyZ3NfaW5mby0+YXJnW2N1 cnJlbnRfYXJnXS5hcmdfc3RyCisgCQk9IHNhdmVzdHJpbmcgKHN0YXJ0LCBjdXIgLSBzdGFydCk7 CisrCSAgICAgICsrYXJnc19pbmZvLT5uX2FyZ3M7CisgCSAgICAgIC8qIFN0YXJ0IGl0IG92ZXIg YWdhaW4uICAqLworIAkgICAgICBjdXIgPSBza2lwX3NwYWNlcyAoKGNoYXIgKikgY3VyKTsKKyAJ ICAgICAgY3VycmVudF9zdGF0ZSA9IE5FV19BUkc7CitAQCAtNTEzLDcgKzUxMyw2IEBAIHN0YXBf cGFyc2VfcHJvYmVfYXJndW1lbnRzIChzdHJ1Y3Qgc3RhcF9wcm9iZSAqcHJvYmUpCisgCX0KKyAg ICAgfQorIAorLSAgYXJnc19pbmZvLT5uX2FyZ3MgPSBjdXJyZW50X2FyZyArIDE7CisgICBhcmdz X2luZm8tPmFyZyA9IHhyZWFsbG9jIChhcmdzX2luZm8tPmFyZywKKyAJCQkgICAgICBhcmdzX2lu Zm8tPm5fYXJncworIAkJCSAgICAgICogc2l6ZW9mIChzdHJ1Y3Qgc3RhcF9wcm9iZV9hcmcpKTsK K0BAIC0xNTI2LDggKzE1MjUsOSBAQCBzdGFwX2ZyZWVfcGFyc2VkX2FyZ3MgKHN0cnVjdCBzdGFw X2FyZ3NfaW5mbyAqcGFyc2VkX2FyZ3MpCisgICAgIHJldHVybjsKKyAKKyAgIGZvciAoaSA9IDA7 IGkgPCBwYXJzZWRfYXJncy0+bl9hcmdzOyBpKyspCistICAgIHhmcmVlIChwYXJzZWRfYXJncy0+ YXJnKTsKKysgICAgeGZyZWUgKHBhcnNlZF9hcmdzLT5hcmdbaV0uYXJnX3N0cik7CisgCisrICB4 ZnJlZSAocGFyc2VkX2FyZ3MtPmFyZyk7CisgICB4ZnJlZSAocGFyc2VkX2FyZ3MpOworIH0KKyAK K0BAIC0xODU5LDcgKzE4NTksNyBAQCBwYXJzZV9zdGFwX3Byb2JlIChjaGFyICoqYXJncHRyLCBz dHJ1Y3QgbGluZXNwZWNfcmVzdWx0ICpjYW5vbmljYWwpCisgCWlmIChjYW5vbmljYWwpCisgCSAg eworIAkgICAgY2Fub25pY2FsLT5jYW5vbmljYWwgPSB4cmVhbGxvYyAoY2Fub25pY2FsLT5jYW5v bmljYWwsCistCQkJCQkgICAgIHJlc3VsdC5uZWx0cyAqIHNpemVvZiAoY2hhciAqKikpOworKwkJ CQkJICAgICByZXN1bHQubmVsdHMgKiBzaXplb2YgKGNoYXIgKikpOworIAkgICAgY2Fub25pY2Fs LT5jYW5vbmljYWxbcmVzdWx0Lm5lbHRzIC0gMV0gPSB4c3RyZHVwIChmdWxsX2FyZyk7CisgCSAg fQorICAgICAgIH0KCmRpZmYgLS1naXQgYS9nZGItdXBzdHJlYW0ucGF0Y2ggYi9nZGItdXBzdHJl YW0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkN2E5NWYuLjAwMDAwMDAK LS0tIGEvZ2RiLXVwc3RyZWFtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM5ICswLDAgQEAK LUZpeCBQeXRob24gYWNjZXNzIHRvIGlubGluZWQgZnJhbWVzIChCWiA2OTQ4MjQpLgotaHR0cDov L3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxMS0wNC9tc2cwMDE4OS5odG1sCi0KLSMjIyBz cmMvZ2RiL0NoYW5nZUxvZwkyMDExLzA0LzI3IDAzOjUyOjIwCTEuMTI4ODcuMi4xNAotIyMjIHNy Yy9nZGIvQ2hhbmdlTG9nCTIwMTEvMDQvMjkgMDc6MzI6MzcJMS4xMjg4Ny4yLjE1Ci0jIyAtMSwz ICsxLDkgQEAKLSsyMDExLTA0LTI5ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+Ci0rCi0rCUZpeCBQeXRob24gYWNjZXNzIHRvIGlubGluZWQgZnJhbWVzLgotKwkq IHB5dGhvbi9weS1mcmFtZS5jIChmcmFweV9yZWFkX3Zhcik6IEZpbmQgQkxPQ0sgdXNpbmcgZ2V0 X2ZyYW1lX2Jsb2NrLgotKwkqIHB5dGhvbi9weS1zeW1ib2wuYyAoZ2RicHlfbG9va3VwX3N5bWJv bCk6IExpa2V3aXNlLgotKwotIDIwMTEtMDQtMjYgIE1pY2hhZWwgV2FsbGUgIDxtaWNoYWVsQHdh bGxlLmNjPgotIAotIAkqIHJlbW90ZS5jIChyZW1vdGVfc3RhcnRfcmVtb3RlKTogQWNrIHBhY2tl dCBhZnRlciBzZW5kaW5nIHRoZQotLS0tIHNyYy9nZGIvcHl0aG9uL3B5LWZyYW1lLmMJMjAxMS8w MS8yNiAyMDo1Mzo0NQkxLjE1Ci0rKysgc3JjL2dkYi9weXRob24vcHktZnJhbWUuYwkyMDExLzA0 LzI5IDA3OjMyOjQwCTEuMTUuMi4xCi1AQCAtNDM2LDcgKzQzNiw3IEBACi0gCSAgRlJBUFlfUkVR VUlSRV9WQUxJRCAoKGZyYW1lX29iamVjdCAqKSBzZWxmLCBmcmFtZSk7Ci0gCi0gCSAgaWYgKCFi bG9jaykKLS0JICAgIGJsb2NrID0gYmxvY2tfZm9yX3BjIChnZXRfZnJhbWVfYWRkcmVzc19pbl9i bG9jayAoZnJhbWUpKTsKLSsJICAgIGJsb2NrID0gZ2V0X2ZyYW1lX2Jsb2NrIChmcmFtZSwgTlVM TCk7Ci0gCSAgdmFyID0gbG9va3VwX3N5bWJvbCAodmFyX25hbWUsIGJsb2NrLCBWQVJfRE9NQUlO LCBOVUxMKTsKLSAJfQotICAgICAgIEdEQl9QWV9IQU5ETEVfRVhDRVBUSU9OIChleGNlcHQpOwot LS0tIHNyYy9nZGIvcHl0aG9uL3B5LXN5bWJvbC5jCTIwMTEvMDMvMTcgMDk6MzY6MTYJMS42Ci0r Kysgc3JjL2dkYi9weXRob24vcHktc3ltYm9sLmMJMjAxMS8wNC8yOSAwNzozMjo0MAkxLjYuMi4x Ci1AQCAtMjc1LDggKzI3NSw4IEBACi0gCi0gICAgICAgVFJZX0NBVENIIChleGNlcHQsIFJFVFVS Tl9NQVNLX0FMTCkKLSAJewotLQkgIHNlbGVjdGVkX2ZyYW1lICA9IGdldF9zZWxlY3RlZF9mcmFt ZSAoXygiTm8gZnJhbWUgc2VsZWN0ZWQuIikpOwotLQkgIGJsb2NrID0gYmxvY2tfZm9yX3BjIChn ZXRfZnJhbWVfYWRkcmVzc19pbl9ibG9jayAoc2VsZWN0ZWRfZnJhbWUpKTsKLSsJICBzZWxlY3Rl ZF9mcmFtZSA9IGdldF9zZWxlY3RlZF9mcmFtZSAoXygiTm8gZnJhbWUgc2VsZWN0ZWQuIikpOwot KwkgIGJsb2NrID0gZ2V0X2ZyYW1lX2Jsb2NrIChzZWxlY3RlZF9mcmFtZSwgTlVMTCk7Ci0gCX0K LSAgICAgICBHREJfUFlfSEFORExFX0VYQ0VQVElPTiAoZXhjZXB0KTsKLSAgICAgfQotIyMjIHNy Yy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDExLzA0LzI1IDIxOjI1OjE4CTEuMjY1NS4yLjQK LSMjIyBzcmMvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cJMjAxMS8wNC8yOSAwNzozMjo0MAkxLjI2 NTUuMi41Ci0jIyAtMSwzICsxLDkgQEAKLSsyMDExLTA0LTI5ICBKYW4gS3JhdG9jaHZpbCAgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0rCi0rCUZpeCBQeXRob24gYWNjZXNzIHRvIGlubGlu ZWQgZnJhbWVzLgotKwkqIGdkYi5weXRob24vcHktZnJhbWUtaW5saW5lLmM6IE5ldyBmaWxlLgot KwkqIGdkYi5weXRob24vcHktZnJhbWUtaW5saW5lLmV4cDogTmV3IGZpbGUuCi0rCi0gMjAxMS0w NC0yNSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotIAotIAkq IGdkYi5iYXNlL2dkYmluZGV4LXN0YWJzLWR3YXJmLmM6IE5ldyBmaWxlLgotLS0tIHNyYy9nZGIv dGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUtaW5saW5lLmMKLSsrKyBzcmMvZ2RiL3Rlc3Rz dWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5jCTIwMTEtMDQtMjkgMDc6MzM6NDUuOTEy NTUyMDAwICswMDAwCi1AQCAtMCwwICsxLDQzIEBACi0rLyogVGhpcyB0ZXN0IGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK LSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0r Ci0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KLSsKLSt2b2xhdGlsZSBpbnQgdiA9IDQyOwotKwotK19fYXR0cmlidXRlX18oKF9f YWx3YXlzX2lubGluZV9fKSkgc3RhdGljIGludAotK2YgKHZvaWQpCi0rewotKyAgLyogUHJvdmlk ZSBmaXJzdCBzdHViIGxpbmUgc28gdGhhdCBHREIgdW5kZXJzdGFuZCB0aGUgUEMgaXMgYWxyZWFk eSBpbnNpZGUKLSsgICAgIHRoZSBpbmxpbmVkIGZ1bmN0aW9uIGFuZCBkb2VzIG5vdCBleHBlY3Qg YSBzdGVwIGludG8gaXQuICAqLwotKyAgdisrOwotKyAgdisrOwkJLyogYnJlYWstaGVyZSAqLwot KwotKyAgcmV0dXJuIHY7Ci0rfQotKwotK19fYXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpIHN0 YXRpYyBpbnQKLStnICh2b2lkKQotK3sKLSsgIHZvbGF0aWxlIGludCBsID0gdjsKLSsKLSsgIHJl dHVybiBmICgpOwotK30KLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIHJldHVybiBnICgp OwotK30KLS0tLSBzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5l eHAKLSsrKyBzcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLWlubGluZS5leHAJ MjAxMS0wNC0yOSAwNzozMzo0Ni42NDk4MTcwMDAgKzAwMDAKLUBAIC0wLDAgKzEsMzkgQEAKLSsj IENvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0r IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rbG9hZF9saWIgZ2RiLXB5dGhvbi5leHAK LSsKLStzZXQgdGVzdGZpbGUgInB5LWZyYW1lLWlubGluZSIKLStzZXQgc3JjZmlsZSAke3Rlc3Rm aWxlfS5jCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0ZXN0 ZmlsZX0gJHtzcmNmaWxlfV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIFNraXAgYWxs IHRlc3RzIGlmIFB5dGhvbiBzY3JpcHRpbmcgaXMgbm90IGVuYWJsZWQuCi0raWYgeyBbc2tpcF9w eXRob25fdGVzdHNdIH0geyBjb250aW51ZSB9Ci0rCi0raWYgIVtydW50byBtYWluXSB0aGVuIHsK LSsgICAgZmFpbCAiQ2FuJ3QgcnVuIHRvIGZ1bmN0aW9uIGYiCi0rICAgIHJldHVybiAwCi0rfQot KwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJicmVhay1oZXJlIl0KLStn ZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiQmxvY2sgYnJlYWsgaGVyZS4iCi0rCi0rZ2RiX3Rl c3QgImluZm8gZnJhbWUiICJpbmxpbmVkIGludG8gZnJhbWUgMVxyXG4uKiIKLSsKLStnZGJfdGVz dCAidXAiICIjMSAgZyAuKiIKLSsKLStnZGJfdGVzdCAicHl0aG9uIHByaW50IGdkYi5zZWxlY3Rl ZF9mcmFtZSgpLnJlYWRfdmFyKCdsJykiICJcclxuNDIiCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMg Yi9nZGIuc3BlYwppbmRleCAzOGI0YmZhLi5mY2E5MzQzIDEwMDY0NAotLS0gYS9nZGIuc3BlYwor KysgYi9nZGIuc3BlYwpAQCAtMjMsMTEgKzIzLDExIEBAIE5hbWU6IGdkYiV7P193aXRoX2RlYnVn Oi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8gY29udGVudHMgb2YgZ2RiL3ZlcnNpb24uaW4uCiAj IE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25zIGFyZSBudW1iZXJlZCBOLk0gZm9yIG9mZmljaWFs IHJlbGVhc2VzLCBsaWtlIDYuMwogIyBhbmQsIHNpbmNlIEphbnVhcnkgMjAwNSwgWC5ZLlouZGF0 ZSBmb3IgZGFpbHkgc25hcHNob3RzLCBsaWtlIDYuMy41MC4yMDA1MDExMiAjIChkYWlseSBzbmFw c2hvdCBmcm9tIG1haWxpbmUpLCBvciA2LjMuMC4yMDA0MDExMiAoaGVhZCBvZiB0aGUgcmVsZWFz ZSBicmFuY2gpLgotVmVyc2lvbjogNy4yLjkwLjIwMTEwNDI5CitWZXJzaW9uOiA3LjIuOTAuMjAx MTA1MjUKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVk IG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBu YW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRl c3RpbmcuCi1SZWxlYXNlOiAzNyV7P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQor UmVsZWFzZTogMzglez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KIAogTGljZW5z ZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYy KyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGlj IERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtMjYwLDcgKzI2MCw3IEBA IFBhdGNoMjMxOiBnZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1wdGhyZWFkLXRlc3QucGF0Y2gK IAogIyBCYWNrcG9ydGVkIGZpeHVwcyBwb3N0IHRoZSBzb3VyY2UgdGFyYmFsbC4KICNYZHJvcDog SnVzdCBiYWNrcG9ydHMuCi1QYXRjaDIzMjogZ2RiLXVwc3RyZWFtLnBhdGNoCisjUGF0Y2gyMzI6 IGdkYi11cHN0cmVhbS5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciBQUEMgUG93ZXI2L0RGUCBpbnN0 cnVjdGlvbnMgZGlzYXNzZW1ibHkgKEJaIDIzMDAwMCkuCiAjPWZlZG9yYXRlc3QrcHBjCkBAIC01 NTcsMTkgKzU1NywxNSBAQCBQYXRjaDU4MDogZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUt MW9mNS5wYXRjaAogUGF0Y2g1ODE6IGdkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTJvZjUu cGF0Y2gKIFBhdGNoNTgyOiBnZGItYno2NDU3NzMtY2FzZS1pbnNlbnNpdGl2ZS0zb2Y1LnBhdGNo CiBQYXRjaDU4MzogZ2RiLWJ6NjQ1NzczLWNhc2UtaW5zZW5zaXRpdmUtNG9mNS5wYXRjaAotUGF0 Y2g1ODg6IGdkYi1iejY0NTc3My1jYXNlLWluc2Vuc2l0aXZlLTVvZjUucGF0Y2gKLQotIyBGaXgg LU8yIC1nIGJyZWFrcG9pbnRzIGludGVybmFsIGVycm9yICsgcHJvbG9ndWUgc2tpcHBpbmcgKEJa IDYxMjI1MykuCi1QYXRjaDU4OTogZ2RiLW9wdGltLWctcHJvbG9ndWUtc2tpcC5wYXRjaAotCi0j IEZpeCBwaHlzbmFtZS1yZWxhdGVkIENVIGV4cGFuc2lvbiBpc3N1ZSBmb3IgQysrIChQUiAxMjcw OCkuCi1QYXRjaDU5MDogZ2RiLXBoeXNuYW1lLWV4cGFuZC1jb21wbGV0ZXIucGF0Y2gKIAogIyBC dW5kbGUgcmVhZGxpbmUtNi4yIHdpdGggYSB3b3JrYXJvdW5kIG9mIHNraXBwZWQgImFzayIgKEJa IDcwMTEzMSkuCiBQYXRjaDU5MTogZ2RiLWJ6NzAxMTMxLXJlYWRsaW5lNjItMW9mMy5wYXRjaAog UGF0Y2g1OTI6IGdkYi1iejcwMTEzMS1yZWFkbGluZTYyLTJvZjMucGF0Y2gKIFBhdGNoNTkzOiBn ZGItYno3MDExMzEtcmVhZGxpbmU2Mi0zb2YzLnBhdGNoCiAKKyMgW3N0YXBdIEZpeCBkb3VibGUg ZnJlZS4KK1BhdGNoNTk0OiBnZGItc3RhcC1kb3VibGUtZnJlZS5wYXRjaAorCiBCdWlsZFJlcXVp cmVzOiBuY3Vyc2VzLWRldmVsJXs/X2lzYX0gdGV4aW5mbyBnZXR0ZXh0IGZsZXggYmlzb24gZXhw YXQtZGV2ZWwlez9faXNhfQogIyAtLXdpdGhvdXQtc3lzdGVtLXJlYWRsaW5lCiAjIFJlcXVpcmVz OiByZWFkbGluZSV7P19pc2F9CkBAIC03MjcsNyArNzIzLDcgQEAgcm0gLWYgZ2RiL2p2LWV4cC5j IGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogCiAlaWYgMCV7IT9fd2l0 aF91cHN0cmVhbToxfQogCi0lcGF0Y2gyMzIgLXAxCisjcGF0Y2gyMzIgLXAxCiAlcGF0Y2gzNDkg LXAxCiAlcGF0Y2gxIC1wMQogJXBhdGNoMyAtcDEKQEAgLTg0MywxMiArODM5LDEwIEBAIHJtIC1m IGdkYi9qdi1leHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMKICVw YXRjaDU4MSAtcDEKICVwYXRjaDU4MiAtcDEKICVwYXRjaDU4MyAtcDEKLSVwYXRjaDU4OCAtcDEK LSVwYXRjaDU4OSAtcDEKLSVwYXRjaDU5MCAtcDEKICVwYXRjaDU5MSAtcDEKICVwYXRjaDU5MiAt cDEKICVwYXRjaDU5MyAtcDEKKyVwYXRjaDU5NCAtcDEKIAogJXBhdGNoMzkzIC1wMQogJXBhdGNo MzM1IC1wMQpAQCAtMTI3MSw2ICsxMjY1LDEwIEBAIGZpCiAle19pbmZvZGlyfS9nZGIuaW5mbyoK IAogJWNoYW5nZWxvZworKiBXZWQgTWF5IDI1IDIwMTEgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0 b2NodmlsQHJlZGhhdC5jb20+IC0gNy4yLjkwLjIwMTEwNTI1LTM4LmZjMTUKKy0gUmViYXNlIHRv IEZTRiBHREIgNy4yLjkwLjIwMTEwNTI1ICh3aGljaCBpcyBhIDcuMyBwcmUtcmVsZWFzZSkuCist IFtzdGFwXSBGaXggZG91YmxlIGZyZWUgKFNlcmdpbyBEdXJpZ2FuIEp1bmlvcikuCisKICogVHVl IE1heSAgMyAyMDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAt IDcuMi45MC4yMDExMDQyOS0zNy5mYzE1CiAtIFNlYXJjaCBhbHNvIGZvciAuPHNlcW5vPiBmaWxl cyBpbiAvdXNyL2xpYi9kZWJ1Zy8uYnVpbGQtaWQgKEJaIDY0MTM3NykuCiAKCmRpZmYgLS1naXQg YS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAxNGVjZmVhLi45OGYxYTA0IDEwMDY0NAotLS0gYS9z b3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSwyIEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNj NDg5OTBmZTYxOTU4ZCAgbGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLWU1ODVl NDg0MDAxZjVjZDY5ZTg3Y2JjZDBjOTljMWY3ICBnZGItNy4yLjkwLjIwMTEwNDI5LnRhci5iejIK K2I2MTI4ZWIwMzQxZGY1NmQ2NmYwYTM1NThlYmM5ODk5ICBnZGItNy4yLjkwLjIwMTEwNTI1LnRh ci5iejIK