Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tWZOS-00HYu8-7w for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Jan 2025 11:11:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tWZOR-008Rxg-7L for pgsql-hackers@arkaria.postgresql.org; Sat, 11 Jan 2025 11:11:02 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tWZOQ-008RxY-Jh for pgsql-hackers@lists.postgresql.org; Sat, 11 Jan 2025 11:11:02 +0000 Received: from forward501a.mail.yandex.net ([178.154.239.81]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tWZOM-0011tu-09 for pgsql-hackers@lists.postgresql.org; Sat, 11 Jan 2025 11:11:01 +0000 Received: from mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net [IPv6:2a02:6b8:c1d:3e83:0:640:307a:0]) by forward501a.mail.yandex.net (Yandex) with ESMTPS id 90CF161C76; Sat, 11 Jan 2025 14:10:52 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id mAnKCNCOl8c0-MCUkRJa2; Sat, 11 Jan 2025 14:10:51 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tantorlabs.com; s=mail; t=1736593852; bh=ts1tvkcUk8FFFpYEMeTuuN8fF6FvQP9SDyiIe1gEPaM=; h=In-Reply-To:Cc:Date:References:To:Subject:Message-ID:From; b=pTxyfqbaCczE7beddI5w8H/0ru54ihruZeFaq9gRlmo97ZcqfpgQxww11+LSRoSeE lDucbfNv4kbx3M3IjKk2AzDnIGTEvN95lgNL/Z+9F2uzzlvHmUXZmEbE45/iwsmHyY Kjt3e5MYi47wY4RhPthVJev/GxK6NiKN3oBKNztY= Authentication-Results: mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net; dkim=pass header.i=@tantorlabs.com Content-Type: multipart/mixed; boundary="------------Yso66j0ulDHTcVXeMaSC5oOp" Message-ID: <55695d15-c738-4401-8883-58bc855c9b03@tantorlabs.com> Date: Sat, 11 Jan 2025 14:10:47 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: explain analyze rows=%.0f To: Guillaume Lelarge Cc: Daniel Gustafsson , Ibrar Ahmed , "Gregory Stark (as CFM)" , Tom Lane , Robert Haas , Amit Kapila , Justin Pryzby , Peter Geoghegan , vignesh C , "David G. Johnston" , pgsql-hackers@lists.postgresql.org References: <20220707222015.GD13040@telsasoft.com> <2954811.1667711530@sss.pgh.pa.us> Content-Language: en-US From: Ilia Evdokimov In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Yso66j0ulDHTcVXeMaSC5oOp Content-Type: multipart/alternative; boundary="------------yEUmD6FyMat8JEVH1HxDZk4K" --------------yEUmD6FyMat8JEVH1HxDZk4K Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11.01.2025 12:15, Guillaume Lelarge wrote: > > > Thanks for your patch, this looks like a very interesting feature that > I'd like to see in a future release. > > It did a quick run: patch OK, make OK, make install OK, but make check > fails quite a lot on partition_prune.sql. > > I guess it would need some work on partition_prune.sql tests and > perhaps also on the docs. > > Thanks again. > > > -- > Guillaume. Yes, certainly. I have fixed partition_prune.sql. In the documentation example for EXPLAIN ANALYZE where loops is greater than one, I updated how 'rows' and 'loops' values are displayed so they appear as decimal fractions with two digits after the decimal point. I attached fixed patch. Any suggestions? -- Best regards, Ilia Evdokimov, Tantor Labs LLC. --------------yEUmD6FyMat8JEVH1HxDZk4K Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 11.01.2025 12:15, Guillaume Lelarge wrote:


Thanks for your patch, this looks like a very interesting feature that I'd like to see in a future release.

It did a quick run: patch OK, make OK, make install OK, but make check fails quite a lot on partition_prune.sql.

I guess it would need some work on partition_prune.sql tests and perhaps also on the docs.

Thanks again.


--
Guillaume.


