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.96) (envelope-from ) id 1wlvpf-000TbC-1a for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Jul 2026 21:47:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wlvpd-0057Mr-1q for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Jul 2026 21:47:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wlvpd-0057Mj-0g for pgsql-hackers@lists.postgresql.org; Mon, 20 Jul 2026 21:47:24 +0000 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wlvpY-00000000KxW-29fC for pgsql-hackers@postgresql.org; Mon, 20 Jul 2026 21:47:24 +0000 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-c15cf78d1a2so966180566b.1 for ; Mon, 20 Jul 2026 14:47:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1784584037; x=1785188837; darn=postgresql.org; h=in-reply-to:references:mime-version:to:subject:cc:from:message-id :date:content-type:from:to:cc:subject:date:message-id:reply-to :content-type; bh=PrwhedCrQtdV9CLMIsykuE4nFKIMd/BZ0lj1tYm5JLw=; b=ufJ9IWbhR6ulr4RxRay/L2vTHhi1wxArCBgvVoKQoFUCppRBhVECxbYBJO2wtggtCv TzNb/Q7v5doquSt6gyr0bb3j3LJgNR4VoYTcWw2xtZ+J8Bn/1TepF5RDCQJCmz6Q8eX3 J20wPe8wGw5ym6WVz+OLkK49KXfD6W0/7A8FsxlVf/w/9VVOCeBXqyK/uQoPdC47fygJ X/9WKwMtWVB1iYPRJCM3xt7PxB7NMFPptkbzSOVwQ0OwFryvmP28QfK/5EBoV3sJTK0Q w29UjNn724MUUyhyfBP0AoqNXWnvYPlLDXm6oYnwlLKIMd4tVUhA9SQFgby4MVCN43h8 DcuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784584037; x=1785188837; h=in-reply-to:references:mime-version:to:subject:cc:from:message-id :date:content-type:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=PrwhedCrQtdV9CLMIsykuE4nFKIMd/BZ0lj1tYm5JLw=; b=mdI5gLBWM3T7gUmRCqhlEHXR7nwhVOOaMUTVeg6suy9ZAGthgG0ovC6NMV24an1+Iu JsCCCJV1t2QBmhu1JJnuNkAKCcUXL/+Q77VRj4kUtZ6o/rLi6fTFUW4gRJFesFGsBeAc T+FdkqgF6pKFmbbtoYC3ghrH/SF4F77f9jDIcvvAJtfcaeHLV9wbK/aJJTeYZt69+Cl9 Dv8FuYFXlKLA91Q9c8UyOM2WgucGVDkL8N0Y/vCUMDBf1+jHAsOik5kbOz7+kKmbQP/w qHr6wtOHNuSf0qg87t2MjLYpBdtt7KTITfeq89Us2T5SzX70jMQu2gEhorNp2aAKW/XA tF6g== X-Forwarded-Encrypted: i=1; AHgh+RrPsa2Tblh+RgzKmnNDcRgrP8hHH4WV7uY5YjX0dSW79ps7z3XShINFyHupl0EQEjfgePHNLLoCZhcODBOw@postgresql.org X-Gm-Message-State: AOJu0Yy/kOTcM5BVR8dKm75/XTNaOEvk8oCAfaL48LL4rNq4f8R5WuUC ntU0IBKbGP2Ikz2H9k9b/X0JLvXPOiZ8AggAaxyOtPsDTCUS4GRYK8kMgCgPrI4WlV9Axv2ZbZS VS53y X-Gm-Gg: AfdE7ckPcMjdSwgolSYYvPbLYBFSMM3YqmDGhHuO6GsQzVAvXqtubL4GiqUZMNjNoXw H1ktul/7J7/0cofszwZmOqdnsZ7biAONEKJi2DSEJq6KRHVps8UgrVHWH7n/6HkNUWNzQlAVK3d +4+CVRuSPwB4ni7AzbiFE1Dn/8TQvoYInVB3Egu4HyMut2dKHMiOniyQTYJJsvU3Xi7SPfrUsBa 0pb0fs33UUUEQv4ffoZIORHrqlmR0fk2R1Ta2lZnZ9sgBAburNTAr48cA8RylveJiuRYtuk/wIq rfZ8dzLitvKhe9VwzQk4OgqBQFo/FpwbG0Am5+9B2G27VQAgvSKQmEx7867RvRBSMWz26N2luCs yWoP6YUqsXrcq2e7V7FODSCHFrC1J8IDHEjZ+CqqCwEEIV20Z/nCwwF3gQ0R26f74W51dwmA5oE QG1VSY1BVdj8RsvWoHFKicUyUFciw= X-Received: by 2002:a17:906:1004:20b0:c12:61c5:c141 with SMTP id a640c23a62f3a-c16b48b770dmr394595366b.53.1784584037355; Mon, 20 Jul 2026 14:47:17 -0700 (PDT) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-69e7000688dsm5337247a12.29.2026.07.20.14.47.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jul 2026 14:47:16 -0700 (PDT) Content-Type: multipart/mixed; boundary=afeab087ce68528986cc24fd63f858ae6088ad63a4657b0866d15c9205cc Date: Mon, 20 Jul 2026 23:47:16 +0200 Message-Id: From: "Jelte Fennema-Nio" Cc: "Andres Freund" , , "Peter Eisentraut" , "Nazir Bilal Yavuz" Subject: Re: CI slowdown due to PG_TEST_INITDB_EXTRA_OPTS To: "Tom Lane" MIME-Version: 1.0 References: <301016.1784400463@sss.pgh.pa.us> In-Reply-To: <301016.1784400463@sss.pgh.pa.us> X-TUID: hfZnLCrUm4zH List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --afeab087ce68528986cc24fd63f858ae6088ad63a4657b0866d15c9205cc Content-Type: multipart/alternative; boundary=60e353aa9b759517e7fa849b74f78e6f1e5419191af8ae15ff3b7354edec --60e353aa9b759517e7fa849b74f78e6f1e5419191af8ae15ff3b7354edec Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Sat, 18 Jul 2026 at 20:48, Tom Lane wrote: > It looks like any one job mostly uses the same value of > PG_TEST_INITDB_EXTRA_OPTS. Could we record what was used to set up > the template, and allow using it if that matches? Yeah, that seems to work pretty well. See attached.=20 I'm getting similar test timings in CI with this as Andres got for the Linux runs that he did when removing PG_TEST_INITDB_EXTRA_OPTS. For MacOS I see basically no improvement though, I guess that's probably because the debug_xxx options actually incur significant overhead. Maybe it's worth trying to move them to one of the faster runs. But that seems like a separate discussion. --60e353aa9b759517e7fa849b74f78e6f1e5419191af8ae15ff3b7354edec-- --afeab087ce68528986cc24fd63f858ae6088ad63a4657b0866d15c9205cc Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v1-0001-Keep-using-the-initdb-template-when-PG_TEST_INITD.patch Content-Type: text/x-patch; charset=utf-8; name=v1-0001-Keep-using-the-initdb-template-when-PG_TEST_INITD.patch RnJvbSA0N2FlN2ZkNWVkN2VmNTEwNDEyM2MwODNhNDAwZjQ0ZmQ1YTEzOTA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBNb24sIDIwIEp1bCAyMDI2IDIxOjU0OjE5ICswMjAwClN1YmplY3Q6IFtQQVRDSCB2 MV0gS2VlcCB1c2luZyB0aGUgaW5pdGRiIHRlbXBsYXRlIHdoZW4KIFBHX1RFU1RfSU5JVERCX0VY VFJBX09QVFMgaXMgc2V0CgpTZXR0aW5nIFBHX1RFU1RfSU5JVERCX0VYVFJBX09QVFMgdXNlZCB0 byBkaXNhYmxlIHRoZSBpbml0ZGIgdGVtcGxhdGUKbWVjaGFuaXNtIGVudGlyZWx5OiBib3RoIENs dXN0ZXIucG1gIGFuZCBgcGdfcmVncmVzcy5jIGZlbGwgYmFjayB0bwpydW5uaW5nIGEgZnVsbCBp bml0ZGIgZm9yIGV2ZXJ5IHRlc3QgY2x1c3Rlciwgc2luY2UgdGhleSBjb3VsZG4ndCBrbm93Cndo ZXRoZXIgdGhlIHRlbXBsYXRlIHdhcyBjb21wYXRpYmxlIHdpdGggdGhlIHJlcXVlc3RlZCBvcHRp b25zLiBCZWNhdXNlCkNJIHNldHMgdGhpcyB2YXJpYWJsZSBpbiBtb3N0IGpvYnMsIG5lYXJseSBl dmVyeSB0ZXN0IHBhaWQgdGhlIGZ1bGwKaW5pdGRiIGNvc3QsIHdoaWNoIGlzIGEgbWFqb3IgY29u dHJpYnV0b3IgdG8gc2xvdyBDSSBydW5zIChpbml0ZGIgaXMKcm91Z2hseSAzeCB0aGUgQ1BVIG9m IGNvcHlpbmcgdGhlIHRlbXBsYXRlLCBhbmQgd29yc2UgdW5kZXIgc2FuaXRpemVycykuCgpUaGlz IGZpeGVzIHRoaXMgYnkgdXNpbmcgYFBHX1RFU1RfSU5JVERCX0VYVFJBX09QVFNgIHRvbyB3aGVu IGNyZWF0aW5nCnRoZSBpbml0ZGIgdGVtcGxhdGUgYW5kIHN0b3JpbmcgdGhlIG9wdGlvbnMgdGhh dCB3ZXJlIHVzZWQgZm9yIHRoZQp0ZW1wbGF0ZSBpbiBhICd7fS5leHRyYS1vcHRzJyBmaWxlLiBU aGF0IHdheSB0aGUgcnVubmVycyBjYW4gY29tcGFyZSB0aGUKb3B0aW9ucyBpbiB0aGlzIGZpbGUg dG8gdGhlaXIgUEdfVEVTVF9JTklUREJfRVhUUkFfT1BUUyB2YWx1ZS4gSWYgaXQncwp0aGUgc2Ft ZSB0aGV5IGNhbiB1c2UgdGhlIHRlbXBsYXRlLCBpZiBub3QgdGhleSBuZWVkIHRvIHJ1biBpbml0 ZGIuCi0tLQogbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIzICsr KysrKysrKysrLQogc3JjL01ha2VmaWxlLmdsb2JhbC5pbiAgICAgICAgICAgICAgICAgICB8IDEy ICsrKysrLQogc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbSB8IDQyICsr KysrKysrKysrKysrKy0tLS0tLQogc3JjL3Rlc3QvcmVncmVzcy9wZ19yZWdyZXNzLmMgICAgICAg ICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAxMDgg aW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQg Yi9tZXNvbi5idWlsZAppbmRleCBmNGNkZTI0OTI0Mi4uNzRiZjdiOWY3MTQgMTAwNjQ0Ci0tLSBh L21lc29uLmJ1aWxkCisrKyBiL21lc29uLmJ1aWxkCkBAIC0zOTAxLDE4ICszOTAxLDM3IEBAIGVu ZGlmCiAjIENyZWF0ZSAoYW5kIHJlbW92ZSBvbGQpIGluaXRkYiB0ZW1wbGF0ZSBkaXJlY3Rvcnku IFRlc3RzIHVzZSB0aGF0LCB3aGVyZQogIyBwb3NzaWJsZSwgdG8gbWFrZSBpdCBjaGVhcGVyIHRv IHJ1biB0ZXN0cy4KICMKKyMgVGhlIHRlbXBsYXRlIGlzIGNyZWF0ZWQgd2l0aCBQR19URVNUX0lO SVREQl9FWFRSQV9PUFRTIGFwcGxpZWQsIGFuZCB0aGUKKyMgdmFyaWFibGUncyB2YWx1ZSBpcyBy ZWNvcmRlZCBpbiBhbiAiLmV4dHJhLW9wdHMiIGZpbGUgbmV4dCB0byB0aGUgdGVtcGxhdGUKKyMg ZGlyZWN0b3J5LiBUaGF0IGFsbG93cyB0ZXN0cyB0byB1c2UgdGhlIHRlbXBsYXRlIHdoZW4gdGhl IHZhcmlhYmxlIGlzIHNldCwKKyMgYXMgbG9uZyBhcyBpdHMgdmFsdWUgc3RpbGwgbWF0Y2hlcywg aW5zdGVhZCBvZiBmYWxsaW5nIGJhY2sgdG8gYSBmdWxsCisjIGluaXRkYi4KKyMKICMgVXNlIHB5 dGhvbiB0byByZW1vdmUgdGhlIG9sZCBjYWNoZWQgaW5pdGRiLCBhcyB3ZSBjYW5ub3QgcmVseSBv biBhIHdvcmtpbmcKICMgJ3JtJyBiaW5hcnkgb24gd2luZG93cy4KIHRlc3QoJ2luaXRkYl9jYWNo ZScsCiAgICAgIHB5dGhvbiwKICAgICAgYXJnczogWwogICAgICAgICctYycsICcnJworaW1wb3J0 IG9zCitpbXBvcnQgc2hsZXgKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzeXMKIGltcG9ydCBzdWJw cm9jZXNzCiAKLXNodXRpbC5ybXRyZWUoc3lzLmFyZ3ZbMV0sIGlnbm9yZV9lcnJvcnM9VHJ1ZSkK LXNwID0gc3VicHJvY2Vzcy5ydW4oc3lzLmFyZ3ZbMjpdICsgW3N5cy5hcmd2WzFdXSkKK3RlbXBs YXRlX2RpciA9IHN5cy5hcmd2WzFdCitleHRyYV9vcHRzID0gb3MuZW52aXJvbi5nZXQoJ1BHX1RF U1RfSU5JVERCX0VYVFJBX09QVFMnLCAnJykKKworc2h1dGlsLnJtdHJlZSh0ZW1wbGF0ZV9kaXIs IGlnbm9yZV9lcnJvcnM9VHJ1ZSkKK3RyeToKKyAgICBvcy5yZW1vdmUodGVtcGxhdGVfZGlyICsg Jy5leHRyYS1vcHRzJykKK2V4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICBwYXNzCisKK3Nw ID0gc3VicHJvY2Vzcy5ydW4oc3lzLmFyZ3ZbMjpdICsgc2hsZXguc3BsaXQoZXh0cmFfb3B0cykg KyBbdGVtcGxhdGVfZGlyXSkKK2lmIHNwLnJldHVybmNvZGUgPT0gMDoKKyAgICB3aXRoIG9wZW4o dGVtcGxhdGVfZGlyICsgJy5leHRyYS1vcHRzJywgJ3cnKSBhcyBmOgorICAgICAgICBmLndyaXRl KGV4dHJhX29wdHMpCiBzeXMuZXhpdChzcC5yZXR1cm5jb2RlKQogJycnLAogICAgICAgIHRlc3Rf aW5pdGRiX3RlbXBsYXRlLApkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmdsb2JhbC5pbiBiL3Ny Yy9NYWtlZmlsZS5nbG9iYWwuaW4KaW5kZXggY2VmMWFkN2Y4N2QuLmVhMGIyMTg3MTdhIDEwMDY0 NAotLS0gYS9zcmMvTWFrZWZpbGUuZ2xvYmFsLmluCisrKyBiL3NyYy9NYWtlZmlsZS5nbG9iYWwu aW4KQEAgLTQ0Miw3ICs0NDIsMTcgQEAgaWZlcSAoJChNQUtFTEVWRUwpLDApCiAJJChNQUtFKSAt QyAnJCh0b3BfYnVpbGRkaXIpJyBERVNURElSPSckKGFic190b3BfYnVpbGRkaXIpJy90bXBfaW5z dGFsbCBpbnN0YWxsID4nJChhYnNfdG9wX2J1aWxkZGlyKScvdG1wX2luc3RhbGwvbG9nL2luc3Rh bGwubG9nIDI+JjEKIAkkKE1BS0UpIC1qMSAkKGlmICQoQ0hFQ0tQUkVQX1RPUCksLUMgJChDSEVD S1BSRVBfVE9QKSwpIGNoZWNrcHJlcCA+PickKGFic190b3BfYnVpbGRkaXIpJy90bXBfaW5zdGFs bC9sb2cvaW5zdGFsbC5sb2cgMj4mMQogCi0JJCh3aXRoX3RlbXBfaW5zdGFsbCkgaW5pdGRiIC0t YXV0aCB0cnVzdCAtLW5vLXN5bmMgLS1uby1pbnN0cnVjdGlvbnMgLS1sYy1tZXNzYWdlcz1DIC0t bm8tY2xlYW4gJyQoYWJzX3RvcF9idWlsZGRpciknL3RtcF9pbnN0YWxsL2luaXRkYi10ZW1wbGF0 ZSA+PickKGFic190b3BfYnVpbGRkaXIpJy90bXBfaW5zdGFsbC9sb2cvaW5pdGRiLXRlbXBsYXRl LmxvZyAyPiYxCisjIFRoZSBpbml0ZGIgdGVtcGxhdGUgaXMgY3JlYXRlZCB3aXRoIFBHX1RFU1Rf SU5JVERCX0VYVFJBX09QVFMgYXBwbGllZCwgYW5kCisjIHRoZSB2YXJpYWJsZSdzIHZhbHVlIGlz IHJlY29yZGVkIGluIGFuICIuZXh0cmEtb3B0cyIgZmlsZSBuZXh0IHRvIHRoZQorIyB0ZW1wbGF0 ZSBkaXJlY3RvcnkuIFRoYXQgYWxsb3dzIHRlc3RzIHRvIHVzZSB0aGUgdGVtcGxhdGUgd2hlbiB0 aGUgdmFyaWFibGUKKyMgaXMgc2V0LCBhcyBsb25nIGFzIGl0cyB2YWx1ZSBzdGlsbCBtYXRjaGVz LiBSdW4gaW5pdGRiIHRocm91Z2ggYW4gZXh0cmEKKyMgc2hlbGwgc28gdGhhdCBhbnkgcXVvdGlu ZyBpbiBQR19URVNUX0lOSVREQl9FWFRSQV9PUFRTIGlzIGludGVycHJldGVkIHRoZQorIyBzYW1l IHdheSBhcyBpbiBwZ19yZWdyZXNzLmMgYW5kIENsdXN0ZXIucG0uIFRoZSB0ZW1wbGF0ZSBwYXRo IGlzIHBhc3NlZCBhcworIyBhIHBvc2l0aW9uYWwgYXJndW1lbnQgKCQwKSBpbnN0ZWFkIG9mIGJl aW5nIGVtYmVkZGVkIGluIHRoZSBjb21tYW5kIHN0cmluZywKKyMgc28gdGhhdCBvbmx5IFBHX1RF U1RfSU5JVERCX0VYVFJBX09QVFMgZ2V0cyB0aGF0IHNlY29uZCByb3VuZCBvZiBzaGVsbAorIyBp bnRlcnByZXRhdGlvbi4KKwkkKHdpdGhfdGVtcF9pbnN0YWxsKSBzaCAtYyAiaW5pdGRiIC0tYXV0 aCB0cnVzdCAtLW5vLXN5bmMgLS1uby1pbnN0cnVjdGlvbnMgLS1sYy1tZXNzYWdlcz1DIC0tbm8t Y2xlYW4gJCRQR19URVNUX0lOSVREQl9FWFRSQV9PUFRTIFwiXCQkMFwiIiAnJChhYnNfdG9wX2J1 aWxkZGlyKScvdG1wX2luc3RhbGwvaW5pdGRiLXRlbXBsYXRlID4+JyQoYWJzX3RvcF9idWlsZGRp ciknL3RtcF9pbnN0YWxsL2xvZy9pbml0ZGItdGVtcGxhdGUubG9nIDI+JjEKKwlwcmludGYgJyVz JyAiJCRQR19URVNUX0lOSVREQl9FWFRSQV9PUFRTIiA+JyQoYWJzX3RvcF9idWlsZGRpciknL3Rt cF9pbnN0YWxsL2luaXRkYi10ZW1wbGF0ZS5leHRyYS1vcHRzCiBlbmRpZgogZW5kaWYKIGVuZGlm CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtIGIv c3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQppbmRleCAzZWFlNGNmNjI4 MS4uOGIxYzNkNzNjMzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0 L0NsdXN0ZXIucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5w bQpAQCAtNjM5LDM4ICs2MzksNTggQEAgc3ViIGluaXQKIAkkcGFyYW1ze2hhc19hcmNoaXZpbmd9 ID0gMCB1bmxlc3MgZGVmaW5lZCAkcGFyYW1ze2hhc19hcmNoaXZpbmd9OwogCiAJbXkgJGluaXRk Yl9leHRyYV9vcHRzX2VudiA9ICRFTlZ7UEdfVEVTVF9JTklUREJfRVhUUkFfT1BUU307CisKKwlt eSBAaW5pdGRiX29wdHMgPSBAeyAkcGFyYW1ze2V4dHJhfSAvLyBbXSB9OwogCWlmIChkZWZpbmVk ICRpbml0ZGJfZXh0cmFfb3B0c19lbnYpCiAJewotCQlwdXNoIEB7ICRwYXJhbXN7ZXh0cmF9IH0s IHNoZWxsd29yZHMoJGluaXRkYl9leHRyYV9vcHRzX2Vudik7CisJCXB1c2ggQGluaXRkYl9vcHRz LCBzaGVsbHdvcmRzKCRpbml0ZGJfZXh0cmFfb3B0c19lbnYpOwogCX0KIAogCSMgVGhpcyBzaG91 bGQgb3ZlcnJpZGUgdXNlci1zdXBwbGllZCBpbml0ZGIgb3B0aW9ucy4KIAlpZiAoJHBhcmFtc3tu b19kYXRhX2NoZWNrc3Vtc30pCiAJewotCQlwdXNoIEB7ICRwYXJhbXN7ZXh0cmF9IH0sICctLW5v LWRhdGEtY2hlY2tzdW1zJzsKKwkJcHVzaCBAaW5pdGRiX29wdHMsICctLW5vLWRhdGEtY2hlY2tz dW1zJzsKIAl9CiAKIAlta2RpciAkc2VsZi0+YmFja3VwX2RpcjsKIAlta2RpciAkc2VsZi0+YXJj aGl2ZV9kaXI7CiAKLQkjIElmIGF2YWlsYWJsZSwgaWYgdGhlcmUgYXJlbid0IGFueSBwYXJhbWV0 ZXJzIGFuZCBpZiBmb3JjZV9pbml0ZGIgaXMKLQkjIGRpc2FibGVkLCB1c2UgYSBwcmV2aW91c2x5 IGluaXRkYidkIGNsdXN0ZXIgYXMgYSB0ZW1wbGF0ZSBieSBjb3B5aW5nIGl0LgotCSMgRm9yIGEg bG90IG9mIHRlc3RzLCB0aGF0J3Mgc3Vic3RhbnRpYWxseSBjaGVhcGVyLiBJdCBkb2VzIG5vdCBz ZWVtCi0JIyB3b3J0aCBmaWd1cmluZyBvdXQgd2hldGhlciBleHRyYSBwYXJhbWV0ZXJzIGFmZmVj dCBjb21wYXRpYmlsaXR5LCBzbwotCSMgaW5pdGRiIGlzIGZvcmNlZCBpZiBhbnkgYXJlIGRlZmlu ZWQuCisJIyBJZiBhdmFpbGFibGUsIGlmIHRoZXJlIGFyZW4ndCBhbnkgcGFyYW1ldGVycyB0aGUg dGVtcGxhdGUgd2Fzbid0CisJIyBjcmVhdGVkIHdpdGggYW5kIGlmIGZvcmNlX2luaXRkYiBpcyBk aXNhYmxlZCwgdXNlIGEgcHJldmlvdXNseSBpbml0ZGInZAorCSMgY2x1c3RlciBhcyBhIHRlbXBs YXRlIGJ5IGNvcHlpbmcgaXQuIEZvciBhIGxvdCBvZiB0ZXN0cywgdGhhdCdzCisJIyBzdWJzdGFu dGlhbGx5IGNoZWFwZXIuCisJIworCSMgVGhlIHZhbHVlIG9mIFBHX1RFU1RfSU5JVERCX0VYVFJB X09QVFMgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSB0ZW1wbGF0ZQorCSMgaXMgcmVjb3JkZWQgaW4g YW4gIi5leHRyYS1vcHRzIiBmaWxlIG5leHQgdG8gdGhlIHRlbXBsYXRlIGRpcmVjdG9yeSwgc28K KwkjIHRoZSB0ZW1wbGF0ZSBzdGF5cyB1c2FibGUgd2hlbiB0aGF0IHZhcmlhYmxlIGlzIHNldCwg YXMgbG9uZyBhcyBpdHMKKwkjIHZhbHVlIG1hdGNoZXMuIEl0IGRvZXMgbm90IHNlZW0gd29ydGgg ZmlndXJpbmcgb3V0IHdoZXRoZXIKKwkjIHRlc3Qtc3VwcGxpZWQgZXh0cmEgcGFyYW1ldGVycyBh ZmZlY3QgY29tcGF0aWJpbGl0eSwgc28gaW5pdGRiIGlzCisJIyBmb3JjZWQgaWYgYW55IGFyZSBk ZWZpbmVkLgogCSMKIAkjIFRoZXJlJ3MgdmVyeSBzaW1pbGFyIGNvZGUgaW4gcGdfcmVncmVzcy5j LCBidXQgd2UgY2FuJ3QgZWFzaWx5CiAJIyBkZWR1cGxpY2F0ZSBpdCB1bnRpbCB3ZSByZXF1aXJl IHBlcmwgYXQgYnVpbGQgdGltZS4KLQlpZiAoICAgJHBhcmFtc3tmb3JjZV9pbml0ZGJ9Ci0JCW9y IGRlZmluZWQgJHBhcmFtc3tleHRyYX0KLQkJb3IgIWRlZmluZWQgJEVOVntJTklUREJfVEVNUExB VEV9KQorCW15ICR0ZW1wbGF0ZV91c2FibGUgPSAwOworCWlmICggICAgISRwYXJhbXN7Zm9yY2Vf aW5pdGRifQorCQlhbmQgIWRlZmluZWQgJHBhcmFtc3tleHRyYX0KKwkJYW5kICEkcGFyYW1ze25v X2RhdGFfY2hlY2tzdW1zfQorCQlhbmQgZGVmaW5lZCAkRU5We0lOSVREQl9URU1QTEFURX0pCisJ eworCQlteSAkZXh0cmFfb3B0c19maWxlID0gJEVOVntJTklUREJfVEVNUExBVEV9IC4gJy5leHRy YS1vcHRzJzsKKwkJbXkgJHRlbXBsYXRlX29wdHMgPQorCQkgIC1lICRleHRyYV9vcHRzX2ZpbGUK KwkJICA/IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVycF9maWxlKCRleHRyYV9vcHRzX2Zp bGUpCisJCSAgOiAnJzsKKwkJJHRlbXBsYXRlX3VzYWJsZSA9ICR0ZW1wbGF0ZV9vcHRzIGVxICgk aW5pdGRiX2V4dHJhX29wdHNfZW52IC8vICcnKTsKKwl9CisKKwlpZiAoISR0ZW1wbGF0ZV91c2Fi bGUpCiAJewogCQlub3RlKCJpbml0aWFsaXppbmcgZGF0YWJhc2Ugc3lzdGVtIGJ5IHJ1bm5pbmcg aW5pdGRiIik7CiAJCVBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzeXN0ZW1fb3JfYmFpbCgKIAkJ CSdpbml0ZGInLCAnLS1uby1zeW5jJywKIAkJCSctLXBnZGF0YScgPT4gJHBnZGF0YSwKIAkJCSct LWF1dGgnID0+ICd0cnVzdCcsCi0JCQlAeyAkcGFyYW1ze2V4dHJhfSB9KTsKKwkJCUBpbml0ZGJf b3B0cyk7CiAJfQogCWVsc2UKIAl7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BnX3Jl Z3Jlc3MuYyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGdfcmVncmVzcy5jCmluZGV4IDIxZDAwZjc5MmQy Li5kN2FkYzIxMWNjMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wZ19yZWdyZXNzLmMK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wZ19yZWdyZXNzLmMKQEAgLTIxMzgsNiArMjEzOCw0NSBA QCBoZWxwKHZvaWQpCiAJcHJpbnRmKF8oIiVzIGhvbWUgcGFnZTogPCVzPlxuIiksIFBBQ0tBR0Vf TkFNRSwgUEFDS0FHRV9VUkwpOwogfQogCisvKgorICogQ2hlY2sgd2hldGhlciB0aGUgaW5pdGRi IHRlbXBsYXRlIHdhcyBjcmVhdGVkIHdpdGggdGhlIHNhbWUKKyAqIFBHX1RFU1RfSU5JVERCX0VY VFJBX09QVFMgdGhhdCBhcmUgaW4gZWZmZWN0IG5vdy4gIFRoZSB2YWx1ZSB1c2VkIGR1cmluZwor ICogdGVtcGxhdGUgY3JlYXRpb24gaXMgcmVjb3JkZWQgaW4gYW4gIi5leHRyYS1vcHRzIiBmaWxl IG5leHQgdG8gdGhlCisgKiB0ZW1wbGF0ZSBkaXJlY3Rvcnk7IGEgbWlzc2luZyBmaWxlIG1lYW5z IHRoZSB0ZW1wbGF0ZSB3YXMgY3JlYXRlZCB3aXRob3V0CisgKiBleHRyYSBvcHRpb25zLiAgV2l0 aG91dCB0aGlzIGNoZWNrIHdlJ2QgaGF2ZSB0byBmYWxsIGJhY2sgdG8gYSBmdWxsIGluaXRkYgor ICogd2hlbmV2ZXIgUEdfVEVTVF9JTklUREJfRVhUUkFfT1BUUyBpcyBzZXQsIHdoaWNoIGlzIGEg bG90IG1vcmUgZXhwZW5zaXZlLgorICovCitzdGF0aWMgYm9vbAoraW5pdGRiX3RlbXBsYXRlX21h dGNoZXMoY29uc3QgY2hhciAqaW5pdGRiX3RlbXBsYXRlX2RpciwKKwkJCQkJCWNvbnN0IGNoYXIg KmluaXRkYl9leHRyYV9vcHRzX2VudikKK3sKKwljaGFyCQlwYXRoW01BWFBHUEFUSF07CisJY2hh cgkJcmVjb3JkZWRbNDA5Nl07CisJRklMRQkgICAqZjsKKworCXNucHJpbnRmKHBhdGgsIHNpemVv ZihwYXRoKSwgIiVzLmV4dHJhLW9wdHMiLCBpbml0ZGJfdGVtcGxhdGVfZGlyKTsKKworCXJlY29y ZGVkWzBdID0gJ1wwJzsKKwlpZiAoKGYgPSBmb3BlbihwYXRoLCAiciIpKSAhPSBOVUxMKQorCXsK KwkJLyoKKwkJICogQSB2YWx1ZSB0b28gbG9uZyBmb3IgdGhlIGJ1ZmZlciBjYW4gbmV2ZXIgY29t cGFyZSBlcXVhbCwgc28gdHJlYXQKKwkJICogdHJ1bmNhdGlvbiBhcyBhIG1pc21hdGNoIGluc3Rl YWQgb2YgY29tcGFyaW5nIGp1c3QgdGhlIHByZWZpeC4KKwkJICovCisJCXNpemVfdAkJbnJlYWQg PSBmcmVhZChyZWNvcmRlZCwgMSwgc2l6ZW9mKHJlY29yZGVkKSAtIDEsIGYpOworCQlib29sCQl0 cnVuY2F0ZWQgPSAobnJlYWQgPT0gc2l6ZW9mKHJlY29yZGVkKSAtIDEgJiYgIWZlb2YoZikpOwor CisJCXJlY29yZGVkW25yZWFkXSA9ICdcMCc7CisJCWZjbG9zZShmKTsKKworCQlpZiAodHJ1bmNh dGVkKQorCQkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiBzdHJjbXAocmVjb3JkZWQsCisJ CQkJICBpbml0ZGJfZXh0cmFfb3B0c19lbnYgPyBpbml0ZGJfZXh0cmFfb3B0c19lbnYgOiAiIikg PT0gMDsKK30KKwogaW50CiByZWdyZXNzaW9uX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwK IAkJCQlpbml0X2Z1bmN0aW9uIGlmdW5jLApAQCAtMjQwMSwxMyArMjQ0MCwxNyBAQCByZWdyZXNz aW9uX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwKIAkJICogQ3JlYXRlIGRhdGEgZGlyZWN0 b3J5LgogCQkgKgogCQkgKiBJZiBhdmFpbGFibGUsIHVzZSBhIHByZXZpb3VzbHkgaW5pdGRiJ2Qg Y2x1c3RlciBhcyBhIHRlbXBsYXRlIGJ5Ci0JCSAqIGNvcHlpbmcgaXQuIEZvciBhIGxvdCBvZiB0 ZXN0cywgdGhhdCdzIHN1YnN0YW50aWFsbHkgY2hlYXBlci4KKwkJICogY29weWluZyBpdC4gRm9y IGEgbG90IG9mIHRlc3RzLCB0aGF0J3Mgc3Vic3RhbnRpYWxseSBjaGVhcGVyLiBUaGUKKwkJICog dGVtcGxhdGUgaXMgb25seSB1c2FibGUgaWYgaXQgd2FzIGNyZWF0ZWQgd2l0aCB0aGUgc2FtZQor CQkgKiBQR19URVNUX0lOSVREQl9FWFRSQV9PUFRTIHRoYXQgYXJlIGluIGVmZmVjdCBub3csIHdo aWNoCisJCSAqIGluaXRkYl90ZW1wbGF0ZV9tYXRjaGVzKCkgY2hlY2tzLgogCQkgKgogCQkgKiBU aGVyZSdzIHZlcnkgc2ltaWxhciBjb2RlIGluIENsdXN0ZXIucG0sIGJ1dCB3ZSBjYW4ndCBlYXNp bHkgZGUKIAkJICogZHVwbGljYXRlIGl0IHVudGlsIHdlIHJlcXVpcmUgcGVybCBhdCBidWlsZCB0 aW1lLgogCQkgKi8KIAkJaW5pdGRiX3RlbXBsYXRlX2RpciA9IGdldGVudigiSU5JVERCX1RFTVBM QVRFIik7Ci0JCWlmIChpbml0ZGJfdGVtcGxhdGVfZGlyID09IE5VTEwgfHwgbm9sb2NhbGUgfHwg ZGVidWcgfHwgaW5pdGRiX2V4dHJhX29wdHNfZW52KQorCQlpZiAoaW5pdGRiX3RlbXBsYXRlX2Rp ciA9PSBOVUxMIHx8IG5vbG9jYWxlIHx8IGRlYnVnIHx8CisJCQkhaW5pdGRiX3RlbXBsYXRlX21h dGNoZXMoaW5pdGRiX3RlbXBsYXRlX2RpciwgaW5pdGRiX2V4dHJhX29wdHNfZW52KSkKIAkJewog CQkJbm90ZSgiaW5pdGlhbGl6aW5nIGRhdGFiYXNlIHN5c3RlbSBieSBydW5uaW5nIGluaXRkYiIp OwogCi0tIAoyLjU0LjAKCg== --afeab087ce68528986cc24fd63f858ae6088ad63a4657b0866d15c9205cc--