Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyUv1-0000QG-4W for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 07:45:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lyUuz-0005MJ-Ih for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Jun 2021 07:45:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyUuz-0005MA-9f for pgsql-hackers@lists.postgresql.org; Wed, 30 Jun 2021 07:45:57 +0000 Received: from sfr-1.cri.mines-paristech.fr ([77.158.180.225] helo=smtp.cri.ensmp.fr) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lyUuw-0000Br-U1 for pgsql-hackers@postgresql.org; Wed, 30 Jun 2021 07:45:56 +0000 Received: from pseudo (nat-5.mines-paristech.fr [77.158.173.12]) by smtp.cri.ensmp.fr (Postfix) with ESMTPSA id 464DBC01B5; Wed, 30 Jun 2021 09:47:52 +0200 (CEST) Date: Wed, 30 Jun 2021 09:45:47 +0200 (CEST) From: Fabien COELHO X-X-Sender: fabien@pseudo To: Michael Paquier cc: Andrew Dunstan , Alvaro Herrera , Thomas Munro , Gregory Smith , PostgreSQL-development , david.christensen@crunchydata.com Subject: Re: pgbench logging broken by time logic changes In-Reply-To: Message-ID: References: <202106231308.lxr26cahwxuc@alvherre.pgsql> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2056645051-853607741-1625039153=:1788422" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --2056645051-853607741-1625039153=:1788422 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8BIT Bonjour Michaël, > Okay, I have extracted this part from your patch, and back-patched > this fix down to 11. The comments were a good addition, so I have > kept them. I have also made the second regex of check_pgbench_logs() > pickier with the client ID value expected, as it can only be 0. Attached the remaining part of the patch to fix known issues on pgbench logging. I've added an entry on the open item on the wiki. I'm unsure about who the owner should be. -- Fabien. --2056645051-853607741-1625039153=:1788422 Content-Type: text/x-diff; name=pgbench-log-fix-12.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=pgbench-log-fix-12.patch ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMv YmluL3BnYmVuY2gvcGdiZW5jaC5jDQppbmRleCA0YWVjY2Q5M2FmLi4zOTRj OGIxNWVkIDEwMDY0NA0KLS0tIGEvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2gu Yw0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYw0KQEAgLTM0Myw2 ICszNDMsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgU3RhdHNEYXRhDQogCVNpbXBs ZVN0YXRzIGxhZzsNCiB9IFN0YXRzRGF0YTsNCiANCisvKg0KKyAqIEZvciBk aXNwbGF5aW5nIGVwb2NoIHRpbWVzdGFtcCwgYXMgc29tZSB0aW1lIGZ1bmN0 aW9ucyBtYXkgaGF2ZQ0KKyAqIGFub3RoZXIgcmVmZXJlbmNlLg0KKyAqLw0K K3BnX3RpbWVfdXNlY190IGVwb2NoX3NoaWZ0Ow0KKw0KIC8qDQogICogU3Ry dWN0IHRvIGtlZXAgcmFuZG9tIHN0YXRlLg0KICAqLw0KQEAgLTY0OSw3ICs2 NTUsNyBAQCBzdGF0aWMgdm9pZCBzZXREb3VibGVWYWx1ZShQZ0JlbmNoVmFs dWUgKnB2LCBkb3VibGUgZHZhbCk7DQogc3RhdGljIGJvb2wgZXZhbHVhdGVF eHByKENTdGF0ZSAqc3QsIFBnQmVuY2hFeHByICpleHByLA0KIAkJCQkJCSBQ Z0JlbmNoVmFsdWUgKnJldHZhbCk7DQogc3RhdGljIENvbm5lY3Rpb25TdGF0 ZUVudW0gZXhlY3V0ZU1ldGFDb21tYW5kKENTdGF0ZSAqc3QsIHBnX3RpbWVf dXNlY190ICpub3cpOw0KLXN0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAqdGhy ZWFkLCBDU3RhdGUgKnN0LA0KK3N0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBib29sIHR4LA0KIAkJCQkgIFN0YXRzRGF0 YSAqYWdnLCBib29sIHNraXBwZWQsIGRvdWJsZSBsYXRlbmN5LCBkb3VibGUg bGFnKTsNCiBzdGF0aWMgdm9pZCBwcm9jZXNzWGFjdFN0YXRzKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93LA0KIAkJ CQkJCQkgYm9vbCBza2lwcGVkLCBTdGF0c0RhdGEgKmFnZyk7DQpAQCAtMzc2 OCwxNiArMzc3NCw0NyBAQCBleGVjdXRlTWV0YUNvbW1hbmQoQ1N0YXRlICpz dCwgcGdfdGltZV91c2VjX3QgKm5vdykNCiAJcmV0dXJuIENTVEFURV9FTkRf Q09NTUFORDsNCiB9DQogDQorLyogcHJpbnQgYWdncmVnYXRlZCByZXBvcnQg dG8gbG9nZmlsZSAqLw0KK3N0YXRpYyB2b2lkDQorbG9nQWdnKEZJTEUgKmxv Z2ZpbGUsIFN0YXRzRGF0YSAqYWdnKQ0KK3sNCisJZnByaW50Zihsb2dmaWxl LCBJTlQ2NF9GT1JNQVQgIiAiIElOVDY0X0ZPUk1BVCAiICUuMGYgJS4wZiAl LjBmICUuMGYiLA0KKwkJCShhZ2ctPnN0YXJ0X3RpbWUgKyBlcG9jaF9zaGlm dCkgLyAxMDAwMDAwLA0KKwkJCWFnZy0+Y250LA0KKwkJCWFnZy0+bGF0ZW5j eS5zdW0sDQorCQkJYWdnLT5sYXRlbmN5LnN1bTIsDQorCQkJYWdnLT5sYXRl bmN5Lm1pbiwNCisJCQlhZ2ctPmxhdGVuY3kubWF4KTsNCisJaWYgKHRocm90 dGxlX2RlbGF5KQ0KKwl7DQorCQlmcHJpbnRmKGxvZ2ZpbGUsICIgJS4wZiAl LjBmICUuMGYgJS4wZiIsDQorCQkJCWFnZy0+bGFnLnN1bSwNCisJCQkJYWdn LT5sYWcuc3VtMiwNCisJCQkJYWdnLT5sYWcubWluLA0KKwkJCQlhZ2ctPmxh Zy5tYXgpOw0KKwkJaWYgKGxhdGVuY3lfbGltaXQpDQorCQkJZnByaW50Zihs b2dmaWxlLCAiICIgSU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KKwl9 DQorCWZwdXRjKCdcbicsIGxvZ2ZpbGUpOw0KK30NCisNCiAvKg0KICAqIFBy aW50IGxvZyBlbnRyeSBhZnRlciBjb21wbGV0aW5nIG9uZSB0cmFuc2FjdGlv bi4NCiAgKg0KKyAqIFBhcmFtIHR4IHRlbGxzIHdoZXRoZXIgdGhlIGNhbGwg YWN0dWFsbHkgcmVwcmVzZW50cyBhIHRyYW5zYWN0aW9uLA0KKyAqIG9yIGlm IGl0IGlzIHVzZWQgdG8gZmx1c2ggYWdncmVnYXRlZCBsb2dzLg0KKyAqDQor ICogVGhlIGZ1bmN0aW9uIGJlaGF2aW9yIGNoYW5nZXMgZGVwZW5kaW5nIG9u IHNhbXBsZV9yYXRlIChhIGZyYWN0aW9uIG9mDQorICogdHJhbnNhY3Rpb24g aXMgcmVwb3J0ZWQpIGFuZCBhZ2dfaW50ZXJ2YWwgKHRyYW5zYWN0aW9ucyBh cmUgYWdncmVnYXRlZA0KKyAqIGFuZCByZXBvcnRlZCBvbmNlIGV2ZXJ5IGFn Z19pbnRlcnZhbCBzZWNvbmRzKS4NCisgKg0KICAqIFdlIHByaW50IFVuaXgt ZXBvY2ggdGltZXN0YW1wcyBpbiB0aGUgbG9nLCBzbyB0aGF0IGVudHJpZXMg Y2FuIGJlDQogICogY29ycmVsYXRlZCBhZ2FpbnN0IG90aGVyIGxvZ3MuICBP biBzb21lIHBsYXRmb3JtcyB0aGlzIGNvdWxkIGJlIG9idGFpbmVkDQogICog ZnJvbSB0aGUgY2FsbGVyLCBidXQgcmF0aGVyIHRoYW4gZ2V0IGVudGFuZ2xl ZCB3aXRoIHRoYXQsIHdlIGp1c3QgZWF0DQogICogdGhlIGNvc3Qgb2YgYW4g ZXh0cmEgc3lzY2FsbCBpbiBhbGwgY2FzZXMuDQogICovDQogc3RhdGljIHZv aWQNCi1kb0xvZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCitkb0xv ZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwgYm9vbCB0eCwNCiAJICBT dGF0c0RhdGEgKmFnZywgYm9vbCBza2lwcGVkLCBkb3VibGUgbGF0ZW5jeSwg ZG91YmxlIGxhZykNCiB7DQogCUZJTEUJICAgKmxvZ2ZpbGUgPSB0aHJlYWQt PmxvZ2ZpbGU7DQpAQCAtMzc5Niw0MyArMzgzMywzNiBAQCBkb0xvZyhUU3Rh dGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCiAJLyogc2hvdWxkIHdlIGFnZ3Jl Z2F0ZSB0aGUgcmVzdWx0cyBvciBub3Q/ICovDQogCWlmIChhZ2dfaW50ZXJ2 YWwgPiAwKQ0KIAl7DQorCQlwZ190aW1lX3VzZWNfdAluZXh0Ow0KKw0KIAkJ LyoNCiAJCSAqIExvb3AgdW50aWwgd2UgcmVhY2ggdGhlIGludGVydmFsIG9m IHRoZSBjdXJyZW50IG1vbWVudCwgYW5kIHByaW50DQogCQkgKiBhbnkgZW1w dHkgaW50ZXJ2YWxzIGluIGJldHdlZW4gKHRoaXMgbWF5IGhhcHBlbiB3aXRo IHZlcnkgbG93IHRwcywNCiAJCSAqIGUuZy4gLS1yYXRlPTAuMSkuDQogCQkg Ki8NCi0NCi0JCXdoaWxlIChhZ2ctPnN0YXJ0X3RpbWUgKyBhZ2dfaW50ZXJ2 YWwgPD0gbm93KQ0KKwkJd2hpbGUgKChuZXh0ID0gYWdnLT5zdGFydF90aW1l ICsgYWdnX2ludGVydmFsICogSU5UNjRDT05TVCgxMDAwMDAwKSkgPD0gbm93 KQ0KIAkJew0KLQkJCS8qIHByaW50IGFnZ3JlZ2F0ZWQgcmVwb3J0IHRvIGxv Z2ZpbGUgKi8NCi0JCQlmcHJpbnRmKGxvZ2ZpbGUsIElOVDY0X0ZPUk1BVCAi ICIgSU5UNjRfRk9STUFUICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJ CQlhZ2ctPnN0YXJ0X3RpbWUsDQotCQkJCQlhZ2ctPmNudCwNCi0JCQkJCWFn Zy0+bGF0ZW5jeS5zdW0sDQotCQkJCQlhZ2ctPmxhdGVuY3kuc3VtMiwNCi0J CQkJCWFnZy0+bGF0ZW5jeS5taW4sDQotCQkJCQlhZ2ctPmxhdGVuY3kubWF4 KTsNCi0JCQlpZiAodGhyb3R0bGVfZGVsYXkpDQotCQkJew0KLQkJCQlmcHJp bnRmKGxvZ2ZpbGUsICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJCQkJ YWdnLT5sYWcuc3VtLA0KLQkJCQkJCWFnZy0+bGFnLnN1bTIsDQotCQkJCQkJ YWdnLT5sYWcubWluLA0KLQkJCQkJCWFnZy0+bGFnLm1heCk7DQotCQkJCWlm IChsYXRlbmN5X2xpbWl0KQ0KLQkJCQkJZnByaW50Zihsb2dmaWxlLCAiICIg SU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KLQkJCX0NCi0JCQlmcHV0 YygnXG4nLCBsb2dmaWxlKTsNCisJCQlsb2dBZ2cobG9nZmlsZSwgYWdnKTsN CiANCiAJCQkvKiByZXNldCBkYXRhIGFuZCBtb3ZlIHRvIG5leHQgaW50ZXJ2 YWwgKi8NCi0JCQlpbml0U3RhdHMoYWdnLCBhZ2ctPnN0YXJ0X3RpbWUgKyBh Z2dfaW50ZXJ2YWwpOw0KKwkJCWluaXRTdGF0cyhhZ2csIG5leHQpOw0KIAkJ fQ0KIA0KLQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVudCB0cmFuc2FjdGlv biAqLw0KLQkJYWNjdW1TdGF0cyhhZ2csIHNraXBwZWQsIGxhdGVuY3ksIGxh Zyk7DQorCQlpZiAodHgpDQorCQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVu dCB0cmFuc2FjdGlvbiAqLw0KKwkJCWFjY3VtU3RhdHMoYWdnLCBza2lwcGVk LCBsYXRlbmN5LCBsYWcpOw0KKwkJZWxzZQ0KKwkJCS8qIGZpbmFsIGNhbGwg dG8gc2hvdyB0aGUgbGFzdCBhZ2dyZWdhdGUgKi8NCisJCQlsb2dBZ2cobG9n ZmlsZSwgYWdnKTsNCiAJfQ0KIAllbHNlDQogCXsNCisJCS8qIHN3aXRjaCB0 byBlcG9jaCAqLw0KKwkJbm93ICs9IGVwb2NoX3NoaWZ0Ow0KKw0KKwkJLyog IXR4IG9ubHkgdXNlZCBmb3IgYWdncmVnYXRlZCBkYXRhICovDQorCQlBc3Nl cnQodHgpOw0KKw0KIAkJLyogbm8sIHByaW50IHJhdyB0cmFuc2FjdGlvbnMg Ki8NCiAJCWlmIChza2lwcGVkKQ0KIAkJCWZwcmludGYobG9nZmlsZSwgIiVk ICIgSU5UNjRfRk9STUFUICIgc2tpcHBlZCAlZCAiIElOVDY0X0ZPUk1BVCAi ICINCkBAIC0zODkyLDcgKzM5MjIsNyBAQCBwcm9jZXNzWGFjdFN0YXRzKFRT dGF0ZSAqdGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93 LA0KIAlzdC0+Y250Kys7DQogDQogCWlmICh1c2VfbG9nKQ0KLQkJZG9Mb2co dGhyZWFkLCBzdCwgYWdnLCBza2lwcGVkLCBsYXRlbmN5LCBsYWcpOw0KKwkJ ZG9Mb2codGhyZWFkLCBzdCwgdHJ1ZSwgYWdnLCBza2lwcGVkLCBsYXRlbmN5 LCBsYWcpOw0KIA0KIAkvKiBYWFggY291bGQgdXNlIGEgbXV0ZXggaGVyZSwg YnV0IHdlIGNob29zZSBub3QgdG8gKi8NCiAJaWYgKHBlcl9zY3JpcHRfc3Rh dHMpDQpAQCAtNTQ1OCw3ICs1NDg4LDcgQEAgcHJpbnRQcm9ncmVzc1JlcG9y dChUU3RhdGUgKnRocmVhZHMsIGludDY0IHRlc3Rfc3RhcnQsIHBnX3RpbWVf dXNlY190IG5vdywNCiANCiAJaWYgKHByb2dyZXNzX3RpbWVzdGFtcCkNCiAJ ew0KLQkJc25wcmludGYodGJ1Ziwgc2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwg UEdfVElNRV9HRVRfRE9VQkxFKG5vdykpOw0KKwkJc25wcmludGYodGJ1Ziwg c2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwgUEdfVElNRV9HRVRfRE9VQkxFKG5v dyArIGVwb2NoX3NoaWZ0KSk7DQogCX0NCiAJZWxzZQ0KIAl7DQpAQCAtNTgw OCw2ICs1ODM4LDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K IAljaGFyCSAgICplbnY7DQogDQogCWludAkJCWV4aXRfY29kZSA9IDA7DQor CXN0cnVjdCB0aW1ldmFsIHR2Ow0KKw0KKwkvKiByZWNvcmQgc2hpZnQgYmV0 d2VlbiBlcG9jaCBhbmQgbm93KCkgKi8NCisJZ2V0dGltZW9mZGF5KCZ0diwg TlVMTCk7DQorCWVwb2NoX3NoaWZ0ID0gdHYudHZfc2VjICogMTAwMDAwMCAr IHR2LnR2X3VzZWMgLSBwZ190aW1lX25vdygpOw0KIA0KIAlwZ19sb2dnaW5n X2luaXQoYXJndlswXSk7DQogCXByb2duYW1lID0gZ2V0X3Byb2duYW1lKGFy Z3ZbMF0pOw0KQEAgLTY4MzAsOCArNjg2NSw5IEBAIGRvbmU6DQogCQlpZiAo YWdnX2ludGVydmFsID4gMCkNCiAJCXsNCiAJCQkvKiBsb2cgYWdncmVnYXRl ZCBidXQgbm90IHlldCByZXBvcnRlZCB0cmFuc2FjdGlvbnMgKi8NCi0JCQlk b0xvZyh0aHJlYWQsIHN0YXRlLCAmYWdncywgZmFsc2UsIDAsIDApOw0KKwkJ CWRvTG9nKHRocmVhZCwgc3RhdGUsIGZhbHNlLCAmYWdncywgZmFsc2UsIDAu MCwgMC4wKTsNCiAJCX0NCisNCiAJCWZjbG9zZSh0aHJlYWQtPmxvZ2ZpbGUp Ow0KIAkJdGhyZWFkLT5sb2dmaWxlID0gTlVMTDsNCiAJfQ0KZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdiZW5jaC90LzAwMV9wZ2JlbmNoX3dpdGhfc2VydmVy LnBsIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0aF9zZXJ2 ZXIucGwNCmluZGV4IDNhYTlkNWQ3NTMuLjQxMjUwYmY5MWQgMTAwNjQ0DQot LS0gYS9zcmMvYmluL3BnYmVuY2gvdC8wMDFfcGdiZW5jaF93aXRoX3NlcnZl ci5wbA0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0 aF9zZXJ2ZXIucGwNCkBAIC04LDYgKzgsNyBAQCB1c2UgUG9zdGdyZXNOb2Rl Ow0KIHVzZSBUZXN0TGliOw0KIHVzZSBUZXN0OjpNb3JlOw0KIHVzZSBDb25m aWc7DQordXNlIFRpbWU6OkhpUmVzIHF3KCB0aW1lICk7DQogDQogIyBzdGFy dCBhIHBnYmVuY2ggc3BlY2lmaWMgc2VydmVyDQogbXkgJG5vZGUgPSBnZXRf bmV3X25vZGUoJ21haW4nKTsNCkBAIC01NCwxMiArNTUsMTQgQEAgc3ViIHBn YmVuY2gNCiANCiAJcHVzaCBAY21kLCBAYXJnczsNCiANCisJbXkgJHN0YXJ0 ID0gdGltZSgpOw0KIAkkbm9kZS0+Y29tbWFuZF9jaGVja3NfYWxsKFxAY21k LCAkc3RhdCwgJG91dCwgJGVyciwgJG5hbWUpOw0KKwlteSAkc3RvcCA9IHRp bWUoKTsNCiANCiAJIyBjbGVhbnVwPw0KIAkjdW5saW5rIEBmaWxlbmFtZXMg b3IgZGllICJjYW5ub3QgdW5saW5rIGZpbGVzIChAZmlsZW5hbWVzKTogJCEi Ow0KIA0KLQlyZXR1cm47DQorCXJldHVybiAkc3RvcCAtICRzdGFydDsNCiB9 DQogDQogIyB0YWJsZXNwYWNlIGZvciB0ZXN0aW5nLCBiZWNhdXNlIHBhcnRp dGlvbmVkIHRhYmxlcyBjYW5ub3QgdXNlIHBnX2RlZmF1bHQNCkBAIC0xMTg3 LDcgKzExOTAsNyBAQCBzdWIgY2hlY2tfcGdiZW5jaF9sb2dzDQogDQogCSMg JHByZWZpeCBpcyBzaW1wbGUgZW5vdWdoLCB0aHVzIGRvZXMgbm90IG5lZWQg ZXNjYXBpbmcNCiAJbXkgQGxvZ3MgPSBsaXN0X2ZpbGVzKCRkaXIsIHFye14k cHJlZml4XC4uKiR9KTsNCi0Jb2soQGxvZ3MgPT0gJG5iLCAibnVtYmVyIG9m IGxvZyBmaWxlcyIpOw0KKwlvayhAbG9ncyA9PSAkbmIsICJudW1iZXIgb2Yg bG9nIGZpbGVzIChAbG9ncykiKTsNCiAJb2soZ3JlcCgvXC8kcHJlZml4XC5c ZCsoXC5cZCspPyQvLCBAbG9ncykgPT0gJG5iLCAiZmlsZSBuYW1lIGZvcm1h dCIpOw0KIA0KIAlteSAkbG9nX251bWJlciA9IDA7DQpAQCAtMTIyMCw2ICsx MjIzLDU4IEBAIHN1YiBjaGVja19wZ2JlbmNoX2xvZ3MNCiBteSAkYmRpciA9 ICRub2RlLT5iYXNlZGlyOw0KIA0KICMgUnVuIHdpdGggc2FtcGxpbmcgcmF0 ZSwgMiBjbGllbnRzIHdpdGggNTAgdHJhbnNhY3Rpb25zIGVhY2guDQorIw0K KyMgVGVzdCB0aW1lLXNlbnNpdGl2ZSBmZWF0dXJlcyBvbiBhIGxpZ2h0IHJl YWQtb25seSB0cmFuc2FjdGlvbjoNCisjDQorIyAgIC1UOiBiZW5jaCBkdXJh dGlvbiwgMiBzZWNvbmRzIHRvIGV4ZXJjaXNlIHByb2dyZXNzICYgbG9ncw0K KyMgICAtUDogcHJvZ3Jlc3MgcmVwb3J0DQorIyAgIC0tYWdncmVnYXRlLWlu dGVydmFsOiBwZXJpb2RpYyBhZ2dyZWdhdGVkIGxvZ3MNCisjICAgLS1yYXRl OiBzY2hlZHVsZSBsb2FkDQorIyAgIC0tbGF0ZW5jeS1saW1pdDogbWF4IGRl bGF5LCBub3QgZGVlcGx5IGV4ZXJjaWNlDQorIw0KKyMgbm90ZTogdGhlIC0t cmF0ZSBiZWhhdmlvciBpcyBwcm9iYWJpbGlzdGljIGluIG5hdHVyZS4NCisj IG5vdGU6IC0tcHJvZ3Jlc3MtdGltZXN0YW1wIGlzIG5vdCB0ZXN0ZWQuDQor bXkgJGRlbGF5ID0gcGdiZW5jaCgNCisJJy1UIDIgLVAgMSAtbCAtLWFnZ3Jl Z2F0ZS1pbnRlcnZhbD0xIC1TIC1iIHNlQDInDQorCS4gJyAtLXJhdGU9MjAg LS1sYXRlbmN5LWxpbWl0PTEwMDAgLWogJyAuICRudGhyZWFkcw0KKwkuICcg LWMgMyAtcicsDQorCTAsDQorCVsgICBxcnt0eXBlOiBtdWx0aXBsZX0sDQor CQlxcntjbGllbnRzOiAzfSwNCisJCXFye3RocmVhZHM6ICRudGhyZWFkc30s DQorCQlxcntkdXJhdGlvbjogMiBzfSwNCisJCXFye3NjcmlwdCAxOiAuKiBz ZWxlY3Qgb25seX0sDQorCQlxcntzY3JpcHQgMjogLiogc2VsZWN0IG9ubHl9 LA0KKwkJcXJ7c3RhdGVtZW50IGxhdGVuY2llcyBpbiBtaWxsaXNlY29uZHN9 LA0KKwkJcXJ7RlJPTSBwZ2JlbmNoX2FjY291bnRzfSBdLA0KKwlbIHFye3Zh Y3V1bX0sIHFye3Byb2dyZXNzOiAxXGJ9IF0sDQorCSdwZ2JlbmNoIHByb2dy ZXNzJywgdW5kZWYsDQorCSItLWxvZy1wcmVmaXg9JGJkaXIvMDAxX3BnYmVu Y2hfbG9nXzEiKTsNCisNCisjIGNvb2wgY2hlY2sgdGhhdCB3ZSBhcmUgYXJv dW5kIDIgc2Vjb25kcw0KKw0KK1RPRE86IHsNCisJbG9jYWwgJFRPRE8gPSAi cG9zc2libHkgdW5yZWxpYWJsZSBvbiBzbG93IGhvc3RzIG9yIHVubHVja3kg cnVucyI7DQorDQorCSMgVGhlIHJhdGUgbWF5IHJlc3VsdHMgaW4gYW4gdW5s dWNreSBzY2hlZHVsZSB3aGljaCB0cmlnZ2Vycw0KKwkjIGFuIGVhcmx5IGV4 aXQsIGhlbmNlIHRoZSBsb29zZSBib3VuZC4NCisNCisJIyBhbHNvLCB0aGUg ZGVsYXkgbWF5IHRvdGFsbHkgZmFpbCBvbiB2ZXJ5IHNsb3cgb3Igb3Zlcmxv YXJkIGhvc3RzLA0KKwkjIHZhbGdyaW5kIHJ1bnMuLi4NCisNCisJb2soMS41 IDwgJGRlbGF5ICYmICRkZWxheSA8IDIuNSwgIi1UIDIgcnVuIGFyb3VuZCAy IHNlY29uZHMiKTsNCit9DQorDQorIyAkbnRocmVhZHMgdGhyZWFkcywgMiBz ZWNvbmRzLCBidXQgZHVlIHRvIHRpbWluZyBpbXByZWNpc2lvbiB3ZSBtaWdo dCBnZXQNCisjIG9ubHkgMSBvciBhcyBtYW55IGFzIDMgcHJvZ3Jlc3MgcmVw b3J0cyBwZXIgdGhyZWFkLg0KKyMgYWdncmVnYXRlIGxvZyBmb3JtYXQgaXM6 DQorIyAgIGVwb2NoICN0eCBzdW0gc3VtMiBtaW4gbWF4IFtzdW0gc3VtMiBt aW4gbWF4IFtza2lwcGVkXV0NCisjIGZpcnN0IHNlcmllIGFib3V0IGxhdGVu Y3kgOyBzZWNvbmQgYWJvdXQgbGFnICgtLXJhdGUpIDsNCisjIHNraXBwZWQg b25seSBpZiAtLWxhdGVuY3ktbGltaXQgaXMgc2V0Lg0KK2NoZWNrX3BnYmVu Y2hfbG9ncygkYmRpciwgJzAwMV9wZ2JlbmNoX2xvZ18xJywgJG50aHJlYWRz LCAxLCAzLA0KKwlxcnteXGR7MTAsfSBcZHsxLDJ9IFxkKyBcZCsgXGQrIFxk KyBcZCsgXGQrIFxkKyBcZCsgXGQrJH0pOw0KKw0KKyMgd2l0aCBzYW1wbGlu ZyByYXRlLCAyIGNsaWVudHMgd2l0aCA1MCB0eCBlYWNoDQogcGdiZW5jaCgN CiAJIi1uIC1TIC10IDUwIC1jIDIgLS1sb2cgLS1zYW1wbGluZy1yYXRlPTAu NSIsIDAsDQogCVsgcXJ7c2VsZWN0IG9ubHl9LCBxcntwcm9jZXNzZWQ6IDEw MC8xMDB9IF0sIFtxcnteJH1dLA0K --2056645051-853607741-1625039153=:1788422--