From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id YKAMBzprv2LpWwEAbAwnHQ (envelope-from ) for ; Fri, 01 Jul 2022 23:46:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id gIkOBjprv2Jc+QAAG6o9tA (envelope-from ) for ; Fri, 01 Jul 2022 23:46:34 +0200 Received: from mail.notmuchmail.org (yantan.tethera.net [IPv6:2a01:4f9:c011:7a79::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BED1C4190F for ; Fri, 1 Jul 2022 23:46:33 +0200 (CEST) Received: from yantan.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id DEF765F81E; Fri, 1 Jul 2022 21:46:05 +0000 (UTC) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by mail.notmuchmail.org (Postfix) with ESMTP id 503BD5F809 for ; Fri, 1 Jul 2022 21:46:02 +0000 (UTC) Received: by fethera.tethera.net (Postfix, from userid 1001) id 804735FC01; Fri, 1 Jul 2022 17:46:01 -0400 (EDT) Received: (nullmailer pid 462214 invoked by uid 1000); Fri, 01 Jul 2022 21:45:50 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [PATCH 5/9] CLI/show: support --duplicate for structured output Date: Fri, 1 Jul 2022 18:45:44 -0300 Message-Id: <20220701214548.461943-6-david@tethera.net> X-Mailer: git-send-email 2.35.2 In-Reply-To: <20220701214548.461943-1-david@tethera.net> References: <20220701214548.461943-1-david@tethera.net> MIME-Version: 1.0 Message-ID-Hash: 4S55DCR7BJL4LK4X5ZP7VUGK6M5X3O2H X-Message-ID-Hash: 4S55DCR7BJL4LK4X5ZP7VUGK6M5X3O2H X-MailFrom: bremner@tethera.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.3 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: DE ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1656711993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post; bh=BKzAMDLlZuCwgvLdpo9EToTeivUfxQ7ABES4nw8YFLQ=; b=HmvSosnUAomw+f6u+5DpDs9N8QJHw6gGOhbFRm+jZ8BTcPJCTMUi70HcrEJxpZKm4VGjTV wdHm/kTFIyUeW4OduIC7cCCrdCukRyxAON/zkGjEzdDKSCMwLvLcdDdDtdN0rqRPzpooBw yW2eArbfszxrkR0ZpoMmNOxYS+7mkbB743MWqgaof92jkT3hksZTbptOiP4I99Bb3fbqTI 9PpYCheiZeqgqlT/FqlB9YF90w0XWN3F+PjRCPkvKaRzYSk6yus/5jatnXB7gz6Yp4JfDj 6lGReku96P99N99JCncXhf6ihJXXEb6Y8/2eNaM4huIajIip8KHiim3erM0Opw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1656711993; a=rsa-sha256; cv=none; b=lkIfhp97s6WTOQ+8naRrcde81lE0m41AJhlZf0TvUCC66TG7RGUhiBP1IMlpmS/I/rkONd iEXNqfX0KDPhse1dVGODvuVkLuzW+t9c5Te+aBR5SAgW5AgIh1YqAd4IDcIf51F4o1ZIPU aeAaXiOgScT5BLJCaDdp6JXtvG7J7F14ky5zEPbP8unh8rjGYMMupHlK5fWE/xY5R0+Wla hpWeBweHQhJkZbqBlyZIPDlNTNuzoAAXMkWgZFjeeMVjuAR0NDaCphxtyzoq5rFR2iMMyf 5SkEZfXwvrf6WIcZIdNPkQo+a9JxzwHv7Q0GdLQHWneS6uFAMH8S2zrEvbyo0Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: -1.60 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: BED1C4190F X-Spam-Score: -1.60 X-Migadu-Scanner: scn0.migadu.com X-TUID: MpQY+PA+OkiE VGhpcyBpbnRyb2R1Y2VzIGEgbmV3IG1hbmRhdG9yeSBrZXkgZm9yIG1lc3NhZ2Ugc3RydWN0dXJl cywgbmFtZWx5DQoiZHVwbGljYXRlIi4gUGVyIGNvbnZlbnRpb24gaW4gZGV2ZWwvc2NoZW1hdGEg dGhpcyBkb2VzIF9ub3RfIGluY3JlYXNlDQp0aGUgZm9ybWF0IHZlcnNpb24uIFRoaXMgbWVhbnMg dGhhdCBjbGllbnRzIGFyZSByZXNwb25zaWJsZSBmb3INCmNoZWNraW5nIHRoYXQgaXQgZXhpc3Rz LCBhbmQgbm90IGNyYXNoaW5nIGlmIGl0IGRvZXMgbm90Lg0KDQpUaGUgbWFpbiBmdW5jdGlvbmFs IGNoYW5nZSBpcyB0ZWFjaGluZyBtaW1lX25vZGVfb3BlbiB0byB1bmRlcnN0YW5kIGENCidkdXBs aWNhdGUnIGFyZ3VtZW50Lg0KDQpTdXBwb3J0IGZvciAtLWR1cGxpY2F0ZSBpbiBub3RtdWNoLXJl cGx5IHdvdWxkIG1ha2Ugc2Vuc2UsIGJ1dCB3ZQ0KZGVmZXIgaXQgdG8gYSBsYXRlciBjb21taXQu DQotLS0NCiBkZXZlbC9zY2hlbWF0YSAgICB8ICAxICsNCiBtaW1lLW5vZGUuYyAgICAgICB8IDMy ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tDQogbm90bXVjaC1jbGllbnQuaCAgfCAg NSArKysrLQ0KIG5vdG11Y2gtcmVwbHkuYyAgIHwgIDQgKystLQ0KIG5vdG11Y2gtc2hvdy5jICAg IHwgMTIgKysrKysrKystLS0tDQogdGVzdC9UMTYwLWpzb24uc2ggfCAgNCArKystDQogdGVzdC9U MTcwLXNleHAuc2ggfCAgMiArLQ0KIHRlc3QvVDUyMC1zaG93LnNoIHwgMzYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrDQogdGVzdC90ZXN0LWxpYi5zaCAgfCAgMiArKw0KIDkg ZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pDQoNCmRpZmYg LS1naXQgYS9kZXZlbC9zY2hlbWF0YSBiL2RldmVsL3NjaGVtYXRhDQppbmRleCAwMTgxMDg4OC4u NjZiY2RiZWQgMTAwNjQ0DQotLS0gYS9kZXZlbC9zY2hlbWF0YQ0KKysrIGIvZGV2ZWwvc2NoZW1h dGENCkBAIC04Myw2ICs4Myw3IEBAIG1lc3NhZ2UgPSB7DQogDQogICAgIGhlYWRlcnM6ICAgICAg ICBoZWFkZXJzLA0KICAgICBjcnlwdG86ICAgICAgICAgY3J5cHRvLA0KKyAgICBkdXBsaWNhdGU6 ICAgICAgaW50ZWdlciwNCiAgICAgYm9keT86ICAgICAgICAgIFtwYXJ0XSAgICAjIG9taXR0ZWQg aWYgLS1ib2R5PWZhbHNlDQogfQ0KIA0KZGlmZiAtLWdpdCBhL21pbWUtbm9kZS5jIGIvbWltZS1u b2RlLmMNCmluZGV4IGQyOWM0ZTQ4Li44OTBjOGEwZCAxMDA2NDQNCi0tLSBhL21pbWUtbm9kZS5j DQorKysgYi9taW1lLW5vZGUuYw0KQEAgLTc4LDEzICs3OCwxNCBAQCBtaW1lX25vZGVfZ2V0X21l c3NhZ2VfY3J5cHRvX3N0YXR1cyAobWltZV9ub2RlX3QgKm5vZGUpDQogDQogbm90bXVjaF9zdGF0 dXNfdA0KIG1pbWVfbm9kZV9vcGVuIChjb25zdCB2b2lkICpjdHgsIG5vdG11Y2hfbWVzc2FnZV90 ICptZXNzYWdlLA0KKwkJaW50IGR1cGxpY2F0ZSwNCiAJCV9ub3RtdWNoX2NyeXB0b190ICpjcnlw dG8sIG1pbWVfbm9kZV90ICoqcm9vdF9vdXQpDQogew0KICAgICBjb25zdCBjaGFyICpmaWxlbmFt ZSA9IG5vdG11Y2hfbWVzc2FnZV9nZXRfZmlsZW5hbWUgKG1lc3NhZ2UpOw0KICAgICBtaW1lX25v ZGVfY29udGV4dF90ICptY3R4Ow0KICAgICBtaW1lX25vZGVfdCAqcm9vdDsNCiAgICAgbm90bXVj aF9zdGF0dXNfdCBzdGF0dXM7DQotICAgIGludCBmZDsNCisgICAgaW50IGZkID0gLTE7DQogDQog ICAgIHJvb3QgPSB0YWxsb2NfemVybyAoY3R4LCBtaW1lX25vZGVfdCk7DQogICAgIGlmIChyb290 ID09IE5VTEwpIHsNCkBAIC0xMDMsMjAgKzEwNCwzMyBAQCBtaW1lX25vZGVfb3BlbiAoY29uc3Qg dm9pZCAqY3R4LCBub3RtdWNoX21lc3NhZ2VfdCAqbWVzc2FnZSwNCiAgICAgdGFsbG9jX3NldF9k ZXN0cnVjdG9yIChtY3R4LCBfbWltZV9ub2RlX2NvbnRleHRfZnJlZSk7DQogDQogICAgIC8qIEZh c3QgcGF0aCAqLw0KLSAgICBmZCA9IG9wZW4gKGZpbGVuYW1lLCBPX1JET05MWSk7DQorICAgIGlm IChkdXBsaWNhdGUgPD0gMCkNCisJZmQgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFkpOw0KICAg ICBpZiAoZmQgPT0gLTEpIHsNCi0JLyogU2xvdyBwYXRoIC0gZm9yIHNvbWUgcmVhc29uIHRoZSBm aXJzdCBmaWxlIGluIHRoZSBsaXN0IGlzDQotCSAqIG5vdCBhdmFpbGFibGUgYW55bW9yZS4gVGhp cyBpcyBjbGVhcmx5IGEgcHJvYmxlbSBpbiB0aGUNCisJLyogU2xvdyBwYXRoIC0gRWl0aGVyIHdl IGFyZSB0cnlpbmcgdG8gb3BlbiBhIHNwZWNpZmljIGZpbGUsIG9yDQorCSAqIGZvciBzb21lIHJl YXNvbiB0aGUgZmlyc3QgZmlsZSBpbiB0aGUgbGlzdCBpcw0KKwkgKiBub3QgYXZhaWxhYmxlIGFu eW1vcmUuIFRoZSBsYXR0ZXIgaXMgY2xlYXJseSBhIHByb2JsZW0gaW4gdGhlDQogCSAqIGRhdGFi YXNlLCBidXQgd2UgYXJlIG5vdCBnb2luZyB0byBsZXQgdGhpcyBwcm9ibGVtIGJlIGENCiAJICog c2hvdyBzdG9wcGVyICovDQogCW5vdG11Y2hfZmlsZW5hbWVzX3QgKmZpbGVuYW1lczsNCisJaW50 IGk9MTsNCisNCiAJZm9yIChmaWxlbmFtZXMgPSBub3RtdWNoX21lc3NhZ2VfZ2V0X2ZpbGVuYW1l cyAobWVzc2FnZSk7DQogCSAgICAgbm90bXVjaF9maWxlbmFtZXNfdmFsaWQgKGZpbGVuYW1lcyk7 DQotCSAgICAgbm90bXVjaF9maWxlbmFtZXNfbW92ZV90b19uZXh0IChmaWxlbmFtZXMpKSB7DQot CSAgICBmaWxlbmFtZSA9IG5vdG11Y2hfZmlsZW5hbWVzX2dldCAoZmlsZW5hbWVzKTsNCi0JICAg IGZkID0gb3BlbiAoZmlsZW5hbWUsIE9fUkRPTkxZKTsNCi0JICAgIGlmIChmZCAhPSAtMSkNCi0J CWJyZWFrOw0KKwkgICAgIG5vdG11Y2hfZmlsZW5hbWVzX21vdmVfdG9fbmV4dCAoZmlsZW5hbWVz KSwgaSsrKSB7DQorCSAgICBpZiAoaT49IGR1cGxpY2F0ZSkgew0KKwkJZmlsZW5hbWUgPSBub3Rt dWNoX2ZpbGVuYW1lc19nZXQgKGZpbGVuYW1lcyk7DQorCQlmZCA9IG9wZW4gKGZpbGVuYW1lLCBP X1JET05MWSk7DQorCQlpZiAoZmQgIT0gLTEpIHsNCisJCSAgICBicmVhazsNCisJCX0gZWxzZSB7 DQorCQkgICAgaWYgKGR1cGxpY2F0ZSA+IDApIHsNCisJCQlmcHJpbnRmIChzdGRlcnIsICJFcnJv ciBvcGVuaW5nICVzOiAlc1xuIiwgZmlsZW5hbWUsIHN0cmVycm9yIChlcnJubykpOw0KKwkJCXN0 YXR1cyA9IE5PVE1VQ0hfU1RBVFVTX0ZJTEVfRVJST1I7DQorCQkJZ290byBET05FOw0KKwkJICAg IH0NCisJCX0NCisJICAgIH0NCiAJfQ0KIA0KIAl0YWxsb2NfZnJlZSAoZmlsZW5hbWVzKTsNCmRp ZmYgLS1naXQgYS9ub3RtdWNoLWNsaWVudC5oIGIvbm90bXVjaC1jbGllbnQuaA0KaW5kZXggZjhm OTg3ZTcuLjIxYjQ5OTA4IDEwMDY0NA0KLS0tIGEvbm90bXVjaC1jbGllbnQuaA0KKysrIGIvbm90 bXVjaC1jbGllbnQuaA0KQEAgLTIzMCw2ICsyMzAsNyBAQCBzaG93X29uZV9wYXJ0IChjb25zdCBj aGFyICpmaWxlbmFtZSwgaW50IHBhcnQpOw0KIA0KIHZvaWQNCiBmb3JtYXRfcGFydF9zcHJpbnRl ciAoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3Qgc3ByaW50ZXIgKnNwLCBtaW1lX25vZGVfdCAqbm9k ZSwNCisJCSAgICAgIGludCBkdXBsaWNhdGUsDQogCQkgICAgICBib29sIG91dHB1dF9ib2R5LA0K IAkJICAgICAgYm9vbCBpbmNsdWRlX2h0bWwpOw0KIA0KQEAgLTM4OSw3ICszOTAsOCBAQCBzdHJ1 Y3QgbWltZV9ub2RlIHsNCiB9Ow0KIA0KIC8qIENvbnN0cnVjdCBhIG5ldyBNSU1FIG5vZGUgcG9p bnRpbmcgdG8gdGhlIHJvb3QgbWVzc2FnZSBwYXJ0IG9mDQotICogbWVzc2FnZS4gSWYgY3J5cHRv LT52ZXJpZnkgaXMgdHJ1ZSwgc2lnbmVkIGNoaWxkIHBhcnRzIHdpbGwgYmUNCisgKiBtZXNzYWdl LiBVc2UgdGhlIGR1cGxpY2F0ZS10aCBmaWxlbmFtZSBpZiB0aGF0IHBhcmFtZXRlciBpcw0KKyAq IHBvc2l0aXZlLiBJZiBjcnlwdG8tPnZlcmlmeSBpcyB0cnVlLCBzaWduZWQgY2hpbGQgcGFydHMg d2lsbCBiZQ0KICAqIHZlcmlmaWVkLiBJZiBjcnlwdG8tPmRlY3J5cHQgaXMgTk9UTVVDSF9ERUNS WVBUX1RSVUUsIGVuY3J5cHRlZA0KICAqIGNoaWxkIHBhcnRzIHdpbGwgYmUgZGVjcnlwdGVkIHVz aW5nIGVpdGhlciBzdG9yZWQgc2Vzc2lvbiBrZXlzIG9yDQogICogYXN5bW1ldHJpYyBjcnlwdG8u ICBJZiBjcnlwdG8tPmRlY3J5cHQgaXMgTk9UTVVDSF9ERUNSWVBUX0FVVE8sDQpAQCAtNDA3LDYg KzQwOSw3IEBAIHN0cnVjdCBtaW1lX25vZGUgew0KICAqLw0KIG5vdG11Y2hfc3RhdHVzX3QNCiBt aW1lX25vZGVfb3BlbiAoY29uc3Qgdm9pZCAqY3R4LCBub3RtdWNoX21lc3NhZ2VfdCAqbWVzc2Fn ZSwNCisJCWludCBkdXBsaWNhdGUsDQogCQlfbm90bXVjaF9jcnlwdG9fdCAqY3J5cHRvLCBtaW1l X25vZGVfdCAqKm5vZGVfb3V0KTsNCiANCiAvKiBSZXR1cm4gYSBuZXcgTUlNRSBub2RlIGZvciB0 aGUgcmVxdWVzdGVkIGNoaWxkIHBhcnQgb2YgcGFyZW50Lg0KZGlmZiAtLWdpdCBhL25vdG11Y2gt cmVwbHkuYyBiL25vdG11Y2gtcmVwbHkuYw0KaW5kZXggOWZjYTIyZGIuLjQwNTc2ZjE5IDEwMDY0 NA0KLS0tIGEvbm90bXVjaC1yZXBseS5jDQorKysgYi9ub3RtdWNoLXJlcGx5LmMNCkBAIC02NjMs NyArNjYzLDcgQEAgZG9fcmVwbHkgKG5vdG11Y2hfZGF0YWJhc2VfdCAqbm90bXVjaCwNCiAJIG5v dG11Y2hfbWVzc2FnZXNfbW92ZV90b19uZXh0IChtZXNzYWdlcykpIHsNCiAJbWVzc2FnZSA9IG5v dG11Y2hfbWVzc2FnZXNfZ2V0IChtZXNzYWdlcyk7DQogDQotCWlmIChtaW1lX25vZGVfb3BlbiAo bm90bXVjaCwgbWVzc2FnZSwgJnBhcmFtcy0+Y3J5cHRvLCAmbm9kZSkpDQorCWlmIChtaW1lX25v ZGVfb3BlbiAobm90bXVjaCwgbWVzc2FnZSwgLTEsICZwYXJhbXMtPmNyeXB0bywgJm5vZGUpKQ0K IAkgICAgcmV0dXJuIDE7DQogDQogCXJlcGx5ID0gY3JlYXRlX3JlcGx5X21lc3NhZ2UgKG5vdG11 Y2gsIG1lc3NhZ2UsDQpAQCAtNjgzLDcgKzY4Myw3IEBAIGRvX3JlcGx5IChub3RtdWNoX2RhdGFi YXNlX3QgKm5vdG11Y2gsDQogDQogCSAgICAvKiBTdGFydCB0aGUgb3JpZ2luYWwgKi8NCiAJICAg IHNwLT5tYXBfa2V5IChzcCwgIm9yaWdpbmFsIik7DQotCSAgICBmb3JtYXRfcGFydF9zcHJpbnRl ciAobm90bXVjaCwgc3AsIG5vZGUsIHRydWUsIGZhbHNlKTsNCisJICAgIGZvcm1hdF9wYXJ0X3Nw cmludGVyIChub3RtdWNoLCBzcCwgbm9kZSwgLTEsIHRydWUsIGZhbHNlKTsNCiANCiAJICAgIC8q IEVuZCAqLw0KIAkgICAgc3AtPmVuZCAoc3ApOw0KZGlmZiAtLWdpdCBhL25vdG11Y2gtc2hvdy5j IGIvbm90bXVjaC1zaG93LmMNCmluZGV4IDdiNTdhYWIzLi5jMTYyY2M1NyAxMDA2NDQNCi0tLSBh L25vdG11Y2gtc2hvdy5jDQorKysgYi9ub3RtdWNoLXNob3cuYw0KQEAgLTY3Miw2ICs2NzIsNyBA QCBmb3JtYXRfb21pdHRlZF9wYXJ0X21ldGFfc3ByaW50ZXIgKHNwcmludGVyX3QgKnNwLCBHTWlt ZU9iamVjdCAqbWV0YSwgR01pbWVQYXJ0DQogDQogdm9pZA0KIGZvcm1hdF9wYXJ0X3NwcmludGVy IChjb25zdCB2b2lkICpjdHgsIHNwcmludGVyX3QgKnNwLCBtaW1lX25vZGVfdCAqbm9kZSwNCisJ CSAgICAgIGludCBkdXBsaWNhdGUsDQogCQkgICAgICBib29sIG91dHB1dF9ib2R5LA0KIAkJICAg ICAgYm9vbCBpbmNsdWRlX2h0bWwpDQogew0KQEAgLTY4MywxMCArNjg0LDEzIEBAIGZvcm1hdF9w YXJ0X3NwcmludGVyIChjb25zdCB2b2lkICpjdHgsIHNwcmludGVyX3QgKnNwLCBtaW1lX25vZGVf dCAqbm9kZSwNCiAJc3AtPmJlZ2luX21hcCAoc3ApOw0KIAlmb3JtYXRfbWVzc2FnZV9zcHJpbnRl ciAoc3AsIG5vZGUtPmVudmVsb3BlX2ZpbGUpOw0KIA0KKwlzcC0+bWFwX2tleSAoc3AsICJkdXBs aWNhdGUiKTsNCisJc3AtPmludGVnZXIgKHNwLCBkdXBsaWNhdGUgPiAwID8gZHVwbGljYXRlIDog MSk7DQorDQogCWlmIChvdXRwdXRfYm9keSkgew0KIAkgICAgc3AtPm1hcF9rZXkgKHNwLCAiYm9k eSIpOw0KIAkgICAgc3AtPmJlZ2luX2xpc3QgKHNwKTsNCi0JICAgIGZvcm1hdF9wYXJ0X3Nwcmlu dGVyIChjdHgsIHNwLCBtaW1lX25vZGVfY2hpbGQgKG5vZGUsIDApLCB0cnVlLCBpbmNsdWRlX2h0 bWwpOw0KKwkgICAgZm9ybWF0X3BhcnRfc3ByaW50ZXIgKGN0eCwgc3AsIG1pbWVfbm9kZV9jaGls ZCAobm9kZSwgMCksIC0xLCB0cnVlLCBpbmNsdWRlX2h0bWwpOw0KIAkgICAgc3AtPmVuZCAoc3Ap Ow0KIAl9DQogDQpAQCAtODUwLDcgKzg1NCw3IEBAIGZvcm1hdF9wYXJ0X3NwcmludGVyIChjb25z dCB2b2lkICpjdHgsIHNwcmludGVyX3QgKnNwLCBtaW1lX25vZGVfdCAqbm9kZSwNCiAgICAgfQ0K IA0KICAgICBmb3IgKGkgPSAwOyBpIDwgbm9kZS0+bmNoaWxkcmVuOyBpKyspDQotCWZvcm1hdF9w YXJ0X3NwcmludGVyIChjdHgsIHNwLCBtaW1lX25vZGVfY2hpbGQgKG5vZGUsIGkpLCB0cnVlLCBp bmNsdWRlX2h0bWwpOw0KKwlmb3JtYXRfcGFydF9zcHJpbnRlciAoY3R4LCBzcCwgbWltZV9ub2Rl X2NoaWxkIChub2RlLCBpKSwgLTEsIHRydWUsIGluY2x1ZGVfaHRtbCk7DQogDQogICAgIC8qIENs b3NlIGNvbnRlbnQgc3RydWN0dXJlcyAqLw0KICAgICBmb3IgKGkgPSAwOyBpIDwgbmNsb3NlOyBp KyspDQpAQCAtODY0LDcgKzg2OCw3IEBAIGZvcm1hdF9wYXJ0X3NwcmludGVyX2VudHJ5IChjb25z dCB2b2lkICpjdHgsIHNwcmludGVyX3QgKnNwLA0KIAkJCSAgICBtaW1lX25vZGVfdCAqbm9kZSwg dW51c2VkIChpbnQgaW5kZW50KSwNCiAJCQkgICAgY29uc3Qgbm90bXVjaF9zaG93X3BhcmFtc190 ICpwYXJhbXMpDQogew0KLSAgICBmb3JtYXRfcGFydF9zcHJpbnRlciAoY3R4LCBzcCwgbm9kZSwg cGFyYW1zLT5vdXRwdXRfYm9keSwgcGFyYW1zLT5pbmNsdWRlX2h0bWwpOw0KKyAgICBmb3JtYXRf cGFydF9zcHJpbnRlciAoY3R4LCBzcCwgbm9kZSwgcGFyYW1zLT5kdXBsaWNhdGUsIHBhcmFtcy0+ b3V0cHV0X2JvZHksIHBhcmFtcy0+aW5jbHVkZV9odG1sKTsNCiANCiAgICAgcmV0dXJuIE5PVE1V Q0hfU1RBVFVTX1NVQ0NFU1M7DQogfQ0KQEAgLTEwMTgsNyArMTAyMiw3IEBAIHNob3dfbWVzc2Fn ZSAodm9pZCAqY3R4LA0KIAlzZXNzaW9uX2tleV9jb3VudF9lcnJvciA9IG5vdG11Y2hfbWVzc2Fn ZV9jb3VudF9wcm9wZXJ0aWVzIChtZXNzYWdlLCAic2Vzc2lvbi1rZXkiLA0KIAkJCQkJCQkJICAg ICZzZXNzaW9uX2tleXMpOw0KIA0KLSAgICBzdGF0dXMgPSBtaW1lX25vZGVfb3BlbiAobG9jYWws IG1lc3NhZ2UsICYocGFyYW1zLT5jcnlwdG8pLCAmcm9vdCk7DQorICAgIHN0YXR1cyA9IG1pbWVf bm9kZV9vcGVuIChsb2NhbCwgbWVzc2FnZSwgcGFyYW1zLT5kdXBsaWNhdGUsICYocGFyYW1zLT5j cnlwdG8pLCAmcm9vdCk7DQogICAgIGlmIChzdGF0dXMpDQogCWdvdG8gRE9ORTsNCiAgICAgcGFy dCA9IG1pbWVfbm9kZV9zZWVrX2RmcyAocm9vdCwgKHBhcmFtcy0+cGFydCA8IDAgPyAwIDogcGFy YW1zLT5wYXJ0KSk7DQpkaWZmIC0tZ2l0IGEvdGVzdC9UMTYwLWpzb24uc2ggYi90ZXN0L1QxNjAt anNvbi5zaA0KaW5kZXggZTEyNTIzNTMuLjRhNzk3ZjZhIDEwMDc1NQ0KLS0tIGEvdGVzdC9UMTYw LWpzb24uc2gNCisrKyBiL3Rlc3QvVDE2MC1qc29uLnNoDQpAQCAtNDksNyArNDksNyBAQCBvdXRw dXQ9JChub3RtdWNoIHNob3cgLS1mb3JtYXQ9anNvbiAiaWQ6JGlkIikNCiBmaWxlbmFtZT0kKG5v dG11Y2ggc2VhcmNoIC0tb3V0cHV0PWZpbGVzICJpZDokaWQiKQ0KICMgR2V0IGxlbmd0aCBvZiBS RUFETUUgYWZ0ZXIgYmFzZTY0LWVuY29kaW5nLCBtaW51cyBhZGRpdGlvbmFsIG5ld2xpbmUuDQog YXR0YWNobWVudF9sZW5ndGg9JCgoICQoYmFzZTY0ICROT1RNVUNIX1NSQ0RJUi90ZXN0L1JFQURN RSB8IHdjIC1jKSAtIDEgKSkNCi10ZXN0X2V4cGVjdF9lcXVhbF9qc29uICIkb3V0cHV0IiAiW1tb e1wiaWRcIjogXCIkaWRcIiwgIFwiY3J5cHRvXCI6IHt9LCBcIm1hdGNoXCI6IHRydWUsIFwiZXhj bHVkZWRcIjogZmFsc2UsIFwiZmlsZW5hbWVcIjogW1wiJGZpbGVuYW1lXCJdLCBcInRpbWVzdGFt cFwiOiA5NDY3MjgwMDAsIFwiZGF0ZV9yZWxhdGl2ZVwiOiBcIjIwMDAtMDEtMDFcIiwgXCJ0YWdz XCI6IFtcImluYm94XCJdLCBcImhlYWRlcnNcIjoge1wiU3ViamVjdFwiOiBcIiRzdWJqZWN0XCIs IFwiRnJvbVwiOiBcIk5vdG11Y2ggVGVzdCBTdWl0ZSA8dGVzdF9zdWl0ZUBub3RtdWNobWFpbC5v cmc+XCIsIFwiVG9cIjogXCJ0ZXN0X3N1aXRlQG5vdG11Y2htYWlsLm9yZ1wiLCBcIkRhdGVcIjog XCJTYXQsIDAxIEphbiAyMDAwIDEyOjAwOjAwICswMDAwXCJ9LCBcImJvZHlcIjogW3tcImlkXCI6 IDEsIFwiY29udGVudC10eXBlXCI6IFwibXVsdGlwYXJ0L21peGVkXCIsIFwiY29udGVudFwiOiBb e1wiaWRcIjogMiwgXCJjb250ZW50LXR5cGVcIjogXCJ0ZXh0L3BsYWluXCIsIFwiY29udGVudFwi OiBcIlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2Ugd2l0aCBpbmxpbmUgYXR0YWNobWVudCB3aXRoIGEg ZmlsZW5hbWVcIn0sIHtcImlkXCI6IDMsIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24v b2N0ZXQtc3RyZWFtXCIsIFwiY29udGVudC1sZW5ndGhcIjogJGF0dGFjaG1lbnRfbGVuZ3RoLCBc ImNvbnRlbnQtdHJhbnNmZXItZW5jb2RpbmdcIjogXCJiYXNlNjRcIiwgXCJjb250ZW50LWRpc3Bv c2l0aW9uXCI6IFwiaW5saW5lXCIsIFwiZmlsZW5hbWVcIjogXCJSRUFETUVcIn1dfV19LCBbXV1d XSINCit0ZXN0X2V4cGVjdF9lcXVhbF9qc29uICIkb3V0cHV0IiAiW1tbe1wiaWRcIjogXCIkaWRc IiwgXCJkdXBsaWNhdGVcIjogMSwgXCJjcnlwdG9cIjoge30sIFwibWF0Y2hcIjogdHJ1ZSwgXCJl eGNsdWRlZFwiOiBmYWxzZSwgXCJmaWxlbmFtZVwiOiBbXCIkZmlsZW5hbWVcIl0sIFwidGltZXN0 YW1wXCI6IDk0NjcyODAwMCwgXCJkYXRlX3JlbGF0aXZlXCI6IFwiMjAwMC0wMS0wMVwiLCBcInRh Z3NcIjogW1wiaW5ib3hcIl0sIFwiaGVhZGVyc1wiOiB7XCJTdWJqZWN0XCI6IFwiJHN1YmplY3Rc IiwgXCJGcm9tXCI6IFwiTm90bXVjaCBUZXN0IFN1aXRlIDx0ZXN0X3N1aXRlQG5vdG11Y2htYWls Lm9yZz5cIiwgXCJUb1wiOiBcInRlc3Rfc3VpdGVAbm90bXVjaG1haWwub3JnXCIsIFwiRGF0ZVwi OiBcIlNhdCwgMDEgSmFuIDIwMDAgMTI6MDA6MDAgKzAwMDBcIn0sIFwiYm9keVwiOiBbe1wiaWRc IjogMSwgXCJjb250ZW50LXR5cGVcIjogXCJtdWx0aXBhcnQvbWl4ZWRcIiwgXCJjb250ZW50XCI6 IFt7XCJpZFwiOiAyLCBcImNvbnRlbnQtdHlwZVwiOiBcInRleHQvcGxhaW5cIiwgXCJjb250ZW50 XCI6IFwiVGhpcyBpcyBhIHRlc3QgbWVzc2FnZSB3aXRoIGlubGluZSBhdHRhY2htZW50IHdpdGgg YSBmaWxlbmFtZVwifSwge1wiaWRcIjogMywgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlv bi9vY3RldC1zdHJlYW1cIiwgXCJjb250ZW50LWxlbmd0aFwiOiAkYXR0YWNobWVudF9sZW5ndGgs IFwiY29udGVudC10cmFuc2Zlci1lbmNvZGluZ1wiOiBcImJhc2U2NFwiLCBcImNvbnRlbnQtZGlz cG9zaXRpb25cIjogXCJpbmxpbmVcIiwgXCJmaWxlbmFtZVwiOiBcIlJFQURNRVwifV19XX0sIFtd XV1dIg0KIA0KIHRlc3RfYmVnaW5fc3VidGVzdCAiU2VhcmNoIG1lc3NhZ2U6IGpzb24sIHV0Zi04 Ig0KIGFkZF9tZXNzYWdlICJbc3ViamVjdF09XCJqc29uLXNlYXJjaC11dGY4LWJvZHktc8O8YmrD qWN0XCIiICJbZGF0ZV09XCJTYXQsIDAxIEphbiAyMDAwIDEyOjAwOjAwIC0wMDAwXCIiICJbYm9k eV09XCJqc8O2bi1zZWFyY2gtbcOpc3NhZ2VcIiINCkBAIC05Nyw2ICs5Nyw3IEBAIGNhdCA8PEVP RiA+IEVYUEVDVEVEDQogICAgICAgICBbDQogICAgICAgICAgICAgew0KICAgICAgICAgICAgICAg ICAiZGF0ZV9yZWxhdGl2ZSI6ICIyMDAxLTAxLTA1IiwNCisJCSJkdXBsaWNhdGUiOiAxLA0KICAg ICAgICAgICAgICAgICAiZXhjbHVkZWQiOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgImZpbGVu YW1lIjogWw0KICAgICAgICAgICAgICAgICAgICAgIiR7TUFJTF9ESVJ9L2NvcHkxIiwNCkBAIC0x MzIsNiArMTMzLDcgQEAgY2F0IDw8RU9GID4gRVhQRUNURUQNCiAgICAgICAgIFsNCiAgICAgICAg ICAgICB7DQogICAgICAgICAgICAgICAgICJkYXRlX3JlbGF0aXZlIjogIjIwMDEtMDEtMDUiLA0K KwkJImR1cGxpY2F0ZSI6IDEsDQogICAgICAgICAgICAgICAgICJleGNsdWRlZCI6IGZhbHNlLA0K ICAgICAgICAgICAgICAgICAiZmlsZW5hbWUiOiAiJHtNQUlMX0RJUn0vY29weTEiLA0KICAgICAg ICAgICAgICAgICAiaGVhZGVycyI6IHsNCmRpZmYgLS1naXQgYS90ZXN0L1QxNzAtc2V4cC5zaCBi L3Rlc3QvVDE3MC1zZXhwLnNoDQppbmRleCA3NmUwNzQ4MS4uMGJlOTRiZDIgMTAwNzU1DQotLS0g YS90ZXN0L1QxNzAtc2V4cC5zaA0KKysrIGIvdGVzdC9UMTcwLXNleHAuc2gNCkBAIC00NSw3ICs0 NSw3IEBAIG91dHB1dD0kKG5vdG11Y2ggc2hvdyAtLWZvcm1hdD1zZXhwICJpZDokaWQiKQ0KIGZp bGVuYW1lPSQobm90bXVjaCBzZWFyY2ggLS1vdXRwdXQ9ZmlsZXMgImlkOiRpZCIpDQogIyBHZXQg bGVuZ3RoIG9mIFJFQURNRSBhZnRlciBiYXNlNjQtZW5jb2RpbmcsIG1pbnVzIGFkZGl0aW9uYWwg bmV3bGluZS4NCiBhdHRhY2htZW50X2xlbmd0aD0kKCggJChiYXNlNjQgJE5PVE1VQ0hfU1JDRElS L3Rlc3QvUkVBRE1FIHwgd2MgLWMpIC0gMSApKQ0KLXRlc3RfZXhwZWN0X2VxdWFsICIkb3V0cHV0 IiAiKCgoKDppZCBcIiRpZFwiIDptYXRjaCB0IDpleGNsdWRlZCBuaWwgOmZpbGVuYW1lIChcIiRm aWxlbmFtZVwiKSA6dGltZXN0YW1wIDk0NjcyODAwMCA6ZGF0ZV9yZWxhdGl2ZSBcIjIwMDAtMDEt MDFcIiA6dGFncyAoXCJpbmJveFwiKSA6Ym9keSAoKDppZCAxIDpjb250ZW50LXR5cGUgXCJtdWx0 aXBhcnQvbWl4ZWRcIiA6Y29udGVudCAoKDppZCAyIDpjb250ZW50LXR5cGUgXCJ0ZXh0L3BsYWlu XCIgOmNvbnRlbnQgXCJUaGlzIGlzIGEgdGVzdCBtZXNzYWdlIHdpdGggaW5saW5lIGF0dGFjaG1l bnQgd2l0aCBhIGZpbGVuYW1lXCIpICg6aWQgMyA6Y29udGVudC10eXBlIFwiYXBwbGljYXRpb24v b2N0ZXQtc3RyZWFtXCIgOmNvbnRlbnQtZGlzcG9zaXRpb24gXCJpbmxpbmVcIiA6ZmlsZW5hbWUg XCJSRUFETUVcIiA6Y29udGVudC10cmFuc2Zlci1lbmNvZGluZyBcImJhc2U2NFwiIDpjb250ZW50 LWxlbmd0aCAkYXR0YWNobWVudF9sZW5ndGgpKSkpIDpjcnlwdG8gKCkgOmhlYWRlcnMgKDpTdWJq ZWN0IFwic2V4cC1zaG93LWlubGluZS1hdHRhY2htZW50LWZpbGVuYW1lXCIgOkZyb20gXCJOb3Rt dWNoIFRlc3QgU3VpdGUgPHRlc3Rfc3VpdGVAbm90bXVjaG1haWwub3JnPlwiIDpUbyBcInRlc3Rf c3VpdGVAbm90bXVjaG1haWwub3JnXCIgOkRhdGUgXCJTYXQsIDAxIEphbiAyMDAwIDEyOjAwOjAw ICswMDAwXCIpKSAoKSkpKSINCit0ZXN0X2V4cGVjdF9lcXVhbCAiJG91dHB1dCIgIigoKCg6aWQg XCIkaWRcIiA6bWF0Y2ggdCA6ZXhjbHVkZWQgbmlsIDpmaWxlbmFtZSAoXCIkZmlsZW5hbWVcIikg OnRpbWVzdGFtcCA5NDY3MjgwMDAgOmRhdGVfcmVsYXRpdmUgXCIyMDAwLTAxLTAxXCIgOnRhZ3Mg KFwiaW5ib3hcIikgOmR1cGxpY2F0ZSAxIDpib2R5ICgoOmlkIDEgOmNvbnRlbnQtdHlwZSBcIm11 bHRpcGFydC9taXhlZFwiIDpjb250ZW50ICgoOmlkIDIgOmNvbnRlbnQtdHlwZSBcInRleHQvcGxh aW5cIiA6Y29udGVudCBcIlRoaXMgaXMgYSB0ZXN0IG1lc3NhZ2Ugd2l0aCBpbmxpbmUgYXR0YWNo bWVudCB3aXRoIGEgZmlsZW5hbWVcIikgKDppZCAzIDpjb250ZW50LXR5cGUgXCJhcHBsaWNhdGlv bi9vY3RldC1zdHJlYW1cIiA6Y29udGVudC1kaXNwb3NpdGlvbiBcImlubGluZVwiIDpmaWxlbmFt ZSBcIlJFQURNRVwiIDpjb250ZW50LXRyYW5zZmVyLWVuY29kaW5nIFwiYmFzZTY0XCIgOmNvbnRl bnQtbGVuZ3RoICRhdHRhY2htZW50X2xlbmd0aCkpKSkgOmNyeXB0byAoKSA6aGVhZGVycyAoOlN1 YmplY3QgXCJzZXhwLXNob3ctaW5saW5lLWF0dGFjaG1lbnQtZmlsZW5hbWVcIiA6RnJvbSBcIk5v dG11Y2ggVGVzdCBTdWl0ZSA8dGVzdF9zdWl0ZUBub3RtdWNobWFpbC5vcmc+XCIgOlRvIFwidGVz dF9zdWl0ZUBub3RtdWNobWFpbC5vcmdcIiA6RGF0ZSBcIlNhdCwgMDEgSmFuIDIwMDAgMTI6MDA6 MDAgKzAwMDBcIikpICgpKSkpIg0KIA0KIHRlc3RfYmVnaW5fc3VidGVzdCAic2hvdyBleHRyYSBo ZWFkZXJzIg0KIGFkZF9tZXNzYWdlICJbc3ViamVjdF09XCJleHRyYS1oZWFkZXJzXCIiICJbZGF0 ZV09XCJTYXQsIDAxIEphbiAyMDAwIDEyOjAwOjAwIC0wMDAwXCIiICJbaW4tcmVwbHktdG9dPVwi PHBhcmVudEBub3RtdWNoLXRlc3Qtc3VpdGU+XCIiICJbYm9keV09XCJleHRyYS1oZWFkZXJzIHRl c3RcIiJcDQpkaWZmIC0tZ2l0IGEvdGVzdC9UNTIwLXNob3cuc2ggYi90ZXN0L1Q1MjAtc2hvdy5z aA0KaW5kZXggMTJiZGU2YzcuLmM3YjczYTZkIDEwMDc1NQ0KLS0tIGEvdGVzdC9UNTIwLXNob3cu c2gNCisrKyBiL3Rlc3QvVDUyMC1zaG93LnNoDQpAQCAtNDUsNCArNDUsNDAgQEAgaWYgWyAkTk9U TVVDSF9IQVZFX1NGU0VYUCAtZXEgMSBdOyB0aGVuDQogDQogZmkNCiANCithZGRfZW1haWxfY29y cHVzIGR1cGxpY2F0ZQ0KKw0KK0lEMT1kZWJpYW4vMi42LjEuZGZzZy00LTEtZzg3ZWExNjFAODdl YTE2MWU4NTFkZmIxZWEzMjRhZjAwZTRlY2ZjY2MxODg3NWUxNQ0KKw0KK3Rlc3RfYmVnaW5fc3Vi dGVzdCAiZm9ybWF0IGpzb24sIC0tZHVwbGljYXRlPTIsIGR1cGxpY2F0ZSBrZXkiDQorb3V0cHV0 PSQobm90bXVjaCBzaG93IC0tZm9ybWF0PWpzb24gLS1kdXBsaWNhdGU9MiBpZDoke0lEMX0pDQor dGVzdF9qc29uX25vZGVzIDw8PCIkb3V0cHV0IiAiZHVwOlsnZHVwbGljYXRlJ109MiINCisNCit0 ZXN0X2JlZ2luX3N1YnRlc3QgImZvcm1hdCBqc29uLCBzdWJqZWN0LCAtLWR1cGxpY2F0ZT0xIg0K K291dHB1dD0kKG5vdG11Y2ggc2hvdyAtLWZvcm1hdD1qc29uIC0tZHVwbGljYXRlPTEgaWQ6JHtJ RDF9KQ0KK2ZpbGU9JChub3RtdWNoIHNlYXJjaCAtLW91dHB1dD1maWxlcyBpZDoke0lEMX0gfCBo ZWFkIC1uIDEpDQorc3ViamVjdD0kKHNlZCAtbiAncy9eU3ViamVjdDogXCguKlwpJC9cMS9wJyA8 ICRmaWxlKQ0KK3Rlc3RfanNvbl9ub2RlcyA8PDwiJG91dHB1dCIgInN1YmplY3Q6WydoZWFkZXJz J11bJ1N1YmplY3QnXT1cIiRzdWJqZWN0XCIiDQorDQordGVzdF9iZWdpbl9zdWJ0ZXN0ICJmb3Jt YXQganNvbiwgc3ViamVjdCwgLS1kdXBsaWNhdGU9MiINCitvdXRwdXQ9JChub3RtdWNoIHNob3cg LS1mb3JtYXQ9anNvbiAtLWR1cGxpY2F0ZT0yIGlkOiR7SUQxfSkNCitmaWxlPSQobm90bXVjaCBz ZWFyY2ggLS1vdXRwdXQ9ZmlsZXMgaWQ6JHtJRDF9IHwgdGFpbCAtbiAxKQ0KK3N1YmplY3Q9JChz ZWQgLW4gJ3MvXlN1YmplY3Q6IFwoLipcKSQvXDEvcCcgPCAkZmlsZSkNCit0ZXN0X2pzb25fbm9k ZXMgPDw8IiRvdXRwdXQiICJzdWJqZWN0OlsnaGVhZGVycyddWydTdWJqZWN0J109XCIkc3ViamVj dFwiIg0KKw0KK0lEMj04N3IyZ2V5d2g5LmZzZkB0ZXRoZXJhLm5ldA0KK2ZvciBkdXAgaW4gezEu LjJ9OyBkbw0KKyAgICB0ZXN0X2JlZ2luX3N1YnRlc3QgImZvcm1hdCBqc29uLCBib2R5LCAtLWR1 cGxpY2F0ZT0ke2R1cH0iDQorICAgIG91dHB1dD0kKG5vdG11Y2ggc2hvdyAtLWZvcm1hdD1qc29u IC0tZHVwbGljYXRlPSR7ZHVwfSBpZDoke0lEMn0gfCBcDQorCSAgICAgJE5PVE1VQ0hfUFlUSE9O IC1CICIkTk9UTVVDSF9TUkNESVIiL3Rlc3QvanNvbl9jaGVja19ub2Rlcy5weSAiYm9keTpbJ2Jv ZHknXVswXVsnY29udGVudCddIiB8IFwNCisJICAgICBncmVwICdeIyBib2R5JykNCisgICAgdGVz dF9leHBlY3RfZXF1YWwgIiRvdXRwdXQiICIjIGJvZHkgJHtkdXB9Ig0KK2RvbmUNCisNCitJRDM9 ODdyMmVjcnI2eC5mc2ZAemVwaHlyLnNpbGVudGZsYW1lLmNvbQ0KK2ZvciBkdXAgaW4gezEuLjV9 OyBkbw0KKyAgICB0ZXN0X2JlZ2luX3N1YnRlc3QgImZvcm1hdCBqc29uLCAtLWR1cGxpY2F0ZT0k e2R1cH0sICdkdXBsaWNhdGUnIGtleSINCisgICAgb3V0cHV0PSQobm90bXVjaCBzaG93IC0tZm9y bWF0PWpzb24gLS1kdXBsaWNhdGU9JHtkdXB9IGlkOiR7SUQzfSkNCisgICAgdGVzdF9qc29uX25v ZGVzIDw8PCIkb3V0cHV0IiAiZHVwOlsnZHVwbGljYXRlJ109JHtkdXB9Ig0KK2RvbmUNCisNCiB0 ZXN0X2RvbmUNCmRpZmYgLS1naXQgYS90ZXN0L3Rlc3QtbGliLnNoIGIvdGVzdC90ZXN0LWxpYi5z aA0KaW5kZXggNGViNThlYTAuLjk1NDExZmRjIDEwMDY0NA0KLS0tIGEvdGVzdC90ZXN0LWxpYi5z aA0KKysrIGIvdGVzdC90ZXN0LWxpYi5zaA0KQEAgLTUyMiw2ICs1MjIsNyBAQCBub3RtdWNoX2pz b25fc2hvd19zYW5pdGl6ZSAoKSB7DQogCS1lICdzfCJpZCI6ICJbXiJdKiIsfCJpZCI6ICJYWFhY WCIsfGcnIFwNCiAJLWUgJ3N8IkRhdGUiOiAiRnJpLCAwNSBKYW4gMjAwMSBbXiJdKjAwMDAifCJE YXRlIjogIkdFTkVSQVRFRF9EQVRFInxnJyBcDQogCS1lICdzfCJmaWxlbmFtZSI6ICJzaWduYXR1 cmUuYXNjIix8fGcnIFwNCisJLWUgJ3N8ImR1cGxpY2F0ZSI6IDEsfHxnJyBcDQogCS1lICdzfCJm aWxlbmFtZSI6IFxbIi9bXiJdKiJcXSx8ImZpbGVuYW1lIjogXFsiWVlZWVkiXF0sfGcnIFwNCiAJ LWUgJ3N8InRpbWVzdGFtcCI6IDk3Li4uLi4uLnwidGltZXN0YW1wIjogNDJ8ZycgXA0KIAktZSAn c3wiY29udGVudC1sZW5ndGgiOiBbMS05XVswLTldKnwiY29udGVudC1sZW5ndGgiOiAiTk9OWkVS TyJ8ZycNCkBAIC01MzIsNiArNTMzLDcgQEAgbm90bXVjaF9zZXhwX3Nob3dfc2FuaXRpemUgKCkg ew0KIAktZSAnc3w6aWQgIlteIl0qInw6aWQgIlhYWFhYInxnJyBcDQogCS1lICdzfDpEYXRlICJT YXQsIDAxIEphbiAyMDAwIFteIl0qMDAwMCJ8OkRhdGUgIkdFTkVSQVRFRF9EQVRFInxnJyBcDQog CS1lICdzfDpmaWxlbmFtZSAic2lnbmF0dXJlLmFzYyJ8fGcnIFwNCisJLWUgJ3N8OmR1cGxpY2F0 ZSAxIHx8ZycgXA0KIAktZSAnc3w6ZmlsZW5hbWUgKCIvW14iXSoiKXw6ZmlsZW5hbWUgKCJZWVlZ WSIpfGcnIFwNCiAJLWUgJ3N8OnRpbWVzdGFtcCA5Li4uLi4uLi58OnRpbWVzdGFtcCA0MnxnJyBc DQogCS1lICdzfDpjb250ZW50LWxlbmd0aCBbMS05XVswLTldKnw6Y29udGVudC1sZW5ndGggIk5P TlpFUk8ifGcnDQotLSANCjIuMzUuMg0KDQ==