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: Jiri To: git-commits@fedoraproject.org Subject: [rpms/abrt] update-2.17.9-f44: new version 2.0.7 Date: Mon, 03 Aug 2026 11:03:32 GMT Message-ID: <178575501236.1.15719140119473587985.rpms-abrt-9b168d3bcbbd@fedoraproject.org> List-ID: X-Git-Repo: rpms/abrt X-Git-Branch: update-2.17.9-f44 X-Git-Rev: 9b168d3bcbbd2a2d7414d093b33dfe5d9631b6b4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYWJydApCcmFuY2gg OiB1cGRhdGUtMi4xNy45LWY0NApDb21taXQgOiA5YjE2OGQzYmNiYmQyYTJkNzQxNGQwOTNiMzNk ZmU1ZDk2MzFiNmI0CkF1dGhvciA6IEppcmkgPG1vc2tvdmNha0BnbWFpbC5jb20+CkRhdGUgICA6 IDIwMTEtMTItMDdUMTA6Mzg6NTcrMDE6MDAKU3RhdHMgIDogKzQ5Ly0xNjc3IGluIDE4IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9hYnJ0L2MvOWIx NjhkM2JjYmJkMmEyZDc0MTRkMDkzYjMzZGZlNWQ5NjMxYjZiND9icmFuY2g9dXBkYXRlLTIuMTcu OS1mNDQKCkxvZzoKbmV3IHZlcnNpb24gMi4wLjcKCi0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1hYnJ0 LWd1aS1sYXVuY2gtcmVwb3J0ZXItY2hpbGRyZW4td2l0aC1MSUJSRVBPUlRfR0VULnBhdGNoIGIv MDAwMS1hYnJ0LWd1aS1sYXVuY2gtcmVwb3J0ZXItY2hpbGRyZW4td2l0aC1MSUJSRVBPUlRfR0VU LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjA1ZjEwLi4wMDAwMDAwCi0t LSBhLzAwMDEtYWJydC1ndWktbGF1bmNoLXJlcG9ydGVyLWNoaWxkcmVuLXdpdGgtTElCUkVQT1JU X0dFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gMWY1MjY2N2Ex ODAyNmRiYTQwNTAzNjhlNWQyNTAxZWM2MTQ1ZTA3MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IERlbnlzIFZsYXNlbmtvIDxkdmxhc2Vua0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAy MSBKdWwgMjAxMSAwOTo1MDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIIDEvNF0gYWJydC1ndWk6 IGxhdW5jaCByZXBvcnRlciBjaGlsZHJlbiB3aXRoIExJQlJFUE9SVF9HRVRQSUQKLQotQnkgdXNp bmcgTElCUkVQT1JUX05PV0FJVCB8IExJQlJFUE9SVF9HRVRQSUQgaW4gYWJ0LWd1aSwKLXdlIG1h a2UgaXQgc28gdGhhdCByZXBvcnRlcidzIFNJR0NITEQgcmVhY2hlcyBhYnJ0LWd1aQotYW5kIGxl dHMgaXQgcmVmcmVzaCB0aGUgbGlzdC4KLQotU2lnbmVkLW9mZi1ieTogRGVueXMgVmxhc2Vua28g PGR2bGFzZW5rQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvZ3VpLWd0ay9tYWluLmMgfCAgICA1ICsr LS0tCi0gMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9zcmMvZ3VpLWd0ay9tYWluLmMgYi9zcmMvZ3VpLWd0ay9tYWluLmMKLWlu ZGV4IGI2MmU4YzAuLjE0MDkxOTEgMTAwNjQ0Ci0tLS0gYS9zcmMvZ3VpLWd0ay9tYWluLmMKLSsr KyBiL3NyYy9ndWktZ3RrL21haW4uYwotQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCBv bl9yb3dfYWN0aXZhdGVkX2NiKEd0a1RyZWVWaWV3ICp0cmVldmlldywgR3RrVHJlZVBhdGggKnBh dGgsIEd0a1RyZQotICAgICAgICAgICAgIGd0a190cmVlX21vZGVsX2dldF92YWx1ZShzdG9yZSwg Jml0ZXIsIENPTFVNTl9EVU1QX0RJUiwgJmRfZGlyKTsKLSAKLSAgICAgICAgICAgICBjb25zdCBj aGFyICpkaXJuYW1lID0gZ192YWx1ZV9nZXRfc3RyaW5nKCZkX2Rpcik7Ci0tICAgICAgICAgICAg cmVwb3J0X3Byb2JsZW1faW5fZGlyKGRpcm5hbWUsIExJQlJFUE9SVF9BTkFMWVpFIHwgTElCUkVQ T1JUX05PV0FJVCk7Ci0rICAgICAgICAgICAgcmVwb3J0X3Byb2JsZW1faW5fZGlyKGRpcm5hbWUs IExJQlJFUE9SVF9BTkFMWVpFIHwgTElCUkVQT1JUX05PV0FJVCB8IExJQlJFUE9SVF9HRVRQSUQp OwotICAgICAgICAgfQotICAgICB9Ci0gfQotQEAgLTI5Myw4ICsyOTMsNyBAQCBzdGF0aWMgdm9p ZCBvbl9idXR0b25fc2VuZF9jYihHdGtXaWRnZXQgKmJ1dHRvbiwgZ3BvaW50ZXIgZGF0YSkKLSAg ICAgLyogd2h5IGl0IGRvZXNuJ3Qgd2FudCB0byBoaWRlIGJlZm9yZSByZXBvcnQgZW5kcz8gKi8K LSAgICAgZ3RrX3dpZGdldF9kZXN0cm95KHNfcmVwb3J0X3dpbmRvdyk7Ci0gCi0tICAgIGludCBz dGF0dXMgPSByZXBvcnRfcHJvYmxlbV9pbl9tZW1vcnkocGQsIExJQlJFUE9SVF9OT1dBSVQpOwot LSAgICBWRVJCMSBsb2coIlJlcG9ydGluZyBmaW5pc2hlZCB3aXRoIHN0YXR1cyAlaSIsIHN0YXR1 cyk7Ci0rICAgIHJlcG9ydF9wcm9ibGVtX2luX21lbW9yeShwZCwgTElCUkVQT1JUX05PV0FJVCB8 IExJQlJFUE9SVF9HRVRQSUQpOwotICAgICBmcmVlX3Byb2JsZW1fZGF0YShwZCk7Ci0gfQotIAot LS0gCi0xLjcuNgotCgpkaWZmIC0tZ2l0IGEvMDAwMS1yaGJ6LTcyNDgzOC1kb24tdC1maWxlLWtl cm5lbC1idWdzLWlmLXRhaW50ZWQtQi1pcy1zLnBhdGNoIGIvMDAwMS1yaGJ6LTcyNDgzOC1kb24t dC1maWxlLWtlcm5lbC1idWdzLWlmLXRhaW50ZWQtQi1pcy1zLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBlNDE5OGVmLi4wMDAwMDAwCi0tLSBhLzAwMDEtcmhiei03MjQ4Mzgt ZG9uLXQtZmlsZS1rZXJuZWwtYnVncy1pZi10YWludGVkLUItaXMtcy5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDE5MiArMCwwIEBACi1Gcm9tIDgyYjI3ZGNhODdlZjVhNGYxY2JiMjkzNzc1MjRi YmRlZTI2YjFkNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1NZXNzYWdlLUlkOiA8ODJiMjdk Y2E4N2VmNWE0ZjFjYmIyOTM3NzUyNGJiZGVlMjZiMWQ2NC4xMzE3OTc5NzY2LmdpdC5ucGFqa292 c0ByZWRoYXQuY29tPgotRnJvbTogTmlrb2xhIFBhamtvdnNreSA8bnBhamtvdnNAcmVkaGF0LmNv bT4KLURhdGU6IFdlZCwgNSBPY3QgMjAxMSAxNToxMzoyMyArMDIwMAotU3ViamVjdDogW1BBVENI IDEvMl0gcmhieiM3MjQ4MzggLSBkb24ndCBmaWxlIGtlcm5lbCBidWdzIGlmICJ0YWludGVkOiBC IiBpcwotIHNldAotCi1LZXJuZWwgbWFpbnRhaW5lcnMgYXJlIG5vdCBtdWNoIGhhcHB5IHRoYXQg d2UgZmlsbGluZyBidWdzIHdoZW4ga2VybmVsCi1pcyB0YWludGVkLgotCi1EYXZlIEpvbmVzIHNh aWQKLS0tLQotSWYgc29tZXRoaW5nIGhhcyBjb3JydXB0ZWQgbWVtb3J5LCB3ZSB0eXBpY2FsbHkg c2VlIGEgd2hvbGUgYnVuY2ggb2YgdGhpbmdzCi1zdGFydCBjcmFzaGluZy4gVGhpcyBsZWFkcyB0 byBzaXR1YXRpb25zIHdoZXJlIGFicnQgZmlsZXMgYSBsb3Qgb2YgYnVncywgZXZlbgotdGhvdWdo IG1vc3Qgb2YgdGhlbSBhcmUganVzdCBmYWxsb3V0IGZyb20gdGhlIGZpcnN0LgotCi1hbiBleGFt cGxlOiBidWdzIDcxMDkyNSA3MTA5MzAgNzEwOTMyIDcxMDkzMyA3MTA5MzUgNzEwOTQyIDcxMDk0 OCA3MTA5NTUgNzEwOTU2Ci1hcmUgYWxsIHRoZSBzYW1lIGNyYXNoLiBUaGUgdHJhY2VzIGFuZCBh ZGRyZXNzZXMgYXJlIGRpZmZlcmVudCwgYnV0ICdzb21ldGhpbmcKLXNjcmliYmxlZCBvdmVyIG1l bW9yeScgaXMgdGhlIHJvb3QgY2F1c2UgaGVyZS4gU2FkbHkgb3V0IG9mIGFsbCB0aG9zZSBidWdz LCB3ZQotYWN0dWFsbHkgc29tZWhvdyBtaXNzZWQgdGhlIGZpcnN0IGNyYXNoIHdoaWNoIGlzIHRo ZSBtb3N0IHJlbGV2YW50IG9uZS4gKFRoYXQKLW9uZSB3b3VsZCBoYXZlIG5vdCBoYWQgdGhlICdU YWludGVkOiBHIEInIHRleHQpCi0tLS0KLQotRmlyc3QgcGFydCBvZiB0aGUgcGF0Y2ggaXMgdGhh dCB3ZSB3b24ndCByZWxheSBvbiAvcHJvYy9zeXMva2VybmVsL3RhaW50ZWQgYW5kCi13ZSB3aWxs IHBhcnNlIHRoZSBrZXJuZWwgYnQgbWFudWFsbHksIGJlY2F1c2Ugb2YgcmVhZGluZyB0aGF0IGZp bGUgYWZ0ZXIgYW4gb29wcwotaXMgQUxXQVlTIGdvaW5nIHRvIHNob3cgaXQgYXMgdGFpbnRlZC4K LQotU2Vjb25kIHBhcnQgb2YgdGhlIHBhdGNoIGlzIHRoYXQgd2hlbmV2ZXIgeW91IHdhbnQgdG8g cHJvaGliaXQgcmVwb3J0aW5nLCBwdXQgYQotZmlsZSB3aXRoIG5hbWUgKm5vdC1yZXBvcnRhYmxl KiBpbnRvIDxkdW1wLWRpcj4uIFRoYXQgZmlsZSBjb3VsZCBiZSBlbXB0eSBvciB3aXRoCi1yZWFz b25hYmxlIG1lc3NhZ2Ugd2h5IGFyZSB5b3UgdHJ5aW5nIHRvIHByb2hpYml0IHJlcG9ydGluZy4K LQotQWxsIDMgcmVwb3J0ZXJzIHBsdWdpbnMgd2lsbCBiZSByZXNwZWN0IHRoYXQgZmlsZSBhbmQg aXQgd29uJ3QgdHJ5IHRvIHJlcG9ydCBhbnl0aGluZy4KLVJlcG9ydGVycyB3aWxsIHNob3cgb25s eSB0aGUgbWVzc2FnZXMgZnJvbSAqbm90LXJlcG9ydGFibGUqIGFuZCAqcmVhc29uKi4KLQotU2ln bmVkLW9mZi1ieTogTmlrb2xhIFBhamtvdnNreSA8bnBhamtvdnNAcmVkaGF0LmNvbT4KLS0tLQot IHNyYy9ndWktZ3RrL21haW4uYyAgICAgICAgICAgfCAgIDE2ICsrKysrKysrLS0KLSBzcmMvcGx1 Z2lucy9hYnJ0LWR1bXAtb29wcy5jIHwgICA2NSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMzIgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvZ3VpLWd0ay9tYWluLmMgYi9zcmMvZ3VpLWd0 ay9tYWluLmMKLWluZGV4IDgxNzI5NTEuLmQxMWJmNTcgMTAwNjQ0Ci0tLS0gYS9zcmMvZ3VpLWd0 ay9tYWluLmMKLSsrKyBiL3NyYy9ndWktZ3RrL21haW4uYwotQEAgLTEwMCw3ICsxMDAsMTQgQEAg c3RhdGljIHZvaWQgYWRkX2RpcmVjdG9yeV90b19kaXJsaXN0KGNvbnN0IGNoYXIgKmRpcm5hbWUp Ci0gICAgIH0KLSAgICAgZnJlZSh0aW1lX3N0cik7Ci0gCi0tICAgIGNoYXIgKnJlYXNvbiA9IGRk X2xvYWRfdGV4dChkZCwgRklMRU5BTUVfUkVBU09OKTsKLSsKLSsgICAgY2hhciAqbm90X3JlcG9y dGFibGVfcmVhc29uID0gZGRfbG9hZF90ZXh0X2V4dChkZCwgRklMRU5BTUVfTk9UX1JFUE9SVEFC TEUsIDAKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IEREX0xPQURfVEVYVF9SRVRVUk5fTlVMTF9PTl9GQUlMVVJFCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBERF9GQUlMX1FVSUVUTFlfRU5P RU5UCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBERF9GQUlMX1FVSUVUTFlfRUFDQ0VTKTsKLSsgICAgY2hhciAqcmVhc29uID0gTlVMTDsKLSsg ICAgaWYgKCFub3RfcmVwb3J0YWJsZV9yZWFzb24pCi0rICAgICAgICByZWFzb24gPSBkZF9sb2Fk X3RleHQoZGQsIEZJTEVOQU1FX1JFQVNPTik7Ci0gCi0gICAgIC8qIHRoZSBzb3VyY2Ugb2YgdGhl IHByb2JsZW06Ci0gICAgICAqIC0gZmlyc3Qgd2UgdHJ5IHRvIGxvYWQgY29tcG9uZW50LCBhcyB3 ZSB1c2UgaXQgb24gRmVkb3JhCi1AQCAtMTQyLDcgKzE0OSw3IEBAIHN0YXRpYyB2b2lkIGFkZF9k aXJlY3RvcnlfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXJuYW1lKQotICAgICBndGtfbGlzdF9z dG9yZV9hcHBlbmQobGlzdF9zdG9yZSwgJml0ZXIpOwotICAgICBndGtfbGlzdF9zdG9yZV9zZXQo bGlzdF9zdG9yZSwgJml0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fU09V UkNFLCBzb3VyY2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fUkVBU09OLCBy ZWFzb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fUkVBU09OLCBub3RfcmVw b3J0YWJsZV9yZWFzb24/IDpyZWFzb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAvL09Q VElPTjogdGltZSBmb3JtYXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9MQVRF U1RfQ1JBU0hfU1RSLCB0aW1lX2J1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVN Tl9MQVRFU1RfQ1JBU0gsIHQsCi1AQCAtMTUwLDYgKzE1Nyw3IEBAIHN0YXRpYyB2b2lkIGFkZF9k aXJlY3RvcnlfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXJuYW1lKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ09MVU1OX1JFUE9SVEVEX1RPLCBtc2cgPyBzdWJtX3N0YXR1cyA6IE5VTEws Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAtMSk7Ci0gICAgIC8qIHRoaXMgaXMgc2FmZSwg c3VibV9zdGF0dXMgaXMgZWl0aGVyIG51bGwgb3IgbWFsbG9jZWQgc3RyaW5nIGZyb20gZ2V0X2xh c3RfbGluZSAqLwotKyAgICBmcmVlKG5vdF9yZXBvcnRhYmxlX3JlYXNvbik7Ci0gICAgIGZyZWUo c3VibV9zdGF0dXMpOwotICAgICBmcmVlKG1zZyk7Ci0gICAgIGZyZWUocmVhc29uKTsKLUBAIC0y NDMsNyArMjUxLDkgQEAgc3RhdGljIHZvaWQgb25fcm93X2FjdGl2YXRlZF9jYihHdGtUcmVlVmll dyAqdHJlZXZpZXcsIEd0a1RyZWVQYXRoICpwYXRoLCBHdGtUcmUKLSAgICAgICAgICAgICBndGtf dHJlZV9tb2RlbF9nZXRfdmFsdWUoc3RvcmUsICZpdGVyLCBDT0xVTU5fRFVNUF9ESVIsICZkX2Rp cik7Ci0gCi0gICAgICAgICAgICAgY29uc3QgY2hhciAqZGlybmFtZSA9IGdfdmFsdWVfZ2V0X3N0 cmluZygmZF9kaXIpOwotLSAgICAgICAgICAgIHJlcG9ydF9wcm9ibGVtX2luX2RpcihkaXJuYW1l LCBMSUJSRVBPUlRfQU5BTFlaRSB8IExJQlJFUE9SVF9OT1dBSVQgfCBMSUJSRVBPUlRfR0VUUElE KTsKLSsKLSsgICAgICAgICAgICByZXBvcnRfcHJvYmxlbV9pbl9kaXIoZGlybmFtZSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCUkVQT1JUX0FOQUxZWkUgfCBMSUJSRVBP UlRfTk9XQUlUIHwgTElCUkVQT1JUX0dFVFBJRCk7Ci0gICAgICAgICB9Ci0gICAgIH0KLSB9Ci1k aWZmIC0tZ2l0IGEvc3JjL3BsdWdpbnMvYWJydC1kdW1wLW9vcHMuYyBiL3NyYy9wbHVnaW5zL2Fi cnQtZHVtcC1vb3BzLmMKLWluZGV4IDc2YzY5OWQuLjU4YWY1MDYgMTAwNjQ0Ci0tLS0gYS9zcmMv cGx1Z2lucy9hYnJ0LWR1bXAtb29wcy5jCi0rKysgYi9zcmMvcGx1Z2lucy9hYnJ0LWR1bXAtb29w cy5jCi1AQCAtNDgwLDE2ICs0ODAsNiBAQCBzdGF0aWMgdW5zaWduZWQgc2F2ZV9vb3BzX3RvX2R1 bXBfZGlyKEdMaXN0ICpvb3BzX2xpc3QsIHVuc2lnbmVkIG9vcHNfY250KQotIAotICAgICBWRVJC MSBsb2coIlNhdmluZyAldSBvb3BzZXMgYXMgZHVtcCBkaXJzIiwgaWR4ID49IGNvdW50ZG93biA/ IGNvdW50ZG93bi0xIDogaWR4KTsKLSAKLS0gICAgY2hhciAqdGFpbnRlZF9zdHIgPSBOVUxMOwot LSAgICBGSUxFICp0YWludGVkX2ZwID0gZm9wZW4oIi9wcm9jL3N5cy9rZXJuZWwvdGFpbnRlZCIs ICJyIik7Ci0tICAgIGlmICh0YWludGVkX2ZwKQotLSAgICB7Ci0tICAgICAgICB0YWludGVkX3N0 ciA9IHhtYWxsb2NfZmdldGxpbmUodGFpbnRlZF9mcCk7Ci0tICAgICAgICBmY2xvc2UodGFpbnRl ZF9mcCk7Ci0tICAgIH0KLS0gICAgZWxzZQotLSAgICAgICAgcGVycm9yX21zZygiQ2FuJ3Qgb3Bl biAnJXMnIiwgIi9wcm9jL3N5cy9rZXJuZWwvdGFpbnRlZCIpOwotLQotICAgICBjaGFyICpjbWRs aW5lX3N0ciA9IE5VTEw7Ci0gICAgIEZJTEUgKmNtZGxpbmVfZnAgPSBmb3BlbigiL3Byb2MvY21k bGluZSIsICJyIik7Ci0gICAgIGlmIChjbWRsaW5lX2ZwKQotQEAgLTUzNiwzNSArNTI2LDQ0IEBA IHN0YXRpYyB1bnNpZ25lZCBzYXZlX29vcHNfdG9fZHVtcF9kaXIoR0xpc3QgKm9vcHNfbGlzdCwg dW5zaWduZWQgb29wc19jbnQpCi0gICAgICAgICAgICAgaWYgKGNtZGxpbmVfc3RyKQotICAgICAg ICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX0NNRExJTkUsIGNtZGxpbmVfc3Ry KTsKLSAgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX0JBQ0tUUkFDRSwgc2Vj b25kX2xpbmUpOwotLS8vIFRPRE86IGFkZCAiS2VybmVsIG9vcHM6ICIgcHJlZml4LCBzbyB0aGF0 IGFsbCBvb3BzZXMgaGF2ZSByZWNvZ25pemFibGUgRklMRU5BTUVfUkVBU09OPwotLS8vIGtlcm5l bCBvb3BzIDFzdCBsaW5lIG1heSBsb29rIHF1aXRlIHB1enpsaW5nIG90aGVyd2lzZS4uLgotLSAg ICAgICAgICAgIHN0cmNocm51bChzZWNvbmRfbGluZSwgJ1xuJylbMF0gPSAnXDAnOwotLSAgICAg ICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVfUkVBU09OLCBzZWNvbmRfbGluZSk7Ci0g Ci0tICAgICAgICAgICAgaWYgKHRhaW50ZWRfc3RyICYmIHRhaW50ZWRfc3RyWzBdICE9ICcwJykK LSsgICAgICAgICAgICBjaGFyICp0YWludGVkX3Nob3J0ID0ga2VybmVsX3RhaW50ZWRfc2hvcnQo c2Vjb25kX2xpbmUpOwotKyAgICAgICAgICAgIGlmICh0YWludGVkX3Nob3J0KQotICAgICAgICAg ICAgIHsKLS0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0YWludGVkID0geGF0b2lfcG9z aXRpdmUodGFpbnRlZF9zdHIpOwotLSAgICAgICAgICAgICAgICBjaGFyICp0YWludGVkX3Nob3J0 ID0ga2VybmVsX3RhaW50ZWRfc2hvcnQodGFpbnRlZCk7Ci0tICAgICAgICAgICAgICAgIEdMaXN0 ICp0YWludGVkX2xvbmcgPSBrZXJuZWxfdGFpbnRlZF9sb25nKHRhaW50ZWQpOwotLQotLSAgICAg ICAgICAgICAgICBzdHJ1Y3Qgc3RyYnVmICp0bnRfbG9uZyA9IHN0cmJ1Zl9uZXcoKTsKLS0gICAg ICAgICAgICAgICAgZm9yIChHTGlzdCAqbGkgPSB0YWludGVkX2xvbmc7IGxpOyBsaSA9IGxpLT5u ZXh0KQotLSAgICAgICAgICAgICAgICAgICAgc3RyYnVmX2FwcGVuZF9zdHJmKHRudF9sb25nLCAi JXNcbiIsIChjaGFyKikgbGktPmRhdGEpOwotLQotLSAgICAgICAgICAgICAgICBkZF9zYXZlX3Rl eHQoZGQsIEZJTEVOQU1FX1RBSU5URUQsIHRhaW50ZWRfc3RyKTsKLSsgICAgICAgICAgICAgICAg VkVSQjEgbG9nKCJLZXJuZWwgaXMgdGFpbnRlZCAnJXMnIiwgdGFpbnRlZF9zaG9ydCk7Ci0gICAg ICAgICAgICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVfVEFJTlRFRF9TSE9SVCwgdGFp bnRlZF9zaG9ydCk7Ci0tICAgICAgICAgICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVf VEFJTlRFRF9MT05HLCB0bnRfbG9uZy0+YnVmKTsKLS0gICAgICAgICAgICAgICAgc3RyYnVmX2Zy ZWUodG50X2xvbmcpOwotLSAgICAgICAgICAgICAgICBsaXN0X2ZyZWVfd2l0aF9mcmVlKHRhaW50 ZWRfbG9uZyk7Ci0rICAgICAgICAgICAgICAgIGNoYXIgKnJlYXNvbiA9IHhhc3ByaW50ZigiWW91 ciBrZXJuZWwgaXMgdGFpbnRlZCBieSBmbGFncyAnJXMnLiAiCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiS2VybmVsIG1haW50YWluZXJzIGFyZSBub3QgaW50ZXJl c3RpbmcgYWJvdXQgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg InRhaW50ZWQga2VybmVsLCBiZWNhdXNlIHRoZSB0cmFjZSBtaWdodCBub3QgYmUgc2hvd2luZyAi Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlIHJvb3QgcHJv YmxlbS4iCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRhaW50 ZWRfc2hvcnQpOwotKyAgICAgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX05P VF9SRVBPUlRBQkxFLCByZWFzb24pOwotKyAgICAgICAgICAgICAgICBmcmVlKHJlYXNvbik7Ci0g ICAgICAgICAgICAgfQotKy8vIFRPRE86IGFkZCAiS2VybmVsIG9vcHM6ICIgcHJlZml4LCBzbyB0 aGF0IGFsbCBvb3BzZXMgaGF2ZSByZWNvZ25pemFibGUgRklMRU5BTUVfUkVBU09OPwotKy8vIGtl cm5lbCBvb3BzIDFzdCBsaW5lIG1heSBsb29rIHF1aXRlIHB1enpsaW5nIG90aGVyd2lzZS4uLgot KyAgICAgICAgICAgIHN0cmNocm51bChzZWNvbmRfbGluZSwgJ1xuJylbMF0gPSAnXDAnOwotKyAg ICAgICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVfUkVBU09OLCBzZWNvbmRfbGluZSk7 Ci0gCi0rLyoKLSsgICAgICAgICAgICBHTGlzdCAqdGFpbnRlZF9sb25nID0ga2VybmVsX3RhaW50 ZWRfbG9uZyh0YWludGVkKTsKLSsKLSsgICAgICAgICAgICBzdHJ1Y3Qgc3RyYnVmICp0bnRfbG9u ZyA9IHN0cmJ1Zl9uZXcoKTsKLSsgICAgICAgICAgICBmb3IgKEdMaXN0ICpsaSA9IHRhaW50ZWRf bG9uZzsgbGk7IGxpID0gbGktPm5leHQpCi0rICAgICAgICAgICAgICAgIHN0cmJ1Zl9hcHBlbmRf c3RyZih0bnRfbG9uZywgIiVzXG4iLCAoY2hhciopIGxpLT5kYXRhKTsKLSsKLSsgICAgICAgICAg ICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1RBSU5URUQsIHRhaW50ZWRfc3RyKTsKLSsgICAg ICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1RBSU5URURfU0hPUlQsIHRhaW50ZWRf c2hvcnQpOwotKyAgICAgICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVfVEFJTlRFRF9M T05HLCB0bnRfbG9uZy0+YnVmKTsKLSsgICAgICAgICAgICBzdHJidWZfZnJlZSh0bnRfbG9uZyk7 Ci0rICAgICAgICAgICAgbGlzdF9mcmVlX3dpdGhfZnJlZSh0YWludGVkX2xvbmcpOwotKyovCi0g ICAgICAgICAgICAgZGRfY2xvc2UoZGQpOwotICAgICAgICAgfQotICAgICAgICAgZWxzZQotICAg ICAgICAgICAgIGVycm9ycysrOwotICAgICB9Ci0gCi0tICAgIGZyZWUodGFpbnRlZF9zdHIpOwot ICAgICBmcmVlKGNtZGxpbmVfc3RyKTsKLSAKLSAgICAgcmV0dXJuIGVycm9yczsKLUBAIC03MTgs NyArNzE3LDE1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAg ICB7Ci0gICAgICAgICAgICAgICAgIGludCBpID0gMDsKLSAgICAgICAgICAgICAgICAgd2hpbGUg KGkgPCBvb3BzX2NudCkKLS0gICAgICAgICAgICAgICAgICAgIHByaW50ZigiXG5WZXJzaW9uOiAl cyIsIChjaGFyKilnX2xpc3RfbnRoX2RhdGEob29wc19saXN0LCBpKyspKTsKLSsgICAgICAgICAg ICAgICAgewotKyAgICAgICAgICAgICAgICAgICAgY2hhciAqa2VybmVsX2J0ID0gKGNoYXIqKWdf bGlzdF9udGhfZGF0YShvb3BzX2xpc3QsIGkrKyk7Ci0rICAgICAgICAgICAgICAgICAgICBjaGFy ICp0YWludGVkX3Nob3J0ID0ga2VybmVsX3RhaW50ZWRfc2hvcnQoa2VybmVsX2J0KTsKLSsgICAg ICAgICAgICAgICAgICAgIGlmICh0YWludGVkX3Nob3J0KQotKyAgICAgICAgICAgICAgICAgICAg ICAgIGxvZygiS2VybmVsIGlzIHRhaW50ZWQgJyVzJyIsIHRhaW50ZWRfc2hvcnQpOwotKwotKyAg ICAgICAgICAgICAgICAgICAgZnJlZSh0YWludGVkX3Nob3J0KTsKLSsgICAgICAgICAgICAgICAg ICAgIHByaW50ZigiXG5WZXJzaW9uOiAlcyIsIGtlcm5lbF9idCk7Ci0rICAgICAgICAgICAgICAg IH0KLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgaWYgKChvcHRzICYgT1BUX2QpIHx8IChv cHRzICYgT1BUX0QpKQotICAgICAgICAgICAgIHsKLS0tIAotMS43LjcucmMwLjcwLmc4MjY2MAot CgpkaWZmIC0tZ2l0IGEvMDAwMi1kaXNhYmxlZC1yZXBvcnRpbmctdG8ta2VybmVsb29wcy5vcmcu cGF0Y2ggYi8wMDAyLWRpc2FibGVkLXJlcG9ydGluZy10by1rZXJuZWxvb3BzLm9yZy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzQ2ZWM4Ci0tLSAvZGV2L251bGwK KysrIGIvMDAwMi1kaXNhYmxlZC1yZXBvcnRpbmctdG8ta2VybmVsb29wcy5vcmcucGF0Y2gKQEAg LTAsMCArMSwyNyBAQAorRnJvbSAzZTM5ZDViOTk0NDUzNmE2ZjRkNGYyNjZiM2M0OTYxYWQ4ZGE0 NDNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlyaSA8bW9za292Y2FrQGdtYWls LmNvbT4KK0RhdGU6IFdlZCwgNyBEZWMgMjAxMSAxMDozNDoyNyArMDEwMAorU3ViamVjdDogW1BB VENIIDIvMl0gZGlzYWJsZWQgcmVwb3J0aW5nIHRvIGtlcm5lbG9vcHMub3JnCisKKy0gd2UgZ2V0 IGxvdCBvZiBjb21wbGFpbnMgYWJvdXQgZGVhZCBrZXJuZWxvb3BzLm9yZyBhbmQgc2luY2UgaXQn cworICBub3Qgd2lodGluIG91ciBwb3dlciB0byBmaXggaXQgLT4gZGlzYWJsZSBpdCEKKy0tLQor IHNyYy9wbHVnaW5zL2tvb3BzX2V2ZW50LmNvbmYgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2Vk LCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvcGx1 Z2lucy9rb29wc19ldmVudC5jb25mIGIvc3JjL3BsdWdpbnMva29vcHNfZXZlbnQuY29uZgoraW5k ZXggM2I4MGExYi4uMmZkY2NkYSAxMDA2NDQKKy0tLSBhL3NyYy9wbHVnaW5zL2tvb3BzX2V2ZW50 LmNvbmYKKysrKyBiL3NyYy9wbHVnaW5zL2tvb3BzX2V2ZW50LmNvbmYKK0BAIC0xMCw3ICsxMCw3 IEBAIEVWRU5UPXBvc3QtY3JlYXRlIGFuYWx5emVyPUtlcm5lbG9vcHMKKyAgICAgICAgIHJlcG9y dGVyLWtlcm5lbG9vcHMKKyAKKyAjIHJlcG9ydAorLUVWRU5UPXJlcG9ydF9LZXJuZWxvb3BzIGFu YWx5emVyPUtlcm5lbG9vcHMKKysjRVZFTlQ9cmVwb3J0X0tlcm5lbG9vcHMgYW5hbHl6ZXI9S2Vy bmVsb29wcworICAgICAgICAgcmVwb3J0ZXIta2VybmVsb29wcworIAorIEVWRU5UPXJlcG9ydF9C dWd6aWxsYSBhbmFseXplcj1LZXJuZWxvb3BzCistLSAKKzEuNy43LjMKKwoKZGlmZiAtLWdpdCBh LzAwMDItZ3RrMy1idWlsZC1maXhlcy5wYXRjaCBiLzAwMDItZ3RrMy1idWlsZC1maXhlcy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDc2ODJmMi4uMDAwMDAwMAotLS0gYS8w MDAyLWd0azMtYnVpbGQtZml4ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBA Ci1Gcm9tIGFmNjJmNWY5ZmMzMWE4YjI0YTU2OTgzZDM3Y2FkMmQyOTM4MGZmMjAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaXJpIE1vc2tvdmNhayA8am1vc2tvdmNAcmVkaGF0LmNv bT4KLURhdGU6IEZyaSwgNCBOb3YgMjAxMSAxNToyODoxNSArMDEwMAotU3ViamVjdDogW1BBVENI IDIvMl0gZ3RrMyBidWlsZCBmaXhlcwotCi0tLS0KLSBjb25maWd1cmUuYWMgICAgICAgIHwgICAg NyArKysrKystCi0gc3JjL2FwcGxldC9hcHBsZXQuYyB8ICAgIDQgKystLQotIHNyYy9ndWktZ3Rr L21haW4uYyAgfCAgICA3ICsrKysrKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1 cmUuYWMKLWluZGV4IDZiMDczMmMuLmQ1ODQwNDcgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMK LSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTIwLDYgKzIwLDExIEBAIEFDX0FSR19FTkFCTEUoZGVi dWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxlIGRlYnVnIGluZm9ybWF0 aW9uXSldLAotICAgICAgICAgICAgICAgW0NGTEFHUz0iJENGTEFHUyAtRERFQlVHIC1nZ2RiIC1n Il0pCi0gCi0rQUNfQVJHX0VOQUJMRShndGszLAotKyAgICAgICAgICAgICAgW0FDX0hFTFBfU1RS SU5HKFstLWVuYWJsZS1ndGszXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtVc2Ug Z3RrMyBpbnN0ZWFkIG9mIGd0azJdKV0sCi0rICAgICAgICAgICAgICBbR1RLX1ZFUj0iZ3RrKy0z LjAiXSxbR1RLX1ZFUj0iZ3RrKy0yLjAiXSkKLSsKLSBkbmwgKioqKioqIElOVEVSTkFUSU9OQUxJ WkFUSU9OICoqKioqKioqKioqKioqKioqKioqKioKLSBHRVRURVhUX1BBQ0tBR0U9YWJydAotIEFD X1NVQlNUKEdFVFRFWFRfUEFDS0FHRSkKLUBAIC01Niw3ICs2MSw3IEBAIEFDX1BBVEhfUFJPRyhb WE1MVE9dLCBbeG1sdG9dLCBbbm9dKQotICAgICBbZXhpdCAxXQotIFtmaV0KLSAKLS1QS0dfQ0hF Q0tfTU9EVUxFUyhbR1RLXSwgW2d0aystMi4wXSkKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbR1RLXSwg WyRHVEtfVkVSXSkKLSBQS0dfQ0hFQ0tfTU9EVUxFUyhbR0xJQl0sIFtnbGliLTIuMCA+PSAyLjIx XSkKLSBQS0dfQ0hFQ0tfTU9EVUxFUyhbREJVU10sIFtkYnVzLTFdKQotIFBLR19DSEVDS19NT0RV TEVTKFtMSUJYTUxdLCBbbGlieG1sLTIuMF0pCi1kaWZmIC0tZ2l0IGEvc3JjL2FwcGxldC9hcHBs ZXQuYyBiL3NyYy9hcHBsZXQvYXBwbGV0LmMKLWluZGV4IDRmZjczYjYuLjk1YjcwOTEgMTAwNjQ0 Ci0tLS0gYS9zcmMvYXBwbGV0L2FwcGxldC5jCi0rKysgYi9zcmMvYXBwbGV0L2FwcGxldC5jCi1A QCAtNTgxLDggKzU4MSw4IEBAIHN0YXRpYyB2b2lkIGluaXRfYXBwbGV0KHZvaWQpCi0gICAgICAg ICAgICAgYXBfc3RhdHVzX2ljb24gPSBndGtfc3RhdHVzX2ljb25fbmV3X2Zyb21faWNvbl9uYW1l KCJhYnJ0Iik7Ci0gICAgICAgICB9Ci0gICAgICAgICBoaWRlX2ljb24oKTsKLS0gICAgICAgIGdf c2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1QoYXBfc3RhdHVzX2ljb24pLCAiYWN0aXZhdGUiLCBHVEtf U0lHTkFMX0ZVTkMob25fYXBwbGV0X2FjdGl2YXRlX2NiKSwgTlVMTCk7Ci0tICAgICAgICBnX3Np Z25hbF9jb25uZWN0KEdfT0JKRUNUKGFwX3N0YXR1c19pY29uKSwgInBvcHVwX21lbnUiLCBHVEtf U0lHTkFMX0ZVTkMob25fbWVudV9wb3B1cF9jYiksIE5VTEwpOwotKyAgICAgICAgZ19zaWduYWxf Y29ubmVjdChHX09CSkVDVChhcF9zdGF0dXNfaWNvbiksICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0so b25fYXBwbGV0X2FjdGl2YXRlX2NiKSwgTlVMTCk7Ci0rICAgICAgICBnX3NpZ25hbF9jb25uZWN0 KEdfT0JKRUNUKGFwX3N0YXR1c19pY29uKSwgInBvcHVwX21lbnUiLCBHX0NBTExCQUNLKG9uX21l bnVfcG9wdXBfY2IpLCBOVUxMKTsKLSAgICAgICAgIGFwX21lbnUgPSBjcmVhdGVfbWVudSgpOwot ICAgICB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2d1aS1ndGsvbWFpbi5jIGIvc3JjL2d1aS1ndGsv bWFpbi5jCi1pbmRleCBhOGFhY2VjLi5iMzE1MDliIDEwMDY0NAotLS0tIGEvc3JjL2d1aS1ndGsv bWFpbi5jCi0rKysgYi9zcmMvZ3VpLWd0ay9tYWluLmMKLUBAIC0yNSw2ICsyNSwxMSBAQAotICNp bmNsdWRlIDxpbnRlcm5hbF9saWJyZXBvcnRfZ3RrLmg+Ci0gI2luY2x1ZGUgImxpYmFicnQuaCIK LSAKLSsjaWYgR1RLX01BSk9SX1ZFUlNJT04gPT0gMiAmJiBHVEtfTUlOT1JfVkVSU0lPTiA8IDIy Ci0rIyBkZWZpbmUgR0RLX0tFWV9EZWxldGUgR0RLX0RlbGV0ZQotKyMgZGVmaW5lIEdES19LRVlf S1BfRGVsZXRlIEdES19LUF9EZWxldGUKLSsjZW5kaWYKLSsKLSBzdGF0aWMgdm9pZCBzY2FuX2Rp cnNfYW5kX2FkZF90b19kaXJsaXN0KHZvaWQpOwotIAotIAotQEAgLTQ2MCw3ICs0NjUsNyBAQCBz dGF0aWMgZ2ludCBvbl9rZXlfcHJlc3NfZXZlbnRfY2IoR3RrVHJlZVZpZXcgKnRyZWV2aWV3LCBH ZGtFdmVudEtleSAqa2V5LCBncG9pbgotIHsKLSAgICAgaW50IGsgPSBrZXktPmtleXZhbDsKLSAK LS0gICAgaWYgKGsgPT0gR0RLX0RlbGV0ZSB8fCBrID09IEdES19LUF9EZWxldGUpCi0rICAgIGlm IChrID09IEdES19LRVlfRGVsZXRlIHx8IGsgPT0gR0RLX0tFWV9LUF9EZWxldGUpCi0gICAgIHsK LSAgICAgICAgIGRlbGV0ZV9yZXBvcnQodHJlZXZpZXcpOwotICAgICAgICAgcmV0dXJuIFRSVUU7 Ci0tLSAKLTEuNy43Ci0KCmRpZmYgLS1naXQgYS8wMDAyLWd1aS1zcGxpdC10aGUtbWFpbi13aW5k b3ctaW4tMi1wYW5lcy1yZXBvcnRlZC1ub3QtcmUucGF0Y2ggYi8wMDAyLWd1aS1zcGxpdC10aGUt bWFpbi13aW5kb3ctaW4tMi1wYW5lcy1yZXBvcnRlZC1ub3QtcmUucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGRkOTczZTIuLjAwMDAwMDAKLS0tIGEvMDAwMi1ndWktc3BsaXQt dGhlLW1haW4td2luZG93LWluLTItcGFuZXMtcmVwb3J0ZWQtbm90LXJlLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMzU0ICswLDAgQEAKLUZyb20gM2YzNjU1OTgwMDA3ZDM5ZTAzNzdlNzZhNDlm ZDI5MzdmNDNmMGJlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppcmkgTW9za292 Y2FrIDxqbW9za292Y0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAyMSBKdWwgMjAxMSAxMTowMjox MSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvNF0gZ3VpOiBzcGxpdCB0aGUgbWFpbiB3aW5kb3cg aW4gMiBwYW5lcyAtCi0gcmVwb3J0ZWQvbm90LXJlcG9ydGVkCi0KLS0tLQotIHNyYy9ndWktZ3Rr L21haW4uYyB8ICAyMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLQotIDEgZmlsZXMgY2hhbmdlZCwgMTgyIGluc2VydGlvbnMoKyksIDMzIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2d1aS1ndGsvbWFpbi5jIGIvc3JjL2d1aS1ndGsv bWFpbi5jCi1pbmRleCAxNDA5MTkxLi43NzZlODVhIDEwMDY0NAotLS0tIGEvc3JjL2d1aS1ndGsv bWFpbi5jCi0rKysgYi9zcmMvZ3VpLWd0ay9tYWluLmMKLUBAIC0zMiw3ICszMiw5IEBAIHN0YXRp YyBjb25zdCBjaGFyIGhlbHBfdXJpW10gPSAiaHR0cDovL2RvY3MuZmVkb3JhcHJvamVjdC5vcmcv ZW4tVVMvIgotICAgICAiRmVkb3JhLzE0L2h0bWwvRGVwbG95bWVudF9HdWlkZS9jaC1hYnJ0Lmh0 bWwiOwotIAotIHN0YXRpYyBHdGtMaXN0U3RvcmUgKnNfZHVtcHNfbGlzdF9zdG9yZTsKLStzdGF0 aWMgR3RrTGlzdFN0b3JlICpzX3JlcG9ydGVkX2R1bXBzX2xpc3Rfc3RvcmU7Ci0gc3RhdGljIEd0 a1dpZGdldCAqc190cmVldmlldzsKLStzdGF0aWMgR3RrV2lkZ2V0ICpzX3JlcG9ydGVkX3RyZWV2 aWV3OwotIHN0YXRpYyBHdGtXaWRnZXQgKmdfbWFpbl93aW5kb3c7Ci0gc3RhdGljIEd0a1dpZGdl dCAqc19yZXBvcnRfd2luZG93OwotIAotQEAgLTQwLDEzICs0MiwzOCBAQCBlbnVtCi0gewotICAg ICBDT0xVTU5fU09VUkNFLAotICAgICBDT0xVTU5fUkVBU09OLAotLSAgICBDT0xVTU5fRElSTkFN RSwKLSAgICAgQ09MVU1OX0xBVEVTVF9DUkFTSF9TVFIsCi0gICAgIENPTFVNTl9MQVRFU1RfQ1JB U0gsCi0gICAgIENPTFVNTl9EVU1QX0RJUiwKLSsgICAgQ09MVU1OX1JFUE9SVEVEX1RPLAotICAg ICBOVU1fQ09MVU1OUwotIH07Ci0gCi0rLy9GSVhNRTogbWF5YmUgd2UgY2FuIHVzZSBzdHJyY2hy IGFuZCBtYWtlIHRoaXMgZmFzdGVyLi4uCi0rc3RhdGljIGNoYXIgKmdldF9sYXN0X2xpbmUoY29u c3QgY2hhciogbXNnKQotK3sKLSsgICAgY29uc3QgY2hhciAqY3Vycl9lbmQgPSBOVUxMOwotKyAg ICBjb25zdCBjaGFyICpzdGFydCA9IG1zZzsKLSsgICAgY29uc3QgY2hhciAqZW5kID0gbXNnOwot KwotKyAgICB3aGlsZSgoY3Vycl9lbmQgPSBzdHJjaHIoZW5kLCAnXG4nKSkgIT0gTlVMTCkKLSsg ICAgewotKyAgICAgICAgZW5kID0gY3Vycl9lbmQ7Ci0rICAgICAgICBjdXJyX2VuZCA9IHN0cmNo cihlbmQrMSwgJ1xuJyk7Ci0rICAgICAgICBpZiAoY3Vycl9lbmQgPT0gTlVMTCB8fCBzdHJjaHIo ZW5kKzIsICdcbicpID09IE5VTEwpCi0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0rICAgICAgICBz dGFydCA9IGVuZCsxOwotKyAgICAgICAgZW5kID0gY3Vycl9lbmQ7Ci0rICAgIH0KLSsKLSsgICAg Ly9maXggdGhlIGNhc2Ugd2hlcmUgcmVwb3J0ZWRfdG8gaGFzIG9ubHkgMSBsaW5lIHdpdGhvdXQg XG4KLSsgICAgaWYgKGVuZCA9PSBtc2cpCi0rICAgICAgICBlbmQgPSBlbmQgKyBzdHJsZW4obXNn KTsKLSsKLSsgICAgcmV0dXJuIHhzdHJuZHVwKHN0YXJ0LCBlbmQgLSBzdGFydCk7Ci0rfQotKwot IHN0YXRpYyB2b2lkIGFkZF9kaXJlY3RvcnlfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXJuYW1l KQotIHsKLSAgICAgLyogU2lsZW50bHkgaWdub3JlICphbnkqIGVycm9ycywgbm90IG9ubHkgRUFD Q0VTLgotQEAgLTY3LDIxICs5NCwxMSBAQCBzdGF0aWMgdm9pZCBhZGRfZGlyZWN0b3J5X3RvX2Rp cmxpc3QoY29uc3QgY2hhciAqZGlybmFtZSkKLSAgICAgewotICAgICAgICAgdGltZV90IHQgPSBz dHJ0b2wodGltZV9zdHIsIE5VTEwsIDEwKTsgLyogYXRvaSB3b24ndCB3b3JrIHBhc3QgMjAzOCEg Ki8KLSAgICAgICAgIHN0cnVjdCB0bSAqcHRtID0gbG9jYWx0aW1lKCZ0KTsKLS0gICAgICAgIHNp emVfdCB0aW1lX2xlbiA9IHN0cmZ0aW1lKHRpbWVfYnVmLCBzaXplb2YodGltZV9idWYpLTEsICIl WS0lbS0lbSAlSDolTSIsIHB0bSk7Ci0rICAgICAgICBzaXplX3QgdGltZV9sZW4gPSBzdHJmdGlt ZSh0aW1lX2J1Ziwgc2l6ZW9mKHRpbWVfYnVmKS0xLCAiJVktJW0tJWQgJUg6JU0iLCBwdG0pOwot ICAgICAgICAgdGltZV9idWZbdGltZV9sZW5dID0gJ1wwJzsKLSAgICAgfQotICAgICBmcmVlKHRp bWVfc3RyKTsKLSAKLS0gICAgLyoKLS0gICAgY2hhciAqbXNnID0gZGRfbG9hZF90ZXh0X2V4dChk ZCwgRklMRU5BTUVfUkVQT1JURURfVE8sIDAKLS0gICAgICAgICAgICAgICAgfCBERF9MT0FEX1RF WFRfUkVUVVJOX05VTExfT05fRkFJTFVSRQotLSAgICAgICAgICAgICAgICB8IEREX0ZBSUxfUVVJ RVRMWV9FTk9FTlQKLS0gICAgICAgICAgICAgICAgfCBERF9GQUlMX1FVSUVUTFlfRUFDQ0VTCi0t ICAgICk7Ci0tICAgIGNvbnN0IGNoYXIgKnJlcG9ydGVkID0gKG1zZyA/IEdUS19TVE9DS19ZRVMg OiBHVEtfU1RPQ0tfTk8pOwotLSAgICBmcmVlKG1zZyk7Ci0tICAgICovCi0tCi0gICAgIGNoYXIg KnJlYXNvbiA9IGRkX2xvYWRfdGV4dChkZCwgRklMRU5BTUVfUkVBU09OKTsKLSAKLSAgICAgLyog dGhlIHNvdXJjZSBvZiB0aGUgcHJvYmxlbToKLUBAIC0xMDIsMTggKzExOSwzOCBAQCBzdGF0aWMg dm9pZCBhZGRfZGlyZWN0b3J5X3RvX2Rpcmxpc3QoY29uc3QgY2hhciAqZGlybmFtZSkKLSAgICAg ICAgICk7Ci0gICAgIH0KLSAKLSsgICAgY2hhciAqbXNnID0gZGRfbG9hZF90ZXh0X2V4dChkZCwg RklMRU5BTUVfUkVQT1JURURfVE8sIDAKLSsgICAgICAgICAgICAgICAgfCBERF9MT0FEX1RFWFRf UkVUVVJOX05VTExfT05fRkFJTFVSRQotKyAgICAgICAgICAgICAgICB8IEREX0ZBSUxfUVVJRVRM WV9FTk9FTlQKLSsgICAgICAgICAgICAgICAgfCBERF9GQUlMX1FVSUVUTFlfRUFDQ0VTCi0rICAg ICk7Ci0rCi0rCi0rICAgIEd0a0xpc3RTdG9yZSAqbGlzdF9zdG9yZTsKLSsKLSsgICAgY2hhciAq c3VibV9zdGF0dXMgPSBOVUxMOwotKyAgICBpZiAobXNnKQotKyAgICB7Ci0rICAgICAgICBsaXN0 X3N0b3JlID0gc19yZXBvcnRlZF9kdW1wc19saXN0X3N0b3JlOwotKyAgICAgICAgc3VibV9zdGF0 dXMgPSBnZXRfbGFzdF9saW5lKG1zZyk7Ci0rICAgIH0KLSsgICAgZWxzZQotKyAgICAgICAgbGlz dF9zdG9yZSA9IHNfZHVtcHNfbGlzdF9zdG9yZTsKLSAKLSAgICAgR3RrVHJlZUl0ZXIgaXRlcjsK LS0gICAgZ3RrX2xpc3Rfc3RvcmVfYXBwZW5kKHNfZHVtcHNfbGlzdF9zdG9yZSwgJml0ZXIpOwot LSAgICBndGtfbGlzdF9zdG9yZV9zZXQoc19kdW1wc19saXN0X3N0b3JlLCAmaXRlciwKLSsgICAg Z3RrX2xpc3Rfc3RvcmVfYXBwZW5kKGxpc3Rfc3RvcmUsICZpdGVyKTsKLSsgICAgZ3RrX2xpc3Rf c3RvcmVfc2V0KGxpc3Rfc3RvcmUsICZpdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg Q09MVU1OX1NPVVJDRSwgc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1O X1JFQVNPTiwgcmVhc29uLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0RJUk5B TUUsIGRkLT5kZF9kaXJuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9PUFRJT046 IHRpbWUgZm9ybWF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fTEFURVNUX0NS QVNIX1NUUiwgdGltZV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fTEFU RVNUX0NSQVNILCB0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0RVTVBf RElSLCBkaXJuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX1JFUE9SVEVE X1RPLCBtc2cgPyBzdWJtX3N0YXR1cyA6IE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAtMSk7Ci0rICAgIC8qIHRoaXMgaXMgc2FmZSwgc3VibV9zdGF0dXMgaXMgZWl0aGVyIG51bGwg b3IgbWFsbG9jZWQgc3RyaW5nIGZyb20gZ2V0X2xhc3RfbGluZSAqLwotKyAgICBmcmVlKHN1Ym1f c3RhdHVzKTsKLSsgICAgZnJlZShtc2cpOwotICAgICBmcmVlKHJlYXNvbik7Ci0gCi0gICAgIGRk X2Nsb3NlKGRkKTsKLUBAIC0xMjMsNiArMTYwLDcgQEAgc3RhdGljIHZvaWQgYWRkX2RpcmVjdG9y eV90b19kaXJsaXN0KGNvbnN0IGNoYXIgKmRpcm5hbWUpCi0gc3RhdGljIHZvaWQgcmVzY2FuX2Rp cnNfYW5kX2FkZF90b19kaXJsaXN0KHZvaWQpCi0gewotICAgICBndGtfbGlzdF9zdG9yZV9jbGVh cihzX2R1bXBzX2xpc3Rfc3RvcmUpOwotKyAgICBndGtfbGlzdF9zdG9yZV9jbGVhcihzX3JlcG9y dGVkX2R1bXBzX2xpc3Rfc3RvcmUpOwotICAgICBzY2FuX2RpcnNfYW5kX2FkZF90b19kaXJsaXN0 KCk7Ci0gfQotIAotQEAgLTIzMiw3ICsyNzAsNyBAQCBzdGF0aWMgdm9pZCBkZWxldGVfcmVwb3J0 KEd0a1RyZWVWaWV3ICp0cmVldmlldykKLSAgICAgICAgICAgICBWRVJCMSBsb2coIkRlbGV0aW5n ICclcyciLCBkdW1wX2Rpcl9uYW1lKTsKLSAgICAgICAgICAgICBpZiAoZGVsZXRlX2R1bXBfZGly X3Bvc3NpYmx5X3VzaW5nX2FicnRkKGR1bXBfZGlyX25hbWUpID09IDApCi0gICAgICAgICAgICAg ewotLSAgICAgICAgICAgICAgICBndGtfbGlzdF9zdG9yZV9yZW1vdmUoc19kdW1wc19saXN0X3N0 b3JlLCAmaXRlcik7Ci0rICAgICAgICAgICAgICAgIGd0a19saXN0X3N0b3JlX3JlbW92ZShHVEtf TElTVF9TVE9SRShzdG9yZSksICZpdGVyKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg ZWxzZQotICAgICAgICAgICAgIHsKLUBAIC0yNjIsNyArMzAwLDkgQEAgc3RhdGljIGdpbnQgb25f a2V5X3ByZXNzX2V2ZW50X2NiKEd0a1RyZWVWaWV3ICp0cmVldmlldywgR2RrRXZlbnRLZXkgKmtl eSwgZ3BvaW4KLSAKLSBzdGF0aWMgdm9pZCBvbl9idG5fZGVsZXRlX2NiKEd0a0J1dHRvbiAqYnV0 dG9uLCBncG9pbnRlciB1bnVzZWQpCi0gewotKyAgICAvKiBkZWxldGUgZnJvbSBib3RoIHRyZWV2 aWV3cyAqLwotICAgICBkZWxldGVfcmVwb3J0KEdUS19UUkVFX1ZJRVcoc190cmVldmlldykpOwot KyAgICBkZWxldGVfcmVwb3J0KEdUS19UUkVFX1ZJRVcoc19yZXBvcnRlZF90cmVldmlldykpOwot IH0KLSAKLSBzdGF0aWMgdm9pZCBvbl9tZW51X2hlbHBfY2IoR3RrTWVudUl0ZW0gKm1lbnVpdGVt LCBncG9pbnRlciB1bnVzZWQpCi1AQCAtNDIxLDYgKzQ2MSw1MCBAQCBzdGF0aWMgdm9pZCBhZGRf Y29sdW1ucyhHdGtUcmVlVmlldyAqdHJlZXZpZXcpCi0gICAgIGd0a190cmVlX3ZpZXdfYXBwZW5k X2NvbHVtbih0cmVldmlldywgY29sdW1uKTsKLSB9Ci0gCi0rc3RhdGljIHZvaWQgYWRkX2NvbHVt bnNfcmVwb3J0ZWQoR3RrVHJlZVZpZXcgKnRyZWV2aWV3KQotK3sKLSsgICAgR3RrQ2VsbFJlbmRl cmVyICpyZW5kZXJlcjsKLSsgICAgR3RrVHJlZVZpZXdDb2x1bW4gKmNvbHVtbjsKLSsKLSsgICAg cmVuZGVyZXIgPSBndGtfY2VsbF9yZW5kZXJlcl90ZXh0X25ldygpOwotKyAgICBjb2x1bW4gPSBn dGtfdHJlZV92aWV3X2NvbHVtbl9uZXdfd2l0aF9hdHRyaWJ1dGVzKF8oIlNvdXJjZSIpLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVy ZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAidGV4dCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDT0xVTU5fU09VUkNFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0rICAgIGd0a190cmVlX3ZpZXdfY29sdW1uX3Nl dF9yZXNpemFibGUoY29sdW1uLCBUUlVFKTsKLSsgICAgZ3RrX3RyZWVfdmlld19jb2x1bW5fc2V0 X3NvcnRfY29sdW1uX2lkKGNvbHVtbiwgQ09MVU1OX1NPVVJDRSk7Ci0rICAgIGd0a190cmVlX3Zp ZXdfYXBwZW5kX2NvbHVtbih0cmVldmlldywgY29sdW1uKTsKLSsKLSsgICAgcmVuZGVyZXIgPSBn dGtfY2VsbF9yZW5kZXJlcl90ZXh0X25ldygpOwotKyAgICBjb2x1bW4gPSBndGtfdHJlZV92aWV3 X2NvbHVtbl9uZXdfd2l0aF9hdHRyaWJ1dGVzKF8oIlByb2JsZW0iKSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09M VU1OX1JFQVNPTiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwpOwotKyAgICBndGtfdHJlZV92aWV3X2NvbHVtbl9zZXRfcmVzaXphYmxl KGNvbHVtbiwgVFJVRSk7Ci0rICAgIGd0a190cmVlX3ZpZXdfY29sdW1uX3NldF9zb3J0X2NvbHVt bl9pZChjb2x1bW4sIENPTFVNTl9SRUFTT04pOwotKyAgICBndGtfdHJlZV92aWV3X2FwcGVuZF9j b2x1bW4odHJlZXZpZXcsIGNvbHVtbik7Ci0rCi0rICAgIHJlbmRlcmVyID0gZ3RrX2NlbGxfcmVu ZGVyZXJfdGV4dF9uZXcoKTsKLSsgICAgY29sdW1uID0gZ3RrX3RyZWVfdmlld19jb2x1bW5fbmV3 X3dpdGhfYXR0cmlidXRlcyhfKCJEYXRlIFN1Ym1pdHRlZCIpLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dCIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5f TEFURVNUX0NSQVNIX1NUUiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwpOwotKyAgICBndGtfdHJlZV92aWV3X2NvbHVtbl9zZXRfc29y dF9jb2x1bW5faWQoY29sdW1uLCBDT0xVTU5fTEFURVNUX0NSQVNIKTsKLSsgICAgZ3RrX3RyZWVf dmlld19hcHBlbmRfY29sdW1uKHRyZWV2aWV3LCBjb2x1bW4pOwotKwotKyAgICByZW5kZXJlciA9 IGd0a19jZWxsX3JlbmRlcmVyX3RleHRfbmV3KCk7Ci0rICAgIGNvbHVtbiA9IGd0a190cmVlX3Zp ZXdfY29sdW1uX25ld193aXRoX2F0dHJpYnV0ZXMoXygiU3VibWlzaW9uIFJlc3VsdCIpLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVy ZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAidGV4dCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDT0xVTU5fUkVQT1JURURfVE8sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSsgICAgLy9ndGtfdHJlZV92aWV3X2Nv bHVtbl9zZXRfc29ydF9jb2x1bW5faWQoY29sdW1uLCBDT0xVTU5fTEFURVNUX0NSQVNIKTsKLSsg ICAgZ3RrX3RyZWVfdmlld19hcHBlbmRfY29sdW1uKHRyZWV2aWV3LCBjb2x1bW4pOwotK30KLSsK LSBzdGF0aWMgR3RrV2lkZ2V0ICpjcmVhdGVfbWVudSh2b2lkKQotIHsKLSAgICAgLyogbWFpbiBi YXIgKi8KLUBAIC00NzYsNDAgKzU2MCwxMDIgQEAgc3RhdGljIEd0a1dpZGdldCAqY3JlYXRlX21h aW5fd2luZG93KHZvaWQpCi0gICAgIGd0a193aW5kb3dfc2V0X2RlZmF1bHRfaWNvbl9uYW1lKCJh YnJ0Iik7Ci0gCi0gICAgIEd0a1dpZGdldCAqbWFpbl92Ym94ID0gZ3RrX3Zib3hfbmV3KGZhbHNl LCAwKTsKLSsgICAgLyogYWRkIG1lbnUgKi8KLSsgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19C T1gobWFpbl92Ym94KSwgY3JlYXRlX21lbnUoKSwgZmFsc2UsIGZhbHNlLCAwKTsKLSAKLS0gICAg LyogU2Nyb2xsZWQgcmVnaW9uIGluc2lkZSBtYWluIHdpbmRvdyAqLwotLSAgICBHdGtXaWRnZXQg KnNjcm9sbF93aW4gPSBndGtfc2Nyb2xsZWRfd2luZG93X25ldyhOVUxMLCBOVUxMKTsKLS0gICAg Z3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfc2hhZG93X3R5cGUoR1RLX1NDUk9MTEVEX1dJTkRPVyhz Y3JvbGxfd2luKSwKLSsgICAgR3RrV2lkZ2V0ICpub3Rfc3VibV92Ym94ID0gZ3RrX3Zib3hfbmV3 KGZhbHNlLCAwKTsKLSsgICAgZ3RrX2NvbnRhaW5lcl9zZXRfYm9yZGVyX3dpZHRoKEdUS19DT05U QUlORVIobm90X3N1Ym1fdmJveCksIDEwKTsKLSsgICAgR3RrV2lkZ2V0ICpzdWJtX3Zib3ggPSBn dGtfdmJveF9uZXcoZmFsc2UsIDApOwotKyAgICBndGtfY29udGFpbmVyX3NldF9ib3JkZXJfd2lk dGgoR1RLX0NPTlRBSU5FUihzdWJtX3Zib3gpLCAxMCk7Ci0rCi0rICAgIC8qIFNjcm9sbGVkIHJl Z2lvbiBmb3Igbm90IHJlcG9ydGVkIHByb2JsZW1zIGluc2lkZSBtYWluIHdpbmRvdyovCi0rICAg IEd0a1dpZGdldCAqbmV3X3Byb2JsZW1zX3Njcm9sbF93aW4gPSBndGtfc2Nyb2xsZWRfd2luZG93 X25ldyhOVUxMLCBOVUxMKTsKLSsgICAgZ3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfc2hhZG93X3R5 cGUoR1RLX1NDUk9MTEVEX1dJTkRPVyhuZXdfcHJvYmxlbXNfc2Nyb2xsX3dpbiksCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1NIQURPV19FVENIRURfSU4p OwotLSAgICBndGtfc2Nyb2xsZWRfd2luZG93X3NldF9wb2xpY3koR1RLX1NDUk9MTEVEX1dJTkRP VyhzY3JvbGxfd2luKSwKLSsgICAgZ3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfcG9saWN5KEdUS19T Q1JPTExFRF9XSU5ET1cobmV3X3Byb2JsZW1zX3Njcm9sbF93aW4pLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT0xJQ1lfQVVUT01BVElDLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT0xJQ1lfQVVUT01BVElD KTsKLSAKLS0gICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1gobWFpbl92Ym94KSwgY3JlYXRl X21lbnUoKSwgZmFsc2UsIGZhbHNlLCAwKTsKLS0gICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19C T1gobWFpbl92Ym94KSwgc2Nyb2xsX3dpbiwgdHJ1ZSwgdHJ1ZSwgMCk7Ci0tICAgIGd0a19jb250 YWluZXJfYWRkKEdUS19DT05UQUlORVIoZ19tYWluX3dpbmRvdyksIG1haW5fdmJveCk7Ci0rICAg IEd0a1dpZGdldCAqbm90X3N1Ym1fbGJsID0gZ3RrX2xhYmVsX25ldyhfKCJOb3Qgc3VibWl0dGVk IHJlcG9ydHMiKSk7Ci0rICAgIGd0a19taXNjX3NldF9hbGlnbm1lbnQoR1RLX01JU0Mobm90X3N1 Ym1fbGJsKSwgMCwgMCk7Ci0rICAgIGd0a19sYWJlbF9zZXRfbWFya3VwKEdUS19MQUJFTChub3Rf c3VibV9sYmwpLCBfKCI8Yj5Ob3Qgc3VibWl0dGVkIHJlcG9ydHM8L2I+IikpOwotKwotKyAgICAv KiBhZGQgbGFiZWwgZm9yIG5vdCBzdWJtaXR0ZWQgdHJlZSB2aWV3ICovCi0rICAgIGd0a19ib3hf cGFja19zdGFydChHVEtfQk9YKG5vdF9zdWJtX3Zib3gpLCBub3Rfc3VibV9sYmwsIGZhbHNlLCBm YWxzZSwgMCk7Ci0rICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKG5vdF9zdWJtX3Zib3gp LCBuZXdfcHJvYmxlbXNfc2Nyb2xsX3dpbiwgdHJ1ZSwgdHJ1ZSwgMCk7Ci0rICAgIGd0a19ib3hf cGFja19zdGFydChHVEtfQk9YKG1haW5fdmJveCksIG5vdF9zdWJtX3Zib3gsIHRydWUsIHRydWUs IDApOwotIAotICAgICAvKiBUcmVlIHZpZXcgaW5zaWRlIHNjcm9sbGVkIHJlZ2lvbiAqLwotICAg ICBzX3RyZWV2aWV3ID0gZ3RrX3RyZWVfdmlld19uZXcoKTsKLSAgICAgZ19vYmplY3Rfc2V0KHNf dHJlZXZpZXcsICJydWxlcy1oaW50IiwgMSwgTlVMTCk7IC8qIHVzZSBhbHRlcm5hdGluZyBjb2xv cnMgKi8KLSAgICAgYWRkX2NvbHVtbnMoR1RLX1RSRUVfVklFVyhzX3RyZWV2aWV3KSk7Ci0tICAg IGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoc2Nyb2xsX3dpbiksIHNfdHJlZXZpZXcp OwotKyAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKG5ld19wcm9ibGVtc19zY3Jv bGxfd2luKSwgc190cmVldmlldyk7Ci0gCi0gICAgIC8qIENyZWF0ZSBkYXRhIHN0b3JlIGZvciB0 aGUgbGlzdCBhbmQgYXR0YWNoIGl0ICovCi0tICAgIHNfZHVtcHNfbGlzdF9zdG9yZSA9IGd0a19s aXN0X3N0b3JlX25ldyhOVU1fQ09MVU1OUywgR19UWVBFX1NUUklORywgLyogc291cmNlICovCi0r ICAgIHNfZHVtcHNfbGlzdF9zdG9yZSA9IGd0a19saXN0X3N0b3JlX25ldyhOVU1fQ09MVU1OUywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklO RywgLyogc291cmNlICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdfVFlQRV9TVFJJTkcsIC8qIGV4ZWN1dGFibGUgKi8KLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgLyogdGltZSAqLwotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5ULCAgICAvKiB1 bml4IHRpbWUgLSB1c2VkIGZvciBzb3J0ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIGR1bXAgZGlyIHBhdGggKi8KLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORyk7IC8q IHJlcG9ydGVkX3RvICovCi0rCi0rCi0rICAgIC8vRklYTUU6IGNvbmZpZ3VyYWJsZSEhCi0rICAg IGd0a190cmVlX3NvcnRhYmxlX3NldF9zb3J0X2NvbHVtbl9pZChHVEtfVFJFRV9TT1JUQUJMRShz X2R1bXBzX2xpc3Rfc3RvcmUpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDT0xVTU5fTEFURVNUX0NSQVNILAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHVEtfU09SVF9ERVNDRU5ESU5HKTsKLSsKLSsgICAgZ3RrX3RyZWVfdmlld19z ZXRfbW9kZWwoR1RLX1RSRUVfVklFVyhzX3RyZWV2aWV3KSwgR1RLX1RSRUVfTU9ERUwoc19kdW1w c19saXN0X3N0b3JlKSk7Ci0rCi0rICAgIC8qIERvdWJsZSBjbGljay9FbnRlciBoYW5kbGVyICov Ci0rICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc190cmVldmlldywgInJvdy1hY3RpdmF0ZWQiLCBHX0NB TExCQUNLKG9uX3Jvd19hY3RpdmF0ZWRfY2IpLCBOVUxMKTsKLSsgICAgLyogRGVsZXRlIGhhbmRs ZXIgKi8KLSsgICAgZ19zaWduYWxfY29ubmVjdChzX3RyZWV2aWV3LCAia2V5LXByZXNzLWV2ZW50 IiwgR19DQUxMQkFDSyhvbl9rZXlfcHJlc3NfZXZlbnRfY2IpLCBOVUxMKTsKLSsKLSsgICAgLyog c2Nyb2xsZWQgcmVnaW9uIGZvciByZXBvcnRlZCBwcm9ibGVtcyAqLwotKyAgICBHdGtXaWRnZXQg KnJlcG9ydGVkX3Byb2JsZW1zX3Njcm9sbF93aW4gPSBndGtfc2Nyb2xsZWRfd2luZG93X25ldyhO VUxMLCBOVUxMKTsKLSsgICAgZ3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfc2hhZG93X3R5cGUoR1RL X1NDUk9MTEVEX1dJTkRPVyhyZXBvcnRlZF9wcm9ibGVtc19zY3JvbGxfd2luKSwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfU0hBRE9XX0VUQ0hFRF9JTik7 Ci0rICAgIGd0a19zY3JvbGxlZF93aW5kb3dfc2V0X3BvbGljeShHVEtfU0NST0xMRURfV0lORE9X KHJlcG9ydGVkX3Byb2JsZW1zX3Njcm9sbF93aW4pLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdUS19QT0xJQ1lfQVVUT01BVElDLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT0xJQ1lfQVVUT01BVElDKTsKLSsKLSsg ICAgR3RrV2lkZ2V0ICpzdWJtX2xibCA9IGd0a19sYWJlbF9uZXcoXygiU3VibWl0dGVkIHJlcG9y dHMiKSk7Ci0rICAgIC8qIGFsaWduIHRvIGxlZnQgKi8KLSsgICAgZ3RrX21pc2Nfc2V0X2FsaWdu bWVudChHVEtfTUlTQyhzdWJtX2xibCksIDAsIDApOwotKyAgICBndGtfbGFiZWxfc2V0X21hcmt1 cChHVEtfTEFCRUwoc3VibV9sYmwpLCBfKCI8Yj5TdWJtaXR0ZWQgcmVwb3J0czwvYj4iKSk7Ci0r Ci0rCi0rICAgIC8qIGFkZCBsYWJlbCBmb3Igc3VibWl0dGVkIHRyZWUgdmlldyAqLwotKyAgICBn dGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChzdWJtX3Zib3gpLCBzdWJtX2xibCwgZmFsc2UsIGZh bHNlLCAwKTsKLSsgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1goc3VibV92Ym94KSwgcmVw b3J0ZWRfcHJvYmxlbXNfc2Nyb2xsX3dpbiwgdHJ1ZSwgdHJ1ZSwgMCk7Ci0rICAgIGd0a19ib3hf cGFja19zdGFydChHVEtfQk9YKG1haW5fdmJveCksIHN1Ym1fdmJveCwgdHJ1ZSwgdHJ1ZSwgMCk7 Ci0rCi0rICAgIC8qIFRyZWUgdmlldyBpbnNpZGUgc2Nyb2xsZWQgcmVnaW9uICovCi0rICAgIHNf cmVwb3J0ZWRfdHJlZXZpZXcgPSBndGtfdHJlZV92aWV3X25ldygpOwotKyAgICBnX29iamVjdF9z ZXQoc19yZXBvcnRlZF90cmVldmlldywgInJ1bGVzLWhpbnQiLCAxLCBOVUxMKTsgLyogdXNlIGFs dGVybmF0aW5nIGNvbG9ycyAqLwotKyAgICBhZGRfY29sdW1uc19yZXBvcnRlZChHVEtfVFJFRV9W SUVXKHNfcmVwb3J0ZWRfdHJlZXZpZXcpKTsKLSsgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NP TlRBSU5FUihyZXBvcnRlZF9wcm9ibGVtc19zY3JvbGxfd2luKSwgc19yZXBvcnRlZF90cmVldmll dyk7Ci0rCi0rICAgIC8qIENyZWF0ZSBkYXRhIHN0b3JlIGZvciB0aGUgbGlzdCBhbmQgYXR0YWNo IGl0ICovCi0rICAgIHNfcmVwb3J0ZWRfZHVtcHNfbGlzdF9zdG9yZSA9IGd0a19saXN0X3N0b3Jl X25ldyhOVU1fQ09MVU1OUywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgLyogc291cmNlICovCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJ TkcsIC8qIGV4ZWN1dGFibGUgKi8KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgLyogaG9zdG5hbWUgKi8KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBF X1NUUklORywgLyogdGltZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5ULCAgICAvKiB1bml4IHRpbWUgLSB1c2VkIGZv ciBzb3J0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIGR1bXAgZGlyIHBhdGggKi8KLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklO Ryk7Lyogcm93IGJhY2tncm91bmQgKi8KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORyk7IC8qIHJlcG9ydGVkX3RvICov Ci0rCi0gCi0gICAgIC8vRklYTUU6IGNvbmZpZ3VyYWJsZSEhCi0tICAgIGd0a190cmVlX3NvcnRh YmxlX3NldF9zb3J0X2NvbHVtbl9pZChHVEtfVFJFRV9TT1JUQUJMRShzX2R1bXBzX2xpc3Rfc3Rv cmUpLAotKyAgICBndGtfdHJlZV9zb3J0YWJsZV9zZXRfc29ydF9jb2x1bW5faWQoR1RLX1RSRUVf U09SVEFCTEUoc19yZXBvcnRlZF9kdW1wc19saXN0X3N0b3JlKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0xBVEVTVF9DUkFTSCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1NPUlRfREVTQ0VORElORyk7Ci0gCi0t ICAgIGd0a190cmVlX3ZpZXdfc2V0X21vZGVsKEdUS19UUkVFX1ZJRVcoc190cmVldmlldyksIEdU S19UUkVFX01PREVMKHNfZHVtcHNfbGlzdF9zdG9yZSkpOwotKwotKyAgICBndGtfdHJlZV92aWV3 X3NldF9tb2RlbChHVEtfVFJFRV9WSUVXKHNfcmVwb3J0ZWRfdHJlZXZpZXcpLCBHVEtfVFJFRV9N T0RFTChzX3JlcG9ydGVkX2R1bXBzX2xpc3Rfc3RvcmUpKTsKLSsKLSAKLSAgICAgLyogYnV0dG9u cyBhcmUgaG9tb2dlbm91cyBzbyBzZXQgc2l6ZSBvbmx5IGZvciBvbmUgYnV0dG9uIGFuZCBpdCB3 aWxsCi0gICAgICAqIHdvcmsgZm9yIHRoZSByZXN0IGJ1dHRvbnMgaW4gc2FtZSBndGtfaGJveF9u ZXcoKSAqLwotQEAgLTUxOCwyMCArNjY0LDIzIEBAIHN0YXRpYyBHdGtXaWRnZXQgKmNyZWF0ZV9t YWluX3dpbmRvdyh2b2lkKQotIAotICAgICBHdGtXaWRnZXQgKmJ0bl9kZWxldGUgPSBndGtfYnV0 dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19ERUxFVEUpOwotIAotLSAgICBHdGtXaWRnZXQg Kmhib3hfcmVwb3J0X2RlbGV0ZSA9IGd0a19oYm94X25ldyh0cnVlLCA0KTsKLSsgICAgR3RrV2lk Z2V0ICpoYm94X3JlcG9ydF9kZWxldGUgPSBndGtfaGJveF9uZXcodHJ1ZSwgMCk7Ci0gICAgIGd0 a19ib3hfcGFja19zdGFydChHVEtfQk9YKGhib3hfcmVwb3J0X2RlbGV0ZSksIGJ0bl9kZWxldGUs IHRydWUsIHRydWUsIDApOwotLSAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChoYm94X3Jl cG9ydF9kZWxldGUpLCBidG5fcmVwb3J0LCB0cnVlLCB0cnVlLCAwKTsKLSsgICAgZ3RrX2JveF9w YWNrX3N0YXJ0KEdUS19CT1goaGJveF9yZXBvcnRfZGVsZXRlKSwgYnRuX3JlcG9ydCwgdHJ1ZSwg dHJ1ZSwgMTApOwotIAotICAgICBHdGtXaWRnZXQgKmhhbGlnbiA9IGd0a19hbGlnbm1lbnRfbmV3 KDEsIDAsIDAsIDApOwotICAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKGhhbGln biksIGhib3hfcmVwb3J0X2RlbGV0ZSk7Ci0gCi0gICAgIGd0a19ib3hfcGFja19zdGFydChHVEtf Qk9YKG1haW5fdmJveCksIGhhbGlnbiwgZmFsc2UsIGZhbHNlLCAxMCk7Ci0gCi0rICAgIC8qIHB1 dCB0aGUgbWFpbl92Ym94IHRvIG1haW4gd2luZG93ICovCi0rICAgIGd0a19jb250YWluZXJfYWRk KEdUS19DT05UQUlORVIoZ19tYWluX3dpbmRvdyksIG1haW5fdmJveCk7Ci0rCi0gICAgIC8qIERv dWJsZSBjbGljay9FbnRlciBoYW5kbGVyICovCi0tICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc190cmVl dmlldywgInJvdy1hY3RpdmF0ZWQiLCBHX0NBTExCQUNLKG9uX3Jvd19hY3RpdmF0ZWRfY2IpLCBO VUxMKTsKLSsgICAgZ19zaWduYWxfY29ubmVjdChzX3JlcG9ydGVkX3RyZWV2aWV3LCAicm93LWFj dGl2YXRlZCIsIEdfQ0FMTEJBQ0sob25fcm93X2FjdGl2YXRlZF9jYiksIE5VTEwpOwotICAgICBn X3NpZ25hbF9jb25uZWN0KGJ0bl9yZXBvcnQsICJjbGlja2VkIiwgR19DQUxMQkFDSyhvbl9idG5f cmVwb3J0X2NiKSwgTlVMTCk7Ci0gICAgIC8qIERlbGV0ZSBoYW5kbGVyICovCi0tICAgIGdfc2ln bmFsX2Nvbm5lY3Qoc190cmVldmlldywgImtleS1wcmVzcy1ldmVudCIsIEdfQ0FMTEJBQ0sob25f a2V5X3ByZXNzX2V2ZW50X2NiKSwgTlVMTCk7Ci0rICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc19yZXBv cnRlZF90cmVldmlldywgImtleS1wcmVzcy1ldmVudCIsIEdfQ0FMTEJBQ0sob25fa2V5X3ByZXNz X2V2ZW50X2NiKSwgTlVMTCk7Ci0gICAgIGdfc2lnbmFsX2Nvbm5lY3QoYnRuX2RlbGV0ZSwgImNs aWNrZWQiLCBHX0NBTExCQUNLKG9uX2J0bl9kZWxldGVfY2IpLCBOVUxMKTsKLSAgICAgLyogUXVp dCB3aGVuIHVzZXIgY2xvc2VzIHRoZSBtYWluIHdpbmRvdyAqLwotICAgICBnX3NpZ25hbF9jb25u ZWN0KGdfbWFpbl93aW5kb3csICJkZXN0cm95IiwgZ3RrX21haW5fcXVpdCwgTlVMTCk7Ci0tLSAK LTEuNy42Ci0KCmRpZmYgLS1naXQgYS8wMDAyLXJoYnotNzE4MDk3LWRvbi10LWZpbGUtYnVncy1h Ym91dC1CSU9TLWJ1Z3MucGF0Y2ggYi8wMDAyLXJoYnotNzE4MDk3LWRvbi10LWZpbGUtYnVncy1h Ym91dC1CSU9TLWJ1Z3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNjI4 OTAuLjAwMDAwMDAKLS0tIGEvMDAwMi1yaGJ6LTcxODA5Ny1kb24tdC1maWxlLWJ1Z3MtYWJvdXQt QklPUy1idWdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBlOTY1 ZmI3YTdjNzY4ODg5Y2RkNGE1OTg1OWQyOGRjODNiM2RhZjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotTWVzc2FnZS1JZDogPGU5NjVmYjdhN2M3Njg4ODljZGQ0YTU5ODU5ZDI4ZGM4M2IzZGFm MDkuMTMxNzk3OTc2Ni5naXQubnBhamtvdnNAcmVkaGF0LmNvbT4KLUluLVJlcGx5LVRvOiA8ODJi MjdkY2E4N2VmNWE0ZjFjYmIyOTM3NzUyNGJiZGVlMjZiMWQ2NC4xMzE3OTc5NzY2LmdpdC5ucGFq a292c0ByZWRoYXQuY29tPgotUmVmZXJlbmNlczogPDgyYjI3ZGNhODdlZjVhNGYxY2JiMjkzNzc1 MjRiYmRlZTI2YjFkNjQuMTMxNzk3OTc2Ni5naXQubnBhamtvdnNAcmVkaGF0LmNvbT4KLUZyb206 IE5pa29sYSBQYWprb3Zza3kgPG5wYWprb3ZzQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDUgT2N0 IDIwMTEgMTc6MjM6MjIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHJoYnojNzE4MDk3IC0g ZG9uJ3QgZmlsZSBidWdzIGFib3V0IEJJT1MgYnVncwotCi1TaWduZWQtb2ZmLWJ5OiBOaWtvbGEg UGFqa292c2t5IDxucGFqa292c0ByZWRoYXQuY29tPgotLS0tCi0gc3JjL3BsdWdpbnMvYWJydC1k dW1wLW9vcHMuYyB8ICAgIDcgKysrKysrLQotIDEgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3BsdWdpbnMvYWJydC1kdW1w LW9vcHMuYyBiL3NyYy9wbHVnaW5zL2FicnQtZHVtcC1vb3BzLmMKLWluZGV4IDU4YWY1MDYuLjNi ZmM2MTcgMTAwNjQ0Ci0tLS0gYS9zcmMvcGx1Z2lucy9hYnJ0LWR1bXAtb29wcy5jCi0rKysgYi9z cmMvcGx1Z2lucy9hYnJ0LWR1bXAtb29wcy5jCi1AQCAtNTI3LDggKzUyNywxMyBAQCBzdGF0aWMg dW5zaWduZWQgc2F2ZV9vb3BzX3RvX2R1bXBfZGlyKEdMaXN0ICpvb3BzX2xpc3QsIHVuc2lnbmVk IG9vcHNfY250KQotICAgICAgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX0NN RExJTkUsIGNtZGxpbmVfc3RyKTsKLSAgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVO QU1FX0JBQ0tUUkFDRSwgc2Vjb25kX2xpbmUpOwotIAotKyAgICAgICAgICAgIC8qIGNoZWNrIGlm IHRyYWNlIGRvZXNuJ3QgaGF2ZSBsaW5lOiAnWW91ciBCSU9TIGlzIGJyb2tlbicgKi8KLSsgICAg ICAgICAgICBjaGFyICpicm9rZW5fYmlvcyA9IHN0cnN0cihzZWNvbmRfbGluZSwgIllvdXIgQklP UyBpcyBicm9rZW4iKTsKLSsgICAgICAgICAgICBpZiAoYnJva2VuX2Jpb3MpCi0rICAgICAgICAg ICAgICAgIGRkX3NhdmVfdGV4dChkZCwgRklMRU5BTUVfTk9UX1JFUE9SVEFCTEUsICJZb3VyIEJJ T1MgaXMgYnJva2VuIik7Ci0rCi0gICAgICAgICAgICAgY2hhciAqdGFpbnRlZF9zaG9ydCA9IGtl cm5lbF90YWludGVkX3Nob3J0KHNlY29uZF9saW5lKTsKLS0gICAgICAgICAgICBpZiAodGFpbnRl ZF9zaG9ydCkKLSsgICAgICAgICAgICBpZiAodGFpbnRlZF9zaG9ydCAmJiAhYnJva2VuX2Jpb3Mp Ci0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICBWRVJCMSBsb2coIktlcm5lbCBpcyB0 YWludGVkICclcyciLCB0YWludGVkX3Nob3J0KTsKLSAgICAgICAgICAgICAgICAgZGRfc2F2ZV90 ZXh0KGRkLCBGSUxFTkFNRV9UQUlOVEVEX1NIT1JULCB0YWludGVkX3Nob3J0KTsKLS0tIAotMS43 LjcucmMwLjcwLmc4MjY2MAotCgpkaWZmIC0tZ2l0IGEvMDAwMy1nbGliLTIuMzEtYnVpbGQtZml4 ZXMucGF0Y2ggYi8wMDAzLWdsaWItMi4zMS1idWlsZC1maXhlcy5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggODZmNWNlNC4uMDAwMDAwMAotLS0gYS8wMDAzLWdsaWItMi4zMS1i dWlsZC1maXhlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLUZyb20gZWNm YzQ2MWZkOTc5YWViMmQzY2U0YjlkODExZTRiZjRhNzczMDUzMiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEppcmkgTW9za292Y2FrIDxqbW9za292Y0ByZWRoYXQuY29tPgotRGF0ZTog U2F0LCA1IE5vdiAyMDExIDE4OjA0OjU0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy8zXSAtIGds aWIgMi4zMSBidWlsZCBmaXhlcwotCi0tLS0KLSBzcmMvYXBwbGV0L2FwcGxldC5jIHwgICAxNCAr KysrKysrKysrKysrLQotIHNyYy9ndWktZ3RrL21haW4uYyAgfCAgICA0ICsrLS0KLSAyIGZpbGVz IGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg YS9zcmMvYXBwbGV0L2FwcGxldC5jIGIvc3JjL2FwcGxldC9hcHBsZXQuYwotaW5kZXggOTViNzA5 MS4uYmVhZDYxZiAxMDA2NDQKLS0tLSBhL3NyYy9hcHBsZXQvYXBwbGV0LmMKLSsrKyBiL3NyYy9h cHBsZXQvYXBwbGV0LmMKLUBAIC03NjYsMTAgKzc2NiwyMCBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhcioqIGFyZ3YpCi0gICAgIHRleHRkb21haW4oUEFDS0FHRSk7Ci0gI2VuZGlmCi0gCi0rICAv KiBHbGliIDIuMzE6Ci0rICAgICogTWFqb3IgY2hhbmdlcyB0byB0aHJlYWRpbmcgYW5kIHN5bmNo cm9uaXNhdGlvbgotKyAgICAgLSB0aHJlYWRpbmcgaXMgbm93IGFsd2F5cyBlbmFibGVkIGluIEdM aWIKLSsgICAgIC0gc3VwcG9ydCBmb3IgY3VzdG9tIHRocmVhZCBpbXBsZW1lbnRhdGlvbnMgKGlu Y2x1ZGluZyBvdXIgb3duIGludGVybmFsCi0rICAgICAtIHN1cHBvcnQgZm9yIGVycm9yY2hlY2sg bXV0ZXhlcykgaGFzIGJlZW4gcmVtb3ZlZAotKyAgKi8KLSsjaWYgKEdMSUJfTUFKT1JfVkVSU0lP TiA9PSAyICYmIEdMSUJfTUlOT1JfVkVSU0lPTiA8IDMxKQotKyAgICAvL2Nhbid0IHVzZSBsb2co KSwgYmVjYXVzZSBnX3ZlcmJvc2UgaXMgbm90IHNldCB5ZXQKLSsgICAgZ19wcmludCgiYWJydC1h cHBsZXQ6IGdsaWIgPCAyLjMxIC0gaW5pdCB0aHJlYWRpbmdcbiIpOwotICAgICAvKiBOZWVkIHRv IGJlIHRocmVhZCBzYWZlICovCi0gICAgIGdfdGhyZWFkX2luaXQoTlVMTCk7Ci0gICAgIGdka190 aHJlYWRzX2luaXQoKTsKLSAgICAgZ2RrX3RocmVhZHNfZW50ZXIoKTsKLSsjZW5kaWYKLSAKLSAg ICAgZ3RrX2luaXQoJmFyZ2MsICZhcmd2KTsKLSAKLUBAIC04NjksOCArODc5LDEwIEBAIGludCBt YWluKGludCBhcmdjLCBjaGFyKiogYXJndikKLSAKLSAgICAgLyogRW50ZXIgbWFpbiBsb29wICov Ci0gICAgIGd0a19tYWluKCk7Ci0tCi0rI2lmIChHTElCX01BSk9SX1ZFUlNJT04gPT0gMiAmJiBH TElCX01JTk9SX1ZFUlNJT04gPCAzMSkKLSAgICAgZ2RrX3RocmVhZHNfbGVhdmUoKTsKLSsjZW5k aWYKLSsKLSAgICAgaWYgKG5vdGlmeV9pc19pbml0dGVkKCkpCi0gICAgICAgICBub3RpZnlfdW5p bml0KCk7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2d1aS1ndGsvbWFpbi5jIGIvc3JjL2d1aS1ndGsv bWFpbi5jCi1pbmRleCBiMzE1MDliLi5hMjQ3NDVhIDEwMDY0NAotLS0tIGEvc3JjL2d1aS1ndGsv bWFpbi5jCi0rKysgYi9zcmMvZ3VpLWd0ay9tYWluLmMKLUBAIC05MTIsNyArOTEyLDcgQEAgc3Rh dGljIGdib29sZWFuIGhhbmRsZV9zaWduYWxfcGlwZShHSU9DaGFubmVsICpnaW8sIEdJT0NvbmRp dGlvbiBjb25kaXRpb24sIGdwb2kKLSAgICAgICovCi0gICAgIGdjaGFyIGJ1ZlsxNl07Ci0gICAg IGdzaXplIGJ5dGVzX3JlYWQ7Ci0tICAgIGdfaW9fY2hhbm5lbF9yZWFkKGdpbywgYnVmLCBzaXpl b2YoYnVmKSwgJmJ5dGVzX3JlYWQpOwotKyAgICBnX2lvX2NoYW5uZWxfcmVhZF9jaGFycyhnaW8s IGJ1Ziwgc2l6ZW9mKGJ1ZiksICZieXRlc19yZWFkLCBOVUxMKTsKLSAKLSAgICAgLyogRGVzdHJv eSB6b21iaWVzICovCi0gICAgIHdoaWxlIChzYWZlX3dhaXRwaWQoLTEsIE5VTEwsIFdOT0hBTkcp ID4gMCkKLUBAIC05NzUsNyArOTc1LDcgQEAgc3RhdGljIGdib29sZWFuIGhhbmRsZV9pbm90aWZ5 X2NiKEdJT0NoYW5uZWwgKmdpbywgR0lPQ29uZGl0aW9uIGNvbmRpdGlvbiwgZ3BvaW4KLSAgICAg LyogV2UgcmVhZCBpbm90aWZ5IGV2ZW50cywgYnV0IGRvbid0IGFuYWx5emUgdGhlbSAqLwotICAg ICBnY2hhciBidWZbc2l6ZW9mKHN0cnVjdCBpbm90aWZ5X2V2ZW50KSArIFBBVEhfTUFYICsgNjRd OwotICAgICBnc2l6ZSBieXRlc19yZWFkOwotLSAgICB3aGlsZSAoZ19pb19jaGFubmVsX3JlYWQo Z2lvLCBidWYsIHNpemVvZihidWYpLCAmYnl0ZXNfcmVhZCkgPT0gR19JT19FUlJPUl9OT05FCi0r ICAgIHdoaWxlIChnX2lvX2NoYW5uZWxfcmVhZF9jaGFycyhnaW8sIGJ1Ziwgc2l6ZW9mKGJ1Ziks ICZieXRlc19yZWFkLCBOVUxMKSA9PSBHX0lPX1NUQVRVU19OT1JNQUwKLSAgICAgICAgICYmIGJ5 dGVzX3JlYWQgPiAwCi0gICAgICkgewotICAgICAgICAgY29udGludWU7Ci0tLSAKLTEuNy43Ci0K CmRpZmYgLS1naXQgYS8wMDAzLXJlbW92ZS1mb3Jnb3R0ZW4tYWJydC1hY3Rpb24ta2VybmVsb29w cy1maWxlcy5wYXRjaCBiLzAwMDMtcmVtb3ZlLWZvcmdvdHRlbi1hYnJ0LWFjdGlvbi1rZXJuZWxv b3BzLWZpbGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDU3NWUxLi4w MDAwMDAwCi0tLSBhLzAwMDMtcmVtb3ZlLWZvcmdvdHRlbi1hYnJ0LWFjdGlvbi1rZXJuZWxvb3Bz LWZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjY4ICswLDAgQEAKLUZyb20gODlkZTI4 YTM1MTBjNmU3YTMwY2EwNTNjYWVhMzVjY2FiZmJkZTc1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE1pcm9zbGF2IExpY2h2YXIgPG1saWNodmFyQHJlZGhhdC5jb20+Ci1EYXRlOiBU aHUsIDIxIEp1bCAyMDExIDE1OjM0OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSByZW1v dmUgZm9yZ290dGVuIGFicnQtYWN0aW9uLWtlcm5lbG9vcHMgZmlsZXMKLQotLS0tCi0gc3JjL3Bs dWdpbnMvYWJydC1hY3Rpb24ta2VybmVsb29wcy5jICAgfCAgMTczIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCi0gc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24ta2VybmVsb29wcy50eHQg fCAgIDY4IC0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwg MjQxIGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMvcGx1Z2lucy9hYnJ0LWFj dGlvbi1rZXJuZWxvb3BzLmMKLSBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3BsdWdpbnMvYWJydC1h Y3Rpb24ta2VybmVsb29wcy50eHQKLQotZGlmZiAtLWdpdCBhL3NyYy9wbHVnaW5zL2FicnQtYWN0 aW9uLWtlcm5lbG9vcHMuYyBiL3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWtlcm5lbG9vcHMuYwot ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBhMTE3MjY2Li4wMDAwMDAwCi0tLS0gYS9z cmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1rZXJuZWxvb3BzLmMKLSsrKyAvZGV2L251bGwKLUBAIC0x LDE3MyArMCwwIEBACi0tLyoKLS0gICAgQ29weXJpZ2h0IChDKSAyMDEwICBBQlJUIHRlYW0KLS0g ICAgQ29weXJpZ2h0IChDKSAyMDEwICBSZWRIYXQgSW5jCi0tCi0tICAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0t ICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5Ci0tICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0tICAgIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCi0tCi0tICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotLSAgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotLSAgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0t ICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0tCi0tICAg IEF1dGhvcnM6Ci0tICAgICAgIEFudG9uIEFyYXBvdiA8YW50b25AcmVkaGF0LmNvbT4KLS0gICAg ICAgQXJqYW4gdmFuIGRlIFZlbiA8YXJqYW5AbGludXguaW50ZWwuY29tPgotLSAqLwotLSNpbmNs dWRlIDxjdXJsL2N1cmwuaD4KLS0jaW5jbHVkZSAiYWJydGxpYi5oIgotLQotLS8qIGhlbHBlcnMg Ki8KLS1zdGF0aWMgc2l6ZV90IHdyaXRlZnVuY3Rpb24odm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSwg c2l6ZV90IG5tZW1iLCB2b2lkICpzdHJlYW0pCi0tewotLSAgICBzaXplICo9IG5tZW1iOwotLS8q Ci0tICAgIGNoYXIgKmMsICpjMSwgKmMyOwotLQotLSAgICBsb2coInJlY2VpdmVkOiAnJSouKnMn IiwgKGludClzaXplLCAoaW50KXNpemUsIChjaGFyKilwdHIpOwotLSAgICBjID0gKGNoYXIqKXh6 YWxsb2Moc2l6ZSArIDEpOwotLSAgICBtZW1jcHkoYywgcHRyLCBzaXplKTsKLS0gICAgYzEgPSBz dHJzdHIoYywgIjIwMSAiKTsKLS0gICAgaWYgKGMxKQotLSAgICB7Ci0tICAgICAgICBjMSArPSA0 OwotLSAgICAgICAgYzIgPSBzdHJjaHIoYzEsICdcbicpOwotLSAgICAgICAgaWYgKGMyKQotLSAg ICAgICAgICAgICpjMiA9IDA7Ci0tICAgIH0KLS0gICAgZnJlZShjKTsKLS0qLwotLQotLSAgICBy ZXR1cm4gc2l6ZTsKLS19Ci0tCi0tLyogU2VuZCBvb3BzIGRhdGEgdG8ga2VybmVsb29wcy5vcmct c3R5bGUgc2l0ZSwgdXNpbmcgSFRUUCBQT1NUICovCi0tLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mg Ki8KLS1zdGF0aWMgQ1VSTGNvZGUgaHR0cF9wb3N0X3RvX2tlcm5lbG9vcHNfc2l0ZShjb25zdCBj aGFyICp1cmwsIGNvbnN0IGNoYXIgKm9vcHNkYXRhKQotLXsKLS0gICAgQ1VSTGNvZGUgcmV0Owot LSAgICBDVVJMICpoYW5kbGU7Ci0tICAgIHN0cnVjdCBjdXJsX2h0dHBwb3N0ICpwb3N0ID0gTlVM TDsKLS0gICAgc3RydWN0IGN1cmxfaHR0cHBvc3QgKmxhc3QgPSBOVUxMOwotLQotLSAgICBoYW5k bGUgPSBjdXJsX2Vhc3lfaW5pdCgpOwotLSAgICBpZiAoIWhhbmRsZSkKLS0gICAgICAgIGVycm9y X21zZ19hbmRfZGllKCJDYW4ndCBjcmVhdGUgY3VybCBoYW5kbGUiKTsKLS0KLS0gICAgY3VybF9l YXN5X3NldG9wdChoYW5kbGUsIENVUkxPUFRfVVJMLCB1cmwpOwotLQotLSAgICBjdXJsX2Zvcm1h ZGQoJnBvc3QsICZsYXN0LAotLSAgICAgICAgICAgIENVUkxGT1JNX0NPUFlOQU1FLCAib29wc2Rh dGEiLAotLSAgICAgICAgICAgIENVUkxGT1JNX0NPUFlDT05URU5UUywgb29wc2RhdGEsCi0tICAg ICAgICAgICAgQ1VSTEZPUk1fRU5EKTsKLS0gICAgY3VybF9mb3JtYWRkKCZwb3N0LCAmbGFzdCwK LS0gICAgICAgICAgICBDVVJMRk9STV9DT1BZTkFNRSwgInBhc3Nfb25fYWxsb3dlZCIsCi0tICAg ICAgICAgICAgQ1VSTEZPUk1fQ09QWUNPTlRFTlRTLCAieWVzIiwKLS0gICAgICAgICAgICBDVVJM Rk9STV9FTkQpOwotLQotLSAgICBjdXJsX2Vhc3lfc2V0b3B0KGhhbmRsZSwgQ1VSTE9QVF9IVFRQ UE9TVCwgcG9zdCk7Ci0tICAgIGN1cmxfZWFzeV9zZXRvcHQoaGFuZGxlLCBDVVJMT1BUX1dSSVRF RlVOQ1RJT04sIHdyaXRlZnVuY3Rpb24pOwotLQotLSAgICByZXQgPSBjdXJsX2Vhc3lfcGVyZm9y bShoYW5kbGUpOwotLQotLSAgICBjdXJsX2Zvcm1mcmVlKHBvc3QpOwotLSAgICBjdXJsX2Vhc3lf Y2xlYW51cChoYW5kbGUpOwotLQotLSAgICByZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgdm9p ZCByZXBvcnRfdG9fa2VybmVsb29wcygKLS0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZHVt cF9kaXJfbmFtZSwKLS0gICAgICAgICAgICAgICAgbWFwX3N0cmluZ19oICpzZXR0aW5ncykKLS17 Ci0tICAgIHByb2JsZW1fZGF0YV90ICpwcm9ibGVtX2RhdGEgPSBjcmVhdGVfcHJvYmxlbV9kYXRh X2Zvcl9yZXBvcnRpbmcoZHVtcF9kaXJfbmFtZSk7Ci0tICAgIGlmICghcHJvYmxlbV9kYXRhKQot LSAgICAgICAgeGZ1bmNfZGllKCk7IC8qIGNyZWF0ZV9wcm9ibGVtX2RhdGFfZm9yX3JlcG9ydGlu ZyBhbHJlYWR5IGVtaXR0ZWQgZXJyb3IgbXNnICovCi0tCi0tICAgIGNvbnN0IGNoYXIgKmJhY2t0 cmFjZSA9IGdldF9wcm9ibGVtX2l0ZW1fY29udGVudF9vcl9OVUxMKHByb2JsZW1fZGF0YSwgRklM RU5BTUVfQkFDS1RSQUNFKTsKLS0gICAgaWYgKCFiYWNrdHJhY2UpCi0tICAgICAgICBlcnJvcl9t c2dfYW5kX2RpZSgiRXJyb3Igc2VuZGluZyBrZXJuZWwgb29wcyBkdWUgdG8gbWlzc2luZyBiYWNr dHJhY2UiKTsKLS0KLS0gICAgY29uc3QgY2hhciAqZW52ID0gZ2V0ZW52KCJLZXJuZWxvb3BzUmVw b3J0ZXJfU3VibWl0VVJMIik7Ci0tICAgIGNvbnN0IGNoYXIgKnN1Ym1pdFVSTCA9IChlbnYgPyBl bnYgOiBnZXRfbWFwX3N0cmluZ19pdGVtX29yX2VtcHR5KHNldHRpbmdzLCAiU3VibWl0VVJMIikp OwotLSAgICBpZiAoIXN1Ym1pdFVSTFswXSkKLS0gICAgICAgIHN1Ym1pdFVSTCA9ICJodHRwOi8v c3VibWl0Lmtlcm5lbG9vcHMub3JnL3N1Ym1pdG9vcHMucGhwIjsKLS0KLS0gICAgbG9nKF8oIlN1 Ym1pdHRpbmcgb29wcyByZXBvcnQgdG8gJXMiKSwgc3VibWl0VVJMKTsKLS0KLS0gICAgQ1VSTGNv ZGUgcmV0ID0gaHR0cF9wb3N0X3RvX2tlcm5lbG9vcHNfc2l0ZShzdWJtaXRVUkwsIGJhY2t0cmFj ZSk7Ci0tICAgIGlmIChyZXQgIT0gQ1VSTEVfT0spCi0tICAgICAgICBlcnJvcl9tc2dfYW5kX2Rp ZSgiS2VybmVsIG9vcHMgaGFzIG5vdCBiZWVuIHNlbnQgZHVlIHRvICVzIiwgY3VybF9lYXN5X3N0 cmVycm9yKHJldCkpOwotLQotLSAgICBmcmVlX3Byb2JsZW1fZGF0YShwcm9ibGVtX2RhdGEpOwot LQotLSAgICAvKiBTZXJ2ZXIgcmVwbGllcyB3aXRoOgotLSAgICAgKiAyMDAgdGhhbmsgeW91IGZv ciBzdWJtaXR0aW5nIHRoZSBrZXJuZWwgb29wcyBpbmZvcm1hdGlvbgotLSAgICAgKiBSZW1vdGVJ UDogMzQxOTJmZDE1ZTM0YmY2MGZhYzZhNWYwMWJiYTA0ZGRiZDNmMDU1OAotLSAgICAgKiAtIG5v IFVSTCBvciBidWcgSUQgYXBwYXJlbnRseS4uLgotLSAgICAgKi8KLS0gICAgc3RydWN0IGR1bXBf ZGlyICpkZCA9IGRkX29wZW5kaXIoZHVtcF9kaXJfbmFtZSwgLypmbGFnczoqLyAwKTsKLS0gICAg aWYgKGRkKQotLSAgICB7Ci0tICAgICAgICBjaGFyICptc2cgPSB4YXNwcmludGYoImtlcm5lbG9v cHM6IFVSTD0lcyIsIHN1Ym1pdFVSTCk7Ci0tICAgICAgICBhZGRfcmVwb3J0ZWRfdG8oZGQsIG1z Zyk7Ci0tICAgICAgICBmcmVlKG1zZyk7Ci0tICAgICAgICBkZF9jbG9zZShkZCk7Ci0tICAgIH0K LS0KLS0gICAgbG9nKCJLZXJuZWwgb29wcyByZXBvcnQgd2FzIHVwbG9hZGVkIik7Ci0tfQotLQot LWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLS17Ci0tICAgIGFicnRfaW5pdChhcmd2 KTsKLS0KLS0gICAgbWFwX3N0cmluZ19oICpzZXR0aW5ncyA9IG5ld19tYXBfc3RyaW5nKCk7Ci0t ICAgIGNvbnN0IGNoYXIgKmR1bXBfZGlyX25hbWUgPSAiLiI7Ci0tICAgIEdMaXN0ICpjb25mX2Zp bGUgPSBOVUxMOwotLQotLSAgICAvKiBDYW4ndCBrZWVwIHRoZXNlIHN0cmluZ3Mvc3RydWN0cyBz dGF0aWM6IF8oKSBkb2Vzbid0IHN1cHBvcnQgdGhhdCAqLwotLSAgICBjb25zdCBjaGFyICpwcm9n cmFtX3VzYWdlX3N0cmluZyA9IF8oCi0tICAgICAgICAiXGIgWy12XSBbLWMgQ09ORkZJTEVdLi4u IC1kIERJUlxuIgotLSAgICAgICAgIlxuIgotLSAgICAgICAgIlJlcG9ydHMga2VybmVsIG9vcHMg dG8ga2VybmVsb29wcy5vcmcgKG9yIHNpbWlsYXIpIHNpdGUuXG4iCi0tICAgICAgICAiXG4iCi0t ICAgICAgICAiRmlsZXMgd2l0aCBuYW1lcyBsaXN0ZWQgaW4gJEVYQ0xVREVfRlJPTV9SRVBPUlQg YXJlIG5vdCBpbmNsdWRlZFxuIgotLSAgICAgICAgImludG8gdGhlIHRhcmJhbGwuXG4iCi0tICAg ICAgICAiXG4iCi0tICAgICAgICAiQ09ORkZJTEUgbGluZXMgc2hvdWxkIGhhdmUgJ1BBUkFNID0g VkFMVUUnIGZvcm1hdC5cbiIKLS0gICAgICAgICJSZWNvZ25pemVkIHN0cmluZyBwYXJhbWV0ZXI6 IFN1Ym1pdFVSTC5cbiIKLS0gICAgICAgICJQYXJhbWV0ZXIgY2FuIGJlIG92ZXJyaWRkZW4gdmlh ICRLZXJuZWxvb3BzUmVwb3J0ZXJfU3VibWl0VVJMLiIKLS0gICAgKTsKLS0gICAgZW51bSB7Ci0t ICAgICAgICBPUFRfdiA9IDEgPDwgMCwKLS0gICAgICAgIE9QVF9kID0gMSA8PCAxLAotLSAgICAg ICAgT1BUX2MgPSAxIDw8IDIsCi0tICAgIH07Ci0tICAgIC8qIEtlZXAgZW51bSBhYm92ZSBhbmQg b3JkZXIgb2Ygb3B0aW9ucyBiZWxvdyBpbiBzeW5jISAqLwotLSAgICBzdHJ1Y3Qgb3B0aW9ucyBw cm9ncmFtX29wdGlvbnNbXSA9IHsKLS0gICAgICAgIE9QVF9fVkVSQk9TRSgmZ192ZXJib3NlKSwK LS0gICAgICAgIE9QVF9TVFJJTkcoJ2QnLCBOVUxMLCAmZHVtcF9kaXJfbmFtZSwgIkRJUiIgLCBf KCJEdW1wIGRpcmVjdG9yeSIpKSwKLS0gICAgICAgIE9QVF9MSVNUKCAgJ2MnLCBOVUxMLCAmY29u Zl9maWxlICAgICwgIkZJTEUiLCBfKCJDb25maWd1cmF0aW9uIGZpbGUiKSksCi0tICAgICAgICBP UFRfRU5EKCkKLS0gICAgfTsKLS0gICAgLyp1bnNpZ25lZCBvcHRzID0qLyBwYXJzZV9vcHRzKGFy Z2MsIGFyZ3YsIHByb2dyYW1fb3B0aW9ucywgcHJvZ3JhbV91c2FnZV9zdHJpbmcpOwotLQotLSAg ICBleHBvcnRfYWJydF9lbnZ2YXJzKDApOwotLQotLSAgICB3aGlsZSAoY29uZl9maWxlKQotLSAg ICB7Ci0tICAgICAgICBjaGFyICpmbiA9IChjaGFyICopY29uZl9maWxlLT5kYXRhOwotLSAgICAg ICAgVkVSQjEgbG9nKCJMb2FkaW5nIHNldHRpbmdzIGZyb20gJyVzJyIsIGZuKTsKLS0gICAgICAg IGxvYWRfY29uZl9maWxlKGZuLCBzZXR0aW5ncywgLypza2lwIGtleSB3L28gdmFsdWVzOiovIHRy dWUpOwotLSAgICAgICAgVkVSQjMgbG9nKCJMb2FkZWQgJyVzJyIsIGZuKTsKLS0gICAgICAgIGNv bmZfZmlsZSA9IGdfbGlzdF9yZW1vdmUoY29uZl9maWxlLCBmbik7Ci0tICAgIH0KLS0KLS0gICAg cmVwb3J0X3RvX2tlcm5lbG9vcHMoZHVtcF9kaXJfbmFtZSwgc2V0dGluZ3MpOwotLQotLSAgICBm cmVlX21hcF9zdHJpbmcoc2V0dGluZ3MpOwotLSAgICByZXR1cm4gMDsKLS19Ci1kaWZmIC0tZ2l0 IGEvc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24ta2VybmVsb29wcy50eHQgYi9zcmMvcGx1Z2lucy9h YnJ0LWFjdGlvbi1rZXJuZWxvb3BzLnR4dAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCA0NjgyODdmLi4wMDAwMDAwCi0tLS0gYS9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1rZXJuZWxv b3BzLnR4dAotKysrIC9kZXYvbnVsbAotQEAgLTEsNjggKzAsMCBAQAotLWFicnQtYWN0aW9uLWtl cm5lbG9vcHMoMSkKLS09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tCi0tTkFNRQotLS0tLS0K LS1hYnJ0LWFjdGlvbi1rZXJuZWxvb3BzIC0gUmVwb3J0cyBrZXJuZWwgb29wcyB0byBrZXJuZWxv b3BzLm9yZyAob3Igc2ltaWxhcikKLS1zaXRlLgotLQotLVNZTk9QU0lTCi0tLS0tLS0tLS0KLS0n YWJydC1hY3Rpb24ta2VybmVsb29wcycgWy12XSBbLWMgQ09ORkZJTEVdLi4uIFsgLWQgRElSIF0K LS0KLS1ERVNDUklQVElPTgotLS0tLS0tLS0tLS0tCi0tVGhlIHRvb2wgaXMgdXNlZCB0byByZXBv cnQgdGhlIGNyYXNoIHRvIHRoZSBLZXJuZWxvb3BzIHRyYWNrZXIuCi0tCi0tQ29uZmlndXJhdGlv biBmaWxlCi0tfn5+fn5+fn5+fn5+fn5+fn5+Ci0tQ29uZmlndXJhdGlvbiBmaWxlIGNvbnRhaW5z IGVudHJpZXMgaW4gYSBmb3JtYXQgIk9wdGlvbiA9IFZhbHVlIi4KLS0KLS1UaGUgb3B0aW9ucyBh cmU6Ci0tCi0tJ1N1Ym1pdFVSTCc6OgotLSAgICAgICAgVGhlIFVSTCBvZiB0aGUga2VybmVsb29w cyB0cmFja2VyLCB0aGUgZGVmYXVsdCBpcwotLSAgICAgICAgImh0dHA6Ly9zdWJtaXQua2VybmVs b29wcy5vcmcvc3VibWl0b29wcy5waHAiLgotLQotLUludGVncmF0aW9uIHdpdGggQUJSVCBldmVu dHMKLS1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0tJ2FicnQtYWN0aW9uLWtlcm5lbG9v cHMnIGNhbiBiZSB1c2VkIGFzIGEgcmVwb3J0ZXIsIHRvIGFsbG93IHVzZXJzIHRvIHJlcG9ydAot LXByb2JsZW1zIHRvIHRoZSBLZXJuZWxvb3BzIHRyYWNrZXIuIFRoaXMgdXNhZ2UgaXMgcHJlLWNv bmZpZ3VyZWQgaW4KLS0vZXRjL2xpYnJlcG9ydC9ldmVudHMuZC9rb29wc19ldmVudC5jb25mOgot LQotLS0tLS0tLS0tLS0tLQotLUVWRU5UPXJlcG9ydF9LZXJuZWxvb3BzIGFuYWx5emVyPUtlcm5l bG9vcHMgYWJydC1hY3Rpb24ta2VybmVsb29wcwotLS0tLS0tLS0tLS0tLQotLQotLUl0IGNhbiBi ZSBhbHNvIHVzZWQgYXV0b21hdGljYWxseSBhbmQgaW1tZWRpYXRlbHkgd2l0aG91dCB1c2VyIGlu dGVyYWN0aW9uLgotLVdoZW4gdGhpcyBpcyBkZXNpcmVkLCBtb2RpZnkgdGhlIGV2ZW50IGNvbmZp Z3VyYXRpb24gZmlsZSB0byBydW4gdGhlIHRvb2wgb24KLS10aGUgJ3Bvc3QtY3JlYXRlJyBldmVu dDoKLS0KLS0tLS0tLS0tLS0tLS0KLS1FVkVOVD1wb3N0LWNyZWF0ZSBhbmFseXplcj1LZXJuZWxv b3BzICBhYnJ0LWFjdGlvbi1rZXJuZWxvb3BzCi0tLS0tLS0tLS0tLS0tCi0tCi0tT1BUSU9OUwot LS0tLS0tLS0KLS0tdjo6Ci0tICAgQmUgbW9yZSB2ZXJib3NlLiBDYW4gYmUgZ2l2ZW4gbXVsdGlw bGUgdGltZXMuCi0tCi0tLWQgRElSOjoKLS0gICBQYXRoIHRvIGR1bXAgZGlyZWN0b3J5LgotLQot LS1jIENPTkZGSUxFOjoKLS0gICBQYXRoIHRvIGNvbmZpZ3JhdGlvbiBmaWxlLiBXaGVuIHVzZWQg aW4gQUJSVCBldmVudCBzeXN0ZW0sIHRoZSBmaWxlCi0tICAgY29udGFpbnMgc2l0ZS13aWRlIGNv bmZpZ3VyYXRpb24uIFVzZXJzIGNhbiBjaGFuZ2UgdGhlIHZhbHVlcyB2aWEKLS0gICBlbnZpcm9u bWVudCB2YXJpYWJsZXMuCi0tCi0tRU5WSVJPTk1FTlQgVkFSSUFCTEVTCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0tRW52aXJvbm1lbnQgdmFyaWFibGVzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHZh bHVlcyBwcm92aWRlZCBpbgotLXRoZSBjb25maWd1cmF0aW9uIGZpbGUuCi0tCi0tJ0tlcm5lbG9v cHNSZXBvcnRlcl9TdWJtaXRVUkwnOjoKLS0gICAgICAgIFRoZSBVUkwgb2YgdGhlIGtlcm5lbG9v cHMgdHJhY2tlci4KLS0KLS1BVVRIT1JTCi0tLS0tLS0tLQotLSogQUJSVCB0ZWFtCi0tLSAKLTEu Ny42Ci0KCmRpZmYgLS1naXQgYS8wMDA0LWluc3RhbGwtZGVidWdpbmZvLWFzay1iZWZvcmUtZG93 bmxvYWRpbmcucGF0Y2ggYi8wMDA0LWluc3RhbGwtZGVidWdpbmZvLWFzay1iZWZvcmUtZG93bmxv YWRpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZjJmNzQuLjAwMDAw MDAKLS0tIGEvMDAwNC1pbnN0YWxsLWRlYnVnaW5mby1hc2stYmVmb3JlLWRvd25sb2FkaW5nLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotRnJvbSA5MDg5M2EwYzg0YTU5NDMz N2NhMjJmYTgzZjM2NGY1YjRhN2ZiMWIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog TWljaGFsIFRvbWFuIDxtdG9tYW5AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjEgSnVsIDIwMTEg MTY6NDg6MDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzRdIGluc3RhbGwtZGVidWdpbmZvOiBh c2sgYmVmb3JlIGRvd25sb2FkaW5nCi0KLS0tLQotIHNyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWlu c3RhbGwtZGVidWdpbmZvIHwgICAzNCArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBm aWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24taW5zdGFsbC1kZWJ1Z2luZm8gYi9zcmMvcGx1 Z2lucy9hYnJ0LWFjdGlvbi1pbnN0YWxsLWRlYnVnaW5mbwotaW5kZXggMmFkMDc5MC4uMzFhYWIy YyAxMDA2NDQKLS0tLSBhL3NyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWluc3RhbGwtZGVidWdpbmZv Ci0rKysgYi9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1pbnN0YWxsLWRlYnVnaW5mbwotQEAgLTEx LDYgKzExLDcgQEAgaW1wb3J0IGVycm5vCi0gaW1wb3J0IHRpbWUKLSBpbXBvcnQgZ2V0b3B0Ci0g aW1wb3J0IHNodXRpbAotK2ltcG9ydCByZXBvcnRjbGllbnQKLSBmcm9tIHN1YnByb2Nlc3MgaW1w b3J0IFBvcGVuLCBQSVBFCi0gZnJvbSB5dW0gaW1wb3J0IF8sIFl1bUJhc2UKLSBmcm9tIHl1bS5j YWxsYmFja3MgaW1wb3J0IERvd25sb2FkQmFzZUNhbGxiYWNrCi1AQCAtNzQsMjIgKzc1LDYgQEAg ZGVmIHVubXV0ZV9zdGRvdXQoKToKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgcHJpbnQg IkVSUjogdW5tdXRlIGNhbGxlZCB3aXRob3V0IG11dGU/IgotIAotLWRlZiBhc2tfeWVzX25vKHBy b21wdCwgcmV0cmllcz00KToKLS0gICAgd2hpbGUgVHJ1ZToKLS0gICAgICAgIHRyeToKLS0gICAg ICAgICAgICByZXNwb25zZSA9IHJhd19pbnB1dChwcm9tcHQpCi0tICAgICAgICBleGNlcHQgRU9G RXJyb3I6Ci0tICAgICAgICAgICAgbG9nMSgiZ290IGVvZiwgcHJvYmFibHkgZXhlY3V0ZWQgZnJv bSBoZWxwZXIsIGFzc3VtaW5nIC0geWVzIikKLS0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotLSAg ICAgICAgaWYgcmVzcG9uc2UgaW4gKF8oInkiKSk6ICMgZm9yIHRyYW5zbGF0b3JzIC0+IHkvWSBh cyB5ZXMKLS0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotLSAgICAgICAgaWYgcmVzcG9uc2UgaW4g KCIiLCBfKCJuIikpOiAjIGZvciB0cmFuc2xhdG9ycyAtPiBOL24gYXMgbm8KLS0gICAgICAgICAg ICByZXR1cm4gRmFsc2UKLS0gICAgICAgIHJldHJpZXMgPSByZXRyaWVzIC0gMQotLSAgICAgICAg aWYgcmV0cmllcyA8IDA6Ci0tICAgICAgICAgICAgYnJlYWsKLS0gICAgcmV0dXJuIEZhbHNlCi0t Ci0gIyBUT0RPOiB1bnBhY2sganVzdCByZXF1aXJlZCBkZWJ1Z2luZm8gYW5kIG5vdCBlbnRpcmUg cnBtPwotICMgLi50aGF0IGNhbiBsZWFkIHRvOiBmb28uYyBObyBzdWNoIGZpbGUgYW5kIGRpcmVj dG9yeQotICMgZmlsZXMgaXMgbm90IHVzZWQuLi4KLUBAIC0yODYsMTYgKzI3MSwxMyBAQCBjbGFz cyBEZWJ1Z0luZm9Eb3dubG9hZChZdW1CYXNlKToKLSAJICAgIHByaW50IF8oIkNhbid0IGZpbmQg cGFja2FnZXMgZm9yICV1IGRlYnVnaW5mbyBmaWxlcyIpICUgbGVuKG5vdF9mb3VuZCkKLSAJaWYg dmVyYm9zZSAhPSAwIG9yIHRvdGFsX3BrZ3MgIT0gMDoKLSAJICAgIHByaW50IF8oIlBhY2thZ2Vz IHRvIGRvd25sb2FkOiAldSIpICUgdG90YWxfcGtncwotLQkgICAgcHJpbnQgXygiRG93bmxvYWRp bmcgJS4yZk1iLCBpbnN0YWxsZWQgc2l6ZTogJS4yZk1iIikgJSAoCi0tCSAgICAgICAgICAgICB0 b2Rvd25sb2FkX3NpemUgLyAoMTAyNCoqMiksCi0tCSAgICAgICAgICAgICBpbnN0YWxsZWRfc2l6 ZSAvICgxMDI0KioyKQotLQkgICAgICAgICAgICApCi0tCi0tICAgICAgICAjIGFzayBvbmx5IGlm IHdlIGhhdmUgdGVybWluYWwsIGJlY2F1c2UgZm9yIG5vdyB3ZSBkb24ndCBoYXZlIGEgd2F5Ci0t ICAgICAgICAjIGhvdyB0byBwYXNzIHRoZSBxdWVzdGlvbiB0byBndWkgYW5kIHRoZSByZXNwb25z ZSBiYWNrCi0tICAgICAgICBpZiBub25pbnRlcmFjdGl2ZSA9PSBGYWxzZSBhbmQgc3lzLnN0ZG91 dC5pc2F0dHkoKToKLS0gICAgICAgICAgICBpZiBub3QgYXNrX3llc19ubyhfKCJJcyB0aGlzIG9r PyBbeS9OXSAiKSk6Ci0tICAgICAgICAgICAgICAgIHJldHVybiBSRVRVUk5fT0sKLSsJICAgIHF1 ZXN0aW9uID0gXygiRG93bmxvYWRpbmcgJS4yZk1iLCBpbnN0YWxsZWQgc2l6ZTogJS4yZk1iLiBD b250aW51ZT8iKSAlICgKLSsJICAgICAgICAgICAgICAgICB0b2Rvd25sb2FkX3NpemUgLyAoMTAy NCoqMiksCi0rCSAgICAgICAgICAgICAgICAgaW5zdGFsbGVkX3NpemUgLyAoMTAyNCoqMikKLSsJ ICAgICAgICAgICAgICAgICkKLSsJICAgIGlmIG5vdCByZXBvcnRjbGllbnQuYXNrX3llc19ubyhx dWVzdGlvbik6Ci0rCSAgICAgICAgcHJpbnQgXygiRG93bmxvYWQgY2FuY2VsbGVkIGJ5IHVzZXIi KQotKwkgICAgICAgIHJldHVybiBSRVRVUk5fT0sKLSAKLSAgICAgICAgIGZvciBwa2csIGZpbGVz IGluIHBhY2thZ2VfZmlsZXNfZGljdC5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgICBkbmxjYi5k b3dubG9hZGVkX3BrZ3MgPSBkb3dubG9hZGVkX3BrZ3MKLS0tIAotMS43LjYKLQoKZGlmZiAtLWdp dCBhL2FicnQtY2NwcC5pbml0IGIvYWJydC1jY3BwLmluaXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDQ4MGNiMWUuLjAwMDAwMDAKLS0tIGEvYWJydC1jY3BwLmluaXQKKysrIC9kZXYv bnVsbApAQCAtMSwxNTEgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMgSW5zdGFsbCBhYnJ0IGNvcmVk dW1wIGhvb2sKLSMKLSMgY2hrY29uZmlnOiAzNSA4MiAxNgotIyBkZXNjcmlwdGlvbjogSW5zdGFs bHMgY29yZWR1bXAgaGFuZGxlciB3aGljaCBzYXZlcyBzZWdmYXVsdCBkYXRhCi0jIyMgQkVHSU4g SU5JVCBJTkZPCi0jIFByb3ZpZGVzOiBhYnJ0LWNjcHAKLSMgUmVxdWlyZWQtU3RhcnQ6ICRhYnJ0 ZAotIyBEZWZhdWx0LVN0b3A6IDAgMSAyIDYKLSMgRGVmYXVsdC1TdGFydDogMyA1Ci0jIFNob3J0 LURlc2NyaXB0aW9uOiBJbnN0YWxscyBjb3JlZHVtcCBoYW5kbGVyIHdoaWNoIHNhdmVzIHNlZ2Zh dWx0IGRhdGEKLSMgRGVzY3JpcHRpb246IEluc3RhbGxzIGNvcmVkdW1wIGhhbmRsZXIgd2hpY2gg c2F2ZXMgc2VnZmF1bHQgZGF0YQotIyMjIEVORCBJTklUIElORk8KLQotIyBTb3VyY2UgZnVuY3Rp b24gbGlicmFyeS4KLS4gL2V0Yy9yYy5kL2luaXQuZC9mdW5jdGlvbnMKLQotIyBGb3IgZGVidWdn aW5nCi1kcnlfcnVuPWZhbHNlCi12ZXJib3NlPWZhbHNlCi0KLSMgV2UgZG9uJ3QgaGF2ZSBwaWQg ZmlsZXMsIHRoZXJlZm9yZSBoYXZlIHRvIHVzZQotIyBhIGZsYWcgZmlsZSBpbiAvdmFyL2xvY2sv c3Vic3lzIHRvIGVuYWJsZSBHVUkgc2VydmljZSB0b29scwotIyB0byBmaWd1cmUgb3V0IG91ciBz dGF0dXMKLUxPQ0s9Ii92YXIvbG9jay9zdWJzeXMvYWJydC1jY3BwIgotCi1QQVRURVJOX0ZJTEU9 Ii9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuIgotU0FWRURfUEFUVEVSTl9GSUxFPSIvdmFy L3J1bi9hYnJ0L3NhdmVkX2NvcmVfcGF0dGVybiIKLUhPT0tfQklOPSIvdXNyL2xpYmV4ZWMvYWJy dC1ob29rLWNjcHAiCi1QQVRURVJOPSJ8JEhPT0tfQklOIC92YXIvc3Bvb2wvYWJydCAlcyAlYyAl cCAldSAlZyAldCAlaCAlZSIKLQotIyBjb3JlX3BpcGVfbGltaXQgc3BlY2lmaWVzIGhvdyBtYW55 IGR1bXBfaGVscGVycyBjYW4gcnVuIGF0IHRoZSBzYW1lIHRpbWUKLSMgMCAtIG1lYW5zIHVubGlt aXRlZCwgYnV0IGl0J3Mgbm90IGd1YXJhbnRlZWQgdGhhdCAvcHJvYy88cGlkPiBvZiBjcmFzaGlu ZwotIyAgICAgcHJvY2VzcyB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgZHVtcF9oZWxwZXIuCi0jIDQg LSBtZWFucyB0aGF0IDQgZHVtcF9oZWxwZXJzIGNhbiBydW4gYXQgdGhlIHNhbWUgdGltZSAodGhl IHJlc3Qgd2lsbCBhbHNvCi0jICAgICBydW4sIGJ1dCB0aGV5IHdpbGwgZmFpbCB0byByZWFkIC9w cm9jLzxwaWQ+KS4KLSMKLSMgVGhpcyBzaG91bGQgYmUgZW5vdWdoIGZvciBBQlJULCB3ZSBjYW4g bWlzcyBzb21lIGNyYXNoZXMsIGJ1dCB3aGF0IGFyZQotIyB0aGUgb2RkcyB0aGF0IG1vcmUgcHJv Y2Vzc2VzIGNyYXNoIGF0IHRoZSBzYW1lIHRpbWU/IEFuZCBtb3Jlb3ZlciwKLSMgZG8gcGVvcGxl IHdhbnQgdG8gc2F2ZSBFVkVSWSBPTkUgb2YgdGhlIGNyYXNoZXMgd2hlbiB0aGV5IGhhdmUKLSMg YSBjcmFzaCBzdG9ybT8gSSBkb24ndCB0aGluayBzby4KLSMgVGhlIHZhbHVlIG9mIDQgaGFzIGJl ZW4gcmVjb21tZW5kZWQgYnkgbmhvcm1hbi4KLSMKLUNPUkVfUElQRV9MSU1JVF9GSUxFPSIvcHJv Yy9zeXMva2VybmVsL2NvcmVfcGlwZV9saW1pdCIKLUNPUkVfUElQRV9MSU1JVD0iNCIKLQotUkVU VkFMPTAKLQotY2hlY2soKSB7Ci0JIyBDaGVjayB0aGF0IHdlJ3JlIGEgcHJpdmlsZWdlZCB1c2Vy Ci0JWyAiYGlkIC11YCIgPSAwIF0gfHwgZXhpdCA0Ci19Ci0KLXN0YXJ0KCkgewotCWNoZWNrCi0K LQljdXI9YGNhdCAiJFBBVFRFUk5fRklMRSJgCi0JY3VyX2ZpcnN0PWBwcmludGYgIiVzIiAiJGN1 ciIgfCBzZWQgJ3MvIC4qLy8nYAotCi0JJHZlcmJvc2UgJiYgcHJpbnRmICJjdXI6JyVzJ1xuIiAi JGN1ciIKLQkjIElzIGl0IGFscmVhZHkgaW5zdGFsbGVkPwotCWlmIHRlc3QgeCIkY3VyX2ZpcnN0 IiAhPSB4InwkSE9PS19CSU4iOyB0aGVuICAgIyBubwotCQkjIEl0IGlzIG5vdCBpbnN0YWxsZWQK LQkJcHJpbnRmICIlc1xuIiAiJGN1ciIgPiIkU0FWRURfUEFUVEVSTl9GSUxFIgotCQlPTERfUEFU VEVSTj0iIgotCQkjIERvZXMgb2xkIHBhdHRlcm4gc3RhcnQgd2l0aCAnfCc/Ci0JCWlmIHRlc3Qg eCIke2N1ciN8fSIgPSB4IiRjdXIiOyB0aGVuICAgIyBubwotCQkJIyBFbmNvZGUgaXQgYXMgaGV4 IHN0cmluZywgTlVMIHRlcm1pbmF0ZWQKLQkJCU9MRF9QQVRURVJOPWBwcmludGYgIiVzIiAiJGN1 ciIgfCBvZCAtdHgxIHwgc2VkICdzLzAwMFteIF0qLy8nIHwgeGFyZ3MgfCBzZWQgJ3MvIC8vZydg Ci0JCQkkdmVyYm9zZSAmJiBwcmludGYgIk9MRF9QQVRURVJOOiclcydcbiIgIiRPTERfUEFUVEVS TiIKLQkJCU9MRF9QQVRURVJOPSIgJHtPTERfUEFUVEVSTn0wMCIKLQkJZmkKLQkJIyBJbnN0YWxs IG5ldyBoYW5kbGVyCi0JCSR2ZXJib3NlICYmIHByaW50ZiAiSW5zdGFsbGluZyB0byAlczonJXMn XG4iICIkUEFUVEVSTl9GSUxFIiAiJHtQQVRURVJOfSR7T0xEX1BBVFRFUk59IgotCQkkZHJ5X3J1 biB8fCBlY2hvICIke1BBVFRFUk59JHtPTERfUEFUVEVSTn0iID4iJFBBVFRFUk5fRklMRSIKLQkJ JGRyeV9ydW4gfHwgdG91Y2ggLS0gIiRMT0NLIgotCi0JCSMgQ2hlY2sgY29yZV9waXBlX2xpbWl0 IGFuZCBjaGFuZ2UgaXQgaWYgaXQncyAwLAotCQkjIG90aGVyd2lzZSB0aGUgYWJydC1ob29rLWNj cHAgd29uJ3QgYmUgYWJsZSB0byByZWFkIC9wcm9jLzxwaWQ+Ci0JCSMgb2YgdGhlIGNyYXNoaW5n IHByb2Nlc3MKLQkJaWYgdGVzdCB4ImBjYXQgIiRDT1JFX1BJUEVfTElNSVRfRklMRSJgIiA9IHgi MCI7IHRoZW4KLQkJCWVjaG8gIiRDT1JFX1BJUEVfTElNSVQiID4iJENPUkVfUElQRV9MSU1JVF9G SUxFIgotCQlmaQotCWZpCi0JcmV0dXJuICRSRVRWQUwKLX0KLQotc3RvcCgpIHsKLQljaGVjawot Ci0JaWYgdGVzdCAtZiAiJFNBVkVEX1BBVFRFUk5fRklMRSI7IHRoZW4KLQkJJHZlcmJvc2UgJiYg cHJpbnRmICJSZXN0b3JpbmcgdG8gJXM6JyVzJ1xuIiAiJFBBVFRFUk5fRklMRSIgImBjYXQgIiRT QVZFRF9QQVRURVJOX0ZJTEUiYCIKLQkJJGRyeV9ydW4gfHwgY2F0ICIkU0FWRURfUEFUVEVSTl9G SUxFIiA+IiRQQVRURVJOX0ZJTEUiCi0JZmkKLQkkZHJ5X3J1biB8fCBybSAtZiAtLSAiJExPQ0si Ci0JcmV0dXJuICRSRVRWQUwKLX0KLQotcmVzdGFydCgpIHsKLQlzdG9wCi0Jc3RhcnQKLX0KLQot cmVsb2FkKCkgewotCXJlc3RhcnQKLX0KLQotY2FzZSAiJDEiIGluCi1zdGFydCkKLQlzdGFydAot CTs7Ci1zdG9wKQotCXN0b3AKLQk7OwotcmVsb2FkKQotCXJlbG9hZAotCTs7Ci1mb3JjZS1yZWxv YWQpCi0JZWNobyAiJDA6IFVuaW1wbGVtZW50ZWQgZmVhdHVyZS4iCi0JUkVUVkFMPTMKLQk7Owot cmVzdGFydCkKLQlyZXN0YXJ0Ci0JOzsKLWNvbmRyZXN0YXJ0KQotCWN1cj1gY2F0ICIkUEFUVEVS Tl9GSUxFImAKLQljdXJfZmlyc3Q9YHByaW50ZiAiJXMiICIkY3VyIiB8IHNlZCAncy8gLiovLydg Ci0JIyBJcyBpdCBhbHJlYWR5IGluc3RhbGxlZD8KLQlpZiB0ZXN0IHgiJGN1cl9maXJzdCIgPSB4 InwkSE9PS19CSU4iOyB0aGVuICAgIyB5ZXMKLQkJJHZlcmJvc2UgJiYgcHJpbnRmICJJbnN0YWxs ZWQsIHJlLWluc3RhbGxpbmdcbiIKLQkJcmVzdGFydAotCWZpCi0JOzsKLXN0YXR1cykKLQljdXI9 YGNhdCAiJFBBVFRFUk5fRklMRSJgCi0JY3VyX2ZpcnN0PWBwcmludGYgIiVzIiAiJGN1ciIgfCBz ZWQgJ3MvIC4qLy8nYAotCSMgSXMgaXQgYWxyZWFkeSBpbnN0YWxsZWQ/Ci0JaWYgdGVzdCB4IiRj dXJfZmlyc3QiID0geCJ8JEhPT0tfQklOIjsgdGhlbiAgICMgeWVzCi0JCSR2ZXJib3NlICYmIHBy aW50ZiAiSW5zdGFsbGVkXG4iCi0JCVJFVFZBTD0wCi0JZWxzZQotCQkkdmVyYm9zZSAmJiBwcmlu dGYgIk5vdCBpbnN0YWxsZWRcbiIKLQkJUkVUVkFMPTMgICMgInN0b3BwZWQgbm9ybWFsbHkiCi0J ZmkKLQk7OwotKikKLQllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0 fGNvbmRyZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgotCVJFVFZBTD0yCi1lc2FjCi0KLWV4 aXQgJFJFVFZBTAoKZGlmZiAtLWdpdCBhL2FicnQtb29wcy5pbml0IGIvYWJydC1vb3BzLmluaXQK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMWM3YmYuLjAwMDAwMDAKLS0tIGEvYWJy dC1vb3BzLmluaXQKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi0jIS9iaW4vYmFzaAot IyBTdGFydCBBQlJUIGtlcm5lbCBsb2cgd2F0Y2hlcgotIwotIyBjaGtjb25maWc6IDM1IDgyIDE2 Ci0jIGRlc2NyaXB0aW9uOiBXYXRjaGVzIHN5c3RlbSBsb2cgZm9yIG9vcHMgbWVzc2FnZXMsIGNy ZWF0ZXMgQUJSVCBkdW1wIGRpcmVjdG9yaWVzIGZvciBlYWNoIG9vcHMKLSMjIyBCRUdJTiBJTklU IElORk8KLSMgUHJvdmlkZXM6IGFicnQtb29wcwotIyBSZXF1aXJlZC1TdGFydDogJGFicnRkCi0j IERlZmF1bHQtU3RvcDogMCAxIDIgNgotIyBEZWZhdWx0LVN0YXJ0OiAzIDUKLSMgU2hvcnQtRGVz Y3JpcHRpb246IFdhdGNoZXMgc3lzdGVtIGxvZyBmb3Igb29wcyBtZXNzYWdlcywgY3JlYXRlcyBB QlJUIGR1bXAgZGlyZWN0b3JpZXMgZm9yIGVhY2ggb29wcwotIyBEZXNjcmlwdGlvbjogV2F0Y2hl cyBzeXN0ZW0gbG9nIGZvciBvb3BzIG1lc3NhZ2VzLCBjcmVhdGVzIEFCUlQgZHVtcCBkaXJlY3Rv cmllcyBmb3IgZWFjaCBvb3BzCi0jIyMgRU5EIElOSVQgSU5GTwotCi0jIFNvdXJjZSBmdW5jdGlv biBsaWJyYXJ5LgotLiAvZXRjL3JjLmQvaW5pdC5kL2Z1bmN0aW9ucwotCi0jIEZvciBkZWJ1Z2dp bmcKLWRyeV9ydW49ZmFsc2UKLXZlcmJvc2U9ZmFsc2UKLQotIyBXZSBkb24ndCBoYXZlIHBpZCBm aWxlcywgdGhlcmVmb3JlIGhhdmUgdG8gdXNlCi0jIGEgZmxhZyBmaWxlIGluIC92YXIvbG9jay9z dWJzeXMgdG8gZW5hYmxlIEdVSSBzZXJ2aWNlIHRvb2xzCi0jIHRvIGZpZ3VyZSBvdXQgb3VyIHN0 YXR1cwotTE9DSz0iL3Zhci9sb2NrL3N1YnN5cy9hYnJ0LW9vcHMiCi0KLVJFVFZBTD0wCi0KLWNo ZWNrKCkgewotCSMgQ2hlY2sgdGhhdCB3ZSdyZSBhIHByaXZpbGVnZWQgdXNlcgotCVsgImBpZCAt dWAiID0gMCBdIHx8IGV4aXQgNAotfQotCi1zdGFydCgpIHsKLQljaGVjawotCWtpbGxhbGwgYWJy dC1kdW1wLW9vcHMgMj4vZGV2L251bGwKLQlzZXRzaWQgYWJydC1kdW1wLW9vcHMgLWQgL3Zhci9z cG9vbC9hYnJ0IC1yd3ggL3Zhci9sb2cvbWVzc2FnZXMgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+ JjEgJgotCSRkcnlfcnVuIHx8IHRvdWNoIC0tICIkTE9DSyIKLQlyZXR1cm4gJFJFVFZBTAotfQot Ci1zdG9wKCkgewotCWNoZWNrCi0Ja2lsbGFsbCBhYnJ0LWR1bXAtb29wcwotCSRkcnlfcnVuIHx8 IHJtIC1mIC0tICIkTE9DSyIKLQlyZXR1cm4gJFJFVFZBTAotfQotCi1yZXN0YXJ0KCkgewotCXN0 b3AKLQlzdGFydAotfQotCi1yZWxvYWQoKSB7Ci0JcmVzdGFydAotfQotCi1jYXNlICIkMSIgaW4K LXN0YXJ0KQotCXN0YXJ0Ci0JOzsKLXN0b3ApCi0Jc3RvcAotCTs7Ci1yZWxvYWQpCi0JcmVsb2Fk Ci0JOzsKLWZvcmNlLXJlbG9hZCkKLQllY2hvICIkMDogVW5pbXBsZW1lbnRlZCBmZWF0dXJlLiIK LQlSRVRWQUw9MwotCTs7Ci1yZXN0YXJ0KQotCXJlc3RhcnQKLQk7OwotY29uZHJlc3RhcnQpCi0J IyBJcyBpdCBhbHJlYWR5IHJ1bm5pbmc/Ci0JaWYgdGVzdCAtZiAiJExPQ0siOyB0aGVuICAgIyB5 ZXMKLQkJJHZlcmJvc2UgJiYgcHJpbnRmICJSdW5uaW5nLCByZXN0YXJ0aW5nXG4iCi0JCXJlc3Rh cnQKLQlmaQotCTs7Ci1zdGF0dXMpCi0Jc3RhdHVzIGFicnQtZHVtcC1vb3BzCi0JUkVUVkFMPSQ/ Ci0JOzsKLSopCi0JZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxj b25kcmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKLQlSRVRWQUw9MgotZXNhYwotCi1leGl0 ICRSRVRWQUwKCmRpZmYgLS1naXQgYS9hYnJ0LXZtY29yZS5pbml0IGIvYWJydC12bWNvcmUuaW5p dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRlNjllYS4uMDAwMDAwMAotLS0gYS9h YnJ0LXZtY29yZS5pbml0CisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotIyEvYmluL2Jh c2gKLSMgSGFydmVzdCB2bWNvcmVzIGZvciBBQlJUCi0jCi0jIGNoa2NvbmZpZzogMzUgODIgMTYK LSMgZGVzY3JpcHRpb246IEluc3RhbGxzIGNvcmVkdW1wIGhhbmRsZXIgd2hpY2ggc2F2ZXMgc2Vn ZmF1bHQgZGF0YQotIyMjIEJFR0lOIElOSVQgSU5GTwotIyBQcm92aWRlczogYWJydC12bWNvcmUK LSMgUmVxdWlyZWQtU3RhcnQ6ICRhYnJ0ZAotIyBEZWZhdWx0LVN0b3A6IDAgMSAyIDYKLSMgRGVm YXVsdC1TdGFydDogMyA1Ci0jIFNob3J0LURlc2NyaXB0aW9uOiBDb2xsZWN0cyB2bWNvcmUgKGtl cm5lbCBjcmFzaCBkYXRhKSBmb3IgQUJSVAotIyBEZXNjcmlwdGlvbjogQ29sbGVjdHMgdm1jb3Jl IChrZXJuZWwgY3Jhc2ggZGF0YSkgZm9yIEFCUlQKLSMjIyBFTkQgSU5JVCBJTkZPCi0KLSMgU291 cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCi0uIC9ldGMvcmMuZC9pbml0LmQvZnVuY3Rpb25zCi0KLUxP Q0s9Ii92YXIvbG9jay9zdWJzeXMvYWJydC12bWNvcmUiCi1IQVJWRVNUX0NNRD0iL3Vzci9zYmlu L2FicnQtaGFydmVzdC12bWNvcmUiCi0KLVJFVFZBTD0wCi0KLWNoZWNrKCkgewotCSMgQ2hlY2sg dGhhdCB3ZSdyZSBhIHByaXZpbGVnZWQgdXNlcgotCVsgImBpZCAtdWAiID0gMCBdIHx8IGV4aXQg NAotfQotCi1zdGFydCgpIHsKLQljaGVjawotCSIkSEFSVkVTVF9DTUQiCi0JUkVUVkFMPSQ/Ci0J WyAkUkVUVkFMIC1lcSAwIF0gJiYgdG91Y2ggLS0gIiRMT0NLIgotCXJldHVybiAkUkVUVkFMCi19 Ci0KLXN0b3AoKSB7Ci0JY2hlY2sKLQlybSAtZiAtLSAiJExPQ0siCi0JcmV0dXJuIDAKLX0KLQot cmVzdGFydCgpIHsKLQlzdG9wCi0Jc3RhcnQKLX0KLQotcmVsb2FkKCkgewotCXJlc3RhcnQKLX0K LQotY2FzZSAiJDEiIGluCi1zdGFydCkKLQlzdGFydAotCTs7Ci1zdG9wKQotCXN0b3AKLQk7Owot cmVsb2FkKQotCXJlbG9hZAotCTs7Ci1mb3JjZS1yZWxvYWQpCi0JZWNobyAiJDA6IFVuaW1wbGVt ZW50ZWQgZmVhdHVyZS4iCi0JUkVUVkFMPTMKLQk7OwotcmVzdGFydCkKLQlyZXN0YXJ0Ci0JOzsK LWNvbmRyZXN0YXJ0KQotCXRlc3QgLWYgIiRMT0NLIiAmJiByZXN0YXJ0Ci0JOzsKLXN0YXR1cykK LQl0ZXN0IC1mICIkTE9DSyIgJiYgUkVUVkFMPTAgfHwgUkVUVkFMPTMKLQk7OwotKikKLQllY2hv ICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0YXJ0fHJlbG9h ZHxmb3JjZS1yZWxvYWR9IgotCVJFVFZBTD0yCi1lc2FjCi0KLWV4aXQgJFJFVFZBTAoKZGlmZiAt LWdpdCBhL2FicnQuaW5pdCBiL2FicnQuaW5pdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggZGRlNTk1MC4uMDAwMDAwMAotLS0gYS9hYnJ0LmluaXQKKysrIC9kZXYvbnVsbApAQCAtMSwx MTUgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMgU3RhcnRzIHRoZSBhYnJ0IGRhZW1vbgotIwotIyBj aGtjb25maWc6IDM1IDgyIDE2Ci0jIGRlc2NyaXB0aW9uOiBEYWVtb24gdG8gZGV0ZWN0IGNyYXNo aW5nIGFwcHMKLSMgcHJvY2Vzc25hbWU6IGFicnRkCi0jIyMgQkVHSU4gSU5JVCBJTkZPCi0jIFBy b3ZpZGVzOiBhYnJ0Ci0jIFJlcXVpcmVkLVN0YXJ0OiAkc3lzbG9nICRsb2NhbF9mcwotIyBSZXF1 aXJlZC1TdG9wOiAkc3lzbG9nICRsb2NhbF9mcwotIyBEZWZhdWx0LVN0b3A6IDAgMSAyIDYKLSMg RGVmYXVsdC1TdGFydDogMyA1Ci0jIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCBh YnJ0IGRhZW1vbgotIyBEZXNjcmlwdGlvbjogTGlzdGVuIHRvIGFuZCBkaXNwYXRjaCBjcmFzaCBl dmVudHMKLSMjIyBFTkQgSU5JVCBJTkZPCi0KLSMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCi0u IC9ldGMvcmMuZC9pbml0LmQvZnVuY3Rpb25zCi1BQlJUX0JJTj0iL3Vzci9zYmluL2FicnRkIgot TE9DSz0iL3Zhci9sb2NrL3N1YnN5cy9hYnJ0ZCIKLU9MRF9MT0NLPSIvdmFyL2xvY2svc3Vic3lz L2FicnQiCi1SRVRWQUw9MAotCi0jCi0jIFNldCB0aGVzZSB2YXJpYWJsZXMgaWYgeW91IGFyZSBi ZWhpbmQgcHJveHkKLSMKLSNleHBvcnQgaHR0cF9wcm94eT0KLSNleHBvcnQgaHR0cHNfcHJveHk9 Ci0KLSMKLSMgU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KLSMKLQotY2hlY2soKSB7Ci0JIyBDaGVj ayB0aGF0IHdlJ3JlIGEgcHJpdmlsZWdlZCB1c2VyCi0JWyAiYGlkIC11YCIgPSAwIF0gfHwgZXhp dCA0Ci0KLQkjIENoZWNrIGlmIGFicnQgaXMgZXhlY3V0YWJsZQotCXRlc3QgLXggJEFCUlRfQklO IHx8IGV4aXQgNQotfQotCi1zdGFydCgpIHsKLQotCWNoZWNrCi0KLQkjIENoZWNrIGlmIGl0IGlz IGFscmVhZHkgcnVubmluZwotCWlmIFsgISAtZiAkTE9DSyBdICYmIFsgISAtZiAkT0xEX0xPQ0sg XTsgdGhlbgotCQllY2hvIC1uICQiU3RhcnRpbmcgYWJydCBkYWVtb246ICIKLQkJZGFlbW9uICRB QlJUX0JJTgotCQlSRVRWQUw9JD8KLQkJWyAkUkVUVkFMIC1lcSAwIF0gJiYgdG91Y2ggJExPQ0sK LQkJZWNobwotCWZpCi0JcmV0dXJuICRSRVRWQUwKLX0KLQotc3RvcCgpIHsKLQotCWNoZWNrCi0K LQllY2hvIC1uICQiU3RvcHBpbmcgYWJydCBkYWVtb246ICIKLQlraWxscHJvYyAkQUJSVF9CSU4K LQlSRVRWQUw9JD8KLQlbICRSRVRWQUwgLWVxIDAgXSAmJiBybSAtZiAkTE9DSwotCVsgJFJFVFZB TCAtZXEgMCBdICYmIHJtIC1mICRPTERfTE9DSwotCWVjaG8KLQlyZXR1cm4gJFJFVFZBTAotfQot Ci0KLXJlc3RhcnQoKSB7Ci0Jc3RvcAotCXN0YXJ0Ci19Ci0KLXJlbG9hZCgpIHsKLQlyZXN0YXJ0 Ci19Ci0KLWNhc2UgIiQxIiBpbgotc3RhcnQpCi0Jc3RhcnQKLQk7Owotc3RvcCkKLQlzdG9wCi0J OzsKLXJlbG9hZCkKLQlyZWxvYWQKLQk7OwotZm9yY2UtcmVsb2FkKQotCWVjaG8gIiQwOiBVbmlt cGxlbWVudGVkIGZlYXR1cmUuIgotCVJFVFZBTD0zCi0JOzsKLXJlc3RhcnQpCi0JcmVzdGFydAot CTs7Ci1jb25kcmVzdGFydCkKLQlpZiBbIC1mICRMT0NLIF07IHRoZW4KLQkJcmVzdGFydAotCWZp Ci0JIyB1cGRhdGUgZnJvbSBvbGRlciB2ZXJzaW9uCi0JaWYgWyAtZiAkT0xEX0xPQ0sgXTsgdGhl bgotCQlyZXN0YXJ0Ci0JZmkKLQk7Owotc3RhdHVzKQotCXN0YXR1cyBhYnJ0ZAotCVJFVFZBTD0k PwotCTs7Ci0qKQotCWVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8 Y29uZHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCi0JUkVUVkFMPTIKLWVzYWMKLQotZXhp dCAkUkVUVkFMCgpkaWZmIC0tZ2l0IGEvYWJydC5zcGVjIGIvYWJydC5zcGVjCmluZGV4IGRlOWUx NjEuLmMyYzEwM2UgMTAwNjQ0Ci0tLSBhL2FicnQuc3BlYworKysgYi9hYnJ0LnNwZWMKQEAgLTE1 LDcgKzE1LDcgQEAKIAogU3VtbWFyeTogQXV0b21hdGljIGJ1ZyBkZXRlY3Rpb24gYW5kIHJlcG9y dGluZyB0b29sCiBOYW1lOiBhYnJ0Ci1WZXJzaW9uOiAyLjAuNgorVmVyc2lvbjogMi4wLjcKIFJl bGVhc2U6IDElez9kaXN0fQogTGljZW5zZTogR1BMdjIrCiBHcm91cDogQXBwbGljYXRpb25zL1N5 c3RlbQpAQCAtMjQsOCArMjQsNyBAQCBTb3VyY2U6IGh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9y ZWxlYXNlZC8le25hbWV9LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6IGFicnQx X3RvX2FicnQyCiBQYXRjaDA6IGJsYWNrbGlzdC5wYXRjaAogUGF0Y2gxOiBhYnJ0X2Rpc2FibGVf Z3BnY2hlY2suZGlmZgotUGF0Y2gyOiAwMDAyLWd0azMtYnVpbGQtZml4ZXMucGF0Y2gKLVBhdGNo MzogMDAwMy1nbGliLTIuMzEtYnVpbGQtZml4ZXMucGF0Y2gKK1BhdGNoMjogMDAwMi1kaXNhYmxl ZC1yZXBvcnRpbmctdG8ta2VybmVsb29wcy5vcmcucGF0Y2gKIEJ1aWxkUmVxdWlyZXM6IGRidXMt ZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IGd0azItZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6IHJwbS1kZXZl bCA+PSA0LjYKQEAgLTE3Myw2ICsxNzIsNyBAQCBSZXF1aXJlczogZ2RiID49IDcuMC0zCiBSZXF1 aXJlczogYWJydC1ndWkKIFJlcXVpcmVzOiBsaWJyZXBvcnQtcGx1Z2luLWxvZ2dlciwgbGlicmVw b3J0LXBsdWdpbi1idWd6aWxsYQogUmVxdWlyZXM6IGFicnQtcmV0cmFjZS1jbGllbnQKK1JlcXVp cmVzOiBsaWJyZXBvcnQtcGx1Z2luLWJvZGhpCiAjUmVxdWlyZXM6IGFicnQtcGx1Z2luLWZpcmVm b3gKIE9ic29sZXRlczogYnVnLWJ1ZGR5ID4gMC4wLjEKIFByb3ZpZGVzOiBidWctYnVkZHkKQEAg LTE4NiwxNyArMTg2LDExIEBAIFZpcnR1YWwgcGFja2FnZSB0byBtYWtlIGVhc3kgZGVmYXVsdCBp bnN0YWxsYXRpb24gb24gZGVza3RvcCBlbnZpcm9ubWVudHMuCiAlcGF0Y2gwIC1wMSAtYiAuYmxh Y2tsaXN0CiAjIGdlbmVyYWwKICVwYXRjaDEgLXAxIC1iIC5ncGcKLSVwYXRjaDIgLXAxIC1iIC5n dGszCi0lcGF0Y2gzIC1wMSAtYiAuZ2xpYjIzMQorJXBhdGNoMiAtcDEgLWIgLmRpc2FibGVfa29v cHNfb3JnCiAKICVidWlsZAotbWtkaXIgLXAgbTQKLXRlc3QgLXIgbTQvYWNsb2NhbC5tNCB8fCB0 b3VjaCBtNC9hY2xvY2FsLm00CiBhdXRvY29uZgotYXV0b21ha2UKICVjb25maWd1cmUKLXNlZCAt aSAnc3xeaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0uKnxoYXJkY29kZV9saWJkaXJfZmxhZ19z cGVjPSIifGcnIGxpYnRvb2wKLXNlZCAtaSAnc3xecnVucGF0aF92YXI9TERfUlVOX1BBVEh8cnVu cGF0aF92YXI9RElFX1JQQVRIX0RJRXxnJyBsaWJ0b29sCiBDRkxBR1M9Ii1mbm8tc3RyaWN0LWFs aWFzaW5nIgogbWFrZSAlez9fc21wX21mbGFnc30KIApAQCAtMjQxLDExICsyMzUsOSBAQCBnZXRl bnQgcGFzc3dkIGFicnQgPi9kZXYvbnVsbCB8fCB1c2VyYWRkIC0tc3lzdGVtIC1nIGFicnQgLXUg JXthYnJ0X2dpZF91aWR9IC1kIAogZXhpdCAwCiAKICVwb3N0Ci0jIyBbICQxIC1lcSAxIF0gaW5z dGFsbCBzZWN0aW9uCiBpZiBbICQxIC1lcSAxIF07IHRoZW4KICVpZiAle3dpdGggc3lzdGVtZH0K ICAgICAjIEVuYWJsZSAoYnV0IGRvbid0IHN0YXJ0KSB0aGUgdW5pdHMgYnkgZGVmYXVsdAotICAg IC9iaW4vc3lzdGVtY3RsIGRhZW1vbi1yZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICAgICAv YmluL3N5c3RlbWN0bCBlbmFibGUgYWJydGQuc2VydmljZSA+L2Rldi9udWxsIDI+JjEgfHwgOgog JWVsc2UKICAgICAvc2Jpbi9jaGtjb25maWcgLS1hZGQgYWJydGQKQEAgLTI1OCw3MCArMjUwLDI5 IEBAIGZpCiAjIGJlY2F1c2UgL2NhY2hlL2FicnQtZGkvKiB3YXMgY3JlYXRlZCB1bmRlciByb290 IHdpdGggcm9vdDpyb290CiAjIHNvIDIueCBmYWlscyB3aGVuIGl0IHRyaWVzIHRvIGV4dHJhY3Qg ZGVidWdpbmZvIHRoZXJlLi4KIGNob3duIC1SIGFicnQ6YWJydCAle19sb2NhbHN0YXRlZGlyfS9j YWNoZS9hYnJ0LWRpCi0jIyBbICQxIC1lcSAxIF0gaW5zdGFsbCBzZWN0aW9uCiBpZiBbICQxIC1l cSAxIF07IHRoZW4KICVpZiAle3dpdGggc3lzdGVtZH0KICAgICAjIEVuYWJsZSAoYnV0IGRvbid0 IHN0YXJ0KSB0aGUgdW5pdHMgYnkgZGVmYXVsdAotICAgIC9iaW4vc3lzdGVtY3RsIGRhZW1vbi1y ZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICAgICAvYmluL3N5c3RlbWN0bCBlbmFibGUgYWJy dC1jY3BwLnNlcnZpY2UgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICVlbHNlCiAgICAgL3NiaW4vY2hr Y29uZmlnIC0tYWRkIGFicnQtY2NwcAogJWVuZGlmCiBmaQotIyBGSVhNRTogV29ya2Fyb3VuZCBm b3IgdXBkYXRlIGZyb20gYWJydC0xLjEueCwgY2FuIGJlIHJlbW92ZWQgaW4KLSMgRjE3KDE4KSB1 cGRhdGUuICBXaGVuIHdlIGFyZSB1cGRhdGluZyBmcm9tIEFCUlQgMSB0byBBQlJUIDIsIGFzc3Vt ZQotIyB0aGF0IGFicnRkIHNlcnZpY2UgaXMgZW5hYmxlZCBhbmQgdGh1cyBlbmFibGUgdGhlIG5l dyBhYnJ0LWNjcHAKLSMgc2VydmljZS4gIElmIGFicnRkIGlzIHJ1bm5pbmcgb24gdGhlIHN5c3Rl bSwgcnVuIGFicnQtY2NwcCBzZXJ2aWNlCi0jIGFzIHdlbGwsIGJlY2F1c2Ugd2hhdCB3YXMgYSBw YXJ0IG9mIGFicnRkIGJlY2FtZSBhIHNlcGFyYXRlIHNlcnZpY2UuCi0KLSMjIFsgJDEgLWd0IDEg XSB1cGdyYWRlIHNlY3Rpb24KLWlmIFsgJDEgLWd0IDEgXTsgdGhlbgotICAgJWlmICV7d2l0aCBz eXN0ZW1kfQotICAgICAgIC9iaW4vc3lzdGVtY3RsIHJlc3RhcnQgYWJydC1jY3BwLnNlcnZpY2Ug Pi9kZXYvbnVsbCAyPiYxIHx8IDoKLSAgICVlbHNlCi0gICAgICAgL3NiaW4vY2hrY29uZmlnIC0t YWRkIGFicnQtY2NwcCA+IC9kZXYvbnVsbCAyPiYxIHx8IDoKLSAgICAgICAvc2Jpbi9waWRvZiBh YnJ0ZCA+L2Rldi9udWxsIDI+JjEKLSAgICAgICBpZiBbICQ/IC1lcSAwIF07IHRoZW4gIyBJcyBh YnJ0ZCBydW5uaW5nPwotICAgICAgICAgICBzZXJ2aWNlIGFicnQtY2NwcCByZXN0YXJ0ID4vZGV2 L251bGwgMj4mMSB8fCA6Ci0gICAgICAgZmkKLSAgICVlbmRpZgotZmkKIAogJXBvc3QgYWRkb24t a2VybmVsb29wcwotIyMgWyAkMSAtZXEgMSBdIGluc3RhbGwgc2VjdGlvbgogaWYgWyAkMSAtZXEg MSBdOyB0aGVuCiAlaWYgJXt3aXRoIHN5c3RlbWR9CiAgICAgIyBFbmFibGUgKGJ1dCBkb24ndCBz dGFydCkgdGhlIHVuaXRzIGJ5IGRlZmF1bHQKLSAgICAvYmluL3N5c3RlbWN0bCBkYWVtb24tcmVs b2FkID4vZGV2L251bGwgMj4mMSB8fCA6CiAgICAgL2Jpbi9zeXN0ZW1jdGwgZW5hYmxlIGFicnQt b29wcy5zZXJ2aWNlID4vZGV2L251bGwgMj4mMSB8fCA6CiAlZWxzZQogICAgIC9zYmluL2Noa2Nv bmZpZyAtLWFkZCBhYnJ0LW9vcHMKICVlbmRpZgogZmkKLSMgRklYTUU6IFdvcmthcm91bmQgZm9y IHVwZGF0ZSBmcm9tIGFicnQtMS4xLngsIGNhbiBiZSByZW1vdmVkIGluCi0jIEYxNygxOCkgdXBk YXRlLiAgV2hlbiB3ZSBhcmUgdXBkYXRpbmcgZnJvbSBBQlJUIDEgdG8gQUJSVCAyLCBhc3N1bWUK LSMgdGhhdCBhYnJ0ZCBzZXJ2aWNlIGlzIGVuYWJsZWQgYW5kIHRodXMgZW5hYmxlIHRoZSBuZXcg YWJydC1vb3BzCi0jIHNlcnZpY2UuICBJZiBhYnJ0ZCBpcyBydW5uaW5nIG9uIHRoZSBzeXN0ZW0s IHJ1biBhYnJ0LWNjcHAgc2VydmljZQotIyBhcyB3ZWxsLCBiZWNhdXNlIHdoYXQgd2FzIGEgcGFy dCBvZiBhYnJ0ZCBiZWNhbWUgYSBzZXBhcmF0ZSBzZXJ2aWNlLgotCi0jIyBbICQxIC1ndCAxIF0g dXBncmFkZSBzZWN0aW9uCi1pZiBbICQxIC1ndCAxIF07IHRoZW4KLSAgICVpZiAle3dpdGggc3lz dGVtZH0KLSAgICAgICAvYmluL3N5c3RlbWN0bCB0cnktcmVzdGFydCBhYnJ0LW9vcHMuc2Vydmlj ZSA+L2Rldi9udWxsIDI+JjEgfHwgOgotICAgJWVsc2UKLSAgICAgICAvc2Jpbi9jaGtjb25maWcg LS1hZGQgYWJydC1vb3BzID4gL2Rldi9udWxsIDI+JjEgfHwgOgotICAgICAgIC9zYmluL3BpZG9m IGFicnRkID4vZGV2L251bGwgMj4mMQotICAgICAgIGlmIFsgJD8gLWVxIDAgXTsgdGhlbiAjIElz IGFicnRkIHJ1bm5pbmc/Ci0JICAgc2VydmljZSBhYnJ0LW9vcHMgcmVzdGFydCA+L2Rldi9udWxs IDI+JjEgfHwgOgotICAgICAgZmkKLSAgJWVuZGlmCi1maQogCiAlcG9zdCBhZGRvbi12bWNvcmUK IGlmIFsgJDEgLWVxIDEgXTsgdGhlbgogJWlmICV7d2l0aCBzeXN0ZW1kfQogICAgICMgRW5hYmxl IChidXQgZG9uJ3Qgc3RhcnQpIHRoZSB1bml0cyBieSBkZWZhdWx0Ci0gICAgL2Jpbi9zeXN0ZW1j dGwgZGFlbW9uLXJlbG9hZCA+L2Rldi9udWxsIDI+JjEgfHwgOgogICAgIC9iaW4vc3lzdGVtY3Rs IGVuYWJsZSBhYnJ0LXZtY29yZS5zZXJ2aWNlID4vZGV2L251bGwgMj4mMSB8fCA6CiAlZWxzZQog ICAgIC9zYmluL2Noa2NvbmZpZyAtLWFkZCBhYnJ0LXZtY29yZQpAQCAtMzc0LDE2ICszMjUsMTYg QEAgZmkKIAogJWlmICV7d2l0aCBzeXN0ZW1kfQogJXBvc3R1bgotL2Jpbi9zeXN0ZW1jdGwgdHJ5 LXJlbG9hZCBhYnJ0ZC5zZXJ2aWNlID4vZGV2L251bGwgMj4mMSB8fCA6CisvYmluL3N5c3RlbWN0 bCBkYWVtb24tcmVsb2FkID4vZGV2L251bGwgMj4mMSB8fCA6CiAKICVwb3N0dW4gYWRkb24ta2Vy bmVsb29wcwotL2Jpbi9zeXN0ZW1jdGwgdHJ5LXJlbG9hZCBhYnJ0LW9vcHMuc2VydmljZSA+L2Rl di9udWxsIDI+JjEgfHwgOgorL2Jpbi9zeXN0ZW1jdGwgZGFlbW9uLXJlbG9hZCA+L2Rldi9udWxs IDI+JjEgfHwgOgogCiAlcG9zdHVuIGFkZG9uLXZtY29yZQotL2Jpbi9zeXN0ZW1jdGwgdHJ5LXJl bG9hZCBhYnJ0LXZtY29yZS5zZXJ2aWNlID4vZGV2L251bGwgMj4mMSB8fCA6CisvYmluL3N5c3Rl bWN0bCBkYWVtb24tcmVsb2FkID4vZGV2L251bGwgMj4mMSB8fCA6CiAKICVwb3N0dW4gYWRkb24t Y2NwcAotL2Jpbi9zeXN0ZW1jdGwgdHJ5LXJlbG9hZCBhYnJ0LWNjcHAuc2VydmljZSA+L2Rldi9u dWxsIDI+JjEgfHwgOgorL2Jpbi9zeXN0ZW1jdGwgZGFlbW9uLXJlbG9hZCA+L2Rldi9udWxsIDI+ JjEgfHwgOgogCiAlZW5kaWYKIApAQCAtNDI1LDYgKzM3Niw3IEBAIGd0ay11cGRhdGUtaWNvbi1j YWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9udWxsIHx8IDoKICV7X2luaXRy ZGRpcn0vYWJydGQKICVlbmRpZgogJXtfc2JpbmRpcn0vYWJydGQKKyV7X3NiaW5kaXJ9L2FicnQt ZGJ1cwogJXtfc2JpbmRpcn0vYWJydC1zZXJ2ZXIKICV7X2xpYmV4ZWNkaXJ9L2FicnQtaGFuZGxl LWV2ZW50CiAle19iaW5kaXJ9L2FicnQtaGFuZGxlLXVwbG9hZApAQCAtNDUwLDYgKzQwMiw3IEBA IGd0ay11cGRhdGUtaWNvbi1jYWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+L2Rldi9u dWxsIHx8IDoKICV7X21hbmRpcn0vbWFuMS9hYnJ0LXNlcnZlci4xLmd6CiAle19tYW5kaXJ9L21h bjEvYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdlLWRhdGEuMS5negogJXtfbWFuZGlyfS9tYW44L2Fi cnRkLjguZ3oKKyV7X21hbmRpcn0vbWFuOC9hYnJ0LWRidXMuOC5negogJXtfbWFuZGlyfS9tYW41 L2FicnQuY29uZi41Lmd6CiAle19tYW5kaXJ9L21hbjUvYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdl LWRhdGEuY29uZi41Lmd6CiAjIHtfbWFuZGlyfS9tYW41L3B5aG9vay5jb25mLjUuZ3oKQEAgLTU2 NCw5ICs1MTcsMjAgQEAgZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICV7X2RhdGFkaXJ9L2ljb25zL2hp Y29sb3IgJj4vZGV2L251bGwgfHwgOgogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKIAogJWNoYW5n ZWxvZworKiBXZWQgRGVjIDA3IDIwMTEgSmlyaSBNb3Nrb3ZjYWsgPGptb3Nrb3ZjQHJlZGhhdC5j b20+IDIuMC43LTEKKy0gbmV3IHZlcnNpb24KKy0gZGlzYWJsZWQga2VybmVsb29wcy5vcmcKKy0g YWJydC1jY3BwIGhvb2sgZml4ZXMKKy0gY2F0Y2ggaW5kZW50YXRpb24gZXJyb3JzIGluIHB5dGhv biByaGJ6IzU3ODk2OQorLSBmaXhlZCBtYWtlIGNoZWNrCistIGZpeGVkIHJldHJhY2UtY2xpZW50 IHRvIHdvcmsgd2l0aCByYXdoaWRlCistIHJlcXVpcmUgYWJydGQgc2VydmljZSBpbiBvdGhlciBz ZXJ2aWNlcyByaGJ6Izc1MjAxNAorLSBmaXhlZCBwcm9ibGVtcyB3aXRoIGR1cGVzIHJoYnojNzAx NzE3CistIGtlZXAgYWJydCBzZXJ2aWNlcyBlbmFibGVkIHdoZW4gdXBkYXRpbmcgRjE1LT5GMTYK Ky0gUmVzb2x2ZXM6IDc1MjAxNCA3NDk4OTEgNzQ5NjAzIDc0NDg4NyA3MzA0MjIgNjY1MjEwIDYz OTA2OCA2MjU0NDUgNzAxNzE3IDc1MjAxNCA1Nzg5NjkgNzMyODc2IDc1NzY4MyA3NTMxODMgNzU2 MTQ2IDc0OTEwMAorCiAqIEZyaSBOb3YgMDQgMjAxMSBKaXJpIE1vc2tvdmNhayA8am1vc2tvdmNA cmVkaGF0LmNvbT4gMi4wLjYtMQogLSBuZXcgdmVyc2lvbgotLSBtb3ZlZCB0byBndGszCiAtIFJl c29sdmVzOiAjNzAxMTcxICM3MTI1MDggIzcyNjAzMyAjNzI4MTk0ICM3MjgzMTQgIzczMDEwNyAj NzMzMzg5ICM3Mzg2MDIKIC0gUmVzb2x2ZXM6ICM3NDEyNDIgIzc0OTM2NSAjNzAwMjUyICM3MzQy OTggIzczNjAxNiAjNzM4MzI0ICM3NDg0NTcgIzY5MjI3NAogLSBSZXNvbHZlczogIzcxMTk4NiAj NzIzMjE5ICM3NDk4OTEgIzcxMjYwMiAjNzQ0ODg3ICM3NDk2MDMgIzYyNTQ0NSAjNjY1MjEwCgpk aWZmIC0tZ2l0IGEvYWxsb3dfYnpfZm9yX2tvb3BzLnBhdGNoIGIvYWxsb3dfYnpfZm9yX2tvb3Bz LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWY5MDY4Li4wMDAwMDAwCi0t LSBhL2FsbG93X2J6X2Zvcl9rb29wcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAg QEAKLS0tLSBhYnJ0LTIuMC42L3NyYy9kYWVtb24vYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdlLWRh dGEuY29uZgkyMDExLTExLTA0IDEzOjAzOjQzLjI3MTk1MzgzNSArMDEwMAotKysrIGFicnQtMi4w LjZfL3NyYy9kYWVtb24vYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdlLWRhdGEuY29uZgkyMDExLTEx LTA0IDEzOjAzOjM2LjY2MTc0NjU1NiArMDEwMAotQEAgLTMsNyArMyw3IEBACi0gIyB0aGUgbGlz dCBvZiBwdWJsaWMga2V5cyB1c2VkIHRvIGNoZWNrIHRoZSBzaWduYXR1cmUgaXMKLSAjIGluIHRo ZSBmaWxlIGdwZ19rZXlzCi0gIwotLU9wZW5HUEdDaGVjayA9IHllcwotK09wZW5HUEdDaGVjayA9 IG5vCi0gCi0gIyBCbGFja2xpc3RlZCBwYWNrYWdlcwotICMKCmRpZmYgLS1naXQgYS9lbmFibGVf YnpfZm9yX29vcHMucGF0Y2ggYi9lbmFibGVfYnpfZm9yX29vcHMucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGVhYzg1N2UuLjAwMDAwMDAKLS0tIGEvZW5hYmxlX2J6X2Zvcl9v b3BzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGFicnQtMi4wLjQv c3JjL3BsdWdpbnMva29vcHNfZXZlbnQuY29uZgkyMDExLTA3LTE5IDE2OjU5OjM4LjAwMDAwMDAw MCArMDIwMAotKysrIGFicnQtMi4wLjRfL3NyYy9wbHVnaW5zL2tvb3BzX2V2ZW50LmNvbmYJMjAx MS0wOC0xOSAxMTowNDowNS40ODU0NjQ3MDYgKzAyMDAKLUBAIC04LDQgKzgsNyBAQCBFVkVOVD1w b3N0LWNyZWF0ZSBhbmFseXplcj1LZXJuZWxvb3BzCi0gI0VWRU5UPXBvc3QtY3JlYXRlIGFuYWx5 emVyPUtlcm5lbG9vcHMgIGFicnQtYWN0aW9uLWtlcm5lbG9vcHMKLSAKLSAjIHJlcG9ydAotLUVW RU5UPXJlcG9ydF9LZXJuZWxvb3BzIGFuYWx5emVyPUtlcm5lbG9vcHMgYWJydC1hY3Rpb24ta2Vy bmVsb29wcwotK0VWRU5UPXJlcG9ydF9LZXJuZWxvb3BzIGFuYWx5emVyPUtlcm5lbG9vcHMgcmVw b3J0ZXIta2VybmVsb29wcwotKwotKyNmZWRvcmEKLStFVkVOVD1yZXBvcnRlcl9CdWd6aWxsYSBh bmFseXplcj1LZXJuZWxvb3BzIHJlcG9ydGVyLWJ1Z3ppbGxhCgpkaWZmIC0tZ2l0IGEvZnJlZV9z cGFjZV9jaGVjay5wYXRjaCBiL2ZyZWVfc3BhY2VfY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGEyNjg3OTIuLjAwMDAwMDAKLS0tIGEvZnJlZV9zcGFjZV9jaGVjay5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWNvbW1pdCBlOTFiMjJhOTY1NGJm OTkxMmYzZjg4YzkxNzc3M2E5NmZmNzczM2EzCi1BdXRob3I6IE1hcnRpbiBNaWxhdGEgPG1taWxh dGFAcmVkaGF0LmNvbT4KLURhdGU6ICAgVGh1IFNlcCA4IDE2OjI5OjAxIDIwMTEgKzAyMDAKLQot ICAgIEZpeCBmcmVlIHNwYWNlIGNoZWNraW5nCi0KLSAgICBUaGUgZ19zZXR0aW5nc19kdW1wX2xv Y2F0aW9uIHdhcyBmcmVlZCBiZWZvcmUgaXQgd2FzIHBhc3NlZCB0byB0aGUgZnJlZQotICAgIHNw YWNlIGNoZWNrLCB0aHVzIHByZXZlbnRpbmcgaXQgZnJvbSB3b3JraW5nLgotCi1kaWZmIC0tZ2l0 IGEvc3JjL2RhZW1vbi9hYnJ0LXNlcnZlci5jIGIvc3JjL2RhZW1vbi9hYnJ0LXNlcnZlci5jCi1p bmRleCA5ODM3MDZlLi4zMzBmODVmIDEwMDY0NAotLS0tIGEvc3JjL2RhZW1vbi9hYnJ0LXNlcnZl ci5jCi0rKysgYi9zcmMvZGFlbW9uL2FicnQtc2VydmVyLmMKLUBAIC0xNDMsNyArMTQzLDYgQEAg c3RhdGljIGludCBjcmVhdGVfZGVidWdfZHVtcCgpCi0KLSAgICAgLyogVHJpbSBvbGQgY3Jhc2gg ZHVtcHMgaWYgbmVjZXNzYXJ5ICovCi0gICAgIGxvYWRfYWJydF9jb25mKCk7Ci0tICAgIGZyZWVf YWJydF9jb25mX2RhdGEoKTsgLyogY2FuIGRvIHRoaXMgYmVjYXVzZSB3ZSBuZWVkIG9ubHkgZ19z ZXR0aW5nc19uTWF4Q3Jhc2hSZXBvcnRzU2l6ZSAqLwotICAgICBpZiAoZ19zZXR0aW5nc19uTWF4 Q3Jhc2hSZXBvcnRzU2l6ZSA+IDApCi0gICAgIHsKLSAgICAgICAgIC8qIHgxLjI1IGFuZCByb3Vu ZCB1cCB0byA2NG06IGdvIGEgYml0IHVwLCBzbyB0aGF0IHVzdWFsIGluLWRhZW1vbiB0cmltbWlu ZwotQEAgLTE1NCw2ICsxNTMsNyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9kZWJ1Z19kdW1wKCkKLSAg ICAgICAgIGNoZWNrX2ZyZWVfc3BhY2UobWF4c2l6ZSk7Ci0gICAgICAgICB0cmltX2RlYnVnX2R1 bXBzKERFQlVHX0RVTVBTX0RJUiwgbWF4c2l6ZSAqIChkb3VibGUpKDEwMjQqMTAyNCksIHBhdGgp OwotICAgICB9Ci0rICAgIGZyZWVfYWJydF9jb25mX2RhdGEoKTsKLQotICAgICBmcmVlKHBhdGgp OwotCgpkaWZmIC0tZ2l0IGEvbnVsbF9kZXJlZi5wYXRjaCBiL251bGxfZGVyZWYucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmN2RmNWYuLjAwMDAwMDAKLS0tIGEvbnVsbF9k ZXJlZi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLWNvbW1pdCBkMjU3MmE5 OGY0MWRmOTY1MzRmNDEwNjJiMDAyMGVlNmExMDA0N2VhCi1BdXRob3I6IE1hcnRpbiBNaWxhdGEg PG1taWxhdGFAcmVkaGF0LmNvbT4KLURhdGU6ICAgVHVlIEp1bCAyNiAxNjo0OToyOCAyMDExICsw MjAwCi0KLSAgICBhLWEtc2F2ZS1wYWNrYWdlLWRhdGE6IEZpeCBOVUxMIGRlcmVmZXJlbmNlCi0g ICAgCi0gICAgRml4ZXMgIzMyNC4KLQotZGlmZiAtLWdpdCBhL3NyYy9kYWVtb24vYWJydC1hY3Rp b24tc2F2ZS1wYWNrYWdlLWRhdGEuYyBiL3NyYy9kYWVtb24vYWJydC1hY3Rpb24tc2F2ZS1wYWNr YWdlLWRhdGEuYwotaW5kZXggZDM3YTA1ZC4uZGRjZjRhYyAxMDA2NDQKLS0tLSBhL3NyYy9kYWVt b24vYWJydC1hY3Rpb24tc2F2ZS1wYWNrYWdlLWRhdGEuYwotKysrIGIvc3JjL2RhZW1vbi9hYnJ0 LWFjdGlvbi1zYXZlLXBhY2thZ2UtZGF0YS5jCi1AQCAtMTYwLDcgKzE2MCw3IEBAIHN0YXRpYyBj aGFyICpnZXRfYXJndjFfaWZfZnVsbF9wYXRoKGNvbnN0IGNoYXIqIGNtZGxpbmUpCi0gICAgICAq IHdpdGggJy8nLCBpdCBpcyBub3QgYSBmdWxsIHBhdGggdG8gc2NyaXB0Ci0gICAgICAqIGFuZCB3 ZSBjYW4ndCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHRoZSBwYWNrYWdlIG5hbWUKLSAgICAgICovCi0t ICAgIGlmICgqYXJndjEgIT0gJy8nKQotKyAgICBpZiAoYXJndjEgPT0gTlVMTCB8fCAqYXJndjEg IT0gJy8nKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi0gICAgIC8qIGdvb2QsIGl0IGhhcyAi L2Zvby9iYXIiIGZvcm0sIHJldHVybiBpdCAqLwo=