From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to pre-7.13 FSF GDB trunk. Date: Thu, 23 Jul 2026 18:32:51 GMT Message-ID: <178483157157.1.226459568904316427.rpms-gdb-dbc649db159c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: dbc649db159c2c72d857c27a5706a0743eb11b70 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogZGJjNjQ5ZGIxNTljMmM3MmQ4NTdjMjdhNTcwNmEwNzQz ZWIxMWI3MApBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxNy0wMy0wOVQyMzo1Mzo1OSswMTowMApTdGF0cyAgOiArMjE1Ly0yMTUg aW4gNyBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv Z2RiL2MvZGJjNjQ5ZGIxNTljMmM3MmQ4NTdjMjdhNTcwNmEwNzQzZWIxMWI3MD9icmFuY2g9Zml4 LWR1cC1wYXRjaAoKTG9nOgpSZWJhc2UgdG8gcHJlLTcuMTMgRlNGIEdEQiB0cnVuay4KCi0tLQpk aWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggY2M2YTY1OS4uMTdkM2Yx ZCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xLDMgKzEsMyBA QAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLTYuMy4xLTIwMTcwMjEyLnRhci54egogL3YxLjUu dGFyLmd6Ci0vZ2RiLTcuMTIuNTAuMjAxNzAyMjYudGFyLnh6CisvZ2RiLTcuMTIuNTAuMjAxNzAz MDkudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNo IGIvZ2RiLTYuMy1mb2N1cy1jbWQtcHJldi10ZXN0LnBhdGNoCmluZGV4IGNhMjRlY2MuLjE5OWY5 MDUgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAorKysgYi9n ZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKQEAgLTIsNyArMiw3IEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvY3VzLWNtZC1wcmV2 LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAogKysrIGdkYi03LjEyLjUwLjIwMTcwMjI2L2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZm9jdXMtY21kLXByZXYuZXhwCTIwMTctMDMtMDIgMDk6Mzk6MTQuNTA4NDYxMDg1ICswMTAw Ci1AQCAtMCwwICsxLDQzIEBACitAQCAtMCwwICsxLDQwIEBACiArIyBDb3B5cmlnaHQgMjAwOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC0zMCw5 ICszMCw2IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIyNi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2ZvY3VzLWNtZC1wcmV2LmV4cAogKyMgY29tbWl0IGQ3ZTc0NzMxOGY0ZDA0YWYwMzNmMTYz MjVmOWI2ZDc0ZjY3MDc5ZWMKICsjICAgICBFbGltaW5hdGUgbWFrZV9jbGVhbnVwX3VpX2ZpbGVf ZGVsZXRlIC8gbWFrZSB1aV9maWxlIGEgY2xhc3MgaGllcmFyY2h5CiArCi0rZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgd2lkdGggODAiCi0rZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgaGVpZ2h0IDQw IgotKwogK3NldCB0ZXN0ICJmb2N1cyBjbWQiCiArZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRl c3QgewogKyAgICAtcmUgIiRnZGJfcHJvbXB0ICQiIHsKCmRpZmYgLS1naXQgYS9nZGItcHBjLXBv d2VyNy10ZXN0LnBhdGNoIGIvZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAppbmRleCAxZjQwYzY3 Li5hNTc1YWE4IDEwMDY0NAotLS0gYS9nZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoCisrKyBiL2dk Yi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKQEAgLTEsNSArMSw1IEBACiAtLS0gL2Rldi9udWxsCi0r KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5hcmNoL3Bvd2VycGMtcG93ZXI3LmV4cAorKysrIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLmV4cAogQEAgLTAsMCArMSwxODIg QEAKICsjIENvcHlyaWdodCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpA QCAtMjQsNyArMjQsNyBAQAogKyAgICByZXR1cm4KICt9CiArCi0rc2V0IHRlc3RmaWxlICJwb3dl cnBjLXBvd2VyNyIKKytzZXQgdGVzdGZpbGUgInBvd2VycGMtcG93ZXI3cmgiCiArc2V0IHNyY2Zp bGUgJHt0ZXN0ZmlsZX0ucwogK3NldCBvYmpmaWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rl c3RmaWxlfS5vXQogKwpAQCAtMTg0LDcgKzE4NCw3IEBACiArZnVuY19jaGVjayAweDE5OCAiZnJz cXJ0ZXMuIGYxNCxmMTUiCiArZnVuY19jaGVjayAweDE5YyAiaXNlbCAgICByMixyMyxyNCwyOCIK IC0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFyY2gvcG93ZXJwYy1wb3dl cjcucworKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9wb3dlcnBjLXBvd2VyN3JoLnMKIEBA IC0wLDAgKzEsMTA3IEBACiArCS50ZXh0CiArCS5nbG9ibAlmdW5jCgpkaWZmIC0tZ2l0IGEvZ2Ri LXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0y M29mMjUucGF0Y2gKaW5kZXggMmVmZjg1OS4uZjBlNGZmMSAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3 OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNv ZjI1LnBhdGNoCkBAIC0xMzcsMTAgKzEzNywxMCBAQCBDb250ZW50LVR5cGU6IHRleHQveC1wYXRj aAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjog YXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXRkZXAucGF0Y2gKIAotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9hbHBoYS10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvYWxwaGEtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcu b3JpZy9nZGIvYWxwaGEtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDcwMTIxMTg3ICswMTAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FscGhhLXRkZXAuYwkyMDE3LTAyLTI2IDE5 OjExOjQ4LjI2OTI0ODU0NiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2Ri L2FscGhhLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjY5MTU0MTA0OSArMDEwMAorKysrIGdk Yi03LjEyLjUwLjIwMTcwMzA5L2dkYi9hbHBoYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40 MTQ1NzM5NDMgKzAxMDAKIEBAIC0zMDAsMTcgKzMwMCwxNyBAQAogIHsKICAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKQEAgLTE4Mywx MSArMTgzLDExIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYWxwaGEtdGRlcC5j CiAgCSAgICAgIG1lbWNweSAoYXJnX3JlZ19idWZmZXIgKyBvZmZzZXQsIGNvbnRlbnRzLCB0bGVu KTsKICAJICAgICAgb2Zmc2V0ICs9IHRsZW47CiAgCSAgICAgIGNvbnRlbnRzICs9IHRsZW47Ci1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXRkZXAuYworSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA5L2dkYi9hbWQ2NC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIwNy5vcmlnL2dkYi9hbWQ2NC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTozMC40 NzExMjExOTQgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYW1kNjQtdGRlcC5j CTIwMTctMDItMjYgMTk6MTI6NTMuNjg1NzE2NjIzICswMTAwCi1AQCAtNzMwLDcgKzczMCw3IEBA CistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYW1kNjQtdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MDkuNjkzNTQxMDYyICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2Ri L2FtZDY0LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQxNTU3Mzk1MCArMDEwMAorQEAgLTcz NSw3ICs3MzUsNyBAQAogIAkJICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAq d3JpdGVidWYpCiAgewogICAgZW51bSBhbWQ2NF9yZWdfY2xhc3MgdGhlY2xhc3NbMl07CkBAIC0x OTYsNyArMTk2LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hbWQ2NC10ZGVw LmMKICAgIHN0YXRpYyBpbnQgaW50ZWdlcl9yZWdudW1bXSA9IHsgQU1ENjRfUkFYX1JFR05VTSwg QU1ENjRfUkRYX1JFR05VTSB9OwogICAgc3RhdGljIGludCBzc2VfcmVnbnVtW10gPSB7IEFNRDY0 X1hNTTBfUkVHTlVNLCBBTUQ2NF9YTU0xX1JFR05VTSB9OwogICAgaW50IGludGVnZXJfcmVnID0g MDsKLUBAIC04NDcsMTAgKzg0NywxMCBAQAorQEAgLTg1MiwxMCArODUyLDEwIEBACiAgICAgICAg Z2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAKICAgICAgICBpZiAocmVhZGJ1ZikKQEAgLTIw OSw3ICsyMDksNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXRkZXAu YwogIAkJCQkgd3JpdGVidWYgKyBpICogOCk7CiAgICAgIH0KICAKLUBAIC04ODEsOCArODgxLDgg QEAKK0BAIC04ODYsOCArODg2LDggQEAKICAgIH07CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19h cmdzID0gWEFMTE9DQVZFQyAoc3RydWN0IHZhbHVlICosIG5hcmdzKTsKICAgIGludCBudW1fc3Rh Y2tfYXJncyA9IDA7CkBAIC0yMjAsNyArMjIwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi9hbWQ2NC10ZGVwLmMKICAgIGludCBpbnRlZ2VyX3JlZyA9IDA7CiAgICBpbnQgc3Nl X3JlZyA9IDA7CiAgICBpbnQgaTsKLUBAIC04OTQsNyArODk0LDcgQEAKK0BAIC04OTksNyArODk5 LDcgQEAKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQogICAgICB7CiAgICAgICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKQEAgLTIyOSw3ICsyMjksNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXRkZXAuYwogICAgICAgIGVu dW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwogICAgICAgIGludCBuZWVkZWRfaW50ZWdl cl9yZWdzID0gMDsKICAgICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsKLUBAIC05NTgsNyAr OTU4LDcgQEAKK0BAIC05NjMsNyArOTYzLDcgQEAKICAKICAJICAgICAgZ2RiX2Fzc2VydCAocmVn bnVtICE9IC0xKTsKICAJICAgICAgbWVtc2V0IChidWYsIDAsIHNpemVvZiBidWYpOwpAQCAtMjM4 LDEwICsyMzgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hbWQ2NC10ZGVw LmMKICAJICAgICAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHJlZ2NhY2hlLCByZWdudW0sIG9m ZnNldCwgOCwgYnVmKTsKICAJICAgIH0KICAJfQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dk Yi9hbWQ2NC13aW5kb3dzLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjA3Lm9yaWcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDcy MTIxMjAyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FtZDY0LXdpbmRvd3Mt dGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjcwMjQ4NTUzICswMTAwCistLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDkub3JpZy9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMJMjAxNy0wMy0wOSAyMzoz NTowOS42OTM1NDEwNjIgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYW1kNjQt d2luZG93cy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTY1NzM5NTcgKzAxMDAKIEBAIC0y ODksNyArMjg5LDcgQEAKICAJCQkgICAgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsCiAgCQkJICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAq d3JpdGVidWYpCkBAIC0yNTEsMTEgKzI1MSwxMSBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL2FtZDY0LXdpbmRvd3MtdGRlcC5jCiAgICBpbnQgcmVnbnVtID0gLTE7CiAgCiAgICAv KiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRocm91Z2ggYSByZWdpc3Rlci4gIElmIGl0 IGlzLCB0aGVuCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FybS10ZGVwLmMKK0lu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYXJtLXRkZXAuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2FybS10ZGVwLmMJMjAxNy0wMi0yNiAxOTox MTozMC40NzcxMjEyMzcgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYXJtLXRk ZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3MzI0ODU3NSArMDEwMAotQEAgLTM0ODUsNyArMzQ4 NSw3IEBACistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvYXJtLXRkZXAuYwkyMDE3 LTAzLTA5IDIzOjM1OjA5LjY5ODU0MTA5NyArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5 L2dkYi9hcm0tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDE5NTczOTc4ICswMTAwCitAQCAt MzQ4Nyw3ICszNDg3LDcgQEAKICAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMgYXJlIG5vdCBjdXJy ZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBnZW5lcmljIEFBUENTIHN1cHBvcnQu ICAqLwogIApAQCAtMjY0LDcgKzI2NCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvYXJtLXRkZXAuYwogIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAq dCwKICAJCQkgICAgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUpCiAgewot QEAgLTM1NjgsNyArMzU2OCw3IEBACitAQCAtMzU3MCw3ICszNTcwLDcgQEAKICAJICB9CiAgCWVs c2UKICAJICB7CkBAIC0yNzMsNyArMjczLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9hcm0tdGRlcC5jCiAgCSAgICB1bnNpZ25lZCB1bml0bGVuOwogIAogIAkgICAgY291bnQg PSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9UQVJHRVRfVFlQRSAodCksCi1AQCAt MzU5MSwxMiArMzU5MSwxMiBAQAorQEAgLTM1OTMsMTIgKzM1OTMsMTIgQEAKICAKICAgICAgY2Fz ZSBUWVBFX0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI4OCw3ICsyODgsNyBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FybS10ZGVwLmMKICAKICAJICAgIGlmICghZmllbGRf aXNfc3RhdGljICgmVFlQRV9GSUVMRCAodCwgaSkpKQogIAkgICAgICBzdWJfY291bnQgPSBhcm1f dmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwKLUBAIC0zNjIw LDEzICszNjIwLDE1IEBACitAQCAtMzYyMiwxMyArMzYyMiwxNSBAQAogIAogICAgICBjYXNlIFRZ UEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0zMDcsNyArMzA3LDcgQEAgSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9hcm0tdGRlcC5jCiAgCSAgICBpZiAoc3ViX2NvdW50ID09IC0x KQogIAkgICAgICByZXR1cm4gLTE7CiAgCSAgICBjb3VudCA9IChjb3VudCA+IHN1Yl9jb3VudCA/ IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjYyLDcgKzM2NjQsNyBAQAorQEAgLTM2NjQsNyAr MzY2Niw3IEBACiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNl X3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0zMTYsNyArMzE2LDcgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hcm0tdGRlcC5jCiAgICBpZiAoYyA8PSAwIHx8IGMgPiA0 KQogICAgICByZXR1cm4gMDsKICAgICpiYXNlX3R5cGUgPSBiOwotQEAgLTM3NDMsNyArMzc0NSw3 IEBACitAQCAtMzc0NSw3ICszNzQ3LDcgQEAKICAKICAgIGZvciAoYXJnbnVtID0gMDsgYXJnbnVt IDwgbmFyZ3M7IGFyZ251bSsrKQogICAgICB7CkBAIC0zMjUsMTAgKzMyNSwxMCBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2FybS10ZGVwLmMKICAgICAgICBzdHJ1Y3QgdHlwZSAq YXJnX3R5cGU7CiAgICAgICAgc3RydWN0IHR5cGUgKnRhcmdldF90eXBlOwogICAgICAgIGVudW0g dHlwZV9jb2RlIHR5cGVjb2RlOwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9hdnIt dGRlcC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2F2ci10ZGVwLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9hdnItdGRlcC5jCTIwMTct MDItMjYgMTk6MTE6MzAuNDc5MTIxMjUyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL2F2ci10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzMyNDg1NzUgKzAxMDAKKy0tLSBn ZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9hdnItdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MDkuNzAwNTQxMTExICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2F2ci10ZGVw LmMJMjAxNy0wMy0wOSAyMzozNToxNC40MTk1NzM5NzggKzAxMDAKIEBAIC0xMTkxLDEzICsxMTkx LDEzIEBACiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KQEAgLTM2MSwxMCArMzYxLDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYXZyLXRkZXAuYwogIAogICAgICAgIC8qIENhbGN1 bGF0ZSB0aGUgcG90ZW50aWFsIGxhc3QgcmVnaXN0ZXIgbmVlZGVkLgogICAgICAgICAgIEUuZy4g Rm9yIGxlbmd0aCAyLCByZWdpc3RlcnMgcmVnbnVtIGFuZCByZWdudW0tMSAoc2F5IDI1IGFuZCAy NCkKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvYmZpbi10ZGVwLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvYmZpbi10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9iZmluLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMw LjQ3OTEyMTI1MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9iZmluLXRkZXAu YwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3MzI0ODU3NSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIw MTcwMzA5Lm9yaWcvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzAwNTQxMTEx ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2JmaW4tdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MTQuNDIwNTczOTg1ICswMTAwCiBAQCAtNTAyLDcgKzUwMiw3IEBACiAgICBlbnVt IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAg ICBpbnQgaTsKQEAgLTM4MywxMCArMzgzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvYmZpbi10ZGVwLmMKICAKICAgICAgICBzcCAtPSBjb250YWluZXJfbGVuOwogICAgICAg IHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlX2NvbnRlbnRzIChhcmdzW2ldKSwgY29udGFpbmVyX2xl bik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2NyaXMtdGRlcC5jCitJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2NyaXMtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvY3Jpcy10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMToz MC40ODAxMjEyNTkgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvY3Jpcy10ZGVw LmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzQyNDg1ODIgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4y MDE3MDMwOS5vcmlnL2dkYi9jcmlzLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwMjU0MTEy NSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9jcmlzLXRkZXAuYwkyMDE3LTAz LTA5IDIzOjM1OjE0LjQyMTU3Mzk5MSArMDEwMAogQEAgLTY2MywxMyArNjYzLDEzIEBACiAgCiAg c3RydWN0IHN0YWNrX2l0ZW0KQEAgLTQyMSwxMCArNDIxLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvY3Jpcy10ZGVwLmMKICAgICAgICAKICAgICAgICAvKiBIb3cgbWF5IHJl Z2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRvIHdlIG5lZWQgZm9yIHRoaXMgYXJndW1lbnQ/ICAq LwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVuIC8gNCkgKyAobGVuICUgNCAhPSAwID8gMSA6IDAp OwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9oODMwMC10ZGVwLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvaDgzMDAtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvaDgzMDAtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6 MzAuNDgxMTIxMjY2ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2g4MzAwLXRk ZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3NDI0ODU4MiArMDEwMAorLS0tIGdkYi03LjEyLjUw LjIwMTcwMzA5Lm9yaWcvZ2RiL2g4MzAwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcwMjU0 MTEyNSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9oODMwMC10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNToxNC40MjE1NzM5OTEgKzAxMDAKIEBAIC02MzcsNyArNjM3LDcgQEAKICAJ CSAgICAgICBpbnQgc3RydWN0X3JldHVybiwgQ09SRV9BRERSIHN0cnVjdF9hZGRyKQogIHsKQEAg LTQ1NywxMCArNDU3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvaDgzMDAt dGRlcC5jCiAgCiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgcGFkZGVkX2xlbjsg b2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9ocHBhLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9ocHBhLXRkZXAu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2hwcGEtdGRl cC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDgyMTIxMjczICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL2hwcGEtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjc1MjQ4NTg5ICsw MTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvaHBwYS10ZGVwLmMJMjAxNy0w My0wOSAyMzozNTowOS43MDM1NDExMzIgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvaHBwYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjI1NzM5OTkgKzAxMDAKIEBAIC05 ODgsNyArOTg4LDcgQEAKICAgICAgewogICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tp XTsKQEAgLTQ3OSwxMCArNDc5LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv aHBwYS10ZGVwLmMKICAgIGludCByZWdudW0sIG9mZnNldDsKICAKICAgIGlmIChsZW4gPiAxNikK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCitJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2kzODYtZGFyd2luLXRkZXAuYwky MDE3LTAyLTI2IDE5OjExOjMwLjQ4MzEyMTI4MCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yNzUyNDg1ODkg KzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9pMzg2LWRhcndpbi10ZGVw LmMJMjAxNy0wMy0wOSAyMzozNTowOS43MDQ1NDExMzkgKzAxMDAKKysrKyBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIvaTM4Ni1kYXJ3aW4tdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDIyNTcz OTk5ICswMTAwCiBAQCAtMTY3LDcgKzE2Nyw3IEBACiAgCiAgICBmb3IgKHdyaXRlX3Bhc3MgPSAw OyB3cml0ZV9wYXNzIDwgMjsgd3JpdGVfcGFzcysrKQpAQCAtNDkyLDIwICs0OTIsMjAgQEAgSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKICAgICAgICBp bnQgbnVtX20xMjggPSAwOwogIAogICAgICAgIGlmIChzdHJ1Y3RfcmV0dXJuKQotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9pMzg2LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcw MjA3Lm9yaWcvZ2RiL2kzODYtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDg2MTIxMzAyICsw MTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCTIwMTctMDItMjYg MTk6MTE6NDguMjc3MjQ4NjAzICswMTAwCi1AQCAtMjY2MSw3ICsyNjYxLDcgQEAKKy0tLSBnZGIt Ny4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9pMzg2LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5 LjcwNzU0MTE2MCArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9pMzg2LXRkZXAu YwkyMDE3LTAzLTA5IDIzOjM1OjM3LjQ5NDczNDY4OCArMDEwMAorQEAgLTI2ODIsNyArMjY4Miw3 IEBACiAgICBnZGJfYnl0ZSBidWZbNF07CiAgICBpbnQgaTsKICAgIGludCB3cml0ZV9wYXNzOwog LSAgaW50IGFyZ3Nfc3BhY2UgPSAwOwogKyAgTE9OR0VTVCBhcmdzX3NwYWNlID0gMDsKICAKLSAg IC8qIERldGVybWluZSB0aGUgdG90YWwgc3BhY2UgcmVxdWlyZWQgZm9yIGFyZ3VtZW50cyBhbmQg c3RydWN0Ci0gICAgICByZXR1cm4gYWRkcmVzcyBpbiBhIGZpcnN0IHBhc3MgKGFsbG93aW5nIGZv ciAxNi1ieXRlLWFsaWduZWQKLUBAIC0yNjY5LDcgKzI2NjksNyBAQAorICAgLyogQk5EIHJlZ2lz dGVycyBjYW4gYmUgaW4gYXJiaXRyYXJ5IHZhbHVlcyBhdCB0aGUgbW9tZW50IG9mIHRoZQorICAg ICAgaW5mZXJpb3IgY2FsbC4gIFRoaXMgY2FuIGNhdXNlIGJvdW5kYXJ5IHZpb2xhdGlvbnMgdGhh dCBhcmUgbm90CitAQCAtMjY5Nyw3ICsyNjk3LDcgQEAKICAKICAgIGZvciAod3JpdGVfcGFzcyA9 IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNzKyspCiAgICAgIHsKQEAgLTUxNCw3ICs1MTQs NyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICAg ICAgaWYgKHN0cnVjdF9yZXR1cm4pCiAgCXsKLUBAIC0yNjg2LDcgKzI2ODYsNyBAQAorQEAgLTI3 MTQsNyArMjcxNCw3IEBACiAgCiAgICAgICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCiAg CXsKQEAgLTUyMyw3ICs1MjMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kz ODYtdGRlcC5jCiAgCiAgCSAgaWYgKHdyaXRlX3Bhc3MpCiAgCSAgICB7Ci1AQCAtMjg5Myw3ICsy ODkzLDcgQEAKK0BAIC0yOTIxLDcgKzI5MjEsNyBAQAogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3Rk ZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSB0eXBlX2NvZGUgY29k ZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBAIC01MzIsNyArNTMyLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYwogIAogICAgZ2RiX2Fzc2VydCAoY29kZSA9PSBU WVBFX0NPREVfU1RSVUNUCiAgICAgICAgICAgICAgICB8fCBjb2RlID09IFRZUEVfQ09ERV9VTklP TgotQEAgLTM3MTUsNyArMzcxNSw3IEBACitAQCAtMzc0Myw3ICszNzQzLDcgQEAKICBpMzg2X2Nv bnZlcnRfcmVnaXN0ZXJfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCQkJIGludCByZWdu dW0sIHN0cnVjdCB0eXBlICp0eXBlKQogIHsKQEAgLTU0MSw3ICs1NDEsNyBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICAvKiBWYWx1ZXMgbWF5IGJl IHNwcmVhZCBhY3Jvc3MgbXVsdGlwbGUgcmVnaXN0ZXJzLiAgTW9zdCBkZWJ1Z2dpbmcKICAgICAg IGZvcm1hdHMgYXJlbid0IGV4cHJlc3NpdmUgZW5vdWdoIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9u cywgc28KLUBAIC0zNzQ4LDcgKzM3NDgsNyBAQAorQEAgLTM3NzYsNyArMzc3Niw3IEBACiAgCQkJ aW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7CkBAIC01NTAsNyArNTUwLDcgQEAg SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pMzg2LXRkZXAuYwogIAogICAgaWYgKGkz ODZfZnBfcmVnbnVtX3AgKGdkYmFyY2gsIHJlZ251bSkpCiAgICAgIHJldHVybiBpMzg3X3JlZ2lz dGVyX3RvX3ZhbHVlIChmcmFtZSwgcmVnbnVtLCB0eXBlLCB0bywKLUBAIC0zNzg0LDcgKzM3ODQs NyBAQAorQEAgLTM4MTIsNyArMzgxMiw3IEBACiAgaTM4Nl92YWx1ZV90b19yZWdpc3RlciAoc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogIAkJCXN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqZnJvbSkKICB7CkBAIC01NTksMTAgKzU1OSwxMCBAQCBJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2kzODYtdGRlcC5jCiAgCiAgICBpZiAoaTM4Nl9mcF9y ZWdudW1fcCAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSwgcmVnbnVtKSkKICAgICAgewotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9pcTIwMDAtdGRlcC5jCitJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAzMDkvZ2RiL2lxMjAwMC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41 MC4yMDE3MDIwNy5vcmlnL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDg3 MTIxMzA5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2lxMjAwMC10ZGVwLmMJ MjAxNy0wMi0yNiAxOToxMTo0OC4yNzcyNDg2MDMgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwOS5vcmlnL2dkYi9pcTIwMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzA4NTQxMTY3 ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL2lxMjAwMC10ZGVwLmMJMjAxNy0w My0wOSAyMzozNToxNC40MjU1NzQwMTkgKzAxMDAKIEBAIC02NTEsOCArNjUxLDkgQEAKICAgIGNv bnN0IGJmZF9ieXRlICp2YWw7CiAgICBiZmRfYnl0ZSBidWZbNF07CkBAIC01NzUsMTAgKzU3NSwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2lxMjAwMC10ZGVwLmMKICAgIC8q IFVzZWQgdG8gY29weSBzdHJ1Y3QgYXJndW1lbnRzIGludG8gdGhlIHN0YWNrLiAgKi8KICAgIENP UkVfQUREUiBzdHJ1Y3RfcHRyOwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9t MzJyLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tMzJyLXRkZXAuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL20zMnItdGRlcC5j CTIwMTctMDItMjYgMTk6MTE6MzAuNDg3MTIxMzA5ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL20zMnItdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjc4MjQ4NjEwICswMTAw CistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvbTMyci10ZGVwLmMJMjAxNy0wMy0w OSAyMzozNTowOS43MDg1NDExNjcgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIv bTMyci10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MjU1NzQwMTkgKzAxMDAKIEBAIC02Nzgs NyArNjc4LDcgQEAKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBnZGJfYnl0ZSAqdmFsOwpAQCAt NTg4LDEwICs1ODgsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tMzJyLXRk ZXAuYwogIAogICAgLyogRmlyc3QgZm9yY2Ugc3AgdG8gYSA0LWJ5dGUgYWxpZ25tZW50LiAgKi8K ICAgIHNwID0gc3AgJiB+MzsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbTY4ay10 ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTY4ay10ZGVwLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tNjhrLXRkZXAuYwkyMDE3 LTAyLTI2IDE5OjExOjMwLjQ4ODEyMTMxNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9tNjhrLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3ODI0ODYxMCArMDEwMAorLS0t IGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL202OGstdGRlcC5jCTIwMTctMDMtMDkgMjM6 MzU6MDkuNzA5NTQxMTc0ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL202OGst dGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI1NTc0MDE5ICswMTAwCiBAQCAtMzc3LDcgKzM3 Nyw3IEBACiAgewogICAgc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAo Z2RiYXJjaCk7CkBAIC02MTQsMTAgKzYxNCwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL202OGstdGRlcC5jCiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4g NCBieXRlcyBhcmUgbGVmdCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAg Ki8KLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbTg4ay10ZGVwLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbTg4ay10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tODhrLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMw LjQ4ODEyMTMxNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tODhrLXRkZXAu YwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI3ODI0ODYxMCArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIw MTcwMzA5Lm9yaWcvZ2RiL204OGstdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzA5NTQxMTc0 ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL204OGstdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MTQuNDI2NTc0MDI2ICswMTAwCiBAQCAtMjUzLDEzICsyNTMsMTMgQEAKICB7CiAg ICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7 CkBAIC02NDUsMTAgKzY0NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL204 OGstdGRlcC5jCiAgCiAgICAgICAgaWYgKG04OGtfaW5fcmVnaXN0ZXJfcCAodHlwZSkpCiAgCXsK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbWVwLXRkZXAuYworSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAyMDcub3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ4OTEy MTMyMyArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tZXAtdGRlcC5jCTIwMTct MDItMjYgMTk6MTE6NDguMjc5MjQ4NjE4ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDku b3JpZy9nZGIvbWVwLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxMDU0MTE4MSArMDEwMAor KysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9tZXAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6 MTQuNDI2NTc0MDI2ICswMTAwCiBAQCAtMjI2Miw3ICsyMjYyLDcgQEAKICAKICAgIGZvciAoaSA9 IDA7IGkgPCBhcmdjOyBpKyspCkBAIC02NTgsMTAgKzY1OCwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL21lcC10ZGVwLmMKICAKICAgICAgICBpZiAoYXJnX2xlbiA+IE1FUF9H UFJfU0laRSkKICAgICAgICAgIHsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbWlw cy10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvbWlwcy10ZGVwLmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9taXBzLXRkZXAuYwky MDE3LTAyLTI2IDE5OjExOjMwLjQ5MzEyMTM1MiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi9taXBzLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MTI0ODYzMiArMDEwMAor LS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21pcHMtdGRlcC5jCTIwMTctMDMtMDkg MjM6MzU6MDkuNzE0NTQxMjA5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21p cHMtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI4NTc0MDQwICswMTAwCiBAQCAtNDc0LDcg KzQ3NCw3IEBACiAgbWlwc194ZmVyX3JlZ2lzdGVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAJCSAgICBpbnQgcmVnX251bSwgaW50IGxlbmd0 aCwKQEAgLTgwNywxMCArODA3LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv bWlwcy10ZGVwLmMKICAKICAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvbW4xMDMwMC10ZGVwLmMKK0luZGV4OiBnZGIt Ny4xMi41MC4yMDE3MDMwOS9nZGIvbW4xMDMwMC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9tbjEwMzAwLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjEx OjMwLjQ5NDEyMTM1OSArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9tbjEwMzAw LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MTI0ODYzMiArMDEwMAorLS0tIGdkYi03LjEy LjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL21uMTAzMDAtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDku NzE1NTQxMjE2ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL21uMTAzMDAtdGRl cC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDI5NTc0MDQ3ICswMTAwCiBAQCAtMTIxOSw3ICsxMjE5 LDcgQEAKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVy IChnZGJhcmNoKTsKICAgIGNvbnN0IGludCBwdXNoX3NpemUgPSByZWdpc3Rlcl9zaXplIChnZGJh cmNoLCBFX1BDX1JFR05VTSk7CkBAIC04MjAsMTAgKzgyMCwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL21uMTAzMDAtdGRlcC5jCiAgICBpbnQgc3RhY2tfb2Zmc2V0ID0gMDsK ICAgIGludCBhcmdudW07CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9tdC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9n ZGIvbXQtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9n ZGIvbXQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDk1MTIxMzY2ICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL210LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MTI0 ODYzMiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL210LXRkZXAuYwky MDE3LTAzLTA5IDIzOjM1OjA5LjcxNjU0MTIyMyArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcw MzA5L2dkYi9tdC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40Mjk1NzQwNDcgKzAxMDAKIEBA IC03ODgsOSArNzg4LDkgQEAKICAgIGdkYl9ieXRlIGJ1ZltNVF9NQVhfU1RSVUNUX1NJWkVdOwog ICAgaW50IGFyZ3JlZyA9IE1UXzFTVF9BUkdSRUc7CkBAIC04MzYsMTAgKzgzNiwxMCBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL210LXRkZXAuYwogICAgaW50IGksIGo7CiAgCiAg ICAvKiBGaXJzdCBoYW5kbGUgaG93ZXZlciBtYW55IGFyZ3Mgd2UgY2FuIGZpdCBpbnRvIE1UXzFT VF9BUkdSRUcgdGhydQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9wcGMtc3lzdi10 ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcHBjLXN5c3YtdGRlcC5jCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvcHBjLXN5c3YtdGRl cC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDk2MTIxMzczICswMTAwCi0rKysgZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3BwYy1zeXN2LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MjI0ODYz OSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3BwYy1zeXN2LXRkZXAu YwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxNzU0MTIzMCArMDEwMAorKysrIGdkYi03LjEyLjUwLjIw MTcwMzA5L2dkYi9wcGMtc3lzdi10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzA1NzQwNTQg KzAxMDAKIEBAIC02Nyw3ICs2Nyw3IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9 IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgb3BlbmNsX2FiaSA9IHBwY19z eXN2X3VzZV9vcGVuY2xfYWJpICh2YWx1ZV90eXBlIChmdW5jdGlvbikpOwpAQCAtODg0LDEwICs4 ODQsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9wcGMtc3lzdi10ZGVwLmMK ICAKICAgIC8qIEVuZm9yY2UgYWxpZ25tZW50IG9mIHN0YWNrIGxvY2F0aW9uLCBpZiByZXF1ZXN0 ZWQuICAqLwogICAgaWYgKGFsaWduID4gdGRlcC0+d29yZHNpemUpCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3JsNzgtdGRlcC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL3JsNzgtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3Jp Zy9nZGIvcmw3OC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTozMC40OTYxMjEzNzMgKzAxMDAKLSsr KyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcmw3OC10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMTo0 OC4yODIyNDg2MzkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dkYi9ybDc4 LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcxNzU0MTIzMCArMDEwMAorKysrIGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi9ybDc4LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjE0LjQzMDU3NDA1 NCArMDEwMAogQEAgLTEzNTIsOCArMTM1Miw4IEBACiAgICBmb3IgKGkgPSBuYXJncyAtIDE7IGkg Pj0gMDsgaS0tKQogICAgICB7CkBAIC04OTksMTAgKzg5OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3JsNzgtdGRlcC5jCiAgCiAgICAgICAgc3AgLT0gY29udGFpbmVyX2xl bjsKICAgICAgICB3cml0ZV9tZW1vcnkgKHJsNzhfbWFrZV9kYXRhX2FkZHJlc3MgKHNwKSwKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9yczYwMDAtYWl4LXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjMwLjQ5NzEyMTM4MCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9yczYwMDAtYWl4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4MjI0ODYzOSArMDEwMAor LS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MDkuNzE4NTQxMjM3ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL3JzNjAwMC1haXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDMwNTc0MDU0ICswMTAw CiBAQCAtMTg2LDkgKzE4Niw5IEBACiAgICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2Ri YXJjaF90ZGVwIChnZGJhcmNoKTsKICAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2Ri YXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKQEAgLTkyNCwxMSArOTI0LDExIEBAIEluZGV4OiBn ZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKICAKICAgICAgICBpZiAo YXJnYnl0ZXMpCiAgCXsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvczM5MC1saW51 eC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvczM5MC1saW51eC10ZGVw LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9zMzkwLWxp bnV4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjQ5OTEyMTM5NSArMDEwMAotKysrIGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi9zMzkwLWxpbnV4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4 LjI4NDI0ODY1NCArMDEwMAotQEAgLTMxMjUsNyArMzEyNSw3IEBACistLS0gZ2RiLTcuMTIuNTAu MjAxNzAzMDkub3JpZy9nZGIvczM5MC1saW51eC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43 MjA1NDEyNTAgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvczM5MC1saW51eC10 ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzI1NzQwNjggKzAxMDAKK0BAIC0zMTI4LDcgKzMx MjgsNyBAQAogIC8qIERldGVybWluZSB3aGV0aGVyIE4gaXMgYSBwb3dlciBvZiB0d28uICAqLwog IAogIHN0YXRpYyBpbnQKQEAgLTkzNyw3ICs5MzcsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3MzOTAtbGludXgtdGRlcC5jCiAgewogICAgcmV0dXJuIG4gJiYgKChuICYgKG4g LSAxKSkgPT0gMCk7CiAgfQotQEAgLTMxODIsNyArMzE4Miw3IEBACitAQCAtMzE4NSw3ICszMTg1 LDcgQEAKICAJCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlzX3VubmFtZWQpCiAg ewogICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcp KTsKQEAgLTk0NiwxMCArOTQ2LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv czM5MC1saW51eC10ZGVwLmMKICAgIGludCB3cml0ZV9tb2RlID0gYXMtPnJlZ2NhY2hlICE9IE5V TEw7CiAgCiAgICBpZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQgKHR5cGUpKQotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zY29yZS10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwOS9nZGIvc2NvcmUtdGRlcC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvc2NvcmUtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNDk5MTIxMzk1 ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTAy LTI2IDE5OjExOjQ4LjI4NDI0ODY1NCArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9y aWcvZ2RiL3Njb3JlLXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyMTU0MTI1OCArMDEwMAor KysrIGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zY29yZS10ZGVwLmMJMjAxNy0wMy0wOSAyMzoz NToxNC40MzI1NzQwNjggKzAxMDAKIEBAIC01MjUsNyArNTI1LDcgQEAKICAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKICAgIGludCBh cmdudW07CkBAIC05NTksMTAgKzk1OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcv Z2RiL3Njb3JlLXRkZXAuYwogICAgQ09SRV9BRERSIHN0YWNrX29mZnNldCA9IDA7CiAgICBDT1JF X0FERFIgYWRkciA9IDA7CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NoLXRk ZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zaC10ZGVwLmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9zaC10ZGVwLmMJMjAxNy0wMi0y NiAxOToxMTozMC41MDAxMjE0MDIgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv c2gtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjg1MjQ4NjYxICswMTAwCistLS0gZ2RiLTcu MTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvc2gtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzIx NTQxMjU4ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NoLXRkZXAuYwkyMDE3 LTAzLTA5IDIzOjM1OjE0LjQzMzU3NDA3NSArMDEwMAogQEAgLTgxNCw3ICs4MTQsNyBAQAogIHN0 YXRpYyBpbnQKICBzaF91c2Vfc3RydWN0X2NvbnZlbnRpb24gKGludCByZW5lc2FzX2FiaSwgc3Ry dWN0IHR5cGUgKnR5cGUpCkBAIC0xMDAxLDEwICsxMDAxLDEwIEBAIEluZGV4OiBnZGItNy4xMi41 MC4yMDE3MDIwNy9nZGIvc2gtdGRlcC5jCiAgICBpbnQgcGFzc19vbl9zdGFjayA9IDA7CiAgICBp bnQgbGFzdF9yZWdfYXJnID0gSU5UX01BWDsKICAKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIw Ny9nZGIvc2g2NC10ZGVwLmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc2g2NC10 ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9zaDY0 LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjUwMTEyMTQwOSArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9zaDY0LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4NTI0ODY2 MSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA5Lm9yaWcvZ2RiL3NoNjQtdGRlcC5jCTIw MTctMDMtMDkgMjM6MzU6MDkuNzIyNTQxMjY0ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAz MDkvZ2RiL3NoNjQtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM0NTc0MDgyICswMTAwCiBA QCAtMTA2Miw3ICsxMDYyLDcgQEAKICAJCSAgICAgIENPUkVfQUREUiBzdHJ1Y3RfYWRkcikKICB7 CkBAIC0xMDIzLDEwICsxMDIzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv c2g2NC10ZGVwLmMKICAgIGludCBhcmdyZWdfc2l6ZTsKICAgIGludCBmcF9hcmdzWzEyXTsKICAK LUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3BhcmMtdGRlcC5jCitJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3NwYXJjLXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NwYXJjLXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMw LjUwMjEyMTQxNiArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9zcGFyYy10ZGVw LmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODYyNDg2NjggKzAxMDAKKy0tLSBnZGItNy4xMi41MC4y MDE3MDMwOS5vcmlnL2dkYi9zcGFyYy10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjM1NDEy NzEgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmMtdGRlcC5jCTIwMTct MDMtMDkgMjM6MzU6MTQuNDM0NTc0MDgyICswMTAwCiBAQCAtNTY2LDcgKzU2Niw3IEBACiAgICBm b3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMTAzNiwxMCArMTAzNiwxMCBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwYXJjLXRkZXAuYwogIAogICAgICAg IGlmIChzcGFyY19zdHJ1Y3R1cmVfb3JfdW5pb25fcCAodHlwZSkKICAJICB8fCAoc3BhcmNfZmxv YXRpbmdfcCAodHlwZSkgJiYgbGVuID09IDE2KQotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9zcGFyYzY0LXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi9zcGFy YzY0LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L3NwYXJjNjQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTAzMTIxNDIzICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwYXJjNjQtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6 NDguMjg2MjQ4NjY4ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvc3Bh cmM2NC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjQ1NDEyNzggKzAxMDAKKysrKyBnZGIt Ny4xMi41MC4yMDE3MDMwOS9nZGIvc3BhcmM2NC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40 MzU1NzQwODkgKzAxMDAKIEBAIC02NzAsNyArNjcwLDggQEAKICAKICBzdGF0aWMgdm9pZApAQCAt MTA5NSwxMCArMTA5NSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwYXJj NjQtdGRlcC5jCiAgICAgICAgaW50IHJlZ251bSA9IC0xOwogICAgICAgIGdkYl9ieXRlIGJ1Zlsx Nl07CiAgCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3NwdS10ZGVwLmMKK0luZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3NwdS10ZGVwLmMJMjAxNy0wMi0yNiAxOToxMToz MC41MDMxMjE0MjMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3B1LXRkZXAu YwkyMDE3LTAyLTI2IDE5OjExOjQ4LjI4NzI0ODY3NSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIw MTcwMzA5Lm9yaWcvZ2RiL3NwdS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjU1NDEyODUg KzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvc3B1LXRkZXAuYwkyMDE3LTAzLTA5 IDIzOjM1OjE0LjQzNTU3NDA4OSArMDEwMAogQEAgLTE0MzAsNyArMTQzMCw3IEBACiAgICAgICAg c3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwogICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0g Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CkBAIC0xMTE3LDEwICsxMTE3LDEwIEBA IEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvc3B1LXRkZXAuYwogIAkgIGludCBwcmVm ZXJyZWRfc2xvdDsKICAJICAKICAJICBpZiAoc3B1X3NjYWxhcl92YWx1ZV9wICh0eXBlKSkKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGljNngtdGRlcC5jCitJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3RpYzZ4LXRkZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEy LjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3RpYzZ4LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjUw NDEyMTQzMCArMDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90aWM2eC10ZGVwLmMJ MjAxNy0wMi0yNiAxOToxMTo0OC4yODcyNDg2NzUgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwOS5vcmlnL2dkYi90aWM2eC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTowOS43MjU1NDEyODUg KzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwOS9nZGIvdGljNngtdGRlcC5jCTIwMTctMDMt MDkgMjM6MzU6MTQuNDM2NTc0MDk2ICswMTAwCiBAQCAtODk5LDcgKzg5OSw3IEBACiAgICBpbnQg YXJncmVnID0gMDsKICAgIGludCBhcmdudW07CkBAIC0xMTU4LDEwICsxMTU4LDEwIEBAIEluZGV4 OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGljNngtdGRlcC5jCiAgCiAgCSAgYWRkciA9IHNw ICsgc3RhY2tfb2Zmc2V0OwogIAkgIHdyaXRlX21lbW9yeSAoYWRkciwgdmFsLCBsZW4pOwotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90aWxlZ3gtdGRlcC5jCitJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4x Mi41MC4yMDE3MDIwNy5vcmlnL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAu NTA0MTIxNDMwICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3RpbGVneC10ZGVw LmMJMjAxNy0wMi0yNiAxOToxMTo0OC4yODcyNDg2NzUgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4y MDE3MDMwOS5vcmlnL2dkYi90aWxlZ3gtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI2NTQx MjkyICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3RpbGVneC10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNToxNC40MzY1NzQwOTYgKzAxMDAKIEBAIC0yODksNyArMjg5LDcgQEAKICAg IENPUkVfQUREUiBzdGFja19kZXN0ID0gc3A7CiAgICBpbnQgYXJncmVnID0gVElMRUdYX1IwX1JF R05VTTsKQEAgLTExNzEsMTAgKzExNzEsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi90aWxlZ3gtdGRlcC5jCiAgICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgZm91cl96ZXJvX3dv cmRzWzE2XSA9IHsgMCB9OwogIAogICAgLyogSWYgc3RydWN0X3JldHVybiBpcyAxLCB0aGVuIHRo ZSBzdHJ1Y3QgcmV0dXJuIGFkZHJlc3Mgd2lsbAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi92ODUwLXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi92ODUwLXRk ZXAuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Y4NTAt dGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTA1MTIxNDM4ICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Y4NTAtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjg4MjQ4Njgy ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIvdjg1MC10ZGVwLmMJMjAx Ny0wMy0wOSAyMzozNTowOS43MjY1NDEyOTIgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMw OS9nZGIvdjg1MC10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNToxNC40MzY1NzQwOTYgKzAxMDAKIEBA IC0xMDE5LDcgKzEwMTksNyBAQAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGFyZ3JlZzsKQEAgLTExOTMsMTAgKzEx OTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92ODUwLXRkZXAuYwogICAg ICAgIGdkYl9ieXRlICp2YWw7CiAgICAgICAgZ2RiX2J5dGUgdmFsYnVmW3Y4NTBfcmVnX3NpemVd OwogIAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92YXgtdGRlcC5jCitJbmRleDog Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAu NTA1MTIxNDM4ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZheC10ZGVwLmMJ MjAxNy0wMi0yNiAxOToxMTo0OC4yODgyNDg2ODIgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwOS5vcmlnL2dkYi92YXgtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI3NTQxMjk5ICsw MTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3ZheC10ZGVwLmMJMjAxNy0wMy0wOSAy MzozNToxNC40Mzc1NzQxMDMgKzAxMDAKIEBAIC0xMTEsNyArMTExLDcgQEAKICAgIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsKICAgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKQEAg LTEyMTUsMTAgKzEyMTUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi92YXgt dGRlcC5jCiAgCiAgICAgICAgc3AgLT0gKGxlbiArIDMpICYgfjM7CiAgICAgICAgY291bnQgKz0g KGxlbiArIDMpIC8gNDsKLUluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIveHN0b3JteTE2 LXRkZXAuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA5L2dkYi94c3Rvcm15MTYtdGRlcC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIveHN0b3JteTE2 LXRkZXAuYwkyMDE3LTAyLTI2IDE5OjExOjMwLjUwNjEyMTQ0NSArMDEwMAotKysrIGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6NDguMjg4 MjQ4NjgyICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDkub3JpZy9nZGIveHN0b3JteTE2 LXRkZXAuYwkyMDE3LTAzLTA5IDIzOjM1OjA5LjcyNzU0MTI5OSArMDEwMAorKysrIGdkYi03LjEy LjUwLjIwMTcwMzA5L2dkYi94c3Rvcm15MTYtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MTQuNDM3 NTc0MTAzICswMTAwCiBAQCAtMjMzLDggKzIzMyw5IEBACiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBDT1JFX0FERFIgc3Rh Y2tfZGVzdCA9IHNwOwpAQCAtMTIzMSwxMCArMTIzMSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAu MjAxNzAyMDcvZ2RiL3hzdG9ybXkxNi10ZGVwLmMKICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CiAg ICBnZGJfYnl0ZSBidWZbeHN0b3JteTE2X3BjX3NpemVdOwogIAotSW5kZXg6IGdkYi03LjEyLjUw LjIwMTcwMjA3L2dkYi94dGVuc2EtdGRlcC5jCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDkv Z2RiL3h0ZW5zYS10ZGVwLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5v cmlnL2dkYi94dGVuc2EtdGRlcC5jCTIwMTctMDItMjYgMTk6MTE6MzAuNTA3MTIxNDUyICswMTAw Ci0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0wMi0yNiAx OToxMTo0OC4yODkyNDg2ODkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwOS5vcmlnL2dk Yi94dGVuc2EtdGRlcC5jCTIwMTctMDMtMDkgMjM6MzU6MDkuNzI4NTQxMzA2ICswMTAwCisrKysg Z2RiLTcuMTIuNTAuMjAxNzAzMDkvZ2RiL3h0ZW5zYS10ZGVwLmMJMjAxNy0wMy0wOSAyMzozNTox NC40Mzg1NzQxMTAgKzAxMDAKIEBAIC0xNjM5LDggKzE2MzksNyBAQAogIAogICAgICAgIGlmIChs ZW4gPiAoY2FsbHNpemUgPiA4ID8gOCA6IDE2KSkKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVs LWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0 cmluZ3MucGF0Y2gKaW5kZXggMTQ3OGNhYi4uOWVlYmVmNiAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1p bnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtZm9ydHJh bi12bGEtc3RyaW5ncy5wYXRjaApAQCAtMjMsMjMgKzIzLDIzIEBAIGdpdCBkaWZmIC0tc3RhdCAt cCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwogIGdk Yi92YWxwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0tCiAgMjAgZmls ZXMgY2hhbmdlZCwgODI3IGluc2VydGlvbnMoKyksIDExMCBkZWxldGlvbnMoLSkKIAotSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9ORVdTCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDQvZ2RiL05FV1MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dk Yi9ORVdTCTIwMTctMDItMDcgMjA6NTM6NDguODUxODg3MjYyICswMTAwCi0rKysgZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL05FV1MJMjAxNy0wMi0wNyAyMDo1Mzo1NC40Mzc5Mjk2ODkgKzAxMDAK LUBAIC03Myw2ICs3Myw4IEBACi0gICBFcmFzZXMgYWxsIHRoZSBmbGFzaCBtZW1vcnkgcmVnaW9u cyByZXBvcnRlZCBieSB0aGUgdGFyZ2V0LiAgVGhpcyBpcwotICAgZXF1aXZhbGVudCB0byB0aGUg Q0xJIGNvbW1hbmQgZmxhc2gtZXJhc2UuCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9n ZGIvTkVXUwkyMDE3LTAzLTA0IDIxOjQ3OjM3LjQ5MTAzOTg3MyArMDEwMAorKysrIGdkYi03LjEy LjUwLjIwMTcwMzA0L2dkYi9ORVdTCTIwMTctMDMtMDQgMjE6NDc6NDAuMjgzMDYwODU2ICswMTAw CitAQCAtOTQsNiArOTQsOCBAQAorICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlIGVtcHR5IHN0 cmluZy4gIEN1cnJlbnRseSwgdGhlIG9ubHkgc3VwcG9ydGVkCisgICB0YXJnZXRzIGFyZSBBUk0s IFBvd2VyUEMgYW5kIFMvMzkwLgogIAogKyogRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBk eW5hbWljIHR5cGVzLgogKwogICoqKiBDaGFuZ2VzIGluIEdEQiA3LjEyCiAgCiAgKiBHREIgYW5k IEdEQnNlcnZlciBub3cgYnVpbGQgd2l0aCBhIEMrKyBjb21waWxlciBieSBkZWZhdWx0LgotSW5k ZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9jLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy4x Mi41MC4yMDE3MDMwNC9nZGIvYy12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIu NTAuMjAxNzAyMDcub3JpZy9nZGIvYy12YWxwcmludC5jCTIwMTctMDItMDcgMjA6NTM6NDguODUx ODg3MjYyICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2MtdmFscHJpbnQuYwky MDE3LTAyLTA3IDIwOjUzOjU0LjQzNzkyOTY4OSArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcw MzA0Lm9yaWcvZ2RiL2MtdmFscHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ3OjM3LjQ5MjAzOTg4MSAr MDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9jLXZhbHByaW50LmMJMjAxNy0wMy0w NCAyMTo0Nzo0MC4yODMwNjA4NTYgKzAxMDAKIEBAIC02NDYsNiArNjQ2LDI4IEBACiAgICAgICAg ZWxzZQogIAl7CkBAIC02OSwxMSArNjksMTEgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3 L2dkYi9jLXZhbHByaW50LmMKICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIoIik7CiAg CSAgdHlwZV9wcmludCAodmFsdWVfdHlwZSAodmFsKSwgIiIsIHN0cmVhbSwgLTEpOwogIAkgIGZw cmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIikgIik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi9kd2Fy ZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4xMi41MC4yMDE3MDIwNy5vcmlnL2dkYi9k d2FyZjJyZWFkLmMJMjAxNy0wMi0wNyAyMDo1Mzo0OC44NjI4ODczNDUgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDItMDcgMjA6NTM6NTQuNDQy OTI5NzI3ICswMTAwCi1AQCAtMTc2OCw3ICsxNzY4LDggQEAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwNC5vcmlnL2dkYi9kd2FyZjJyZWFkLmMJMjAxNy0wMy0wNCAyMTo0NzozNy41MDcwMzk5OTQg KzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZHdhcmYycmVhZC5jCTIwMTctMDMt MDQgMjE6NDc6NDAuMjg4MDYwODk0ICswMTAwCitAQCAtMTc5NSw3ICsxNzk1LDggQEAKICAKICBz dGF0aWMgaW50IGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICph dHRyLAogIAkJCQkgc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LApA QCAtODMsNyArODMsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJl YWQuYwogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVyZmFjZSAqLwogIAotQEAgLTExMzk5 LDcgKzExNDAwLDcgQEAKK0BAIC0xMTQ5MSw3ICsxMTQ5Miw3IEBACiAgICAgIHsKICAgICAgICBu ZXdvYmotPnN0YXRpY19saW5rCiAgCT0gWE9CTkVXICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNr LCBzdHJ1Y3QgZHluYW1pY19wcm9wKTsKQEAgLTkyLDcgKzkyLDcgQEAgSW5kZXg6IGdkYi03LjEy LjUwLjIwMTcwMjA3L2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogIAogICAgY3UtPmxpc3RfaW5f c2NvcGUgPSAmbG9jYWxfc3ltYm9sczsKLUBAIC0xNDQ2MCwyOSArMTQ0NjEsOTQgQEAKK0BAIC0x NDcxOCwyOSArMTQ3MTksOTQgQEAKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29i amZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUs ICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAg LTE5OCw3ICsxOTgsNyBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJl YWQuYwogICAgY2hhcl90eXBlID0gbGFuZ3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3UtPmxhbmd1 YWdlX2RlZm4sIGdkYmFyY2gpOwogICAgdHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAoTlVMTCwg Y2hhcl90eXBlLCByYW5nZV90eXBlKTsKICAKLUBAIC0xNDgxOSw3ICsxNDg4NSw4IEBACitAQCAt MTUwNzcsNyArMTUxNDMsOCBAQAogIAogIHN0YXRpYyBpbnQKICBhdHRyX3RvX2R5bmFtaWNfcHJv cCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCkBA IC0yMDgsNyArMjA4LDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9kd2FyZjJy ZWFkLmMKICB7CiAgICBzdHJ1Y3QgZHdhcmYyX3Byb3BlcnR5X2JhdG9uICpiYXRvbjsKICAgIHN0 cnVjdCBvYnN0YWNrICpvYnN0YWNrID0gJmN1LT5vYmpmaWxlLT5vYmpmaWxlX29ic3RhY2s7Ci1A QCAtMTQ4MjksMTQgKzE0ODk2LDMzIEBACitAQCAtMTUwODcsMTQgKzE1MTU0LDMzIEBACiAgCiAg ICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMjQ2LDcgKzI0Niw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0K ICAgIGVsc2UgaWYgKGF0dHJfZm9ybV9pc19yZWYgKGF0dHIpKQogICAgICB7Ci1AQCAtMTQ4Njks OCArMTQ5NTUsMjggQEAKK0BAIC0xNTEyNyw4ICsxNTIxMywyOCBAQAogIAkJYmF0b24gPSBYT0JO RVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24pOwogIAkJYmF0b24tPnJl ZmVyZW5jZWRfdHlwZSA9IGRpZV90eXBlICh0YXJnZXRfZGllLCB0YXJnZXRfY3UpOwogIAkJYmF0 b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKQEAgLTI3Nyw3ICsyNzcsNyBAQCBJbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJlYWQuYwogIAkJcHJvcC0+ZGF0YS5i YXRvbiA9IGJhdG9uOwogIAkJcHJvcC0+a2luZCA9IFBST1BfTE9DRVhQUjsKICAJCWdkYl9hc3Nl cnQgKHByb3AtPmRhdGEuYmF0b24gIT0gTlVMTCk7Ci1AQCAtMTQ5ODEsMjQgKzE1MDg3LDI0IEBA CitAQCAtMTUyMzksMjQgKzE1MzQ1LDI0IEBACiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRp ZSwgRFdfQVRfYnl0ZV9zdHJpZGUsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMzA2LDcgKzMwNiw3 IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVhZC5jCiAgCXsKICAJ ICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxjdWxhdGlvbiBoZXJl LiAgKi8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05TVCAmJiBoaWdoLmtpbmQgPT0gUFJP UF9DT05TVCkKLUBAIC0yMjMzMyw3ICsyMjQzOSw3IEBACitAQCAtMjI4NzEsNyArMjI5NzcsNyBA QAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2FsbG9jYXRlZCwgY3UpOwogICAg aWYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMxNSw3ICszMTUsNyBA QCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAg YWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUsIG9iamZpbGUpOwog ICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjIzNDgsNyArMjI0NTQsNyBA QAorQEAgLTIyODg2LDcgKzIyOTkyLDcgQEAKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBE V19BVF9hc3NvY2lhdGVkLCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkK ICAgICAgewpAQCAtMzI0LDcgKzMyNCw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvZHdhcmYycmVhZC5jCiAgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFU RUQsIHByb3AsIHR5cGUsIG9iamZpbGUpOwogICAgICB9CiAgICBlbHNlIGlmIChhdHRyICE9IE5V TEwpCi1AQCAtMjIzNjEsNyArMjI0NjcsNyBAQAorQEAgLTIyODk5LDcgKzIzMDA1LDcgQEAKICAK ICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUuICAqLwogICAg YXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1KTsKQEAgLTMz MywxMCArMzMzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZHdhcmYycmVh ZC5jCiAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlw ZSwgb2JqZmlsZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNo ID09IE5VTEwpCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2YtdHlwZXByaW50LmMK K0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZi10eXBlcHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0w Mi0wNyAyMDo1Mzo0OC44NjM4ODczNTMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvZi10eXBlcHJpbnQuYwkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0MzkyOTczNCArMDEwMAorLS0t IGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL2YtdHlwZXByaW50LmMJMjAxNy0wMy0wNCAy MTo0NzoyNy43ODk5NjY5NjYgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZi10 eXBlcHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ4OjIyLjE2MzM3NTYwNCArMDEwMAogQEAgLTM3LDcg KzM3LDcgQEAKICAjZW5kaWYKICAKQEAgLTM0Niw5ICszNDYsOSBAQCBJbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL2YtdHlwZXByaW50LmMKICAKICB2b2lkIGZfdHlwZV9wcmludF92YXJz cGVjX3ByZWZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwKICAJCQkJICBpbnQs IGludCk7Ci1AQCAtNTQsMTggKzU0LDYgQEAKK0BAIC01MywxOCArNTMsNiBAQAorIHsKICAgIGVu dW0gdHlwZV9jb2RlIGNvZGU7Ci0gICBpbnQgZGVtYW5nbGVkX2FyZ3M7CiAgCiAtICBpZiAodHlw ZV9ub3RfYXNzb2NpYXRlZCAodHlwZSkpCiAtICAgIHsKQEAgLTM2NSwxNiArMzY1LDE2IEBAIElu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZi10eXBlcHJpbnQuYwogICAgZl90eXBlX3By aW50X2Jhc2UgKHR5cGUsIHN0cmVhbSwgc2hvdywgbGV2ZWwpOwogICAgY29kZSA9IFRZUEVfQ09E RSAodHlwZSk7CiAgICBpZiAoKHZhcnN0cmluZyAhPSBOVUxMICYmICp2YXJzdHJpbmcgIT0gJ1ww JykKLUBAIC04Nyw3ICs3NSw3IEBACi0gICAgICAgICAgc28gZG9uJ3QgcHJpbnQgYW4gYWRkaXRp b25hbCBwYWlyIG9mICgpJ3MuICAqLworQEAgLTg5LDcgKzc3LDcgQEAKICAKLSAgICAgICBkZW1h bmdsZWRfYXJncyA9IHZhcnN0cmluZ1tzdHJsZW4gKHZhcnN0cmluZykgLSAxXSA9PSAnKSc7IAor ICAgICAgIGRlbWFuZ2xlZF9hcmdzID0gKCp2YXJzdHJpbmcgIT0gJ1wwJworIAkJCSYmIHZhcnN0 cmluZ1tzdHJsZW4gKHZhcnN0cmluZykgLSAxXSA9PSAnKScpOwogLSAgICAgIGZfdHlwZV9wcmlu dF92YXJzcGVjX3N1ZmZpeCAodHlwZSwgc3RyZWFtLCBzaG93LCAwLCBkZW1hbmdsZWRfYXJncywg MCk7CiArICAgICAgZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4ICh0eXBlLCBzdHJlYW0sIHNo b3csIDAsIGRlbWFuZ2xlZF9hcmdzLCAwLCAwKTsKICAgICB9CiAgfQogIAotQEAgLTE1Nyw3ICsx NDUsNyBAQAorQEAgLTE1OSw3ICsxNDcsNyBAQAogIHN0YXRpYyB2b2lkCiAgZl90eXBlX3ByaW50 X3ZhcnNwZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKICAJCQkgICAgIGludCBzaG93LCBpbnQgcGFzc2VkX2FfcHRyLCBpbnQgZGVtYW5nbGVkX2Fy Z3MsCkBAIC0zODMsNyArMzgzLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi9m LXR5cGVwcmludC5jCiAgewogICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9ib3VuZDsKICAKLUBA IC0xODEsMzQgKzE2OSw1MCBAQAorQEAgLTE4MywzNCArMTcxLDUwIEBACiAgCWZwcmludGZfZmls dGVyZWQgKHN0cmVhbSwgIigiKTsKICAKICAgICAgICBpZiAodHlwZV9ub3RfYXNzb2NpYXRlZCAo dHlwZSkpCkBAIC00NjAsNyArNDYwLDcgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9mLXR5cGVwcmludC5jCiAgICAgICAgaWYgKGFycmF5cHJpbnRfcmVjdXJzZV9sZXZlbCA9PSAx KQogIAlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpIik7CiAgICAgICAgZWxzZQotQEAgLTIx OSwxMyArMjIzLDE0IEBACitAQCAtMjIxLDEzICsyMjUsMTQgQEAKICAgICAgY2FzZSBUWVBFX0NP REVfUFRSOgogICAgICBjYXNlIFRZUEVfQ09ERV9SRUY6CiAgICAgICAgZl90eXBlX3ByaW50X3Zh cnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLCAxLCAwLApA QCAtNDc3LDcgKzQ3Nyw3IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZi10eXBl cHJpbnQuYwogICAgICAgIGlmIChwYXNzZWRfYV9wdHIpCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0 cmVhbSwgIikiKTsKICAKLUBAIC0zNzYsNyArMzgxLDcgQEAKK0BAIC0zNzgsNyArMzgzLDcgQEAK ICAJICAgICAgZnB1dHNfZmlsdGVyZWQgKCIgOjogIiwgc3RyZWFtKTsKICAJICAgICAgZnB1dHNf ZmlsdGVyZWQgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaW5kZXgpLCBzdHJlYW0pOwogIAkgICAg ICBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKFRZUEVfRklFTERfVFlQRSAodHlwZSwgaW5k ZXgpLApAQCAtNDg2LDEwICs0ODYsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi9mLXR5cGVwcmludC5jCiAgCSAgICAgIGZwdXRzX2ZpbHRlcmVkICgiXG4iLCBzdHJlYW0pOwog IAkgICAgfQogIAkgIGZwcmludGZpX2ZpbHRlcmVkIChsZXZlbCwgc3RyZWFtLCAiRW5kIFR5cGUg Iik7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBn ZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2RidHlwZXMuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wMi0wNyAyMDo1Mzo0OC44 NjU4ODczNjggKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvZ2RidHlwZXMuYwky MDE3LTAyLTA3IDIwOjUzOjU0LjQ0NDkyOTc0MiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcw MzA0Lm9yaWcvZ2RiL2dkYnR5cGVzLmMJMjAxNy0wMy0wNCAyMTo0NzozNy41MTAwNDAwMTYgKzAx MDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvZ2RidHlwZXMuYwkyMDE3LTAzLTA0IDIx OjQ3OjQwLjI4OTA2MDkwMiArMDEwMAogQEAgLTE4MTQsNyArMTgxNCw4IEBACiAgICB0eXBlID0g Y2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgCkBAIC01ODEsMTAgKzU4MSwxMCBAQCBJbmRleDogZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL2dkYnR5cGVzLmMKICAJICByZXNvbHZlZF90eXBlID0gcmVz b2x2ZV9keW5hbWljX2FycmF5ICh0eXBlLCBhZGRyX3N0YWNrKTsKICAJICBicmVhazsKICAKLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNj CitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4 eC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvdmxhLWN4eC5jYwkyMDE3LTAyLTA3IDIwOjUzOjQ4Ljg2Njg4NzM3NSArMDEw MAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHgu Y2MJMjAxNy0wMi0wNyAyMDo1Mzo1NC40NDQ5Mjk3NDIgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4y MDE3MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MJMjAxNy0wMy0wNCAy MTo0NzozNy41MTEwNDAwMjMgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVz dHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCTIwMTctMDMtMDQgMjE6NDc6NDAuMjg5MDYwOTAyICsw MTAwCiBAQCAtMTUsNiArMTUsMTAgQEAKICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KQEAgLTYxMywxMCArNjEzLDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIv dGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmNjCiArCiAgICByZXR1cm4gdmxhWzJdOwogIH0KLUlu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4 cAorSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1j eHguZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVz dHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cAkyMDE3LTAyLTA3IDIwOjUzOjQ4Ljg2Njg4NzM3NSAr MDEwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1j eHguZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ0OTI5NzQyICswMTAwCistLS0gZ2RiLTcuMTIu NTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cAkyMDE3LTAz LTA0IDIxOjQ3OjM3LjUxMTA0MDAyMyArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dk Yi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCTIwMTctMDMtMDQgMjE6NDc6NDAuMjkwMDYw OTA5ICswMTAwCiBAQCAtMjMsNiArMjMsMTIgQEAKICAgICAgcmV0dXJuIC0xCiAgfQpAQCAtNjM3 LDEwICs2MzcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguZXhwCiArZ2RiX3Rlc3QgInB0eXBlIHB0ciIgImludCBcXChcXCpcXClc XFxbM1xcXF0iCiArZ2RiX3Rlc3QgInByaW50IHB0ciIgIlxcKGludCBcXChcXCpcXClcXFxbM1xc XF1cXCkgJGhleCIKICtnZGJfdGVzdCAicHJpbnQgKnB0ciIgIiA9IFxcezUsIDcsIDlcXH0iCi1J bmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2lu dGVycy5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5m b3J0cmFuL3BvaW50ZXJzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ0 OTI5NzQyICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wb2ludGVycy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAK IEBAIC0wLDAgKzEsMTQzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICsKQEAgLTc4NSwxMCArNzg1LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4y MDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cAogK2dkYl90ZXN0 ICJwcmludCAqKChpbnRlZ2VyKikgJmludGEgKyAyKSIgIj0gMyIgInByaW50IHRlbXBvcmFyeSBw b2ludGVyLCBhcnJheSIKICtnZGJfdGVzdCAicHJpbnQgKigoaW50ZWdlciopICZpbnR2bGEgKyAz KSIgIj0gNCIgInByaW50IHRlbXBvcmFyeSBwb2ludGVyLCBhbGxvY2F0ZWQgdmxhIgogK2dkYl90 ZXN0ICJwcmludCBcJHBjIiAiPSBcXChQVFIgVE8gLT4gXFwoIHZvaWQgXFwoXFwpXFwoXFwpXFwp XFwpICRoZXggPHBvaW50ZXJzXFwrXFxkKz4iICJQcmludCBwcm9ncmFtIGNvdW50ZXIiCi1JbmRl eDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVy cy5mOTAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3BvaW50ZXJzLmY5MAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ1OTI5 NzQ5ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9wb2ludGVycy5mOTAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAwNjA5MDkgKzAxMDAKIEBA IC0wLDAgKzEsMTA5IEBACiArISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICshCkBAIC04OTksMTAgKzg5OSwxMCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAKICsgIGludHYgPSBp bnR2ICsgMSAhIEFmdGVyIHZhbHVlIGFzc2lnbm1lbnQKICsKICtlbmQgcHJvZ3JhbSBwb2ludGVy cwotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4v cHJpbnRfdHlwZS5leHAKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ByaW50X3R5cGUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5 NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAy MDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmludF90eXBlLmV4cAkyMDE3LTAyLTA3IDIw OjUzOjU0LjQ0NTkyOTc0OSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTAw NjA5MDkgKzAxMDAKIEBAIC0wLDAgKzEsMTAwIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEwMDQsMTAgKzEwMDQsMTAgQEAgSW5kZXg6 IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlw ZS5leHAKICsgICAgfQogK30KICtnZGJfdGVzdCAicHR5cGUgcmVhbHAiICJ0eXBlID0gUFRSIFRP IC0+IFxcKCAkcmVhbCBcXCkiCi1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAz MDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtcHR5cGUuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuMTIuNTAuMjAxNzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1wdHlwZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo0OC44Njc4ODczODMgKzAxMDAKLSsrKyBnZGIt Ny4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAJ MjAxNy0wMi0wNyAyMDo1Mzo1NC40NDU5Mjk3NDkgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3 MDMwNC5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAz LTA0IDIxOjQ3OjM3LjUxMjA0MDAzMSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXB0eXBlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQw LjI5MTA2MDkxNyArMDEwMAogQEAgLTMyLDkgKzMyLDkgQEAKICAjIENoZWNrIHRoZSBwdHlwZSBv ZiB2YXJpb3VzIFZMQSBzdGF0ZXMgYW5kIHBvaW50ZXIgdG8gVkxBJ3MuCiAgZ2RiX2JyZWFrcG9p bnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZsYTEtaW5pdCJdCkBAIC0xMDQ1LDEwICsxMDQ1LDEw IEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFu L3ZsYS1wdHlwZS5leHAKICBnZGJfdGVzdCAicHR5cGUgdmxhMig1LCA0NSwgMjApIiBcCiAgICAi bm8gc3VjaCB2ZWN0b3IgZWxlbWVudCBcXFwodmVjdG9yIG5vdCBhbGxvY2F0ZWRcXFwpIiBcCiAg ICAicHR5cGUgdmxhMig1LCA0NSwgMjApIG5vdCBhbGxvY2F0ZWQiCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5leHAKK0lu ZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1z dHJpbmdzLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ1OTI5NzQ5 ICswMTAwCisrKysgZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtc3RyaW5ncy5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKIEBA IC0wLDAgKzEsMTAzIEBACiArIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICsKQEAgLTExNTMsMTAgKzExNTMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIw MTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCiArCSAgICBw YXNzICR0ZXN0CiArICAgIH0KICt9Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAKK0luZGV4OiBnZGItNy4xMi41MC4y MDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmY5MAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAot KysrIGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0 cmluZ3MuZjkwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ1OTI5NzQ5ICswMTAwCisrKysgZ2RiLTcu MTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAJ MjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTEwNjA5MTcgKzAxMDAKIEBAIC0wLDAgKzEsMzkgQEAKICsh IENvcHlyaWdodCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKQEAgLTEx OTcsMTAgKzExOTcsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCiArICB2YXJfY2hhcl9wID0+IG51bGwoKQog KyAgbCA9IGFzc29jaWF0ZWQodmFyX2NoYXJfcCkgICAgICAgICAgICAgICEgdmFyX2NoYXJfcC1u b3QtYXNzb2NpYXRlZAogK2VuZCBwcm9ncmFtIHZsYV9zdHJpbmdzCi1JbmRleDogZ2RiLTcuMTIu NTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAKK0luZGV4 OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBl LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi92bGEtdHlwZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo0OC44Njc4ODcz ODMgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS10eXBlLmV4cAkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0NjkyOTc1NyArMDEwMAorLS0t IGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt dHlwZS5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTIwNDAwMzEgKzAxMDAKKysrKyBnZGItNy4x Mi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cAkyMDE3 LTAzLTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyArMDEwMAogQEAgLTEzMiw3ICsxMzIsMTAgQEAKICAg ICAgICAgICAgICAgICAgICAgICAiRW5kIFR5cGUgb25lIiBdCiAgCkBAIC0xMjIyLDEwICsxMjIy LDEwIEBAIEluZGV4OiBnZGItNy4xMi41MC4yMDE3MDIwNy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3ZsYS10eXBlLmV4cAogICAgICAgICAgICAgICAgICAgICAgICJFbmQgVHlwZSBvbmUiIF0g XAogICAgICAgICAgICJwdHlwZSBmaXZlZHluYXJyKDIpJXRvbmUsIG5vdCBhbGxvY2F0ZWQiCiAg Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92 bGEtdmFsdWUuZXhwCitJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAzMDQvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtdmFsdWUuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuMTIuNTAuMjAx NzAyMDcub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAJMjAxNy0w Mi0wNyAyMDo1Mzo0OC44Njg4ODczOTEgKzAxMDAKLSsrKyBnZGItNy4xMi41MC4yMDE3MDIwNy9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS12YWx1ZS5leHAJMjAxNy0wMi0wNyAyMDo1Mzo1 NC40NDY5Mjk3NTcgKzAxMDAKKy0tLSBnZGItNy4xMi41MC4yMDE3MDMwNC5vcmlnL2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjM3LjUxMjA0 MDAzMSArMDEwMAorKysrIGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLmZv cnRyYW4vdmxhLXZhbHVlLmV4cAkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MTA2MDkxNyArMDEwMAog QEAgLTE0LDYgKzE0LDcgQEAKICAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogIApAQCAtMTI3OCwxMCArMTI3OCwx MCBAQCBJbmRleDogZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtdmFsdWUuZXhwCiAgICAicHJpbnQgYXNzb2NpYXRlZCAmcHZsYSIKICBnZGJfdGVzdCAi cHJpbnQgcHZsYSgzLCA2LCA5KSIgIiA9IDQyIiAicHJpbnQgYXNzb2NpYXRlZCBwdmxhKDMsNiw5 KSIKICBnZGJfdGVzdCAicHJpbnQgcHZsYSgxLCAzLCA4KSIgIiA9IDEwMDEiICJwcmludCBhc3Nv Y2lhdGVkIHB2bGEoMSwzLDgpIgotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0 c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAorSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFy LWNoaWxkLWYuZXhwCTIwMTctMDItMDcgMjA6NTM6NDguODY4ODg3MzkxICswMTAwCi0rKysgZ2Ri LTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9nZGIubWkvbWktdmFyLWNoaWxkLWYuZXhw CTIwMTctMDItMDcgMjA6NTM6NTQuNDQ2OTI5NzU3ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAx NzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0w My0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9n ZGIvdGVzdHN1aXRlL2dkYi5taS9taS12YXItY2hpbGQtZi5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0 MC4yOTEwNjA5MTcgKzAxMDAKIEBAIC0xNyw2ICsxNyw3IEBACiAgCiAgbG9hZF9saWIgbWktc3Vw cG9ydC5leHAKQEAgLTEzMDMsMTAgKzEzMDMsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cAogIAogIHNldCBjaGls ZHJlbiBbbGlzdCBbbGlzdCAiYXJyYXkuLTEiICItMSIgMiAiJGludDQgXFwoMlxcKSJdIFwKICAJ CSAgW2xpc3QgImFycmF5LjAiICIwIiAyICIkaW50NCBcXCgyXFwpIl0gXAotSW5kZXg6IGdkYi03 LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4cAor SW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1m b3J0cmFuLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2Ri L3Rlc3RzdWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCTIwMTctMDItMDcgMjA6NTM6NDgu ODY4ODg3MzkxICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3Rlc3RzdWl0ZS9n ZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ2OTI5NzU3ICsw MTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5taS9t aS12bGEtZm9ydHJhbi5leHAJMjAxNy0wMy0wNCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKKysr KyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdGVzdHN1aXRlL2dkYi5taS9taS12bGEtZm9ydHJh bi5leHAJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKIEBAIC0xNyw3ICsxNyw5 IEBACiAgIyBBcnJheSAoVkxBKS4KICAKQEAgLTE0MDUsMTAgKzE0MDUsMTAgQEAgSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pLXZsYS1mb3J0cmFuLmV4 cAogICAgImluZm8gdHlwZSB2YXJpYWJsZSBwdmxhMl9hc3NvY2lhdGVkIgogIG1pX2dkYl90ZXN0 ICI1OTItdmFyLXNob3ctZm9ybWF0IHB2bGEyX2Fzc29jaWF0ZWQiIFwKICAgICI1OTJcXF5kb25l LGZvcm1hdD1cIm5hdHVyYWxcIiIgXAotSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dkYi90 eXBlcHJpbnQuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMzA0L2dkYi90eXBlcHJpbnQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3R5cGVwcmludC5j CTIwMTctMDItMDcgMjA6NTM6NDguODY5ODg3Mzk4ICswMTAwCi0rKysgZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3R5cGVwcmludC5jCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ2OTI5NzU3ICswMTAw CistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxNy0wMy0w NCAyMTo0NzozNy41MTMwNDAwMzkgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIv dHlwZXByaW50LmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTIwNjA5MjQgKzAxMDAKIEBAIC00NzUs NiArNDc1LDI1IEBACiAgICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiICovXG4iKTsgICAgCiAgICAg IH0KQEAgLTE0MzUsMTAgKzE0MzUsMTAgQEAgSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcwMjA3L2dk Yi90eXBlcHJpbnQuYwogICAgTEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNo b3csIDAsICZmbGFncyk7CiAgICBwcmludGZfZmlsdGVyZWQgKCJcbiIpOwogIAotSW5kZXg6IGdk Yi03LjEyLjUwLjIwMTcwMjA3L2dkYi92YWxvcHMuYworSW5kZXg6IGdkYi03LjEyLjUwLjIwMTcw MzA0L2dkYi92YWxvcHMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9y aWcvZ2RiL3ZhbG9wcy5jCTIwMTctMDItMDcgMjA6NTM6NDguODcwODg3NDA2ICswMTAwCi0rKysg Z2RiLTcuMTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCTIwMTctMDItMDcgMjA6NTM6NTQuNDQ3 OTI5NzY1ICswMTAwCistLS0gZ2RiLTcuMTIuNTAuMjAxNzAzMDQub3JpZy9nZGIvdmFsb3BzLmMJ MjAxNy0wMy0wNCAyMTo0NzozNy41MTQwNDAwNDYgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3 MDMwNC9nZGIvdmFsb3BzLmMJMjAxNy0wMy0wNCAyMTo0Nzo0MC4yOTMwNjA5MzIgKzAxMDAKIEBA IC0xNTY5LDYgKzE1NjksMTkgQEAKICAgIGlmIChUWVBFX0NPREUgKGJhc2VfdHlwZSkgPT0gVFlQ RV9DT0RFX1BUUikKICAgICAgewpAQCAtMTQ2OSwxMCArMTQ2OSwxMCBAQCBJbmRleDogZ2RiLTcu MTIuNTAuMjAxNzAyMDcvZ2RiL3ZhbG9wcy5jCiAgCiAgICAgICAgZW5jX3R5cGUgPSB2YWx1ZV90 eXBlIChhcmcyKTsKICAgICAgICByZXR1cm4gcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAo YXJnMiwgZW5jX3R5cGUsIGJhc2VfdHlwZSwgYXJnMSk7Ci1JbmRleDogZ2RiLTcuMTIuNTAuMjAx NzAyMDcvZ2RiL3ZhbHByaW50LmMKK0luZGV4OiBnZGItNy4xMi41MC4yMDE3MDMwNC9nZGIvdmFs cHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjEyLjUwLjIwMTcwMjA3Lm9yaWcvZ2RiL3Zh bHByaW50LmMJMjAxNy0wMi0wNyAwMjo0ODo0Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4x Mi41MC4yMDE3MDIwNy9nZGIvdmFscHJpbnQuYwkyMDE3LTAyLTA3IDIwOjUzOjU0LjQ0ODkyOTc3 MiArMDEwMAorLS0tIGdkYi03LjEyLjUwLjIwMTcwMzA0Lm9yaWcvZ2RiL3ZhbHByaW50LmMJMjAx Ny0wMy0wNCAwMjo0OTowOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4xMi41MC4yMDE3MDMw NC9nZGIvdmFscHJpbnQuYwkyMDE3LTAzLTA0IDIxOjQ3OjQwLjI5MzA2MDkzMiArMDEwMAogQEAg LTExNjUsMTIgKzExNjUsNiBAQAogICAgICAgIHJldHVybiAwOwogICAgICB9CgpkaWZmIC0tZ2l0 IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA2YjBlNjkxLi41MjNkM2MzIDEwMDY0NAotLS0g YS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMTgsNyArMTgsNyBAQAogTmFtZTogJXs/c2Ns X3ByZWZpeH1nZGIKIAogIyBGcmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2Jh bCBzbmFwc3JjICAgIDIwMTcwMjI2CislZ2xvYmFsIHNuYXBzcmMgICAgMjAxNzAzMDkKICMgU2Vl IHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4K ICVnbG9iYWwgc25hcGdudWxpYiAyMDE1MDgyMgogJWdsb2JhbCB0YXJuYW1lIGdkYi0le3ZlcnNp b259CkBAIC0yNiw3ICsyNiw3IEBAIFZlcnNpb246IDcuMTIuNTAuJXtzbmFwc3JjfQogCiAjIFRo ZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFy dCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkg ZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVh c2U6IDQlez9kaXN0fQorUmVsZWFzZTogNSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQg R1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRp b25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMrIGFuZCBCU0QgYW5kIFB1YmxpYyBE b21haW4gYW5kIEdGREwKIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAgLTE1NzgsNiAr MTU3OCw5IEBAIHRoZW4KIGZpCiAKICVjaGFuZ2Vsb2cKKyogVGh1IE1hciAgOSAyMDE3IEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMTIuNTAuMjAxNzAzMDkt NS5mYzI2CistIFJlYmFzZSB0byBwcmUtNy4xMyBGU0YgR0RCIHRydW5rLgorCiAqIFRodSBNYXIg IDIgMjAxNyBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjEy LjUwLjIwMTcwMjI2LTQuZmMyNgogLSBGaXggZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMu cGF0Y2ggcmViYXNlIHJlZ3Jlc3Npb24uCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNl cwppbmRleCA3MmNmNDRhLi43NmQzOTRjIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJj ZXMKQEAgLTEsMyArMSwzIEBACiBTSEE1MTIgKGdkYi1saWJzdGRjKystdjMtcHl0aG9uLTYuMy4x LTIwMTcwMjEyLnRhci54eikgPSAyMmFkNDE4N2Q2YmI5ODUxZWNmMzg5YzNmZjRjNjhmMzNjY2Y1 NjAyZDhmNTFiYzMzNzIxNWM3MDBkNTZjOTA3M2IzZmI0MGVjZTNmNTg5MDEzMTUxNjFmNzZhNGZk MWQ2NDYzYzYyMzY1MDMxN2FkOTZmZDllM2Y0YWJhNzI1MgogU0hBNTEyICh2MS41LnRhci5neikg PSBlYTNlNzYyOTFkNWIwNzdkNWI0MjA2MTg5OGExZjcwYWY2Y2JkYmNjYjdkMDVjNTk5MDRmMzIy Y2ExYzAzZjc1OTZjYWM2YTk2NmI4MGIxMmQyYzJkODYyMTJmMTdkNmJkZTAyYjFkYWY5MmJlNjJl NDlhYmNiMjM0ZTJiYWNiZAotU0hBNTEyIChnZGItNy4xMi41MC4yMDE3MDIyNi50YXIueHopID0g Y2YxYjU1YzAxMWZjNmRmZWU2NGMwZDJlOGZhY2VhNjI3MGM0YjFlNTk2NjQyN2JjOGUyZjM2YmMy NTE1ZDVkNTFlYTZhMWE0ZTBhNTMwMGRmYWQ0MGZmNzk4ZDE3NjNmN2Y5Mzk3ZjNkMDNmZmY1YWIy ZjFjYzg4YzRlYWQ3MzcKK1NIQTUxMiAoZ2RiLTcuMTIuNTAuMjAxNzAzMDkudGFyLnh6KSA9IDJh YTM4ZDcxY2I3NjljNjIzZjczOWY3N2U1ZTQ3YzhjMmI3M2Y5YmNmYzQ5Nzg4NDFjODgxZGZiMDAy ZmIyY2UwODRlN2Y3Y2Q3MjQ4ZmUyYTA0NTVlNDg3Yjc3ZDFjMGZhMTdlZGNiY2RkMmM0M2Q4NWJh NGRlMDQzZDI2NDI3Cg==