From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4C8C16E06F for ; Thu, 15 Nov 2018 08:39:31 +0000 (UTC) From: Petri Latvala Date: Thu, 15 Nov 2018 10:39:22 +0200 Message-Id: <20181115083922.23099-1-petri.latvala@intel.com> Subject: [igt-dev] [PATCH i-g-t v7] runner: Implement --abort-on-monitored-error List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Petri Latvala , Martin Peres , Tomi Sarvela List-ID: RGV2aWF0aW5nIGEgYml0IGZyb20gdGhlIHBpZ2xpdCBjb21tYW5kIGxpbmUgZmxhZywgaWd0X3J1 bm5lciB0YWtlcyBhbgpvcHRpb25hbCBjb21tYS1zZXBhcmF0ZWQgbGlzdCBhcyBhbiBhcmd1bWVu dCB0bwotLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvciBmb3IgdGhlIGxpc3Qgb2YgY29uZGl0aW9u cyB0byBhYm9ydApvbi4gV2l0aG91dCBhIGxpc3QgYWxsIHBvc3NpYmxlIGNvbmRpdGlvbnMgd2ls bCBiZSBjaGVja2VkLgoKVHdvIGNvbmRpdGlvbnMgaW1wbGVtZW50ZWQ6CiAtICJ0YWludCIgY2hl Y2tzIHRoZSBrZXJuZWwgdGFpbnQgbGV2ZWwgZm9yIFRBSU5UX1BBR0UsIFRBSU5UX0RJRSBhbmQK IFRBSU5UX09PUFMKIC0gImxvY2tkZXAiIGNoZWNrcyB0aGUga2VybmVsIGxvY2tkZXAgc3RhdHVz CgpDaGVja2luZyBpcyBkb25lIGFmdGVyIGV2ZXJ5IHRlc3QgYmluYXJ5IGV4ZWN1dGlvbiwgYW5k IGlmIGFuIGFib3J0CmNvbmRpdGlvbiBpcyBtZXQsIHRoZSByZWFzb24gaXMgcHJpbnRlZCB0byBz dGRlcnIgKHVubGVzcyBsb2cgbGV2ZWwgaXMKcXVpZXQpIGFuZCB0aGUgcnVubmVyIGRvZXNuJ3Qg ZXhlY3V0ZSBhbnkgZnVydGhlciB0ZXN0cy4gQWJvcnRpbmcKYmV0d2VlbiBzdWJ0ZXN0cyAod2hl biBydW5uaW5nIGluIC0tbXVsdGlwbGUtbW9kZSkgaXMgbm90IGRvbmUuCgp2MjoKIC0gUmVtZW1i ZXIgdG8gZmNsb3NlCiAtIFRhaW50cyBhcmUgdW5zaWduZWQgbG9uZyAoQ2hyaXMpCiAtIFVzZSBn ZXRsaW5lIGluc3RlYWQgb2YgZmdldHMgKENocmlzKQp2MzoKIC0gRml4IGJyYWluZmFydCB3aXRo IGxvY2tkZXAKdjQ6CiAtIFJlYmFzZQogLSBSZWZhY3RvciB0aGUgYWJvcnQgY29uZGl0aW9uIGNo ZWNraW5nIHRvIHBhc3MgZG93biBzdHJpbmdzCiAtIFByZXNlbnQgdGhlIGFib3J0IHJlc3VsdCBp biByZXN1bHRzLmpzb24gYXMgYSBwc2V1ZG8gdGVzdCByZXN1bHQKIC0gVW5pdCB0ZXN0cyBmb3Ig dGhlIHBzZXVkbyByZXN1bHQKdjU6CiAtIFJlZmFjdG9ycyAoQ2hyaXMpCiAtIERvbid0IGNsYWlt IGxvY2tkZXAgd2FzIHRyaWdnZXJlZCBpZiBkZWJ1Z19sb2NrcyBpcyBub3Qgb24KICAgYW55bW9y ZS4gSnVzdCBzYXkgaXQncyBub3QgYWN0aXZlLgogLSBEdW1wIGxvY2tkZXBfc3RhdHMgd2hlbiBh Ym9ydGluZyBkdWUgdG8gbG9ja2RlcCAoQ2hyaXMpCiAtIFVzZSBpZ3RAcnVubmVyQGFib3J0ZWQg aW5zdGVhZCBmb3IgdGhlIHBzZXVkbyByZXN1bHQgKE1hcnRpbikKdjY6CiAtIElmIGFib3J0aW5n IGFmdGVyIGEgdGVzdCwgZ2VuZXJhdGUgcmVzdWx0cy5qc29uLiBMaWtlIHdhcyBhbHJlYWR5CiAg IGRvbmUgZm9yIGFib3J0aW5nIGF0IHN0YXJ0dXAuCiAtIFByaW50IHRoZSB0ZXN0IHRoYXQgd291 bGQgYmUgZXhlY3V0ZWQgbmV4dCBhcyB3ZWxsIHdoZW4gYWJvcnRpbmcsCiAgIGFzIHJlcXVlc3Rl ZCBieSBUb21pLgp2NzoKIC0gUmVtb3ZlIHRoZSByZXNvbHZlZCBUT0RPIGl0ZW0gZnJvbSBjb21t aXQgbWVzc2FnZQoKU2lnbmVkLW9mZi1ieTogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBp bnRlbC5jb20+CkNjOiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVzei5oaWxlckBpbnRlbC5jb20+ CkNjOiBUb21pIFNhcnZlbGEgPHRvbWkucC5zYXJ2ZWxhQGludGVsLmNvbT4KQ2M6IE1hcnRpbiBQ ZXJlcyA8bWFydGluLnBlcmVzQGxpbnV4LmludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KUmV2aWV3ZWQtYnk6IEFya2FkaXVzeiBIaWxlciA8YXJrYWRpdXN6LmhpbGVyQGlu dGVsLmNvbT4KLS0tCiBydW5uZXIvZXhlY3V0b3IuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAyMDAgKysrKysrKysrKysrKysrKy0tCiBydW5uZXIvZXhlY3V0b3IuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZG1l c2cudHh0ICAgICAgICAgIHwgICA1ICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2Vyci50 eHQgICAgICAgICAgICB8ICAgMiArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9qb3VybmFs LnR4dCAgICAgICAgfCAgIDIgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dCAg ICAgICAgICAgIHwgICAzICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0ICAg ICAgICAgICB8ICAgMSArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvYWJvcnRlZC50eHQgICAg ICAgICAgfCAgIDMgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2VuZHRpbWUudHh0ICAgICAg ICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9qb2JsaXN0LnR4dCAgICAgICAg ICB8ICAgNSArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0ICAgICAgICAg fCAgMTIgKysKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9yZWZlcmVuY2UuanNvbiAgICAgICB8 ICA5MCArKysrKysrKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3N0YXJ0dGltZS50eHQgICAg ICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC91bmFtZS50eHQgICAgICAgICAg ICB8ICAgMSArCiAuLi4vYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQgICAgICAgICAgICAgICAg fCAgIDEgKwogLi4uL2Fib3J0ZWQtb24tYm9vdC9hYm9ydGVkLnR4dCAgICAgICAgICAgICAgIHwg ICAzICsKIC4uLi9hYm9ydGVkLW9uLWJvb3QvZW5kdGltZS50eHQgICAgICAgICAgICAgICB8ICAg MSArCiAuLi4vYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0ICAgICAgICAgICAgICAgfCAgIDUg KwogLi4uL2Fib3J0ZWQtb24tYm9vdC9tZXRhZGF0YS50eHQgICAgICAgICAgICAgIHwgIDEyICsr CiAuLi4vYWJvcnRlZC1vbi1ib290L3JlZmVyZW5jZS5qc29uICAgICAgICAgICAgfCAgNTkgKysr KysrCiAuLi4vYWJvcnRlZC1vbi1ib290L3N0YXJ0dGltZS50eHQgICAgICAgICAgICAgfCAgIDEg KwogLi4uL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0IHwgICAxICsK IC4uLi9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dCAgICAgICAgICAgICAgICB8ICAgMiArLQog Li4uL21ldGFkYXRhLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiAu Li4vanNvbl90ZXN0c19kYXRhL25vcm1hbC1ydW4vbWV0YWRhdGEudHh0ICAgfCAgIDIgKy0KIC4u Li9waWdsaXQtc3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0ICAgICAgICAgICB8ICAgMiArLQogLi4u L3dhcm5pbmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEudHh0ICAgIHwgICAyICstCiBydW5u ZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4dCAgfCAgIDIgKy0KIHJ1bm5l ci9yZXN1bHRnZW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0OCArKysrLQogcnVu bmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHJ1bm5l ci9ydW5uZXJfdGVzdHMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0OSArKysrLQogcnVu bmVyL3NldHRpbmdzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDc5ICsrKysrKy0K IHJ1bm5lci9zZXR0aW5ncy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQog MzMgZmlsZXMgY2hhbmdlZCwgNTY3IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvMC9kbWVzZy50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvMC9vdXQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9hYm9ydGVkLnR4dAogY3JlYXRl IG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv ZW5kdGltZS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fi b3J0ZWQtYWZ0ZXItYS10ZXN0L2pvYmxpc3QudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9tZXRhZGF0YS50eHQKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 L3JlZmVyZW5jZS5qc29uCiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFydHRpbWUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC91bmFtZS50eHQKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9S RUFETUUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9y dGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90 ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9lbmR0aW1lLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0CiBjcmVh dGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0 YWRhdGEudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9y dGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24KIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9zdGFydHRpbWUudHh0CiBjcmVhdGUgbW9kZSAx MDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0Cgpk aWZmIC0tZ2l0IGEvcnVubmVyL2V4ZWN1dG9yLmMgYi9ydW5uZXIvZXhlY3V0b3IuYwppbmRleCAw MDdiNzJjZS4uMDg5ZTYzMTIgMTAwNjQ0Ci0tLSBhL3J1bm5lci9leGVjdXRvci5jCisrKyBiL3J1 bm5lci9leGVjdXRvci5jCkBAIC0xMDgsNiArMTA4LDkxIEBAIHN0YXRpYyB2b2lkIHBpbmdfd2F0 Y2hkb2dzKHZvaWQpCiAJfQogfQogCitzdGF0aWMgY2hhciAqaGFuZGxlX2xvY2tkZXAodm9pZCkK K3sKKwljb25zdCBjaGFyICpoZWFkZXIgPSAiTG9ja2RlcCBub3QgYWN0aXZlXG5cbi9wcm9jL2xv Y2tkZXBfc3RhdHMgY29udGVudHM6XG4iOworCWludCBmZCA9IG9wZW4oIi9wcm9jL2xvY2tkZXBf c3RhdHMiLCBPX1JET05MWSk7CisJY29uc3QgY2hhciAqZGVidWdfbG9ja3NfbGluZSA9ICIgZGVi dWdfbG9ja3M6IjsKKwljaGFyIGJ1Zls0MDk2XSwgKnA7CisJc3NpemVfdCBidWZzaXplID0gMDsK KwlpbnQgdmFsOworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlzdHJjcHkoYnVm LCBoZWFkZXIpOworCisJaWYgKChidWZzaXplID0gcmVhZChmZCwgYnVmICsgc3RybGVuKGhlYWRl ciksIHNpemVvZihidWYpIC0gc3RybGVuKGhlYWRlcikgLSAxKSkgPCAwKQorCQlyZXR1cm4gTlVM TDsKKwlidWZzaXplICs9IHN0cmxlbihoZWFkZXIpOworCWJ1ZltidWZzaXplXSA9ICdcMCc7CisJ Y2xvc2UoZmQpOworCisJaWYgKChwID0gc3Ryc3RyKGJ1ZiwgZGVidWdfbG9ja3NfbGluZSkpICE9 IE5VTEwgJiYKKwkgICAgc3NjYW5mKHAgKyBzdHJsZW4oZGVidWdfbG9ja3NfbGluZSksICIlZCIs ICZ2YWwpID09IDEgJiYKKwkgICAgdmFsICE9IDEpIHsKKwkJcmV0dXJuIHN0cmR1cChidWYpOwor CX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqaGFuZGxlX3RhaW50KHZvaWQp Cit7CisJY29uc3QgdW5zaWduZWQgbG9uZyBiYWRfdGFpbnRzID0KKwkJMHgyMCAgfCAvKiBUQUlO VF9QQUdFICovCisJCTB4ODAgIHwgLyogVEFJTlRfRElFICovCisJCTB4MjAwOyAvKiBUQUlOVF9P T1BTICovCisJdW5zaWduZWQgbG9uZyB0YWludHMgPSAwOworCWNoYXIgKnJlYXNvbiA9IE5VTEw7 CisJRklMRSAqZjsKKworCWYgPSBmb3BlbigiL3Byb2Mvc3lzL2tlcm5lbC90YWludGVkIiwgInIi KTsKKwlpZiAoZikgeworCQlmc2NhbmYoZiwgIiVsdSIsICZ0YWludHMpOworCQlmY2xvc2UoZik7 CisJfQorCisJaWYgKHRhaW50cyAmIGJhZF90YWludHMpCisJCWFzcHJpbnRmKCZyZWFzb24sCisJ CQkgIktlcm5lbCB0YWludGVkICglI2x4IC0tICVseCkiLAorCQkJIHRhaW50cywgdGFpbnRzICYg YmFkX3RhaW50cyk7CisKKwlyZXR1cm4gcmVhc29uOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IHsKKwlpbnQgY29uZGl0aW9uOworCWNoYXIgKigqaGFuZGxlcikodm9pZCk7Cit9IGFib3J0X2hh bmRsZXJzW10gPSB7CisJeyBBQk9SVF9MT0NLREVQLCBoYW5kbGVfbG9ja2RlcCB9LAorCXsgQUJP UlRfVEFJTlQsIGhhbmRsZV90YWludCB9LAorCXsgMCwgMCB9LAorfTsKKworc3RhdGljIGNoYXIg Km5lZWRfdG9fYWJvcnQoY29uc3Qgc3RydWN0IHNldHRpbmdzKiBzZXR0aW5ncykKK3sKKwl0eXBl b2YoKmFib3J0X2hhbmRsZXJzKSAqaXQ7CisKKwlmb3IgKGl0ID0gYWJvcnRfaGFuZGxlcnM7IGl0 LT5jb25kaXRpb247IGl0KyspIHsKKwkJY2hhciAqYWJvcnQ7CisKKwkJaWYgKCEoc2V0dGluZ3Mt PmFib3J0X21hc2sgJiBpdC0+Y29uZGl0aW9uKSkKKwkJCWNvbnRpbnVlOworCisJCWFib3J0ID0g aXQtPmhhbmRsZXIoKTsKKwkJaWYgKCFhYm9ydCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChzZXR0 aW5ncy0+bG9nX2xldmVsID49IExPR19MRVZFTF9OT1JNQUwpCisJCQlmcHJpbnRmKHN0ZGVyciwg IkFib3J0aW5nOiAlc1xuIiwgYWJvcnQpOworCisJCXJldHVybiBhYm9ydDsKKwl9CisKKwlyZXR1 cm4gTlVMTDsKK30KKwogc3RhdGljIHZvaWQgcHJ1bmVfc3VidGVzdChzdHJ1Y3Qgam9iX2xpc3Rf ZW50cnkgKmVudHJ5LCBjaGFyICpzdWJ0ZXN0KQogewogCWNoYXIgKmV4Y2w7CkBAIC03MTQsNiAr Nzk5LDM3IEBAIHN0YXRpYyB2b2lkIHByaW50X3RpbWVfbGVmdChzdHJ1Y3QgZXhlY3V0ZV9zdGF0 ZSAqc3RhdGUsCiAJcHJpbnRmKCIoJSouMGZzIGxlZnQpICIsIHdpZHRoLCBzdGF0ZS0+dGltZV9s ZWZ0KTsKIH0KIAorc3RhdGljIGNoYXIgKmVudHJ5X2Rpc3BsYXlfbmFtZShzdHJ1Y3Qgam9iX2xp c3RfZW50cnkgKmVudHJ5KQoreworCXNpemVfdCBzaXplID0gc3RybGVuKGVudHJ5LT5iaW5hcnkp ICsgMTsKKwljaGFyICpyZXQgPSBtYWxsb2Moc2l6ZSk7CisKKwlzcHJpbnRmKHJldCwgIiVzIiwg ZW50cnktPmJpbmFyeSk7CisKKwlpZiAoZW50cnktPnN1YnRlc3RfY291bnQgPiAwKSB7CisJCXNp emVfdCBpOworCQljb25zdCBjaGFyICpkZWxpbSA9ICIiOworCisJCXNpemUgKz0gMzsgLyogc3Ry bGVuKCIgKCIpICsgc3RybGVuKCIpIikgKi8KKwkJcmV0ID0gcmVhbGxvYyhyZXQsIHNpemUpOwor CQlzdHJjYXQocmV0LCAiICgiKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgZW50cnktPnN1YnRlc3Rf Y291bnQ7IGkrKykgeworCQkJc2l6ZSArPSBzdHJsZW4oZGVsaW0pICsgc3RybGVuKGVudHJ5LT5z dWJ0ZXN0c1tpXSk7CisJCQlyZXQgPSByZWFsbG9jKHJldCwgc2l6ZSk7CisKKwkJCXN0cmNhdChy ZXQsIGRlbGltKTsKKwkJCXN0cmNhdChyZXQsIGVudHJ5LT5zdWJ0ZXN0c1tpXSk7CisKKwkJCWRl bGltID0gIiwgIjsKKwkJfQorCQkvKiBUaGVyZSdzIGFscmVhZHkgcm9vbSBmb3IgdGhpcyAqLwor CQlzdHJjYXQocmV0LCAiKSIpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKIC8qCiAgKiBSZXR1 cm5zOgogICogID0wIC0gU3VjY2VzcwpAQCAtNzk3LDI0ICs5MTMsMTUgQEAgc3RhdGljIGludCBl eGVjdXRlX25leHRfZW50cnkoc3RydWN0IGV4ZWN1dGVfc3RhdGUgKnN0YXRlLAogCX0KIAogCWlm IChzZXR0aW5ncy0+bG9nX2xldmVsID49IExPR19MRVZFTF9OT1JNQUwpIHsKKwkJY2hhciAqZGlz cGxheW5hbWU7CiAJCWludCB3aWR0aCA9IGRpZ2l0cyh0b3RhbCk7CiAJCXByaW50ZigiWyUwKnpk LyUwKnpkXSAiLCB3aWR0aCwgaWR4ICsgMSwgd2lkdGgsIHRvdGFsKTsKIAogCQlwcmludF90aW1l X2xlZnQoc3RhdGUsIHNldHRpbmdzKTsKIAotCQlwcmludGYoIiVzIiwgZW50cnktPmJpbmFyeSk7 Ci0KLQkJaWYgKGVudHJ5LT5zdWJ0ZXN0X2NvdW50ID4gMCkgewotCQkJc2l6ZV90IGk7Ci0JCQlj b25zdCBjaGFyICpkZWxpbSA9ICIiOwotCi0JCQlwcmludGYoIiAoIik7Ci0JCQlmb3IgKGkgPSAw OyBpIDwgZW50cnktPnN1YnRlc3RfY291bnQ7IGkrKykgewotCQkJCXByaW50ZigiJXMlcyIsIGRl bGltLCBlbnRyeS0+c3VidGVzdHNbaV0pOwotCQkJCWRlbGltID0gIiwgIjsKLQkJCX0KLQkJCXBy aW50ZigiKSIpOwotCQl9CisJCWRpc3BsYXluYW1lID0gZW50cnlfZGlzcGxheV9uYW1lKGVudHJ5 KTsKKwkJcHJpbnRmKCIlcyIsIGRpc3BsYXluYW1lKTsKKwkJZnJlZShkaXNwbGF5bmFtZSk7CiAK IAkJcHJpbnRmKCJcbiIpOwogCX0KQEAgLTg5Niw3ICsxMDAzLDggQEAgc3RhdGljIGJvb2wgY2xl YXJfb2xkX3Jlc3VsdHMoY2hhciAqcGF0aCkKIAogCWlmIChyZW1vdmVfZmlsZShkaXJmZCwgInVu YW1lLnR4dCIpIHx8CiAJICAgIHJlbW92ZV9maWxlKGRpcmZkLCAic3RhcnR0aW1lLnR4dCIpIHx8 Ci0JICAgIHJlbW92ZV9maWxlKGRpcmZkLCAiZW5kdGltZS50eHQiKSkgeworCSAgICByZW1vdmVf ZmlsZShkaXJmZCwgImVuZHRpbWUudHh0IikgfHwKKwkgICAgcmVtb3ZlX2ZpbGUoZGlyZmQsICJh Ym9ydGVkLnR4dCIpKSB7CiAJCWNsb3NlKGRpcmZkKTsKIAkJZnByaW50ZihzdGRlcnIsICJFcnJv ciBjbGVhcmluZyBvbGQgcmVzdWx0czogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CiAJCXJldHVy biBmYWxzZTsKQEAgLTk1Nyw2ICsxMDY1LDcgQEAgYm9vbCBpbml0aWFsaXplX2V4ZWN1dGVfc3Rh dGVfZnJvbV9yZXN1bWUoaW50IGRpcmZkLAogCWZyZWVfc2V0dGluZ3Moc2V0dGluZ3MpOwogCWZy ZWVfam9iX2xpc3QobGlzdCk7CiAJbWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7CisJ c3RhdGUtPnJlc3VtaW5nID0gdHJ1ZTsKIAogCWlmICghcmVhZF9zZXR0aW5ncyhzZXR0aW5ncywg ZGlyZmQpIHx8CiAJICAgICFyZWFkX2pvYl9saXN0KGxpc3QsIGRpcmZkKSkgewpAQCAtMTA0NCw2 ICsxMTUzLDI3IEBAIHN0YXRpYyBib29sIG92ZXJhbGxfdGltZW91dF9leGNlZWRlZChzdHJ1Y3Qg ZXhlY3V0ZV9zdGF0ZSAqc3RhdGUpCiAJcmV0dXJuIHN0YXRlLT50aW1lX2xlZnQgPT0gMC4wOwog fQogCitzdGF0aWMgdm9pZCB3cml0ZV9hYm9ydF9maWxlKGludCByZXNkaXJmZCwKKwkJCSAgICAg Y29uc3QgY2hhciAqcmVhc29uLAorCQkJICAgICBjb25zdCBjaGFyICp0ZXN0YmVmb3JlLAorCQkJ ICAgICBjb25zdCBjaGFyICp0ZXN0YWZ0ZXIpCit7CisJaW50IGFib3J0ZmQ7CisKKwlpZiAoKGFi b3J0ZmQgPSBvcGVuYXQocmVzZGlyZmQsICJhYm9ydGVkLnR4dCIsIE9fQ1JFQVQgfCBPX1dST05M WSB8IE9fRVhDTCwgMDY2NikpID49IDApIHsKKwkJLyoKKwkJICogSWdub3JlIGZhaWx1cmUgdG8g b3BlbiwgdGhlcmUncworCQkgKiBhbHJlYWR5IGFuIGFib3J0IHByb2JhYmx5IChpZiB0aGlzCisJ CSAqIGlzIGEgcmVzdW1lKQorCQkgKi8KKwkJZHByaW50ZihhYm9ydGZkLCAiQWJvcnRpbmcuXG4i KTsKKwkJZHByaW50ZihhYm9ydGZkLCAiUHJldmlvdXMgdGVzdDogJXNcbiIsIHRlc3RiZWZvcmUp OworCQlkcHJpbnRmKGFib3J0ZmQsICJOZXh0IHRlc3Q6ICVzXG5cbiIsIHRlc3RhZnRlcik7CisJ CXdyaXRlKGFib3J0ZmQsIHJlYXNvbiwgc3RybGVuKHJlYXNvbikpOworCQljbG9zZShhYm9ydGZk KTsKKwl9Cit9CisKIGJvb2wgZXhlY3V0ZShzdHJ1Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUsCiAJ ICAgICBzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzLAogCSAgICAgc3RydWN0IGpvYl9saXN0ICpq b2JfbGlzdCkKQEAgLTExMDAsMTQgKzEyMzAsMzEgQEAgYm9vbCBleGVjdXRlKHN0cnVjdCBleGVj dXRlX3N0YXRlICpzdGF0ZSwKIAl9CiAJY2xvc2UodW5hbWVmZCk7CiAKKwkvKiBDaGVjayBpZiB3 ZSdyZSBhbHJlYWR5IGluIGFib3J0LXN0YXRlIGF0IGJvb3R1cCAqLworCWlmICghc3RhdGUtPnJl c3VtaW5nKSB7CisJCWNoYXIgKnJlYXNvbjsKKworCQlpZiAoKHJlYXNvbiA9IG5lZWRfdG9fYWJv cnQoc2V0dGluZ3MpKSAhPSBOVUxMKSB7CisJCQljaGFyICpuZXh0dGVzdCA9IGVudHJ5X2Rpc3Bs YXlfbmFtZSgmam9iX2xpc3QtPmVudHJpZXNbc3RhdGUtPm5leHRdKTsKKwkJCXdyaXRlX2Fib3J0 X2ZpbGUocmVzZGlyZmQsIHJlYXNvbiwgIm5vdGhpbmciLCBuZXh0dGVzdCk7CisJCQlmcmVlKHJl YXNvbik7CisJCQlmcmVlKG5leHR0ZXN0KTsKKworCQkJZ290byBlbmQ7CisJCX0KKwl9CisKIAlm b3IgKDsgc3RhdGUtPm5leHQgPCBqb2JfbGlzdC0+c2l6ZTsKIAkgICAgIHN0YXRlLT5uZXh0Kysp IHsKLQkJaW50IHJlc3VsdCA9IGV4ZWN1dGVfbmV4dF9lbnRyeShzdGF0ZSwKLQkJCQkJCWpvYl9s aXN0LT5zaXplLAotCQkJCQkJJnRpbWVfc3BlbnQsCi0JCQkJCQlzZXR0aW5ncywKLQkJCQkJCSZq b2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4dF0sCi0JCQkJCQl0ZXN0ZGlyZmQsIHJlc2RpcmZk KTsKKwkJY2hhciAqcmVhc29uOworCQlpbnQgcmVzdWx0OworCisJCXJlc3VsdCA9IGV4ZWN1dGVf bmV4dF9lbnRyeShzdGF0ZSwKKwkJCQkJICAgIGpvYl9saXN0LT5zaXplLAorCQkJCQkgICAgJnRp bWVfc3BlbnQsCisJCQkJCSAgICBzZXR0aW5ncywKKwkJCQkJICAgICZqb2JfbGlzdC0+ZW50cmll c1tzdGF0ZS0+bmV4dF0sCisJCQkJCSAgICB0ZXN0ZGlyZmQsIHJlc2RpcmZkKTsKIAogCQlpZiAo cmVzdWx0IDwgMCkgewogCQkJc3RhdHVzID0gZmFsc2U7CkBAIC0xMTI0LDYgKzEyNzEsMTggQEAg Ym9vbCBleGVjdXRlKHN0cnVjdCBleGVjdXRlX3N0YXRlICpzdGF0ZSwKIAkJCWJyZWFrOwogCQl9 CiAKKwkJaWYgKChyZWFzb24gPSBuZWVkX3RvX2Fib3J0KHNldHRpbmdzKSkgIT0gTlVMTCkgewor CQkJY2hhciAqcHJldiA9IGVudHJ5X2Rpc3BsYXlfbmFtZSgmam9iX2xpc3QtPmVudHJpZXNbc3Rh dGUtPm5leHRdKTsKKwkJCWNoYXIgKm5leHQgPSAoc3RhdGUtPm5leHQgKyAxIDwgam9iX2xpc3Qt PnNpemUgPworCQkJCSAgICAgIGVudHJ5X2Rpc3BsYXlfbmFtZSgmam9iX2xpc3QtPmVudHJpZXNb c3RhdGUtPm5leHQgKyAxXSkgOgorCQkJCSAgICAgIHN0cmR1cCgibm90aGluZyIpKTsKKwkJCXdy aXRlX2Fib3J0X2ZpbGUocmVzZGlyZmQsIHJlYXNvbiwgcHJldiwgbmV4dCk7CisJCQlmcmVlKHBy ZXYpOworCQkJZnJlZShuZXh0KTsKKwkJCWZyZWUocmVhc29uKTsKKwkJCWJyZWFrOworCQl9CisK IAkJaWYgKHJlc3VsdCA+IDApIHsKIAkJCWRvdWJsZSB0aW1lX2xlZnQgPSBzdGF0ZS0+dGltZV9s ZWZ0OwogCkBAIC0xMTQwLDYgKzEyOTksNyBAQCBib29sIGV4ZWN1dGUoc3RydWN0IGV4ZWN1dGVf c3RhdGUgKnN0YXRlLAogCQljbG9zZSh0aW1lZmQpOwogCX0KIAorIGVuZDoKIAljbG9zZSh0ZXN0 ZGlyZmQpOwogCWNsb3NlKHJlc2RpcmZkKTsKIAljbG9zZV93YXRjaGRvZ3Moc2V0dGluZ3MpOwpk aWZmIC0tZ2l0IGEvcnVubmVyL2V4ZWN1dG9yLmggYi9ydW5uZXIvZXhlY3V0b3IuaAppbmRleCAy NTIzMzlhYi4uMTI4ODNmMTUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9leGVjdXRvci5oCisrKyBiL3J1 bm5lci9leGVjdXRvci5oCkBAIC0xMyw2ICsxMyw3IEBAIHN0cnVjdCBleGVjdXRlX3N0YXRlCiAJ ICogPiAwIDogVGltZW91dCBpbiB1c2UsIHRpbWUgbGVmdC4KIAkgKi8KIAlkb3VibGUgdGltZV9s ZWZ0OworCWRvdWJsZSByZXN1bWluZzsKIH07CiAKIGVudW0gewpkaWZmIC0tZ2l0IGEvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2RtZXNnLnR4dCBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9kbWVzZy50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmExODllNzA0Ci0tLSAvZGV2L251bGwKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2RtZXNnLnR4 dApAQCAtMCwwICsxLDUgQEAKKzYsOTUxLDMyMTYxODYwOTUwODMsLTtDb25zb2xlOiBzd2l0Y2hp bmcgdG8gY29sb3VyIGR1bW15IGRldmljZSA4MHgyNQorMTQsOTUyLDMyMTYxODYwOTUwOTcsLTtb SUdUXSBzdWNjZXNzdGVzdDogZXhlY3V0aW5nCisxNCw5NTMsMzIxNjE4NjEwMTExNSwtO1tJR1Rd IHN1Y2Nlc3N0ZXN0OiBzdGFydGluZyBzdWJ0ZXN0IGZpcnN0LXN1YnRlc3QKKzE0LDk1NCwzMjE2 MTg2MTAxMTYwLC07W0lHVF0gc3VjY2Vzc3Rlc3Q6IGV4aXRpbmcsIHJldD0wCis2LDk1NSwzMjE2 MTg2MTAxMjk5LC07Q29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91ciBmcmFtZSBidWZmZXIgZGV2 aWNlIDI0MHg3NQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFm dGVyLWEtdGVzdC8wL2Vyci50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0LzAvZXJyLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4u NWRjNzgwNTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0 ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dApAQCAtMCwwICsxLDIgQEAKK1N0YXJ0aW5nIHN1YnRl c3Q6IGZpcnN0LXN1YnRlc3QKK1N1YnRlc3QgZmlyc3Qtc3VidGVzdDogU1VDQ0VTUyAoMC4wMDBz KQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC8wL2pvdXJuYWwudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEt dGVzdC8wL2pvdXJuYWwudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi44 NmEzMGUwNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRl ZC1hZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dApAQCAtMCwwICsxLDIgQEAKK2ZpcnN0LXN1YnRl c3QKK2V4aXQ6MCAoMC4wMTRzKQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9h Ym9ydGVkLWFmdGVyLWEtdGVzdC8wL291dC50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fi b3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMC4uNTk0NmJmMzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dApAQCAtMCwwICsxLDMgQEAKK0lHVC1W ZXJzaW9uOiAxLjIzLWcwYzc2M2JmZCAoeDg2XzY0KSAoTGludXg6IDQuMTguMC0xLWFtZDY0IHg4 Nl82NCkKK1N0YXJ0aW5nIHN1YnRlc3Q6IGZpcnN0LXN1YnRlc3QKK1N1YnRlc3QgZmlyc3Qtc3Vi dGVzdDogU1VDQ0VTUyAoMC4wMDBzKQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwLi4xYWQ4OTA1MwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvUkVBRE1FLnR4dApAQCAtMCwwICsxIEBACitB IHJ1biB0aGF0IGFib3J0ZWQgYWZ0ZXIgcnVubmluZyB0aGUgZmlyc3QgdGVzdC4KZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvYWJvcnRlZC50 eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2Fib3J0ZWQu dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4zYzhmMjcwNwotLS0gL2Rl di9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qv YWJvcnRlZC50eHQKQEAgLTAsMCArMSwzIEBACitBYm9ydGVkIGFmdGVyOiBzdWNjZXNzdGVzdCAo Zmlyc3Qtc3VidGVzdCkKKworS2VybmVsIHRhaW50ZWQgKDB4MjAwKQpkaWZmIC0tZ2l0IGEvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9lbmR0aW1lLnR4dCBiL3J1 bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvZW5kdGltZS50eHQKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYzNWY2YWU5Ci0tLSAvZGV2L251bGwK KysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9lbmR0aW1l LnR4dApAQCAtMCwwICsxIEBACisxNTM5OTUzNzM1LjE3MjM3MwpkaWZmIC0tZ2l0IGEvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9qb2JsaXN0LnR4dCBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qvam9ibGlzdC50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjMxZWY4NDEzCi0tLSAvZGV2L251bGwKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9qb2JsaXN0LnR4 dApAQCAtMCwwICsxLDUgQEAKK3N1Y2Nlc3N0ZXN0IGZpcnN0LXN1YnRlc3QKK3N1Y2Nlc3N0ZXN0 IHNlY29uZC1zdWJ0ZXN0Cituby1zdWJ0ZXN0cworc2tpcHBlcnMgc2tpcC1vbmUKK3NraXBwZXJz IHNraXAtdHdvCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1h ZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwLi43ODUwNzZlOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0CkBAIC0wLDAgKzEsMTIgQEAKK2Fib3J0 X21hc2sgOiAzCituYW1lIDogbm9ybWFsLXJ1bgorZHJ5X3J1biA6IDAKK3N5bmMgOiAwCitsb2df bGV2ZWwgOiAwCitvdmVyd3JpdGUgOiAwCittdWx0aXBsZV9tb2RlIDogMAoraW5hY3Rpdml0eV90 aW1lb3V0IDogMAordXNlX3dhdGNoZG9nIDogMAorcGlnbGl0X3N0eWxlX2RtZXNnIDogMAordGVz dF9yb290IDogL3BhdGgvZG9lcy9ub3QvZXhpc3QKK3Jlc3VsdHNfcGF0aCA6IC9wYXRoL2RvZXMv bm90L2V4aXN0CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVk LWFmdGVyLWEtdGVzdC9yZWZlcmVuY2UuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMC4uMWUwOGRlY2EKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uCkBAIC0wLDAgKzEsOTAgQEAK K3sKKyAgIl9fdHlwZV9fIjoiVGVzdHJ1blJlc3VsdCIsCisgICJyZXN1bHRzX3ZlcnNpb24iOjks CisgICJuYW1lIjoibm9ybWFsLXJ1biIsCisgICJ1bmFtZSI6IkxpbnV4IGhvc3RuYW1lIDQuMTgu MC0xLWFtZDY0ICMxIFNNUCBEZWJpYW4gNC4xOC42LTEgKDIwMTgtMDktMDYpIHg4Nl82NCIsCisg ICJ0aW1lX2VsYXBzZWQiOnsKKyAgICAiX190eXBlX18iOiJUaW1lQXR0cmlidXRlIiwKKyAgICAi c3RhcnQiOjE1Mzk5NTM3MzUuMTExMDM4OSwKKyAgICAiZW5kIjoxNTM5OTUzNzM1LjE3MjM3MzEK KyAgfSwKKyAgInRlc3RzIjp7CisgICAgImlndEBzdWNjZXNzdGVzdEBmaXJzdC1zdWJ0ZXN0Ijp7 CisgICAgICAib3V0IjoiU3RhcnRpbmcgc3VidGVzdDogZmlyc3Qtc3VidGVzdFxuU3VidGVzdCBm aXJzdC1zdWJ0ZXN0OiBTVUNDRVNTICgwLjAwMHMpXG4iLAorICAgICAgImlndC12ZXJzaW9uIjoi SUdULVZlcnNpb246IDEuMjMtZzBjNzYzYmZkICh4ODZfNjQpIChMaW51eDogNC4xOC4wLTEtYW1k NjQgeDg2XzY0KSIsCisgICAgICAicmVzdWx0IjoicGFzcyIsCisgICAgICAidGltZSI6eworICAg ICAgICAiX190eXBlX18iOiJUaW1lQXR0cmlidXRlIiwKKyAgICAgICAgInN0YXJ0IjowLAorICAg ICAgICAiZW5kIjowCisgICAgICB9LAorICAgICAgImVyciI6IlN0YXJ0aW5nIHN1YnRlc3Q6IGZp cnN0LXN1YnRlc3RcblN1YnRlc3QgZmlyc3Qtc3VidGVzdDogU1VDQ0VTUyAoMC4wMDBzKVxuIiwK KyAgICAgICJkbWVzZyI6Ijw2PiBbMzIxNjE4Ni4wOTUwODNdIENvbnNvbGU6IHN3aXRjaGluZyB0 byBjb2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1XG48Nj4gWzMyMTYxODYuMDk1MDk3XSBbSUdUXSBz dWNjZXNzdGVzdDogZXhlY3V0aW5nXG48Nj4gWzMyMTYxODYuMTAxMTE1XSBbSUdUXSBzdWNjZXNz dGVzdDogc3RhcnRpbmcgc3VidGVzdCBmaXJzdC1zdWJ0ZXN0XG48Nj4gWzMyMTYxODYuMTAxMTYw XSBbSUdUXSBzdWNjZXNzdGVzdDogZXhpdGluZywgcmV0PTBcbjw2PiBbMzIxNjE4Ni4xMDEyOTld IENvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRldmljZSAyNDB4NzVc biIKKyAgICB9LAorICAgICJpZ3RAcnVubmVyQGFib3J0ZWQiOnsKKwkib3V0IjoiQWJvcnRlZCBh ZnRlcjogc3VjY2Vzc3Rlc3QgKGZpcnN0LXN1YnRlc3QpXG5cbktlcm5lbCB0YWludGVkICgweDIw MClcbiIsCisJInJlc3VsdCI6ImZhaWwiLAorCSJlcnIiOiIiLAorCSJkbWVzZyI6IiIsCisgICAg fQorICB9LAorICAidG90YWxzIjp7CisgICAgIiI6eworICAgICAgImNyYXNoIjowLAorICAgICAg InBhc3MiOjEsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjowLAor ICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0Ijow LAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAKKyAg ICB9LAorICAgICJyb290Ijp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MSwKKyAg ICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tpcCI6 MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAibm90 cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0sCisgICAgImln dEBzdWNjZXNzdGVzdCI6eworICAgICAgImNyYXNoIjowLAorICAgICAgInBhc3MiOjEsCisgICAg ICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjowLAorICAgICAgInNraXAiOjAs CisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0IjowLAorICAgICAgIm5vdHJ1 biI6MCwKKyAgICAgICJmYWlsIjowLAorICAgICAgIndhcm4iOjAKKyAgICB9LAorICAgICJpZ3RA cnVubmVyIjp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MCwKKyAgICAgICJkbWVz Zy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tpcCI6MCwKKyAgICAg ICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAibm90cnVuIjowLAor ICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0sCisgIH0sCisgICJydW50aW1l cyI6eworICAgICJpZ3RAc3VjY2Vzc3Rlc3QiOnsKKyAgICAgICJ0aW1lIjp7CisgICAgICAgICJf X3R5cGVfXyI6IlRpbWVBdHRyaWJ1dGUiLAorICAgICAgICAic3RhcnQiOjAsCisgICAgICAgICJl bmQiOjAuMDE0CisgICAgICB9CisgICAgfSwKKyAgfQorfQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFydHRpbWUudHh0IGIvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9zdGFydHRpbWUudHh0Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5hZTAzOGYxOAotLS0gL2Rldi9udWxsCisr KyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3Qvc3RhcnR0aW1l LnR4dApAQCAtMCwwICsxIEBACisxNTM5OTUzNzM1LjExMTAzOQpkaWZmIC0tZ2l0IGEvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC91bmFtZS50eHQgYi9ydW5uZXIv anNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3VuYW1lLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTdhZWY2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9y dW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3VuYW1lLnR4dApAQCAt MCwwICsxIEBACitMaW51eCBob3N0bmFtZSA0LjE4LjAtMS1hbWQ2NCAjMSBTTVAgRGViaWFuIDQu MTguNi0xICgyMDE4LTA5LTA2KSB4ODZfNjQKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3Rz X2RhdGEvYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi5lOTU3YzQwZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2Rh dGEvYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQKQEAgLTAsMCArMSBAQAorQSBydW4gdGhhdCBh Ym9ydGVkIGJlZm9yZSBydW5uaW5nIGFueSB0ZXN0cy4KZGlmZiAtLWdpdCBhL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2Fib3J0ZWQudHh0IGIvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAuLjRhMWMxYTMyCi0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25f dGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQKQEAgLTAsMCArMSwzIEBACitB Ym9ydGVkIGFmdGVyOiBzdGFydHVwCisKK0tlcm5lbCB0YWludGVkICgweDIwMCkKZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2VuZHRpbWUudHh0IGIv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvZW5kdGltZS50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYzNWY2YWU5Ci0tLSAvZGV2L251bGwKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvZW5kdGltZS50eHQKQEAg LTAsMCArMSBAQAorMTUzOTk1MzczNS4xNzIzNzMKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0IGIvcnVubmVyL2pzb25fdGVzdHNf ZGF0YS9hYm9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAuLjMxZWY4NDEzCi0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQKQEAgLTAsMCArMSw1IEBACitzdWNj ZXNzdGVzdCBmaXJzdC1zdWJ0ZXN0CitzdWNjZXNzdGVzdCBzZWNvbmQtc3VidGVzdAorbm8tc3Vi dGVzdHMKK3NraXBwZXJzIHNraXAtb25lCitza2lwcGVycyBza2lwLXR3bwpkaWZmIC0tZ2l0IGEv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0YWRhdGEudHh0IGIvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0YWRhdGEudHh0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43ODUwNzZlOQotLS0gL2Rldi9udWxsCisrKyBi L3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L21ldGFkYXRhLnR4dApAQCAt MCwwICsxLDEyIEBACithYm9ydF9tYXNrIDogMworbmFtZSA6IG5vcm1hbC1ydW4KK2RyeV9ydW4g OiAwCitzeW5jIDogMAorbG9nX2xldmVsIDogMAorb3ZlcndyaXRlIDogMAorbXVsdGlwbGVfbW9k ZSA6IDAKK2luYWN0aXZpdHlfdGltZW91dCA6IDAKK3VzZV93YXRjaGRvZyA6IDAKK3BpZ2xpdF9z dHlsZV9kbWVzZyA6IDAKK3Rlc3Rfcm9vdCA6IC9wYXRoL2RvZXMvbm90L2V4aXN0CityZXN1bHRz X3BhdGggOiAvcGF0aC9kb2VzL25vdC9leGlzdApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24gYi9ydW5uZXIvanNvbl90ZXN0 c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9yZWZlcmVuY2UuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMC4uYmZhZWUxYmIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9yZWZlcmVuY2UuanNvbgpAQCAtMCwwICsxLDU5 IEBACit7CisgICJfX3R5cGVfXyI6IlRlc3RydW5SZXN1bHQiLAorICAicmVzdWx0c192ZXJzaW9u Ijo5LAorICAibmFtZSI6Im5vcm1hbC1ydW4iLAorICAidW5hbWUiOiJMaW51eCBob3N0bmFtZSA0 LjE4LjAtMS1hbWQ2NCAjMSBTTVAgRGViaWFuIDQuMTguNi0xICgyMDE4LTA5LTA2KSB4ODZfNjQi LAorICAidGltZV9lbGFwc2VkIjp7CisgICAgIl9fdHlwZV9fIjoiVGltZUF0dHJpYnV0ZSIsCisg ICAgInN0YXJ0IjoxNTM5OTUzNzM1LjExMTAzODksCisgICAgImVuZCI6MTUzOTk1MzczNS4xNzIz NzMxCisgIH0sCisgICJ0ZXN0cyI6eworICAgICJpZ3RAcnVubmVyQGFib3J0ZWQiOnsKKwkib3V0 IjoiQWJvcnRlZCBhZnRlcjogc3RhcnR1cFxuXG5LZXJuZWwgdGFpbnRlZCAoMHgyMDApXG4iLAor CSJyZXN1bHQiOiJmYWlsIiwKKwkiZXJyIjoiIiwKKwkiZG1lc2ciOiIiLAorICAgIH0KKyAgfSwK KyAgInRvdGFscyI6eworICAgICIiOnsKKyAgICAgICJjcmFzaCI6MCwKKyAgICAgICJwYXNzIjow LAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2FybiI6MCwKKyAgICAgICJz a2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGltZW91dCI6MCwKKyAgICAg ICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3YXJuIjowCisgICAgfSwKKyAg ICAicm9vdCI6eworICAgICAgImNyYXNoIjowLAorICAgICAgInBhc3MiOjAsCisgICAgICAiZG1l c2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjowLAorICAgICAgInNraXAiOjAsCisgICAg ICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0IjowLAorICAgICAgIm5vdHJ1biI6MCwK KyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAKKyAgICB9LAorICAgICJpZ3RAcnVubmVy Ijp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MCwKKyAgICAgICJkbWVzZy1mYWls IjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tpcCI6MCwKKyAgICAgICJpbmNv bXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAibm90cnVuIjowLAorICAgICAg ImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0sCisgIH0sCisgICJydW50aW1lcyI6ewor ICB9Cit9CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9v dC9zdGFydHRpbWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qv c3RhcnR0aW1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYWUwMzhm MTgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24t Ym9vdC9zdGFydHRpbWUudHh0CkBAIC0wLDAgKzEgQEAKKzE1Mzk5NTM3MzUuMTExMDM5CmRpZmYg LS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC91bmFtZS50eHQg Yi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC91bmFtZS50eHQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmE3YWVmNmY3Ci0tLSAvZGV2L251bGwKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0CkBAIC0w LDAgKzEgQEAKK0xpbnV4IGhvc3RuYW1lIDQuMTguMC0xLWFtZDY0ICMxIFNNUCBEZWJpYW4gNC4x OC42LTEgKDIwMTgtMDktMDYpIHg4Nl82NApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNf ZGF0YS9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv ZG1lc2ctcmVzdWx0cy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0 NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2RtZXNnLXJlc3VsdHMvbWV0YWRhdGEudHh0 CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvZG1lc2ctcmVzdWx0cy9tZXRhZGF0YS50eHQK QEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAwCiBuYW1l IDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9ydW5uZXIv anNvbl90ZXN0c19kYXRhL2luY29tcGxldGUtYmVmb3JlLWFueS1zdWJ0ZXN0cy9tZXRhZGF0YS50 eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUtYmVmb3JlLWFueS1zdWJ0ZXN0 cy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUtYmVmb3JlLWFueS1zdWJ0ZXN0cy9tZXRhZGF0 YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9pbmNvbXBsZXRlLWJlZm9yZS1hbnkt c3VidGVzdHMvbWV0YWRhdGEudHh0CkBAIC0xLDQgKzEsNCBAQAotYWJvcnRfb25fZXJyb3IgOiAw CithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5vcm1hbC1ydW4KIGRyeV9ydW4gOiAwCiBzeW5jIDog MApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9ub3JtYWwtcnVuL21ldGFkYXRh LnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvbm9ybWFsLXJ1bi9tZXRhZGF0YS50eHQKaW5k ZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRh L25vcm1hbC1ydW4vbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvbm9y bWFsLXJ1bi9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAK K2Fib3J0X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAw CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3BpZ2xpdC1zdHlsZS1kbWVzZy9t ZXRhZGF0YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3BpZ2xpdC1zdHlsZS1kbWVzZy9t ZXRhZGF0YS50eHQKaW5kZXggN2YxMzcyYzEuLjNlY2E3OGNkIDEwMDY0NAotLS0gYS9ydW5uZXIv anNvbl90ZXN0c19kYXRhL3BpZ2xpdC1zdHlsZS1kbWVzZy9tZXRhZGF0YS50eHQKKysrIGIvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9waWdsaXQtc3R5bGUtZG1lc2cvbWV0YWRhdGEudHh0CkBAIC0x LDQgKzEsNCBAQAotYWJvcnRfb25fZXJyb3IgOiAwCithYm9ydF9tYXNrIDogMAogbmFtZSA6IG5v cm1hbC1ydW4KIGRyeV9ydW4gOiAwCiBzeW5jIDogMApkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25f dGVzdHNfZGF0YS93YXJuaW5ncy13aXRoLWRtZXNnLXdhcm5zL21ldGFkYXRhLnR4dCBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0aC1kbWVzZy13YXJucy9tZXRhZGF0YS50eHQK aW5kZXggMTMxNjU2MGQuLmM1MDFhZTBlIDEwMDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19k YXRhL3dhcm5pbmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEudHh0CisrKyBiL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0aC1kbWVzZy13YXJucy9tZXRhZGF0YS50eHQKQEAg LTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAwCiBuYW1lIDog bm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9ydW5uZXIvanNv bl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2Rh dGEvd2FybmluZ3MvbWV0YWRhdGEudHh0CmluZGV4IDEzMTY1NjBkLi5jNTAxYWUwZSAxMDA2NDQK LS0tIGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy9tZXRhZGF0YS50eHQKKysrIGIv cnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0 IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1 bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9ydW5uZXIvcmVzdWx0Z2VuLmMg Yi9ydW5uZXIvcmVzdWx0Z2VuLmMKaW5kZXggYTYyZTQwMGUuLmIwOTMzYWQ3IDEwMDY0NAotLS0g YS9ydW5uZXIvcmVzdWx0Z2VuLmMKKysrIGIvcnVubmVyL3Jlc3VsdGdlbi5jCkBAIC02NDksNiAr NjQ5LDcgQEAgc3RhdGljIGJvb2wgZmlsbF9mcm9tX2RtZXNnKGludCBmZCwKIAkJYXBwZW5kX2xp bmUoJmRtZXNnLCAmZG1lc2dsZW4sIGZvcm1hdHRlZCk7CiAJCWZyZWUoZm9ybWF0dGVkKTsKIAl9 CisJZnJlZShsaW5lKTsKIAogCWlmIChjdXJyZW50X3Rlc3QgIT0gTlVMTCkgewogCQlhZGRfZG1l c2coY3VycmVudF90ZXN0LCBkbWVzZywgZG1lc2dsZW4sIHdhcm5pbmdzLCB3YXJuaW5nc2xlbik7 CkBAIC03MTcsNiArNzE4LDE1IEBAIHN0YXRpYyB2b2lkIGFkZF9zdWJ0ZXN0KHN0cnVjdCBzdWJ0 ZXN0cyAqc3VidGVzdHMsIGNoYXIgKnN1YnRlc3QpCiAJc3VidGVzdHMtPm5hbWVzW3N1YnRlc3Rz LT5zaXplIC0gMV0gPSBzdWJ0ZXN0OwogfQogCitzdGF0aWMgdm9pZCBmcmVlX3N1YnRlc3RzKHN0 cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBp IDwgc3VidGVzdHMtPnNpemU7IGkrKykKKwkJZnJlZShzdWJ0ZXN0cy0+bmFtZXNbaV0pOworCWZy ZWUoc3VidGVzdHMtPm5hbWVzKTsKK30KKwogc3RhdGljIHZvaWQgZmlsbF9mcm9tX2pvdXJuYWwo aW50IGZkLAogCQkJICAgICAgc3RydWN0IGpvYl9saXN0X2VudHJ5ICplbnRyeSwKIAkJCSAgICAg IHN0cnVjdCBzdWJ0ZXN0cyAqc3VidGVzdHMsCkBAIC05MDIsNyArOTEyLDcgQEAgc3RhdGljIHZv aWQgYWRkX3Jlc3VsdF90b190b3RhbHMoc3RydWN0IGpzb25fb2JqZWN0ICp0b3RhbHMsCiAJanNv bl9vYmplY3Rfb2JqZWN0X2FkZCh0b3RhbHMsIHJlc3VsdCwganNvbl9vYmplY3RfbmV3X2ludChv bGQgKyAxKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZF90b190b3RhbHMoY2hhciAqYmluYXJ5LAor c3RhdGljIHZvaWQgYWRkX3RvX3RvdGFscyhjb25zdCBjaGFyICpiaW5hcnksCiAJCQkgIHN0cnVj dCBzdWJ0ZXN0cyAqc3VidGVzdHMsCiAJCQkgIHN0cnVjdCByZXN1bHRzICpyZXN1bHRzKQogewpA QCAtOTUwLDYgKzk2MCw3IEBAIHN0YXRpYyBib29sIHBhcnNlX3Rlc3RfZGlyZWN0b3J5KGludCBk aXJmZCwKIHsKIAlpbnQgZmRzW19GX0xBU1RdOwogCXN0cnVjdCBzdWJ0ZXN0cyBzdWJ0ZXN0cyA9 IHt9OworCWJvb2wgc3RhdHVzID0gdHJ1ZTsKIAogCWlmICghb3Blbl9vdXRwdXRfZmlsZXMoZGly ZmQsIGZkcywgZmFsc2UpKSB7CiAJCWZwcmludGYoc3RkZXJyLCAiRXJyb3Igb3BlbmluZyBvdXRw dXQgZmlsZXNcbiIpOwpAQCAtOTY2LDE1ICs5NzcsMTggQEAgc3RhdGljIGJvb2wgcGFyc2VfdGVz dF9kaXJlY3RvcnkoaW50IGRpcmZkLAogCSAgICAhZmlsbF9mcm9tX291dHB1dChmZHNbX0ZfRVJS XSwgZW50cnktPmJpbmFyeSwgImVyciIsICZzdWJ0ZXN0cywgcmVzdWx0cy0+dGVzdHMpIHx8CiAJ ICAgICFmaWxsX2Zyb21fZG1lc2coZmRzW19GX0RNRVNHXSwgc2V0dGluZ3MsIGVudHJ5LT5iaW5h cnksICZzdWJ0ZXN0cywgcmVzdWx0cy0+dGVzdHMpKSB7CiAJCWZwcmludGYoc3RkZXJyLCAiRXJy b3IgcGFyc2luZyBvdXRwdXQgZmlsZXNcbiIpOwotCQlyZXR1cm4gZmFsc2U7CisJCXN0YXR1cyA9 IGZhbHNlOworCQlnb3RvIHBhcnNlX291dHB1dF9lbmQ7CiAJfQogCiAJb3ZlcnJpZGVfcmVzdWx0 cyhlbnRyeS0+YmluYXJ5LCAmc3VidGVzdHMsIHJlc3VsdHMtPnRlc3RzKTsKIAlhZGRfdG9fdG90 YWxzKGVudHJ5LT5iaW5hcnksICZzdWJ0ZXN0cywgcmVzdWx0cyk7CiAKKyBwYXJzZV9vdXRwdXRf ZW5kOgogCWNsb3NlX291dHB1dHMoZmRzKTsKKwlmcmVlX3N1YnRlc3RzKCZzdWJ0ZXN0cyk7CiAK LQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgdm9pZCBjcmVhdGVf cmVzdWx0X3Jvb3Rfbm9kZXMoc3RydWN0IGpzb25fb2JqZWN0ICpyb290LApAQCAtMTA3Nyw2ICsx MDkxLDM0IEBAIHN0cnVjdCBqc29uX29iamVjdCAqZ2VuZXJhdGVfcmVzdWx0c19qc29uKGludCBk aXJmZCkKIAkJY2xvc2UodGVzdGRpcmZkKTsKIAl9CiAKKwlpZiAoKGZkID0gb3BlbmF0KGRpcmZk LCAiYWJvcnRlZC50eHQiLCBPX1JET05MWSkpID49IDApIHsKKwkJY2hhciBidWZbNDA5Nl07CisJ CWNoYXIgcGlnbGl0X25hbWVbXSA9ICJpZ3RAcnVubmVyQGFib3J0ZWQiOworCQlzdHJ1Y3Qgc3Vi dGVzdHMgYWJvcnRzdWIgPSB7fTsKKwkJc3RydWN0IGpzb25fb2JqZWN0ICphYm9ydHRlc3QgPSBn ZXRfb3JfY3JlYXRlX2pzb25fb2JqZWN0KHJlc3VsdHMudGVzdHMsIHBpZ2xpdF9uYW1lKTsKKwkJ c3NpemVfdCBzOworCisJCWFkZF9zdWJ0ZXN0KCZhYm9ydHN1Yiwgc3RyZHVwKCJhYm9ydGVkIikp OworCisJCXMgPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKTsKKworCQlqc29uX29iamVjdF9v YmplY3RfYWRkKGFib3J0dGVzdCwgIm91dCIsCisJCQkJICAgICAgIGpzb25fb2JqZWN0X25ld19z dHJpbmdfbGVuKGJ1ZiwgcykpOworCQlqc29uX29iamVjdF9vYmplY3RfYWRkKGFib3J0dGVzdCwg ImVyciIsCisJCQkJICAgICAgIGpzb25fb2JqZWN0X25ld19zdHJpbmcoIiIpKTsKKwkJanNvbl9v YmplY3Rfb2JqZWN0X2FkZChhYm9ydHRlc3QsICJkbWVzZyIsCisJCQkJICAgICAgIGpzb25fb2Jq ZWN0X25ld19zdHJpbmcoIiIpKTsKKwkJanNvbl9vYmplY3Rfb2JqZWN0X2FkZChhYm9ydHRlc3Qs ICJyZXN1bHQiLAorCQkJCSAgICAgICBqc29uX29iamVjdF9uZXdfc3RyaW5nKCJmYWlsIikpOwor CisJCWFkZF90b190b3RhbHMoInJ1bm5lciIsICZhYm9ydHN1YiwgJnJlc3VsdHMpOworCisJCWZy ZWVfc3VidGVzdHMoJmFib3J0c3ViKTsKKwl9CisKKwlmcmVlX3NldHRpbmdzKCZzZXR0aW5ncyk7 CisJZnJlZV9qb2JfbGlzdCgmam9iX2xpc3QpOworCiAJcmV0dXJuIG9iajsKIH0KIApkaWZmIC0t Z2l0IGEvcnVubmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMgYi9ydW5uZXIvcnVubmVyX2pzb25fdGVz dHMuYwppbmRleCA3NTg3MDBkNC4uNzVkNjIzN2YgMTAwNjQ0Ci0tLSBhL3J1bm5lci9ydW5uZXJf anNvbl90ZXN0cy5jCisrKyBiL3J1bm5lci9ydW5uZXJfanNvbl90ZXN0cy5jCkBAIC0xNTQsNiAr MTU0LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKmRpcm5hbWVzW10gPSB7CiAJInBpZ2xpdC1zdHls ZS1kbWVzZyIsCiAJImluY29tcGxldGUtYmVmb3JlLWFueS1zdWJ0ZXN0cyIsCiAJImRtZXNnLXJl c3VsdHMiLAorCSJhYm9ydGVkLW9uLWJvb3QiLAorCSJhYm9ydGVkLWFmdGVyLWEtdGVzdCIsCiB9 OwogCiBpZ3RfbWFpbgpkaWZmIC0tZ2l0IGEvcnVubmVyL3J1bm5lcl90ZXN0cy5jIGIvcnVubmVy L3J1bm5lcl90ZXN0cy5jCmluZGV4IGQwN2U2ZjM3Li42MjEzYjhlNyAxMDA2NDQKLS0tIGEvcnVu bmVyL3J1bm5lcl90ZXN0cy5jCisrKyBiL3J1bm5lci9ydW5uZXJfdGVzdHMuYwpAQCAtMTQyLDcg KzE0Miw3IEBAIHN0YXRpYyB2b2lkIGFzc2VydF9zZXR0aW5nc19lcXVhbChzdHJ1Y3Qgc2V0dGlu Z3MgKm9uZSwgc3RydWN0IHNldHRpbmdzICp0d28pCiAJICogUmVnZXggbGlzdHMgYXJlIG5vdCBz ZXJpYWxpemVkLCBhbmQgdGh1cyB3b24ndCBiZSBjb21wYXJlZAogCSAqIGhlcmUuCiAJICovCi0J aWd0X2Fzc2VydF9lcShvbmUtPmFib3J0X29uX2Vycm9yLCB0d28tPmFib3J0X29uX2Vycm9yKTsK KwlpZ3RfYXNzZXJ0X2VxKG9uZS0+YWJvcnRfbWFzaywgdHdvLT5hYm9ydF9tYXNrKTsKIAlpZ3Rf YXNzZXJ0X2Vxc3RyKG9uZS0+dGVzdF9saXN0LCB0d28tPnRlc3RfbGlzdCk7CiAJaWd0X2Fzc2Vy dF9lcXN0cihvbmUtPm5hbWUsIHR3by0+bmFtZSk7CiAJaWd0X2Fzc2VydF9lcShvbmUtPmRyeV9y dW4sIHR3by0+ZHJ5X3J1bik7CkBAIC0yMDgsNyArMjA4LDcgQEAgaWd0X21haW4KIAogCQlpZ3Rf YXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0 dGluZ3MpKTsKIAotCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5hYm9ydF9vbl9lcnJvcik7CisJCWln dF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgMCk7CiAJCWlndF9hc3NlcnQoIXNldHRp bmdzLnRlc3RfbGlzdCk7CiAJCWlndF9hc3NlcnRfZXFzdHIoc2V0dGluZ3MubmFtZSwgInBhdGgt dG8tcmVzdWx0cyIpOwogCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy5kcnlfcnVuKTsKQEAgLTMyMyw3 ICszMjMsNyBAQCBpZ3RfbWFpbgogCQlzZXRlbnYoIklHVF9URVNUX1JPT1QiLCB0ZXN0ZGF0YWRp ciwgMSk7CiAJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hh cioqKWFyZ3YsICZzZXR0aW5ncykpOwogCi0JCWlndF9hc3NlcnQoIXNldHRpbmdzLmFib3J0X29u X2Vycm9yKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCAwKTsKIAkJaWd0 X2Fzc2VydCghc2V0dGluZ3MudGVzdF9saXN0KTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5n cy5uYW1lLCAicGF0aC10by1yZXN1bHRzIik7CiAJCWlndF9hc3NlcnQoIXNldHRpbmdzLmRyeV9y dW4pOwpAQCAtMzQ4LDcgKzM0OCw3IEBAIGlndF9tYWluCiAJaWd0X3N1YnRlc3QoInBhcnNlLWFs bC1zZXR0aW5ncyIpIHsKIAkJY29uc3QgY2hhciAqYXJndltdID0geyAicnVubmVyIiwKIAkJCQkg ICAgICAgIi1uIiwgImZvbyIsCi0JCQkJICAgICAgICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJv ciIsCisJCQkJICAgICAgICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj10YWludCxsb2NrZGVw IiwKIAkJCQkgICAgICAgIi0tdGVzdC1saXN0IiwgInBhdGgtdG8tdGVzdC1saXN0IiwKIAkJCQkg ICAgICAgIi0taWdub3JlLW1pc3NpbmciLAogCQkJCSAgICAgICAiLS1kcnktcnVuIiwKQEAgLTM3 MCw3ICszNzAsNyBAQCBpZ3RfbWFpbgogCiAJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJB WV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOwogCi0JCWlndF9hc3NlcnQo c2V0dGluZ3MuYWJvcnRfb25fZXJyb3IpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0 X21hc2ssIEFCT1JUX1RBSU5UIHwgQUJPUlRfTE9DS0RFUCk7CiAJCWlndF9hc3NlcnQoc3Ryc3Ry KHNldHRpbmdzLnRlc3RfbGlzdCwgInBhdGgtdG8tdGVzdC1saXN0IikgIT0gTlVMTCk7CiAJCWln dF9hc3NlcnRfZXFzdHIoc2V0dGluZ3MubmFtZSwgImZvbyIpOwogCQlpZ3RfYXNzZXJ0KHNldHRp bmdzLmRyeV9ydW4pOwpAQCAtNDI4LDYgKzQyOCw0NSBAQCBpZ3RfbWFpbgogCQlpZ3RfYXNzZXJ0 X2VxKHNldHRpbmdzLmxvZ19sZXZlbCwgTE9HX0xFVkVMX1ZFUkJPU0UpOwogCX0KIAorCWlndF9z dWJ0ZXN0KCJhYm9ydC1jb25kaXRpb25zIikgeworCQljb25zdCBjaGFyICphcmd2W10gPSB7ICJy dW5uZXIiLAorCQkJCSAgICAgICAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3I9dGFpbnQiLAor CQkJCSAgICAgICAidGVzdC1yb290LWRpciIsCisJCQkJICAgICAgICJyZXN1bHRzLXBhdGgiLAor CQl9OworCisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hh cioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21h c2ssIEFCT1JUX1RBSU5UKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVy cm9yPWxvY2tkZXAiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShhcmd2 KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5h Ym9ydF9tYXNrLCBBQk9SVF9MT0NLREVQKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQtb24tbW9u aXRvcmVkLWVycm9yPXRhaW50IjsKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJ WkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0 dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQpOworCisJCWFyZ3ZbMV0gPSAiLS1hYm9ydC1v bi1tb25pdG9yZWQtZXJyb3I9bG9ja2RlcCx0YWludCI7CisJCWlndF9hc3NlcnQocGFyc2Vfb3B0 aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3Rf YXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX1RBSU5UIHwgQUJPUlRfTE9DS0RF UCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj10YWludCxsb2Nr ZGVwIjsKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFy KiopYXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFz aywgQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQt b24tbW9uaXRvcmVkLWVycm9yPWFsbCI7CisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJB WV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2Vx KHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX0FMTCk7CisKKwkJYXJndlsxXSA9ICItLWFib3J0 LW9uLW1vbml0b3JlZC1lcnJvcj0iOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlf U0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShz ZXR0aW5ncy5hYm9ydF9tYXNrLCAwKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQtb24tbW9uaXRv cmVkLWVycm9yPWRvZXNub3RleGlzdCI7CisJCWlndF9hc3NlcnQoIXBhcnNlX29wdGlvbnMoQVJS QVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKworCX0KKwogCWlndF9z dWJ0ZXN0KCJwYXJzZS1jbGVhcnMtb2xkLWRhdGEiKSB7CiAJCWNvbnN0IGNoYXIgKmFyZ3ZbXSA9 IHsgInJ1bm5lciIsCiAJCQkJICAgICAgICItbiIsICJmb28iLApkaWZmIC0tZ2l0IGEvcnVubmVy L3NldHRpbmdzLmMgYi9ydW5uZXIvc2V0dGluZ3MuYwppbmRleCBlMjQwMTQ1NS4uZTY0MjQ0ZTYg MTAwNjQ0Ci0tLSBhL3J1bm5lci9zZXR0aW5ncy5jCisrKyBiL3J1bm5lci9zZXR0aW5ncy5jCkBA IC00MSw2ICs0MSwxNiBAQCBzdGF0aWMgc3RydWN0IHsKIAl7IDAsIDAgfSwKIH07CiAKK3N0YXRp YyBzdHJ1Y3QgeworCWludCB2YWx1ZTsKKwljb25zdCBjaGFyICpuYW1lOworfSBhYm9ydF9jb25k aXRpb25zW10gPSB7CisJeyBBQk9SVF9UQUlOVCwgInRhaW50IiB9LAorCXsgQUJPUlRfTE9DS0RF UCwgImxvY2tkZXAiIH0sCisJeyBBQk9SVF9BTEwsICJhbGwiIH0sCisJeyAwLCAwIH0sCit9Owor CiBzdGF0aWMgYm9vbCBzZXRfbG9nX2xldmVsKHN0cnVjdCBzZXR0aW5ncyogc2V0dGluZ3MsIGNv bnN0IGNoYXIgKmxldmVsKQogewogCXR5cGVvZigqbG9nX2xldmVscykgKml0OwpAQCAtNTUsNiAr NjUsNTYgQEAgc3RhdGljIGJvb2wgc2V0X2xvZ19sZXZlbChzdHJ1Y3Qgc2V0dGluZ3MqIHNldHRp bmdzLCBjb25zdCBjaGFyICpsZXZlbCkKIAlyZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyBib29s IHNldF9hYm9ydF9jb25kaXRpb24oc3RydWN0IHNldHRpbmdzKiBzZXR0aW5ncywgY29uc3QgY2hh ciAqY29uZCkKK3sKKwl0eXBlb2YoKmFib3J0X2NvbmRpdGlvbnMpICppdDsKKworCWlmICghY29u ZCkgeworCQlzZXR0aW5ncy0+YWJvcnRfbWFzayA9IEFCT1JUX0FMTDsKKwkJcmV0dXJuIHRydWU7 CisJfQorCisJaWYgKHN0cmxlbihjb25kKSA9PSAwKSB7CisJCXNldHRpbmdzLT5hYm9ydF9tYXNr ID0gMDsKKwkJcmV0dXJuIHRydWU7CisJfQorCisJZm9yIChpdCA9IGFib3J0X2NvbmRpdGlvbnM7 IGl0LT5uYW1lOyBpdCsrKSB7CisJCWlmICghc3RyY21wKGNvbmQsIGl0LT5uYW1lKSkgeworCQkJ c2V0dGluZ3MtPmFib3J0X21hc2sgfD0gaXQtPnZhbHVlOworCQkJcmV0dXJuIHRydWU7CisJCX0K Kwl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29sIHBhcnNlX2Fib3J0X2NvbmRp dGlvbnMoc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncywgY29uc3QgY2hhciAqb3B0YXJnKQorewor CWNoYXIgKmR1cCwgKm9yaWdkdXAsICpwOworCWlmICghb3B0YXJnKQorCQlyZXR1cm4gc2V0X2Fi b3J0X2NvbmRpdGlvbihzZXR0aW5ncywgTlVMTCk7CisKKwlvcmlnZHVwID0gZHVwID0gc3RyZHVw KG9wdGFyZyk7CisJd2hpbGUgKGR1cCkgeworCQlpZiAoKHAgPSBzdHJjaHIoZHVwLCAnLCcpKSAh PSBOVUxMKSB7CisJCQkqcCA9ICdcMCc7CisJCQlwKys7CisJCX0KKworCQlpZiAoIXNldF9hYm9y dF9jb25kaXRpb24oc2V0dGluZ3MsIGR1cCkpIHsKKwkJCWZyZWUob3JpZ2R1cCk7CisJCQlyZXR1 cm4gZmFsc2U7CisJCX0KKworCQlkdXAgPSBwOworCX0KKworCWZyZWUob3JpZ2R1cCk7CisKKwly ZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGNvbnN0IGNoYXIgKnVzYWdlX3N0ciA9CiAJInVzYWdl OiBydW5uZXIgW29wdGlvbnNdIFt0ZXN0X3Jvb3RdIHJlc3VsdHMtcGF0aFxuXG4iCiAJIk9wdGlv bnM6XG4iCkBAIC02Nyw5ICsxMjcsMTUgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnVzYWdlX3N0ciA9 CiAJIiAgICAgICAgICAgICAgICAgICAgICAgIFJ1biBvbmx5IG1hdGNoaW5nIHRlc3RzIChjYW4g YmUgdXNlZCBtb3JlIHRoYW4gb25jZSlcbiIKIAkiICAteCA8cmVnZXg+LCAtLWV4Y2x1ZGUtdGVz dHMgPHJlZ2V4PlxuIgogCSIgICAgICAgICAgICAgICAgICAgICAgICBFeGNsdWRlIG1hdGNoaW5n IHRlc3RzIChjYW4gYmUgdXNlZCBtb3JlIHRoYW4gb25jZSlcbiIKLQkiICAtLWFib3J0LW9uLW1v bml0b3JlZC1lcnJvclxuIgorCSIgIC0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yWz1saXN0XVxu IgogCSIgICAgICAgICAgICAgICAgICAgICAgICBBYm9ydCBleGVjdXRpb24gd2hlbiBhIGZhdGFs IGNvbmRpdGlvbiBpcyBkZXRlY3RlZC5cbiIKLQkiICAgICAgICAgICAgICAgICAgICAgICAgPFRP RE8+XG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIEEgY29tbWEtc2VwYXJhdGVkIGxpc3Qg b2YgY29uZGl0aW9ucyB0byBjaGVjayBjYW4gYmVcbiIKKwkiICAgICAgICAgICAgICAgICAgICAg ICAgZ2l2ZW4uIElmIG5vdCBnaXZlbiwgYWxsIGNvbmRpdGlvbnMgYXJlIGNoZWNrZWQuIEFuXG4i CisJIiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5IHN0cmluZyBhcyBhIGNvbmRpdGlvbiBk aXNhYmxlcyBhYm9ydGluZ1xuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICBQb3NzaWJsZSBj b25kaXRpb25zOlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja2RlcCAtIGFib3J0 IHdoZW4ga2VybmVsIGxvY2tkZXAgaGFzIGJlZW4gYW5nZXJlZC5cbiIKKwkiICAgICAgICAgICAg ICAgICAgICAgICAgIHRhaW50ICAgLSBhYm9ydCB3aGVuIGtlcm5lbCBiZWNvbWVzIGZhdGFsbHkg dGFpbnRlZC5cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgIGFsbCAgICAgLSBhYm9ydCBm b3IgYWxsIG9mIHRoZSBhYm92ZS5cbiIKIAkiICAtcywgLS1zeW5jICAgICAgICAgICAgU3luYyBy ZXN1bHRzIHRvIGRpc2sgYWZ0ZXIgZXZlcnkgdGVzdFxuIgogCSIgIC1sIHtxdWlldCx2ZXJib3Nl LGR1bW15fSwgLS1sb2ctbGV2ZWwge3F1aWV0LHZlcmJvc2UsZHVtbXl9XG4iCiAJIiAgICAgICAg ICAgICAgICAgICAgICAgIFNldCB0aGUgbG9nZ2VyIHZlcmJvc2l0eSBsZXZlbFxuIgpAQCAtMTkz LDcgKzI1OSw3IEBAIGJvb2wgcGFyc2Vfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsCiAJ CXsiZHJ5LXJ1biIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfRFJZX1JVTn0sCiAJCXsiaW5jbHVk ZS10ZXN0cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfSU5DTFVERX0sCiAJCXsiZXhj bHVkZS10ZXN0cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfRVhDTFVERX0sCi0JCXsi YWJvcnQtb24tbW9uaXRvcmVkLWVycm9yIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9BQk9SVF9P Tl9FUlJPUn0sCisJCXsiYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yIiwgb3B0aW9uYWxfYXJndW1l bnQsIE5VTEwsIE9QVF9BQk9SVF9PTl9FUlJPUn0sCiAJCXsic3luYyIsIG5vX2FyZ3VtZW50LCBO VUxMLCBPUFRfU1lOQ30sCiAJCXsibG9nLWxldmVsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEws IE9QVF9MT0dfTEVWRUx9LAogCQl7InRlc3QtbGlzdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxM LCBPUFRfVEVTVF9MSVNUfSwKQEAgLTIzMSw3ICsyOTcsOCBAQCBib29sIHBhcnNlX29wdGlvbnMo aW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCQkJCWdvdG8gZXJyb3I7CiAJCQlicmVhazsKIAkJY2Fz ZSBPUFRfQUJPUlRfT05fRVJST1I6Ci0JCQlzZXR0aW5ncy0+YWJvcnRfb25fZXJyb3IgPSB0cnVl OworCQkJaWYgKCFwYXJzZV9hYm9ydF9jb25kaXRpb25zKHNldHRpbmdzLCBvcHRhcmcpKQorCQkJ CWdvdG8gZXJyb3I7CiAJCQlicmVhazsKIAkJY2FzZSBPUFRfU1lOQzoKIAkJCXNldHRpbmdzLT5z eW5jID0gdHJ1ZTsKQEAgLTQ0NCw3ICs1MTEsNyBAQCBib29sIHNlcmlhbGl6ZV9zZXR0aW5ncyhz dHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzKQogCQlyZXR1cm4gZmFsc2U7CiAJfQogCi0JU0VSSUFM SVpFX0xJTkUoZiwgc2V0dGluZ3MsIGFib3J0X29uX2Vycm9yLCAiJWQiKTsKKwlTRVJJQUxJWkVf TElORShmLCBzZXR0aW5ncywgYWJvcnRfbWFzaywgIiVkIik7CiAJaWYgKHNldHRpbmdzLT50ZXN0 X2xpc3QpCiAJCVNFUklBTElaRV9MSU5FKGYsIHNldHRpbmdzLCB0ZXN0X2xpc3QsICIlcyIpOwog CWlmIChzZXR0aW5ncy0+bmFtZSkKQEAgLTUwMSw3ICs1NjgsNyBAQCBib29sIHJlYWRfc2V0dGlu Z3Moc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncywgaW50IGRpcmZkKQogCiAJd2hpbGUgKGZzY2Fu ZihmLCAiJW1zIDogJW1zIiwgJm5hbWUsICZ2YWwpID09IDIpIHsKIAkJaW50IG51bXZhbCA9IGF0 b2kodmFsKTsKLQkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwgdmFsLCBhYm9ydF9vbl9lcnJv ciwgbnVtdmFsKTsKKwkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwgdmFsLCBhYm9ydF9tYXNr LCBudW12YWwpOwogCQlQQVJTRV9MSU5FKHNldHRpbmdzLCBuYW1lLCB2YWwsIHRlc3RfbGlzdCwg dmFsID8gc3RyZHVwKHZhbCkgOiBOVUxMKTsKIAkJUEFSU0VfTElORShzZXR0aW5ncywgbmFtZSwg dmFsLCBuYW1lLCB2YWwgPyBzdHJkdXAodmFsKSA6IE5VTEwpOwogCQlQQVJTRV9MSU5FKHNldHRp bmdzLCBuYW1lLCB2YWwsIGRyeV9ydW4sIG51bXZhbCk7CmRpZmYgLS1naXQgYS9ydW5uZXIvc2V0 dGluZ3MuaCBiL3J1bm5lci9zZXR0aW5ncy5oCmluZGV4IGI0ODlhYmM1Li4yNjdkNzJjZiAxMDA2 NDQKLS0tIGEvcnVubmVyL3NldHRpbmdzLmgKKysrIGIvcnVubmVyL3NldHRpbmdzLmgKQEAgLTEy LDYgKzEyLDEyIEBAIGVudW0gewogCUxPR19MRVZFTF9WRVJCT1NFID0gMSwKIH07CiAKKyNkZWZp bmUgQUJPUlRfVEFJTlQgICAoMSA8PCAwKQorI2RlZmluZSBBQk9SVF9MT0NLREVQICgxIDw8IDEp CisjZGVmaW5lIEFCT1JUX0FMTCAgICAgKEFCT1JUX1RBSU5UIHwgQUJPUlRfTE9DS0RFUCkKKwor X1N0YXRpY19hc3NlcnQoQUJPUlRfQUxMID09IChBQk9SVF9UQUlOVCB8IEFCT1JUX0xPQ0tERVAp LCAiQUJPUlRfQUxMIG11c3QgYmUgYWxsIGNvbmRpdGlvbnMgYml0d2lzZSBvcidkIik7CisKIHN0 cnVjdCByZWdleF9saXN0IHsKIAljaGFyICoqcmVnZXhfc3RyaW5nczsKIAlyZWdleF90KiogcmVn ZXhlczsKQEAgLTE5LDcgKzI1LDcgQEAgc3RydWN0IHJlZ2V4X2xpc3QgewogfTsKIAogc3RydWN0 IHNldHRpbmdzIHsKLQlib29sIGFib3J0X29uX2Vycm9yOworCWludCBhYm9ydF9tYXNrOwogCWNo YXIgKnRlc3RfbGlzdDsKIAljaGFyICpuYW1lOwogCWJvb2wgZHJ5X3J1bjsKLS0gCjIuMTguMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBt YWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==