Yes, certainly. I have fixed partition_prune.sql. In the documentation example for EXPLAIN ANALYZE where loops is greater than one, I updated how 'rows' and 'loops' values are displayed so they appear as decimal fractions with two digits after the decimal point.

I attached fixed patch.

Any suggestions?

--
Best regards,
Ilia Evdokimov,
Tantor Labs LLC.

--------------yEUmD6FyMat8JEVH1HxDZk4K-- --------------Yso66j0ulDHTcVXeMaSC5oOp Content-Type: text/x-patch; charset=UTF-8; name="v5-0001-Clarify-display-of-rows-and-loops-as-decimal-fraction.patch" Content-Disposition: attachment; filename*0="v5-0001-Clarify-display-of-rows-and-loops-as-decimal-fractio"; filename*1="n.patch" Content-Transfer-Encoding: base64 RnJvbSBhOTM0ZmJkMjc4MzUwZWRmN2EzYTNlN2ZlNjIwYTAwMjdjZWIyNTgwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJbGlhIEV2ZG9raW1vdiA8aWx5YS5ldmRva2ltb3ZA dGFudG9ybGFicy5jb20+CkRhdGU6IFNhdCwgMTEgSmFuIDIwMjUgMTM6NTk6MzQgKzAzMDAK U3ViamVjdDogW1BBVENIXSBDbGFyaWZ5IGRpc3BsYXkgb2Ygcm93cyBhbmQgbG9vcHMgYXMg ZGVjaW1hbCBmcmFjdGlvbnMKCldoZW4gdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIHJvd3MgaXMg c21hbGwgY29tcGFyZWQgdG8gdGhlIG51bWJlciBvZiBsb29wcywKYm90aCByb3dzIGFuZCBs b29wcyBhcmUgZGlzcGxheWVkIGFzIGRlY2ltYWwgZnJhY3Rpb25zIHdpdGggdHdvIGRpZ2l0 cwphZnRlciB0aGUgZGVjaW1hbCBwb2ludCBpbiBFWFBMQUlOIEFOQUxZWkUuCi0tLQogZG9j L3NyYy9zZ21sL3BlcmZvcm0uc2dtbCAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNy Yy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxhaW4uYyAgICAgICAgICAgICAgICB8IDQ5ICsrKysr KysrKysrKystLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3By dW5lLm91dCB8IDEwICsrLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9wcnVu ZS5zcWwgICAgICB8ICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyks IDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9wZXJmb3JtLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcGVyZm9ybS5zZ21sCmluZGV4IGE1MDJhMmFhYmEuLmRhN2Ex OWY0YjggMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wZXJmb3JtLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL3BlcmZvcm0uc2dtbApAQCAtNzMwLDcgKzczMCw3IEBAIFdIRVJFIHQxLnVu aXF1ZTEgJmx0OyAxMCBBTkQgdDEudW5pcXVlMiA9IHQyLnVuaXF1ZTI7CiAgICAgICAgICAt Jmd0OyAgQml0bWFwIEluZGV4IFNjYW4gb24gdGVuazFfdW5pcXVlMSAgKGNvc3Q9MC4wMC4u NC4zNiByb3dzPTEwIHdpZHRoPTApIChhY3R1YWwgdGltZT0wLjAwNC4uMC4wMDQgcm93cz0x MCBsb29wcz0xKQogICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKHVuaXF1ZTEgJmx0OyAx MCkKICAgICAgICAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MgotICAgLSZndDsgIElu ZGV4IFNjYW4gdXNpbmcgdGVuazJfdW5pcXVlMiBvbiB0ZW5rMiB0MiAgKGNvc3Q9MC4yOS4u Ny45MCByb3dzPTEgd2lkdGg9MjQ0KSAoYWN0dWFsIHRpbWU9MC4wMDMuLjAuMDAzIHJvd3M9 MSBsb29wcz0xMCkKKyAgIC0mZ3Q7ICBJbmRleCBTY2FuIHVzaW5nIHRlbmsyX3VuaXF1ZTIg b24gdGVuazIgdDIgIChjb3N0PTAuMjkuLjcuOTAgcm93cz0xIHdpZHRoPTI0NCkgKGFjdHVh bCB0aW1lPTAuMDAzLi4wLjAwMyByb3dzPTEuMDAgbG9vcHM9MTAuMDApCiAgICAgICAgICBJ bmRleCBDb25kOiAodW5pcXVlMiA9IHQxLnVuaXF1ZTIpCiAgICAgICAgICBCdWZmZXJzOiBz aGFyZWQgaGl0PTI0IHJlYWQ9NgogIFBsYW5uaW5nOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvZXhwbGFpbi5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhwbGFpbi5j CmluZGV4IGMyNGU2NmY4MmUuLjIwMDI5NGI3NTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL2V4cGxhaW4uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9leHBsYWlu LmMKQEAgLTE5ODEsMTQgKzE5ODEsMTQgQEAgRXhwbGFpbk5vZGUoUGxhblN0YXRlICpwbGFu c3RhdGUsIExpc3QgKmFuY2VzdG9ycywKIAogCQlpZiAoZXMtPmZvcm1hdCA9PSBFWFBMQUlO X0ZPUk1BVF9URVhUKQogCQl7CisJCQlhcHBlbmRTdHJpbmdJbmZvKGVzLT5zdHIsICIgKGFj dHVhbCIpOwogCQkJaWYgKGVzLT50aW1pbmcpCi0JCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+ c3RyLAotCQkJCQkJCQkgIiAoYWN0dWFsIHRpbWU9JS4zZi4uJS4zZiByb3dzPSUuMGYgbG9v cHM9JS4wZikiLAotCQkJCQkJCQkgc3RhcnR1cF9tcywgdG90YWxfbXMsIHJvd3MsIG5sb29w cyk7CisJCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLCAiIHRpbWU9JS4zZi4uJS4zZiIs IHN0YXJ0dXBfbXMsIHRvdGFsX21zKTsKKworCQkJaWYgKG5sb29wcyA+IDEgJiYgcGxhbnN0 YXRlLT5pbnN0cnVtZW50LT5udHVwbGVzIDwgbmxvb3BzKQorCQkJCWFwcGVuZFN0cmluZ0lu Zm8oZXMtPnN0ciwiIHJvd3M9JS4yZiBsb29wcz0lLjJmKSIsIHJvd3MsIG5sb29wcyk7CiAJ CQllbHNlCi0JCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLAotCQkJCQkJCQkgIiAoYWN0 dWFsIHJvd3M9JS4wZiBsb29wcz0lLjBmKSIsCi0JCQkJCQkJCSByb3dzLCBubG9vcHMpOwor CQkJCWFwcGVuZFN0cmluZ0luZm8oZXMtPnN0ciwiIHJvd3M9JS4wZiBsb29wcz0lLjBmKSIs IHJvd3MsIG5sb29wcyk7CiAJCX0KIAkJZWxzZQogCQl7CkBAIC0xOTk5LDggKzE5OTksMTYg QEAgRXhwbGFpbk5vZGUoUGxhblN0YXRlICpwbGFuc3RhdGUsIExpc3QgKmFuY2VzdG9ycywK IAkJCQlFeHBsYWluUHJvcGVydHlGbG9hdCgiQWN0dWFsIFRvdGFsIFRpbWUiLCAibXMiLCB0 b3RhbF9tcywKIAkJCQkJCQkJCSAzLCBlcyk7CiAJCQl9Ci0JCQlFeHBsYWluUHJvcGVydHlG bG9hdCgiQWN0dWFsIFJvd3MiLCBOVUxMLCByb3dzLCAwLCBlcyk7Ci0JCQlFeHBsYWluUHJv cGVydHlGbG9hdCgiQWN0dWFsIExvb3BzIiwgTlVMTCwgbmxvb3BzLCAwLCBlcyk7CisJCQlp ZiAobmxvb3BzID4gMSAmJiBwbGFuc3RhdGUtPmluc3RydW1lbnQtPm50dXBsZXMgPCBubG9v cHMpCisJCQl7CisJCQkJRXhwbGFpblByb3BlcnR5RmxvYXQoIkFjdHVhbCBSb3dzIiwgTlVM TCwgcm93cywgMiwgZXMpOworCQkJCUV4cGxhaW5Qcm9wZXJ0eUZsb2F0KCJBY3R1YWwgTG9v cHMiLCBOVUxMLCBubG9vcHMsIDIsIGVzKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlF eHBsYWluUHJvcGVydHlGbG9hdCgiQWN0dWFsIFJvd3MiLCBOVUxMLCByb3dzLCAwLCBlcyk7 CisJCQkJRXhwbGFpblByb3BlcnR5RmxvYXQoIkFjdHVhbCBMb29wcyIsIE5VTEwsIG5sb29w cywgMCwgZXMpOworCQkJfQogCQl9CiAJfQogCWVsc2UgaWYgKGVzLT5hbmFseXplKQpAQCAt MjA1MiwxNCArMjA2MCwxNCBAQCBFeHBsYWluTm9kZShQbGFuU3RhdGUgKnBsYW5zdGF0ZSwg TGlzdCAqYW5jZXN0b3JzLAogCQkJaWYgKGVzLT5mb3JtYXQgPT0gRVhQTEFJTl9GT1JNQVRf VEVYVCkKIAkJCXsKIAkJCQlFeHBsYWluSW5kZW50VGV4dChlcyk7CisJCQkJYXBwZW5kU3Ry aW5nSW5mbyhlcy0+c3RyLCAiYWN0dWFsIik7CiAJCQkJaWYgKGVzLT50aW1pbmcpCi0JCQkJ CWFwcGVuZFN0cmluZ0luZm8oZXMtPnN0ciwKLQkJCQkJCQkJCSAiYWN0dWFsIHRpbWU9JS4z Zi4uJS4zZiByb3dzPSUuMGYgbG9vcHM9JS4wZlxuIiwKLQkJCQkJCQkJCSBzdGFydHVwX21z LCB0b3RhbF9tcywgcm93cywgbmxvb3BzKTsKKwkJCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+ c3RyLCAiIHRpbWU9JS4zZi4uJS4zZiIsIHN0YXJ0dXBfbXMsIHRvdGFsX21zKTsKKworCQkJ CWlmIChubG9vcHMgPiAxICYmIHBsYW5zdGF0ZS0+aW5zdHJ1bWVudC0+bnR1cGxlcyA8IG5s b29wcykKKwkJCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLCIgcm93cz0lLjJmIGxvb3Bz PSUuMmYpIiwgcm93cywgbmxvb3BzKTsKIAkJCQllbHNlCi0JCQkJCWFwcGVuZFN0cmluZ0lu Zm8oZXMtPnN0ciwKLQkJCQkJCQkJCSAiYWN0dWFsIHJvd3M9JS4wZiBsb29wcz0lLjBmXG4i LAotCQkJCQkJCQkJIHJvd3MsIG5sb29wcyk7CisJCQkJCWFwcGVuZFN0cmluZ0luZm8oZXMt PnN0ciwiIHJvd3M9JS4wZiBsb29wcz0lLjBmKSIsIHJvd3MsIG5sb29wcyk7CiAJCQl9CiAJ CQllbHNlCiAJCQl7CkBAIC0yMDcwLDggKzIwNzgsMTcgQEAgRXhwbGFpbk5vZGUoUGxhblN0 YXRlICpwbGFuc3RhdGUsIExpc3QgKmFuY2VzdG9ycywKIAkJCQkJRXhwbGFpblByb3BlcnR5 RmxvYXQoIkFjdHVhbCBUb3RhbCBUaW1lIiwgIm1zIiwKIAkJCQkJCQkJCQkgdG90YWxfbXMs IDMsIGVzKTsKIAkJCQl9Ci0JCQkJRXhwbGFpblByb3BlcnR5RmxvYXQoIkFjdHVhbCBSb3dz IiwgTlVMTCwgcm93cywgMCwgZXMpOwotCQkJCUV4cGxhaW5Qcm9wZXJ0eUZsb2F0KCJBY3R1 YWwgTG9vcHMiLCBOVUxMLCBubG9vcHMsIDAsIGVzKTsKKworCQkJCWlmIChubG9vcHMgPiAx ICYmIHBsYW5zdGF0ZS0+aW5zdHJ1bWVudC0+bnR1cGxlcyA8IG5sb29wcykKKwkJCQl7CisJ CQkJCUV4cGxhaW5Qcm9wZXJ0eUZsb2F0KCJBY3R1YWwgUm93cyIsIE5VTEwsIHJvd3MsIDIs IGVzKTsKKwkJCQkJRXhwbGFpblByb3BlcnR5RmxvYXQoIkFjdHVhbCBMb29wcyIsIE5VTEws IG5sb29wcywgMiwgZXMpOworCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQlFeHBsYWlu UHJvcGVydHlGbG9hdCgiQWN0dWFsIFJvd3MiLCBOVUxMLCByb3dzLCAwLCBlcyk7CisJCQkJ CUV4cGxhaW5Qcm9wZXJ0eUZsb2F0KCJBY3R1YWwgTG9vcHMiLCBOVUxMLCBubG9vcHMsIDAs IGVzKTsKKwkJCQl9CiAJCQl9CiAKIAkJCUV4cGxhaW5DbG9zZVdvcmtlcihuLCBlcyk7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9wcnVuZS5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9wcnVuZS5vdXQKaW5k ZXggYzUyYmM0MGU4MS4uZGM2YTNjYjU0YSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXJ0aXRpb25fcHJ1bmUub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91dApAQCAtMjMzOCw3ICsyMzM4LDcgQEAgYmVn aW4KICAgICAgICAgICAgICQxKQogICAgIGxvb3AKICAgICAgICAgbG4gOj0gcmVnZXhwX3Jl cGxhY2UobG4sICdXb3JrZXJzIExhdW5jaGVkOiBcZCsnLCAnV29ya2VycyBMYXVuY2hlZDog TicpOwotICAgICAgICBsbiA6PSByZWdleHBfcmVwbGFjZShsbiwgJ2FjdHVhbCByb3dzPVxk KyBsb29wcz1cZCsnLCAnYWN0dWFsIHJvd3M9TiBsb29wcz1OJyk7CisgICAgICAgIGxuIDo9 IHJlZ2V4cF9yZXBsYWNlKGxuLCAnYWN0dWFsIHJvd3M9XGQrKD86XC5cZCspPyBsb29wcz1c ZCsoPzpcLlxkKyk/JywgJ2FjdHVhbCByb3dzPU4gbG9vcHM9TicpOwogICAgICAgICBsbiA6 PSByZWdleHBfcmVwbGFjZShsbiwgJ1Jvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IFxkKycsICdS b3dzIFJlbW92ZWQgYnkgRmlsdGVyOiBOJyk7CiAgICAgICAgIHJldHVybiBuZXh0IGxuOwog ICAgIGVuZCBsb29wOwpAQCAtMzA0MSwxNiArMzA0MSwxNiBAQCBzZWxlY3QgKiBmcm9tIHRi bDEgaW5uZXIgam9pbiB0cHJ0IG9uIHRibDEuY29sMSA+IHRwcnQuY29sMTsKIAogZXhwbGFp biAoYW5hbHl6ZSwgY29zdHMgb2ZmLCBzdW1tYXJ5IG9mZiwgdGltaW5nIG9mZiwgYnVmZmVy cyBvZmYpCiBzZWxlY3QgKiBmcm9tIHRibDEgaW5uZXIgam9pbiB0cHJ0IG9uIHRibDEuY29s MSA9IHRwcnQuY29sMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAgTmVzdGVkIExvb3AgKGFjdHVhbCByb3dzPTMgbG9vcHM9MSkKICAgIC0+ICBT ZXEgU2NhbiBvbiB0YmwxIChhY3R1YWwgcm93cz01IGxvb3BzPTEpCi0gICAtPiAgQXBwZW5k IChhY3R1YWwgcm93cz0xIGxvb3BzPTUpCisgICAtPiAgQXBwZW5kIChhY3R1YWwgcm93cz0w LjYwIGxvb3BzPTUuMDApCiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyB0cHJ0MV9p ZHggb24gdHBydF8xIChuZXZlciBleGVjdXRlZCkKICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6IChjb2wxID0gdGJsMS5jb2wxKQogICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcg dHBydDJfaWR4IG9uIHRwcnRfMiAoYWN0dWFsIHJvd3M9MSBsb29wcz0yKQogICAgICAgICAg ICAgICAgSW5kZXggQ29uZDogKGNvbDEgPSB0YmwxLmNvbDEpCi0gICAgICAgICAtPiAgSW5k ZXggU2NhbiB1c2luZyB0cHJ0M19pZHggb24gdHBydF8zIChhY3R1YWwgcm93cz0wIGxvb3Bz PTMpCisgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyB0cHJ0M19pZHggb24gdHBydF8z IChhY3R1YWwgcm93cz0wLjMzIGxvb3BzPTMuMDApCiAgICAgICAgICAgICAgICBJbmRleCBD b25kOiAoY29sMSA9IHRibDEuY29sMSkKICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5n IHRwcnQ0X2lkeCBvbiB0cHJ0XzQgKG5ldmVyIGV4ZWN1dGVkKQogICAgICAgICAgICAgICAg SW5kZXggQ29uZDogKGNvbDEgPSB0YmwxLmNvbDEpCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9wYXJ0aXRpb25fcHJ1bmUuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv cGFydGl0aW9uX3BydW5lLnNxbAppbmRleCBkNjc1OThkNWM3Li5iYjFlMDlhNTM2IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fcHJ1bmUuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9wcnVuZS5zcWwKQEAgLTU3MSw3ICs1 NzEsNyBAQCBiZWdpbgogICAgICAgICAgICAgJDEpCiAgICAgbG9vcAogICAgICAgICBsbiA6 PSByZWdleHBfcmVwbGFjZShsbiwgJ1dvcmtlcnMgTGF1bmNoZWQ6IFxkKycsICdXb3JrZXJz IExhdW5jaGVkOiBOJyk7Ci0gICAgICAgIGxuIDo9IHJlZ2V4cF9yZXBsYWNlKGxuLCAnYWN0 dWFsIHJvd3M9XGQrIGxvb3BzPVxkKycsICdhY3R1YWwgcm93cz1OIGxvb3BzPU4nKTsKKyAg ICAgICAgbG4gOj0gcmVnZXhwX3JlcGxhY2UobG4sICdhY3R1YWwgcm93cz1cZCsoPzpcLlxk Kyk/IGxvb3BzPVxkKyg/OlwuXGQrKT8nLCAnYWN0dWFsIHJvd3M9TiBsb29wcz1OJyk7CiAg ICAgICAgIGxuIDo9IHJlZ2V4cF9yZXBsYWNlKGxuLCAnUm93cyBSZW1vdmVkIGJ5IEZpbHRl cjogXGQrJywgJ1Jvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IE4nKTsKICAgICAgICAgcmV0dXJu IG5leHQgbG47CiAgICAgZW5kIGxvb3A7Ci0tIAoyLjM0LjEKCg== --------------Yso66j0ulDHTcVXeMaSC5oOp--