From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09F23C3A59E for ; Wed, 21 Aug 2019 08:21:34 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C6BC62332A for ; Wed, 21 Aug 2019 08:21:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.de header.i=@amazon.de header.b="RfhN9lJ3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C6BC62332A Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0Lrj-0000U8-WB; Wed, 21 Aug 2019 08:21:11 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0Lri-0000Ql-5r for xen-devel@lists.xenproject.org; Wed, 21 Aug 2019 08:21:10 +0000 X-Inumbo-ID: a10c91d4-c3ec-11e9-adc2-12813bfff9fa Received: from smtp-fw-6002.amazon.com (unknown [52.95.49.90]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id a10c91d4-c3ec-11e9-adc2-12813bfff9fa; Wed, 21 Aug 2019 08:21:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1566375669; x=1597911669; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=1EdzHRTTwtcVC+sckk3Tz2Imzwirb5+n8TteRxITOHM=; b=RfhN9lJ3nIGOktEQr3yNyrjsa3YVtTSf8RInvC0BXJMcYgIFNjyOi0BL 779e0GwI+HL6QXQDEee+mqcAJ2vAFkhO6TrpXYM8q+iZLNIeJlxgcaAmZ EBcbXoxAgNgJUTCLUMx/MTNYuFNZFEMIsgw8GijFdXLvQml1EK/0FDH25 Q=; X-IronPort-AV: E=Sophos;i="5.64,412,1559520000"; d="scan'208";a="416596184" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2c-1968f9fa.us-west-2.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-6002.iad6.amazon.com with ESMTP; 21 Aug 2019 08:21:08 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan3.pdx.amazon.com [10.170.41.166]) by email-inbound-relay-2c-1968f9fa.us-west-2.amazon.com (Postfix) with ESMTPS id A2B1DA23B1; Wed, 21 Aug 2019 08:21:07 +0000 (UTC) Received: from EX13D05EUB004.ant.amazon.com (10.43.166.115) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:44 +0000 Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by EX13D05EUB004.ant.amazon.com (10.43.166.115) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:43 +0000 Received: from dev-dsk-wipawel-1a-0c4e6d58.eu-west-1.amazon.com (10.4.134.33) by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 21 Aug 2019 08:20:40 +0000 From: Pawel Wieczorkiewicz To: , Date: Wed, 21 Aug 2019 08:19:31 +0000 Message-ID: <20190821081931.90887-15-wipawel@amazon.de> X-Mailer: git-send-email 2.16.5 In-Reply-To: <20190821081931.90887-1-wipawel@amazon.de> References: <20190821081931.90887-1-wipawel@amazon.de> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH 14/14] livepatch: Add python bindings for livepatch operations X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: wipawel@amazon.com, Wei Liu , Ian Jackson , mpohlack@amazon.com, =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Pawel Wieczorkiewicz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RXh0ZW5kIHRoZSBYQyBweXRob24gYmluZGluZ3MgbGlicmFyeSB0byBzdXBwb3J0IGFsc28gYWxs IGNvbW1vbgpsaXZlcGF0Y2ggb3BlcmF0aW9ucyBhbmQgYWN0aW9ucy4KCkFkZCB0aGUgcHl0aG9u IGJpbmRpbmdzIGZvciB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6Ci0gc3RhdHVzIChweXhjX2xp dmVwYXRjaF9zdGF0dXMpOgogIFJlcXVpcmVzIGEgcGF5bG9hZCBuYW1lIGFzIGFuIGlucHV0Lgog IFJldHVybnMgYSBzdGF0dXMgZGljdCBjb250YWluaW5nIGEgc3RhdGUgc3RyaW5nIGFuZCBhIHJl dHVybiBjb2RlCiAgaW50ZWdlci4KLSBhY3Rpb24gKHB5eGNfbGl2ZXBhdGNoX2FjdGlvbik6CiAg UmVxdWlyZXMgYSBwYXlsb2FkIG5hbWUgYW5kIGFuIGFjdGlvbiBpZCBhcyBhbiBpbnB1dC4gVGlt ZW91dCBhbmQKICBmbGFncyBhcmUgb3B0aW9uYWwgcGFyYW1ldGVycy4KICBSZXR1cm5zIGEgcmV0 dXJuIGNvZGUgaW50ZWdlci4KLSB1cGxvYWQgKHB5eGNfbGl2ZXBhdGNoX3VwbG9hZCk6CiAgUmVx dWlyZXMgYSBwYXlsb2FkIG5hbWUgYW5kIGEgbW9kdWxlJ3MgZmlsZW5hbWUgYXMgYW4gaW5wdXQu CiAgUmV0dXJucyBhIHJldHVybiBjb2RlIGludGVnZXIuCi0gbGlzdCAocHl4Y19saXZlcGF0Y2hf bGlzdCk6CiAgVGFrZXMgbm8gcGFyYW1ldGVycy4KICBSZXR1cm5zIGEgbGlzdCBvZiBkaWN0cyBj b250YWluaW5nIGVhY2ggcGF5bG9hZCdzOgogICogbmFtZSBhcyBhIHN0cmluZwogICogc3RhdGUg YXMgYSBzdHJpbmcKICAqIHJldHVybiBjb2RlIGFzIGFuIGludGVnZXIKICAqIGxpc3Qgb2YgbWV0 YWRhdGEga2V5PXZhbHVlIHN0cmluZ3MKCkVhY2ggZnVuY3Rpb25zIHRocm93cyBhbiBleGNlcHRp b24gZXJyb3IgYmFzZWQgb24gdGhlIGVycm5vIHZhbHVlCnJlY2VpdmVkIGZyb20gaXRzIGNvcnJl c3BvbmRpbmcgbGlieGMgZnVuY3Rpb24gY2FsbC4KClNpZ25lZC1vZmYtYnk6IFBhd2VsIFdpZWN6 b3JraWV3aWN6IDx3aXBhd2VsQGFtYXpvbi5kZT4KUmV2aWV3ZWQtYnk6IE1hcnRpbiBNYXplaW4g PGFtYXplaW5AYW1hem9uLmRlPgpSZXZpZXdlZC1ieTogQW5kcmEtSXJpbmEgUGFyYXNjaGl2IDxh bmRyYXByc0BhbWF6b24uY29tPgpSZXZpZXdlZC1ieTogTGVvbmFyZCBGb2Vyc3RlciA8Zm9lcnNs ZW9AYW1hem9uLmRlPgpSZXZpZXdlZC1ieTogTm9yYmVydCBNYW50aGV5IDxubWFudGhleUBhbWF6 b24uZGU+Ci0tLQogdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jIHwgMjczICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjczIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hj LmMgYi90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKaW5kZXggN2YwMzU4YmE5Yy4u MzY4NzM5Yjk5NiAxMDA2NDQKLS0tIGEvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5j CisrKyBiL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYwpAQCAtMjAxMSw2ICsyMDEx LDIzMCBAQCBzdGF0aWMgUHlPYmplY3QgKnB5Zmxhc2tfYWNjZXNzKFB5T2JqZWN0ICpzZWxmLCBQ eU9iamVjdCAqYXJncywKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIscmV0KTsKIH0KIAor c3RhdGljIFB5T2JqZWN0ICpweXhjX2xpdmVwYXRjaF9zdGF0dXMoWGNPYmplY3QgKnNlbGYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICprd2RzKQorewor ICAgIHhlbl9saXZlcGF0Y2hfc3RhdHVzX3Qgc3RhdHVzOworICAgIFB5T2JqZWN0ICppbmZvX2Rp Y3QgPSBOVUxMOworICAgIGNoYXIgKm5hbWU7CisgICAgaW50IHJjOworCisgICAgc3RhdGljIGNo YXIgKmt3ZF9saXN0W10gPSB7ICJuYW1lIiwgTlVMTCB9OworCisgICAgaWYgKCAhUHlBcmdfUGFy c2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dkX2xpc3QsICZuYW1lKSApCisg ICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByYyA9IHhjX2xpdmVwYXRjaF9nZXQoc2VsZi0+eGNf aGFuZGxlLCBuYW1lLCAmc3RhdHVzKTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgZ290byBlcnJv cjsKKworICAgIGluZm9fZGljdCA9IFB5X0J1aWxkVmFsdWUoCisgICAgICAgICAgICAie3M6aSxz Oml9IiwKKyAgICAgICAgICAgICJzdGF0ZSIsICAgIHN0YXR1cy5zdGF0ZSwKKyAgICAgICAgICAg ICJyYyIsICAgICAgIHN0YXR1cy5yYyk7CisKK2Vycm9yOgorICAgIHJldHVybiBpbmZvX2RpY3Qg PzogcHl4Y19lcnJvcl90b19leGNlcHRpb24oc2VsZi0+eGNfaGFuZGxlKTsKK30KKworc3RhdGlj IFB5T2JqZWN0ICpweXhjX2xpdmVwYXRjaF9hY3Rpb24oWGNPYmplY3QgKnNlbGYsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICprd2RzKQoreworICAgIGlu dCAoKmFjdGlvbl9mdW5jKSh4Y19pbnRlcmZhY2UgKnhjaCwgY2hhciAqbmFtZSwgdWludDMyX3Qg dGltZW91dCwgdWludDY0X3QgZmxhZ3MpOworICAgIGNoYXIgKm5hbWU7CisgICAgdW5zaWduZWQg aW50IGFjdGlvbjsKKyAgICB1aW50MzJfdCB0aW1lb3V0OworICAgIHVpbnQ2NF90IGZsYWdzOwor ICAgIGludCByYzsKKworICAgIHN0YXRpYyBjaGFyICprd2RfbGlzdFtdID0geyAibmFtZSIsICJh Y3Rpb24iLCAidGltZW91dCIsICJmbGFncyIsIE5VTEwgfTsKKworICAgIGlmICggIVB5QXJnX1Bh cnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic0l8SWsiLCBrd2RfbGlzdCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hbWUsICZhY3Rpb24sICZ0aW1lb3V0 LCAmZmxhZ3MpICkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIHN3aXRjaCAoYWN0aW9uKQor ICAgIHsKKyAgICBjYXNlIExJVkVQQVRDSF9BQ1RJT05fVU5MT0FEOgorICAgICAgICBhY3Rpb25f ZnVuYyA9IHhjX2xpdmVwYXRjaF91bmxvYWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTElW RVBBVENIX0FDVElPTl9SRVZFUlQ6CisgICAgICAgIGFjdGlvbl9mdW5jID0geGNfbGl2ZXBhdGNo X3JldmVydDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMSVZFUEFUQ0hfQUNUSU9OX0FQUExZ OgorICAgICAgICBhY3Rpb25fZnVuYyA9IHhjX2xpdmVwYXRjaF9hcHBseTsKKyAgICAgICAgYnJl YWs7CisgICAgY2FzZSBMSVZFUEFUQ0hfQUNUSU9OX1JFUExBQ0U6CisgICAgICAgIGFjdGlvbl9m dW5jID0geGNfbGl2ZXBhdGNoX3JlcGxhY2U7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6 CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgcmMgPSBhY3Rpb25fZnVuYyhzZWxm LT54Y19oYW5kbGUsIG5hbWUsIHRpbWVvdXQsIGZsYWdzKTsKKyAgICBpZiAoIHJjICkKKyAgICAg ICAgZ290byBlcnJvcjsKKworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJpIiwgcmMpOworZXJy b3I6CisgICAgcmV0dXJuIHB5eGNfZXJyb3JfdG9fZXhjZXB0aW9uKHNlbGYtPnhjX2hhbmRsZSk7 Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqcHl4Y19saXZlcGF0Y2hfdXBsb2FkKFhjT2JqZWN0ICpz ZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFy Z3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqa3dk cykKK3sKKyAgICB1bnNpZ25lZCBjaGFyICpmYnVmID0gTUFQX0ZBSUxFRDsKKyAgICBjaGFyICpu YW1lLCAqZmlsZW5hbWU7CisgICAgc3RydWN0IHN0YXQgYnVmOworICAgIGludCBmZCA9IDAsIHJj OworICAgIHNzaXplX3QgbGVuOworCisgICAgc3RhdGljIGNoYXIgKmt3ZF9saXN0W10gPSB7ICJu YW1lIiwgImZpbGVuYW1lIiwgTlVMTCB9OworCisgICAgaWYgKCAhUHlBcmdfUGFyc2VUdXBsZUFu ZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzcyIsIGt3ZF9saXN0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmbmFtZSwgJmZpbGVuYW1lKSkKKyAgICAgICAgZ290byBlcnJv cjsKKworICAgIGZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFkpOworICAgIGlmICggZmQgPCAw ICkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmICggc3RhdChmaWxlbmFtZSwgJmJ1Zikg IT0gMCApCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBsZW4gPSBidWYuc3Rfc2l6ZTsKKyAg ICBmYnVmID0gbW1hcCgwLCBsZW4sIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUsIGZkLCAwKTsKKyAg ICBpZiAoIGZidWYgPT0gTUFQX0ZBSUxFRCApCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBy YyA9IHhjX2xpdmVwYXRjaF91cGxvYWQoc2VsZi0+eGNfaGFuZGxlLCBuYW1lLCBmYnVmLCBsZW4p OworICAgIGlmICggcmMgKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKCBtdW5tYXAo ZmJ1ZiwgbGVuKSApCisgICAgeworICAgICAgICBmYnVmID0gTUFQX0ZBSUxFRDsKKyAgICAgICAg Z290byBlcnJvcjsKKyAgICB9CisgICAgY2xvc2UoZmQpOworCisgICAgcmV0dXJuIFB5X0J1aWxk VmFsdWUoImkiLCByYyk7OworZXJyb3I6CisgICAgaWYgKCBmYnVmICE9IE1BUF9GQUlMRUQgKQor ICAgICAgICBtdW5tYXAoZmJ1ZiwgbGVuKTsKKyAgICBpZiAoIGZkID49IDAgKQorICAgICAgICBj bG9zZShmZCk7CisgICAgcmV0dXJuIHB5eGNfZXJyb3JfdG9fZXhjZXB0aW9uKHNlbGYtPnhjX2hh bmRsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqcHl4Y19saXZlcGF0Y2hfbGlzdChYY09iamVj dCAqc2VsZikKK3sKKyAgICBQeU9iamVjdCAqbGlzdDsKKyAgICB1bnNpZ25lZCBpbnQgbnIsIGRv bmUsIGxlZnQsIGk7CisgICAgeGVuX2xpdmVwYXRjaF9zdGF0dXNfdCAqaW5mbyA9IE5VTEw7Cisg ICAgY2hhciAqbmFtZSA9IE5VTEw7CisgICAgY2hhciAqbWV0YWRhdGEgPSBOVUxMOworICAgIHVp bnQzMl90ICpsZW4gPSBOVUxMOworICAgIHVpbnQzMl90ICptZXRhZGF0YV9sZW4gPSBOVUxMOwor ICAgIHVpbnQ2NF90IG5hbWVfdG90YWxfc2l6ZSwgbWV0YWRhdGFfdG90YWxfc2l6ZTsKKyAgICBv ZmZfdCBuYW1lX29mZiwgbWV0YWRhdGFfb2ZmOworICAgIGludCByYzsKKworICAgIHJjID0geGNf bGl2ZXBhdGNoX2xpc3RfZ2V0X3NpemVzKHNlbGYtPnhjX2hhbmRsZSwgJm5yLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYW1lX3RvdGFsX3NpemUsICZtZXRhZGF0YV90 b3RhbF9zaXplKTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlm ICggbnIgPT0gMCApCisgICAgICAgIHJldHVybiBQeUxpc3RfTmV3KDApOworCisgICAgcmMgPSBF Tk9NRU07CisgICAgaW5mbyA9IG1hbGxvYyhuciAqIHNpemVvZigqaW5mbykpOworICAgIGlmICgg IWluZm8gKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgbmFtZSA9IG1hbGxvYyhuYW1lX3Rv dGFsX3NpemUgKiBzaXplb2YoKm5hbWUpKTsKKyAgICBpZiAoICFuYW1lICkKKyAgICAgICAgZ290 byBlcnJvcjsKKworICAgIGxlbiA9IG1hbGxvYyhuciAqIHNpemVvZigqbGVuKSk7CisgICAgaWYg KCAhbGVuICkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIG1ldGFkYXRhID0gbWFsbG9jKG1l dGFkYXRhX3RvdGFsX3NpemUgKiBzaXplb2YoKm1ldGFkYXRhKSk7CisgICAgaWYgKCAhbWV0YWRh dGEgKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgbWV0YWRhdGFfbGVuID0gbWFsbG9jKG5y ICogc2l6ZW9mKCptZXRhZGF0YV9sZW4pKTsKKyAgICBpZiAoICFtZXRhZGF0YV9sZW4gKQorICAg ICAgICBnb3RvIGVycm9yOworCisgICAgcmMgPSB4Y19saXZlcGF0Y2hfbGlzdChzZWxmLT54Y19o YW5kbGUsIG5yLCAwLCBpbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgbGVu LCBuYW1lX3RvdGFsX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSwg bWV0YWRhdGFfbGVuLCBtZXRhZGF0YV90b3RhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmRvbmUsICZsZWZ0KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgZ290byBlcnJvcjsK KworICAgIGxpc3QgPSBQeUxpc3RfTmV3KDApOworICAgIG5hbWVfb2ZmID0gbWV0YWRhdGFfb2Zm ID0gMDsKKyAgICBmb3IgKCBpID0gMDsgaSA8IGRvbmU7IGkrKyApCisgICAgeworICAgICAgICBQ eU9iamVjdCAqaW5mb19kaWN0LCAqbWV0YWRhdGFfbGlzdDsKKyAgICAgICAgY2hhciAqbmFtZV9z dHIsICptZXRhZGF0YV9zdHI7CisKKyAgICAgICAgbmFtZV9zdHIgPSBuYW1lICsgbmFtZV9vZmY7 CisgICAgICAgIG1ldGFkYXRhX3N0ciA9IG1ldGFkYXRhICsgbWV0YWRhdGFfb2ZmOworCisgICAg ICAgIG1ldGFkYXRhX2xpc3QgPSBQeUxpc3RfTmV3KDApOworICAgICAgICBmb3IgKCBjaGFyICpz ID0gbWV0YWRhdGFfc3RyOyBzIDwgbWV0YWRhdGFfc3RyICsgbWV0YWRhdGFfbGVuW2ldOyBzICs9 IHN0cmxlbihzKSArIDEgKQorICAgICAgICB7CisgICAgICAgICAgICBQeU9iamVjdCAqZmllbGQg PSBQeV9CdWlsZFZhbHVlKCJzIiwgcyk7CisgICAgICAgICAgICBpZiAoIGZpZWxkID09IE5VTEwg KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKKyAgICAg ICAgICAgICAgICBQeV9ERUNSRUYobWV0YWRhdGFfbGlzdCk7CisgICAgICAgICAgICAgICAgcmMg PSBFRkFVTFQ7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKwor ICAgICAgICAgICAgUHlMaXN0X0FwcGVuZChtZXRhZGF0YV9saXN0LCBmaWVsZCk7CisgICAgICAg ICAgICBQeV9ERUNSRUYoZmllbGQpOworICAgICAgICB9CisKKyAgICAgICAgaW5mb19kaWN0ID0g UHlfQnVpbGRWYWx1ZSgKKyAgICAgICAgICAgICJ7czpzLHM6aSxzOmksczpOfSIsCisgICAgICAg ICAgICAibmFtZSIsICAgICBuYW1lX3N0ciwKKyAgICAgICAgICAgICJzdGF0ZSIsICAgIGluZm9b aV0uc3RhdGUsCisgICAgICAgICAgICAicmMiLCAgICAgICBpbmZvW2ldLnJjLAorICAgICAgICAg ICAgIm1ldGFkYXRhIiwgbWV0YWRhdGFfbGlzdCk7CisKKyAgICAgICAgaWYgKCBpbmZvX2RpY3Qg PT0gTlVMTCApCisgICAgICAgIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKKyAgICAg ICAgICAgIFB5X0RFQ1JFRihtZXRhZGF0YV9saXN0KTsKKyAgICAgICAgICAgIHJjID0gRUZBVUxU OworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICBQeUxpc3RfQXBw ZW5kKGxpc3QsIGluZm9fZGljdCk7CisgICAgICAgIFB5X0RFQ1JFRihpbmZvX2RpY3QpOworCisg ICAgICAgIG5hbWVfb2ZmICs9IGxlbltpXTsKKyAgICAgICAgbWV0YWRhdGFfb2ZmICs9IG1ldGFk YXRhX2xlbltpXTsKKyAgICB9CisKK2Vycm9yOgorICAgIGZyZWUoaW5mbyk7CisgICAgZnJlZShu YW1lKTsKKyAgICBmcmVlKGxlbik7CisgICAgZnJlZShtZXRhZGF0YSk7CisgICAgZnJlZShtZXRh ZGF0YV9sZW4pOworICAgIHJldHVybiByYyA/IHB5eGNfZXJyb3JfdG9fZXhjZXB0aW9uKHNlbGYt PnhjX2hhbmRsZSkgOiBsaXN0OworfQorCiBzdGF0aWMgUHlNZXRob2REZWYgcHl4Y19tZXRob2Rz W10gPSB7CiAgICAgeyAiZG9tYWluX2NyZWF0ZSIsIAogICAgICAgKFB5Q0Z1bmN0aW9uKXB5eGNf ZG9tYWluX2NyZWF0ZSwgCkBAIC0yNTg3LDYgKzI4MTEsNDQgQEAgc3RhdGljIFB5TWV0aG9kRGVm IHB5eGNfbWV0aG9kc1tdID0gewogICAgICAgIlJldHVybnM6IFtpbnRdOiAwIG9uIGFsbCBwZXJt aXNzaW9uIGdyYW50ZWQ7IC0xIGlmIGFueSBwZXJtaXNzaW9ucyBhcmUgXAogICAgICAgIGRlbmll ZFxuIiB9LCAKIAorICAgIHsgImxpdmVwYXRjaF9zdGF0dXMiLAorICAgICAgKFB5Q0Z1bmN0aW9u KXB5eGNfbGl2ZXBhdGNoX3N0YXR1cywKKyAgICAgIE1FVEhfS0VZV09SRFMsICJcbiIKKyAgICAg ICJHZXRzIGN1cnJlbnQgc3RhdGUgYW5kIHJldHVybiBjb2RlIGZvciBhIHNwZWNpZmllZCBtb2R1 bGUuXG4iCisgICAgICAiIG5hbWUgICAgIFtzdHJdOiBNb2R1bGUgbmFtZSB0byBiZSB1c2VkXG4i CisgICAgICAiUmV0dXJuczogW2RpY3RdIG9uIHN1Y2Nlc3M7IHRocm93aW5nIGFuIGV4Y2VwdGlv biBvbiBlcnJvclxuIgorICAgICAgIiBzdGF0ZSAgICBbaW50XTogTW9kdWxlIGN1cnJlbnQgc3Rh dGU6IENIRUNLRUQgb3IgQVBQTElFRFxuIgorICAgICAgIiByYyAgICAgICBbaW50XTogUmV0dXJu IGNvZGUgb2YgbGFzdCBtb2R1bGUncyBvcGVyYXRpb25cbiIgfSwKKworICAgIHsgImxpdmVwYXRj aF91cGxvYWQiLAorICAgICAgKFB5Q0Z1bmN0aW9uKXB5eGNfbGl2ZXBhdGNoX3VwbG9hZCwKKyAg ICAgIE1FVEhfS0VZV09SRFMsICJcbiIKKyAgICAgICJVcGxvYWRzIGEgbW9kdWxlIHdpdGggc3Bl Y2lmaWVkIG5hbWUgZnJvbSBmaWxlbmFtZS5cbiIKKyAgICAgICIgbmFtZSAgICAgW3N0cl06IE1v ZHVsZSBuYW1lIHRvIGJlIHVzZWRcbiIKKyAgICAgICIgZmlsZW5hbWUgW3N0cl06IEZpbGVuYW1l IG9mIGEgbW9kdWxlIHRvIGJlIHVwbG9hZGVkXG4iCisgICAgICAiUmV0dXJuczogW2ludF0gMCBv biBzdWNjZXNzOyB0aHJvd2luZyBhbiBleGNlcHRpb24gb24gZXJyb3JcbiIgfSwKKworICAgIHsg ImxpdmVwYXRjaF9hY3Rpb24iLAorICAgICAgKFB5Q0Z1bmN0aW9uKXB5eGNfbGl2ZXBhdGNoX2Fj dGlvbiwKKyAgICAgIE1FVEhfS0VZV09SRFMsICJcbiIKKyAgICAgICJQZXJmb3JtcyBhbiBhY3Rp b24gKHVubG9hZCwgcmV2ZXJ0LCBhcHBseSBvciByZXBsYWNlKSBvbiBhIHNwZWNpZmllZCBcCisg ICAgICAgbW9kdWxlLlxuIgorICAgICAgIiBuYW1lICAgICAgW3N0cl06IE1vZHVsZSBuYW1lIHRv IGJlIHVzZWRcbiIKKyAgICAgICIgYWN0aW9uICAgW3VpbnRdOiBBY3Rpb24gZW51bSBpZFxuIgor ICAgICAgIiB0aW1lb3V0ICBbdWludF06IEFjdGlvbiBzY2hlZHVsZWQgZXhlY3V0aW9uIHRpbWVv dXRcbiIKKyAgICAgICIgZmxhZ3MgICBbdWxvbmddOiBGbGFncyBzcGVjaWZ5aW5nIGFjdGlvbidz IGV4dHJhIHBhcmFtZXRlcnNcbiIKKyAgICAgICJSZXR1cm5zOiBbaW50XSAwIG9uIHN1Y2Nlc3M7 IHRocm93aW5nIGFuIGV4Y2VwdGlvbiBvbiBlcnJvclxuIiB9LAorCisgICAgeyAibGl2ZXBhdGNo X2xpc3QiLAorICAgICAgKFB5Q0Z1bmN0aW9uKXB5eGNfbGl2ZXBhdGNoX2xpc3QsCisgICAgICBN RVRIX05PQVJHUywgIlxuIgorICAgICAgIkxpc3QgYWxsIHVwbG9hZGVkIGxpdmVwYXRjaCBtb2R1 bGVzIHdpdGggdGhlaXIgY3VycmVudCBzdGF0ZSBhbmQgbWV0YWRhdGEuXG4iCisgICAgICAiUmV0 dXJuczogW2xpc3Qgb2YgZGljdHNdIG9uIHN1Y2Nlc3M7IHRocm93aW5nIGFuIGV4Y2VwdGlvbiBv biBlcnJvclxuIgorICAgICAgIiBuYW1lICAgICBbc3RyXTogTW9kdWxlIG5hbWVcbiIKKyAgICAg ICIgc3RhdGUgICAgW2ludF06IE1vZHVsZSBjdXJyZW50IHN0YXRlOiBDSEVDS0VEIG9yIEFQUExJ RURcbiIKKyAgICAgICIgcmMgICAgICAgW2ludF06IFJldHVybiBjb2RlIG9mIGxhc3QgbW9kdWxl J3Mgb3BlcmF0aW9uXG4iCisgICAgICAiIG1ldGFkYXRhIFtsaXN0XTogTGlzdCBvZiBtb2R1bGUn cyBtZXRhZGF0YSAna2V5PXZhbHVlJyBzdHJpbmdzXG4iIH0sCisKICAgICB7IE5VTEwsIE5VTEws IDAsIE5VTEwgfQogfTsKIApAQCAtMjY5OCw2ICsyOTYwLDE3IEBAIFB5TU9ESU5JVF9GVU5DIGlu aXR4Yyh2b2lkKQogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJYRU5fU0NIRURVTEVS X0NSRURJVCIsIFhFTl9TQ0hFRFVMRVJfQ1JFRElUKTsKICAgICBQeU1vZHVsZV9BZGRJbnRDb25z dGFudChtLCAiWEVOX1NDSEVEVUxFUl9DUkVESVQyIiwgWEVOX1NDSEVEVUxFUl9DUkVESVQyKTsK IAorICAgIC8qIEV4cG9zZSBsaXZlcGF0Y2ggY29uc3RhbnRzIHRvIFB5dGhvbiAqLworICAgIFB5 TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJMSVZFUEFUQ0hfQUNUSU9OX1VOTE9BRCIsIExJVkVQ QVRDSF9BQ1RJT05fVU5MT0FEKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTElW RVBBVENIX0FDVElPTl9SRVZFUlQiLCBMSVZFUEFUQ0hfQUNUSU9OX1JFVkVSVCk7CisgICAgUHlN b2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkxJVkVQQVRDSF9BQ1RJT05fQVBQTFkiLCBMSVZFUEFU Q0hfQUNUSU9OX0FQUExZKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTElWRVBB VENIX0FDVElPTl9SRVBMQUNFIiwgTElWRVBBVENIX0FDVElPTl9SRVBMQUNFKTsKKworICAgIFB5 TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJMSVZFUEFUQ0hfQUNUSU9OX0FQUExZX05PREVQUyIs IExJVkVQQVRDSF9BQ1RJT05fQVBQTFlfTk9ERVBTKTsKKworICAgIFB5TW9kdWxlX0FkZEludENv bnN0YW50KG0sICJMSVZFUEFUQ0hfU1RBVEVfQVBQTElFRCIsIExJVkVQQVRDSF9TVEFURV9BUFBM SUVEKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTElWRVBBVENIX1NUQVRFX0NI RUNLRUQiLCBMSVZFUEFUQ0hfU1RBVEVfQ0hFQ0tFRCk7CisKICNpZiBQWV9NQUpPUl9WRVJTSU9O ID49IDMKICAgICByZXR1cm4gbTsKICNlbmRpZgotLSAKMi4xNi41CgoKCgpBbWF6b24gRGV2ZWxv cG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1c2Vuc3RyLiAzOAoxMDExNyBCZXJsaW4KR2Vz Y2hhZWZ0c2Z1ZWhydW5nOiBDaHJpc3RpYW4gU2NobGFlZ2VyLCBSYWxmIEhlcmJyaWNoCkVpbmdl dHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVyIEhSQiAxNDkxNzMgQgpT aXR6OiBCZXJsaW4KVXN0LUlEOiBERSAyODkgMjM3IDg3OQoKCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==