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 1wJpeK-000LB1-1C for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 09:31:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJpeJ-006Wo0-1D for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 09:31:35 +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 <3danissimo@gmail.com>) id 1wJpeJ-006Wns-04 for pgsql-hackers@lists.postgresql.org; Mon, 04 May 2026 09:31:35 +0000 Received: from mail-yx1-xb12b.google.com ([2607:f8b0:4864:20::b12b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from <3danissimo@gmail.com>) id 1wJpeG-00000000QWi-1fQL for pgsql-hackers@postgresql.org; Mon, 04 May 2026 09:31:34 +0000 Received: by mail-yx1-xb12b.google.com with SMTP id 956f58d0204a3-651bf695701so3647737d50.2 for ; Mon, 04 May 2026 02:31:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777887090; cv=none; d=google.com; s=arc-20240605; b=JM23KiOOYxxtnuemwQnRht50ObvysRbWHGsFHJdqlgeMtA8ilz+TjrpSc/x7aPyX5l rPsB0ydCFYLqgXHlPC+xERP7XnIrZ7HqiweOD/Avgy0latlfp+YlJ9HAJm+9soJ/sd4d bS3+i+HAzCRw/HwEPakHFBWMpQHhSX44FUBPuKE+aBqC35VPPQPeK1RQ9pCr5hNf98Nr GmOsQZJBtuJu45C/HJ0MkmEPHHzkTUqc6TMnKhKpMEPJwKEaNbylVBIfpN3XDHyzQQ2V fVKiDGKT5vKK4IeIZgLz9vJ/rtisobuUu9TWJmxo3gukhmOjBuTz3PzjL0MS/0QmoAaP L7Tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=VZQEcLX+G4mdSV7015oWaCih3jWsoh0ZH/ik6i4vX9k=; fh=2YT8kPtE9WIdq6MmCjNg20yc4JTG5/ee1ljHgfbhc4c=; b=jGGIeZKvAXeYXH9xeXora+EpI4k7p+Nui0Iuf5yDa8/McArRcWBBdZ/MbNzCdel9Z5 OaGxEny3yVMkKQI93n4aeWCZcyqRJQTBfZLTpMZI8lqsFigfraNd9bFDcRB15S+cXG/5 Z0f/rWWuFNAMYDmPWr1ssOH+bIo1iQM2dSM3wC1th2DW/CSR8EPvkxtK4JCTUuX6/6B9 kXiVm2Nnc9AzyveGSQUqhNZSejmjYPGLL/oLKbfmHU47WxM1/nsToeIPhTgjLiK8Vs0m rJSQUweH3xK+ABmGJMwlpDrg/D1fs97Rr+OIFxk5Vaw4TCnhXhJ6s1iBMvcB9vw9OuRE 74pw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777887090; x=1778491890; darn=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=VZQEcLX+G4mdSV7015oWaCih3jWsoh0ZH/ik6i4vX9k=; b=BwBRB8YpXefrUVpzfoRcGAKnYSAUzLrYq9nDzQyxW3LSPqh8/GJuFJkQy6ZxR7yYgC 2Cqe77b/rFOnEJSw2kf2vf/e9iwDCi14eAz3Ca+82AfO/8LgM90K8FpeBJ1Jk6Y60Kap UaSTRHT34/W4YLlEfYCDpO+kzvn1G3UKheqa8ecp6brj2F3Qs/mRwuQ0kU2alwP3SOMZ MqCTlV7rHKo2p5voYsx/ZDBlum4Ybi7P39CNGsp5JfH8D24g+mqUK46P7Q1/mPSRoPdQ xASnkqA6XsR7xvM4jtPf/SpdY4GWhZVhMPVGUemadastCPRDM7I8TDGLCxXDortRYKZ0 /qiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777887090; x=1778491890; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VZQEcLX+G4mdSV7015oWaCih3jWsoh0ZH/ik6i4vX9k=; b=jhOjySgYUv9wDGqbXnXAr3C8YPgl3iWys5IGhgPp2VFMzxUpX51Td1IE2KjuDBt4xa y9NMJMmxcwmyXMrPzcVpd4+FFjnEuBapinDm//fESSa0dKDBLZHCO4YsgdEDXxQYg2Th kpkHTgueGCHPWFQ3I084F+w2wKfNrxtYu9U7La4ZnufaVUnmfw9L65cMYI0EeCUTapc7 rU1JNpbDB1mvPE4JFrZnIqkt+geUD/jDrE55WyWJ8V841cclOzqfYJD0j4j4FIEnz1bx jtU1fjapuCj+5LMI0v9N2eUzb3gMZK55MvLAyw4JmBjbLxLS6OtCCYNsGsrGz866iXYk Bk0Q== X-Forwarded-Encrypted: i=1; AFNElJ96bHTf83V3QlGoWm2LNYl9RUSW5mJhyvHbUi4L+oP91DySSskQR+4LjqbCBWz/cRZh9Z1IxctOsRHlyG/W@postgresql.org X-Gm-Message-State: AOJu0YyBPHDfTpqTi4VNOaWWqUrWTSVCO1HbnorBSphNc7eF/Krc6tkj 8pHzhDpUtS3f4YEgLQyIq4v1pu80JDsFdltDek4ybI/ZFDpbN1a/SUl7kLz32R4DASTEEq6UjRc zJOUFuHhV96PvPDKRwscs9x9tDaBcJeYVnayE X-Gm-Gg: AeBDieuSG2ABvJ1J/WrZloDGGKpatfGkJJuLW3T8ata3dUfSDyGQEx/QIUjkejZeksn VDjLby7NRz6tuLKw/T18qi/pZtQNrnH5vuST27uxfLobL+GO8fMDS0OlH2enBNoxIWRcGVHAK79 CZ167IWx2iPDZp2AIuYsOoU/LB4TkcnvFCvDHIXdGvntGlfngD0LhcfFPNBZd5piqugf1ilDwfK qomr3m2C7wJMCfqtjRnsFqIf3/t88NR7XslVYfbyFX5doBp7ihX+Tba4ahqMgA/79z/Qftjrf+j BN+3DkK/ir6pY9lZvWY= X-Received: by 2002:a05:690e:1288:b0:65c:35e:465c with SMTP id 956f58d0204a3-65c3da96586mr8851444d50.27.1777887090429; Mon, 04 May 2026 02:31:30 -0700 (PDT) MIME-Version: 1.0 References: <402bbc8d-728b-4467-8024-31c2bc101ead@uni-muenster.de> <239d181d-1415-49ee-ad57-b307f1a7ba66@uni-muenster.de> <0e666e40-d003-4c92-95cf-1a33a647401f@uni-muenster.de> In-Reply-To: <0e666e40-d003-4c92-95cf-1a33a647401f@uni-muenster.de> From: Daniil Davydov <3danissimo@gmail.com> Date: Mon, 4 May 2026 16:31:18 +0700 X-Gm-Features: AVHnY4LG2_wrqhXPhvf7cBAzg6QUDb_3NT3IQ2YNzNXD2SDyz8bsW3QitNpgFVw Message-ID: Subject: Re: Fix bug with accessing to temporary tables of other sessions To: Jim Jones Cc: Alexander Korotkov , Michael Paquier , Soumya S Murali , Tom Lane , Stepan Neretin , PostgreSQL Hackers , Mohamed Ali , Nazneen Jafri , Shawn McCoy Content-Type: multipart/mixed; boundary="0000000000007a28840650fa9893" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000007a28840650fa9893 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Sun, May 3, 2026 at 7:49=E2=80=AFPM Jim Jones wrote: > > On 03/05/2026 10:53, Daniil Davydov wrote: > > Please, see the attached patch that ensures that cross-session LOCK TAB= LE works > > properly. > > I guess you should either add it to the 0001 sent by Alexander, or > create a 0003. Right now the cfbot is complaining, as > 013_temp_obj_multisession.pl still does not exist :) > OK, I'll attach this patch as a third one, just for review purposes. After agreement on its content, it should be included into the 0001 and 0002 patc= hes. -- Best regards, Daniil Davydov --0000000000007a28840650fa9893 Content-Type: text/x-patch; charset="US-ASCII"; name="v21-0002-Prevent-access-to-other-sessions-temp-tables.patch" Content-Disposition: attachment; filename="v21-0002-Prevent-access-to-other-sessions-temp-tables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mor01lf91 RnJvbSAyZWM0NWI4ZWMzYTBlYjU2ZWQxZjJkMTBhMGNiODllZjU3YThmNDAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogU2F0LCAyIE1heSAyMDI2IDE1OjIzOjQyICswMzAwClN1YmplY3Q6IFtQ QVRDSCB2MjEgMi8zXSBQcmV2ZW50IGFjY2VzcyB0byBvdGhlciBzZXNzaW9ucycgdGVtcCB0YWJs ZXMKCkNvbW1pdCBiN2IwZjNmMjcyNCAoIlVzZSBzdHJlYW1pbmcgSS9PIGluIHNlcXVlbnRpYWwg c2NhbnMiKSByb3V0ZWQKc2VxdWVudGlhbCBzY2FucyB0aHJvdWdoIHJlYWRfc3RyZWFtX25leHRf YnVmZmVyKCksIGJ5cGFzc2luZyB0aGUKUkVMQVRJT05fSVNfT1RIRVJfVEVNUCgpIGNoZWNrIGlu IFJlYWRCdWZmZXJFeHRlbmRlZCgpLiAgQXMgYSByZXN1bHQsCmEgc3VwZXJ1c2VyIGNhbiBhdHRl bXB0IHRvIHJlYWQgb3IgbW9kaWZ5IHRlbXAgdGFibGVzIG9mIG90aGVyCnNlc3Npb25zIHRocm91 Z2ggdGhlIHJlYWQtc3RyZWFtIHBhdGguICBXaGVuIG5vIGluZGV4IGlzIHByZXNlbnQgc28KdGhl IHBsYW5uZXIgY2Fubm90IHBpY2sgYW4gaW5kZXggc2NhbiwgU0VMRUNUL1VQREFURS9ERUxFVEUv TUVSR0UKc2lsZW50bHkgc2VlIG5vIHJvd3MgLyByZXBvcnQgemVybyBhZmZlY3RlZCByb3dzLCBh bmQgQ09QWSBwcm9kdWNlcwphbiBlbXB0eSBvdXRwdXQgLS0gYmVjYXVzZSB0aGUgYnVmZmVyIG1h bmFnZXIgaGFzIG5vIHZpc2liaWxpdHkgaW50bwp0aGUgb3duaW5nIHNlc3Npb24ncyBsb2NhbCBi dWZmZXJzIGFuZCBzaWxlbnRseSByZXR1cm5zIG5vdGhpbmcuCklOU0VSVCBhbmQgYW55IHBhdGgg dGhhdCBnb2VzIHRocm91Z2ggbmJ0cmVlIChpLmUuIGFuIGluZGV4IHNjYW4pCnN0aWxsIGVycm9y IG91dCB2aWEgdGhlIGV4aXN0aW5nIGNoZWNrIGluIFJlYWRCdWZmZXJFeHRlbmRlZCgpLCB3aGlj aAppcyByZWFjaGVkIGZyb20gaGlvLmMgYW5kIG5idHJlZSByZXNwZWN0aXZlbHksIGJ1dCB0aGlz IGlzIGluY2lkZW50YWwuCgpGaXggYnkgZW5mb3JjaW5nIFJFTEFUSU9OX0lTX09USEVSX1RFTVAo KSBhdCB0aHJlZSBhZGRpdGlvbmFsCmJ1ZmZlci1tYW5hZ2VyIGVudHJ5IHBvaW50czoKCi0gcmVh ZF9zdHJlYW1fYmVnaW5faW1wbCgpIHJlamVjdHMgdGhlIHJlYWQgYXQgc3RyZWFtIHNldHVwIHRp bWUsCiAgY292ZXJpbmcgc2VxdWVudGlhbCBhbmQgYml0bWFwIHNjYW5zIHRoYXQgZ28gdGhyb3Vn aCB0aGUKICByZWFkLXN0cmVhbSBwYXRoLgotIFJlYWRCdWZmZXJfY29tbW9uKCkgYmVjb21lcyB0 aGUgY2Fub25pY2FsIHBsYWNlIGZvciB0aGUgY2hlY2ssCiAgY29uc29saWRhdGluZyB0aGUgZXhp c3Rpbmcgb25lIHByZXZpb3VzbHkga2VwdCBpbgogIFJlYWRCdWZmZXJFeHRlbmRlZCgpLiAgQWxs IFJlYWRCdWZmZXJFeHRlbmRlZCgpIGNhbGxlcnMgZ28gdGhyb3VnaAogIFJlYWRCdWZmZXJfY29t bW9uKCksIHNvIHRoZSBjb25zb2xpZGF0aW9uIGlzIGJlaGF2aW91ci1wcmVzZXJ2aW5nLgotIFN0 YXJ0UmVhZEJ1ZmZlcnNJbXBsKCkgY2F0Y2hlcyBkaXJlY3QgY2FsbGVycyBvZiBTdGFydFJlYWRC dWZmZXJzKCkKICB0aGF0IGJ5cGFzcyBib3RoIG9mIHRoZSBhYm92ZS4gIFRoaXMgaXMgY3VycmVu dGx5IGRlZmVuc2UtaW4tZGVwdGgKICBidXQgZG9jdW1lbnRzIHRoZSBjb250cmFjdCBmb3IgZnV0 dXJlIGNvZGUuCgpUaGUgY29tcGFuaW9uIHRlc3QgaW4gc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21p c2Mgd2FzIGFkZGVkIGluIHRoZQpwcmVjZWRpbmcgY29tbWl0OyB0aGlzIGNvbW1pdCB1cGRhdGVz IHRoZSBhc3NlcnRpb25zIGZvciBTRUxFQ1QsClVQREFURSwgREVMRVRFLCBNRVJHRSBhbmQgQ09Q WSAod2hpY2ggcHJldmlvdXNseSBkb2N1bWVudGVkIHRoZQpidWcgYXMgc2lsZW50IHN1Y2Nlc3Mp IHRvIGV4cGVjdCB0aGUgbmV3IGVycm9yLgoKQXV0aG9yOiBKaW0gSm9uZXMgPGppbS5qb25lc0B1 bmktbXVlbnN0ZXIuZGU+CkF1dGhvcjogRGFuaWlsIERhdnlkb3YgPDNkYW5pc3NpbW9AZ21haWwu Y29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBQYXF1aWVyIDxtaWNoYWVsQHBhcXVpZXIueHl6PgpS ZXZpZXdlZC1ieTogU291bXlhIFMgTXVyYWxpIDxzb3VteWFtdXJhbGkud29ya0BnbWFpbC5jb20+ ClJldmlld2VkLWJ5OiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+ClJldmlld2VkLWJ5OiBB bGV4YW5kZXIgS29yb3Rrb3YgPGFla29yb3Rrb3ZAZ21haWwuY29tPgpEaXNjdXNzaW9uOiBodHRw czovL3Bvc3Rnci5lcy9tL0NBSkRpWGdoZEZjWjglM0RuaDRHNjl0ZTdpUnIzUTB1RnlYeGIzWmRH MDlfR1ROWlh3SDBnJTQwbWFpbC5nbWFpbC5jb20KQmFja3BhdGNoLXRocm91Z2g6IDE3Ci0tLQog c3JjL2JhY2tlbmQvc3RvcmFnZS9haW8vcmVhZF9zdHJlYW0uYyAgICAgICAgIHwgMTAgKysrKysr CiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyAgICAgICAgICAgfCAzMyArKysr KysrKysrLS0tLS0tLQogLi4uL3Rlc3RfbWlzYy90LzAxM190ZW1wX29ial9tdWx0aXNlc3Npb24u cGwgIHwgMzUgKysrKysrKysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRp b25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdl L2Fpby9yZWFkX3N0cmVhbS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9haW8vcmVhZF9zdHJlYW0u YwppbmRleCAyMzc0YjRjZDUwNy4uYTMxODUzOWU1NmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3N0b3JhZ2UvYWlvL3JlYWRfc3RyZWFtLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9haW8v cmVhZF9zdHJlYW0uYwpAQCAtNzc2LDYgKzc3NiwxNiBAQCByZWFkX3N0cmVhbV9iZWdpbl9pbXBs KGludCBmbGFncywKIAl1aW50MzIJCW1heF9wb3NzaWJsZV9idWZmZXJfbGltaXQ7CiAJT2lkCQkJ dGFibGVzcGFjZV9pZDsKIAorCS8qCisJICogUmVqZWN0IGF0dGVtcHRzIHRvIHJlYWQgbm9uLWxv Y2FsIHRlbXBvcmFyeSByZWxhdGlvbnM7IHdlIHdvdWxkIGJlCisJICogbGlrZWx5IHRvIGdldCB3 cm9uZyBkYXRhIHNpbmNlIHdlIGhhdmUgbm8gdmlzaWJpbGl0eSBpbnRvIHRoZSBvd25pbmcKKwkg KiBzZXNzaW9uJ3MgbG9jYWwgYnVmZmVycy4KKwkgKi8KKwlpZiAocmVsICYmIFJFTEFUSU9OX0lT X09USEVSX1RFTVAocmVsKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygiY2Fubm90IGFjY2VzcyB0ZW1w b3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zIikpKTsKKwogCS8qCiAJICogRGVjaWRlIGhv dyBtYW55IEkvT3Mgd2Ugd2lsbCBhbGxvdyB0byBydW4gYXQgdGhlIHNhbWUgdGltZS4gIFRoaXMK IAkgKiBudW1iZXIgYWxzbyBhZmZlY3RzIGhvdyBmYXIgd2UgbG9vayBhaGVhZCBmb3Igb3Bwb3J0 dW5pdGllcyB0byBzdGFydApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIv YnVmbWdyLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwppbmRleCAxODc4 ZWZiNGFhOS4uNzcwMjA5ZDYwNmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVm ZmVyL2J1Zm1nci5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCkBA IC03OTEsNyArNzkxLDcgQEAgUHJlZmV0Y2hCdWZmZXIoUmVsYXRpb24gcmVsbiwgRm9ya051bWJl ciBmb3JrTnVtLCBCbG9ja051bWJlciBibG9ja051bSkKIAogCWlmIChSZWxhdGlvblVzZXNMb2Nh bEJ1ZmZlcnMocmVsbikpCiAJewotCQkvKiBzZWUgY29tbWVudHMgaW4gUmVhZEJ1ZmZlckV4dGVu ZGVkICovCisJCS8qIHNlZSBjb21tZW50cyBpbiBSZWFkQnVmZmVyX2NvbW1vbiAqLwogCQlpZiAo UkVMQVRJT05fSVNfT1RIRVJfVEVNUChyZWxuKSkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShl cnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKQEAgLTkyOCwxOSArOTI4LDEw IEBAIFJlYWRCdWZmZXJFeHRlbmRlZChSZWxhdGlvbiByZWxuLCBGb3JrTnVtYmVyIGZvcmtOdW0s IEJsb2NrTnVtYmVyIGJsb2NrTnVtLAogewogCUJ1ZmZlcgkJYnVmOwogCi0JLyoKLQkgKiBSZWpl Y3QgYXR0ZW1wdHMgdG8gcmVhZCBub24tbG9jYWwgdGVtcG9yYXJ5IHJlbGF0aW9uczsgd2Ugd291 bGQgYmUKLQkgKiBsaWtlbHkgdG8gZ2V0IHdyb25nIGRhdGEgc2luY2Ugd2UgaGF2ZSBubyB2aXNp YmlsaXR5IGludG8gdGhlIG93bmluZwotCSAqIHNlc3Npb24ncyBsb2NhbCBidWZmZXJzLgotCSAq LwotCWlmIChSRUxBVElPTl9JU19PVEhFUl9URU1QKHJlbG4pKQotCQllcmVwb3J0KEVSUk9SLAot CQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKLQkJCQkgZXJybXNn KCJjYW5ub3QgYWNjZXNzIHRlbXBvcmFyeSB0YWJsZXMgb2Ygb3RoZXIgc2Vzc2lvbnMiKSkpOwot CiAJLyoKIAkgKiBSZWFkIHRoZSBidWZmZXIsIGFuZCB1cGRhdGUgcGdzdGF0IGNvdW50ZXJzIHRv IHJlZmxlY3QgYSBjYWNoZSBoaXQgb3IKLQkgKiBtaXNzLgorCSAqIG1pc3MuICBUaGUgb3RoZXIt c2Vzc2lvbiB0ZW1wLXJlbGF0aW9uIGNoZWNrIGlzIGVuZm9yY2VkIGJ5CisJICogUmVhZEJ1ZmZl cl9jb21tb24oKS4KIAkgKi8KIAlidWYgPSBSZWFkQnVmZmVyX2NvbW1vbihyZWxuLCBSZWxhdGlv bkdldFNtZ3IocmVsbiksIDAsCiAJCQkJCQkJZm9ya051bSwgYmxvY2tOdW0sIG1vZGUsIHN0cmF0 ZWd5KTsKQEAgLTEyOTIsNiArMTI4MywxOCBAQCBSZWFkQnVmZmVyX2NvbW1vbihSZWxhdGlvbiBy ZWwsIFNNZ3JSZWxhdGlvbiBzbWdyLCBjaGFyIHNtZ3JfcGVyc2lzdGVuY2UsCiAJaW50CQkJZmxh Z3M7CiAJY2hhcgkJcGVyc2lzdGVuY2U7CiAKKwkvKgorCSAqIFJlamVjdCBhdHRlbXB0cyB0byBy ZWFkIG5vbi1sb2NhbCB0ZW1wb3JhcnkgcmVsYXRpb25zOyB3ZSB3b3VsZCBiZQorCSAqIGxpa2Vs eSB0byBnZXQgd3JvbmcgZGF0YSBzaW5jZSB3ZSBoYXZlIG5vIHZpc2liaWxpdHkgaW50byB0aGUg b3duaW5nCisJICogc2Vzc2lvbidzIGxvY2FsIGJ1ZmZlcnMuICBUaGlzIGlzIHRoZSBjYW5vbmlj YWwgcGxhY2UgZm9yIHRoZSBjaGVjaywKKwkgKiBjb3ZlcmluZyB0aGUgUmVhZEJ1ZmZlckV4dGVu ZGVkKCkgZW50cnkgcG9pbnQgYW5kIGFueSBvdGhlciBjYWxsZXIKKwkgKiB0aGF0IHN1cHBsaWVz IGEgUmVsYXRpb24uCisJICovCisJaWYgKHJlbCAmJiBSRUxBVElPTl9JU19PVEhFUl9URU1QKHJl bCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9T VVBQT1JURUQpLAorCQkJCSBlcnJtc2coImNhbm5vdCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBv ZiBvdGhlciBzZXNzaW9ucyIpKSk7CisKIAkvKgogCSAqIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkg cGF0aCwgbW9zdCBjb2RlIHNob3VsZCB1c2UgRXh0ZW5kQnVmZmVyZWRSZWwoKQogCSAqIGluc3Rl YWQsIGFzIGFjcXVpcmluZyB0aGUgZXh0ZW5zaW9uIGxvY2sgaW5zaWRlIEV4dGVuZEJ1ZmZlcmVk UmVsKCkKQEAgLTEzODIsNiArMTM4NSwxMiBAQCBTdGFydFJlYWRCdWZmZXJzSW1wbChSZWFkQnVm ZmVyc09wZXJhdGlvbiAqb3BlcmF0aW9uLAogCUFzc2VydCgqbmJsb2NrcyA+IDApOwogCUFzc2Vy dCgqbmJsb2NrcyA8PSBNQVhfSU9fQ09NQklORV9MSU1JVCk7CiAKKwkvKiBzZWUgY29tbWVudHMg aW4gUmVhZEJ1ZmZlcl9jb21tb24gKi8KKwlpZiAob3BlcmF0aW9uLT5yZWwgJiYgUkVMQVRJT05f SVNfT1RIRVJfVEVNUChvcGVyYXRpb24tPnJlbCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coImNhbm5v dCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucyIpKSk7CisKIAlpZiAo b3BlcmF0aW9uLT5wZXJzaXN0ZW5jZSA9PSBSRUxQRVJTSVNURU5DRV9URU1QKQogCXsKIAkJaW9f Y29udGV4dCA9IElPQ09OVEVYVF9OT1JNQUw7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVz L3Rlc3RfbWlzYy90LzAxM190ZW1wX29ial9tdWx0aXNlc3Npb24ucGwgYi9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfbWlzYy90LzAxM190ZW1wX29ial9tdWx0aXNlc3Npb24ucGwKaW5kZXggMGQyMTE3 MDA5NzcuLmI0NDQyODM2YmVmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlz Yy90LzAxM190ZW1wX29ial9tdWx0aXNlc3Npb24ucGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90 ZXN0X21pc2MvdC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsCkBAIC01NSwyNSArNTUsMjAg QEAgbXkgKCRzdGRvdXQsICRzdGRlcnIpOwogIyBETUwgYW5kIFNFTEVDVCBoYXZlIHRvIHJlYWQg dGhlIHRhYmxlJ3MgZGF0YSBhbmQgdGhlcmVmb3JlIGdvIHRocm91Z2gKICMgdGhlIGJ1ZmZlciBt YW5hZ2VyLiAgV2l0aCBubyBpbmRleCBvbiB0aGUgdGFibGUsIHRoZSBwbGFubmVyIGNhbm5vdAog IyB1c2UgaW5kZXggYWNjZXNzLCBzbyBTRUxFQ1QvVVBEQVRFL0RFTEVURS9NRVJHRS9DT1BZIGFs bCBydW4gdGhyb3VnaAotIyB0aGUgcmVhZC1zdHJlYW0gcGF0aC4KLSMKLSMgWFhYOiBpbiBjdXJy ZW50IGNvZGUsIHRoZSByZWFkLXN0cmVhbSBwYXRoIGJ5cGFzc2VzIHRoZQotIyBSRUxBVElPTl9J U19PVEhFUl9URU1QKCkgY2hlY2ssIHNvIHRoZXNlIGNvbW1hbmRzIHNpbGVudGx5IHNlZSBubwot IyByb3dzIC8gcmVwb3J0IHplcm8gYWZmZWN0ZWQgcm93cyAtLSB0aGUgdmlzaWJsZSBzeW1wdG9t IG9mIHRoZSBidWcKLSMgdGhpcyB0ZXN0IHN1aXRlIGRvY3VtZW50cy4gIEEgZm9sbG93LXVwIHBh dGNoIHdpbGwgcm91dGUgdGhlIGNoZWNrCi0jIHRocm91Z2ggcmVhZF9zdHJlYW1fYmVnaW5faW1w bCgpIGFuZCB0aGVzZSBhc3NlcnRpb25zIHdpbGwgYmUKLSMgdXBkYXRlZCB0byBleHBlY3QgImNh bm5vdCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucyIuCisjIHRoZSBy ZWFkLXN0cmVhbSBwYXRoIGFuZCBhcmUgY2F1Z2h0IGJ5IHJlYWRfc3RyZWFtX2JlZ2luX2ltcGwo KS4KIAogJG5vZGUtPnBzcWwoCiAJJ3Bvc3RncmVzJywKIAkiU0VMRUNUIHZhbCBGUk9NICR0ZW1w c2NoZW1hLmZvbzsiLAotCXN0ZG91dCA9PiBcJHN0ZG91dCwKIAlzdGRlcnIgPT4gXCRzdGRlcnIp OwotaXMoJHN0ZGVyciwgJycsICdTRUxFQ1QgKGN1cnJlbnRseSBubyBlcnJvciAtLSBidWcgdG8g YmUgZml4ZWQpJyk7CitsaWtlKAorCSRzdGRlcnIsCisJcXIvY2Fubm90IGFjY2VzcyB0ZW1wb3Jh cnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknU0VMRUNUIChzZXFzY2FuIHZpYSByZWFk X3N0cmVhbSknKTsKIAogIyBJTlNFUlQgZ29lcyB0aHJvdWdoIGhpby5jIHdoaWNoIGNhbGxzIFJl YWRCdWZmZXJFeHRlbmRlZCgpIHRvIGZpbmQgYQotIyBwYWdlIHdpdGggZnJlZSBzcGFjZTsgdGhh dCBoaXRzIHRoZSBleGlzdGluZyBjaGVjayBiZWZvcmUgYW55IGRhdGEgaXMKLSMgd3JpdHRlbi4g IFRoaXMgY2FzZSBjdXJyZW50bHkgZXJyb3JzIGFzIGV4cGVjdGVkLgorIyBwYWdlIHdpdGggZnJl ZSBzcGFjZTsgdGhhdCBoaXRzIHRoZSBleGlzdGluZyBjaGVjayBiZWZvcmUgYW55IGRhdGEKKyMg aXMgd3JpdHRlbi4KICRub2RlLT5wc3FsKAogCSdwb3N0Z3JlcycsCiAJIklOU0VSVCBJTlRPICR0 ZW1wc2NoZW1hLmZvbyBWQUxVRVMgKDczKTsiLApAQCAtODYsMjEgKzgxLDI5IEBAICRub2RlLT5w c3FsKAogCSdwb3N0Z3JlcycsCiAJIlVQREFURSAkdGVtcHNjaGVtYS5mb28gU0VUIHZhbCA9IE5V TEw7IiwKIAlzdGRlcnIgPT4gXCRzdGRlcnIpOwotaXMoJHN0ZGVyciwgJycsICdVUERBVEUgKGN1 cnJlbnRseSBubyBlcnJvciAtLSBidWcgdG8gYmUgZml4ZWQpJyk7CitsaWtlKCRzdGRlcnIsCisJ cXIvY2Fubm90IGFjY2VzcyB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwkn VVBEQVRFJyk7CiAKICRub2RlLT5wc3FsKCdwb3N0Z3JlcycsICJERUxFVEUgRlJPTSAkdGVtcHNj aGVtYS5mb287Iiwgc3RkZXJyID0+IFwkc3RkZXJyKTsKLWlzKCRzdGRlcnIsICcnLCAnREVMRVRF IChjdXJyZW50bHkgbm8gZXJyb3IgLS0gYnVnIHRvIGJlIGZpeGVkKScpOworbGlrZSgkc3RkZXJy LAorCXFyL2Nhbm5vdCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucy8s CisJJ0RFTEVURScpOwogCiAkbm9kZS0+cHNxbCgKIAkncG9zdGdyZXMnLAogCSJNRVJHRSBJTlRP ICR0ZW1wc2NoZW1hLmZvbyBVU0lORyAoVkFMVUVTICg0MikpIEFTIHModmFsKSAiCiAJICAuICJP TiBmb28udmFsID0gcy52YWwgV0hFTiBNQVRDSEVEIFRIRU4gREVMRVRFOyIsCiAJc3RkZXJyID0+ IFwkc3RkZXJyKTsKLWlzKCRzdGRlcnIsICcnLCAnTUVSR0UgKGN1cnJlbnRseSBubyBlcnJvciAt LSBidWcgdG8gYmUgZml4ZWQpJyk7CitsaWtlKCRzdGRlcnIsCisJcXIvY2Fubm90IGFjY2VzcyB0 ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknTUVSR0UnKTsKIAogJG5vZGUt PnBzcWwoJ3Bvc3RncmVzJywgIkNPUFkgJHRlbXBzY2hlbWEuZm9vIFRPIFNURE9VVDsiLAogCXN0 ZGVyciA9PiBcJHN0ZGVycik7Ci1pcygkc3RkZXJyLCAnJywgJ0NPUFkgKGN1cnJlbnRseSBubyBl cnJvciAtLSBidWcgdG8gYmUgZml4ZWQpJyk7CitsaWtlKCRzdGRlcnIsCisJcXIvY2Fubm90IGFj Y2VzcyB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknQ09QWScpOwogCiAj IERETCBhbmQgbWFpbnRlbmFuY2UgY29tbWFuZHMgaGF2ZSB0aGVpciBvd24gY29tbWFuZC1zcGVj aWZpYyBjaGVja3MKICMgKG9sZGVyIHRoYW4gdGhlIGJ1ZmZlci1tYW5hZ2VyIGNoZWNrIGFib3Zl KSwgc28gdGhleSBmYWlsIHdpdGgKLS0gCjIuNDMuMAoK --0000000000007a28840650fa9893 Content-Type: text/x-patch; charset="US-ASCII"; name="v21-0003-Test-cross-session-LOCK-TABLE-scenario.patch" Content-Disposition: attachment; filename="v21-0003-Test-cross-session-LOCK-TABLE-scenario.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mor01lev0 RnJvbSAwNWFhYWI2YTIyNTE5NTI0NmU3MGFkNDY1YTA5OTVjNGMwNDM3ZTIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5paWwgRGF2aWRvdiA8ZC5kYXZ5ZG92QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBTdW4sIDMgTWF5IDIwMjYgMTU6NTE6MDYgKzA3MDAKU3ViamVjdDogW1BBVENI IHYyMSAzLzNdIFRlc3QgY3Jvc3Mtc2Vzc2lvbiBMT0NLIFRBQkxFIHNjZW5hcmlvCgotLS0KIC4u Li90ZXN0X21pc2MvdC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsICB8IDI1ICsrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9u LnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNz aW9uLnBsCmluZGV4IGI0NDQyODM2YmVmLi5hNzM2OTcwMDU4MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsCisrKyBi L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEzX3RlbXBfb2JqX211bHRpc2Vzc2lvbi5w bApAQCAtMjIwLDE0ICsyMjAsMzkgQEAgbGlrZSgKIAlxci9jYW5ub3QgZHJvcCB0YWJsZSAuKlwu Zm9vMiBiZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0LywKIAknRFJPUCBUQUJMRSBi bG9ja2VkIGJ5IGNyb3NzLXNlc3Npb24gZGVwZW5kZW5jeScpOwogCitteSAkZm9vMl9vaWQgPSAk bm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBX SEVSRSByZWxuYW1lPSdmb28yJzsiKTsKKworIyBDcm9zcy1zZXNzaW9uIExPQ0sgVEFCTEUgc2Nl bmFyaW8uICBFbnN1cmUgdGhhdCBMb2NrUmVsYXRpb25PaWQgaXMgd29ya2luZworIyBwcm9wZXJs eSBmb3Igb3RoZXIgdGVtcCB0YWJsZXMgc2luY2UgdGhpcyBtZWNoYW5pc20gaXMgYWxzbyB1c2Vk IGJ5CisjIGF1dG92YWN1dW0gZHVyaW5nIG9ycGhhbmVkIHRhYmxlcyBjbGVhbnVwLgorbXkgJHBz cWwyID0gJG5vZGUtPmJhY2tncm91bmRfcHNxbCgncG9zdGdyZXMnKTsKKyRwc3FsMi0+cXVlcnlf c2FmZSgKKwlxcXsKKwlCRUdJTjsKKwlMT0NLIFRBQkxFICR0ZW1wc2NoZW1hLmZvbzIgSU4gQUND RVNTIFNIQVJFIE1PREU7Cit9KTsKKwogIyBXaGVuIHRoZSBvd25lciBzZXNzaW9uIGVuZHMsIGl0 cyB0ZW1wIG9iamVjdHMgYXJlIGRyb3BwZWQgdmlhIHRoZQogIyBub3JtYWwgc2Vzc2lvbi1leGl0 IGNsZWFudXAsIHdoaWNoIGNhc2NhZGVzIHRocm91Z2gKICMgREVQRU5ERU5DWV9OT1JNQUwgYW5k IGFsc28gcmVtb3ZlcyB0aGUgY3Jvc3Mtc2Vzc2lvbiBmdW5jdGlvbiB0aGF0CiAjIGRlcGVuZGVk IG9uIHRoZSB0ZW1wIHJvdyB0eXBlLiAgVGhpcyBpcyB0aGUgc2FtZSBtZWNoYW5pc20KICMgYXV0 b3ZhY3V1bSByZWxpZXMgb24gdG8gY2xlYW4gdXAgdGVtcCByZWxhdGlvbnMgbGVmdCBiZWhpbmQg YnkgYQogIyBjcmFzaGVkIGJhY2tlbmQuCisjIEFjY2VzcyBzaGFyZSBsb2NrIG9uIHRoZSBmb28y IHdpbGwgYmxvY2sgc2Vzc2lvbi1leGl0IGNsZWFudXAsIGJlY2F1c2UgYW4KKyMgb3duZXIgd2ls bCB0cnkgdG8gYWNxdWlyZSBkZWxldGlvbiBsb2NrIGFsbCBpdHMgdGVtcCBvYmplY3RzIHZpYQor IyBmaW5kRGVwZW5kZW50T2JqZWN0cy4KK215ICRsb2dfb2Zmc2V0ID0gLXMgJG5vZGUtPmxvZ2Zp bGU7CiAkcHNxbDEtPnF1aXQ7CiAKKyMgQ2hlY2sgd2hldGhlciBzZXNzaW9uLWV4aXQgY2xlYW51 cCBpcyBibG9ja2VkLgorJG5vZGUtPndhaXRfZm9yX2xvZyhxci93YWl0aW5nIGZvciBBY2Nlc3NF eGNsdXNpdmVMb2NrIG9uIHJlbGF0aW9uICRmb28yX29pZC8sCisJJGxvZ19vZmZzZXQpOworCisj IFJlbGVhc2UgbG9jayBvbiBmb28yIGFuZCBhbGxvdyBzZXNzaW9uLWV4aXQgY2xlYW51cCB0byBm aW5pc2guCiskcHNxbDItPnF1ZXJ5X3NhZmUocShDT01NSVQ7KSk7CiskcHNxbDItPnF1aXQ7CisK ICRub2RlLT5wb2xsX3F1ZXJ5X3VudGlsKAogCSdwb3N0Z3JlcycsCiAJIlNFTEVDVCBOT1QgRVhJ U1RTIChTRUxFQ1QgMSBGUk9NIHBnX3Byb2MgV0hFUkUgcHJvbmFtZSA9ICdjcm9zc19zZXNzaW9u X2Z1bmMnKSIKLS0gCjIuNDMuMAoK --0000000000007a28840650fa9893 Content-Type: text/x-patch; charset="US-ASCII"; name="v21-0001-Add-tests-for-cross-session-temp-table-access.patch" Content-Disposition: attachment; filename="v21-0001-Add-tests-for-cross-session-temp-table-access.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mor01lfg2 RnJvbSBlMzczOWVlMzBkNmRlYTA2MzBkNTZhNDVlMTA5YjBkNzYyY2RhMzMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogU2F0LCAyIE1heSAyMDI2IDE1OjIyOjI2ICswMzAwClN1YmplY3Q6IFtQ QVRDSCB2MjEgMS8zXSBBZGQgdGVzdHMgZm9yIGNyb3NzLXNlc3Npb24gdGVtcCB0YWJsZSBhY2Nl c3MKCkFkZCBhIFRBUCB0ZXN0IGluIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjIHRoYXQgZG9j dW1lbnRzIHdoYXQKaGFwcGVucyB3aGVuIG9uZSBzZXNzaW9uIGF0dGVtcHRzIHRvIHJlYWQgb3Ig bW9kaWZ5IGFub3RoZXIgc2Vzc2lvbidzCnRlbXBvcmFyeSB0YWJsZS4gIFRoaXMgY29tbWl0IG9u bHkgYWRkcyB0ZXN0czsgaXQgZG9lcyBub3QgY2hhbmdlCmJhY2tlbmQgYmVoYXZpb3VyLCBzbyB0 aGUgYXNzZXJ0aW9ucyByZWZsZWN0IGN1cnJlbnQgYmVoYXZpb3VyOgoKLSBTRUxFQ1QsIFVQREFU RSwgREVMRVRFLCBNRVJHRSwgQ09QWSBvbiBhIHRhYmxlIHdpdGhvdXQgYW4gaW5kZXgKICBzaWxl bnRseSBzdWNjZWVkIHdpdGggbm8gZXJyb3IgYW5kIHplcm8gcm93cyAvIHplcm8gYWZmZWN0ZWQg cm93cy4KICBUaGVzZSBjb21tYW5kcyBydW4gdGhyb3VnaCB0aGUgcmVhZC1zdHJlYW0gcGF0aCwg d2hpY2ggY3VycmVudGx5CiAgYnlwYXNzZXMgdGhlIFJFTEFUSU9OX0lTX09USEVSX1RFTVAoKSBj aGVjay4gIFRoaXMgaXMgdGhlCiAgdW5kZXJseWluZyBidWcgdG8gYmUgZml4ZWQgaW4gYSBmb2xs b3ctdXAuCi0gSU5TRVJUIGVycm9ycyB3aXRoICJjYW5ub3QgYWNjZXNzIHRlbXBvcmFyeSB0YWJs ZXMgb2Ygb3RoZXIKICBzZXNzaW9ucyIgYmVjYXVzZSBoaW8uYyBjYWxscyBSZWFkQnVmZmVyRXh0 ZW5kZWQoKSB0byBmaW5kIGEgcGFnZQogIHdpdGggZnJlZSBzcGFjZSBhbmQgaXMgY2F1Z2h0IGJ5 IHRoZSBleGlzdGluZyBjaGVjayB0aGVyZS4KLSBJbmRleCBzY2FuIGVycm9ycyB2aWEgdGhlIHNh bWUgZXhpc3RpbmcgY2hlY2ssIHJlYWNoZWQgdGhyb3VnaAogIG5idHJlZSAtPiBSZWFkQnVmZmVy IC0+IFJlYWRCdWZmZXJFeHRlbmRlZC4KLSBUUlVOQ0FURSAvIEFMVEVSIFRBQkxFIC8gQUxURVIg SU5ERVggLyBDTFVTVEVSIGZhaWwgd2l0aCB0aGVpcgogIGNvbW1hbmQtc3BlY2lmaWMgZXJyb3Ig bWVzc2FnZXMuCi0gVkFDVVVNIGlzIHNpbGVudGx5IHNraXBwZWQgdG8gYXZvaWQgbm9pc2UgZHVy aW5nIGRhdGFiYXNlLXdpZGUKICBWQUNVVU0gKHZhY3V1bV9yZWwoKSByZXR1cm5zIHdpdGhvdXQg d2FybmluZykuCi0gRFJPUCBUQUJMRSBpcyBpbnRlbnRpb25hbGx5IGFsbG93ZWQ6IERST1AgZG9l cyBub3QgdG91Y2ggdGhlCiAgdGFibGUncyBjb250ZW50cywgYW5kIGF1dG92YWN1dW0gcmVsaWVz IG9uIHRoaXMgdG8gY2xlYW4gdXAKICB0ZW1wIHJlbGF0aW9ucyBvcnBoYW5lZCBieSBhIGNyYXNo ZWQgYmFja2VuZC4KLSBBTFRFUiBGVU5DVElPTiAvIERST1AgRlVOQ1RJT04gb24gYW4gb3duZXIt Y3JlYXRlZCBmdW5jdGlvbiBvdmVyCiAgaXRzIG93biB0ZW1wIHJvdyB0eXBlIHdvcmsgYXMgY2F0 YWxvZyBvcGVyYXRpb25zIC0tIHRoZXkgZG9uJ3QKICByZWFkIHRoZSB1bmRlcmx5aW5nIGRhdGEu Ci0gQ1JFQVRFIEZVTkNUSU9OIGZyb20gYSBzZXBhcmF0ZSBzZXNzaW9uLCB1c2luZyBhbm90aGVy IHNlc3Npb24ncwogIHRlbXAgcm93IHR5cGUgYXMgYW4gYXJndW1lbnQsIGlzIGFsbG93ZWQgYnV0 IGVtaXRzIGEgTk9USUNFOiB0aGUKICBmdW5jdGlvbiBpcyBtb3ZlZCBpbnRvIHRoZSBjcmVhdG9y J3MgcGdfdGVtcCBuYW1lc3BhY2Ugd2l0aCBhbgogIGF1dG8tZGVwZW5kZW5jeSBvbiB0aGUgYm9y cm93ZWQgdHlwZSwgc28gaXQgZGlzYXBwZWFycyB0b2dldGhlcgogIHdpdGggdGhlIHNlc3Npb24g dGhhdCBjcmVhdGVkIGl0LgotIEEgYmFyZSBEUk9QIFRBQkxFIG9uIGEgdGVtcCB0YWJsZSB0aGF0 IGhhcyBhIGNyb3NzLXNlc3Npb24KICBkZXBlbmRlbnQgZnVuY3Rpb24gZmFpbHMgd2l0aCBhIGNh dGFsb2ctbGV2ZWwgZGVwZW5kZW5jeSBlcnJvci4KLSBXaGVuIHRoZSBvd25lciBzZXNzaW9uIGVu ZHMsIHRoZSBub3JtYWwgc2Vzc2lvbi1leGl0IGNsZWFudXAKICBjYXNjYWRlcyB0aHJvdWdoIERF UEVOREVOQ1lfTk9STUFMIGFuZCByZW1vdmVzIGJvdGggdGhlIHRlbXAKICBvYmplY3RzIGFuZCBh bnkgY3Jvc3Mtc2Vzc2lvbiBmdW5jdGlvbnMgdGhhdCBkZXBlbmRlZCBvbiB0aGVtLgoKQWxzbyBk b2N1bWVudCB0aGUgY29udHJhY3QgZm9yIFJFTEFUSU9OX0lTX09USEVSX1RFTVAoKSBzbyB0aGF0 CmZ1dHVyZSBidWZmZXItYWNjZXNzIGVudHJ5IHBvaW50cyBlbmZvcmNlIHRoZSBzYW1lIHJ1bGUu CgpBdXRob3I6IEppbSBKb25lcyA8amltLmpvbmVzQHVuaS1tdWVuc3Rlci5kZT4KQXV0aG9yOiBE YW5paWwgRGF2eWRvdiA8M2Rhbmlzc2ltb0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVs IFBhcXVpZXIgPG1pY2hhZWxAcGFxdWllci54eXo+ClJldmlld2VkLWJ5OiBTb3VteWEgUyBNdXJh bGkgPHNvdW15YW11cmFsaS53b3JrQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFRvbSBMYW5lIDx0 Z2xAc3NzLnBnaC5wYS51cz4KUmV2aWV3ZWQtYnk6IEFsZXhhbmRlciBLb3JvdGtvdiA8YWVrb3Jv dGtvdkBnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FKRGlYZ2hk RmNaOCUzRG5oNEc2OXRlN2lScjNRMHVGeVh4YjNaZEcwOV9HVE5aWHdIMGclNDBtYWlsLmdtYWls LmNvbQotLS0KIHNyYy9pbmNsdWRlL3V0aWxzL3JlbC5oICAgICAgICAgICAgICAgICAgICAgICB8 ICAgOSArCiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZCAgICAgICAgfCAg IDEgKwogLi4uL3Rlc3RfbWlzYy90LzAxM190ZW1wX29ial9tdWx0aXNlc3Npb24ucGwgIHwgMjM1 ICsrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyNDUgaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEzX3RlbXBf b2JqX211bHRpc2Vzc2lvbi5wbAoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3JlbC5o IGIvc3JjL2luY2x1ZGUvdXRpbHMvcmVsLmgKaW5kZXggY2QxZTkyZjIzMDIuLmFkNTBlNDNiODAx IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9yZWwuaAorKysgYi9zcmMvaW5jbHVkZS91 dGlscy9yZWwuaApAQCAtNjY0LDYgKzY2NCwxNSBAQCBSZWxhdGlvbkNsb3NlU21ncihSZWxhdGlv biByZWxhdGlvbikKICAqIFJFTEFUSU9OX0lTX09USEVSX1RFTVAKICAqCQlUZXN0IGZvciBhIHRl bXBvcmFyeSByZWxhdGlvbiB0aGF0IGJlbG9uZ3MgdG8gc29tZSBvdGhlciBzZXNzaW9uLgogICoK KyAqIEFueSBjb2RlIHBhdGggdGhhdCByZWFkcyBhIHJlbGF0aW9uJ3MgZGF0YSBtdXN0IHJlamVj dCBzdWNoIHJlbGF0aW9uczoKKyAqIHRoZSBvd25pbmcgc2Vzc2lvbiBrZWVwcyB0aGUgZGF0YSBp biBpdHMgcHJpdmF0ZSBsb2NhbCBidWZmZXIgcG9vbCwKKyAqIHdoaWNoIHdlIGNhbm5vdCBpbnNw ZWN0LiAgRXhpc3RpbmcgYnVmZmVyLW1hbmFnZXIgZW50cnkgcG9pbnRzCisgKiAoUmVhZEJ1ZmZl ckV4dGVuZGVkKCksIFJlYWRCdWZmZXJfY29tbW9uKCksIFN0YXJ0UmVhZEJ1ZmZlcnNJbXBsKCks CisgKiByZWFkX3N0cmVhbV9iZWdpbl9pbXBsKCksIFByZWZldGNoQnVmZmVyKCkpIGFscmVhZHkg ZW5mb3JjZSB0aGlzOyBhbnkKKyAqIG5ldyBidWZmZXItYWNjZXNzIGVudHJ5IHBvaW50IG11c3Qg ZG8gdGhlIHNhbWUuICBDb21tYW5kLWxldmVsIGNvZGUKKyAqIChUUlVOQ0FURSwgQUxURVIgVEFC TEUsIFZBQ1VVTSwgQ0xVU1RFUiwgUkVJTkRFWCwgLi4uKSBhZGRpdGlvbmFsbHkKKyAqIHVzZXMg dGhpcyBtYWNybyBmb3IgY29tbWFuZC1zcGVjaWZpYyBlcnJvciBtZXNzYWdlcy4KKyAqCiAgKiBC ZXdhcmUgb2YgbXVsdGlwbGUgZXZhbCBvZiBhcmd1bWVudAogICovCiAjZGVmaW5lIFJFTEFUSU9O X0lTX09USEVSX1RFTVAocmVsYXRpb24pIFwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMv dGVzdF9taXNjL21lc29uLmJ1aWxkIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvbWVzb24u YnVpbGQKaW5kZXggMzU2ZDg0NTRiMzkuLjk2OWU5MGIzOTZkIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNvbi5idWlsZAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfbWlzYy9tZXNvbi5idWlsZApAQCAtMjEsNiArMjEsNyBAQCB0ZXN0cyArPSB7CiAgICAgICAn dC8wMTBfaW5kZXhfY29uY3VycmVudGx5X3Vwc2VydC5wbCcsCiAgICAgICAndC8wMTFfbG9ja19z dGF0cy5wbCcsCiAgICAgICAndC8wMTJfZGRsdXRpbHMucGwnLAorICAgICAgJ3QvMDEzX3RlbXBf b2JqX211bHRpc2Vzc2lvbi5wbCcsCiAgICAgXSwKICAgICAjIFRoZSBpbmplY3Rpb24gcG9pbnRz IGFyZSBjbHVzdGVyLXdpZGUsIHNvIGRpc2FibGUgaW5zdGFsbGNoZWNrCiAgICAgJ3J1bm5pbmdj aGVjayc6IGZhbHNlLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8w MTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2Mv dC8wMTNfdGVtcF9vYmpfbXVsdGlzZXNzaW9uLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi4wZDIxMTcwMDk3NwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9taXNjL3QvMDEzX3RlbXBfb2JqX211bHRpc2Vzc2lvbi5wbApAQCAtMCwwICsx LDIzNSBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3Bt ZW50IEdyb3VwCisKKyMgVGVzdHMgdGhhdCBvbmUgc2Vzc2lvbiBjYW5ub3QgcmVhZCBvciBtb2Rp ZnkgZGF0YSBpbiBhbm90aGVyIHNlc3Npb24ncworIyB0ZW1wb3JhcnkgdGFibGUuICBFYWNoIHNl c3Npb24ga2VlcHMgaXRzIHRlbXAgZGF0YSBpbiBpdHMgb3duIGxvY2FsCisjIGJ1ZmZlciBwb29s LCBhbmQgYSBkaWZmZXJlbnQgYmFja2VuZCBoYXMgbm8gdmlzaWJpbGl0eSBpbnRvIHRob3NlCisj IGJ1ZmZlcnMsIHNvIGFueSBjb21tYW5kIHRoYXQgbmVlZHMgdG8gbG9vayBhdCB0aGUgZGF0YSBt dXN0IGJlCisjIHJlamVjdGVkLgorIworIyBEUk9QIFRBQkxFIGlzIGludGVudGlvbmFsbHkgYWxs b3dlZDogaXQgZG9lcyBub3QgdG91Y2ggdGhlIHRhYmxlJ3MKKyMgY29udGVudHMsIGFuZCBhdXRv dmFjdXVtIHJlbGllcyBvbiB0aGlzIHRvIGNsZWFuIHVwIG9ycGhhbmVkIHRlbXAKKyMgcmVsYXRp b25zIGxlZnQgYmVoaW5kIGJ5IGEgY3Jhc2hlZCBiYWNrZW5kLgorIworIyBBIHJlZ3Jlc3Npb24g Y2F1Z2h0IGhlcmUgdHlwaWNhbGx5IG1lYW5zIGEgbmV3IGJ1ZmZlci1hY2Nlc3MgZW50cnkKKyMg cG9pbnQgYnlwYXNzZXMgdGhlIFJFTEFUSU9OX0lTX09USEVSX1RFTVAoKSBjaGVjay4gIFNlZQor IyBSZWFkQnVmZmVyX2NvbW1vbigpLCBTdGFydFJlYWRCdWZmZXJzSW1wbCgpLCBhbmQgcmVhZF9z dHJlYW1fYmVnaW5faW1wbCgpCisjIGZvciB0aGUgZXhpc3RpbmcgY2hlY2tzLiAgV2hlbiBhZGRp bmcgYSBuZXcgY29tbWFuZCBvciBidWZmZXItYWNjZXNzCisjIHBhdGgsIGFsc28gYWRkIGEgY29y cmVzcG9uZGluZyBjYXNlIGJlbG93LgorCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNl IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7 Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6QmFja2dyb3VuZFBzcWw7Cit1c2UgVGVzdDo6TW9yZTsK KworbXkgJG5vZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3RlbXBfbG9jaycp OworJG5vZGUtPmluaXQ7Ciskbm9kZS0+c3RhcnQ7CisKKyMgT3duZXIgc2Vzc2lvbi4gIENyZWF0 ZWQgdmlhIGJhY2tncm91bmRfcHNxbCBzbyBpdCBzdGF5cyBhbGl2ZSB3aGlsZQorIyB0aGUgc2Vj b25kIHNlc3Npb24gcHJvYmVzIGl0cyB0ZW1wIG9iamVjdHMuCitteSAkcHNxbDEgPSAkbm9kZS0+ YmFja2dyb3VuZF9wc3FsKCdwb3N0Z3JlcycpOworCisjIEluaXRpYWxseSBjcmVhdGUgdGhlIHRh YmxlIHdpdGhvdXQgYW4gaW5kZXgsIHNvIHJlYWQgcGF0aHMgZ28gc3RyYWlnaHQKKyMgdGhyb3Vn aCB0aGUgcmVhZC1zdHJlYW0gLyBidWZmZXItbWFuYWdlciBlbnRyeSBwb2ludHMgd2l0aG91dCBi ZWluZworIyBtYXNrZWQgYnkgYW4gaW5kZXggc2NhbiB0aGF0IHdvdWxkIGhpdCBSZWFkQnVmZmVy X2NvbW1vbiBmcm9tIG5idHJlZS4KKyRwc3FsMS0+cXVlcnlfc2FmZShxKENSRUFURSBURU1QIFRB QkxFIGZvbyBBUyBTRUxFQ1QgNDIgQVMgdmFsOykpOworCisjIFJlc29sdmUgdGhlIG93bmVyJ3Mg dGVtcCBzY2hlbWEgc28gdGhlIHByb2Jpbmcgc2Vzc2lvbiBjYW4gcmVmZXIgdG8KKyMgdGhlIHRh YmxlIGJ5IGEgZnVsbHktcXVhbGlmaWVkIG5hbWUuCitteSAkdGVtcHNjaGVtYSA9ICRub2RlLT5z YWZlX3BzcWwoCisJJ3Bvc3RncmVzJywKKwlxeworICAgICAgU0VMRUNUIG4ubnNwbmFtZQorICAg ICAgRlJPTSBwZ19jbGFzcyBjCisgICAgICBKT0lOIHBnX25hbWVzcGFjZSBuIE9OIG4ub2lkID0g Yy5yZWxuYW1lc3BhY2UKKyAgICAgIFdIRVJFIHJlbG5hbWUgPSAnZm9vJyBBTkQgcmVscGVyc2lz dGVuY2UgPSAndCc7CisgICAgfQorKTsKK2Nob21wICR0ZW1wc2NoZW1hOworb2soJHRlbXBzY2hl bWEgPX4gL15wZ190ZW1wX1xkKyQvLCAiZ290IHRlbXAgc2NoZW1hOiAkdGVtcHNjaGVtYSIpOwor CitteSAoJHN0ZG91dCwgJHN0ZGVycik7CisKKyMgRE1MIGFuZCBTRUxFQ1QgaGF2ZSB0byByZWFk IHRoZSB0YWJsZSdzIGRhdGEgYW5kIHRoZXJlZm9yZSBnbyB0aHJvdWdoCisjIHRoZSBidWZmZXIg bWFuYWdlci4gIFdpdGggbm8gaW5kZXggb24gdGhlIHRhYmxlLCB0aGUgcGxhbm5lciBjYW5ub3QK KyMgdXNlIGluZGV4IGFjY2Vzcywgc28gU0VMRUNUL1VQREFURS9ERUxFVEUvTUVSR0UvQ09QWSBh bGwgcnVuIHRocm91Z2gKKyMgdGhlIHJlYWQtc3RyZWFtIHBhdGguCisjCisjIFhYWDogaW4gY3Vy cmVudCBjb2RlLCB0aGUgcmVhZC1zdHJlYW0gcGF0aCBieXBhc3NlcyB0aGUKKyMgUkVMQVRJT05f SVNfT1RIRVJfVEVNUCgpIGNoZWNrLCBzbyB0aGVzZSBjb21tYW5kcyBzaWxlbnRseSBzZWUgbm8K KyMgcm93cyAvIHJlcG9ydCB6ZXJvIGFmZmVjdGVkIHJvd3MgLS0gdGhlIHZpc2libGUgc3ltcHRv bSBvZiB0aGUgYnVnCisjIHRoaXMgdGVzdCBzdWl0ZSBkb2N1bWVudHMuICBBIGZvbGxvdy11cCBw YXRjaCB3aWxsIHJvdXRlIHRoZSBjaGVjaworIyB0aHJvdWdoIHJlYWRfc3RyZWFtX2JlZ2luX2lt cGwoKSBhbmQgdGhlc2UgYXNzZXJ0aW9ucyB3aWxsIGJlCisjIHVwZGF0ZWQgdG8gZXhwZWN0ICJj YW5ub3QgYWNjZXNzIHRlbXBvcmFyeSB0YWJsZXMgb2Ygb3RoZXIgc2Vzc2lvbnMiLgorCiskbm9k ZS0+cHNxbCgKKwkncG9zdGdyZXMnLAorCSJTRUxFQ1QgdmFsIEZST00gJHRlbXBzY2hlbWEuZm9v OyIsCisJc3Rkb3V0ID0+IFwkc3Rkb3V0LAorCXN0ZGVyciA9PiBcJHN0ZGVycik7Citpcygkc3Rk ZXJyLCAnJywgJ1NFTEVDVCAoY3VycmVudGx5IG5vIGVycm9yIC0tIGJ1ZyB0byBiZSBmaXhlZCkn KTsKKworIyBJTlNFUlQgZ29lcyB0aHJvdWdoIGhpby5jIHdoaWNoIGNhbGxzIFJlYWRCdWZmZXJF eHRlbmRlZCgpIHRvIGZpbmQgYQorIyBwYWdlIHdpdGggZnJlZSBzcGFjZTsgdGhhdCBoaXRzIHRo ZSBleGlzdGluZyBjaGVjayBiZWZvcmUgYW55IGRhdGEgaXMKKyMgd3JpdHRlbi4gIFRoaXMgY2Fz ZSBjdXJyZW50bHkgZXJyb3JzIGFzIGV4cGVjdGVkLgorJG5vZGUtPnBzcWwoCisJJ3Bvc3RncmVz JywKKwkiSU5TRVJUIElOVE8gJHRlbXBzY2hlbWEuZm9vIFZBTFVFUyAoNzMpOyIsCisJc3RkZXJy ID0+IFwkc3RkZXJyKTsKK2xpa2UoJHN0ZGVyciwKKwlxci9jYW5ub3QgYWNjZXNzIHRlbXBvcmFy eSB0YWJsZXMgb2Ygb3RoZXIgc2Vzc2lvbnMvLAorCSdJTlNFUlQgKGNhdWdodCB2aWEgaGlvLmMp Jyk7CisKKyRub2RlLT5wc3FsKAorCSdwb3N0Z3JlcycsCisJIlVQREFURSAkdGVtcHNjaGVtYS5m b28gU0VUIHZhbCA9IE5VTEw7IiwKKwlzdGRlcnIgPT4gXCRzdGRlcnIpOworaXMoJHN0ZGVyciwg JycsICdVUERBVEUgKGN1cnJlbnRseSBubyBlcnJvciAtLSBidWcgdG8gYmUgZml4ZWQpJyk7CisK KyRub2RlLT5wc3FsKCdwb3N0Z3JlcycsICJERUxFVEUgRlJPTSAkdGVtcHNjaGVtYS5mb287Iiwg c3RkZXJyID0+IFwkc3RkZXJyKTsKK2lzKCRzdGRlcnIsICcnLCAnREVMRVRFIChjdXJyZW50bHkg bm8gZXJyb3IgLS0gYnVnIHRvIGJlIGZpeGVkKScpOworCiskbm9kZS0+cHNxbCgKKwkncG9zdGdy ZXMnLAorCSJNRVJHRSBJTlRPICR0ZW1wc2NoZW1hLmZvbyBVU0lORyAoVkFMVUVTICg0MikpIEFT IHModmFsKSAiCisJICAuICJPTiBmb28udmFsID0gcy52YWwgV0hFTiBNQVRDSEVEIFRIRU4gREVM RVRFOyIsCisJc3RkZXJyID0+IFwkc3RkZXJyKTsKK2lzKCRzdGRlcnIsICcnLCAnTUVSR0UgKGN1 cnJlbnRseSBubyBlcnJvciAtLSBidWcgdG8gYmUgZml4ZWQpJyk7CisKKyRub2RlLT5wc3FsKCdw b3N0Z3JlcycsICJDT1BZICR0ZW1wc2NoZW1hLmZvbyBUTyBTVERPVVQ7IiwKKwlzdGRlcnIgPT4g XCRzdGRlcnIpOworaXMoJHN0ZGVyciwgJycsICdDT1BZIChjdXJyZW50bHkgbm8gZXJyb3IgLS0g YnVnIHRvIGJlIGZpeGVkKScpOworCisjIERETCBhbmQgbWFpbnRlbmFuY2UgY29tbWFuZHMgaGF2 ZSB0aGVpciBvd24gY29tbWFuZC1zcGVjaWZpYyBjaGVja3MKKyMgKG9sZGVyIHRoYW4gdGhlIGJ1 ZmZlci1tYW5hZ2VyIGNoZWNrIGFib3ZlKSwgc28gdGhleSBmYWlsIHdpdGgKKyMgY29tbWFuZC1z cGVjaWZpYyBlcnJvciBtZXNzYWdlcy4gIFZlcmlmeWluZyB0aGVtIGhlcmUgZG9jdW1lbnRzIHRo ZQorIyBleHBlY3RlZCBiZWhhdmlvdXIgYW5kIGd1YXJkcyBhZ2FpbnN0IGFjY2lkZW50YWwgcmVt b3ZhbCBvZiB0aG9zZQorIyBjaGVja3MuCisKKyRub2RlLT5wc3FsKCdwb3N0Z3JlcycsICJUUlVO Q0FURSBUQUJMRSAkdGVtcHNjaGVtYS5mb287IiwKKwlzdGRlcnIgPT4gXCRzdGRlcnIpOworbGlr ZSgkc3RkZXJyLAorCXFyL2Nhbm5vdCB0cnVuY2F0ZSB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVy IHNlc3Npb25zLywKKwknVFJVTkNBVEUnKTsKKworJG5vZGUtPnBzcWwoCisJJ3Bvc3RncmVzJywK KwkiQUxURVIgVEFCTEUgJHRlbXBzY2hlbWEuZm9vIEFMVEVSIENPTFVNTiB2YWwgVFlQRSBiaWdp bnQ7IiwKKwlzdGRlcnIgPT4gXCRzdGRlcnIpOworbGlrZSgkc3RkZXJyLAorCXFyL2Nhbm5vdCBh bHRlciB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknQUxURVIgVEFCTEUn KTsKKworIyBWQUNVVU0gc2lsZW50bHkgc2tpcHMgb3RoZXIgc2Vzc2lvbnMnIHRlbXAgdGFibGVz ICh2YWN1dW1fcmVsKCkgcmV0dXJucworIyB3aXRob3V0IHdhcm5pbmcgdG8gYXZvaWQgbm9pc2Ug ZHVyaW5nIGRhdGFiYXNlLXdpZGUgVkFDVVVNKS4gIFZlcmlmeQorIyB0aGF0IG5vIGVycm9yIGlz IHJlcG9ydGVkLCBhbmQgdGhhdCBubyBidWZmZXItYWNjZXNzIHBhdGggaXMgaGl0LgorJG5vZGUt PnBzcWwoJ3Bvc3RncmVzJywgIlZBQ1VVTSAkdGVtcHNjaGVtYS5mb287Iiwgc3RkZXJyID0+IFwk c3RkZXJyKTsKK2lzKCRzdGRlcnIsICcnLCAnVkFDVVVNIGlzIHNpbGVudGx5IHNraXBwZWQnKTsK KworJG5vZGUtPnBzcWwoJ3Bvc3RncmVzJywgIkNMVVNURVIgJHRlbXBzY2hlbWEuZm9vOyIsIHN0 ZGVyciA9PiBcJHN0ZGVycik7CitsaWtlKCRzdGRlcnIsCisJcXIvY2Fubm90IGV4ZWN1dGUgQ0xV U1RFUiBvbiB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknQ0xVU1RFUicp OworCisjIE5vdyBjcmVhdGUgYW4gaW5kZXggdG8gZXhlcmNpc2UgdGhlIGluZGV4LXNjYW4gcGF0 aC4gIG5idHJlZSBjYWxscworIyBSZWFkQnVmZmVyICh3aGljaCBpcyBSZWFkQnVmZmVyRXh0ZW5k ZWQgLT4gUmVhZEJ1ZmZlcl9jb21tb24pLCBzbworIyB0aGlzIGV4ZXJjaXNlcyBhIGRpZmZlcmVu dCBjaGFpbiBvZiBidWZmZXItbWFuYWdlciBlbnRyeSBwb2ludHMuCiskcHNxbDEtPnF1ZXJ5X3Nh ZmUocShDUkVBVEUgSU5ERVggT04gZm9vKHZhbCk7KSk7CisKKyRub2RlLT5wc3FsKAorCSdwb3N0 Z3JlcycsCisJIlNFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjsgU0VMRUNUIHZhbCBGUk9NICR0ZW1w c2NoZW1hLmZvbyBXSEVSRSB2YWwgPSA0MjsiLAorCXN0ZGVyciA9PiBcJHN0ZGVycik7CitsaWtl KAorCSRzdGRlcnIsCisJcXIvY2Fubm90IGFjY2VzcyB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVy IHNlc3Npb25zLywKKwknaW5kZXggc2NhbiAoUmVhZEJ1ZmZlcl9jb21tb24gdmlhIG5idHJlZSkn KTsKKworIyBBTFRFUiBJTkRFWCBnb2VzIHRocm91Z2ggdGhlIHNhbWUgQ2hlY2tBbHRlclRhYmxl SXNTYWZlKCkgcGF0aCBhcworIyBBTFRFUiBUQUJMRSwgc28gaXQgcHJvZHVjZXMgdGhlIHNhbWUg ZXJyb3IuCiskbm9kZS0+cHNxbCgKKwkncG9zdGdyZXMnLAorCSJBTFRFUiBJTkRFWCAkdGVtcHNj aGVtYS5mb29fdmFsX2lkeCBTRVQgKGZpbGxmYWN0b3IgPSA1MCk7IiwKKwlzdGRlcnIgPT4gXCRz dGRlcnIpOworbGlrZSgkc3RkZXJyLAorCXFyL2Nhbm5vdCBhbHRlciB0ZW1wb3JhcnkgdGFibGVz IG9mIG90aGVyIHNlc3Npb25zLywKKwknQUxURVIgSU5ERVgnKTsKKworIyBBIGZ1bmN0aW9uIGNy ZWF0ZWQgYnkgdGhlIG93bmVyIGluIGl0cyBvd24gcGdfdGVtcCB1c2luZyBpdHMgb3duCisjIHJv dyB0eXBlIGNhbiBiZSBvYnNlcnZlZCB2aWEgdGhlIGNhdGFsb2cgYnkgYSBzZXBhcmF0ZSBzZXNz aW9uLgorIyBBTFRFUiBGVU5DVElPTiBhbmQgRFJPUCBGVU5DVElPTiBvbiBpdCBtdXN0IHdvcmsg YXMgY2F0YWxvZworIyBvcGVyYXRpb25zIC0tIHRoZXkgZG9uJ3QgcmVhZCB0aGUgdW5kZXJseWlu ZyB0YWJsZSAtLSB3aGljaAorIyBkb2N1bWVudHMgdGhlIGJvdW5kYXJ5IGJldHdlZW4gY2F0YWxv ZyBhbmQgZGF0YSBhY2Nlc3MgZm9yIHRlbXAKKyMgb2JqZWN0cy4KKyRwc3FsMS0+cXVlcnlfc2Fm ZSgKKwlxW0NSRUFURSBGVU5DVElPTiBwZ190ZW1wLmZvb19pZChyIGZvbykgUkVUVVJOUyBpbnQg TEFOR1VBR0UgU1FMIF0KKwkgIC4gcVtBUyAnU0VMRUNUIHIudmFsJztdKTsKKworJG5vZGUtPnBz cWwoCisJJ3Bvc3RncmVzJywKKwkiQUxURVIgRlVOQ1RJT04gJHRlbXBzY2hlbWEuZm9vX2lkKCR0 ZW1wc2NoZW1hLmZvbykgIgorCSAgLiAiU0VUIHNlYXJjaF9wYXRoID0gcGdfY2F0YWxvZzsiLAor CXN0ZGVyciA9PiBcJHN0ZGVycik7Citpcygkc3RkZXJyLCAnJywgJ0FMVEVSIEZVTkNUSU9OIG9u IGZ1bmN0aW9uIG92ZXIgb3RoZXIgc2Vzc2lvblwncyByb3cgdHlwZScpOworCiskbm9kZS0+cHNx bCgKKwkncG9zdGdyZXMnLAorCSJEUk9QIEZVTkNUSU9OICR0ZW1wc2NoZW1hLmZvb19pZCgkdGVt cHNjaGVtYS5mb28pOyIsCisJc3RkZXJyID0+IFwkc3RkZXJyKTsKK2lzKCRzdGRlcnIsICcnLCAn RFJPUCBGVU5DVElPTiBvbiBmdW5jdGlvbiBvdmVyIG90aGVyIHNlc3Npb25cJ3Mgcm93IHR5cGUn KTsKKworIyBEUk9QIFRBQkxFIG9uIGFub3RoZXIgc2Vzc2lvbidzIHRlbXAgdGFibGUgaXMgaW50 ZW50aW9uYWxseSBwZXJtaXR0ZWQuCisjIERST1AgZG9lc24ndCB0b3VjaCB0aGUgdGFibGUncyBj b250ZW50cywgYW5kIGF1dG92YWN1dW0gcmVsaWVzIG9uIHRoaXMKKyMgdG8gcmVtb3ZlIHRlbXAg cmVsYXRpb25zIG9ycGhhbmVkIGJ5IGEgY3Jhc2hlZCBiYWNrZW5kLiAgVmVyaWZ5IHRoYXQKKyMg dGhlIGJhcmUgRFJPUCBzdWNjZWVkcyB3aXRob3V0IGVycm9yLgorJG5vZGUtPnBzcWwoJ3Bvc3Rn cmVzJywgIkRST1AgVEFCTEUgJHRlbXBzY2hlbWEuZm9vOyIsIHN0ZGVyciA9PiBcJHN0ZGVycik7 Citpcygkc3RkZXJyLCAnJywgJ0RST1AgVEFCTEUgaXMgYWxsb3dlZCcpOworCisjIENyb3NzLXNl c3Npb24gQ1JFQVRFIEZVTkNUSU9OIHNjZW5hcmlvLiAgVGhlIG93bmVyIGNyZWF0ZXMgYSBmcmVz aAorIyB0ZW1wIHRhYmxlIGZvbzIgaW4gaXRzIHBnX3RlbXAgbmFtZXNwYWNlLCBhbmQgYSBzZXBh cmF0ZSBzZXNzaW9uCisjIHRoZW4gY3JlYXRlcyBhIGZ1bmN0aW9uIHdob3NlIGFyZ3VtZW50IHR5 cGUgaXMgdGhhdCByb3cgdHlwZS4KKyMgUG9zdGdyZVNRTCBhbGxvd3MgdGhpcyBhbmQgZW1pdHMg YSBOT1RJQ0U6IHRoZSBmdW5jdGlvbiBpcyBtb3ZlZAorIyBpbnRvIHRoZSBjcmVhdG9yJ3MgcGdf dGVtcCBuYW1lc3BhY2Ugd2l0aCBhbiBhdXRvLWRlcGVuZGVuY3kgb24KKyMgdGhlIGJvcnJvd2Vk IHR5cGUsIHNvIGl0IGRpc2FwcGVhcnMgdG9nZXRoZXIgd2l0aCB0aGUgc2Vzc2lvbiB0aGF0Cisj IGNyZWF0ZWQgaXQuCiskcHNxbDEtPnF1ZXJ5X3NhZmUocShDUkVBVEUgVEVNUCBUQUJMRSBmb28y IEFTIFNFTEVDVCA0MiBBUyB2YWw7KSk7CisKKyRub2RlLT5wc3FsKAorCSdwb3N0Z3JlcycsCisJ IkNSRUFURSBGVU5DVElPTiBwdWJsaWMuY3Jvc3Nfc2Vzc2lvbl9mdW5jKHIgJHRlbXBzY2hlbWEu Zm9vMikgIgorCSAgLiAiUkVUVVJOUyBpbnQgTEFOR1VBR0UgU1FMIEFTICdTRUxFQ1QgMSc7IiwK KwlzdGRlcnIgPT4gXCRzdGRlcnIpOworbGlrZSgKKwkkc3RkZXJyLAorCXFyL2Z1bmN0aW9uICJj cm9zc19zZXNzaW9uX2Z1bmMiIHdpbGwgYmUgZWZmZWN0aXZlbHkgdGVtcG9yYXJ5LywKKwknQ1JF QVRFIEZVTkNUSU9OIHVzaW5nIG90aGVyIHNlc3Npb25cJ3Mgcm93IHR5cGUgaXMgZWZmZWN0aXZl bHkgdGVtcG9yYXJ5JworKTsKKworIyBBIGJhcmUgRFJPUCBUQUJMRSBvbiBmb28yIG5vdyBmYWls cyBiZWNhdXNlIGNyb3NzX3Nlc3Npb25fZnVuYworIyBkZXBlbmRzIG9uIGl0cyByb3cgdHlwZS4g IFRoaXMgaXMgbm9ybWFsIFNRTCBkZXBlbmRlbmN5IGJlaGF2aW91cgorIyBhbmQgZG9jdW1lbnRz IHRoYXQgRFJPUCBpdHNlbGYgaXMgbm90IGJsb2NrZWQgYnkgYnVmZmVyLW1hbmFnZXIKKyMgY2hl Y2tzIC0tIHdlIGdldCBhIGNhdGFsb2ctbGV2ZWwgZXJyb3IgaW5zdGVhZC4KKyRub2RlLT5wc3Fs KCdwb3N0Z3JlcycsICJEUk9QIFRBQkxFICR0ZW1wc2NoZW1hLmZvbzI7Iiwgc3RkZXJyID0+IFwk c3RkZXJyKTsKK2xpa2UoCisJJHN0ZGVyciwKKwlxci9jYW5ub3QgZHJvcCB0YWJsZSAuKlwuZm9v MiBiZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0LywKKwknRFJPUCBUQUJMRSBibG9j a2VkIGJ5IGNyb3NzLXNlc3Npb24gZGVwZW5kZW5jeScpOworCisjIFdoZW4gdGhlIG93bmVyIHNl c3Npb24gZW5kcywgaXRzIHRlbXAgb2JqZWN0cyBhcmUgZHJvcHBlZCB2aWEgdGhlCisjIG5vcm1h bCBzZXNzaW9uLWV4aXQgY2xlYW51cCwgd2hpY2ggY2FzY2FkZXMgdGhyb3VnaAorIyBERVBFTkRF TkNZX05PUk1BTCBhbmQgYWxzbyByZW1vdmVzIHRoZSBjcm9zcy1zZXNzaW9uIGZ1bmN0aW9uIHRo YXQKKyMgZGVwZW5kZWQgb24gdGhlIHRlbXAgcm93IHR5cGUuICBUaGlzIGlzIHRoZSBzYW1lIG1l Y2hhbmlzbQorIyBhdXRvdmFjdXVtIHJlbGllcyBvbiB0byBjbGVhbiB1cCB0ZW1wIHJlbGF0aW9u cyBsZWZ0IGJlaGluZCBieSBhCisjIGNyYXNoZWQgYmFja2VuZC4KKyRwc3FsMS0+cXVpdDsKKwor JG5vZGUtPnBvbGxfcXVlcnlfdW50aWwoCisJJ3Bvc3RncmVzJywKKwkiU0VMRUNUIE5PVCBFWElT VFMgKFNFTEVDVCAxIEZST00gcGdfcHJvYyBXSEVSRSBwcm9uYW1lID0gJ2Nyb3NzX3Nlc3Npb25f ZnVuYycpIgorKSBvciBkaWUgImNyb3NzX3Nlc3Npb25fZnVuYyB3YXMgbm90IGNsZWFuZWQgdXAg YWZ0ZXIgb3duZXIgc2Vzc2lvbiBleGl0IjsKKworb2soMSwgJ2Nyb3NzX3Nlc3Npb25fZnVuYyBj bGVhbmVkIHVwIHdoZW4gb3duZXIgc2Vzc2lvbiBlbmRzJyk7CisKK2RvbmVfdGVzdGluZygpOwot LSAKMi40My4wCgo= --0000000000007a28840650fa9893--