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 1lwJ7v-0007kt-Td for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Jun 2021 06:46:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lwJ7u-0001lS-Ik for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Jun 2021 06:46:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lwJ7u-0001lK-2d for pgsql-hackers@lists.postgresql.org; Thu, 24 Jun 2021 06:46:14 +0000 Received: from sfr-1.cri.mines-paristech.fr ([77.158.180.225] helo=smtp.cri.ensmp.fr) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lwJ7q-0006jQ-HV for pgsql-hackers@postgresql.org; Thu, 24 Jun 2021 06:46:13 +0000 Received: from petersbourg.cri.ensmp.fr (petersbourg.cri.ensmp.fr [10.2.14.5]) by smtp.cri.ensmp.fr (Postfix) with ESMTPSA id C6BC5C0577; Thu, 24 Jun 2021 08:48:03 +0200 (CEST) Date: Thu, 24 Jun 2021 08:46:03 +0200 (CEST) From: Fabien COELHO X-X-Sender: fabien@pseudo To: Michael Paquier cc: Alvaro Herrera , Andrew Dunstan , 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-557350615-1624517167=:1687456" 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-557350615-1624517167=:1687456 Content-Type: text/plain; format=flowed; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT Bonjour Michaël, > Using grep() with "$re" results in all the fields matching. Using on > the contrary "/$re/" in grep(), like list_files(), would only match > the first one, which is correct. Ok, good catch. Perl is kind of a strange language. > With this issue fixed, I have bumped into what looks like a different > bug in the tests. 001_pgbench_log_2 uses pgbench with 2 clients, but> > expects only patterns in the logs where the first column value uses only > 0. With two clients, those first values can be either 0 or 1 due to the > client ID set. Indeed. The tests passes because the number of expected lines is quite > It seems to me that we had better fix this issue and back-patch where > this has been introduced so as we have exact match checks with the log > formarts, no? Please see the attached. Ok, however the regex should be "^[01] ...". Attached v11 with your fixes + the above regex fix. -- Fabien. --2056645051-557350615-1624517167=:1687456 Content-Type: text/x-diff; name=pgbench-log-fix-11.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=pgbench-log-fix-11.patch ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMv YmluL3BnYmVuY2gvcGdiZW5jaC5jDQppbmRleCBlNjEwNTViNmI3Li5kZmIy ZmY2ODU5IDEwMDY0NA0KLS0tIGEvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2gu Yw0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYw0KQEAgLTM0Myw2 ICszNDMsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgU3RhdHNEYXRhDQogCVNpbXBs ZVN0YXRzIGxhZzsNCiB9IFN0YXRzRGF0YTsNCiANCisvKg0KKyAqIEZvciBk aXNwbGF5aW5nIGVwb2NoIHRpbWVzdGFtcCwgYXMgc29tZSB0aW1lIGZ1bmN0 aW9ucyBtYXkgaGF2ZQ0KKyAqIGFub3RoZXIgcmVmZXJlbmNlLg0KKyAqLw0K K3BnX3RpbWVfdXNlY190IGVwb2NoX3NoaWZ0Ow0KKw0KIC8qDQogICogU3Ry dWN0IHRvIGtlZXAgcmFuZG9tIHN0YXRlLg0KICAqLw0KQEAgLTY0OSw3ICs2 NTUsNyBAQCBzdGF0aWMgdm9pZCBzZXREb3VibGVWYWx1ZShQZ0JlbmNoVmFs dWUgKnB2LCBkb3VibGUgZHZhbCk7DQogc3RhdGljIGJvb2wgZXZhbHVhdGVF eHByKENTdGF0ZSAqc3QsIFBnQmVuY2hFeHByICpleHByLA0KIAkJCQkJCSBQ Z0JlbmNoVmFsdWUgKnJldHZhbCk7DQogc3RhdGljIENvbm5lY3Rpb25TdGF0 ZUVudW0gZXhlY3V0ZU1ldGFDb21tYW5kKENTdGF0ZSAqc3QsIHBnX3RpbWVf dXNlY190ICpub3cpOw0KLXN0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAqdGhy ZWFkLCBDU3RhdGUgKnN0LA0KK3N0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBib29sIHR4LA0KIAkJCQkgIFN0YXRzRGF0 YSAqYWdnLCBib29sIHNraXBwZWQsIGRvdWJsZSBsYXRlbmN5LCBkb3VibGUg bGFnKTsNCiBzdGF0aWMgdm9pZCBwcm9jZXNzWGFjdFN0YXRzKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93LA0KIAkJ CQkJCQkgYm9vbCBza2lwcGVkLCBTdGF0c0RhdGEgKmFnZyk7DQpAQCAtMzc2 NiwxNiArMzc3Miw0NyBAQCBleGVjdXRlTWV0YUNvbW1hbmQoQ1N0YXRlICpz 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 PmxvZ2ZpbGU7DQpAQCAtMzc5NCw0MyArMzgzMSwzNiBAQCBkb0xvZyhUU3Rh 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 ICINCkBAIC0zODkwLDcgKzM5MjAsNyBAQCBwcm9jZXNzWGFjdFN0YXRzKFRT dGF0ZSAqdGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93 LA0KIAlzdC0+Y250Kys7DQogDQogCWlmICh1c2VfbG9nKQ0KLQkJZG9Mb2co dGhyZWFkLCBzdCwgYWdnLCBza2lwcGVkLCBsYXRlbmN5LCBsYWcpOw0KKwkJ ZG9Mb2codGhyZWFkLCBzdCwgdHJ1ZSwgYWdnLCBza2lwcGVkLCBsYXRlbmN5 LCBsYWcpOw0KIA0KIAkvKiBYWFggY291bGQgdXNlIGEgbXV0ZXggaGVyZSwg YnV0IHdlIGNob29zZSBub3QgdG8gKi8NCiAJaWYgKHBlcl9zY3JpcHRfc3Rh dHMpDQpAQCAtNTQ1Niw3ICs1NDg2LDcgQEAgcHJpbnRQcm9ncmVzc1JlcG9y dChUU3RhdGUgKnRocmVhZHMsIGludDY0IHRlc3Rfc3RhcnQsIHBnX3RpbWVf dXNlY190IG5vdywNCiANCiAJaWYgKHByb2dyZXNzX3RpbWVzdGFtcCkNCiAJ ew0KLQkJc25wcmludGYodGJ1Ziwgc2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwg UEdfVElNRV9HRVRfRE9VQkxFKG5vdykpOw0KKwkJc25wcmludGYodGJ1Ziwg c2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwgUEdfVElNRV9HRVRfRE9VQkxFKG5v dyArIGVwb2NoX3NoaWZ0KSk7DQogCX0NCiAJZWxzZQ0KIAl7DQpAQCAtNTgw Niw2ICs1ODM2LDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K IAljaGFyCSAgICplbnY7DQogDQogCWludAkJCWV4aXRfY29kZSA9IDA7DQor CXN0cnVjdCB0aW1ldmFsIHR2Ow0KKw0KKwkvKiByZWNvcmQgc2hpZnQgYmV0 d2VlbiBlcG9jaCBhbmQgbm93KCkgKi8NCisJZ2V0dGltZW9mZGF5KCZ0diwg TlVMTCk7DQorCWVwb2NoX3NoaWZ0ID0gdHYudHZfc2VjICogMTAwMDAwMCAr IHR2LnR2X3VzZWMgLSBwZ190aW1lX25vdygpOw0KIA0KIAlwZ19sb2dnaW5n X2luaXQoYXJndlswXSk7DQogCXByb2duYW1lID0gZ2V0X3Byb2duYW1lKGFy Z3ZbMF0pOw0KQEAgLTY4MjgsOCArNjg2Myw5IEBAIGRvbmU6DQogCQlpZiAo YWdnX2ludGVydmFsID4gMCkNCiAJCXsNCiAJCQkvKiBsb2cgYWdncmVnYXRl ZCBidXQgbm90IHlldCByZXBvcnRlZCB0cmFuc2FjdGlvbnMgKi8NCi0JCQlk b0xvZyh0aHJlYWQsIHN0YXRlLCAmYWdncywgZmFsc2UsIDAsIDApOw0KKwkJ CWRvTG9nKHRocmVhZCwgc3RhdGUsIGZhbHNlLCAmYWdncywgZmFsc2UsIDAu MCwgMC4wKTsNCiAJCX0NCisNCiAJCWZjbG9zZSh0aHJlYWQtPmxvZ2ZpbGUp Ow0KIAkJdGhyZWFkLT5sb2dmaWxlID0gTlVMTDsNCiAJfQ0KZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdiZW5jaC90LzAwMV9wZ2JlbmNoX3dpdGhfc2VydmVy LnBsIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0aF9zZXJ2 ZXIucGwNCmluZGV4IDkyMzIwM2VhNTEuLmQ1MmM3OTdkNWIgMTAwNjQ0DQot LS0gYS9zcmMvYmluL3BnYmVuY2gvdC8wMDFfcGdiZW5jaF93aXRoX3NlcnZl ci5wbA0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0 aF9zZXJ2ZXIucGwNCkBAIC04LDYgKzgsNyBAQCB1c2UgUG9zdGdyZXNOb2Rl Ow0KIHVzZSBUZXN0TGliOw0KIHVzZSBUZXN0OjpNb3JlOw0KIHVzZSBDb25m aWc7DQordXNlIFRpbWU6OkhpUmVzIHF3KCB0aW1lICk7DQogDQogIyBzdGFy dCBhIHBnYmVuY2ggc3BlY2lmaWMgc2VydmVyDQogbXkgJG5vZGUgPSBnZXRf bmV3X25vZGUoJ21haW4nKTsNCkBAIC01NCwxMiArNTUsMTQgQEAgc3ViIHBn YmVuY2gNCiANCiAJcHVzaCBAY21kLCBAYXJnczsNCiANCisJbXkgJHN0YXJ0 ID0gdGltZSgpOw0KIAkkbm9kZS0+Y29tbWFuZF9jaGVja3NfYWxsKFxAY21k LCAkc3RhdCwgJG91dCwgJGVyciwgJG5hbWUpOw0KKwlteSAkc3RvcCA9IHRp bWUoKTsNCiANCiAJIyBjbGVhbnVwPw0KIAkjdW5saW5rIEBmaWxlbmFtZXMg b3IgZGllICJjYW5ub3QgdW5saW5rIGZpbGVzIChAZmlsZW5hbWVzKTogJCEi Ow0KIA0KLQlyZXR1cm47DQorCXJldHVybiAkc3RvcCAtICRzdGFydDsNCiB9 DQogDQogIyB0YWJsZXNwYWNlIGZvciB0ZXN0aW5nLCBiZWNhdXNlIHBhcnRp dGlvbmVkIHRhYmxlcyBjYW5ub3QgdXNlIHBnX2RlZmF1bHQNCkBAIC0xMTcz LDcgKzExNzYsMTQgQEAgc3ViIGxpc3RfZmlsZXMNCiAJcmV0dXJuIG1hcCB7 ICRkaXIgLiAnLycgLiAkXyB9IEBmaWxlczsNCiB9DQogDQorIw0KICMgY2hl Y2sgbG9nIGNvbnRlbnRzIGFuZCBjbGVhbnVwDQorIyAgICRkaXI6IGRpcmVj dG9yeSBob2xkaW5nIGxvZ3MNCisjICAgJHByZWZpeDogZmlsZSBwcmVmaXgg Zm9yIHBlci10aHJlYWQgbG9ncw0KKyMgICAkbmI6IG51bWJlciBvZiBleHBl Y3RlZCBmaWxlcw0KKyMgICAkbWluLyRtYXg6IG1pbmltdW0vbWF4aW11bSBu dW1iZXIgb2YgbGluZXMgaW4gbG9nIGZpbGVzDQorIyAgICRyZTogcmVndWxh ciBleHByZXNzaW9uIGVhY2ggbGluZSBzaG91bGQgbWF0Y2gNCisjDQogc3Vi IGNoZWNrX3BnYmVuY2hfbG9ncw0KIHsNCiAJbG9jYWwgJFRlc3Q6OkJ1aWxk ZXI6OkxldmVsID0gJFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsNCkBAIC0x MTgyLDcgKzExOTIsNyBAQCBzdWIgY2hlY2tfcGdiZW5jaF9sb2dzDQogDQog CSMgJHByZWZpeCBpcyBzaW1wbGUgZW5vdWdoLCB0aHVzIGRvZXMgbm90IG5l ZWQgZXNjYXBpbmcNCiAJbXkgQGxvZ3MgPSBsaXN0X2ZpbGVzKCRkaXIsIHFy e14kcHJlZml4XC4uKiR9KTsNCi0Jb2soQGxvZ3MgPT0gJG5iLCAibnVtYmVy IG9mIGxvZyBmaWxlcyIpOw0KKwlvayhAbG9ncyA9PSAkbmIsICJudW1iZXIg b2YgbG9nIGZpbGVzIChAbG9ncykiKTsNCiAJb2soZ3JlcCgvXC8kcHJlZml4 XC5cZCsoXC5cZCspPyQvLCBAbG9ncykgPT0gJG5iLCAiZmlsZSBuYW1lIGZv cm1hdCIpOw0KIA0KIAlteSAkbG9nX251bWJlciA9IDA7DQpAQCAtMTE5NCw3 ICsxMjA0LDcgQEAgc3ViIGNoZWNrX3BnYmVuY2hfbG9ncw0KIAkJCW15ICRj bGVuICAgICA9IEBjb250ZW50czsNCiAJCQlvayggJG1pbiA8PSAkY2xlbiAm JiAkY2xlbiA8PSAkbWF4LA0KIAkJCQkidHJhbnNhY3Rpb24gY291bnQgZm9y ICRsb2cgKCRjbGVuKSIpOw0KLQkJCW9rKCBncmVwKCRyZSwgQGNvbnRlbnRz KSA9PSAkY2xlbiwNCisJCQlvayggZ3JlcCgvJHJlLywgQGNvbnRlbnRzKSA9 PSAkY2xlbiwNCiAJCQkJInRyYW5zYWN0aW9uIGZvcm1hdCBmb3IgJHByZWZp eCIpOw0KIAkJCWNsb3NlICRmaCBvciBkaWUgIiRAIjsNCiAJCX07DQpAQCAt MTIwNSw3ICsxMjE1LDU3IEBAIHN1YiBjaGVja19wZ2JlbmNoX2xvZ3MNCiAN CiBteSAkYmRpciA9ICRub2RlLT5iYXNlZGlyOw0KIA0KLSMgd2l0aCBzYW1w bGluZyByYXRlDQorIyBUZXN0IHRpbWUtc2Vuc2l0aXZlIGZlYXR1cmVzIG9u IGEgbGlnaHQgcmVhZC1vbmx5IHRyYW5zYWN0aW9uOg0KKyMNCisjICAgLVQ6 IGJlbmNoIGR1cmF0aW9uLCAyIHNlY29uZHMgdG8gZXhlcmNpc2UgcHJvZ3Jl c3MgJiBsb2dzDQorIyAgIC1QOiBwcm9ncmVzcyByZXBvcnQNCisjICAgLS1h Z2dyZWdhdGUtaW50ZXJ2YWw6IHBlcmlvZGljIGFnZ3JlZ2F0ZWQgbG9ncw0K KyMgICAtLXJhdGU6IHNjaGVkdWxlIGxvYWQNCisjICAgLS1sYXRlbmN5LWxp bWl0OiBtYXggZGVsYXksIG5vdCBkZWVwbHkgZXhlcmNpY2UNCisjDQorIyBu b3RlOiB0aGUgLS1yYXRlIGJlaGF2aW9yIGlzIHByb2JhYmlsaXN0aWMgaW4g bmF0dXJlLg0KKyMgbm90ZTogLS1wcm9ncmVzcy10aW1lc3RhbXAgaXMgbm90 IHRlc3RlZC4NCitteSAkZGVsYXkgPSBwZ2JlbmNoKA0KKwknLVQgMiAtUCAx IC1sIC0tYWdncmVnYXRlLWludGVydmFsPTEgLVMgLWIgc2VAMicNCisJLiAn IC0tcmF0ZT0yMCAtLWxhdGVuY3ktbGltaXQ9MTAwMCAtaiAnIC4gJG50aHJl YWRzDQorCS4gJyAtYyAzIC1yJywNCisJMCwNCisJWyAgIHFye3R5cGU6IG11 bHRpcGxlfSwNCisJCXFye2NsaWVudHM6IDN9LA0KKwkJcXJ7dGhyZWFkczog JG50aHJlYWRzfSwNCisJCXFye2R1cmF0aW9uOiAyIHN9LA0KKwkJcXJ7c2Ny aXB0IDE6IC4qIHNlbGVjdCBvbmx5fSwNCisJCXFye3NjcmlwdCAyOiAuKiBz ZWxlY3Qgb25seX0sDQorCQlxcntzdGF0ZW1lbnQgbGF0ZW5jaWVzIGluIG1p bGxpc2Vjb25kc30sDQorCQlxcntGUk9NIHBnYmVuY2hfYWNjb3VudHN9IF0s DQorCVsgcXJ7dmFjdXVtfSwgcXJ7cHJvZ3Jlc3M6IDFcYn0gXSwNCisJJ3Bn YmVuY2ggcHJvZ3Jlc3MnLCB1bmRlZiwNCisJIi0tbG9nLXByZWZpeD0kYmRp ci8wMDFfcGdiZW5jaF9sb2dfMSIpOw0KKw0KKyMgY29vbCBjaGVjayB0aGF0 IHdlIGFyZSBhcm91bmQgMiBzZWNvbmRzDQorDQorVE9ETzogew0KKwlsb2Nh bCAkVE9ETyA9ICJwb3NzaWJseSB1bnJlbGlhYmxlIG9uIHNsb3cgaG9zdHMg b3IgdW5sdWNreSBydW5zIjsNCisNCisJIyBUaGUgcmF0ZSBtYXkgcmVzdWx0 cyBpbiBhbiB1bmx1Y2t5IHNjaGVkdWxlIHdoaWNoIHRyaWdnZXJzDQorCSMg YW4gZWFybHkgZXhpdCwgaGVuY2UgdGhlIGxvb3NlIGJvdW5kLg0KKw0KKwkj IGFsc28sIHRoZSBkZWxheSBtYXkgdG90YWxseSBmYWlsIG9uIHZlcnkgc2xv dyBvciBvdmVybG9hcmQgaG9zdHMsDQorCSMgdmFsZ3JpbmQgcnVucy4uLg0K Kw0KKwlvaygxLjUgPCAkZGVsYXkgJiYgJGRlbGF5IDwgMi41LCAiLVQgMiBy dW4gYXJvdW5kIDIgc2Vjb25kcyIpOw0KK30NCisNCisjICRudGhyZWFkcyB0 aHJlYWRzLCAyIHNlY29uZHMsIGJ1dCBkdWUgdG8gdGltaW5nIGltcHJlY2lz aW9uIHdlIG1pZ2h0IGdldA0KKyMgb25seSAxIG9yIGFzIG1hbnkgYXMgMyBw cm9ncmVzcyByZXBvcnRzIHBlciB0aHJlYWQuDQorIyBhZ2dyZWdhdGUgbG9n IGZvcm1hdCBpczoNCisjICAgZXBvY2ggI3R4IHN1bSBzdW0yIG1pbiBtYXgg W3N1bSBzdW0yIG1pbiBtYXggW3NraXBwZWRdXQ0KKyMgZmlyc3Qgc2VyaWUg YWJvdXQgbGF0ZW5jeSA7IHNlY29uZCBhYm91dCBsYWcgKC0tcmF0ZSkgOw0K KyMgc2tpcHBlZCBvbmx5IGlmIC0tbGF0ZW5jeS1saW1pdCBpcyBzZXQuDQor Y2hlY2tfcGdiZW5jaF9sb2dzKCRiZGlyLCAnMDAxX3BnYmVuY2hfbG9nXzEn LCAkbnRocmVhZHMsIDEsIDMsDQorCXFye15cZHsxMCx9IFxkezEsMn0gXGQr IFxkKyBcZCsgXGQrIFxkKyBcZCsgXGQrIFxkKyBcZCskfSk7DQorDQorIyB3 aXRoIHNhbXBsaW5nIHJhdGUsIDIgY2xpZW50cyB3aXRoIDUwIHR4IGVhY2gN CiBwZ2JlbmNoKA0KIAkiLW4gLVMgLXQgNTAgLWMgMiAtLWxvZyAtLXNhbXBs aW5nLXJhdGU9MC41IiwgMCwNCiAJWyBxcntzZWxlY3Qgb25seX0sIHFye3By b2Nlc3NlZDogMTAwLzEwMH0gXSwgW3Fye14kfV0sDQpAQCAtMTIxMyw3ICsx MjczLDcgQEAgcGdiZW5jaCgNCiAJIi0tbG9nLXByZWZpeD0kYmRpci8wMDFf cGdiZW5jaF9sb2dfMiIpOw0KIA0KIGNoZWNrX3BnYmVuY2hfbG9ncygkYmRp ciwgJzAwMV9wZ2JlbmNoX2xvZ18yJywgMSwgOCwgOTIsDQotCXFye14wIFxk ezEsMn0gXGQrIFxkIFxkKyBcZCskfSk7DQorCXFye15bMDFdIFxkezEsMn0g XGQrIFxkIFxkKyBcZCskfSk7DQogDQogIyBjaGVjayBsb2cgZmlsZSBpbiBz b21lIGRldGFpbA0KIHBnYmVuY2goDQo= --2056645051-557350615-1624517167=:1687456--