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 pre-7.13 FSF GDB trunk. Date: Sat, 27 Jun 2026 23:58:10 GMT Message-ID: <178260469085.1.7289717273154233773.rpms-gdb-dbc649db159c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: dbc649db159c2c72d857c27a5706a0743eb11b70 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogZGJjNjQ5ZGIxNTljMmM3MmQ4NTdjMjdhNTcw NmEwNzQzZWIxMWI3MApBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxNy0wMy0wOVQyMzo1Mzo1OSswMTowMApTdGF0cyAgOiArMjE1 Ly0yMTUgaW4gNyBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3Jn L3JwbXMvZ2RiL2MvZGJjNjQ5ZGIxNTljMmM3MmQ4NTdjMjdhNTcwNmEwNzQzZWIxMWI3MD9icmFu Y2g9Z2RiLTE3LjItcmViYXNlLWY0NAoKTG9nOgpSZWJhc2UgdG8gcHJlLTcuMTMgRlNGIEdEQiB0 cnVuay4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggY2M2 YTY1OS4uMTdkM2YxZCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBA IC0xLDMgKzEsMyBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLTYuMy4xLTIwMTcwMjEyLnRh ci54egogL3YxLjUudGFyLmd6Ci0vZ2RiLTcuMTIuNTAuMjAxNzAyMjYudGFyLnh6CisvZ2RiLTcu MTIuNTAuMjAxNzAzMDkudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1mb2N1cy1jbWQtcHJl di10ZXN0LnBhdGNoIGIvZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCmluZGV4IGNh MjRlY2MuLjE5OWY5MDUgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5w YXRjaAorKysgYi9nZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKQEAgLTIsNyArMiw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zv Y3VzLWNtZC1wcmV2LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAogKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZm9jdXMtY21kLXByZXYuZXhwCTIwMTctMDMtMDIgMDk6Mzk6MTQuNTA4 NDYxMDg1ICswMTAwCi1AQCAtMCwwICsxLDQzIEBACitAQCAtMCwwICsxLDQwIEBACiArIyBDb3B5 cmlnaHQgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKICsjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CkBAIC0zMCw5ICszMCw2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAogKyMgY29tbWl0IGQ3ZTc0NzMxOGY0 ZDA0YWYwMzNmMTYzMjVmOWI2ZDc0ZjY3MDc5ZWMKICsjICAgICBFbGltaW5hdGUgbWFrZV9jbGVh bnVwX3VpX2ZpbGVfZGVsZXRlIC8gbWFrZSB1aV9maWxlIGEgY2xhc3MgaGllcmFyY2h5CiArCi0r Z2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgd2lkdGggODAiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJz ZXQgaGVpZ2h0IDQwIgotKwogK3NldCB0ZXN0ICJmb2N1cyBjbWQiCiArZ2RiX3Rlc3RfbXVsdGlw bGUgJHRlc3QgJHRlc3QgewogKyAgICAtcmUgIiRnZGJfcHJvbXB0ICQiIHsKCmRpZmYgLS1naXQg YS9nZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoIGIvZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaApp bmRleCAxZjQwYzY3Li5hNTc1YWE4IDEwMDY0NAotLS0gYS9nZGItcHBjLXBvd2VyNy10ZXN0LnBh dGNoCisrKyBiL2dkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKQEAgLTEsNSArMSw1IEBACiAtLS0g L2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3LmV4 cAorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cAogQEAg LTAsMCArMSwxODIgQEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgogKwpAQCAtMjQsNyArMjQsNyBAQAogKyAgICByZXR1cm4KICt9CiArCi0rc2V0IHRl c3RmaWxlICJwb3dlcnBjLXBvd2VyNyIKKytzZXQgdGVzdGZpbGUgInBvd2VycGMtcG93ZXI3cmgi CiArc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0ucwogK3NldCBvYmpmaWxlIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAke3Rlc3RmaWxlfS5vXQogKwpAQCAtMTg0LDcgKzE4NCw3IEBACiArZnVuY19jaGVj ayAweDE5OCAiZnJzcXJ0ZXMuIGYxNCxmMTUiCiArZnVuY19jaGVjayAweDE5YyAiaXNlbCAgICBy MixyMyxyNCwyOCIKIC0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gv cG93ZXJwYy1wb3dlcjcucworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBv d2VyN3JoLnMKIEBAIC0wLDAgKzEsMTA3IEBACiArCS50ZXh0CiArCS5nbG9ibAlmdW5jCgpkaWZm IC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKaW5kZXggMmVmZjg1OS4uZjBlNGZmMSAxMDA2NDQKLS0t IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQy NC1iaXRwb3MtMjNvZjI1LnBhdGNoCkBAIC0xMzcsMTAgKzEzNywxMCBAQCBDb250ZW50LVR5cGU6 IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAogQ29udGVudC1E aXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXRkZXAucGF0Y2gKIAotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hbHBoYS10ZGVwLmMKK0luZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwOS9nZGIvYWxwaGEtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAyMDcub3JpZy9nZGIvYWxwaGEtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDcw MTIxMTg3ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FscGhhLXRkZXAuYwky MDE3LTAyLTI2IDE5OjExOjQ4LjI2OTI0ODU0NiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcw MzA5Lm9yaWcvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjY5MTU0MTA0OSAr MDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbHBoYS10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNToxNC40MTQ1NzM5NDMgKzAxMDAKIEBAIC0zMDAsMTcgKzMwMCwxNyBAQAogIHsKICAg IGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsKQEAgLTE4MywxMSArMTgzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv YWxwaGEtdGRlcC5jCiAgCSAgICAgIG1lbWNweSAoYXJnX3JlZ19idWZmZXIgKyBvZmZzZXQsIGNv bnRlbnRzLCB0bGVuKTsKICAJICAgICAgb2Zmc2V0ICs9IHRsZW47CiAgCSAgICAgIGNvbnRlbnRz ICs9IHRsZW47Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXRkZXAuYwor SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbWQ2NC10ZGVwLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wMi0y NiAxOToxMTozMC40NzExMjExOTQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv YW1kNjQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTI6NTMuNjg1NzE2NjIzICswMTAwCi1AQCAtNzMw LDcgKzczMCw3IEBACistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYW1kNjQtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNjkzNTQxMDYyICswMTAwCisrKysgZ2RiLTcuMTIuNTAu MjAxNzAzMDkvZ2RiL2FtZDY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQxNTU3Mzk1MCAr MDEwMAorQEAgLTczNSw3ICs3MzUsNyBAQAogIAkJICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25z dCBnZGJfYnl0ZSAqd3JpdGVidWYpCiAgewogICAgZW51bSBhbWQ2NF9yZWdfY2xhc3MgdGhlY2xh c3NbMl07CkBAIC0xOTYsNyArMTk2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9hbWQ2NC10ZGVwLmMKICAgIHN0YXRpYyBpbnQgaW50ZWdlcl9yZWdudW1bXSA9IHsgQU1ENjRf UkFYX1JFR05VTSwgQU1ENjRfUkRYX1JFR05VTSB9OwogICAgc3RhdGljIGludCBzc2VfcmVnbnVt W10gPSB7IEFNRDY0X1hNTTBfUkVHTlVNLCBBTUQ2NF9YTU0xX1JFR05VTSB9OwogICAgaW50IGlu dGVnZXJfcmVnID0gMDsKLUBAIC04NDcsMTAgKzg0NywxMCBAQAorQEAgLTg1MiwxMCArODUyLDEw IEBACiAgICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAKICAgICAgICBpZiAocmVh ZGJ1ZikKQEAgLTIwOSw3ICsyMDksNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L2FtZDY0LXRkZXAuYwogIAkJCQkgd3JpdGVidWYgKyBpICogOCk7CiAgICAgIH0KICAKLUBAIC04 ODEsOCArODgxLDggQEAKK0BAIC04ODYsOCArODg2LDggQEAKICAgIH07CiAgICBzdHJ1Y3QgdmFs dWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAoc3RydWN0IHZhbHVlICosIG5hcmdzKTsKICAg IGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0yMjAsNyArMjIwLDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9hbWQ2NC10ZGVwLmMKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7 CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQgaTsKLUBAIC04OTQsNyArODk0LDcgQEAKK0BA IC04OTksNyArODk5LDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7 CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTIy OSw3ICsyMjksNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXRkZXAu YwogICAgICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwogICAgICAgIGludCBu ZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAgICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsK LUBAIC05NTgsNyArOTU4LDcgQEAKK0BAIC05NjMsNyArOTYzLDcgQEAKICAKICAJICAgICAgZ2Ri X2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAJICAgICAgbWVtc2V0IChidWYsIDAsIHNpemVvZiBi dWYpOwpAQCAtMjM4LDEwICsyMzgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9hbWQ2NC10ZGVwLmMKICAJICAgICAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHJlZ2NhY2hl LCByZWdudW0sIG9mZnNldCwgOCwgYnVmKTsKICAJICAgIH0KICAJfQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMzA5L2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTctMDItMjYg MTk6MTE6MzAuNDcyMTIxMjAyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2Ft ZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjcwMjQ4NTUzICswMTAwCist LS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNTowOS42OTM1NDEwNjIgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTY1NzM5NTcg KzAxMDAKIEBAIC0yODksNyArMjg5LDcgQEAKICAJCQkgICAgc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsCiAgCQkJICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25z dCBnZGJfYnl0ZSAqd3JpdGVidWYpCkBAIC0yNTEsMTEgKzI1MSwxMSBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQgcmVnbnVtID0g LTE7CiAgCiAgICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91Z2ggYSByZWdp c3Rlci4gIElmIGl0IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2Fy bS10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYXJtLXRkZXAuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2FybS10ZGVwLmMJMjAx Ny0wMi0yNiAxOToxMTozMC40NzcxMjEyMzcgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvYXJtLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3MzI0ODU3NSArMDEwMAotQEAg LTM0ODUsNyArMzQ4NSw3IEBACistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYXJt LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjY5ODU0MTA5NyArMDEwMAorKysrIGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi9hcm0tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDE5NTczOTc4 ICswMTAwCitAQCAtMzQ4Nyw3ICszNDg3LDcgQEAKICAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMg YXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBnZW5lcmljIEFB UENTIHN1cHBvcnQuICAqLwogIApAQCAtMjY0LDcgKzI2NCw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvYXJtLXRkZXAuYwogIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChz dHJ1Y3QgdHlwZSAqdCwKICAJCQkgICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNl X3R5cGUpCiAgewotQEAgLTM1NjgsNyArMzU2OCw3IEBACitAQCAtMzU3MCw3ICszNTcwLDcgQEAK ICAJICB9CiAgCWVsc2UKICAJICB7CkBAIC0yNzMsNyArMjczLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9hcm0tdGRlcC5jCiAgCSAgICB1bnNpZ25lZCB1bml0bGVuOwogIAog IAkgICAgY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9UQVJHRVRfVFlQ RSAodCksCi1AQCAtMzU5MSwxMiArMzU5MSwxMiBAQAorQEAgLTM1OTMsMTIgKzM1OTMsMTIgQEAK ICAKICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI4OCw3ICsyODgs NyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FybS10ZGVwLmMKICAKICAJICAg IGlmICghZmllbGRfaXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwgaSkpKQogIAkgICAgICBzdWJf Y291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBp KSwKLUBAIC0zNjIwLDEzICszNjIwLDE1IEBACitAQCAtMzYyMiwxMyArMzYyMiwxNSBAQAogIAog ICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0zMDcsNyArMzA3LDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hcm0tdGRlcC5jCiAgCSAgICBpZiAoc3Vi X2NvdW50ID09IC0xKQogIAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCA9IChjb3VudCA+ IHN1Yl9jb3VudCA/IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjYyLDcgKzM2NjQsNyBAQAor QEAgLTM2NjQsNyArMzY2Niw3IEBACiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBlbnVtIGFybV92 ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0zMTYsNyArMzE2LDcg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hcm0tdGRlcC5jCiAgICBpZiAoYyA8 PSAwIHx8IGMgPiA0KQogICAgICByZXR1cm4gMDsKICAgICpiYXNlX3R5cGUgPSBiOwotQEAgLTM3 NDMsNyArMzc0NSw3IEBACitAQCAtMzc0NSw3ICszNzQ3LDcgQEAKICAKICAgIGZvciAoYXJnbnVt ID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7CkBAIC0zMjUsMTAgKzMyNSwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FybS10ZGVwLmMKICAgICAgICBz dHJ1Y3QgdHlwZSAqYXJnX3R5cGU7CiAgICAgICAgc3RydWN0IHR5cGUgKnRhcmdldF90eXBlOwog ICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi9hdnItdGRlcC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2F2ci10 ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9hdnIt dGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDc5MTIxMjUyICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL2F2ci10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzMyNDg1NzUg KzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9hdnItdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MDkuNzAwNTQxMTExICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL2F2ci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTk1NzM5NzggKzAxMDAKIEBAIC0x MTkxLDEzICsxMTkxLDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTM2MSwxMCArMzYx LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYXZyLXRkZXAuYwogIAogICAg ICAgIC8qIENhbGN1bGF0ZSB0aGUgcG90ZW50aWFsIGxhc3QgcmVnaXN0ZXIgbmVlZGVkLgogICAg ICAgICAgIEUuZy4gRm9yIGxlbmd0aCAyLCByZWdpc3RlcnMgcmVnbnVtIGFuZCByZWdudW0tMSAo c2F5IDI1IGFuZCAyNCkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYmZpbi10ZGVw LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYmZpbi10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9iZmluLXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjMwLjQ3OTEyMTI1MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9iZmluLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3MzI0ODU3NSArMDEwMAorLS0tIGdk Yi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MDkuNzAwNTQxMTExICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2JmaW4tdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDIwNTczOTg1ICswMTAwCiBAQCAtNTAyLDcgKzUwMiw3 IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAo Z2RiYXJjaCk7CiAgICBpbnQgaTsKQEAgLTM4MywxMCArMzgzLDEwIEBAIEluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvYmZpbi10ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJf bGVuOwogICAgICAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlX2NvbnRlbnRzIChhcmdzW2ldKSwg Y29udGFpbmVyX2xlbik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2NyaXMtdGRl cC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2NyaXMtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0w Mi0yNiAxOToxMTozMC40ODAxMjEyNTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvY3Jpcy10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzQyNDg1ODIgKzAxMDAKKy0tLSBn ZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9jcmlzLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1 OjA5LjcwMjU0MTEyNSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9jcmlzLXRk ZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQyMTU3Mzk5MSArMDEwMAogQEAgLTY2MywxMyArNjYz LDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTQyMSwxMCArNDIxLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvY3Jpcy10ZGVwLmMKICAgICAgICAKICAgICAgICAv KiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRvIHdlIG5lZWQgZm9yIHRoaXMg YXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVuIC8gNCkgKyAobGVuICUgNCAh PSAwID8gMSA6IDApOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9oODMwMC10ZGVw LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvaDgzMDAtdGRlcC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvaDgzMDAtdGRlcC5jCTIwMTct MDItMjYgMTk6MTE6MzAuNDgxMTIxMjY2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2g4MzAwLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3NDI0ODU4MiArMDEwMAorLS0t IGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTAzLTA5IDIz OjM1OjA5LjcwMjU0MTEyNSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9oODMw MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjE1NzM5OTEgKzAxMDAKIEBAIC02MzcsNyAr NjM3LDcgQEAKICAJCSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0cnVjdF9h ZGRyKQogIHsKQEAgLTQ1NywxMCArNDU3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvaDgzMDAtdGRlcC5jCiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwg cGFkZGVkX2xlbjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9ocHBhLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dk Yi9ocHBhLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcv Z2RiL2hwcGEtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDgyMTIxMjczICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDgu Mjc1MjQ4NTg5ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaHBwYS10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDM1NDExMzIgKzAxMDAKKysrKyBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvaHBwYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjI1NzM5OTkg KzAxMDAKIEBAIC05ODgsNyArOTg4LDcgQEAKICAgICAgewogICAgICAgIHN0cnVjdCB2YWx1ZSAq YXJnID0gYXJnc1tpXTsKQEAgLTQ3OSwxMCArNDc5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvaHBwYS10ZGVwLmMKICAgIGludCByZWdudW0sIG9mZnNldDsKICAKICAgIGlm IChsZW4gPiAxNikKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvaTM4Ni1kYXJ3aW4t dGRlcC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2kzODYtZGFyd2luLXRkZXAu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2kzODYtZGFy d2luLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ4MzEyMTI4MCArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0 OC4yNzUyNDg1ODkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9pMzg2 LWRhcndpbi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDQ1NDExMzkgKzAxMDAKKysrKyBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTctMDMtMDkgMjM6 MzU6MTQuNDIyNTczOTk5ICswMTAwCiBAQCAtMTY3LDcgKzE2Nyw3IEBACiAgCiAgICBmb3IgKHdy aXRlX3Bhc3MgPSAwOyB3cml0ZV9wYXNzIDwgMjsgd3JpdGVfcGFzcysrKQpAQCAtNDkyLDIwICs0 OTIsMjAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LWRhcndpbi10ZGVw LmMKICAgICAgICBpbnQgbnVtX20xMjggPSAwOwogIAogICAgICAgIGlmIChzdHJ1Y3RfcmV0dXJu KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYworSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9pMzg2LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAu NDg2MTIxMzAyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5j CTIwMTctMDItMjYgMTk6MTE6NDguMjc3MjQ4NjAzICswMTAwCi1AQCAtMjY2MSw3ICsyNjYxLDcg QEAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDE3LTAz LTA5IDIzOjM1OjA5LjcwNzU0MTE2MCArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dk Yi9pMzg2LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjM3LjQ5NDczNDY4OCArMDEwMAorQEAgLTI2 ODIsNyArMjY4Miw3IEBACiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQgaTsKICAgIGludCB3 cml0ZV9wYXNzOwogLSAgaW50IGFyZ3Nfc3BhY2UgPSAwOwogKyAgTE9OR0VTVCBhcmdzX3NwYWNl ID0gMDsKICAKLSAgIC8qIERldGVybWluZSB0aGUgdG90YWwgc3BhY2UgcmVxdWlyZWQgZm9yIGFy Z3VtZW50cyBhbmQgc3RydWN0Ci0gICAgICByZXR1cm4gYWRkcmVzcyBpbiBhIGZpcnN0IHBhc3Mg KGFsbG93aW5nIGZvciAxNi1ieXRlLWFsaWduZWQKLUBAIC0yNjY5LDcgKzI2NjksNyBAQAorICAg LyogQk5EIHJlZ2lzdGVycyBjYW4gYmUgaW4gYXJiaXRyYXJ5IHZhbHVlcyBhdCB0aGUgbW9tZW50 IG9mIHRoZQorICAgICAgaW5mZXJpb3IgY2FsbC4gIFRoaXMgY2FuIGNhdXNlIGJvdW5kYXJ5IHZp b2xhdGlvbnMgdGhhdCBhcmUgbm90CitAQCAtMjY5Nyw3ICsyNjk3LDcgQEAKICAKICAgIGZvciAo d3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNzKyspCiAgICAgIHsKQEAg LTUxNCw3ICs1MTQsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRl cC5jCiAgCiAgICAgICAgaWYgKHN0cnVjdF9yZXR1cm4pCiAgCXsKLUBAIC0yNjg2LDcgKzI2ODYs NyBAQAorQEAgLTI3MTQsNyArMjcxNCw3IEBACiAgCiAgICAgICAgZm9yIChpID0gMDsgaSA8IG5h cmdzOyBpKyspCiAgCXsKQEAgLTUyMyw3ICs1MjMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgCSAgaWYgKHdyaXRlX3Bhc3MpCiAgCSAgICB7Ci1A QCAtMjg5Myw3ICsyODkzLDcgQEAKK0BAIC0yOTIxLDcgKzI5MjEsNyBAQAogIHsKICAgIHN0cnVj dCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSB0 eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01MzIsNyArNTMyLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYwogIAogICAgZ2RiX2Fzc2Vy dCAoY29kZSA9PSBUWVBFX0NPREVfU1RSVUNUCiAgICAgICAgICAgICAgICB8fCBjb2RlID09IFRZ UEVfQ09ERV9VTklPTgotQEAgLTM3MTUsNyArMzcxNSw3IEBACitAQCAtMzc0Myw3ICszNzQzLDcg QEAKICBpMzg2X2NvbnZlcnRfcmVnaXN0ZXJfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg CQkJIGludCByZWdudW0sIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKQEAgLTU0MSw3ICs1NDEsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICAvKiBW YWx1ZXMgbWF5IGJlIHNwcmVhZCBhY3Jvc3MgbXVsdGlwbGUgcmVnaXN0ZXJzLiAgTW9zdCBkZWJ1 Z2dpbmcKICAgICAgIGZvcm1hdHMgYXJlbid0IGV4cHJlc3NpdmUgZW5vdWdoIHRvIHNwZWNpZnkg dGhlIGxvY2F0aW9ucywgc28KLUBAIC0zNzQ4LDcgKzM3NDgsNyBAQAorQEAgLTM3NzYsNyArMzc3 Niw3IEBACiAgCQkJaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkKICB7CiAgICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7CkBAIC01NTAs NyArNTUwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYwog IAogICAgaWYgKGkzODZfZnBfcmVnbnVtX3AgKGdkYmFyY2gsIHJlZ251bSkpCiAgICAgIHJldHVy biBpMzg3X3JlZ2lzdGVyX3RvX3ZhbHVlIChmcmFtZSwgcmVnbnVtLCB0eXBlLCB0bywKLUBAIC0z Nzg0LDcgKzM3ODQsNyBAQAorQEAgLTM4MTIsNyArMzgxMiw3IEBACiAgaTM4Nl92YWx1ZV90b19y ZWdpc3RlciAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogIAkJCXN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqZnJvbSkKICB7CkBAIC01NTksMTAgKzU1OSwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICBp ZiAoaTM4Nl9mcF9yZWdudW1fcCAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSwgcmVnbnVtKSkKICAg ICAgewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pcTIwMDAtdGRlcC5jCitJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2lxMjAwMC10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDItMjYg MTk6MTE6MzAuNDg3MTIxMzA5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2lx MjAwMC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzcyNDg2MDMgKzAxMDAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MDkuNzA4NTQxMTY3ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2lxMjAwMC10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjU1NzQwMTkgKzAxMDAKIEBAIC02NTEsOCArNjUx LDkgQEAKICAgIGNvbnN0IGJmZF9ieXRlICp2YWw7CiAgICBiZmRfYnl0ZSBidWZbNF07CkBAIC01 NzUsMTAgKzU3NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2lxMjAwMC10 ZGVwLmMKICAgIC8qIFVzZWQgdG8gY29weSBzdHJ1Y3QgYXJndW1lbnRzIGludG8gdGhlIHN0YWNr LiAgKi8KICAgIENPUkVfQUREUiBzdHJ1Y3RfcHRyOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9tMzJyLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9t MzJyLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L20zMnItdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDg3MTIxMzA5ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL20zMnItdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjc4 MjQ4NjEwICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvbTMyci10ZGVw LmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDg1NDExNjcgKzAxMDAKKysrKyBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIvbTMyci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjU1NzQwMTkgKzAx MDAKIEBAIC02NzgsNyArNjc4LDcgQEAKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBnZGJfYnl0 ZSAqdmFsOwpAQCAtNTg4LDEwICs1ODgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9tMzJyLXRkZXAuYwogIAogICAgLyogRmlyc3QgZm9yY2Ugc3AgdG8gYSA0LWJ5dGUgYWxp Z25tZW50LiAgKi8KICAgIHNwID0gc3AgJiB+MzsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvbTY4ay10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTY4ay10 ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tNjhr LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ4ODEyMTMxNiArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9tNjhrLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3ODI0ODYx MCArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL202OGstdGRlcC5jCTIw MTctMDMtMDkgMjM6MzU6MDkuNzA5NTQxMTc0ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAz MDkvZ2RiL202OGstdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI1NTc0MDE5ICswMTAwCiBA QCAtMzc3LDcgKzM3Nyw3IEBACiAgewogICAgc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCA9IGdk YmFyY2hfdGRlcCAoZ2RiYXJjaCk7CkBAIC02MTQsMTAgKzYxNCwxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL202OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMg YmlnZ2VyIHRoYW4gNCBieXRlcyBhcmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdo dCBhbGlnbmVkLiAgKi8KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbTg4ay10ZGVw LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjMwLjQ4ODEyMTMxNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9tODhrLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3ODI0ODYxMCArMDEwMAorLS0tIGdk Yi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL204OGstdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MDkuNzA5NTQxMTc0ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL204OGstdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI2NTc0MDI2ICswMTAwCiBAQCAtMjUzLDEzICsyNTMs MTMgQEAKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNo IChyZWdjYWNoZSk7CkBAIC02NDUsMTAgKzY0NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL204OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW5fcmVnaXN0ZXJfcCAo dHlwZSkpCiAgCXsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbWVwLXRkZXAuYwor SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE3LTAyLTI2IDE5 OjExOjMwLjQ4OTEyMTMyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tZXAt dGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjc5MjQ4NjE4ICswMTAwCistLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDkub3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxMDU0 MTE4MSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MTQuNDI2NTc0MDI2ICswMTAwCiBAQCAtMjI2Miw3ICsyMjYyLDcgQEAKICAK ICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspCkBAIC02NTgsMTAgKzY1OCwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL21lcC10ZGVwLmMKICAKICAgICAgICBpZiAoYXJn X2xlbiA+IE1FUF9HUFJfU0laRSkKICAgICAgICAgIHsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3 MDIwNy9nZGIvbWlwcy10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbWlw cy10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9t aXBzLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ5MzEyMTM1MiArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9taXBzLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MTI0 ODYzMiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21pcHMtdGRlcC5j CTIwMTctMDMtMDkgMjM6MzU6MDkuNzE0NTQxMjA5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAx NzAzMDkvZ2RiL21pcHMtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI4NTc0MDQwICswMTAw CiBAQCAtNDc0LDcgKzQ3NCw3IEBACiAgbWlwc194ZmVyX3JlZ2lzdGVyIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCSAgICBpbnQgcmVnX251 bSwgaW50IGxlbmd0aCwKQEAgLTgwNywxMCArODA3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvbWlwcy10ZGVwLmMKICAKICAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAo YXJnKTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbW4xMDMwMC10ZGVwLmMK K0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbW4xMDMwMC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3 LTAyLTI2IDE5OjExOjMwLjQ5NDEyMTM1OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MTI0ODYzMiArMDEwMAor LS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MDkuNzE1NTQxMjE2ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L21uMTAzMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCiBAQCAt MTIxOSw3ICsxMjE5LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJj aF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGNvbnN0IGludCBwdXNoX3NpemUgPSByZWdpc3Rl cl9zaXplIChnZGJhcmNoLCBFX1BDX1JFR05VTSk7CkBAIC04MjAsMTAgKzgyMCwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL21uMTAzMDAtdGRlcC5jCiAgICBpbnQgc3RhY2tf b2Zmc2V0ID0gMDsKICAgIGludCBhcmdudW07CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tdC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41 MC4yMDE3MDMwOS9nZGIvbXQtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvbXQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDk1MTIxMzY2ICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL210LXRkZXAuYwkyMDE3LTAyLTI2IDE5 OjExOjQ4LjI4MTI0ODYzMiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2Ri L210LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxNjU0MTIyMyArMDEwMAorKysrIGdkYi03 LjEyLjUwLjIwMTcwMzA5L2dkYi9tdC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40Mjk1NzQw NDcgKzAxMDAKIEBAIC03ODgsOSArNzg4LDkgQEAKICAgIGdkYl9ieXRlIGJ1ZltNVF9NQVhfU1RS VUNUX1NJWkVdOwogICAgaW50IGFyZ3JlZyA9IE1UXzFTVF9BUkdSRUc7CkBAIC04MzYsMTAgKzgz NiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL210LXRkZXAuYwogICAgaW50 IGksIGo7CiAgCiAgICAvKiBGaXJzdCBoYW5kbGUgaG93ZXZlciBtYW55IGFyZ3Mgd2UgY2FuIGZp dCBpbnRvIE1UXzFTVF9BUkdSRUcgdGhydQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9wcGMtc3lzdi10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcHBjLXN5 c3YtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIv cHBjLXN5c3YtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDk2MTIxMzczICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3BwYy1zeXN2LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjEx OjQ4LjI4MjI0ODYzOSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3Bw Yy1zeXN2LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxNzU0MTIzMCArMDEwMAorKysrIGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTox NC40MzA1NzQwNTQgKzAxMDAKIEBAIC02Nyw3ICs2Nyw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4g Ynl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgb3BlbmNs X2FiaSA9IHBwY19zeXN2X3VzZV9vcGVuY2xfYWJpICh2YWx1ZV90eXBlIChmdW5jdGlvbikpOwpA QCAtODg0LDEwICs4ODQsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9wcGMt c3lzdi10ZGVwLmMKICAKICAgIC8qIEVuZm9yY2UgYWxpZ25tZW50IG9mIHN0YWNrIGxvY2F0aW9u LCBpZiByZXF1ZXN0ZWQuICAqLwogICAgaWYgKGFsaWduID4gdGRlcC0+d29yZHNpemUpCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3JsNzgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3JsNzgtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAu MjAxNzAyMDcub3JpZy9nZGIvcmw3OC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTozMC40OTYxMjEz NzMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcmw3OC10ZGVwLmMJMjAxNy0w Mi0yNiAxOToxMTo0OC4yODIyNDg2MzkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5v cmlnL2dkYi9ybDc4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxNzU0MTIzMCArMDEwMAor KysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ybDc4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1 OjE0LjQzMDU3NDA1NCArMDEwMAogQEAgLTEzNTIsOCArMTM1Miw4IEBACiAgICBmb3IgKGkgPSBu YXJncyAtIDE7IGkgPj0gMDsgaS0tKQogICAgICB7CkBAIC04OTksMTAgKzg5OSwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3JsNzgtdGRlcC5jCiAgCiAgICAgICAgc3AgLT0g Y29udGFpbmVyX2xlbjsKICAgICAgICB3cml0ZV9tZW1vcnkgKHJsNzhfbWFrZV9kYXRhX2FkZHJl c3MgKHNwKSwKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcnM2MDAwLWFpeC10ZGVw LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9yczYwMDAtYWl4LXRk ZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ5NzEyMTM4MCArMDEwMAotKysrIGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9yczYwMDAtYWl4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MjI0 ODYzOSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3JzNjAwMC1haXgt dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzE4NTQxMjM3ICswMTAwCisrKysgZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMw NTc0MDU0ICswMTAwCiBAQCAtMTg2LDkgKzE4Niw5IEBACiAgICBzdHJ1Y3QgZ2RiYXJjaF90ZGVw ICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRl X29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKQEAgLTkyNCwxMSArOTI0LDEx IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKICAK ICAgICAgICBpZiAoYXJnYnl0ZXMpCiAgCXsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvczM5MC1saW51eC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvczM5 MC1saW51eC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmln L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ5OTEyMTM5NSArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjQ4LjI4NDI0ODY1NCArMDEwMAotQEAgLTMxMjUsNyArMzEyNSw3IEBACistLS0g Z2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvczM5MC1saW51eC10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43MjA1NDEyNTAgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv czM5MC1saW51eC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzI1NzQwNjggKzAxMDAKK0BA IC0zMTI4LDcgKzMxMjgsNyBAQAogIC8qIERldGVybWluZSB3aGV0aGVyIE4gaXMgYSBwb3dlciBv ZiB0d28uICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTkzNyw3ICs5MzcsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCiAgewogICAgcmV0dXJuIG4g JiYgKChuICYgKG4gLSAxKSkgPT0gMCk7CiAgfQotQEAgLTMxODIsNyArMzE4Miw3IEBACitAQCAt MzE4NSw3ICszMTg1LDcgQEAKICAJCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlz X3VubmFtZWQpCiAgewogICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1 ZV90eXBlIChhcmcpKTsKQEAgLTk0NiwxMCArOTQ2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvczM5MC1saW51eC10ZGVwLmMKICAgIGludCB3cml0ZV9tb2RlID0gYXMtPnJl Z2NhY2hlICE9IE5VTEw7CiAgCiAgICBpZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQgKHR5cGUp KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zY29yZS10ZGVwLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc2NvcmUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6 MzAuNDk5MTIxMzk1ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Njb3JlLXRk ZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4NDI0ODY1NCArMDEwMAorLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyMTU0 MTI1OCArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zY29yZS10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNToxNC40MzI1NzQwNjggKzAxMDAKIEBAIC01MjUsNyArNTI1LDcgQEAKICAg IGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsKICAgIGludCBhcmdudW07CkBAIC05NTksMTAgKzk1OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Njb3JlLXRkZXAuYwogICAgQ09SRV9BRERSIHN0YWNrX29mZnNldCA9 IDA7CiAgICBDT1JFX0FERFIgYWRkciA9IDA7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3NoLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9zaC10ZGVw LmMJMjAxNy0wMi0yNiAxOToxMTozMC41MDAxMjE0MDIgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvc2gtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjg1MjQ4NjYxICswMTAw CistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvc2gtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MDkuNzIxNTQxMjU4ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3No LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzMzU3NDA3NSArMDEwMAogQEAgLTgxNCw3ICs4 MTQsNyBAQAogIHN0YXRpYyBpbnQKICBzaF91c2Vfc3RydWN0X2NvbnZlbnRpb24gKGludCByZW5l c2FzX2FiaSwgc3RydWN0IHR5cGUgKnR5cGUpCkBAIC0xMDAxLDEwICsxMDAxLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc2gtdGRlcC5jCiAgICBpbnQgcGFzc19vbl9zdGFj ayA9IDA7CiAgICBpbnQgbGFzdF9yZWdfYXJnID0gSU5UX01BWDsKICAKLUluZGV4OiBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvc2g2NC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvc2g2NC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5v cmlnL2dkYi9zaDY0LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjUwMTEyMTQwOSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zaDY0LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjEx OjQ4LjI4NTI0ODY2MSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3No NjQtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIyNTQxMjY0ICswMTAwCisrKysgZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3NoNjQtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM0NTc0 MDgyICswMTAwCiBAQCAtMTA2Miw3ICsxMDYyLDcgQEAKICAJCSAgICAgIENPUkVfQUREUiBzdHJ1 Y3RfYWRkcikKICB7CkBAIC0xMDIzLDEwICsxMDIzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvc2g2NC10ZGVwLmMKICAgIGludCBhcmdyZWdfc2l6ZTsKICAgIGludCBmcF9h cmdzWzEyXTsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3BhcmMtdGRlcC5j CitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjLXRkZXAuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NwYXJjLXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjMwLjUwMjEyMTQxNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9zcGFyYy10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODYyNDg2NjggKzAxMDAKKy0tLSBn ZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9zcGFyYy10ZGVwLmMJMjAxNy0wMy0wOSAyMzoz NTowOS43MjM1NDEyNzEgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmMt dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM0NTc0MDgyICswMTAwCiBAQCAtNTY2LDcgKzU2 Niw3IEBACiAgICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMTAzNiwx MCArMTAzNiwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwYXJjLXRkZXAu YwogIAogICAgICAgIGlmIChzcGFyY19zdHJ1Y3R1cmVfb3JfdW5pb25fcCAodHlwZSkKICAJICB8 fCAoc3BhcmNfZmxvYXRpbmdfcCAodHlwZSkgJiYgbGVuID09IDE2KQotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9zcGFyYzY0LXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA5L2dkYi9zcGFyYzY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjA3Lm9yaWcvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTAzMTIxNDIz ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTct MDItMjYgMTk6MTE6NDguMjg2MjQ4NjY4ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDku b3JpZy9nZGIvc3BhcmM2NC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjQ1NDEyNzggKzAx MDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNToxNC40MzU1NzQwODkgKzAxMDAKIEBAIC02NzAsNyArNjcwLDggQEAKICAKICBzdGF0 aWMgdm9pZApAQCAtMTA5NSwxMCArMTA5NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3NwYXJjNjQtdGRlcC5jCiAgICAgICAgaW50IHJlZ251bSA9IC0xOwogICAgICAgIGdk Yl9ieXRlIGJ1ZlsxNl07CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwdS10 ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NwdS10ZGVwLmMJMjAxNy0w Mi0yNiAxOToxMTozMC41MDMxMjE0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvc3B1LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4NzI0ODY3NSArMDEwMAorLS0tIGdk Yi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3NwdS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTow OS43MjU1NDEyODUgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAu YwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzNTU3NDA4OSArMDEwMAogQEAgLTE0MzAsNyArMTQzMCw3 IEBACiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwogICAgICAgIHN0cnVjdCB0 eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMTE3LDEw ICsxMTE3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3B1LXRkZXAuYwog IAkgIGludCBwcmVmZXJyZWRfc2xvdDsKICAJICAKICAJICBpZiAoc3B1X3NjYWxhcl92YWx1ZV9w ICh0eXBlKSkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGljNngtdGRlcC5jCitJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpYzZ4LXRkZXAuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE3LTAyLTI2 IDE5OjExOjMwLjUwNDEyMTQzMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 aWM2eC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODcyNDg2NzUgKzAxMDAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi90aWM2eC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTow OS43MjU1NDEyODUgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvdGljNngtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM2NTc0MDk2ICswMTAwCiBAQCAtODk5LDcgKzg5OSw3 IEBACiAgICBpbnQgYXJncmVnID0gMDsKICAgIGludCBhcmdudW07CkBAIC0xMTU4LDEwICsxMTU4 LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGljNngtdGRlcC5jCiAgCiAg CSAgYWRkciA9IHNwICsgc3RhY2tfb2Zmc2V0OwogIAkgIHdyaXRlX21lbW9yeSAoYWRkciwgdmFs LCBsZW4pOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90aWxlZ3gtdGRlcC5jCitJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTctMDIt MjYgMTk6MTE6MzAuNTA0MTIxNDMwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3RpbGVneC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODcyNDg2NzUgKzAxMDAKKy0tLSBn ZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTctMDMtMDkgMjM6 MzU6MDkuNzI2NTQxMjkyICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVn eC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzY1NzQwOTYgKzAxMDAKIEBAIC0yODksNyAr Mjg5LDcgQEAKICAgIENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7CiAgICBpbnQgYXJncmVnID0g VElMRUdYX1IwX1JFR05VTTsKQEAgLTExNzEsMTAgKzExNzEsMTAgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi90aWxlZ3gtdGRlcC5jCiAgICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUg Zm91cl96ZXJvX3dvcmRzWzE2XSA9IHsgMCB9OwogIAogICAgLyogSWYgc3RydWN0X3JldHVybiBp cyAxLCB0aGVuIHRoZSBzdHJ1Y3QgcmV0dXJuIGFkZHJlc3Mgd2lsbAotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi92ODUwLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi92ODUwLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9y aWcvZ2RiL3Y4NTAtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTA1MTIxNDM4ICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Y4NTAtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6 NDguMjg4MjQ4NjgyICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvdjg1 MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjY1NDEyOTIgKzAxMDAKKysrKyBnZGItNy4x Mi41MC4yMDE3MDMwOS9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzY1NzQw OTYgKzAxMDAKIEBAIC0xMDE5LDcgKzEwMTksNyBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ3JlZzsKQEAg LTExOTMsMTAgKzExOTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92ODUw LXRkZXAuYwogICAgICAgIGdkYl9ieXRlICp2YWw7CiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW3Y4 NTBfcmVnX3NpemVdOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92YXgtdGRl cC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTctMDIt MjYgMTk6MTE6MzAuNTA1MTIxNDM4ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3ZheC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODgyNDg2ODIgKzAxMDAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDku NzI3NTQxMjk5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVwLmMJ MjAxNy0wMy0wOSAyMzozNToxNC40Mzc1NzQxMDMgKzAxMDAKIEBAIC0xMTEsNyArMTExLDcgQEAK ICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hl KTsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChn ZGJhcmNoKTsKQEAgLTEyMTUsMTAgKzEyMTUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi92YXgtdGRlcC5jCiAgCiAgICAgICAgc3AgLT0gKGxlbiArIDMpICYgfjM7CiAgICAg ICAgY291bnQgKz0gKGxlbiArIDMpIC8gNDsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIveHN0b3JteTE2LXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94c3Rv cm15MTYtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9n ZGIveHN0b3JteTE2LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjUwNjEyMTQ0NSArMDEwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDItMjYg MTk6MTE6NDguMjg4MjQ4NjgyICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9n ZGIveHN0b3JteTE2LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyNzU0MTI5OSArMDEwMAor KysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MTQuNDM3NTc0MTAzICswMTAwCiBAQCAtMjMzLDggKzIzMyw5IEBACiAgICBlbnVtIGJm ZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBD T1JFX0FERFIgc3RhY2tfZGVzdCA9IHNwOwpAQCAtMTIzMSwxMCArMTIzMSwxMCBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3hzdG9ybXkxNi10ZGVwLmMKICAgIGNvbnN0IGdkYl9i eXRlICp2YWw7CiAgICBnZGJfYnl0ZSBidWZbeHN0b3JteTE2X3BjX3NpemVdOwogIAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi94dGVuc2EtdGRlcC5jCitJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDIwNy5vcmlnL2dkYi94dGVuc2EtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTA3 MTIxNDUyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3h0ZW5zYS10ZGVwLmMJ MjAxNy0wMi0yNiAxOToxMTo0OC4yODkyNDg2ODkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwOS5vcmlnL2dkYi94dGVuc2EtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI4NTQxMzA2 ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0w My0wOSAyMzozNToxNC40Mzg1NzQxMTAgKzAxMDAKIEBAIC0xNjM5LDggKzE2MzksNyBAQAogIAog ICAgICAgIGlmIChsZW4gPiAoY2FsbHNpemUgPiA4ID8gOCA6IDE2KSkKCmRpZmYgLS1naXQgYS9n ZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggYi9nZGItdmxhLWludGVsLWZv cnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKaW5kZXggMTQ3OGNhYi4uOWVlYmVmNiAxMDA2NDQKLS0t IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCisrKyBiL2dkYi12bGEt aW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaApAQCAtMjMsMjMgKzIzLDIzIEBAIGdpdCBk aWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEt c3RyaW5ncwogIGdkYi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2 IC0tCiAgMjAgZmlsZXMgY2hhbmdlZCwgODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMo LSkKIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9ORVdTCitJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL05FV1MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3 MDIwNy5vcmlnL2dkYi9ORVdTCTIwMTctMDItMDcgMjA6NTM6NDguODUxODg3MjYyICswMTAwCi0r KysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL05FV1MJMjAxNy0wMi0wNyAyMDo1Mzo1NC40Mzc5 Mjk2ODkgKzAxMDAKLUBAIC03Myw2ICs3Myw4IEBACi0gICBFcmFzZXMgYWxsIHRoZSBmbGFzaCBt ZW1vcnkgcmVnaW9ucyByZXBvcnRlZCBieSB0aGUgdGFyZ2V0LiAgVGhpcyBpcwotICAgZXF1aXZh bGVudCB0byB0aGUgQ0xJIGNvbW1hbmQgZmxhc2gtZXJhc2UuCistLS0gZ2RiLTcuMTIuNTAuMjAx NzAzMDQub3JpZy9nZGIvTkVXUwkyMDE3LTAzLTA0IDIxOjQ3OjM3LjQ5MTAzOTg3MyArMDEwMAor KysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9ORVdTCTIwMTctMDMtMDQgMjE6NDc6NDAuMjgz MDYwODU2ICswMTAwCitAQCAtOTQsNiArOTQsOCBAQAorICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMg dGhlIGVtcHR5IHN0cmluZy4gIEN1cnJlbnRseSwgdGhlIG9ubHkgc3VwcG9ydGVkCisgICB0YXJn ZXRzIGFyZSBBUk0sIFBvd2VyUEMgYW5kIFMvMzkwLgogIAogKyogRm9ydHJhbjogU3VwcG9ydCBw b2ludGVycyB0byBkeW5hbWljIHR5cGVzLgogKwogICoqKiBDaGFuZ2VzIGluIEdEQiA3LjEyCiAg CiAgKiBHREIgYW5kIEdEQnNlcnZlciBub3cgYnVpbGQgd2l0aCBhIEMrKyBjb21waWxlciBieSBk ZWZhdWx0LgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9jLXZhbHByaW50LmMKK0lu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvYy12YWxwcmludC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTctMDItMDcg MjA6NTM6NDguODUxODg3MjYyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2Mt dmFscHJpbnQuYwkyMDE3LTAyLTA3IDIwOjUzOjU0LjQzNzkyOTY4OSArMDEwMAorLS0tIGdkYi03 LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ3OjM3 LjQ5MjAzOTg4MSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9jLXZhbHByaW50 LmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yODMwNjA4NTYgKzAxMDAKIEBAIC02NDYsNiArNjQ2LDI4 IEBACiAgICAgICAgZWxzZQogIAl7CkBAIC02OSwxMSArNjksMTEgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9jLXZhbHByaW50LmMKICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIoIik7CiAgCSAgdHlwZV9wcmludCAodmFsdWVfdHlwZSAodmFsKSwgIiIsIHN0cmVhbSwg LTEpOwogIAkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIikgIik7Ci1JbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIw Ny5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wMi0wNyAyMDo1Mzo0OC44NjI4ODczNDUgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMDcg MjA6NTM6NTQuNDQyOTI5NzI3ICswMTAwCi1AQCAtMTc2OCw3ICsxNzY4LDggQEAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wMy0wNCAyMTo0Nzoz Ny41MDcwMzk5OTQgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVh ZC5jCTIwMTctMDMtMDQgMjE6NDc6NDAuMjg4MDYwODk0ICswMTAwCitAQCAtMTc5NSw3ICsxNzk1 LDggQEAKICAKICBzdGF0aWMgaW50IGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3Qg YXR0cmlidXRlICphdHRyLAogIAkJCQkgc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2Fy ZjJfY3UgKmN1LApAQCAtODMsNyArODMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2R3YXJmMnJlYWQuYwogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVyZmFjZSAqLwog IAotQEAgLTExMzk5LDcgKzExNDAwLDcgQEAKK0BAIC0xMTQ5MSw3ICsxMTQ5Miw3IEBACiAgICAg IHsKICAgICAgICBuZXdvYmotPnN0YXRpY19saW5rCiAgCT0gWE9CTkVXICgmb2JqZmlsZS0+b2Jq ZmlsZV9vYnN0YWNrLCBzdHJ1Y3QgZHluYW1pY19wcm9wKTsKQEAgLTkyLDcgKzkyLDcgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogIAogICAg Y3UtPmxpc3RfaW5fc2NvcGUgPSAmbG9jYWxfc3ltYm9sczsKLUBAIC0xNDQ2MCwyOSArMTQ0NjEs OTQgQEAKK0BAIC0xNDcxOCwyOSArMTQ3MTksOTQgQEAKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwg KnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0 ZSAqYXR0cjsKQEAgLTE5OCw3ICsxOTgsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2R3YXJmMnJlYWQuYwogICAgY2hhcl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5nX2NoYXJfdHlw ZSAoY3UtPmxhbmd1YWdlX2RlZm4sIGdkYmFyY2gpOwogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdf dHlwZSAoTlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsKICAKLUBAIC0xNDgxOSw3ICsxNDg4 NSw4IEBACitAQCAtMTUwNzcsNyArMTUxNDMsOCBAQAogIAogIHN0YXRpYyBpbnQKICBhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9p bmZvICpkaWUsCkBAIC0yMDgsNyArMjA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9kd2FyZjJyZWFkLmMKICB7CiAgICBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uICpi YXRvbjsKICAgIHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrID0gJmN1LT5vYmpmaWxlLT5vYmpmaWxl X29ic3RhY2s7Ci1AQCAtMTQ4MjksMTQgKzE0ODk2LDMzIEBACitAQCAtMTUwODcsMTQgKzE1MTU0 LDMzIEBACiAgCiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAt MjQ2LDcgKzI0Niw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVh ZC5jCiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHJfZm9ybV9pc19yZWYgKGF0dHIpKQogICAgICB7 Ci1AQCAtMTQ4NjksOCArMTQ5NTUsMjggQEAKK0BAIC0xNTEyNyw4ICsxNTIxMywyOCBAQAogIAkJ YmF0b24gPSBYT0JORVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24pOwog IAkJYmF0b24tPnJlZmVyZW5jZWRfdHlwZSA9IGRpZV90eXBlICh0YXJnZXRfZGllLCB0YXJnZXRf Y3UpOwogIAkJYmF0b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKQEAgLTI3Nyw3ICsy NzcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJlYWQuYwogIAkJ cHJvcC0+ZGF0YS5iYXRvbiA9IGJhdG9uOwogIAkJcHJvcC0+a2luZCA9IFBST1BfTE9DRVhQUjsK ICAJCWdkYl9hc3NlcnQgKHByb3AtPmRhdGEuYmF0b24gIT0gTlVMTCk7Ci1AQCAtMTQ5ODEsMjQg KzE1MDg3LDI0IEBACitAQCAtMTUyMzksMjQgKzE1MzQ1LDI0IEBACiAgCiAgICBhdHRyID0gZHdh cmYyX2F0dHIgKGRpZSwgRFdfQVRfYnl0ZV9zdHJpZGUsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAt MzA2LDcgKzMwNiw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVh ZC5jCiAgCXsKICAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxj dWxhdGlvbiBoZXJlLiAgKi8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05TVCAmJiBoaWdo LmtpbmQgPT0gUFJPUF9DT05TVCkKLUBAIC0yMjMzMyw3ICsyMjQzOSw3IEBACitAQCAtMjI4NzEs NyArMjI5NzcsNyBAQAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2FsbG9jYXRl ZCwgY3UpOwogICAgaWYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMx NSw3ICszMTUsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJlYWQu YwogICAgICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUs IG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjIzNDgs NyArMjI0NTQsNyBAQAorQEAgLTIyODg2LDcgKzIyOTkyLDcgQEAKICAgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9hc3NvY2lhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Js b2NrIChhdHRyKSkKICAgICAgewpAQCAtMzI0LDcgKzMyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9Q Uk9QX0FTU09DSUFURUQsIHByb3AsIHR5cGUsIG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlm IChhdHRyICE9IE5VTEwpCi1AQCAtMjIzNjEsNyArMjI0NjcsNyBAQAorQEAgLTIyODk5LDcgKzIz MDA1LDcgQEAKICAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5 cGUuICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24s IGN1KTsKQEAgLTMzMywxMCArMzMzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvZHdhcmYycmVhZC5jCiAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElP TiwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5k aWVfdHlwZV9oYXNoID09IE5VTEwpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2Yt dHlwZXByaW50LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZi10eXBlcHJpbnQu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2YtdHlwZXBy aW50LmMJMjAxNy0wMi0wNyAyMDo1Mzo0OC44NjM4ODczNTMgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvZi10eXBlcHJpbnQuYwkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0MzkyOTcz NCArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJ MjAxNy0wMy0wNCAyMTo0NzoyNy43ODk5NjY5NjYgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvZi10eXBlcHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ4OjIyLjE2MzM3NTYwNCArMDEw MAogQEAgLTM3LDcgKzM3LDcgQEAKICAjZW5kaWYKICAKQEAgLTM0Niw5ICszNDYsOSBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2YtdHlwZXByaW50LmMKICAKICB2b2lkIGZfdHlw ZV9wcmludF92YXJzcGVjX3ByZWZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwK ICAJCQkJICBpbnQsIGludCk7Ci1AQCAtNTQsMTggKzU0LDYgQEAKK0BAIC01MywxOCArNTMsNiBA QAorIHsKICAgIGVudW0gdHlwZV9jb2RlIGNvZGU7Ci0gICBpbnQgZGVtYW5nbGVkX2FyZ3M7CiAg CiAtICBpZiAodHlwZV9ub3RfYXNzb2NpYXRlZCAodHlwZSkpCiAtICAgIHsKQEAgLTM2NSwxNiAr MzY1LDE2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZi10eXBlcHJpbnQuYwog ICAgZl90eXBlX3ByaW50X2Jhc2UgKHR5cGUsIHN0cmVhbSwgc2hvdywgbGV2ZWwpOwogICAgY29k ZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgICBpZiAoKHZhcnN0cmluZyAhPSBOVUxMICYmICp2YXJz dHJpbmcgIT0gJ1wwJykKLUBAIC04Nyw3ICs3NSw3IEBACi0gICAgICAgICAgc28gZG9uJ3QgcHJp bnQgYW4gYWRkaXRpb25hbCBwYWlyIG9mICgpJ3MuICAqLworQEAgLTg5LDcgKzc3LDcgQEAKICAK LSAgICAgICBkZW1hbmdsZWRfYXJncyA9IHZhcnN0cmluZ1tzdHJsZW4gKHZhcnN0cmluZykgLSAx XSA9PSAnKSc7IAorICAgICAgIGRlbWFuZ2xlZF9hcmdzID0gKCp2YXJzdHJpbmcgIT0gJ1wwJwor IAkJCSYmIHZhcnN0cmluZ1tzdHJsZW4gKHZhcnN0cmluZykgLSAxXSA9PSAnKScpOwogLSAgICAg IGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAodHlwZSwgc3RyZWFtLCBzaG93LCAwLCBkZW1h bmdsZWRfYXJncywgMCk7CiArICAgICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4ICh0eXBl LCBzdHJlYW0sIHNob3csIDAsIGRlbWFuZ2xlZF9hcmdzLCAwLCAwKTsKICAgICB9CiAgfQogIAot QEAgLTE1Nyw3ICsxNDUsNyBAQAorQEAgLTE1OSw3ICsxNDcsNyBAQAogIHN0YXRpYyB2b2lkCiAg Zl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKICAJCQkgICAgIGludCBzaG93LCBpbnQgcGFzc2VkX2FfcHRyLCBpbnQg ZGVtYW5nbGVkX2FyZ3MsCkBAIC0zODMsNyArMzgzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi9mLXR5cGVwcmludC5jCiAgewogICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9i b3VuZDsKICAKLUBAIC0xODEsMzQgKzE2OSw1MCBAQAorQEAgLTE4MywzNCArMTcxLDUwIEBACiAg CWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAKICAgICAgICBpZiAodHlwZV9ub3Rf YXNzb2NpYXRlZCAodHlwZSkpCkBAIC00NjAsNyArNDYwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9mLXR5cGVwcmludC5jCiAgICAgICAgaWYgKGFycmF5cHJpbnRfcmVjdXJz ZV9sZXZlbCA9PSAxKQogIAlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpIik7CiAgICAgICAg ZWxzZQotQEAgLTIxOSwxMyArMjIzLDE0IEBACitAQCAtMjIxLDEzICsyMjUsMTQgQEAKICAgICAg Y2FzZSBUWVBFX0NPREVfUFRSOgogICAgICBjYXNlIFRZUEVfQ09ERV9SRUY6CiAgICAgICAgZl90 eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFt LCAwLCAxLCAwLApAQCAtNDc3LDcgKzQ3Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvZi10eXBlcHJpbnQuYwogICAgICAgIGlmIChwYXNzZWRfYV9wdHIpCiAgCWZwcmludGZf ZmlsdGVyZWQgKHN0cmVhbSwgIikiKTsKICAKLUBAIC0zNzYsNyArMzgxLDcgQEAKK0BAIC0zNzgs NyArMzgzLDcgQEAKICAJICAgICAgZnB1dHNfZmlsdGVyZWQgKCIgOjogIiwgc3RyZWFtKTsKICAJ ICAgICAgZnB1dHNfZmlsdGVyZWQgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaW5kZXgpLCBzdHJl YW0pOwogIAkgICAgICBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfRklFTERfVFlQ RSAodHlwZSwgaW5kZXgpLApAQCAtNDg2LDEwICs0ODYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi9mLXR5cGVwcmludC5jCiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiXG4i LCBzdHJlYW0pOwogIAkgICAgfQogIAkgIGZwcmludGZpX2ZpbHRlcmVkIChsZXZlbCwgc3RyZWFt LCAiRW5kIFR5cGUgIik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2dkYnR5cGVz LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2RidHlwZXMuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wMi0w NyAyMDo1Mzo0OC44NjU4ODczNjggKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv Z2RidHlwZXMuYwkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0NDkyOTc0MiArMDEwMAorLS0tIGdkYi03 LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wMy0wNCAyMTo0NzozNy41 MTAwNDAwMTYgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2RidHlwZXMuYwky MDE3LTAzLTA0IDIxOjQ3OjQwLjI4OTA2MDkwMiArMDEwMAogQEAgLTE4MTQsNyArMTgxNCw4IEBA CiAgICB0eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgCkBAIC01ODEsMTAgKzU4MSwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2dkYnR5cGVzLmMKICAJICByZXNvbHZl ZF90eXBlID0gcmVzb2x2ZV9keW5hbWljX2FycmF5ICh0eXBlLCBhZGRyX3N0YWNrKTsKICAJICBi cmVhazsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5j cC92bGEtY3h4LmNjCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9n ZGIuY3AvdmxhLWN4eC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTAyLTA3IDIwOjUzOjQ4Ljg2 Njg4NzM3NSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2Ri LmNwL3ZsYS1jeHguY2MJMjAxNy0wMi0wNyAyMDo1Mzo1NC40NDQ5Mjk3NDIgKzAxMDAKKy0tLSBn ZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MJ MjAxNy0wMy0wNCAyMTo0NzozNy41MTEwNDAwMjMgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCTIwMTctMDMtMDQgMjE6NDc6NDAu Mjg5MDYwOTAyICswMTAwCiBAQCAtMTUsNiArMTUsMTAgQEAKICAgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KQEAgLTYxMywxMCArNjEzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCiArCiAgICByZXR1cm4gdmxh WzJdOwogIH0KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5j cC92bGEtY3h4LmV4cAorSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcu b3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cAkyMDE3LTAyLTA3IDIwOjUzOjQ4 Ljg2Njg4NzM3NSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ0OTI5NzQyICswMTAwCist LS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4 LmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMTA0MDAyMyArMDEwMAorKysrIGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDMtMDQgMjE6 NDc6NDAuMjkwMDYwOTA5ICswMTAwCiBAQCAtMjMsNiArMjMsMTIgQEAKICAgICAgcmV0dXJuIC0x CiAgfQpAQCAtNjM3LDEwICs2MzcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCiArZ2RiX3Rlc3QgInB0eXBlIHB0ciIgImlu dCBcXChcXCpcXClcXFxbM1xcXF0iCiArZ2RiX3Rlc3QgInByaW50IHB0ciIgIlxcKGludCBcXChc XCpcXClcXFxbM1xcXF1cXCkgJGhleCIKICtnZGJfdGVzdCAicHJpbnQgKnB0ciIgIiA9IFxcezUs IDcsIDlcXH0iCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wb2ludGVycy5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVz dHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVs bAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCTIwMTctMDItMDcg MjA6NTM6NTQuNDQ0OTI5NzQyICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAw NjA5MDkgKzAxMDAKIEBAIC0wLDAgKzEsMTQzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTc4NSwxMCArNzg1LDEwIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4 cAogK2dkYl90ZXN0ICJwcmludCAqKChpbnRlZ2VyKikgJmludGEgKyAyKSIgIj0gMyIgInByaW50 IHRlbXBvcmFyeSBwb2ludGVyLCBhcnJheSIKICtnZGJfdGVzdCAicHJpbnQgKigoaW50ZWdlciop ICZpbnR2bGEgKyAzKSIgIj0gNCIgInByaW50IHRlbXBvcmFyeSBwb2ludGVyLCBhbGxvY2F0ZWQg dmxhIgogK2dkYl90ZXN0ICJwcmludCBcJHBjIiAiPSBcXChQVFIgVE8gLT4gXFwoIHZvaWQgXFwo XFwpXFwoXFwpXFwpXFwpICRoZXggPHBvaW50ZXJzXFwrXFxkKz4iICJQcmludCBwcm9ncmFtIGNv dW50ZXIiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wb2ludGVycy5mOTAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkx OTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCTIwMTctMDItMDcgMjA6 NTM6NTQuNDQ1OTI5NzQ5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5 MDkgKzAxMDAKIEBAIC0wLDAgKzEsMTA5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICshCkBAIC04OTksMTAgKzg5OSwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAK ICsgIGludHYgPSBpbnR2ICsgMSAhIEFmdGVyIHZhbHVlIGFzc2lnbm1lbnQKICsKICtlbmQgcHJv Z3JhbSBwb2ludGVycwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAky MDE3LTAyLTA3IDIwOjUzOjU0LjQ0NTkyOTc0OSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAJMjAxNy0wMy0wNCAy MTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKIEBAIC0wLDAgKzEsMTAwIEBACiArIyBDb3B5cmlnaHQg MjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEwMDQsMTAgKzEwMDQs MTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHJpbnRfdHlwZS5leHAKICsgICAgfQogK30KICtnZGJfdGVzdCAicHR5cGUgcmVhbHAiICJ0 eXBlID0gUFRSIFRPIC0+IFxcKCAkcmVhbCBcXCkiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCitJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dk Yi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo0OC44Njc4ODczODMgKzAx MDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo1NC40NDU5Mjk3NDkgKzAxMDAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBl LmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSArMDEwMAorKysrIGdkYi03LjEyLjUw LjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAz LTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyArMDEwMAogQEAgLTMyLDkgKzMyLDkgQEAKICAjIENoZWNr IHRoZSBwdHlwZSBvZiB2YXJpb3VzIFZMQSBzdGF0ZXMgYW5kIHBvaW50ZXIgdG8gVkxBJ3MuCiAg Z2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtaW5pdCJdCkBAIC0xMDQ1 LDEwICsxMDQ1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAKICBnZGJfdGVzdCAicHR5cGUgdmxhMig1LCA0NSwg MjApIiBcCiAgICAibm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBhbGxvY2F0 ZWRcXFwpIiBcCiAgICAicHR5cGUgdmxhMig1LCA0NSwgMjApIG5vdCBhbGxvY2F0ZWQiCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3Ry aW5ncy5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAx LTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCTIwMTctMDItMDcgMjA6NTM6 NTQuNDQ1OTI5NzQ5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5 MTcgKzAxMDAKIEBAIC0wLDAgKzEsMTAzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTExNTMsMTAgKzExNTMsMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3Mu ZXhwCiArCSAgICBwYXNzICR0ZXN0CiArICAgIH0KICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdz LmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXN0cmluZ3MuZjkwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ1OTI5NzQ5ICswMTAw CisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5ncy5mOTAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKIEBAIC0wLDAg KzEsMzkgQEAKICshIENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogKyEKQEAgLTExOTcsMTAgKzExOTcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCiArICB2YXJfY2hhcl9w ID0+IG51bGwoKQogKyAgbCA9IGFzc29jaWF0ZWQodmFyX2NoYXJfcCkgICAgICAgICAgICAgICEg dmFyX2NoYXJfcC1ub3QtYXNzb2NpYXRlZAogK2VuZCBwcm9ncmFtIHZsYV9zdHJpbmdzCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlw ZS5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS10eXBlLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAJMjAxNy0wMi0wNyAyMDo1 Mzo0OC44Njc4ODczODMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0NjkyOTc1 NyArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi92bGEtdHlwZS5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTIwNDAwMzEgKzAxMDAK KysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10 eXBlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyArMDEwMAogQEAgLTEzMiw3ICsx MzIsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAiRW5kIFR5cGUgb25lIiBdCiAgCkBAIC0x MjIyLDEwICsxMjIyLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAogICAgICAgICAgICAgICAgICAgICAgICJFbmQg VHlwZSBvbmUiIF0gXAogICAgICAgICAgICJwdHlwZSBmaXZlZHluYXJyKDIpJXRvbmUsIG5vdCBh bGxvY2F0ZWQiCiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1 ZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo0OC44Njg4ODczOTEgKzAxMDAKLSsrKyBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAJMjAxNy0w Mi0wNyAyMDo1Mzo1NC40NDY5Mjk3NTcgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5v cmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIx OjQ3OjM3LjUxMjA0MDAzMSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2 MDkxNyArMDEwMAogQEAgLTE0LDYgKzE0LDcgQEAKICAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIApAQCAtMTI3 OCwxMCArMTI3OCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCiAgICAicHJpbnQgYXNzb2NpYXRlZCAmcHZsYSIK ICBnZGJfdGVzdCAicHJpbnQgcHZsYSgzLCA2LCA5KSIgIiA9IDQyIiAicHJpbnQgYXNzb2NpYXRl ZCBwdmxhKDMsNiw5KSIKICBnZGJfdGVzdCAicHJpbnQgcHZsYSgxLCAzLCA4KSIgIiA9IDEwMDEi ICJwcmludCBhc3NvY2lhdGVkIHB2bGEoMSwzLDgpIgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAorSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWktdmFyLWNoaWxkLWYuZXhwCTIwMTctMDItMDcgMjA6NTM6NDguODY4ODg3MzkxICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFy LWNoaWxkLWYuZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ2OTI5NzU3ICswMTAwCistLS0gZ2Ri LTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQt Zi5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKKysrKyBnZGItNy4xMi41 MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0w My0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKIEBAIC0xNyw2ICsxNyw3IEBACiAgCiAgbG9h ZF9saWIgbWktc3VwcG9ydC5leHAKQEAgLTEzMDMsMTAgKzEzMDMsMTAgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAog IAogIHNldCBjaGlsZHJlbiBbbGlzdCBbbGlzdCAiYXJyYXkuLTEiICItMSIgMiAiJGludDQgXFwo MlxcKSJdIFwKICAJCSAgW2xpc3QgImFycmF5LjAiICIwIiAyICIkaW50NCBcXCgyXFwpIl0gXAot SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1m b3J0cmFuLmV4cAorSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2Ri Lm1pL21pLXZsYS1mb3J0cmFuLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCTIwMTctMDIt MDcgMjA6NTM6NDguODY4ODg3MzkxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCTIwMTctMDItMDcgMjA6NTM6NTQu NDQ2OTI5NzU3ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1 aXRlL2dkYi5taS9taS12bGEtZm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAw MzkgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aS12bGEtZm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKIEBA IC0xNyw3ICsxNyw5IEBACiAgIyBBcnJheSAoVkxBKS4KICAKQEAgLTE0MDUsMTAgKzE0MDUsMTAg QEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZs YS1mb3J0cmFuLmV4cAogICAgImluZm8gdHlwZSB2YXJpYWJsZSBwdmxhMl9hc3NvY2lhdGVkIgog IG1pX2dkYl90ZXN0ICI1OTItdmFyLXNob3ctZm9ybWF0IHB2bGEyX2Fzc29jaWF0ZWQiIFwKICAg ICI1OTJcXF5kb25lLGZvcm1hdD1cIm5hdHVyYWxcIiIgXAotSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90 eXBlcHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L3R5cGVwcmludC5jCTIwMTctMDItMDcgMjA6NTM6NDguODY5ODg3Mzk4ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3R5cGVwcmludC5jCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ2 OTI5NzU3ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdHlwZXByaW50 LmMJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKKysrKyBnZGItNy4xMi41MC4y MDE3MDMwNC9nZGIvdHlwZXByaW50LmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAx MDAKIEBAIC00NzUsNiArNDc1LDI1IEBACiAgICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiICovXG4i KTsgICAgCiAgICAgIH0KQEAgLTE0MzUsMTAgKzE0MzUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi90eXBlcHJpbnQuYwogICAgTEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdk Yl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7CiAgICBwcmludGZfZmlsdGVyZWQgKCJcbiIpOwog IAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA0L2dkYi92YWxvcHMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUw LjIwMTcwMjA3Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDItMDcgMjA6NTM6NDguODcwODg3NDA2 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCTIwMTctMDItMDcg MjA6NTM6NTQuNDQ3OTI5NzY1ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9n ZGIvdmFsb3BzLmMJMjAxNy0wMy0wNCAyMTo0NzozNy41MTQwNDAwNDYgKzAxMDAKKysrKyBnZGIt Ny4xMi41MC4yMDE3MDMwNC9nZGIvdmFsb3BzLmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTMwNjA5 MzIgKzAxMDAKIEBAIC0xNTY5LDYgKzE1NjksMTkgQEAKICAgIGlmIChUWVBFX0NPREUgKGJhc2Vf dHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAgICAgewpAQCAtMTQ2OSwxMCArMTQ2OSwxMCBAQCBJ bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgZW5jX3R5 cGUgPSB2YWx1ZV90eXBlIChhcmcyKTsKICAgICAgICByZXR1cm4gcmVhZGp1c3RfaW5kaXJlY3Rf dmFsdWVfdHlwZSAoYXJnMiwgZW5jX3R5cGUsIGJhc2VfdHlwZSwgYXJnMSk7Ci1JbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbHByaW50LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3 Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAxNy0wMi0wNyAwMjo0ODo0Ny4wMDAwMDAwMDAgKzAxMDAK LSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdmFscHJpbnQuYwkyMDE3LTAyLTA3IDIwOjUz OjU0LjQ0ODkyOTc3MiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL3Zh bHByaW50LmMJMjAxNy0wMy0wNCAwMjo0OTowOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4x Mi41MC4yMDE3MDMwNC9nZGIvdmFscHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MzA2MDkz MiArMDEwMAogQEAgLTExNjUsMTIgKzExNjUsNiBAQAogICAgICAgIHJldHVybiAwOwogICAgICB9 CgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA2YjBlNjkxLi41MjNkM2Mz IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTgsNyArMTgsNyBAQAog TmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKIAogIyBGcmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFu Y2hlZAotJWdsb2JhbCBzbmFwc3JjICAgIDIwMTcwMjI2CislZ2xvYmFsIHNuYXBzcmMgICAgMjAx NzAzMDkKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdk Yi9nbnVsaWIvIC4KICVnbG9iYWwgc25hcGdudWxpYiAyMDE1MDgyMgogJWdsb2JhbCB0YXJuYW1l IGdkYi0le3ZlcnNpb259CkBAIC0yNiw3ICsyNiw3IEBAIFZlcnNpb246IDcuMTIuNTAuJXtzbmFw c3JjfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQg bnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5h bWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVz dGluZy4KLVJlbGVhc2U6IDQlez9kaXN0fQorUmVsZWFzZTogNSV7P2Rpc3R9CiAKIExpY2Vuc2U6 IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misg d2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMrIGFuZCBCU0Qg YW5kIFB1YmxpYyBEb21haW4gYW5kIEdGREwKIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMK QEAgLTE1NzgsNiArMTU3OCw5IEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyogVGh1IE1hciAg OSAyMDE3IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMTIu NTAuMjAxNzAzMDktNS5mYzI2CistIFJlYmFzZSB0byBwcmUtNy4xMyBGU0YgR0RCIHRydW5rLgor CiAqIFRodSBNYXIgIDIgMjAxNyBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4gLSA3LjEyLjUwLjIwMTcwMjI2LTQuZmMyNgogLSBGaXggZ2RiLXZsYS1pbnRlbC1mb3J0 cmFuLXN0cmlkZXMucGF0Y2ggcmViYXNlIHJlZ3Jlc3Npb24uCiAKCmRpZmYgLS1naXQgYS9zb3Vy Y2VzIGIvc291cmNlcwppbmRleCA3MmNmNDRhLi43NmQzOTRjIDEwMDY0NAotLS0gYS9zb3VyY2Vz CisrKyBiL3NvdXJjZXMKQEAgLTEsMyArMSwzIEBACiBTSEE1MTIgKGdkYi1saWJzdGRjKystdjMt cHl0aG9uLTYuMy4xLTIwMTcwMjEyLnRhci54eikgPSAyMmFkNDE4N2Q2YmI5ODUxZWNmMzg5YzNm ZjRjNjhmMzNjY2Y1NjAyZDhmNTFiYzMzNzIxNWM3MDBkNTZjOTA3M2IzZmI0MGVjZTNmNTg5MDEz MTUxNjFmNzZhNGZkMWQ2NDYzYzYyMzY1MDMxN2FkOTZmZDllM2Y0YWJhNzI1MgogU0hBNTEyICh2 MS41LnRhci5neikgPSBlYTNlNzYyOTFkNWIwNzdkNWI0MjA2MTg5OGExZjcwYWY2Y2JkYmNjYjdk MDVjNTk5MDRmMzIyY2ExYzAzZjc1OTZjYWM2YTk2NmI4MGIxMmQyYzJkODYyMTJmMTdkNmJkZTAy YjFkYWY5MmJlNjJlNDlhYmNiMjM0ZTJiYWNiZAotU0hBNTEyIChnZGItNy4xMi41MC4yMDE3MDIy Ni50YXIueHopID0gY2YxYjU1YzAxMWZjNmRmZWU2NGMwZDJlOGZhY2VhNjI3MGM0YjFlNTk2NjQy N2JjOGUyZjM2YmMyNTE1ZDVkNTFlYTZhMWE0ZTBhNTMwMGRmYWQ0MGZmNzk4ZDE3NjNmN2Y5Mzk3 ZjNkMDNmZmY1YWIyZjFjYzg4YzRlYWQ3MzcKK1NIQTUxMiAoZ2RiLTcuMTIuNTAuMjAxNzAzMDku dGFyLnh6KSA9IDJhYTM4ZDcxY2I3NjljNjIzZjczOWY3N2U1ZTQ3YzhjMmI3M2Y5YmNmYzQ5Nzg4 NDFjODgxZGZiMDAyZmIyY2UwODRlN2Y3Y2Q3MjQ4ZmUyYTA0NTVlNDg3Yjc3ZDFjMGZhMTdlZGNi Y2RkMmM0M2Q4NWJhNGRlMDQzZDI2NDI3Cg==