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 1u0LWM-00GvqC-NC for pgsql-hackers@arkaria.postgresql.org; Thu, 03 Apr 2025 14:26:19 +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 1u0LWL-007xfG-5z for pgsql-hackers@arkaria.postgresql.org; Thu, 03 Apr 2025 14:26:17 +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.94.2) (envelope-from ) id 1u0LWK-007xf8-OD for pgsql-hackers@lists.postgresql.org; Thu, 03 Apr 2025 14:26:16 +0000 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u0LWH-003AiV-1e for pgsql-hackers@lists.postgresql.org; Thu, 03 Apr 2025 14:26:16 +0000 Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-af50f56b862so725912a12.1 for ; Thu, 03 Apr 2025 07:26:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timescale.com; s=google; t=1743690370; x=1744295170; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=mWMaIJPb3zXpvGLvXctCr5eGQEAQZVXUV3N7EoGDeIA=; b=jdxdkxMh2sMty6ZC3bgwPDxukjp2CuYueh1e18dQRC8wGED6LzyMEa9mgaCw+nF0CB 84Hre8JbO87ZRvSb1awuwQ1dcfh8b+rokIBDNRiqhy1a3Esckls/ErKMEImwqFKXyaaS KsnqKmcYYILs2y+64OH0mRGrkj60RYHh5I5b3J+wXEyFdG1FQHE6FGLATgTGnkuecKXi cdikk8pfZdZ14JPcaIvP0CvjIzNQ3ptgfz1cCCMOJ9bv8zhq+kJYb7iPfso9HKoU4JMu noF7pwbKjHIB10mB4b73z1d6zAz3xapBUcIenZY/gKsvkvDyrZ5cdj7GKv2rsTwKLDZh 8ibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743690370; x=1744295170; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mWMaIJPb3zXpvGLvXctCr5eGQEAQZVXUV3N7EoGDeIA=; b=rP4HIDXqIZisS1Uf8EZyNxmAj3VnNRAppfi2HTIXlR/ZZg8ghI2dFtyEttS/H65XCJ uafEm7UMhd5+HlUDVhBCiH+icnD/YySXmPkTpl9c2o040z1UWlmachAg3JUiuy4rdL1j JL+aZTz2wz3GNSq/gqZmwxWIF3462em77bWT8T/w0mZAdNK/nr5lf7UUDqY4Mc6PHuQz 8baEs3/BsGrKITs5WqDiD2p1vPdLfq5OOngmQQnmo4lvvs4Mu1Y7MAOz9TQNhseJUHdb L87Adox/UcuFdhMR+V38ESXHswHG2MGTYPO+iSwyGlhd1vTUZPFQ45rSX97nR3mw2b97 K3sA== X-Gm-Message-State: AOJu0YxyDAEqzhrcpqv1plIdVh4QseNs94JQdSYRiVAFHDdAwqyujswP ZmYB44dcXfm/DCdOjAdrIXkAvY9SwDtD5ixAN+L4j1vI36hYWS8DIt8U/qCqoQWRrmXjOEEyadV hEsoGqXcqHMQ19+BoVcb9DpvTIr39zPokw3VRfYdhiIS4i65lbzc= X-Gm-Gg: ASbGncu29mr8JUeDgLYXQJIIf/sBt9r16cUpXDzQob3ZZprt+U05pAdP8VKsCemCV0j h6h5kBexH5hyoiiHgsEygS2MM+nyyIMABsqQtCeF87i0ib4o8RpwC3VxFYPQuQnWQmFuu4OUZ9z gh6uZKcB/s4ACA0FYUYtYrDWHO X-Google-Smtp-Source: AGHT+IHsUmEzlfamSbr9Ym9Dsnn4uqeKWWV7tKdvFZsSD6y+aMR7ZD3ipe36B4ZJBQG6Kh1qLMHAWq1KMDKAeAq/OzY= X-Received: by 2002:a17:90b:2e0b:b0:2ff:5357:1c7e with SMTP id 98e67ed59e1d1-3057cb66e92mr4222724a91.20.1743690370539; Thu, 03 Apr 2025 07:26:10 -0700 (PDT) MIME-Version: 1.0 References: <174319365391.60294.17413945943923890743.pgcf@coridan.postgresql.org> In-Reply-To: <174319365391.60294.17413945943923890743.pgcf@coridan.postgresql.org> From: Aleksander Alekseev Date: Thu, 3 Apr 2025 17:25:58 +0300 X-Gm-Features: ATxdqUHfxB1i_bbqGsh0zuH-8ZtTVT7Eo2st1DEXhNmLXxpgC5DS0T2o0CNiF6o Message-ID: Subject: Re: [PATCH] Refactor SLRU to always use long file names To: pgsql-hackers@lists.postgresql.org Cc: Rustam ALLAKOV , Michael Paquier Content-Type: multipart/mixed; boundary="00000000000022c70f0631e08d6a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000022c70f0631e08d6a Content-Type: text/plain; charset="UTF-8" Hi Rustam, > Hi Aleksander, > I have reviewed your patch. It looks good to me. > > Kindest regards. > Rustam Allakov > > The new status of this patch is: Ready for Committer Thanks for testing! Here is the rebased patch. -- Best regards, Aleksander Alekseev --00000000000022c70f0631e08d6a Content-Type: application/octet-stream; name="v5-0001-Always-use-long-SLRU-segment-file-names.patch" Content-Disposition: attachment; filename="v5-0001-Always-use-long-SLRU-segment-file-names.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m91flc670 RnJvbSBiMGI5ODMxMDY3MmRlOTE4MWU3MDA2ZmQyOGE2ZWQyZTEyZTExODUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVrc2FuZGVyIEFsZWtzZWV2IDxhbGVrc2FuZGVyQHRpbWVz Y2FsZS5jb20+CkRhdGU6IFdlZCwgMTEgU2VwIDIwMjQgMTM6MTc6MzMgKzAzMDAKU3ViamVjdDog W1BBVENIIHY1XSBBbHdheXMgdXNlIGxvbmcgU0xSVSBzZWdtZW50IGZpbGUgbmFtZXMKClBHMTcg aW50cm9kdWNlZCBsb25nIFNMUlUgc2VnbWVudCBmaWxlIG5hbWVzIChjb21taXQgNGVkOGYwOTEz YmZkKS4gV2UgdXNlZApzaG9ydCBvciBsb25nIGZpbGUgbmFtZXMgZGVwZW5kaW5nIG9uIFNscnVD dGwtPmxvbmdfc2VnbWVudF9uYW1lcy4gVGhpcyBjb21taXQKcmVmYWN0b3JzIFNMUlUgdG8gYWx3 YXlzIHVzZSBsb25nIGZpbGUgbmFtZXMgaW4gb3JkZXIgdG8gc2ltcGxpZnkgdGhlIGNvZGUuCgpB bGVrc2FuZGVyIEFsZWtzZWV2LCByZXZpZXdlZCBieSBNaWNoYWVsIFBhcXVpZXIsIFJ1c3RhbSBB bGxha292CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FKN2M2VE95N2ZVVzlNdU5l T1dvcjNjU0ZuUWc5dGd6PW1qWEhEYjk0R09SdE1fRXlnQG1haWwuZ21haWwuY29tCgooISEhKSBi dW1wIGNhdHZlcnNpb24gYW5kIGNoYW5nZSB0aGUgY29ycmVzcG9uZGluZyBUT0RPIEZJWE1FIGxp bmUgaW4gcGdfdXBncmFkZS5oCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vY2xvZy5j ICAgICAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jb21taXRfdHMu YyAgICAgIHwgIDMgKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jICAg ICAgfCAgNiArLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vc2xydS5jICAgICAgICAgICB8 IDcxICsrKystLS0tLS0tLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9zdWJ0 cmFucy5jICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2FzeW5jLmMgICAgICAg ICAgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3ByZWRpY2F0ZS5jICAg ICAgICB8ICAyICstCiBzcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jICAgICAgICAgICAg IHwgNzQgKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFk ZS5oICAgICAgICAgICAgIHwgIDYgKysKIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDAzX2Nv cnJ1cHRpb24ucGwgfCAgMiArLQogc3JjL2luY2x1ZGUvYWNjZXNzL3NscnUuaCAgICAgICAgICAg ICAgICAgICB8IDEwICstLQogc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X3NscnUvdGVzdF9zbHJ1LmMg ICAgICB8ICA4ICstLQogMTIgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDg1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cuYwppbmRleCA0OGYxMGJlYzkxZS4u ZjEzMDQwM2FjNGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jbG9nLmMKQEAgLTgxMCw3ICs4MTAs NyBAQCBDTE9HU2htZW1Jbml0KHZvaWQpCiAJWGFjdEN0bC0+UGFnZVByZWNlZGVzID0gQ0xPR1Bh Z2VQcmVjZWRlczsKIAlTaW1wbGVMcnVJbml0KFhhY3RDdGwsICJ0cmFuc2FjdGlvbiIsIENMT0dT aG1lbUJ1ZmZlcnMoKSwgQ0xPR19MU05TX1BFUl9QQUdFLAogCQkJCSAgInBnX3hhY3QiLCBMV1RS QU5DSEVfWEFDVF9CVUZGRVIsCi0JCQkJICBMV1RSQU5DSEVfWEFDVF9TTFJVLCBTWU5DX0hBTkRM RVJfQ0xPRywgZmFsc2UpOworCQkJCSAgTFdUUkFOQ0hFX1hBQ1RfU0xSVSwgU1lOQ19IQU5ETEVS X0NMT0cpOwogCVNscnVQYWdlUHJlY2VkZXNVbml0VGVzdHMoWGFjdEN0bCwgQ0xPR19YQUNUU19Q RVJfUEFHRSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nv bW1pdF90cy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vY29tbWl0X3RzLmMKaW5kZXgg MTEzZmFlMTQzN2EuLjU5NTM1NTI2ODIzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS9jb21taXRfdHMuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jb21t aXRfdHMuYwpAQCAtNTU2LDggKzU1Niw3IEBAIENvbW1pdFRzU2htZW1Jbml0KHZvaWQpCiAJU2lt cGxlTHJ1SW5pdChDb21taXRUc0N0bCwgImNvbW1pdF90aW1lc3RhbXAiLCBDb21taXRUc1NobWVt QnVmZmVycygpLCAwLAogCQkJCSAgInBnX2NvbW1pdF90cyIsIExXVFJBTkNIRV9DT01NSVRUU19C VUZGRVIsCiAJCQkJICBMV1RSQU5DSEVfQ09NTUlUVFNfU0xSVSwKLQkJCQkgIFNZTkNfSEFORExF Ul9DT01NSVRfVFMsCi0JCQkJICBmYWxzZSk7CisJCQkJICBTWU5DX0hBTkRMRVJfQ09NTUlUX1RT KTsKIAlTbHJ1UGFnZVByZWNlZGVzVW5pdFRlc3RzKENvbW1pdFRzQ3RsLCBDT01NSVRfVFNfWEFD VFNfUEVSX1BBR0UpOwogCiAJY29tbWl0VHNTaGFyZWQgPSBTaG1lbUluaXRTdHJ1Y3QoIkNvbW1p dFRzIHNoYXJlZCIsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0 aXhhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCmluZGV4IDlk MjVhN2RmMGQzLi44ZDhmN2QyOGEwNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0vbXVsdGl4YWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4 YWN0LmMKQEAgLTE5NzQsMTUgKzE5NzQsMTMgQEAgTXVsdGlYYWN0U2htZW1Jbml0KHZvaWQpCiAJ CQkJICAibXVsdGl4YWN0X29mZnNldCIsIG11bHRpeGFjdF9vZmZzZXRfYnVmZmVycywgMCwKIAkJ CQkgICJwZ19tdWx0aXhhY3Qvb2Zmc2V0cyIsIExXVFJBTkNIRV9NVUxUSVhBQ1RPRkZTRVRfQlVG RkVSLAogCQkJCSAgTFdUUkFOQ0hFX01VTFRJWEFDVE9GRlNFVF9TTFJVLAotCQkJCSAgU1lOQ19I QU5ETEVSX01VTFRJWEFDVF9PRkZTRVQsCi0JCQkJICBmYWxzZSk7CisJCQkJICBTWU5DX0hBTkRM RVJfTVVMVElYQUNUX09GRlNFVCk7CiAJU2xydVBhZ2VQcmVjZWRlc1VuaXRUZXN0cyhNdWx0aVhh Y3RPZmZzZXRDdGwsIE1VTFRJWEFDVF9PRkZTRVRTX1BFUl9QQUdFKTsKIAlTaW1wbGVMcnVJbml0 KE11bHRpWGFjdE1lbWJlckN0bCwKIAkJCQkgICJtdWx0aXhhY3RfbWVtYmVyIiwgbXVsdGl4YWN0 X21lbWJlcl9idWZmZXJzLCAwLAogCQkJCSAgInBnX211bHRpeGFjdC9tZW1iZXJzIiwgTFdUUkFO Q0hFX01VTFRJWEFDVE1FTUJFUl9CVUZGRVIsCiAJCQkJICBMV1RSQU5DSEVfTVVMVElYQUNUTUVN QkVSX1NMUlUsCi0JCQkJICBTWU5DX0hBTkRMRVJfTVVMVElYQUNUX01FTUJFUiwKLQkJCQkgIGZh bHNlKTsKKwkJCQkgIFNZTkNfSEFORExFUl9NVUxUSVhBQ1RfTUVNQkVSKTsKIAkvKiBkb2Vzbid0 IGNhbGwgU2ltcGxlTHJ1VHJ1bmNhdGUoKSBvciBtZWV0IGNyaXRlcmlhIGZvciB1bml0IHRlc3Rz ICovCiAKIAkvKiBJbml0aWFsaXplIG91ciBzaGFyZWQgc3RhdGUgc3RydWN0ICovCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9zbHJ1LmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS9zbHJ1LmMKaW5kZXggZmU1NjI4NmQ5YTkuLjc1MmFhNzFmYTg3IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9zbHJ1LmMKKysrIGIvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0vc2xydS5jCkBAIC03Nyw0MSArNzcsMjEgQEAKICAqCiAgKiAicGF0aCIg c2hvdWxkIHBvaW50IHRvIGEgYnVmZmVyIGF0IGxlYXN0IE1BWFBHUEFUSCBjaGFyYWN0ZXJzIGxv bmcuCiAgKgotICogSWYgY3RsLT5sb25nX3NlZ21lbnRfbmFtZXMgaXMgdHJ1ZSwgc2Vnbm8gY2Fu IGJlIGluIHRoZSByYW5nZSBbMCwgMl42MC0xXS4KLSAqIFRoZSByZXN1bHRpbmcgZmlsZSBuYW1l IGlzIG1hZGUgb2YgMTUgY2hhcmFjdGVycywgZS5nLiBkaXIvMTIzNDU2Nzg5QUJDREVGLgotICoK LSAqIElmIGN0bC0+bG9uZ19zZWdtZW50X25hbWVzIGlzIGZhbHNlLCBzZWdubyBjYW4gYmUgaW4g dGhlIHJhbmdlIFswLCAyXjI0LTFdLgotICogVGhlIHJlc3VsdGluZyBmaWxlIG5hbWUgaXMgbWFk ZSBvZiA0IHRvIDYgY2hhcmFjdGVycywgYXMgb2Y6Ci0gKgotICogIGRpci8xMjM0ICAgZm9yIFsw LCAyXjE2LTFdCi0gKiAgZGlyLzEyMzQ1ICBmb3IgWzJeMTYsIDJeMjAtMV0KLSAqICBkaXIvMTIz NDU2IGZvciBbMl4yMCwgMl4yNC0xXQorICogc2Vnbm8gY2FuIGJlIGluIHRoZSByYW5nZSBbMCwg Ml42MC0xXS4gVGhlIHJlc3VsdGluZyBmaWxlIG5hbWUgaXMgbWFkZQorICogb2YgMTUgY2hhcmFj dGVycywgZS5nLiBkaXIvMTIzNDU2Nzg5QUJDREVGLgogICovCiBzdGF0aWMgaW5saW5lIGludAog U2xydUZpbGVOYW1lKFNscnVDdGwgY3RsLCBjaGFyICpwYXRoLCBpbnQ2NCBzZWdubykKIHsKLQlp ZiAoY3RsLT5sb25nX3NlZ21lbnRfbmFtZXMpCi0JewotCQkvKgotCQkgKiBXZSBjb3VsZCB1c2Ug MTYgY2hhcmFjdGVycyBoZXJlIGJ1dCB0aGUgZGlzYWR2YW50YWdlIHdvdWxkIGJlIHRoYXQKLQkJ ICogdGhlIFNMUlUgc2VnbWVudHMgd2lsbCBiZSBoYXJkIHRvIGRpc3Rpbmd1aXNoIGZyb20gV0FM IHNlZ21lbnRzLgotCQkgKgotCQkgKiBGb3IgdGhpcyByZWFzb24gd2UgdXNlIDE1IGNoYXJhY3Rl cnMuIEl0IGlzIGVub3VnaCBidXQgYWxzbyBtZWFucwotCQkgKiB0aGF0IGluIHRoZSBmdXR1cmUg d2UgY2FuJ3QgZGVjcmVhc2UgU0xSVV9QQUdFU19QRVJfU0VHTUVOVCBlYXNpbHkuCi0JCSAqLwot CQlBc3NlcnQoc2Vnbm8gPj0gMCAmJiBzZWdubyA8PSBJTlQ2NENPTlNUKDB4RkZGRkZGRkZGRkZG RkZGKSk7Ci0JCXJldHVybiBzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsICIlcy8lMDE1IiBQUklY NjQsIGN0bC0+RGlyLCBzZWdubyk7Ci0JfQotCWVsc2UKLQl7Ci0JCS8qCi0JCSAqIERlc3BpdGUg dGhlIGZhY3QgdGhhdCAlMDRYIGZvcm1hdCBzdHJpbmcgaXMgdXNlZCB1cCB0byAyNCBiaXQKLQkJ ICogaW50ZWdlcnMgYXJlIGFsbG93ZWQuIFNlZSBTbHJ1Q29ycmVjdFNlZ21lbnRGaWxlbmFtZUxl bmd0aCgpCi0JCSAqLwotCQlBc3NlcnQoc2Vnbm8gPj0gMCAmJiBzZWdubyA8PSBJTlQ2NENPTlNU KDB4RkZGRkZGKSk7Ci0JCXJldHVybiBzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsICIlcy8lMDRY IiwgKGN0bCktPkRpciwKLQkJCQkJCSh1bnNpZ25lZCBpbnQpIHNlZ25vKTsKLQl9CisJLyoKKwkg KiBXZSBjb3VsZCB1c2UgMTYgY2hhcmFjdGVycyBoZXJlIGJ1dCB0aGUgZGlzYWR2YW50YWdlIHdv dWxkIGJlIHRoYXQKKwkgKiB0aGUgU0xSVSBzZWdtZW50cyB3aWxsIGJlIGhhcmQgdG8gZGlzdGlu Z3Vpc2ggZnJvbSBXQUwgc2VnbWVudHMuCisJICoKKwkgKiBGb3IgdGhpcyByZWFzb24gd2UgdXNl IDE1IGNoYXJhY3RlcnMuIEl0IGlzIGVub3VnaCBidXQgYWxzbyBtZWFucworCSAqIHRoYXQgaW4g dGhlIGZ1dHVyZSB3ZSBjYW4ndCBkZWNyZWFzZSBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UIGVhc2ls eS4KKwkgKi8KKwlBc3NlcnQoc2Vnbm8gPj0gMCAmJiBzZWdubyA8PSBJTlQ2NENPTlNUKDB4RkZG RkZGRkZGRkZGRkZGKSk7CisJcmV0dXJuIHNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgIiVzLyUw MTUiIFBSSVg2NCwgY3RsLT5EaXIsIHNlZ25vKTsKIH0KIAogLyoKQEAgLTI1MCw3ICsyMzAsNyBA QCBTaW1wbGVMcnVBdXRvdHVuZUJ1ZmZlcnMoaW50IGRpdmlzb3IsIGludCBtYXgpCiB2b2lkCiBT aW1wbGVMcnVJbml0KFNscnVDdGwgY3RsLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbnNsb3RzLCBp bnQgbmxzbnMsCiAJCQkgIGNvbnN0IGNoYXIgKnN1YmRpciwgaW50IGJ1ZmZlcl90cmFuY2hlX2lk LCBpbnQgYmFua190cmFuY2hlX2lkLAotCQkJICBTeW5jUmVxdWVzdEhhbmRsZXIgc3luY19oYW5k bGVyLCBib29sIGxvbmdfc2VnbWVudF9uYW1lcykKKwkJCSAgU3luY1JlcXVlc3RIYW5kbGVyIHN5 bmNfaGFuZGxlcikKIHsKIAlTbHJ1U2hhcmVkCXNoYXJlZDsKIAlib29sCQlmb3VuZDsKQEAgLTM0 MSw3ICszMjEsNiBAQCBTaW1wbGVMcnVJbml0KFNscnVDdGwgY3RsLCBjb25zdCBjaGFyICpuYW1l LCBpbnQgbnNsb3RzLCBpbnQgbmxzbnMsCiAJICovCiAJY3RsLT5zaGFyZWQgPSBzaGFyZWQ7CiAJ Y3RsLT5zeW5jX2hhbmRsZXIgPSBzeW5jX2hhbmRsZXI7Ci0JY3RsLT5sb25nX3NlZ21lbnRfbmFt ZXMgPSBsb25nX3NlZ21lbnRfbmFtZXM7CiAJY3RsLT5uYmFua3MgPSBuYmFua3M7CiAJc3RybGNw eShjdGwtPkRpciwgc3ViZGlyLCBzaXplb2YoY3RsLT5EaXIpKTsKIH0KQEAgLTE3NDcsMzAgKzE3 MjYsNiBAQCBTbHJ1U2NhbkRpckNiRGVsZXRlQWxsKFNscnVDdGwgY3RsLCBjaGFyICpmaWxlbmFt ZSwgaW50NjQgc2VncGFnZSwgdm9pZCAqZGF0YSkKIAlyZXR1cm4gZmFsc2U7CQkJCS8qIGtlZXAg Z29pbmcgKi8KIH0KIAotLyoKLSAqIEFuIGludGVybmFsIGZ1bmN0aW9uIHVzZWQgYnkgU2xydVNj YW5EaXJlY3RvcnkoKS4KLSAqCi0gKiBSZXR1cm5zIHRydWUgaWYgYSBmaWxlIHdpdGggYSBuYW1l IG9mIGEgZ2l2ZW4gbGVuZ3RoIG1heSBiZSBhIGNvcnJlY3QKLSAqIFNMUlUgc2VnbWVudC4KLSAq Lwotc3RhdGljIGlubGluZSBib29sCi1TbHJ1Q29ycmVjdFNlZ21lbnRGaWxlbmFtZUxlbmd0aChT bHJ1Q3RsIGN0bCwgc2l6ZV90IGxlbikKLXsKLQlpZiAoY3RsLT5sb25nX3NlZ21lbnRfbmFtZXMp Ci0JCXJldHVybiAobGVuID09IDE1KTsJCS8qIHNlZSBTbHJ1RmlsZU5hbWUoKSAqLwotCWVsc2UK LQotCQkvKgotCQkgKiBDb21taXQgNjM4Y2YwOWU3NmQgYWxsb3dlZCA1LWNoYXJhY3RlciBsZW5n dGhzLiBMYXRlciBjb21taXQKLQkJICogNzNjOTg2YWRkZTUgYWxsb3dlZCA2LWNoYXJhY3RlciBs ZW5ndGguCi0JCSAqCi0JCSAqIE5vdGU6IFRoZXJlIGlzIGFuIG9uZ29pbmcgcGxhbiB0byBtaWdy YXRlIGFsbCBTTFJVcyB0byA2NC1iaXQgcGFnZQotCQkgKiBudW1iZXJzLCBhbmQgdGhlIGNvcnJl c3BvbmRpbmcgMTUtY2hhcmFjdGVyIGZpbGUgbmFtZXMsIHdoaWNoIG1heQotCQkgKiBldmVudHVh bGx5IGRlcHJlY2F0ZSB0aGUgc3VwcG9ydCBmb3IgNCwgNSwgYW5kIDYtY2hhcmFjdGVyIG5hbWVz LgotCQkgKi8KLQkJcmV0dXJuIChsZW4gPT0gNCB8fCBsZW4gPT0gNSB8fCBsZW4gPT0gNik7Ci19 Ci0KIC8qCiAgKiBTY2FuIHRoZSBTaW1wbGVMcnUgZGlyZWN0b3J5IGFuZCBhcHBseSBhIGNhbGxi YWNrIHRvIGVhY2ggZmlsZSBmb3VuZCBpbiBpdC4KICAqCkBAIC0xODAyLDcgKzE3NTcsNyBAQCBT bHJ1U2NhbkRpcmVjdG9yeShTbHJ1Q3RsIGN0bCwgU2xydVNjYW5DYWxsYmFjayBjYWxsYmFjaywg dm9pZCAqZGF0YSkKIAogCQlsZW4gPSBzdHJsZW4oY2xkZS0+ZF9uYW1lKTsKIAotCQlpZiAoU2xy dUNvcnJlY3RTZWdtZW50RmlsZW5hbWVMZW5ndGgoY3RsLCBsZW4pICYmCisJCWlmICgobGVuID09 IDE1KSAmJgogCQkJc3Ryc3BuKGNsZGUtPmRfbmFtZSwgIjAxMjM0NTY3ODlBQkNERUYiKSA9PSBs ZW4pCiAJCXsKIAkJCXNlZ25vID0gc3RydG9pNjQoY2xkZS0+ZF9uYW1lLCBOVUxMLCAxNik7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9zdWJ0cmFucy5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL3RyYW5zYW0vc3VidHJhbnMuYwppbmRleCAxNTE1MzYxOGZhZC4uNThhNWVm NjU3ZWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3N1YnRyYW5zLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vc3VidHJhbnMuYwpAQCAtMjQzLDcgKzI0 Myw3IEBAIFNVQlRSQU5TU2htZW1Jbml0KHZvaWQpCiAJU3ViVHJhbnNDdGwtPlBhZ2VQcmVjZWRl cyA9IFN1YlRyYW5zUGFnZVByZWNlZGVzOwogCVNpbXBsZUxydUluaXQoU3ViVHJhbnNDdGwsICJz dWJ0cmFuc2FjdGlvbiIsIFNVQlRSQU5TU2htZW1CdWZmZXJzKCksIDAsCiAJCQkJICAicGdfc3Vi dHJhbnMiLCBMV1RSQU5DSEVfU1VCVFJBTlNfQlVGRkVSLAotCQkJCSAgTFdUUkFOQ0hFX1NVQlRS QU5TX1NMUlUsIFNZTkNfSEFORExFUl9OT05FLCBmYWxzZSk7CisJCQkJICBMV1RSQU5DSEVfU1VC VFJBTlNfU0xSVSwgU1lOQ19IQU5ETEVSX05PTkUpOwogCVNscnVQYWdlUHJlY2VkZXNVbml0VGVz dHMoU3ViVHJhbnNDdGwsIFNVQlRSQU5TX1hBQ1RTX1BFUl9QQUdFKTsKIH0KIApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvYXN5bmMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Fz eW5jLmMKaW5kZXggNGJkMzdkNWJlYjUuLjM3M2IwMzU3ZmFkIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jb21tYW5kcy9hc3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FzeW5jLmMK QEAgLTUzNyw3ICs1MzcsNyBAQCBBc3luY1NobWVtSW5pdCh2b2lkKQogCU5vdGlmeUN0bC0+UGFn ZVByZWNlZGVzID0gYXN5bmNRdWV1ZVBhZ2VQcmVjZWRlczsKIAlTaW1wbGVMcnVJbml0KE5vdGlm eUN0bCwgIm5vdGlmeSIsIG5vdGlmeV9idWZmZXJzLCAwLAogCQkJCSAgInBnX25vdGlmeSIsIExX VFJBTkNIRV9OT1RJRllfQlVGRkVSLCBMV1RSQU5DSEVfTk9USUZZX1NMUlUsCi0JCQkJICBTWU5D X0hBTkRMRVJfTk9ORSwgdHJ1ZSk7CisJCQkJICBTWU5DX0hBTkRMRVJfTk9ORSk7CiAKIAlpZiAo IWZvdW5kKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcmVkaWNh dGUuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcmVkaWNhdGUuYwppbmRleCBkODIxMTRm ZmNhMS4uYjAyOWIxMjYwMWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9w cmVkaWNhdGUuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJlZGljYXRlLmMKQEAg LTgxNCw3ICs4MTQsNyBAQCBTZXJpYWxJbml0KHZvaWQpCiAJU2ltcGxlTHJ1SW5pdChTZXJpYWxT bHJ1Q3RsLCAic2VyaWFsaXphYmxlIiwKIAkJCQkgIHNlcmlhbGl6YWJsZV9idWZmZXJzLCAwLCAi cGdfc2VyaWFsIiwKIAkJCQkgIExXVFJBTkNIRV9TRVJJQUxfQlVGRkVSLCBMV1RSQU5DSEVfU0VS SUFMX1NMUlUsCi0JCQkJICBTWU5DX0hBTkRMRVJfTk9ORSwgZmFsc2UpOworCQkJCSAgU1lOQ19I QU5ETEVSX05PTkUpOwogI2lmZGVmIFVTRV9BU1NFUlRfQ0hFQ0tJTkcKIAlTZXJpYWxQYWdlUHJl Y2VkZXNMb2dpY2FsbHlVbml0VGVzdHMoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z191cGdyYWRlL3BnX3VwZ3JhZGUuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmMK aW5kZXggOTI5NWU0NmFlZDMuLmRmMGJiN2RmMWFhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3Vw Z3JhZGUvcGdfdXBncmFkZS5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmMK QEAgLTM4LDYgKzM4LDcgQEAKIAogI2luY2x1ZGUgInBvc3RncmVzX2ZlLmgiCiAKKyNpbmNsdWRl IDxkaXJlbnQuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2Ns YXNzX2QuaCIKQEAgLTYwLDYgKzYxLDggQEAgc3RhdGljIHZvaWQgcHJlcGFyZV9uZXdfY2x1c3Rl cih2b2lkKTsKIHN0YXRpYyB2b2lkIHByZXBhcmVfbmV3X2dsb2JhbHModm9pZCk7CiBzdGF0aWMg dm9pZCBjcmVhdGVfbmV3X29iamVjdHModm9pZCk7CiBzdGF0aWMgdm9pZCBjb3B5X3hhY3RfeGxv Z194aWQodm9pZCk7CitzdGF0aWMgdm9pZCBjaGVja19zbHJ1X3NlZ21lbnRfZmlsZW5hbWVzKHZv aWQpOworc3RhdGljIHZvaWQgcmVuYW1lX3NscnVfc2VnbWVudHMoY29uc3QgY2hhciAqZGlybmFt ZSk7CiBzdGF0aWMgdm9pZCBzZXRfZnJvemVueGlkcyhib29sIG1pbm14aWRfb25seSk7CiBzdGF0 aWMgdm9pZCBtYWtlX291dHB1dGRpcnMoY2hhciAqcGdkYXRhKTsKIHN0YXRpYyB2b2lkIHNldHVw KGNoYXIgKmFyZ3YwKTsKQEAgLTE1Niw2ICsxNTksNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKIAogCWNvcHlfeGFjdF94bG9nX3hpZCgpOwogCXNldF9uZXdfY2x1c3Rlcl9jaGFyX3Np Z25lZG5lc3MoKTsKKwljaGVja19zbHJ1X3NlZ21lbnRfZmlsZW5hbWVzKCk7CiAKIAkvKiBOZXcg bm93IHVzaW5nIHhpZHMgb2YgdGhlIG9sZCBzeXN0ZW0gKi8KIApAQCAtODQzLDYgKzg0Nyw3NiBA QCBjb3B5X3hhY3RfeGxvZ194aWQodm9pZCkKIAljaGVja19vaygpOwogfQogCitzdGF0aWMgdm9p ZAorcmVuYW1lX3NscnVfc2VnbWVudHMoY29uc3QgY2hhciogZGlybmFtZSkKK3sKKwlESVIJCSAg ICpkaXI7CisJc3RydWN0IGRpcmVudCAqZGU7CisJaW50IAkJbGVuOworCWludDY0IAkJc2Vnbm87 CisJY2hhcgkJZGlyX3BhdGhbTUFYUEdQQVRIXTsKKwljaGFyCQlvbGRfcGF0aFtNQVhQR1BBVEhd OworCWNoYXIJCW5ld19wYXRoW01BWFBHUEFUSF07CisKKwlwcmVwX3N0YXR1cygiUmVuYW1pbmcg U0xSVSBzZWdtZW50cyBpbiAlcyIsIGRpcm5hbWUpOworCXNucHJpbnRmKGRpcl9wYXRoLCBzaXpl b2YoZGlyX3BhdGgpLCAiJXMvJXMiLCBuZXdfY2x1c3Rlci5wZ2RhdGEsIGRpcm5hbWUpOworCisJ ZGlyID0gb3BlbmRpcihkaXJfcGF0aCk7CisJaWYgKGRpciA9PSBOVUxMKQorCQlwZ19mYXRhbCgi Y291bGQgbm90IG9wZW4gZGlyZWN0b3J5IFwiJXNcIjogJW0iLCBkaXJfcGF0aCk7CisKKwl3aGls ZSAoZXJybm8gPSAwLCAoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpCisJeworCQkvKgorCQkg KiBpZ25vcmUgJy4nLCAnLi4nIGFuZCBldmVyeXRoaW5nIGVsc2UgdGhhdCBkb2Vzbid0IGxvb2sK KwkJICogbGlrZSBhbiBTTFJVIHNlZ21lbnQgd2l0aCBhIHNob3J0IGZpbGUgbmFtZQorCQkgKi8K KworCQlsZW4gPSBzdHJsZW4oZGUtPmRfbmFtZSk7CisJCWlmKGxlbiAhPSA0ICYmIGxlbiAhPSA1 ICYmIGxlbiAhPSA2KQorCQkJY29udGludWU7CisKKwkJaWYoc3Ryc3BuKGRlLT5kX25hbWUsICIw MTIzNDU2Nzg5QUJDREVGIikgIT0gbGVuKQorCQkJY29udGludWU7CisKKwkJc2Vnbm8gPSBzdHJ0 b2k2NChkZS0+ZF9uYW1lLCBOVUxMLCAxNik7CisJCXNucHJpbnRmKG5ld19wYXRoLCBNQVhQR1BB VEgsICIlcy8lMDE1bGxYIiwgZGlyX3BhdGgsCisJCQkJCShsb25nIGxvbmcpIHNlZ25vKTsKKwkJ c25wcmludGYob2xkX3BhdGgsIE1BWFBHUEFUSCwgIiVzLyVzIiwgZGlyX3BhdGgsIGRlLT5kX25h bWUpOworCisJCWlmIChwZ19tdl9maWxlKG9sZF9wYXRoLCBuZXdfcGF0aCkgIT0gMCkKKwkJCXBn X2ZhdGFsKCJjb3VsZCBub3QgcmVuYW1lIGZpbGUgXCIlc1wiIHRvIFwiJXNcIjogJW0iLAorCQkJ CQkgb2xkX3BhdGgsIG5ld19wYXRoKTsKKwl9CisKKwlpZiAoZXJybm8pCisJCXBnX2ZhdGFsKCJj b3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgXCIlc1wiOiAlbSIsIGRpcl9wYXRoKTsKKworCWlmIChj bG9zZWRpcihkaXIpKQorCQlwZ19mYXRhbCgiY291bGQgbm90IGNsb3NlIGRpcmVjdG9yeSBcIiVz XCI6ICVtIiwgZGlyX3BhdGgpOworCisJY2hlY2tfb2soKTsKK30KKworc3RhdGljIHZvaWQKK2No ZWNrX3NscnVfc2VnbWVudF9maWxlbmFtZXModm9pZCkKK3sKKwlpbnQgaTsKKwlzdGF0aWMgY29u c3QgY2hhciogZGlyc1tdID0geworCQkicGdfeGFjdCIsCisJCSJwZ19jb21taXRfdHMiLAorCQki cGdfbXVsdGl4YWN0L29mZnNldHMiLAorCQkicGdfbXVsdGl4YWN0L21lbWJlcnMiLAorCQkicGdf c3VidHJhbnMiLAorCQkicGdfc2VyaWFsIiwKKwl9OworCisJaWYob2xkX2NsdXN0ZXIuY29udHJv bGRhdGEuY2F0X3ZlciA+PSBTTFJVX1NFR19GSUxFTkFNRVNfQ0hBTkdFX0NBVF9WRVIpCisJCXJl dHVybjsKKworCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoZGlycykvc2l6ZW9mKGRpcnNbMF0pOyBp KyspCisJCXJlbmFtZV9zbHJ1X3NlZ21lbnRzKGRpcnNbaV0pOworfQogCiAvKgogICoJc2V0X2Zy b3plbnhpZHMoKQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuaCBi L3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmgKaW5kZXggNjljOTY1YmI3ZDAuLjMyYzZh YzQ5MTM4IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oCisrKyBi L3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmgKQEAgLTEzMSw2ICsxMzEsMTIgQEAgZXh0 ZXJuIGNoYXIgKm91dHB1dF9maWxlc1tdOwogICovCiAjZGVmaW5lIERFRkFVTFRfQ0hBUl9TSUdO RURORVNTX0NBVF9WRVIgMjAyNTAyMjEyCiAKKy8qCisgKiBjaGFuZ2Ugb2YgU0xSVSBzZWdtZW50 IGZpbGVuYW1lcyBsZW5ndGggaW4gMTguMAorICogVE9ETyBGSVhNRSBDSEFOR0UgVE8gVEhFIEFD VFVBTCBWQUxVRSBCRUZPUkUgQ09NTUlUVElORworICovCisjZGVmaW5lIFNMUlVfU0VHX0ZJTEVO QU1FU19DSEFOR0VfQ0FUX1ZFUiAyMDI0MTIyMDEKKwogLyoKICAqIEVhY2ggcmVsYXRpb24gaXMg cmVwcmVzZW50ZWQgYnkgYSByZWxpbmZvIHN0cnVjdHVyZS4KICAqLwpkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDNfY29ycnVwdGlvbi5wbCBiL3NyYy9iaW4vcGdfdmVy aWZ5YmFja3VwL3QvMDAzX2NvcnJ1cHRpb24ucGwKaW5kZXggODRmMjNiOGJjM2QuLmRmMjE1Mzc4 ZTc0IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAwM19jb3JydXB0aW9u LnBsCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDAzX2NvcnJ1cHRpb24ucGwKQEAg LTI0Niw3ICsyNDYsNyBAQCBzdWIgbXV0aWxhdGVfZXh0cmFfdGFibGVzcGFjZV9maWxlCiBzdWIg bXV0aWxhdGVfbWlzc2luZ19maWxlCiB7CiAJbXkgKCRiYWNrdXBfcGF0aCkgPSBAXzsKLQlteSAk cGF0aG5hbWUgPSAiJGJhY2t1cF9wYXRoL3BnX3hhY3QvMDAwMCI7CisJbXkgJHBhdGhuYW1lID0g IiRiYWNrdXBfcGF0aC9wZ194YWN0LzAwMDAwMDAwMDAwMDAwMCI7CiAJdW5saW5rKCRwYXRobmFt ZSkgfHwgZGllICIkcGF0aG5hbWU6ICQhIjsKIAlyZXR1cm47CiB9CmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9hY2Nlc3Mvc2xydS5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3NscnUuaAppbmRleCBl MTQyODAwYWFiMi4uZWNmMmNhNzk2OTIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9z bHJ1LmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3NscnUuaApAQCAtMTMxLDEzICsxMzEsNiBA QCB0eXBlZGVmIHN0cnVjdCBTbHJ1Q3RsRGF0YQogCS8qIE51bWJlciBvZiBiYW5rcyBpbiB0aGlz IFNMUlUuICovCiAJdWludDE2CQluYmFua3M7CiAKLQkvKgotCSAqIElmIHRydWUsIHVzZSBsb25n IHNlZ21lbnQgZmlsZSBuYW1lcy4gIE90aGVyd2lzZSwgdXNlIHNob3J0IGZpbGUgbmFtZXMuCi0J ICoKLQkgKiBGb3IgZGV0YWlscyBhYm91dCB0aGUgZmlsZSBuYW1lIGZvcm1hdCwgc2VlIFNscnVG aWxlTmFtZSgpLgotCSAqLwotCWJvb2wJCWxvbmdfc2VnbWVudF9uYW1lczsKLQogCS8qCiAJICog V2hpY2ggc3luYyBoYW5kbGVyIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIGhhbmRpbmcgc3luYyByZXF1 ZXN0cyBvdmVyIHRvCiAJICogdGhlIGNoZWNrcG9pbnRlci4gIFNZTkNfSEFORExFUl9OT05FIHRv IGRpc2FibGUgZnN5bmMgKGVnIHBnX25vdGlmeSkuCkBAIC0xODQsOCArMTc3LDcgQEAgZXh0ZXJu IFNpemUgU2ltcGxlTHJ1U2htZW1TaXplKGludCBuc2xvdHMsIGludCBubHNucyk7CiBleHRlcm4g aW50CVNpbXBsZUxydUF1dG90dW5lQnVmZmVycyhpbnQgZGl2aXNvciwgaW50IG1heCk7CiBleHRl cm4gdm9pZCBTaW1wbGVMcnVJbml0KFNscnVDdGwgY3RsLCBjb25zdCBjaGFyICpuYW1lLCBpbnQg bnNsb3RzLCBpbnQgbmxzbnMsCiAJCQkJCQkgIGNvbnN0IGNoYXIgKnN1YmRpciwgaW50IGJ1ZmZl cl90cmFuY2hlX2lkLAotCQkJCQkJICBpbnQgYmFua190cmFuY2hlX2lkLCBTeW5jUmVxdWVzdEhh bmRsZXIgc3luY19oYW5kbGVyLAotCQkJCQkJICBib29sIGxvbmdfc2VnbWVudF9uYW1lcyk7CisJ CQkJCQkgIGludCBiYW5rX3RyYW5jaGVfaWQsIFN5bmNSZXF1ZXN0SGFuZGxlciBzeW5jX2hhbmRs ZXIpOwogZXh0ZXJuIGludAlTaW1wbGVMcnVaZXJvUGFnZShTbHJ1Q3RsIGN0bCwgaW50NjQgcGFn ZW5vKTsKIGV4dGVybiBpbnQJU2ltcGxlTHJ1UmVhZFBhZ2UoU2xydUN0bCBjdGwsIGludDY0IHBh Z2VubywgYm9vbCB3cml0ZV9vaywKIAkJCQkJCQkgIFRyYW5zYWN0aW9uSWQgeGlkKTsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9zbHJ1L3Rlc3Rfc2xydS5jIGIvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X3NscnUvdGVzdF9zbHJ1LmMKaW5kZXggMmU0NDkyOTAwYWYuLjE3MTA3NmQ5 MjA5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rfc2xydS90ZXN0X3NscnUuYwor KysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rfc2xydS90ZXN0X3NscnUuYwpAQCAtMjEzLDExICsy MTMsNiBAQCB0ZXN0X3NscnVfcGFnZV9wcmVjZWRlc19sb2dpY2FsbHkoaW50NjQgcGFnZTEsIGlu dDY0IHBhZ2UyKQogc3RhdGljIHZvaWQKIHRlc3Rfc2xydV9zaG1lbV9zdGFydHVwKHZvaWQpCiB7 Ci0JLyoKLQkgKiBTaG9ydCBzZWdtZW50cyBuYW1lcyBhcmUgd2VsbCB0ZXN0ZWQgZWxzZXdoZXJl IHNvIGluIHRoaXMgdGVzdCB3ZSBhcmUKLQkgKiBmb2N1c2luZyBvbiBsb25nIG5hbWVzLgotCSAq LwotCWNvbnN0IGJvb2wJbG9uZ19zZWdtZW50X25hbWVzID0gdHJ1ZTsKIAljb25zdCBjaGFyCXNs cnVfZGlyX25hbWVbXSA9ICJwZ190ZXN0X3NscnUiOwogCWludAkJCXRlc3RfdHJhbmNoZV9pZDsK IAlpbnQJCQl0ZXN0X2J1ZmZlcl90cmFuY2hlX2lkOwpAQCAtMjQxLDggKzIzNiw3IEBAIHRlc3Rf c2xydV9zaG1lbV9zdGFydHVwKHZvaWQpCiAJVGVzdFNscnVDdGwtPlBhZ2VQcmVjZWRlcyA9IHRl c3Rfc2xydV9wYWdlX3ByZWNlZGVzX2xvZ2ljYWxseTsKIAlTaW1wbGVMcnVJbml0KFRlc3RTbHJ1 Q3RsLCAiVGVzdFNMUlUiLAogCQkJCSAgTlVNX1RFU1RfQlVGRkVSUywgMCwgc2xydV9kaXJfbmFt ZSwKLQkJCQkgIHRlc3RfYnVmZmVyX3RyYW5jaGVfaWQsIHRlc3RfdHJhbmNoZV9pZCwgU1lOQ19I QU5ETEVSX05PTkUsCi0JCQkJICBsb25nX3NlZ21lbnRfbmFtZXMpOworCQkJCSAgdGVzdF9idWZm ZXJfdHJhbmNoZV9pZCwgdGVzdF90cmFuY2hlX2lkLCBTWU5DX0hBTkRMRVJfTk9ORSk7CiB9CiAK IHZvaWQKLS0gCjIuNDkuMAoK --00000000000022c70f0631e08d6a--