From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 440B789915 for ; Thu, 8 Nov 2018 12:38:36 +0000 (UTC) From: Petri Latvala Date: Thu, 8 Nov 2018 14:38:28 +0200 Message-Id: <20181108123828.22947-1-petri.latvala@intel.com> Subject: [igt-dev] [PATCH i-g-t v6 1/1] 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 biBydW5uaW5nIGluIC0tbXVsdGlwbGUtbW9kZSkgaXMgbm90IGRvbmUuCgpBIFRPRE8gaXRlbSBm b3IgdGhlIGZ1dHVyZSBpcyBoYXZpbmcgYWJvcnRpbmcgYXBwZWFyIGluIHRoZSB0ZXN0CnJlc3Vs dHMuCgp2MjoKIC0gUmVtZW1iZXIgdG8gZmNsb3NlCiAtIFRhaW50cyBhcmUgdW5zaWduZWQgbG9u ZyAoQ2hyaXMpCiAtIFVzZSBnZXRsaW5lIGluc3RlYWQgb2YgZmdldHMgKENocmlzKQp2MzoKIC0g Rml4IGJyYWluZmFydCB3aXRoIGxvY2tkZXAKdjQ6CiAtIFJlYmFzZQogLSBSZWZhY3RvciB0aGUg YWJvcnQgY29uZGl0aW9uIGNoZWNraW5nIHRvIHBhc3MgZG93biBzdHJpbmdzCiAtIFByZXNlbnQg dGhlIGFib3J0IHJlc3VsdCBpbiByZXN1bHRzLmpzb24gYXMgYSBwc2V1ZG8gdGVzdCByZXN1bHQK IC0gVW5pdCB0ZXN0cyBmb3IgdGhlIHBzZXVkbyByZXN1bHQKdjU6CiAtIFJlZmFjdG9ycyAoQ2hy aXMpCiAtIERvbid0IGNsYWltIGxvY2tkZXAgd2FzIHRyaWdnZXJlZCBpZiBkZWJ1Z19sb2NrcyBp cyBub3Qgb24KICAgYW55bW9yZS4gSnVzdCBzYXkgaXQncyBub3QgYWN0aXZlLgogLSBEdW1wIGxv Y2tkZXBfc3RhdHMgd2hlbiBhYm9ydGluZyBkdWUgdG8gbG9ja2RlcCAoQ2hyaXMpCiAtIFVzZSBp Z3RAcnVubmVyQGFib3J0ZWQgaW5zdGVhZCBmb3IgdGhlIHBzZXVkbyByZXN1bHQgKE1hcnRpbikK ClNpZ25lZC1vZmYtYnk6IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpD YzogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwuY29tPgpDYzogVG9taSBT YXJ2ZWxhIDx0b21pLnAuc2FydmVsYUBpbnRlbC5jb20+CkNjOiBNYXJ0aW4gUGVyZXMgPG1hcnRp bi5wZXJlc0BsaW51eC5pbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGZmd2xsLmNoPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0t LQogcnVubmVyL2V4ZWN1dG9yLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTkwICsr KysrKysrKysrKysrKystLQogcnVubmVyL2V4ZWN1dG9yLmggICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAxICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2RtZXNnLnR4dCAgICAg ICAgICB8ICAgNSArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9lcnIudHh0ICAgICAgICAg ICAgfCAgIDIgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvam91cm5hbC50eHQgICAgICAg IHwgICAyICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL291dC50eHQgICAgICAgICAgICB8 ICAgMyArCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3QvUkVBRE1FLnR4dCAgICAgICAgICAgfCAg IDEgKwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2Fib3J0ZWQudHh0ICAgICAgICAgIHwgICAz ICsKIC4uLi9hYm9ydGVkLWFmdGVyLWEtdGVzdC9lbmR0aW1lLnR4dCAgICAgICAgICB8ICAgMSAr CiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3Qvam9ibGlzdC50eHQgICAgICAgICAgfCAgIDUgKwog Li4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L21ldGFkYXRhLnR4dCAgICAgICAgIHwgIDEyICsrCiAu Li4vYWJvcnRlZC1hZnRlci1hLXRlc3QvcmVmZXJlbmNlLmpzb24gICAgICAgfCAgOTAgKysrKysr KysrCiAuLi4vYWJvcnRlZC1hZnRlci1hLXRlc3Qvc3RhcnR0aW1lLnR4dCAgICAgICAgfCAgIDEg KwogLi4uL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3VuYW1lLnR4dCAgICAgICAgICAgIHwgICAxICsK IC4uLi9hYm9ydGVkLW9uLWJvb3QvUkVBRE1FLnR4dCAgICAgICAgICAgICAgICB8ICAgMSArCiAu Li4vYWJvcnRlZC1vbi1ib290L2Fib3J0ZWQudHh0ICAgICAgICAgICAgICAgfCAgIDMgKwogLi4u L2Fib3J0ZWQtb24tYm9vdC9lbmR0aW1lLnR4dCAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9h Ym9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQgICAgICAgICAgICAgICB8ICAgNSArCiAuLi4vYWJv cnRlZC1vbi1ib290L21ldGFkYXRhLnR4dCAgICAgICAgICAgICAgfCAgMTIgKysKIC4uLi9hYm9y dGVkLW9uLWJvb3QvcmVmZXJlbmNlLmpzb24gICAgICAgICAgICB8ICA1OSArKysrKysKIC4uLi9h Ym9ydGVkLW9uLWJvb3Qvc3RhcnR0aW1lLnR4dCAgICAgICAgICAgICB8ICAgMSArCiAuLi4vanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC91bmFtZS50eHQgfCAgIDEgKwogLi4uL2RtZXNn LXJlc3VsdHMvbWV0YWRhdGEudHh0ICAgICAgICAgICAgICAgIHwgICAyICstCiAuLi4vbWV0YWRh dGEudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9qc29uX3Rl c3RzX2RhdGEvbm9ybWFsLXJ1bi9tZXRhZGF0YS50eHQgICB8ICAgMiArLQogLi4uL3BpZ2xpdC1z dHlsZS1kbWVzZy9tZXRhZGF0YS50eHQgICAgICAgICAgIHwgICAyICstCiAuLi4vd2FybmluZ3Mt d2l0aC1kbWVzZy13YXJucy9tZXRhZGF0YS50eHQgICAgfCAgIDIgKy0KIHJ1bm5lci9qc29uX3Rl c3RzX2RhdGEvd2FybmluZ3MvbWV0YWRhdGEudHh0ICB8ICAgMiArLQogcnVubmVyL3Jlc3VsdGdl bi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ4ICsrKystCiBydW5uZXIvcnVubmVy X2pzb25fdGVzdHMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogcnVubmVyL3J1bm5lcl90 ZXN0cy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ5ICsrKystCiBydW5uZXIvc2V0dGlu Z3MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNzkgKysrKysrKy0KIHJ1bm5lci9z ZXR0aW5ncy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQogMzMgZmlsZXMg Y2hhbmdlZCwgNTU3IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9kbWVz Zy50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt YWZ0ZXItYS10ZXN0LzAvZXJyLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9qb3VybmFsLnR4dAogY3JlYXRlIG1vZGUg MTAwNjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQu dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFm dGVyLWEtdGVzdC9SRUFETUUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9hYm9ydGVkLnR4dAogY3JlYXRlIG1vZGUgMTAw NjQ0IHJ1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvZW5kdGltZS50 eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0 ZXItYS10ZXN0L2pvYmxpc3QudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVz dHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9tZXRhZGF0YS50eHQKIGNyZWF0ZSBtb2RlIDEw MDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5j ZS5qc29uCiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVk LWFmdGVyLWEtdGVzdC9zdGFydHRpbWUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC91bmFtZS50eHQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9SRUFETUUudHh0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJv b3QvYWJvcnRlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtb24tYm9vdC9lbmR0aW1lLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci9q c29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L2pvYmxpc3QudHh0CiBjcmVhdGUgbW9kZSAx MDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0YWRhdGEudHh0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJv b3QvcmVmZXJlbmNlLmpzb24KIGNyZWF0ZSBtb2RlIDEwMDY0NCBydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtb24tYm9vdC9zdGFydHRpbWUudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvdW5hbWUudHh0CgpkaWZmIC0tZ2l0 IGEvcnVubmVyL2V4ZWN1dG9yLmMgYi9ydW5uZXIvZXhlY3V0b3IuYwppbmRleCAwMDdiNzJjZS4u OWViYTczN2QgMTAwNjQ0Ci0tLSBhL3J1bm5lci9leGVjdXRvci5jCisrKyBiL3J1bm5lci9leGVj dXRvci5jCkBAIC0xMDgsNiArMTA4LDkxIEBAIHN0YXRpYyB2b2lkIHBpbmdfd2F0Y2hkb2dzKHZv aWQpCiAJfQogfQogCitzdGF0aWMgY2hhciAqaGFuZGxlX2xvY2tkZXAodm9pZCkKK3sKKwljb25z dCBjaGFyICpoZWFkZXIgPSAiTG9ja2RlcCBub3QgYWN0aXZlXG5cbi9wcm9jL2xvY2tkZXBfc3Rh dHMgY29udGVudHM6XG4iOworCWludCBmZCA9IG9wZW4oIi9wcm9jL2xvY2tkZXBfc3RhdHMiLCBP X1JET05MWSk7CisJY29uc3QgY2hhciAqZGVidWdfbG9ja3NfbGluZSA9ICIgZGVidWdfbG9ja3M6 IjsKKwljaGFyIGJ1Zls0MDk2XSwgKnA7CisJc3NpemVfdCBidWZzaXplID0gMDsKKwlpbnQgdmFs OworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlzdHJjcHkoYnVmLCBoZWFkZXIp OworCisJaWYgKChidWZzaXplID0gcmVhZChmZCwgYnVmICsgc3RybGVuKGhlYWRlciksIHNpemVv ZihidWYpIC0gc3RybGVuKGhlYWRlcikgLSAxKSkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKwlidWZz aXplICs9IHN0cmxlbihoZWFkZXIpOworCWJ1ZltidWZzaXplXSA9ICdcMCc7CisJY2xvc2UoZmQp OworCisJaWYgKChwID0gc3Ryc3RyKGJ1ZiwgZGVidWdfbG9ja3NfbGluZSkpICE9IE5VTEwgJiYK KwkgICAgc3NjYW5mKHAgKyBzdHJsZW4oZGVidWdfbG9ja3NfbGluZSksICIlZCIsICZ2YWwpID09 IDEgJiYKKwkgICAgdmFsICE9IDEpIHsKKwkJcmV0dXJuIHN0cmR1cChidWYpOworCX0KKworCXJl dHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqaGFuZGxlX3RhaW50KHZvaWQpCit7CisJY29u c3QgdW5zaWduZWQgbG9uZyBiYWRfdGFpbnRzID0KKwkJMHgyMCAgfCAvKiBUQUlOVF9QQUdFICov CisJCTB4ODAgIHwgLyogVEFJTlRfRElFICovCisJCTB4MjAwOyAvKiBUQUlOVF9PT1BTICovCisJ dW5zaWduZWQgbG9uZyB0YWludHMgPSAwOworCWNoYXIgKnJlYXNvbiA9IE5VTEw7CisJRklMRSAq ZjsKKworCWYgPSBmb3BlbigiL3Byb2Mvc3lzL2tlcm5lbC90YWludGVkIiwgInIiKTsKKwlpZiAo ZikgeworCQlmc2NhbmYoZiwgIiVsdSIsICZ0YWludHMpOworCQlmY2xvc2UoZik7CisJfQorCisJ aWYgKHRhaW50cyAmIGJhZF90YWludHMpCisJCWFzcHJpbnRmKCZyZWFzb24sCisJCQkgIktlcm5l bCB0YWludGVkICglI2x4IC0tICVseCkiLAorCQkJIHRhaW50cywgdGFpbnRzICYgYmFkX3RhaW50 cyk7CisKKwlyZXR1cm4gcmVhc29uOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHsKKwlpbnQg Y29uZGl0aW9uOworCWNoYXIgKigqaGFuZGxlcikodm9pZCk7Cit9IGFib3J0X2hhbmRsZXJzW10g PSB7CisJeyBBQk9SVF9MT0NLREVQLCBoYW5kbGVfbG9ja2RlcCB9LAorCXsgQUJPUlRfVEFJTlQs IGhhbmRsZV90YWludCB9LAorCXsgMCwgMCB9LAorfTsKKworc3RhdGljIGNoYXIgKm5lZWRfdG9f YWJvcnQoY29uc3Qgc3RydWN0IHNldHRpbmdzKiBzZXR0aW5ncykKK3sKKwl0eXBlb2YoKmFib3J0 X2hhbmRsZXJzKSAqaXQ7CisKKwlmb3IgKGl0ID0gYWJvcnRfaGFuZGxlcnM7IGl0LT5jb25kaXRp b247IGl0KyspIHsKKwkJY2hhciAqYWJvcnQ7CisKKwkJaWYgKCEoc2V0dGluZ3MtPmFib3J0X21h c2sgJiBpdC0+Y29uZGl0aW9uKSkKKwkJCWNvbnRpbnVlOworCisJCWFib3J0ID0gaXQtPmhhbmRs ZXIoKTsKKwkJaWYgKCFhYm9ydCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChzZXR0aW5ncy0+bG9n X2xldmVsID49IExPR19MRVZFTF9OT1JNQUwpCisJCQlmcHJpbnRmKHN0ZGVyciwgIkFib3J0aW5n OiAlc1xuIiwgYWJvcnQpOworCisJCXJldHVybiBhYm9ydDsKKwl9CisKKwlyZXR1cm4gTlVMTDsK K30KKwogc3RhdGljIHZvaWQgcHJ1bmVfc3VidGVzdChzdHJ1Y3Qgam9iX2xpc3RfZW50cnkgKmVu dHJ5LCBjaGFyICpzdWJ0ZXN0KQogewogCWNoYXIgKmV4Y2w7CkBAIC03MTQsNiArNzk5LDM3IEBA IHN0YXRpYyB2b2lkIHByaW50X3RpbWVfbGVmdChzdHJ1Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUs CiAJcHJpbnRmKCIoJSouMGZzIGxlZnQpICIsIHdpZHRoLCBzdGF0ZS0+dGltZV9sZWZ0KTsKIH0K IAorc3RhdGljIGNoYXIgKmVudHJ5X2Rpc3BsYXlfbmFtZShzdHJ1Y3Qgam9iX2xpc3RfZW50cnkg KmVudHJ5KQoreworCXNpemVfdCBzaXplID0gc3RybGVuKGVudHJ5LT5iaW5hcnkpICsgMTsKKwlj aGFyICpyZXQgPSBtYWxsb2Moc2l6ZSk7CisKKwlzcHJpbnRmKHJldCwgIiVzIiwgZW50cnktPmJp bmFyeSk7CisKKwlpZiAoZW50cnktPnN1YnRlc3RfY291bnQgPiAwKSB7CisJCXNpemVfdCBpOwor CQljb25zdCBjaGFyICpkZWxpbSA9ICIiOworCisJCXNpemUgKz0gMzsgLyogc3RybGVuKCIgKCIp ICsgc3RybGVuKCIpIikgKi8KKwkJcmV0ID0gcmVhbGxvYyhyZXQsIHNpemUpOworCQlzdHJjYXQo cmV0LCAiICgiKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgZW50cnktPnN1YnRlc3RfY291bnQ7IGkr KykgeworCQkJc2l6ZSArPSBzdHJsZW4oZGVsaW0pICsgc3RybGVuKGVudHJ5LT5zdWJ0ZXN0c1tp XSk7CisJCQlyZXQgPSByZWFsbG9jKHJldCwgc2l6ZSk7CisKKwkJCXN0cmNhdChyZXQsIGRlbGlt KTsKKwkJCXN0cmNhdChyZXQsIGVudHJ5LT5zdWJ0ZXN0c1tpXSk7CisKKwkJCWRlbGltID0gIiwg IjsKKwkJfQorCQkvKiBUaGVyZSdzIGFscmVhZHkgcm9vbSBmb3IgdGhpcyAqLworCQlzdHJjYXQo cmV0LCAiKSIpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKIC8qCiAgKiBSZXR1cm5zOgogICog ID0wIC0gU3VjY2VzcwpAQCAtNzk3LDI0ICs5MTMsMTUgQEAgc3RhdGljIGludCBleGVjdXRlX25l eHRfZW50cnkoc3RydWN0IGV4ZWN1dGVfc3RhdGUgKnN0YXRlLAogCX0KIAogCWlmIChzZXR0aW5n cy0+bG9nX2xldmVsID49IExPR19MRVZFTF9OT1JNQUwpIHsKKwkJY2hhciAqZGlzcGxheW5hbWU7 CiAJCWludCB3aWR0aCA9IGRpZ2l0cyh0b3RhbCk7CiAJCXByaW50ZigiWyUwKnpkLyUwKnpkXSAi LCB3aWR0aCwgaWR4ICsgMSwgd2lkdGgsIHRvdGFsKTsKIAogCQlwcmludF90aW1lX2xlZnQoc3Rh dGUsIHNldHRpbmdzKTsKIAotCQlwcmludGYoIiVzIiwgZW50cnktPmJpbmFyeSk7Ci0KLQkJaWYg KGVudHJ5LT5zdWJ0ZXN0X2NvdW50ID4gMCkgewotCQkJc2l6ZV90IGk7Ci0JCQljb25zdCBjaGFy ICpkZWxpbSA9ICIiOwotCi0JCQlwcmludGYoIiAoIik7Ci0JCQlmb3IgKGkgPSAwOyBpIDwgZW50 cnktPnN1YnRlc3RfY291bnQ7IGkrKykgewotCQkJCXByaW50ZigiJXMlcyIsIGRlbGltLCBlbnRy eS0+c3VidGVzdHNbaV0pOwotCQkJCWRlbGltID0gIiwgIjsKLQkJCX0KLQkJCXByaW50ZigiKSIp OwotCQl9CisJCWRpc3BsYXluYW1lID0gZW50cnlfZGlzcGxheV9uYW1lKGVudHJ5KTsKKwkJcHJp bnRmKCIlcyIsIGRpc3BsYXluYW1lKTsKKwkJZnJlZShkaXNwbGF5bmFtZSk7CiAKIAkJcHJpbnRm KCJcbiIpOwogCX0KQEAgLTg5Niw3ICsxMDAzLDggQEAgc3RhdGljIGJvb2wgY2xlYXJfb2xkX3Jl c3VsdHMoY2hhciAqcGF0aCkKIAogCWlmIChyZW1vdmVfZmlsZShkaXJmZCwgInVuYW1lLnR4dCIp IHx8CiAJICAgIHJlbW92ZV9maWxlKGRpcmZkLCAic3RhcnR0aW1lLnR4dCIpIHx8Ci0JICAgIHJl bW92ZV9maWxlKGRpcmZkLCAiZW5kdGltZS50eHQiKSkgeworCSAgICByZW1vdmVfZmlsZShkaXJm ZCwgImVuZHRpbWUudHh0IikgfHwKKwkgICAgcmVtb3ZlX2ZpbGUoZGlyZmQsICJhYm9ydGVkLnR4 dCIpKSB7CiAJCWNsb3NlKGRpcmZkKTsKIAkJZnByaW50ZihzdGRlcnIsICJFcnJvciBjbGVhcmlu ZyBvbGQgcmVzdWx0czogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CiAJCXJldHVybiBmYWxzZTsK QEAgLTk1Nyw2ICsxMDY1LDcgQEAgYm9vbCBpbml0aWFsaXplX2V4ZWN1dGVfc3RhdGVfZnJvbV9y ZXN1bWUoaW50IGRpcmZkLAogCWZyZWVfc2V0dGluZ3Moc2V0dGluZ3MpOwogCWZyZWVfam9iX2xp c3QobGlzdCk7CiAJbWVtc2V0KHN0YXRlLCAwLCBzaXplb2YoKnN0YXRlKSk7CisJc3RhdGUtPnJl c3VtaW5nID0gdHJ1ZTsKIAogCWlmICghcmVhZF9zZXR0aW5ncyhzZXR0aW5ncywgZGlyZmQpIHx8 CiAJICAgICFyZWFkX2pvYl9saXN0KGxpc3QsIGRpcmZkKSkgewpAQCAtMTA0NCw2ICsxMTUzLDIy IEBAIHN0YXRpYyBib29sIG92ZXJhbGxfdGltZW91dF9leGNlZWRlZChzdHJ1Y3QgZXhlY3V0ZV9z dGF0ZSAqc3RhdGUpCiAJcmV0dXJuIHN0YXRlLT50aW1lX2xlZnQgPT0gMC4wOwogfQogCitzdGF0 aWMgdm9pZCB3cml0ZV9hYm9ydF9maWxlKGludCByZXNkaXJmZCwgY29uc3QgY2hhciAqcmVhc29u LCBjb25zdCBjaGFyICp0ZXN0bmFtZSkKK3sKKwlpbnQgYWJvcnRmZDsKKworCWlmICgoYWJvcnRm ZCA9IG9wZW5hdChyZXNkaXJmZCwgImFib3J0ZWQudHh0IiwgT19DUkVBVCB8IE9fV1JPTkxZIHwg T19FWENMLCAwNjY2KSkgPj0gMCkgeworCQkvKgorCQkgKiBJZ25vcmUgZmFpbHVyZSB0byBvcGVu LCB0aGVyZSdzCisJCSAqIGFscmVhZHkgYW4gYWJvcnQgcHJvYmFibHkgKGlmIHRoaXMKKwkJICog aXMgYSByZXN1bWUpCisJCSAqLworCQlkcHJpbnRmKGFib3J0ZmQsICJBYm9ydGVkIGFmdGVyOiAl c1xuXG4iLCB0ZXN0bmFtZSk7CisJCXdyaXRlKGFib3J0ZmQsIHJlYXNvbiwgc3RybGVuKHJlYXNv bikpOworCQljbG9zZShhYm9ydGZkKTsKKwl9Cit9CisKIGJvb2wgZXhlY3V0ZShzdHJ1Y3QgZXhl Y3V0ZV9zdGF0ZSAqc3RhdGUsCiAJICAgICBzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzLAogCSAg ICAgc3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCkKQEAgLTExMDAsMTQgKzEyMjUsMjkgQEAgYm9v bCBleGVjdXRlKHN0cnVjdCBleGVjdXRlX3N0YXRlICpzdGF0ZSwKIAl9CiAJY2xvc2UodW5hbWVm ZCk7CiAKKwkvKiBDaGVjayBpZiB3ZSdyZSBhbHJlYWR5IGluIGFib3J0LXN0YXRlIGF0IGJvb3R1 cCAqLworCWlmICghc3RhdGUtPnJlc3VtaW5nKSB7CisJCWNoYXIgKnJlYXNvbjsKKworCQlpZiAo KHJlYXNvbiA9IG5lZWRfdG9fYWJvcnQoc2V0dGluZ3MpKSAhPSBOVUxMKSB7CisJCQl3cml0ZV9h Ym9ydF9maWxlKHJlc2RpcmZkLCByZWFzb24sICJzdGFydHVwIik7CisJCQlmcmVlKHJlYXNvbik7 CisKKwkJCWdvdG8gZW5kOworCQl9CisJfQorCiAJZm9yICg7IHN0YXRlLT5uZXh0IDwgam9iX2xp c3QtPnNpemU7CiAJICAgICBzdGF0ZS0+bmV4dCsrKSB7Ci0JCWludCByZXN1bHQgPSBleGVjdXRl X25leHRfZW50cnkoc3RhdGUsCi0JCQkJCQlqb2JfbGlzdC0+c2l6ZSwKLQkJCQkJCSZ0aW1lX3Nw ZW50LAotCQkJCQkJc2V0dGluZ3MsCi0JCQkJCQkmam9iX2xpc3QtPmVudHJpZXNbc3RhdGUtPm5l eHRdLAotCQkJCQkJdGVzdGRpcmZkLCByZXNkaXJmZCk7CisJCWNoYXIgKnJlYXNvbjsKKwkJaW50 IHJlc3VsdDsKKworCQlyZXN1bHQgPSBleGVjdXRlX25leHRfZW50cnkoc3RhdGUsCisJCQkJCSAg ICBqb2JfbGlzdC0+c2l6ZSwKKwkJCQkJICAgICZ0aW1lX3NwZW50LAorCQkJCQkgICAgc2V0dGlu Z3MsCisJCQkJCSAgICAmam9iX2xpc3QtPmVudHJpZXNbc3RhdGUtPm5leHRdLAorCQkJCQkgICAg dGVzdGRpcmZkLCByZXNkaXJmZCk7CiAKIAkJaWYgKHJlc3VsdCA8IDApIHsKIAkJCXN0YXR1cyA9 IGZhbHNlOwpAQCAtMTEyNCw2ICsxMjY0LDE1IEBAIGJvb2wgZXhlY3V0ZShzdHJ1Y3QgZXhlY3V0 ZV9zdGF0ZSAqc3RhdGUsCiAJCQlicmVhazsKIAkJfQogCisJCWlmICgocmVhc29uID0gbmVlZF90 b19hYm9ydChzZXR0aW5ncykpICE9IE5VTEwpIHsKKwkJCWNoYXIgKmRpc3BsYXluYW1lID0gZW50 cnlfZGlzcGxheV9uYW1lKCZqb2JfbGlzdC0+ZW50cmllc1tzdGF0ZS0+bmV4dF0pOworCQkJd3Jp dGVfYWJvcnRfZmlsZShyZXNkaXJmZCwgcmVhc29uLCBkaXNwbGF5bmFtZSk7CisJCQlmcmVlKGRp c3BsYXluYW1lKTsKKwkJCWZyZWUocmVhc29uKTsKKwkJCXN0YXR1cyA9IGZhbHNlOworCQkJYnJl YWs7CisJCX0KKwogCQlpZiAocmVzdWx0ID4gMCkgewogCQkJZG91YmxlIHRpbWVfbGVmdCA9IHN0 YXRlLT50aW1lX2xlZnQ7CiAKQEAgLTExNDAsNiArMTI4OSw3IEBAIGJvb2wgZXhlY3V0ZShzdHJ1 Y3QgZXhlY3V0ZV9zdGF0ZSAqc3RhdGUsCiAJCWNsb3NlKHRpbWVmZCk7CiAJfQogCisgZW5kOgog CWNsb3NlKHRlc3RkaXJmZCk7CiAJY2xvc2UocmVzZGlyZmQpOwogCWNsb3NlX3dhdGNoZG9ncyhz ZXR0aW5ncyk7CmRpZmYgLS1naXQgYS9ydW5uZXIvZXhlY3V0b3IuaCBiL3J1bm5lci9leGVjdXRv ci5oCmluZGV4IDI1MjMzOWFiLi4xMjg4M2YxNSAxMDA2NDQKLS0tIGEvcnVubmVyL2V4ZWN1dG9y LmgKKysrIGIvcnVubmVyL2V4ZWN1dG9yLmgKQEAgLTEzLDYgKzEzLDcgQEAgc3RydWN0IGV4ZWN1 dGVfc3RhdGUKIAkgKiA+IDAgOiBUaW1lb3V0IGluIHVzZSwgdGltZSBsZWZ0LgogCSAqLwogCWRv dWJsZSB0aW1lX2xlZnQ7CisJZG91YmxlIHJlc3VtaW5nOwogfTsKIAogZW51bSB7CmRpZmYgLS1n aXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZG1lc2cu dHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2RtZXNn LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTE4OWU3MDQKLS0tIC9k ZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 LzAvZG1lc2cudHh0CkBAIC0wLDAgKzEsNSBAQAorNiw5NTEsMzIxNjE4NjA5NTA4MywtO0NvbnNv bGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1CisxNCw5NTIsMzIxNjE4 NjA5NTA5NywtO1tJR1RdIHN1Y2Nlc3N0ZXN0OiBleGVjdXRpbmcKKzE0LDk1MywzMjE2MTg2MTAx MTE1LC07W0lHVF0gc3VjY2Vzc3Rlc3Q6IHN0YXJ0aW5nIHN1YnRlc3QgZmlyc3Qtc3VidGVzdAor MTQsOTU0LDMyMTYxODYxMDExNjAsLTtbSUdUXSBzdWNjZXNzdGVzdDogZXhpdGluZywgcmV0PTAK KzYsOTU1LDMyMTYxODYxMDEyOTksLTtDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1l IGJ1ZmZlciBkZXZpY2UgMjQweDc1CmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRh L2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvZXJyLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvMC9lcnIudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwLi41ZGM3ODA1NwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3Rz X2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9lcnIudHh0CkBAIC0wLDAgKzEsMiBAQAorU3Rh cnRpbmcgc3VidGVzdDogZmlyc3Qtc3VidGVzdAorU3VidGVzdCBmaXJzdC1zdWJ0ZXN0OiBTVUND RVNTICgwLjAwMHMpCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQt YWZ0ZXItYS10ZXN0LzAvam91cm5hbC50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0 ZWQtYWZ0ZXItYS10ZXN0LzAvam91cm5hbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAuLjg2YTMwZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNf ZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC8wL2pvdXJuYWwudHh0CkBAIC0wLDAgKzEsMiBAQAor Zmlyc3Qtc3VidGVzdAorZXhpdDowICgwLjAxNHMpCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90 ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0LzAvb3V0LnR4dCBiL3J1bm5lci9qc29uX3Rl c3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwLi41OTQ2YmYzMQotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvMC9vdXQudHh0CkBAIC0wLDAgKzEs MyBAQAorSUdULVZlcnNpb246IDEuMjMtZzBjNzYzYmZkICh4ODZfNjQpIChMaW51eDogNC4xOC4w LTEtYW1kNjQgeDg2XzY0KQorU3RhcnRpbmcgc3VidGVzdDogZmlyc3Qtc3VidGVzdAorU3VidGVz dCBmaXJzdC1zdWJ0ZXN0OiBTVUNDRVNTICgwLjAwMHMpCmRpZmYgLS1naXQgYS9ydW5uZXIvanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L1JFQURNRS50eHQgYi9ydW5uZXIvanNv bl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L1JFQURNRS50eHQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjFhZDg5MDUzCi0tLSAvZGV2L251bGwKKysrIGIvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9SRUFETUUudHh0CkBAIC0w LDAgKzEgQEAKK0EgcnVuIHRoYXQgYWJvcnRlZCBhZnRlciBydW5uaW5nIHRoZSBmaXJzdCB0ZXN0 LgpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC9hYm9ydGVkLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRl c3QvYWJvcnRlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjNjOGYy NzA3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFm dGVyLWEtdGVzdC9hYm9ydGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0Fib3J0ZWQgYWZ0ZXI6IHN1 Y2Nlc3N0ZXN0IChmaXJzdC1zdWJ0ZXN0KQorCitLZXJuZWwgdGFpbnRlZCAoMHgyMDApCmRpZmYg LS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2VuZHRp bWUudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9lbmR0 aW1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNjM1ZjZhZTkKLS0t IC9kZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10 ZXN0L2VuZHRpbWUudHh0CkBAIC0wLDAgKzEgQEAKKzE1Mzk5NTM3MzUuMTcyMzczCmRpZmYgLS1n aXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L2pvYmxpc3Qu dHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9qb2JsaXN0 LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMzFlZjg0MTMKLS0tIC9k ZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0 L2pvYmxpc3QudHh0CkBAIC0wLDAgKzEsNSBAQAorc3VjY2Vzc3Rlc3QgZmlyc3Qtc3VidGVzdAor c3VjY2Vzc3Rlc3Qgc2Vjb25kLXN1YnRlc3QKK25vLXN1YnRlc3RzCitza2lwcGVycyBza2lwLW9u ZQorc2tpcHBlcnMgc2tpcC10d28KZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvbWV0YWRhdGEudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0 YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9tZXRhZGF0YS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAuLjc4NTA3NmU5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25f dGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVzdC9tZXRhZGF0YS50eHQKQEAgLTAsMCArMSwx MiBAQAorYWJvcnRfbWFzayA6IDMKK25hbWUgOiBub3JtYWwtcnVuCitkcnlfcnVuIDogMAorc3lu YyA6IDAKK2xvZ19sZXZlbCA6IDAKK292ZXJ3cml0ZSA6IDAKK211bHRpcGxlX21vZGUgOiAwCitp bmFjdGl2aXR5X3RpbWVvdXQgOiAwCit1c2Vfd2F0Y2hkb2cgOiAwCitwaWdsaXRfc3R5bGVfZG1l c2cgOiAwCit0ZXN0X3Jvb3QgOiAvcGF0aC9kb2VzL25vdC9leGlzdAorcmVzdWx0c19wYXRoIDog L3BhdGgvZG9lcy9ub3QvZXhpc3QKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1hZnRlci1hLXRlc3QvcmVmZXJlbmNlLmpzb24gYi9ydW5uZXIvanNvbl90ZXN0c19k YXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3JlZmVyZW5jZS5qc29uCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwLi4xZTA4ZGVjYQotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvcmVmZXJlbmNlLmpzb24KQEAgLTAs MCArMSw5MCBAQAoreworICAiX190eXBlX18iOiJUZXN0cnVuUmVzdWx0IiwKKyAgInJlc3VsdHNf dmVyc2lvbiI6OSwKKyAgIm5hbWUiOiJub3JtYWwtcnVuIiwKKyAgInVuYW1lIjoiTGludXggaG9z dG5hbWUgNC4xOC4wLTEtYW1kNjQgIzEgU01QIERlYmlhbiA0LjE4LjYtMSAoMjAxOC0wOS0wNikg eDg2XzY0IiwKKyAgInRpbWVfZWxhcHNlZCI6eworICAgICJfX3R5cGVfXyI6IlRpbWVBdHRyaWJ1 dGUiLAorICAgICJzdGFydCI6MTUzOTk1MzczNS4xMTEwMzg5LAorICAgICJlbmQiOjE1Mzk5NTM3 MzUuMTcyMzczMQorICB9LAorICAidGVzdHMiOnsKKyAgICAiaWd0QHN1Y2Nlc3N0ZXN0QGZpcnN0 LXN1YnRlc3QiOnsKKyAgICAgICJvdXQiOiJTdGFydGluZyBzdWJ0ZXN0OiBmaXJzdC1zdWJ0ZXN0 XG5TdWJ0ZXN0IGZpcnN0LXN1YnRlc3Q6IFNVQ0NFU1MgKDAuMDAwcylcbiIsCisgICAgICAiaWd0 LXZlcnNpb24iOiJJR1QtVmVyc2lvbjogMS4yMy1nMGM3NjNiZmQgKHg4Nl82NCkgKExpbnV4OiA0 LjE4LjAtMS1hbWQ2NCB4ODZfNjQpIiwKKyAgICAgICJyZXN1bHQiOiJwYXNzIiwKKyAgICAgICJ0 aW1lIjp7CisgICAgICAgICJfX3R5cGVfXyI6IlRpbWVBdHRyaWJ1dGUiLAorICAgICAgICAic3Rh cnQiOjAsCisgICAgICAgICJlbmQiOjAKKyAgICAgIH0sCisgICAgICAiZXJyIjoiU3RhcnRpbmcg c3VidGVzdDogZmlyc3Qtc3VidGVzdFxuU3VidGVzdCBmaXJzdC1zdWJ0ZXN0OiBTVUNDRVNTICgw LjAwMHMpXG4iLAorICAgICAgImRtZXNnIjoiPDY+IFszMjE2MTg2LjA5NTA4M10gQ29uc29sZTog c3dpdGNoaW5nIHRvIGNvbG91ciBkdW1teSBkZXZpY2UgODB4MjVcbjw2PiBbMzIxNjE4Ni4wOTUw OTddIFtJR1RdIHN1Y2Nlc3N0ZXN0OiBleGVjdXRpbmdcbjw2PiBbMzIxNjE4Ni4xMDExMTVdIFtJ R1RdIHN1Y2Nlc3N0ZXN0OiBzdGFydGluZyBzdWJ0ZXN0IGZpcnN0LXN1YnRlc3Rcbjw2PiBbMzIx NjE4Ni4xMDExNjBdIFtJR1RdIHN1Y2Nlc3N0ZXN0OiBleGl0aW5nLCByZXQ9MFxuPDY+IFszMjE2 MTg2LjEwMTI5OV0gQ29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91ciBmcmFtZSBidWZmZXIgZGV2 aWNlIDI0MHg3NVxuIgorICAgIH0sCisgICAgImlndEBydW5uZXJAYWJvcnRlZCI6eworCSJvdXQi OiJBYm9ydGVkIGFmdGVyOiBzdWNjZXNzdGVzdCAoZmlyc3Qtc3VidGVzdClcblxuS2VybmVsIHRh aW50ZWQgKDB4MjAwKVxuIiwKKwkicmVzdWx0IjoiZmFpbCIsCisJImVyciI6IiIsCisJImRtZXNn IjoiIiwKKyAgICB9CisgIH0sCisgICJ0b3RhbHMiOnsKKyAgICAiIjp7CisgICAgICAiY3Jhc2gi OjAsCisgICAgICAicGFzcyI6MSwKKyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNn LXdhcm4iOjAsCisgICAgICAic2tpcCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAg InRpbWVvdXQiOjAsCisgICAgICAibm90cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAi d2FybiI6MAorICAgIH0sCisgICAgInJvb3QiOnsKKyAgICAgICJjcmFzaCI6MCwKKyAgICAgICJw YXNzIjoxLAorICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2FybiI6MCwKKyAg ICAgICJza2lwIjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGltZW91dCI6MCwK KyAgICAgICJub3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3YXJuIjowCisgICAg fSwKKyAgICAiaWd0QHN1Y2Nlc3N0ZXN0Ijp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFz cyI6MSwKKyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAg ICAic2tpcCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisg ICAgICAibm90cnVuIjowLAorICAgICAgImZhaWwiOjAsCisgICAgICAid2FybiI6MAorICAgIH0s CisgICAgImlndEBydW5uZXIiOnsKKyAgICAgICJjcmFzaCI6MCwKKyAgICAgICJwYXNzIjowLAor ICAgICAgImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2FybiI6MCwKKyAgICAgICJza2lw IjowLAorICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGltZW91dCI6MCwKKyAgICAgICJu b3RydW4iOjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3YXJuIjowCisgICAgfSwKKyAgfSwK KyAgInJ1bnRpbWVzIjp7CisgICAgImlndEBzdWNjZXNzdGVzdCI6eworICAgICAgInRpbWUiOnsK KyAgICAgICAgIl9fdHlwZV9fIjoiVGltZUF0dHJpYnV0ZSIsCisgICAgICAgICJzdGFydCI6MCwK KyAgICAgICAgImVuZCI6MC4wMTQKKyAgICAgIH0KKyAgICB9LAorICB9Cit9CmRpZmYgLS1naXQg YS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3N0YXJ0dGltZS50 eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3N0YXJ0dGlt ZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmFlMDM4ZjE4Ci0tLSAv ZGV2L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLWFmdGVyLWEtdGVz dC9zdGFydHRpbWUudHh0CkBAIC0wLDAgKzEgQEAKKzE1Mzk5NTM3MzUuMTExMDM5CmRpZmYgLS1n aXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtYWZ0ZXItYS10ZXN0L3VuYW1lLnR4 dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvdW5hbWUudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5hN2FlZjZmNwotLS0gL2Rldi9u dWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1hZnRlci1hLXRlc3QvdW5h bWUudHh0CkBAIC0wLDAgKzEgQEAKK0xpbnV4IGhvc3RuYW1lIDQuMTguMC0xLWFtZDY0ICMxIFNN UCBEZWJpYW4gNC4xOC42LTEgKDIwMTgtMDktMDYpIHg4Nl82NApkaWZmIC0tZ2l0IGEvcnVubmVy L2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvUkVBRE1FLnR4dCBiL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L1JFQURNRS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAuLmU5NTdjNDBmCi0tLSAvZGV2L251bGwKKysrIGIvcnVubmVyL2pz b25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvUkVBRE1FLnR4dApAQCAtMCwwICsxIEBACitB IHJ1biB0aGF0IGFib3J0ZWQgYmVmb3JlIHJ1bm5pbmcgYW55IHRlc3RzLgpkaWZmIC0tZ2l0IGEv cnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvYWJvcnRlZC50eHQgYi9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9hYm9ydGVkLnR4dApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNGExYzFhMzIKLS0tIC9kZXYvbnVsbAorKysgYi9y dW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9hYm9ydGVkLnR4dApAQCAtMCww ICsxLDMgQEAKK0Fib3J0ZWQgYWZ0ZXI6IHN0YXJ0dXAKKworS2VybmVsIHRhaW50ZWQgKDB4MjAw KQpkaWZmIC0tZ2l0IGEvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvZW5k dGltZS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9lbmR0aW1l LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNjM1ZjZhZTkKLS0tIC9k ZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9lbmR0 aW1lLnR4dApAQCAtMCwwICsxIEBACisxNTM5OTUzNzM1LjE3MjM3MwpkaWZmIC0tZ2l0IGEvcnVu bmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3Qvam9ibGlzdC50eHQgYi9ydW5uZXIv anNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9qb2JsaXN0LnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMzFlZjg0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9qb2JsaXN0LnR4dApAQCAtMCwwICsx LDUgQEAKK3N1Y2Nlc3N0ZXN0IGZpcnN0LXN1YnRlc3QKK3N1Y2Nlc3N0ZXN0IHNlY29uZC1zdWJ0 ZXN0Cituby1zdWJ0ZXN0cworc2tpcHBlcnMgc2tpcC1vbmUKK3NraXBwZXJzIHNraXAtdHdvCmRp ZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9tZXRhZGF0 YS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9tZXRhZGF0YS50 eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjc4NTA3NmU5Ci0tLSAvZGV2 L251bGwKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9hYm9ydGVkLW9uLWJvb3QvbWV0YWRh dGEudHh0CkBAIC0wLDAgKzEsMTIgQEAKK2Fib3J0X21hc2sgOiAzCituYW1lIDogbm9ybWFsLXJ1 bgorZHJ5X3J1biA6IDAKK3N5bmMgOiAwCitsb2dfbGV2ZWwgOiAwCitvdmVyd3JpdGUgOiAwCitt dWx0aXBsZV9tb2RlIDogMAoraW5hY3Rpdml0eV90aW1lb3V0IDogMAordXNlX3dhdGNoZG9nIDog MAorcGlnbGl0X3N0eWxlX2RtZXNnIDogMAordGVzdF9yb290IDogL3BhdGgvZG9lcy9ub3QvZXhp c3QKK3Jlc3VsdHNfcGF0aCA6IC9wYXRoL2RvZXMvbm90L2V4aXN0CmRpZmYgLS1naXQgYS9ydW5u ZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC9yZWZlcmVuY2UuanNvbiBiL3J1bm5l ci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L3JlZmVyZW5jZS5qc29uCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5iZmFlZTFiYgotLS0gL2Rldi9udWxsCisrKyBi L3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L3JlZmVyZW5jZS5qc29uCkBA IC0wLDAgKzEsNTkgQEAKK3sKKyAgIl9fdHlwZV9fIjoiVGVzdHJ1blJlc3VsdCIsCisgICJyZXN1 bHRzX3ZlcnNpb24iOjksCisgICJuYW1lIjoibm9ybWFsLXJ1biIsCisgICJ1bmFtZSI6IkxpbnV4 IGhvc3RuYW1lIDQuMTguMC0xLWFtZDY0ICMxIFNNUCBEZWJpYW4gNC4xOC42LTEgKDIwMTgtMDkt MDYpIHg4Nl82NCIsCisgICJ0aW1lX2VsYXBzZWQiOnsKKyAgICAiX190eXBlX18iOiJUaW1lQXR0 cmlidXRlIiwKKyAgICAic3RhcnQiOjE1Mzk5NTM3MzUuMTExMDM4OSwKKyAgICAiZW5kIjoxNTM5 OTUzNzM1LjE3MjM3MzEKKyAgfSwKKyAgInRlc3RzIjp7CisgICAgImlndEBydW5uZXJAYWJvcnRl ZCI6eworCSJvdXQiOiJBYm9ydGVkIGFmdGVyOiBzdGFydHVwXG5cbktlcm5lbCB0YWludGVkICgw eDIwMClcbiIsCisJInJlc3VsdCI6ImZhaWwiLAorCSJlcnIiOiIiLAorCSJkbWVzZyI6IiIsCisg ICAgfQorICB9LAorICAidG90YWxzIjp7CisgICAgIiI6eworICAgICAgImNyYXNoIjowLAorICAg ICAgInBhc3MiOjAsCisgICAgICAiZG1lc2ctZmFpbCI6MCwKKyAgICAgICJkbWVzZy13YXJuIjow LAorICAgICAgInNraXAiOjAsCisgICAgICAiaW5jb21wbGV0ZSI6MCwKKyAgICAgICJ0aW1lb3V0 IjowLAorICAgICAgIm5vdHJ1biI6MCwKKyAgICAgICJmYWlsIjoxLAorICAgICAgIndhcm4iOjAK KyAgICB9LAorICAgICJyb290Ijp7CisgICAgICAiY3Jhc2giOjAsCisgICAgICAicGFzcyI6MCwK KyAgICAgICJkbWVzZy1mYWlsIjowLAorICAgICAgImRtZXNnLXdhcm4iOjAsCisgICAgICAic2tp cCI6MCwKKyAgICAgICJpbmNvbXBsZXRlIjowLAorICAgICAgInRpbWVvdXQiOjAsCisgICAgICAi bm90cnVuIjowLAorICAgICAgImZhaWwiOjEsCisgICAgICAid2FybiI6MAorICAgIH0sCisgICAg ImlndEBydW5uZXIiOnsKKyAgICAgICJjcmFzaCI6MCwKKyAgICAgICJwYXNzIjowLAorICAgICAg ImRtZXNnLWZhaWwiOjAsCisgICAgICAiZG1lc2ctd2FybiI6MCwKKyAgICAgICJza2lwIjowLAor ICAgICAgImluY29tcGxldGUiOjAsCisgICAgICAidGltZW91dCI6MCwKKyAgICAgICJub3RydW4i OjAsCisgICAgICAiZmFpbCI6MSwKKyAgICAgICJ3YXJuIjowCisgICAgfSwKKyAgfSwKKyAgInJ1 bnRpbWVzIjp7CisgIH0KK30KZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJv cnRlZC1vbi1ib290L3N0YXJ0dGltZS50eHQgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0 ZWQtb24tYm9vdC9zdGFydHRpbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwLi5hZTAzOGYxOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEv YWJvcnRlZC1vbi1ib290L3N0YXJ0dGltZS50eHQKQEAgLTAsMCArMSBAQAorMTUzOTk1MzczNS4x MTEwMzkKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290 L3VuYW1lLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvYWJvcnRlZC1vbi1ib290L3VuYW1l LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTdhZWY2ZjcKLS0tIC9k ZXYvbnVsbAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2Fib3J0ZWQtb24tYm9vdC91bmFt ZS50eHQKQEAgLTAsMCArMSBAQAorTGludXggaG9zdG5hbWUgNC4xOC4wLTEtYW1kNjQgIzEgU01Q IERlYmlhbiA0LjE4LjYtMSAoMjAxOC0wOS0wNikgeDg2XzY0CmRpZmYgLS1naXQgYS9ydW5uZXIv anNvbl90ZXN0c19kYXRhL2RtZXNnLXJlc3VsdHMvbWV0YWRhdGEudHh0IGIvcnVubmVyL2pzb25f dGVzdHNfZGF0YS9kbWVzZy1yZXN1bHRzL21ldGFkYXRhLnR4dAppbmRleCAxMzE2NTYwZC4uYzUw MWFlMGUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvZG1lc2ctcmVzdWx0cy9t ZXRhZGF0YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9kbWVzZy1yZXN1bHRzL21l dGFkYXRhLnR4dApAQCAtMSw0ICsxLDQgQEAKLWFib3J0X29uX2Vycm9yIDogMAorYWJvcnRfbWFz ayA6IDAKIG5hbWUgOiBub3JtYWwtcnVuCiBkcnlfcnVuIDogMAogc3luYyA6IDAKZGlmZiAtLWdp dCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvaW5jb21wbGV0ZS1iZWZvcmUtYW55LXN1YnRlc3Rz L21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvaW5jb21wbGV0ZS1iZWZvcmUt YW55LXN1YnRlc3RzL21ldGFkYXRhLnR4dAppbmRleCAxMzE2NTYwZC4uYzUwMWFlMGUgMTAwNjQ0 Ci0tLSBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvaW5jb21wbGV0ZS1iZWZvcmUtYW55LXN1YnRl c3RzL21ldGFkYXRhLnR4dAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL2luY29tcGxldGUt YmVmb3JlLWFueS1zdWJ0ZXN0cy9tZXRhZGF0YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9v bl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAwCiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6 IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL25vcm1hbC1y dW4vbWV0YWRhdGEudHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS9ub3JtYWwtcnVuL21ldGFk YXRhLnR4dAppbmRleCAxMzE2NTYwZC4uYzUwMWFlMGUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9qc29u X3Rlc3RzX2RhdGEvbm9ybWFsLXJ1bi9tZXRhZGF0YS50eHQKKysrIGIvcnVubmVyL2pzb25fdGVz dHNfZGF0YS9ub3JtYWwtcnVuL21ldGFkYXRhLnR4dApAQCAtMSw0ICsxLDQgQEAKLWFib3J0X29u X2Vycm9yIDogMAorYWJvcnRfbWFzayA6IDAKIG5hbWUgOiBub3JtYWwtcnVuCiBkcnlfcnVuIDog MAogc3luYyA6IDAKZGlmZiAtLWdpdCBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvcGlnbGl0LXN0 eWxlLWRtZXNnL21ldGFkYXRhLnR4dCBiL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvcGlnbGl0LXN0 eWxlLWRtZXNnL21ldGFkYXRhLnR4dAppbmRleCA3ZjEzNzJjMS4uM2VjYTc4Y2QgMTAwNjQ0Ci0t LSBhL3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvcGlnbGl0LXN0eWxlLWRtZXNnL21ldGFkYXRhLnR4 dAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3BpZ2xpdC1zdHlsZS1kbWVzZy9tZXRhZGF0 YS50eHQKQEAgLTEsNCArMSw0IEBACi1hYm9ydF9vbl9lcnJvciA6IDAKK2Fib3J0X21hc2sgOiAw CiBuYW1lIDogbm9ybWFsLXJ1bgogZHJ5X3J1biA6IDAKIHN5bmMgOiAwCmRpZmYgLS1naXQgYS9y dW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzLXdpdGgtZG1lc2ctd2FybnMvbWV0YWRhdGEu dHh0IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy13aXRoLWRtZXNnLXdhcm5zL21l dGFkYXRhLnR4dAppbmRleCAxMzE2NTYwZC4uYzUwMWFlMGUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9q c29uX3Rlc3RzX2RhdGEvd2FybmluZ3Mtd2l0aC1kbWVzZy13YXJucy9tZXRhZGF0YS50eHQKKysr IGIvcnVubmVyL2pzb25fdGVzdHNfZGF0YS93YXJuaW5ncy13aXRoLWRtZXNnLXdhcm5zL21ldGFk YXRhLnR4dApAQCAtMSw0ICsxLDQgQEAKLWFib3J0X29uX2Vycm9yIDogMAorYWJvcnRfbWFzayA6 IDAKIG5hbWUgOiBub3JtYWwtcnVuCiBkcnlfcnVuIDogMAogc3luYyA6IDAKZGlmZiAtLWdpdCBh L3J1bm5lci9qc29uX3Rlc3RzX2RhdGEvd2FybmluZ3MvbWV0YWRhdGEudHh0IGIvcnVubmVyL2pz b25fdGVzdHNfZGF0YS93YXJuaW5ncy9tZXRhZGF0YS50eHQKaW5kZXggMTMxNjU2MGQuLmM1MDFh ZTBlIDEwMDY0NAotLS0gYS9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRh LnR4dAorKysgYi9ydW5uZXIvanNvbl90ZXN0c19kYXRhL3dhcm5pbmdzL21ldGFkYXRhLnR4dApA QCAtMSw0ICsxLDQgQEAKLWFib3J0X29uX2Vycm9yIDogMAorYWJvcnRfbWFzayA6IDAKIG5hbWUg OiBub3JtYWwtcnVuCiBkcnlfcnVuIDogMAogc3luYyA6IDAKZGlmZiAtLWdpdCBhL3J1bm5lci9y ZXN1bHRnZW4uYyBiL3J1bm5lci9yZXN1bHRnZW4uYwppbmRleCBhNjJlNDAwZS4uYjA5MzNhZDcg MTAwNjQ0Ci0tLSBhL3J1bm5lci9yZXN1bHRnZW4uYworKysgYi9ydW5uZXIvcmVzdWx0Z2VuLmMK QEAgLTY0OSw2ICs2NDksNyBAQCBzdGF0aWMgYm9vbCBmaWxsX2Zyb21fZG1lc2coaW50IGZkLAog CQlhcHBlbmRfbGluZSgmZG1lc2csICZkbWVzZ2xlbiwgZm9ybWF0dGVkKTsKIAkJZnJlZShmb3Jt YXR0ZWQpOwogCX0KKwlmcmVlKGxpbmUpOwogCiAJaWYgKGN1cnJlbnRfdGVzdCAhPSBOVUxMKSB7 CiAJCWFkZF9kbWVzZyhjdXJyZW50X3Rlc3QsIGRtZXNnLCBkbWVzZ2xlbiwgd2FybmluZ3MsIHdh cm5pbmdzbGVuKTsKQEAgLTcxNyw2ICs3MTgsMTUgQEAgc3RhdGljIHZvaWQgYWRkX3N1YnRlc3Qo c3RydWN0IHN1YnRlc3RzICpzdWJ0ZXN0cywgY2hhciAqc3VidGVzdCkKIAlzdWJ0ZXN0cy0+bmFt ZXNbc3VidGVzdHMtPnNpemUgLSAxXSA9IHN1YnRlc3Q7CiB9CiAKK3N0YXRpYyB2b2lkIGZyZWVf c3VidGVzdHMoc3RydWN0IHN1YnRlc3RzICpzdWJ0ZXN0cykKK3sKKwlzaXplX3QgaTsKKworCWZv ciAoaSA9IDA7IGkgPCBzdWJ0ZXN0cy0+c2l6ZTsgaSsrKQorCQlmcmVlKHN1YnRlc3RzLT5uYW1l c1tpXSk7CisJZnJlZShzdWJ0ZXN0cy0+bmFtZXMpOworfQorCiBzdGF0aWMgdm9pZCBmaWxsX2Zy b21fam91cm5hbChpbnQgZmQsCiAJCQkgICAgICBzdHJ1Y3Qgam9iX2xpc3RfZW50cnkgKmVudHJ5 LAogCQkJICAgICAgc3RydWN0IHN1YnRlc3RzICpzdWJ0ZXN0cywKQEAgLTkwMiw3ICs5MTIsNyBA QCBzdGF0aWMgdm9pZCBhZGRfcmVzdWx0X3RvX3RvdGFscyhzdHJ1Y3QganNvbl9vYmplY3QgKnRv dGFscywKIAlqc29uX29iamVjdF9vYmplY3RfYWRkKHRvdGFscywgcmVzdWx0LCBqc29uX29iamVj dF9uZXdfaW50KG9sZCArIDEpKTsKIH0KIAotc3RhdGljIHZvaWQgYWRkX3RvX3RvdGFscyhjaGFy ICpiaW5hcnksCitzdGF0aWMgdm9pZCBhZGRfdG9fdG90YWxzKGNvbnN0IGNoYXIgKmJpbmFyeSwK IAkJCSAgc3RydWN0IHN1YnRlc3RzICpzdWJ0ZXN0cywKIAkJCSAgc3RydWN0IHJlc3VsdHMgKnJl c3VsdHMpCiB7CkBAIC05NTAsNiArOTYwLDcgQEAgc3RhdGljIGJvb2wgcGFyc2VfdGVzdF9kaXJl Y3RvcnkoaW50IGRpcmZkLAogewogCWludCBmZHNbX0ZfTEFTVF07CiAJc3RydWN0IHN1YnRlc3Rz IHN1YnRlc3RzID0ge307CisJYm9vbCBzdGF0dXMgPSB0cnVlOwogCiAJaWYgKCFvcGVuX291dHB1 dF9maWxlcyhkaXJmZCwgZmRzLCBmYWxzZSkpIHsKIAkJZnByaW50ZihzdGRlcnIsICJFcnJvciBv cGVuaW5nIG91dHB1dCBmaWxlc1xuIik7CkBAIC05NjYsMTUgKzk3NywxOCBAQCBzdGF0aWMgYm9v bCBwYXJzZV90ZXN0X2RpcmVjdG9yeShpbnQgZGlyZmQsCiAJICAgICFmaWxsX2Zyb21fb3V0cHV0 KGZkc1tfRl9FUlJdLCBlbnRyeS0+YmluYXJ5LCAiZXJyIiwgJnN1YnRlc3RzLCByZXN1bHRzLT50 ZXN0cykgfHwKIAkgICAgIWZpbGxfZnJvbV9kbWVzZyhmZHNbX0ZfRE1FU0ddLCBzZXR0aW5ncywg ZW50cnktPmJpbmFyeSwgJnN1YnRlc3RzLCByZXN1bHRzLT50ZXN0cykpIHsKIAkJZnByaW50Zihz dGRlcnIsICJFcnJvciBwYXJzaW5nIG91dHB1dCBmaWxlc1xuIik7Ci0JCXJldHVybiBmYWxzZTsK KwkJc3RhdHVzID0gZmFsc2U7CisJCWdvdG8gcGFyc2Vfb3V0cHV0X2VuZDsKIAl9CiAKIAlvdmVy cmlkZV9yZXN1bHRzKGVudHJ5LT5iaW5hcnksICZzdWJ0ZXN0cywgcmVzdWx0cy0+dGVzdHMpOwog CWFkZF90b190b3RhbHMoZW50cnktPmJpbmFyeSwgJnN1YnRlc3RzLCByZXN1bHRzKTsKIAorIHBh cnNlX291dHB1dF9lbmQ6CiAJY2xvc2Vfb3V0cHV0cyhmZHMpOworCWZyZWVfc3VidGVzdHMoJnN1 YnRlc3RzKTsKIAotCXJldHVybiB0cnVlOworCXJldHVybiBzdGF0dXM7CiB9CiAKIHN0YXRpYyB2 b2lkIGNyZWF0ZV9yZXN1bHRfcm9vdF9ub2RlcyhzdHJ1Y3QganNvbl9vYmplY3QgKnJvb3QsCkBA IC0xMDc3LDYgKzEwOTEsMzQgQEAgc3RydWN0IGpzb25fb2JqZWN0ICpnZW5lcmF0ZV9yZXN1bHRz X2pzb24oaW50IGRpcmZkKQogCQljbG9zZSh0ZXN0ZGlyZmQpOwogCX0KIAorCWlmICgoZmQgPSBv cGVuYXQoZGlyZmQsICJhYm9ydGVkLnR4dCIsIE9fUkRPTkxZKSkgPj0gMCkgeworCQljaGFyIGJ1 Zls0MDk2XTsKKwkJY2hhciBwaWdsaXRfbmFtZVtdID0gImlndEBydW5uZXJAYWJvcnRlZCI7CisJ CXN0cnVjdCBzdWJ0ZXN0cyBhYm9ydHN1YiA9IHt9OworCQlzdHJ1Y3QganNvbl9vYmplY3QgKmFi b3J0dGVzdCA9IGdldF9vcl9jcmVhdGVfanNvbl9vYmplY3QocmVzdWx0cy50ZXN0cywgcGlnbGl0 X25hbWUpOworCQlzc2l6ZV90IHM7CisKKwkJYWRkX3N1YnRlc3QoJmFib3J0c3ViLCBzdHJkdXAo ImFib3J0ZWQiKSk7CisKKwkJcyA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCWpz b25fb2JqZWN0X29iamVjdF9hZGQoYWJvcnR0ZXN0LCAib3V0IiwKKwkJCQkgICAgICAganNvbl9v YmplY3RfbmV3X3N0cmluZ19sZW4oYnVmLCBzKSk7CisJCWpzb25fb2JqZWN0X29iamVjdF9hZGQo YWJvcnR0ZXN0LCAiZXJyIiwKKwkJCQkgICAgICAganNvbl9vYmplY3RfbmV3X3N0cmluZygiIikp OworCQlqc29uX29iamVjdF9vYmplY3RfYWRkKGFib3J0dGVzdCwgImRtZXNnIiwKKwkJCQkgICAg ICAganNvbl9vYmplY3RfbmV3X3N0cmluZygiIikpOworCQlqc29uX29iamVjdF9vYmplY3RfYWRk KGFib3J0dGVzdCwgInJlc3VsdCIsCisJCQkJICAgICAgIGpzb25fb2JqZWN0X25ld19zdHJpbmco ImZhaWwiKSk7CisKKwkJYWRkX3RvX3RvdGFscygicnVubmVyIiwgJmFib3J0c3ViLCAmcmVzdWx0 cyk7CisKKwkJZnJlZV9zdWJ0ZXN0cygmYWJvcnRzdWIpOworCX0KKworCWZyZWVfc2V0dGluZ3Mo JnNldHRpbmdzKTsKKwlmcmVlX2pvYl9saXN0KCZqb2JfbGlzdCk7CisKIAlyZXR1cm4gb2JqOwog fQogCmRpZmYgLS1naXQgYS9ydW5uZXIvcnVubmVyX2pzb25fdGVzdHMuYyBiL3J1bm5lci9ydW5u ZXJfanNvbl90ZXN0cy5jCmluZGV4IDc1ODcwMGQ0Li43NWQ2MjM3ZiAxMDA2NDQKLS0tIGEvcnVu bmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMKKysrIGIvcnVubmVyL3J1bm5lcl9qc29uX3Rlc3RzLmMK QEAgLTE1NCw2ICsxNTQsOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZGlybmFtZXNbXSA9IHsKIAki cGlnbGl0LXN0eWxlLWRtZXNnIiwKIAkiaW5jb21wbGV0ZS1iZWZvcmUtYW55LXN1YnRlc3RzIiwK IAkiZG1lc2ctcmVzdWx0cyIsCisJImFib3J0ZWQtb24tYm9vdCIsCisJImFib3J0ZWQtYWZ0ZXIt YS10ZXN0IiwKIH07CiAKIGlndF9tYWluCmRpZmYgLS1naXQgYS9ydW5uZXIvcnVubmVyX3Rlc3Rz LmMgYi9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKaW5kZXggZDA3ZTZmMzcuLjYyMTNiOGU3IDEwMDY0 NAotLS0gYS9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKKysrIGIvcnVubmVyL3J1bm5lcl90ZXN0cy5j CkBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X3NldHRpbmdzX2VxdWFsKHN0 cnVjdCBzZXR0aW5ncyAqb25lLCBzdHJ1Y3Qgc2V0dGluZ3MgKnR3bykKIAkgKiBSZWdleCBsaXN0 cyBhcmUgbm90IHNlcmlhbGl6ZWQsIGFuZCB0aHVzIHdvbid0IGJlIGNvbXBhcmVkCiAJICogaGVy ZS4KIAkgKi8KLQlpZ3RfYXNzZXJ0X2VxKG9uZS0+YWJvcnRfb25fZXJyb3IsIHR3by0+YWJvcnRf b25fZXJyb3IpOworCWlndF9hc3NlcnRfZXEob25lLT5hYm9ydF9tYXNrLCB0d28tPmFib3J0X21h c2spOwogCWlndF9hc3NlcnRfZXFzdHIob25lLT50ZXN0X2xpc3QsIHR3by0+dGVzdF9saXN0KTsK IAlpZ3RfYXNzZXJ0X2Vxc3RyKG9uZS0+bmFtZSwgdHdvLT5uYW1lKTsKIAlpZ3RfYXNzZXJ0X2Vx KG9uZS0+ZHJ5X3J1biwgdHdvLT5kcnlfcnVuKTsKQEAgLTIwOCw3ICsyMDgsNyBAQCBpZ3RfbWFp bgogCiAJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioq KWFyZ3YsICZzZXR0aW5ncykpOwogCi0JCWlndF9hc3NlcnQoIXNldHRpbmdzLmFib3J0X29uX2Vy cm9yKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCAwKTsKIAkJaWd0X2Fz c2VydCghc2V0dGluZ3MudGVzdF9saXN0KTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy5u YW1lLCAicGF0aC10by1yZXN1bHRzIik7CiAJCWlndF9hc3NlcnQoIXNldHRpbmdzLmRyeV9ydW4p OwpAQCAtMzIzLDcgKzMyMyw3IEBAIGlndF9tYWluCiAJCXNldGVudigiSUdUX1RFU1RfUk9PVCIs IHRlc3RkYXRhZGlyLCAxKTsKIAkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUo YXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CiAKLQkJaWd0X2Fzc2VydCghc2V0dGlu Z3MuYWJvcnRfb25fZXJyb3IpOworCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ss IDApOwogCQlpZ3RfYXNzZXJ0KCFzZXR0aW5ncy50ZXN0X2xpc3QpOwogCQlpZ3RfYXNzZXJ0X2Vx c3RyKHNldHRpbmdzLm5hbWUsICJwYXRoLXRvLXJlc3VsdHMiKTsKIAkJaWd0X2Fzc2VydCghc2V0 dGluZ3MuZHJ5X3J1bik7CkBAIC0zNDgsNyArMzQ4LDcgQEAgaWd0X21haW4KIAlpZ3Rfc3VidGVz dCgicGFyc2UtYWxsLXNldHRpbmdzIikgewogCQljb25zdCBjaGFyICphcmd2W10gPSB7ICJydW5u ZXIiLAogCQkJCSAgICAgICAiLW4iLCAiZm9vIiwKLQkJCQkgICAgICAgIi0tYWJvcnQtb24tbW9u aXRvcmVkLWVycm9yIiwKKwkJCQkgICAgICAgIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPXRh aW50LGxvY2tkZXAiLAogCQkJCSAgICAgICAiLS10ZXN0LWxpc3QiLCAicGF0aC10by10ZXN0LWxp c3QiLAogCQkJCSAgICAgICAiLS1pZ25vcmUtbWlzc2luZyIsCiAJCQkJICAgICAgICItLWRyeS1y dW4iLApAQCAtMzcwLDcgKzM3MCw3IEBAIGlndF9tYWluCiAKIAkJaWd0X2Fzc2VydChwYXJzZV9v cHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CiAKLQkJ aWd0X2Fzc2VydChzZXR0aW5ncy5hYm9ydF9vbl9lcnJvcik7CisJCWlndF9hc3NlcnRfZXEoc2V0 dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQgfCBBQk9SVF9MT0NLREVQKTsKIAkJaWd0X2Fz c2VydChzdHJzdHIoc2V0dGluZ3MudGVzdF9saXN0LCAicGF0aC10by10ZXN0LWxpc3QiKSAhPSBO VUxMKTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy5uYW1lLCAiZm9vIik7CiAJCWlndF9h c3NlcnQoc2V0dGluZ3MuZHJ5X3J1bik7CkBAIC00MjgsNiArNDI4LDQ1IEBAIGlndF9tYWluCiAJ CWlndF9hc3NlcnRfZXEoc2V0dGluZ3MubG9nX2xldmVsLCBMT0dfTEVWRUxfVkVSQk9TRSk7CiAJ fQogCisJaWd0X3N1YnRlc3QoImFib3J0LWNvbmRpdGlvbnMiKSB7CisJCWNvbnN0IGNoYXIgKmFy Z3ZbXSA9IHsgInJ1bm5lciIsCisJCQkJICAgICAgICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJv cj10YWludCIsCisJCQkJICAgICAgICJ0ZXN0LXJvb3QtZGlyIiwKKwkJCQkgICAgICAgInJlc3Vs dHMtcGF0aCIsCisJCX07CisKKwkJaWd0X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUo YXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGlu Z3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQpOworCisJCWFyZ3ZbMV0gPSAiLS1hYm9ydC1vbi1t b25pdG9yZWQtZXJyb3I9bG9ja2RlcCI7CisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJB WV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3RfYXNzZXJ0X2Vx KHNldHRpbmdzLmFib3J0X21hc2ssIEFCT1JUX0xPQ0tERVApOworCisJCWFyZ3ZbMV0gPSAiLS1h Ym9ydC1vbi1tb25pdG9yZWQtZXJyb3I9dGFpbnQiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlv bnMoQVJSQVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fz c2VydF9lcShzZXR0aW5ncy5hYm9ydF9tYXNrLCBBQk9SVF9UQUlOVCk7CisKKwkJYXJndlsxXSA9 ICItLWFib3J0LW9uLW1vbml0b3JlZC1lcnJvcj1sb2NrZGVwLHRhaW50IjsKKwkJaWd0X2Fzc2Vy dChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdz KSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfVEFJTlQgfCBB Qk9SVF9MT0NLREVQKTsKKworCQlhcmd2WzFdID0gIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9y PXRhaW50LGxvY2tkZXAiOworCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJSQVlfU0laRShh cmd2KSwgKGNoYXIqKilhcmd2LCAmc2V0dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5n cy5hYm9ydF9tYXNrLCBBQk9SVF9UQUlOVCB8IEFCT1JUX0xPQ0tERVApOworCisJCWFyZ3ZbMV0g PSAiLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJyb3I9YWxsIjsKKwkJaWd0X2Fzc2VydChwYXJzZV9v cHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgJnNldHRpbmdzKSk7CisJCWln dF9hc3NlcnRfZXEoc2V0dGluZ3MuYWJvcnRfbWFzaywgQUJPUlRfQUxMKTsKKworCQlhcmd2WzFd ID0gIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPSI7CisJCWlndF9hc3NlcnQocGFyc2Vfb3B0 aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCQlpZ3Rf YXNzZXJ0X2VxKHNldHRpbmdzLmFib3J0X21hc2ssIDApOworCisJCWFyZ3ZbMV0gPSAiLS1hYm9y dC1vbi1tb25pdG9yZWQtZXJyb3I9ZG9lc25vdGV4aXN0IjsKKwkJaWd0X2Fzc2VydCghcGFyc2Vf b3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAoY2hhcioqKWFyZ3YsICZzZXR0aW5ncykpOworCisJ fQorCiAJaWd0X3N1YnRlc3QoInBhcnNlLWNsZWFycy1vbGQtZGF0YSIpIHsKIAkJY29uc3QgY2hh ciAqYXJndltdID0geyAicnVubmVyIiwKIAkJCQkgICAgICAgIi1uIiwgImZvbyIsCmRpZmYgLS1n aXQgYS9ydW5uZXIvc2V0dGluZ3MuYyBiL3J1bm5lci9zZXR0aW5ncy5jCmluZGV4IGUyNDAxNDU1 Li5lNjQyNDRlNiAxMDA2NDQKLS0tIGEvcnVubmVyL3NldHRpbmdzLmMKKysrIGIvcnVubmVyL3Nl dHRpbmdzLmMKQEAgLTQxLDYgKzQxLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgewogCXsgMCwgMCB9LAog fTsKIAorc3RhdGljIHN0cnVjdCB7CisJaW50IHZhbHVlOworCWNvbnN0IGNoYXIgKm5hbWU7Cit9 IGFib3J0X2NvbmRpdGlvbnNbXSA9IHsKKwl7IEFCT1JUX1RBSU5ULCAidGFpbnQiIH0sCisJeyBB Qk9SVF9MT0NLREVQLCAibG9ja2RlcCIgfSwKKwl7IEFCT1JUX0FMTCwgImFsbCIgfSwKKwl7IDAs IDAgfSwKK307CisKIHN0YXRpYyBib29sIHNldF9sb2dfbGV2ZWwoc3RydWN0IHNldHRpbmdzKiBz ZXR0aW5ncywgY29uc3QgY2hhciAqbGV2ZWwpCiB7CiAJdHlwZW9mKCpsb2dfbGV2ZWxzKSAqaXQ7 CkBAIC01NSw2ICs2NSw1NiBAQCBzdGF0aWMgYm9vbCBzZXRfbG9nX2xldmVsKHN0cnVjdCBzZXR0 aW5ncyogc2V0dGluZ3MsIGNvbnN0IGNoYXIgKmxldmVsKQogCXJldHVybiBmYWxzZTsKIH0KIAor c3RhdGljIGJvb2wgc2V0X2Fib3J0X2NvbmRpdGlvbihzdHJ1Y3Qgc2V0dGluZ3MqIHNldHRpbmdz LCBjb25zdCBjaGFyICpjb25kKQoreworCXR5cGVvZigqYWJvcnRfY29uZGl0aW9ucykgKml0Owor CisJaWYgKCFjb25kKSB7CisJCXNldHRpbmdzLT5hYm9ydF9tYXNrID0gQUJPUlRfQUxMOworCQly ZXR1cm4gdHJ1ZTsKKwl9CisKKwlpZiAoc3RybGVuKGNvbmQpID09IDApIHsKKwkJc2V0dGluZ3Mt PmFib3J0X21hc2sgPSAwOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlmb3IgKGl0ID0gYWJvcnRf Y29uZGl0aW9uczsgaXQtPm5hbWU7IGl0KyspIHsKKwkJaWYgKCFzdHJjbXAoY29uZCwgaXQtPm5h bWUpKSB7CisJCQlzZXR0aW5ncy0+YWJvcnRfbWFzayB8PSBpdC0+dmFsdWU7CisJCQlyZXR1cm4g dHJ1ZTsKKwkJfQorCX0KKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGJvb2wgcGFyc2Vf YWJvcnRfY29uZGl0aW9ucyhzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzLCBjb25zdCBjaGFyICpv cHRhcmcpCit7CisJY2hhciAqZHVwLCAqb3JpZ2R1cCwgKnA7CisJaWYgKCFvcHRhcmcpCisJCXJl dHVybiBzZXRfYWJvcnRfY29uZGl0aW9uKHNldHRpbmdzLCBOVUxMKTsKKworCW9yaWdkdXAgPSBk dXAgPSBzdHJkdXAob3B0YXJnKTsKKwl3aGlsZSAoZHVwKSB7CisJCWlmICgocCA9IHN0cmNocihk dXAsICcsJykpICE9IE5VTEwpIHsKKwkJCSpwID0gJ1wwJzsKKwkJCXArKzsKKwkJfQorCisJCWlm ICghc2V0X2Fib3J0X2NvbmRpdGlvbihzZXR0aW5ncywgZHVwKSkgeworCQkJZnJlZShvcmlnZHVw KTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCisJCWR1cCA9IHA7CisJfQorCisJZnJlZShvcmln ZHVwKTsKKworCXJldHVybiB0cnVlOworfQorCiBzdGF0aWMgY29uc3QgY2hhciAqdXNhZ2Vfc3Ry ID0KIAkidXNhZ2U6IHJ1bm5lciBbb3B0aW9uc10gW3Rlc3Rfcm9vdF0gcmVzdWx0cy1wYXRoXG5c biIKIAkiT3B0aW9uczpcbiIKQEAgLTY3LDkgKzEyNywxNSBAQCBzdGF0aWMgY29uc3QgY2hhciAq dXNhZ2Vfc3RyID0KIAkiICAgICAgICAgICAgICAgICAgICAgICAgUnVuIG9ubHkgbWF0Y2hpbmcg dGVzdHMgKGNhbiBiZSB1c2VkIG1vcmUgdGhhbiBvbmNlKVxuIgogCSIgIC14IDxyZWdleD4sIC0t ZXhjbHVkZS10ZXN0cyA8cmVnZXg+XG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1 ZGUgbWF0Y2hpbmcgdGVzdHMgKGNhbiBiZSB1c2VkIG1vcmUgdGhhbiBvbmNlKVxuIgotCSIgIC0t YWJvcnQtb24tbW9uaXRvcmVkLWVycm9yXG4iCisJIiAgLS1hYm9ydC1vbi1tb25pdG9yZWQtZXJy b3JbPWxpc3RdXG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgIEFib3J0IGV4ZWN1dGlvbiB3 aGVuIGEgZmF0YWwgY29uZGl0aW9uIGlzIGRldGVjdGVkLlxuIgotCSIgICAgICAgICAgICAgICAg ICAgICAgICA8VE9ETz5cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgQSBjb21tYS1zZXBh cmF0ZWQgbGlzdCBvZiBjb25kaXRpb25zIHRvIGNoZWNrIGNhbiBiZVxuIgorCSIgICAgICAgICAg ICAgICAgICAgICAgICBnaXZlbi4gSWYgbm90IGdpdmVuLCBhbGwgY29uZGl0aW9ucyBhcmUgY2hl Y2tlZC4gQW5cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHkgc3RyaW5nIGFzIGEg Y29uZGl0aW9uIGRpc2FibGVzIGFib3J0aW5nXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAg IFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgICBsb2Nr ZGVwIC0gYWJvcnQgd2hlbiBrZXJuZWwgbG9ja2RlcCBoYXMgYmVlbiBhbmdlcmVkLlxuIgorCSIg ICAgICAgICAgICAgICAgICAgICAgICAgdGFpbnQgICAtIGFib3J0IHdoZW4ga2VybmVsIGJlY29t ZXMgZmF0YWxseSB0YWludGVkLlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgYWxsICAg ICAtIGFib3J0IGZvciBhbGwgb2YgdGhlIGFib3ZlLlxuIgogCSIgIC1zLCAtLXN5bmMgICAgICAg ICAgICBTeW5jIHJlc3VsdHMgdG8gZGlzayBhZnRlciBldmVyeSB0ZXN0XG4iCiAJIiAgLWwge3F1 aWV0LHZlcmJvc2UsZHVtbXl9LCAtLWxvZy1sZXZlbCB7cXVpZXQsdmVyYm9zZSxkdW1teX1cbiIK IAkiICAgICAgICAgICAgICAgICAgICAgICAgU2V0IHRoZSBsb2dnZXIgdmVyYm9zaXR5IGxldmVs XG4iCkBAIC0xOTMsNyArMjU5LDcgQEAgYm9vbCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjaGFy ICoqYXJndiwKIAkJeyJkcnktcnVuIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9EUllfUlVOfSwK IAkJeyJpbmNsdWRlLXRlc3RzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9JTkNMVURF fSwKIAkJeyJleGNsdWRlLXRlc3RzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9FWENM VURFfSwKLQkJeyJhYm9ydC1vbi1tb25pdG9yZWQtZXJyb3IiLCBub19hcmd1bWVudCwgTlVMTCwg T1BUX0FCT1JUX09OX0VSUk9SfSwKKwkJeyJhYm9ydC1vbi1tb25pdG9yZWQtZXJyb3IiLCBvcHRp b25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0FCT1JUX09OX0VSUk9SfSwKIAkJeyJzeW5jIiwgbm9f YXJndW1lbnQsIE5VTEwsIE9QVF9TWU5DfSwKIAkJeyJsb2ctbGV2ZWwiLCByZXF1aXJlZF9hcmd1 bWVudCwgTlVMTCwgT1BUX0xPR19MRVZFTH0sCiAJCXsidGVzdC1saXN0IiwgcmVxdWlyZWRfYXJn dW1lbnQsIE5VTEwsIE9QVF9URVNUX0xJU1R9LApAQCAtMjMxLDcgKzI5Nyw4IEBAIGJvb2wgcGFy c2Vfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsCiAJCQkJZ290byBlcnJvcjsKIAkJCWJy ZWFrOwogCQljYXNlIE9QVF9BQk9SVF9PTl9FUlJPUjoKLQkJCXNldHRpbmdzLT5hYm9ydF9vbl9l cnJvciA9IHRydWU7CisJCQlpZiAoIXBhcnNlX2Fib3J0X2NvbmRpdGlvbnMoc2V0dGluZ3MsIG9w dGFyZykpCisJCQkJZ290byBlcnJvcjsKIAkJCWJyZWFrOwogCQljYXNlIE9QVF9TWU5DOgogCQkJ c2V0dGluZ3MtPnN5bmMgPSB0cnVlOwpAQCAtNDQ0LDcgKzUxMSw3IEBAIGJvb2wgc2VyaWFsaXpl X3NldHRpbmdzKHN0cnVjdCBzZXR0aW5ncyAqc2V0dGluZ3MpCiAJCXJldHVybiBmYWxzZTsKIAl9 CiAKLQlTRVJJQUxJWkVfTElORShmLCBzZXR0aW5ncywgYWJvcnRfb25fZXJyb3IsICIlZCIpOwor CVNFUklBTElaRV9MSU5FKGYsIHNldHRpbmdzLCBhYm9ydF9tYXNrLCAiJWQiKTsKIAlpZiAoc2V0 dGluZ3MtPnRlc3RfbGlzdCkKIAkJU0VSSUFMSVpFX0xJTkUoZiwgc2V0dGluZ3MsIHRlc3RfbGlz dCwgIiVzIik7CiAJaWYgKHNldHRpbmdzLT5uYW1lKQpAQCAtNTAxLDcgKzU2OCw3IEBAIGJvb2wg cmVhZF9zZXR0aW5ncyhzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzLCBpbnQgZGlyZmQpCiAKIAl3 aGlsZSAoZnNjYW5mKGYsICIlbXMgOiAlbXMiLCAmbmFtZSwgJnZhbCkgPT0gMikgewogCQlpbnQg bnVtdmFsID0gYXRvaSh2YWwpOwotCQlQQVJTRV9MSU5FKHNldHRpbmdzLCBuYW1lLCB2YWwsIGFi b3J0X29uX2Vycm9yLCBudW12YWwpOworCQlQQVJTRV9MSU5FKHNldHRpbmdzLCBuYW1lLCB2YWws IGFib3J0X21hc2ssIG51bXZhbCk7CiAJCVBBUlNFX0xJTkUoc2V0dGluZ3MsIG5hbWUsIHZhbCwg dGVzdF9saXN0LCB2YWwgPyBzdHJkdXAodmFsKSA6IE5VTEwpOwogCQlQQVJTRV9MSU5FKHNldHRp bmdzLCBuYW1lLCB2YWwsIG5hbWUsIHZhbCA/IHN0cmR1cCh2YWwpIDogTlVMTCk7CiAJCVBBUlNF X0xJTkUoc2V0dGluZ3MsIG5hbWUsIHZhbCwgZHJ5X3J1biwgbnVtdmFsKTsKZGlmZiAtLWdpdCBh L3J1bm5lci9zZXR0aW5ncy5oIGIvcnVubmVyL3NldHRpbmdzLmgKaW5kZXggYjQ4OWFiYzUuLjI2 N2Q3MmNmIDEwMDY0NAotLS0gYS9ydW5uZXIvc2V0dGluZ3MuaAorKysgYi9ydW5uZXIvc2V0dGlu Z3MuaApAQCAtMTIsNiArMTIsMTIgQEAgZW51bSB7CiAJTE9HX0xFVkVMX1ZFUkJPU0UgPSAxLAog fTsKIAorI2RlZmluZSBBQk9SVF9UQUlOVCAgICgxIDw8IDApCisjZGVmaW5lIEFCT1JUX0xPQ0tE RVAgKDEgPDwgMSkKKyNkZWZpbmUgQUJPUlRfQUxMICAgICAoQUJPUlRfVEFJTlQgfCBBQk9SVF9M T0NLREVQKQorCitfU3RhdGljX2Fzc2VydChBQk9SVF9BTEwgPT0gKEFCT1JUX1RBSU5UIHwgQUJP UlRfTE9DS0RFUCksICJBQk9SVF9BTEwgbXVzdCBiZSBhbGwgY29uZGl0aW9ucyBiaXR3aXNlIG9y J2QiKTsKKwogc3RydWN0IHJlZ2V4X2xpc3QgewogCWNoYXIgKipyZWdleF9zdHJpbmdzOwogCXJl Z2V4X3QqKiByZWdleGVzOwpAQCAtMTksNyArMjUsNyBAQCBzdHJ1Y3QgcmVnZXhfbGlzdCB7CiB9 OwogCiBzdHJ1Y3Qgc2V0dGluZ3MgewotCWJvb2wgYWJvcnRfb25fZXJyb3I7CisJaW50IGFib3J0 X21hc2s7CiAJY2hhciAqdGVzdF9saXN0OwogCWNoYXIgKm5hbWU7CiAJYm9vbCBkcnlfcnVuOwot LSAKMi4xOC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK