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 1w8jv6-000pb5-0e for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 19:11:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8jv5-00DPvw-07 for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 19:11:03 +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 1w8jv4-00DPvn-1f for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 19:11:03 +0000 Received: from mail-yx1-xb130.google.com ([2607:f8b0:4864:20::b130]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w8juy-00000000QFU-3xSa for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 19:11:02 +0000 Received: by mail-yx1-xb130.google.com with SMTP id 956f58d0204a3-6501c4857b2so1134768d50.3 for ; Fri, 03 Apr 2026 12:10:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775243455; cv=none; d=google.com; s=arc-20240605; b=LcN8r7fVcBH3TvtLPfyx04r8KNzZc6fHn3WjFuyNe+Byx6gUvGLu3JSuNh7FvkoHSc yTWa3R31Y3M/81sTRRfjjelQgJ2/0dMku5wiyN5OCJHLFQCtv/QgVCIpWNV3yo7D1bnh ahxQDUTeqlKQ1vORNO0PfMO1tzO7mSrNaJK2ah3eRd8s4XRgsRDOmbDIKwJDBxaHU30R sr1c5gIyYEjaj3XLhW5P7PeW4/1A9M/KRLx7FiplhTLBw/MHY/XDRPHjdVbh9bktRJAn OSl8PjAu0XzaWFXci8pwHDj6eF89UiOM6n57WP1ZPaVKSW2iHx4zUQO1CVKA5byT05GE xg1g== 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=ZTQVqi7M/QnSrF8I2Hs4/gfMc3DXEVJf2kmd900uBy0=; fh=DM93uH3yrF4DPPX8Y9V5dMqy4/x8ZfJipUK5QQFIBhE=; b=ZAMmFTkaxny/ciEXjAGpb4oVOOEEUDbJ75Uur9z6/j0vutjltod2IZG7+JJXjokLHA y8XMULgzLj1Ky/3d360sw4jkGRs8dOBNMNMg33xsqX8dsauotHNpRilUvnzEULpZ40Bz V6/Sx3Pe8bzd7HmfuxO/oJQLikJtHQbwyCqobMAG3q6od6Kw9kqQJqjHgtgNtu7rb1ha x6nkocT87f8JsPrf8a6GfCnME6z5TnnkPkzIEb0NZlD9Vt+9WlY5Ra6JN8juyaN4Jywa ttDOhTok0GUMHXP7uY1jTauPODIUp/argECRMTFTW3mRGMuAWHtKI5lEMqclDP4TSPN8 /jIw==; darn=lists.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=1775243455; x=1775848255; 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=ZTQVqi7M/QnSrF8I2Hs4/gfMc3DXEVJf2kmd900uBy0=; b=nwqn/1PLuwrCSWgwwfS2FQ7xOdjAFAXesL1inZUHoCUeiC3udV5pjIN7tGx4F3XMZS mvBKmQYEJ0r+kZ2lizRn+tjRhTJwVHbLYNZ4wpGKyEGifohwTjyoNFDYhtrnSg4rGaka KExcVkKS14U4s0udkBJdqxVe28E6lpg1uUovQI+pDzOyo06iTxc1ZM9VGtQzExLJa8kn 9N2h/rNwVz2OToNw801EbwXULC5QMFR8zVhNM7JLmHrn9GUlFmiBrONPttKh3K3u1nzb 0dfvBhDpnjEoJedcrG46A7xl9yci2g+YL0QBI09zetEpTN5Xpl+2QkaeJVEg62rQU364 i2aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775243455; x=1775848255; 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=ZTQVqi7M/QnSrF8I2Hs4/gfMc3DXEVJf2kmd900uBy0=; b=EKMbGbaElNcSJ4J3W4M3XFgLPv5FrFNmwcvqsKg6gIFHQrppPcuP0yUEfWQfapY43J cv+69B/dwkWcQ9ciuvTh2HOSoHcFy19v1eyk7NCemXeGOMPjMRoxFnK+d6YS5HXi4Gpf dQ3UxApHEBMMWgiLuDaF2AvK+kcyJrmGnDe+bkc9wpeOIgRGrlOcJQ7r59eRkYAF8Sw6 5AceaiN5O35PPeK5X8sY1kZQr3MNdB7BvGripi2DJe5TeR/sGVZB2cHIAMu/OMI0Yt/E vV67yu0L/yF7FJQYUx9MPkEa9D1+uqV/S/GbejrMPysnSIbSwuX2OQAxmOoo6D1zW8pl IV9w== X-Gm-Message-State: AOJu0YyghHfj+xeZ6eEi/l8um5B5Fjl0UBwgL93ycDZmvarvKUrRjs3R jGJyLyVO8ChOwSXc1ZUNUyr3XDvhxuXtgIKuFJVkpK4md3y1mMkD4hYMlgaHr8uJad9rmYnM5EM fgtGkhxOx3H0GHPPw+qyb3gLX/SDoOxQ= X-Gm-Gg: AeBDieuIvYwboHRcejDPtI5N6GmyDBdhrYAmAu0acj85tKAruPkqwPMyeSCreDI3r1s QUm+JUBSdBoDdJbtPSQEiUbpAWP1/N6iAiQ1/MEhRPRYrzOe2grS9RL/o2HY3PbZ6utAcBSH/X7 K3J/4MoRTQnP5wfuomqAAURZAfZlc2zoF7FH4NPhIxOq4WXD3xHmj5I9VMvOlDlxKL6p2l3S54w /dDJp3lyrhjZVATSDmdsRqN80W3fB7USshLcUMw+MKl6x6sNWySmlZnfMMafJ9uJ+44/D9AwxER BYr5cZWWVd5oXGBhtMppF26xnVRlspHKRxyFlMCxxcY9xZ04+kg44EBdxGGzuqipRuAMPASzaof NWcAYglK937Bt7c9/ACkLtAfVhkp7XtSMIefNWC1f6x8jUsq2oHqKOMA9oUlsyRHL0KKZ X-Received: by 2002:a05:690e:1445:b0:64a:db82:a0bf with SMTP id 956f58d0204a3-650486d2161mr3841135d50.5.1775243455154; Fri, 03 Apr 2026 12:10:55 -0700 (PDT) MIME-Version: 1.0 References: <177261853144.1094601.11795093672679754617.pgcf@coridan.postgresql.org> In-Reply-To: From: Pavel Stehule Date: Fri, 3 Apr 2026 21:10:13 +0200 X-Gm-Features: AQROBzCKi5c1L6XZ_MTOpbDNXd1lZLbc_Cp003c4j-B22Qvj95cY8GDikhoRQeU Message-ID: Subject: Re: proposal: schema variables To: Haritabh Gupta Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000893f4f064e93139c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000893f4f064e93139c Content-Type: multipart/alternative; boundary="000000000000893f4e064e93139a" --000000000000893f4e064e93139a Content-Type: text/plain; charset="UTF-8" Hi fix warning reported by cfbot Regards Pavel --000000000000893f4e064e93139a Content-Type: text/html; charset="UTF-8"
Hi

fix warning reported by cfbot

Regards

Pavel
--000000000000893f4e064e93139a-- --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260403-2-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja32yw0 RnJvbSA3NmNlOWZhNjU4NzZlM2I4NTkzNjRhOWJhYjc0ZTNhYTUwNTgwMWFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDE5IE5vdiAyMDI1IDE5OjM2OjA3ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMS8xMV0gQ1JFQVRFIFZBUklBQkxFLCBEUk9QIFZBUklBQkxFCgpJbnRyb2R1Y2Ugc2lt cGxlIChub24gdHJhbnNhY3Rpb25hbCkgaW1wbGVtZW50YXRpb24gb2YgYmFzaWMgRERMIHN0YXRl bWVudHMuCkJlY2F1c2Ugb25seSB0ZW1wb3JhcnkgdmFyaWFibGVzIGFyZSBhbGxvd2VkLCB3ZSBk b24ndCBuZWVkIGEgZGVkaWNhdGVkIGNhdGFsb2cuCgpUaGlzIGlzIHRoZSBtb3N0IHJlZHVjZWQg dmVyc2lvbiBvZiBkZWNsYXJlZCBzZXNzaW9uIHZhcmlhYmxlcyBpbXBsZW1lbnRhdGlvbi4KTWFp biBnb2FsIGlzIGludHJvZHVjdGlvbiBvZiBiYXNpYyBmdW5jdGlvbmFsaXR5IGFuZCByZWR1Y2lu ZyB0aGUgc2l6ZSBvZiB0aGUgcGF0Y2gKdG8gbWF4aW11bS4gVGhpcyBwYXRjaCBpcyBkZXNpZ25l ZCB0byBiZSBwb3NzaWJsZSB0byBtb3ZlIHRvIGNhdGFsb2cgYmFzZWQKaW1wbGVtZW50YXRpb24g d2l0aG91dCBjb21wYXRpYmlsaXR5IGJyZWFrLgoKU29tZSBkZXRhaWxzIGFib3V0IGRpZmZlcmVu dCBpbXBsZW1lbnRhdGlvbnMgb2Ygc2Vzc2lvbiB2YXJpYWJsZXMKCmh0dHBzOi8vd2lraS5wb3N0 Z3Jlc3FsLm9yZy93aWtpL0ltcGxlbWVudGF0aW9uX29mX2RlY2xhcmF0aXZlX2NhdGFsb2dfc2Vz c2lvbl92YXJpYWJsZXMKLS0tCiBkb2Mvc3JjL3NnbWwvZGRsLnNnbWwgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMjAgKysKIGRvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sICAgICAgICAgICAg ICAgICAgICB8ICAxNSArKwogZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAg ICAgICAgIHwgICAyICsKIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAg ICAgICB8IDEzMyArKysrKysrKysrKwogZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNn bWwgICAgICAgICAgIHwgIDg0ICsrKysrKysKIGRvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAg ICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYyAg ICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkICAg ICAgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmMgICAgICAgfCAyMTYgKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3Jh bS55ICAgICAgICAgICAgICAgICAgICAgfCAgNTUgKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRp bGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAyNiArKysKIHNyYy9iaW4vcHNxbC90YWItY29t cGxldGUuaW4uYyAgICAgICAgICAgICAgICB8ICAxMCArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgIDI1ICsrCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJz ZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgMjMgKysKIHNyYy9pbmNsdWRlL3BhcnNlci9rd2xp c3QuaCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xp c3QuaCAgICAgICAgICAgICAgICAgfCAgIDIgKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5vdXQgICAgICAgIHwgIDQzICsrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxf c2NoZWR1bGUgICAgICAgICAgICB8ICAgMiArLQogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwgICAgIHwgIDU2ICsrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgfCAgIDQgKwogMjEgZmlsZXMgY2hhbmdlZCwgNzE1IGluc2Vy dGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dt bC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQv Y29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1 ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAoK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kZGwuc2dt bAppbmRleCA3NDdmOTI5YWVlMy4uMTc2MTg4MTM1ODIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9kZGwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKQEAgLTU5MzYsNiArNTkzNiwy NiBAQCBTRUxFQ1QgLi4uIEZST00gR1JBUEhfVEFCTEUgKG15c2hvcCBNQVRDSCAoSVMgcGVyc29u IFdIRVJFIG5hbWUgPSAnLi4uJyktW10tPi4uLgogICA8L3BhcmE+CiAgPC9zZWN0MT4KIAorIDxz ZWN0MSBpZD0iZGRsLXNlc3Npb24tdmFyaWFibGVzIj4KKyAgIDx0aXRsZT5TZXNzaW9uIFZhcmlh YmxlczwvdGl0bGU+CisKKyAgIDxpbmRleHRlcm0gem9uZT0iZGRsLXNlc3Npb24tdmFyaWFibGVz Ij4KKyAgICA8cHJpbWFyeT5TZXNzaW9uIHZhcmlhYmxlczwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0 ZXJtPgorCisgICA8aW5kZXh0ZXJtPgorICAgIDxwcmltYXJ5PnNlc3Npb24gdmFyaWFibGU8L3By aW1hcnk+CisgICA8L2luZGV4dGVybT4KKworICAgPHBhcmE+CisgICAgU2Vzc2lvbiB2YXJpYWJs ZXMgYXJlIHRlbXBvcmFyeSBkYXRhYmFzZSBvYmplY3RzIHRoYXQgY2FuIGhvbGQgYSB2YWx1ZS4K KyAgICBBIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGNyZWF0ZWQgYnkgdGhlIDxjb21tYW5kPkNS RUFURSBWQVJJQUJMRTwvY29tbWFuZD4KKyAgICBjb21tYW5kIGFuZCBjYW4gb25seSBiZSBhY2Nl c3NlZCBieSBpdHMgb3duZXIuIFRoZSB2YWx1ZSBvZiBhIHNlc3Npb24KKyAgICB2YXJpYWJsZSBp cyBzdG9yZWQgaW4gc2Vzc2lvbiBtZW1vcnkgYW5kIGlzIHByaXZhdGUgdG8gZWFjaCBzZXNzaW9u LiBJdCBpcworICAgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRz LgorICAgPC9wYXJhPgorIDwvc2VjdDE+CisKICA8c2VjdDEgaWQ9ImRkbC1vdGhlcnMiPgogICA8 dGl0bGU+T3RoZXIgRGF0YWJhc2UgT2JqZWN0czwvdGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9nbG9zc2FyeS5zZ21sIGIvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwKaW5kZXgg MTEzZDc2NDA2MjYuLmI2YjgwZDQ0NmViIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZ2xvc3Nh cnkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbApAQCAtMTc0Myw2ICsxNzQz LDIxIEBACiAgICA8L2dsb3NzZGVmPgogICA8L2dsb3NzZW50cnk+CiAKKyAgPGdsb3NzZW50cnkg aWQ9Imdsb3NzYXJ5LXNlc3Npb24tdmFyaWFibGUiPgorICAgPGdsb3NzdGVybT5TZXNzaW9uIHZh cmlhYmxlPC9nbG9zc3Rlcm0+CisgICA8Z2xvc3NkZWY+CisgICAgPHBhcmE+CisgICAgIEEgdGVt cG9yYWwgZGF0YWJhc2Ugb2JqZWN0IHRoYXQgaG9sZHMgYSB2YWx1ZSBpbiBzZXNzaW9uIG1lbW9y eS4gIFRoaXMKKyAgICAgdmFsdWUgaXMgcHJpdmF0ZSB0byBlYWNoIHNlc3Npb24gYW5kIGlzIHJl bGVhc2VkIHdoZW4gdGhlIHNlc3Npb24gZW5kcy4KKyAgICAgVGhlIGRlZmF1bHQgdmFsdWUgb2Yg dGhlIHNlc3Npb24gdmFyaWFibGUgaXMgbnVsbC4gIFJlYWQgb3Igd3JpdGUgYWNjZXNzCisgICAg IHRvIHNlc3Npb24gdmFyaWFibGVzIGlzIGFsbG93ZWQgb25seSB0byBvd25lciAoY3JlYXRvciku CisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2Vl IDx4cmVmIGxpbmtlbmQ9ImRkbC1zZXNzaW9uLXZhcmlhYmxlcyIvPi4KKyAgICA8L3BhcmE+Cisg ICA8L2dsb3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGdsb3NzZW50cnkgaWQ9Imdsb3Nz YXJ5LXNoYXJlZC1tZW1vcnkiPgogICAgPGdsb3NzdGVybT5TaGFyZWQgbWVtb3J5PC9nbG9zc3Rl cm0+CiAgICA8Z2xvc3NkZWY+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVz LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwKaW5kZXggZTFhNTZjMzYyMjEu LjM1ZDQ4NWY1YmM0IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCkBAIC0xMDEsNiArMTAxLDcgQEAg Q29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3Rv cnkuCiA8IUVOVElUWSBjcmVhdGVUeXBlICAgICAgICAgU1lTVEVNICJjcmVhdGVfdHlwZS5zZ21s Ij4KIDwhRU5USVRZIGNyZWF0ZVVzZXIgICAgICAgICBTWVNURU0gImNyZWF0ZV91c2VyLnNnbWwi PgogPCFFTlRJVFkgY3JlYXRlVXNlck1hcHBpbmcgIFNZU1RFTSAiY3JlYXRlX3VzZXJfbWFwcGlu Zy5zZ21sIj4KKzwhRU5USVRZIGNyZWF0ZVZhcmlhYmxlICAgICBTWVNURU0gImNyZWF0ZV92YXJp YWJsZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVZpZXcgICAgICAgICBTWVNURU0gImNyZWF0ZV92 aWV3LnNnbWwiPgogPCFFTlRJVFkgZGVhbGxvY2F0ZSAgICAgICAgIFNZU1RFTSAiZGVhbGxvY2F0 ZS5zZ21sIj4KIDwhRU5USVRZIGRlY2xhcmUgICAgICAgICAgICBTWVNURU0gImRlY2xhcmUuc2dt bCI+CkBAIC0xNTAsNiArMTUxLDcgQEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3Vy Y2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVOVElUWSBkcm9wVHlwZSAgICAgICAgICAg U1lTVEVNICJkcm9wX3R5cGUuc2dtbCI+CiA8IUVOVElUWSBkcm9wVXNlciAgICAgICAgICAgU1lT VEVNICJkcm9wX3VzZXIuc2dtbCI+CiA8IUVOVElUWSBkcm9wVXNlck1hcHBpbmcgICAgU1lTVEVN ICJkcm9wX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwhRU5USVRZIGRyb3BWYXJpYWJsZSAgICAgICBT WVNURU0gImRyb3BfdmFyaWFibGUuc2dtbCI+CiA8IUVOVElUWSBkcm9wVmlldyAgICAgICAgICAg U1lTVEVNICJkcm9wX3ZpZXcuc2dtbCI+CiA8IUVOVElUWSBlbmQgICAgICAgICAgICAgICAgU1lT VEVNICJlbmQuc2dtbCI+CiA8IUVOVElUWSBleGVjdXRlICAgICAgICAgICAgU1lTVEVNICJleGVj dXRlLnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUu c2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRlOGMxOTQwMjUyCi0tLSAvZGV2L251bGwKKysr IGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApAQCAtMCwwICsxLDEzMyBA QAorPCEtLQorZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAorUG9zdGdyZVNR TCBkb2N1bWVudGF0aW9uCistLT4KKworPHJlZmVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUi PgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWNyZWF0ZXZhcmlhYmxlIj4KKyAgPHByaW1hcnk+Q1JF QVRFIFZBUklBQkxFPC9wcmltYXJ5PgorIDwvaW5kZXh0ZXJtPgorCisgPGluZGV4dGVybT4KKyAg PHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJpbWFyeT4KKyAgPHNlY29uZGFyeT5kZWZpbmlu Zzwvc2Vjb25kYXJ5PgorIDwvaW5kZXh0ZXJtPgorCisgPHJlZm1ldGE+CisgIDxyZWZlbnRyeXRp dGxlPkNSRUFURSBWQVJJQUJMRTwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52 b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNj aW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+Q1JFQVRFIFZB UklBQkxFPC9yZWZuYW1lPgorICA8cmVmcHVycG9zZT5kZWZpbmUgYSBzZXNzaW9uIHZhcmlhYmxl PC9yZWZwdXJwb3NlPgorIDwvcmVmbmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5v cHNpcz4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+IFsgQVMgXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+Cisg PC9yZWZzeW5vcHNpc2Rpdj4KKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5EZXNjcmlwdGlvbjwvdGl0 bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1hbmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5k PiBjb21tYW5kIGNyZWF0ZXMgYSBzZXNzaW9uCisgICB2YXJpYWJsZS4gQ3VycmVudGx5IG9ubHkg dGVtcG9yYXJ5IHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQsCisgICBhbmQgdGhlbiB0 aGUga2V5d29yZCA8bGl0ZXJhbD5URU1QT1JBUlk8L2xpdGVyYWw+IGlzIHJlcXVpcmVkLgorICA8 L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGUgdmFsdWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlz IGxvY2FsIHRvIHRoZSBjdXJyZW50IHNlc3Npb24uICBSZXRyaWV2aW5nCisgICBhIHNlc3Npb24g dmFyaWFibGUncyB2YWx1ZSByZXR1cm5zIE5VTEwsIHVubGVzcyBpdHMgdmFsdWUgaXMgc2V0IHRv CisgICBzb21ldGhpbmcgZWxzZSBpbiB0aGUgY3VycmVudCBzZXNzaW9uIHdpdGggYSA8Y29tbWFu ZD5MRVQ8L2NvbW1hbmQ+IGNvbW1hbmQuCisgICBUaGUgY29udGVudCBvZiBhIHNlc3Npb24gdmFy aWFibGUgaXMgbm90IHRyYW5zYWN0aW9uYWwuIFRoaXMgaXMgdGhlIHNhbWUgYXMKKyAgIHJlZ3Vs YXIgdmFyaWFibGVzIGluIHByb2NlZHVyYWwgbGFuZ3VhZ2VzLgorICA8L3BhcmE+CisKKyAgPHBh cmE+CisgICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUgcmV0cmlldmVkIGJ5IHRoZSA8Y29tbWFuZD5T RUxFQ1Q8L2NvbW1hbmQ+CisgICBjb21tYW5kLiAgVGhlaXIgdmFsdWUgaXMgc2V0IHdpdGggdGhl IDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFuZC4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgor ICAgU2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgaW4gdmlld3Mgb3IgaW4gU1FMIGZ1 bmN0aW9ucyB1c2luZworICAgU1FMLWNvbmZvcm1pbmcgc3R5bGUgc3ludGF4LgorICA8L3BhcmE+ CisKKyAgPG5vdGU+CisgICA8cGFyYT4KKyAgICBTZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUgPHF1 b3RlPnNoYWRvd2VkPC9xdW90ZT4gYnkgb3RoZXIgaWRlbnRpZmllcnMuCisgICAgRm9yIGRldGFp bHMsIHNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtc2Vzc2lvbi12YXJpYWJsZXMiLz4uCisgICA8L3Bh cmE+CisgIDwvbm90ZT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFy YW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlhYmxlbGlzdD4KKworICAgPHZhcmxpc3RlbnRyeSBp ZD0ic3FsLWNyZWF0ZXZhcmlhYmxlLW5hbWUiPgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgor ICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9mIHRoZSBzZXNzaW9uIHZhcmlhYmxlLgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFy bGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUtZGF0YV90eXBlIj4KKyAgICA8dGVybT48 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT48L3Rl cm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lLCBvcHRpb25h bGx5IHNjaGVtYS1xdWFsaWZpZWQsIG9mIHRoZSBkYXRhIHR5cGUgb2YgdGhlIHNlc3Npb24KKyAg ICAgIHZhcmlhYmxlLiBPbmx5IGJ1aWxkaW4gc2NhbGFyIGRhdGEgdHlwZXMgYXJlIGFsbG93ZWQu IEFycmF5cyBvciBjb21wb3NpdGUKKyAgICAgIHR5cGVzIGFyZSBub3QgYWxsb3dlZC4KKyAgICAg PC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICA8L3Zhcmlh YmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+Tm90ZXM8L3Rp dGxlPgorCisgIDxwYXJhPgorICAgVXNlIHRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21t YW5kPiBjb21tYW5kIHRvIHJlbW92ZSBhIHNlc3Npb24KKyAgIHZhcmlhYmxlLgorICA8L3BhcmE+ CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4K KworICA8cGFyYT4KKyAgIENyZWF0ZSBhbiBkYXRlIHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+ dmFyMTwvbGl0ZXJhbD46Cis8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgVEVNUE9SQVJZIFZBUklB QkxFIHZhcjEgQVMgZGF0ZTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKworIDwvcmVm c2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKwor ICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5DUkVBVEUgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1h bmQgaXMgYQorICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNp b24uCisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2Vl IEFsc288L3RpdGxlPgorCisgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVy Pjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVs aXN0PgorIDwvcmVmc2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJs ZS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lODUxN2E3ODIw MAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21s CkBAIC0wLDAgKzEsODQgQEAKKzwhLS0KK2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5z Z21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KKy0tPgorCis8cmVmZW50cnkgaWQ9InNxbC1k cm9wdmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWRyb3B2YXJpYWJsZSI+CisgIDxw cmltYXJ5PkRST1AgVkFSSUFCTEU8L3ByaW1hcnk+CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0 ZXJtPgorICA8cHJpbWFyeT5zZXNzaW9uIHZhcmlhYmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5 PnJlbW92aW5nPC9zZWNvbmRhcnk+CisgPC9pbmRleHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJl ZmVudHJ5dGl0bGU+RFJPUCBWQVJJQUJMRTwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43 PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9y ZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+RFJP UCBWQVJJQUJMRTwvcmVmbmFtZT4KKyAgPHJlZnB1cnBvc2U+cmVtb3ZlIGEgc2Vzc2lvbiB2YXJp YWJsZTwvcmVmcHVycG9zZT4KKyA8L3JlZm5hbWVkaXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8 c3lub3BzaXM+CitEUk9QIFZBUklBQkxFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5u YW1lPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxy ZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxj b21tYW5kPkRST1AgVkFSSUFCTEU8L2NvbW1hbmQ+IHJlbW92ZXMgYSBzZXNzaW9uIHZhcmlhYmxl LgorICAgQSBzZXNzaW9uIHZhcmlhYmxlIGNhbiBvbmx5IGJlIHJlbW92ZWQgYnkgaXRzIG93bmVy IG9yIGEgc3VwZXJ1c2VyLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4K KyAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgorICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxp c3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwv cmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBU aGUgbmFtZSBvZiBhIHNlc3Npb24gdmFyaWFibGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+ CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5FeGFtcGxlczwvdGl0bGU+CisKKyAgPHBhcmE+Cisg ICBUbyByZW1vdmUgdGhlIHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46 CisKKzxwcm9ncmFtbGlzdGluZz4KK0RST1AgVkFSSUFCTEUgdmFyMTsKKzwvcHJvZ3JhbWxpc3Rp bmc+PC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21wYXRp YmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxF PC9jb21tYW5kPiBjb21tYW5kIGlzIGEKKyAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9k dWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0 MT4KKyAgPHRpdGxlPlNlZSBBbHNvPC90aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxp bmUiPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21l bWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJl bmNlLnNnbWwKaW5kZXggNjc0YWMxN2U4MmMuLjM0MmE3YWZiNTE3IDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21s CkBAIC0xMjksNiArMTI5LDcgQEAKICAgICZjcmVhdGVUeXBlOwogICAgJmNyZWF0ZVVzZXI7CiAg ICAmY3JlYXRlVXNlck1hcHBpbmc7CisgICAmY3JlYXRlVmFyaWFibGU7CiAgICAmY3JlYXRlVmll dzsKICAgICZkZWFsbG9jYXRlOwogICAgJmRlY2xhcmU7CkBAIC0xNzgsNiArMTc5LDcgQEAKICAg ICZkcm9wVHlwZTsKICAgICZkcm9wVXNlcjsKICAgICZkcm9wVXNlck1hcHBpbmc7CisgICAmZHJv cFZhcmlhYmxlOwogICAgJmRyb3BWaWV3OwogICAgJmVuZDsKICAgICZleGVjdXRlOwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9NYWtlZmlsZQppbmRleCBjMTBmZGJhMmJiYi4uNzczOWYzODk3ZWQgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01h a2VmaWxlCkBAIC01NSw2ICs1NSw3IEBAIE9CSlMgPSBcCiAJc2VjbGFiZWwubyBcCiAJc2VxdWVu Y2UubyBcCiAJc2VxdWVuY2VfeGxvZy5vIFwKKwlzZXNzaW9uX3ZhcmlhYmxlLm8gXAogCXN0YXRz Y21kcy5vIFwKIAlzdWJzY3JpcHRpb25jbWRzLm8gXAogCXRhYmxlY21kcy5vIFwKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9kcm9wY21kcy5jCmluZGV4IDg4YTJkZjY1YzY5Li5kM2QzYTRhZDUyYiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9kcm9wY21kcy5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1l c3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjb21tYW5k cy9kZWZyZW0uaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5j bHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNs dWRlICJ1dGlscy9hY2wuaCIKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29u LmJ1aWxkIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQKaW5kZXggOTBjN2UzN2E0 MjkuLmU4YTAxOGJkZDJhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5i dWlsZAorKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZApAQCAtNDMsNiArNDMs NyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMoCiAgICdzZWNsYWJlbC5jJywKICAgJ3NlcXVl bmNlLmMnLAogICAnc2VxdWVuY2VfeGxvZy5jJywKKyAgJ3Nlc3Npb25fdmFyaWFibGUuYycsCiAg ICdzdGF0c2NtZHMuYycsCiAgICdzdWJzY3JpcHRpb25jbWRzLmMnLAogICAndGFibGVjbWRzLmMn LApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5hODY1YTRjMTBjNAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtMCwwICsxLDIxNiBAQAor LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogc2Vzc2lvbl92YXJpYWJsZS5jCisgKgkgIHNlc3Np b24gdmFyaWFibGUgY3JlYXRpb24vbWFuaXB1bGF0aW9uIGNvbW1hbmRzCisgKgorICogUG9ydGlv bnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVu aXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBz cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKyAqCisgKi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAqLworI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJjYXRhbG9nL3Bn X2xhbmd1YWdlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1 ZGUgInBhcnNlci9wYXJzZV90eXBlLmgiCisjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5j bHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgorI2luY2x1 ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisKKy8q CisgKiBUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN0b3JlZCBpbiB0aGUgYmFja2VuZCdzIHBy aXZhdGUgbWVtb3J5IChkYXRhLAorICogbWV0YWRhdGEpIGluIHRoZSBkZWRpY2F0ZWQgbWVtb3J5 IGNvbnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCBpbiBiaW5hcnkKKyAqIGZvcm1hdC4gVGhl eSBhcmUgc3RvcmVkIGluIHRoZSAic2Vzc2lvbnZhcnMiIGhhc2ggdGFibGUsIHdob3NlIGtleSBp cyB0aGUKKyAqIG5hbWUgb2YgdGhlIHZhcmlhYmxlLgorICoKKyAqIE9ubHkgb3duZXIgKGNyZWF0 b3IpIGNhbiBhY2Nlc3MgdGhlIHNlc3Npb24gdmFyaWFibGVzLiBCZWNhdXNlIHRoZXJlIGlzCisg KiBub3QgY2F0YWxvZyBzdXBwb3J0LCB0aGVyZSBpcyBub3QgcG9zc2liaWxpdHkgdG8gdHJhY2sg ZGVwZW5kZWNpZXMsIGFuZAorICogdGhlbiBvbmx5IGJ1aWxkaW4gdHlwZXMuCisgKi8KK3R5cGVk ZWYgc3RydWN0IFNWYXJpYWJsZURhdGEKK3sKKwlOYW1lRGF0YQl2YXJuYW1lOworCisJT2lkCQkJ dmFyb3duZXI7CisJT2lkCQkJdmFydHlwZTsKKwlpbnQzMgkJdmFydHlwbW9kOworCU9pZAkJCXZh cmNvbGxhdGlvbjsKKworCWJvb2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7CisKKwlpbnQxNgkJ dHlwbGVuOworCWJvb2wJCXR5cGJ5dmFsOworfSBTVmFyaWFibGVEYXRhOworCit0eXBlZGVmIFNW YXJpYWJsZURhdGEgKlNWYXJpYWJsZTsKKworc3RhdGljIEhUQUIgKnNlc3Npb252YXJzID0gTlVM TDsJLyogaGFzaCB0YWJsZSBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKworc3RhdGljIE1lbW9y eUNvbnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCA9IE5VTEw7CisKKy8qCisgKiBDcmVhdGUg dGhlIGhhc2ggdGFibGUgZm9yIHN0b3Jpbmcgc2Vzc2lvbiB2YXJpYWJsZXMuCisgKi8KK3N0YXRp YyB2b2lkCitjcmVhdGVfc2Vzc2lvbnZhcnNfaGFzaHRhYmxlcyh2b2lkKQoreworCUhBU0hDVEwJ CXZhcnNfY3RsOworCisJQXNzZXJ0KCFzZXNzaW9udmFycyk7CisKKwlpZiAoIVNWYXJpYWJsZU1l bW9yeUNvbnRleHQpCisJeworCQkvKiB3ZSBuZWVkIG91ciBvd24gbG9uZy1saXZlZCBtZW1vcnkg Y29udGV4dCAqLworCQlTVmFyaWFibGVNZW1vcnlDb250ZXh0ID0KKwkJCUFsbG9jU2V0Q29udGV4 dENyZWF0ZShUb3BNZW1vcnlDb250ZXh0LAorCQkJCQkJCQkgICJzZXNzaW9uIHZhcmlhYmxlcyIs CisJCQkJCQkJCSAgQUxMT0NTRVRfU1RBUlRfU01BTExfU0laRVMpOworCX0KKworCXZhcnNfY3Rs LmtleXNpemUgPSBOQU1FREFUQUxFTjsKKwl2YXJzX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoU1Zh cmlhYmxlRGF0YSk7CisJdmFyc19jdGwuaGN4dCA9IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQ7CisK KwlzZXNzaW9udmFycyA9IGhhc2hfY3JlYXRlKCJTZXNzaW9uIHZhcmlhYmxlcyIsIDY0LCAmdmFy c19jdGwsCisJCQkJCQkJICBIQVNIX0VMRU0gfCBIQVNIX1NUUklOR1MgfCBIQVNIX0NPTlRFWFQp OworfQorCisvKgorICogUmV0dXJucyBlbnRyeSBvZiBzZXNzaW9uIHZhcmlhYmxlIHNwZWNpZmll ZCBieSBuYW1lCisgKi8KK3N0YXRpYyBTVmFyaWFibGUKK3NlYXJjaF92YXJpYWJsZShjaGFyICp2 YXJuYW1lKQoreworCVNWYXJpYWJsZQlzdmFyOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3Jl YXRlX3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNo X3NlYXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKKwkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxM KTsKKworCWlmICghc3ZhcikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wi IGRvZXNuJ3QgZXhpc3QiLAorCQkJCQkJdmFybmFtZSkpKTsKKworCXJldHVybiBzdmFyOworfQor CisvKgorICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGluIHNlc3Np b252YXJzCisgKgorICogVXNlZCBieSBDUkVBVEUgVkFSSUFCTEUgY29tbWFuZAorICovCit2b2lk CitDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10 ICpzdG10KQoreworCU9pZAkJCXR5cGVpZDsKKwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCXR5cGNv bGxhdGlvbjsKKwlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOworCVNWYXJpYWJsZQlzdmFy OworCWJvb2wJCWZvdW5kOworCWludDE2CQl0eXBsZW47CisJYm9vbAkJdHlwYnl2YWw7CisKKwkv KgorCSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFzZWQsIGJ1dCB3 ZSBleHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBmdXR1cmUsIHNv IHdlIGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZSZWFkT25seSgi Q1JFQVRFIFZBUklBQkxFIik7CisJUHJldmVudENvbW1hbmRJZlBhcmFsbGVsTW9kZSgiQ1JFQVRF IFZBUklBQkxFIik7CisJUHJldmVudENvbW1hbmREdXJpbmdSZWNvdmVyeSgiQ1JFQVRFIFZBUklB QkxFIik7CisKKwl0eXBlbmFtZVR5cGVJZEFuZE1vZChwc3RhdGUsIHN0bXQtPnR5cGVOYW1lLCAm dHlwZWlkLCAmdHlwbW9kKTsKKworCWlmIChnZXRfdHlwdHlwZSh0eXBlaWQpICE9IFRZUFRZUEVf QkFTRSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9U X1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygiJXMgaXMgbm90IGEgYmFzZSB0eXBlIiwKKwkJCQkJ CWZvcm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwlpZiAoT2lkSXNWYWxpZChnZXRfZWxlbWVu dF90eXBlKHR5cGVpZCkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf RkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCIlcyB0eXBlIGlzIGFuIGFycmF5 IiwKKwkJCQkJCWZvcm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwkvKiBhbGxvdyBvbmx5IGJ1 aWxkaW4gdHlwZXMgKi8KKwlpZiAodHlwZWlkID49IEZpcnN0VW5waW5uZWRPYmplY3RJZCkKKwkJ ZXJlcG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVE KSwKKwkJCQllcnJtc2coInNlc3Npb24gdmFyaWFibGUgY2Fubm90IGhhdmUgYSB1c2VyLWRlZmlu ZWQgdHlwZSIpLAorCQkJCWVycmRldGFpbCgiU2Vzc2lvbiB2YXJpYWJsZXMgdGhhdCBtYWtlIHVz ZSBvZiB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLiIpKTsKKworCWdl dF90eXBsZW5ieXZhbCh0eXBlaWQsICZ0eXBsZW4sICZ0eXBieXZhbCk7CisJdHlwY29sbGF0aW9u ID0gZ2V0X3R5cGNvbGxhdGlvbih0eXBlaWQpOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3Jl YXRlX3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSBoYXNoX3NlYXJjaChzZXNz aW9udmFycywgc3RtdC0+bmFtZSwKKwkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKKworCWlm IChmb3VuZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9PQkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkg ZXhpc3RzIiwKKwkJCQkJCXN0bXQtPm5hbWUpKSk7CisKKwluYW1lc3RyY3B5KCZzdmFyLT52YXJu YW1lLCBzdG10LT5uYW1lKTsKKwlzdmFyLT52YXJ0eXBlID0gdHlwZWlkOworCXN2YXItPnZhcnR5 cG1vZCA9IHR5cG1vZDsKKwlzdmFyLT52YXJjb2xsYXRpb24gPSB0eXBjb2xsYXRpb247CisJc3Zh ci0+dmFyb3duZXIgPSB2YXJvd25lcjsKKwlzdmFyLT50eXBsZW4gPSB0eXBsZW47CisJc3Zhci0+ dHlwYnl2YWwgPSB0eXBieXZhbDsKKworCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOworCXN2YXIt PmlzbnVsbCA9IHRydWU7Cit9CisKKy8qCisgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKKyAqLwor dm9pZAorRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxlCXN2 YXI7CisKKwkvKgorCSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFz ZWQsIGJ1dCB3ZSBleHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBm dXR1cmUsIHNvIHdlIGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZS ZWFkT25seSgiRFJPUCBWQVJJQUJMRSIpOworCVByZXZlbnRDb21tYW5kSWZQYXJhbGxlbE1vZGUo IkRST1AgVkFSSUFCTEUiKTsKKwlQcmV2ZW50Q29tbWFuZER1cmluZ1JlY292ZXJ5KCJEUk9QIFZB UklBQkxFIik7CisKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCisJLyogb25s eSBvd25lciBjYW4gZ2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KKwlpZiAoc3Zhci0+dmFyb3du ZXIgIT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJ CShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJIGVycm1zZygi bXVzdCBiZSBvd25lciBvZiBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7 CisKKwlpZiAoIXN2YXItPnR5cGJ5dmFsICYmICFzdmFyLT5pc251bGwpCisJCXBmcmVlKERhdHVt R2V0UG9pbnRlcihzdmFyLT52YWx1ZSkpOworCisJaWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJz LAorCQkJCQkgICB2YXJuYW1lLAorCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJICAgTlVMTCkg PT0gTlVMTCkKKwkJZWxvZyhFUlJPUiwgImhhc2ggdGFibGUgY29ycnVwdGVkIik7Cit9CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueQppbmRleCBmNGEwOGJhYTk1YS4uMWFmYzc3YmY1YTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMjky LDE0ICsyOTIsMTQgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIg KnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJQ29uc3RyYWludHNTZXRT dG10IENvcHlTdG10IENyZWF0ZUFzU3RtdCBDcmVhdGVDYXN0U3RtdAogCQlDcmVhdGVEb21haW5T dG10IENyZWF0ZUV4dGVuc2lvblN0bXQgQ3JlYXRlR3JvdXBTdG10IENyZWF0ZU9wQ2xhc3NTdG10 CiAJCUNyZWF0ZU9wRmFtaWx5U3RtdCBBbHRlck9wRmFtaWx5U3RtdCBDcmVhdGVQTGFuZ1N0bXQK LQkJQ3JlYXRlU2NoZW1hU3RtdCBDcmVhdGVTZXFTdG10IENyZWF0ZVN0bXQgQ3JlYXRlU3RhdHNT dG10IENyZWF0ZVRhYmxlU3BhY2VTdG10Ci0JCUNyZWF0ZUZkd1N0bXQgQ3JlYXRlRm9yZWlnblNl cnZlclN0bXQgQ3JlYXRlRm9yZWlnblRhYmxlU3RtdAorCQlDcmVhdGVTY2hlbWFTdG10IENyZWF0 ZVNlcVN0bXQgQ3JlYXRlU2Vzc2lvblZhclN0bXQgQ3JlYXRlU3RtdCBDcmVhdGVTdGF0c1N0bXQK KwkJQ3JlYXRlVGFibGVTcGFjZVN0bXQgQ3JlYXRlRmR3U3RtdCBDcmVhdGVGb3JlaWduU2VydmVy U3RtdCBDcmVhdGVGb3JlaWduVGFibGVTdG10CiAJCUNyZWF0ZUFzc2VydGlvblN0bXQgQ3JlYXRl VHJhbnNmb3JtU3RtdCBDcmVhdGVUcmlnU3RtdCBDcmVhdGVFdmVudFRyaWdTdG10CiAJCUNyZWF0 ZVByb3BHcmFwaFN0bXQgQWx0ZXJQcm9wR3JhcGhTdG10CiAJCUNyZWF0ZVVzZXJTdG10IENyZWF0 ZVVzZXJNYXBwaW5nU3RtdCBDcmVhdGVSb2xlU3RtdCBDcmVhdGVQb2xpY3lTdG10CiAJCUNyZWF0 ZWRiU3RtdCBEZWNsYXJlQ3Vyc29yU3RtdCBEZWZpbmVTdG10IERlbGV0ZVN0bXQgRGlzY2FyZFN0 bXQgRG9TdG10CiAJCURyb3BPcENsYXNzU3RtdCBEcm9wT3BGYW1pbHlTdG10IERyb3BTdG10Ci0J CURyb3BDYXN0U3RtdCBEcm9wUm9sZVN0bXQKKwkJRHJvcENhc3RTdG10IERyb3BSb2xlU3RtdCBE cm9wU2Vzc2lvblZhclN0bXQKIAkJRHJvcGRiU3RtdCBEcm9wVGFibGVTcGFjZVN0bXQKIAkJRHJv cFRyYW5zZm9ybVN0bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWluU3RtdCBGZXRjaFN0 bXQKQEAgLTgyOCw4ICs4MjgsOCBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxl Y3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCVVFU0NBUEUg VU5CT1VOREVEIFVOQ09ORElUSU9OQUwgVU5DT01NSVRURUQgVU5FTkNSWVBURUQgVU5JT04gVU5J UVVFIFVOS05PV04KIAlVTkxJU1RFTiBVTkxPR0dFRCBVTlRJTCBVUERBVEUgVVNFUiBVU0lORwog Ci0JVkFDVVVNIFZBTElEIFZBTElEQVRFIFZBTElEQVRPUiBWQUxVRV9QIFZBTFVFUyBWQVJDSEFS IFZBUklBRElDIFZBUllJTkcKLQlWRVJCT1NFIFZFUlNJT05fUCBWRVJURVggVklFVyBWSUVXUyBW SVJUVUFMIFZPTEFUSUxFCisJVkFDVVVNIFZBTElEIFZBTElEQVRFIFZBTElEQVRPUiBWQUxVRV9Q IFZBTFVFUyBWQVJDSEFSIFZBUklBRElDIFZBUklBQkxFCisJVkFSWUlORyBWRVJCT1NFIFZFUlNJ T05fUCBWRVJURVggVklFVyBWSUVXUyBWSVJUVUFMIFZPTEFUSUxFCiAKIAlXQUlUIFdIRU4gV0hF UkUgV0hJVEVTUEFDRV9QIFdJTkRPVyBXSVRIIFdJVEhJTiBXSVRIT1VUIFdPUksgV1JBUFBFUiBX UklURQogCkBAIC0xMDk5LDYgKzEwOTksNyBAQCBzdG10OgogCQkJfCBDcmVhdGVQTGFuZ1N0bXQK IAkJCXwgQ3JlYXRlUHJvcEdyYXBoU3RtdAogCQkJfCBDcmVhdGVTY2hlbWFTdG10CisJCQl8IENy ZWF0ZVNlc3Npb25WYXJTdG10CiAJCQl8IENyZWF0ZVNlcVN0bXQKIAkJCXwgQ3JlYXRlU3RtdAog CQkJfCBDcmVhdGVTdWJzY3JpcHRpb25TdG10CkBAIC0xMTI2LDYgKzExMjcsNyBAQCBzdG10Ogog CQkJfCBEcm9wVGFibGVTcGFjZVN0bXQKIAkJCXwgRHJvcFRyYW5zZm9ybVN0bXQKIAkJCXwgRHJv cFJvbGVTdG10CisJCQl8IERyb3BTZXNzaW9uVmFyU3RtdAogCQkJfCBEcm9wVXNlck1hcHBpbmdT dG10CiAJCQl8IERyb3BkYlN0bXQKIAkJCXwgRXhlY3V0ZVN0bXQKQEAgLTU0NDIsNiArNTQ0NCw0 NyBAQCBjcmVhdGVfZXh0ZW5zaW9uX29wdF9pdGVtOgogCQkJCX0KIAkJOwogCisvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJQ1JFQVRFIHsgVEVNUCB8IFRFTVBP UkFSWSB9IFZBUklBQkxFIHZhcm5hbWUgW0FTXSB0eXBlCisgKgorICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLworCitDcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJCUNSRUFURSBPcHRUZW1wIFZBUklBQkxF IENvbElkIG9wdF9hcyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRlU2Vzc2lvblZhclN0bXQg Km4gPSBtYWtlTm9kZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJCQkJaWYgKCQyICE9IFJF TFBFUlNJU1RFTkNFX1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2Rl KEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNnKCJvbmx5IHRl bXBvcmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwKKwkJCQkJCQkgcGFyc2Vy X2VycnBvc2l0aW9uKEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNDsKKwkJCQkJbi0+dHlwZU5h bWUgPSAkNjsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCisvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJRFJPUCBWQVJJQUJMRSB2YXJuYW1l CisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitEcm9wU2Vzc2lvblZhclN0bXQ6CisJCQlE Uk9QIFZBUklBQkxFIENvbElkCisJCQkJeworCQkJCQlEcm9wU2Vzc2lvblZhclN0bXQgKm4gPSBt YWtlTm9kZShEcm9wU2Vzc2lvblZhclN0bXQpOworCisJCQkJCW4tPm5hbWUgPSAkMzsKKwkJCQkJ JCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCiAvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAq CiAgKiBBTFRFUiBFWFRFTlNJT04gbmFtZSBVUERBVEUgWyBUTyB2ZXJzaW9uIF0KQEAgLTE5MTQ2 LDYgKzE5MTg5LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBWQUxJREFURQogCQkJfCBW QUxJREFUT1IKIAkJCXwgVkFMVUVfUAorCQkJfCBWQVJJQUJMRQogCQkJfCBWQVJZSU5HCiAJCQl8 IFZFUlNJT05fUAogCQkJfCBWRVJURVgKQEAgLTE5ODE4LDYgKzE5ODYyLDcgQEAgYmFyZV9sYWJl bF9rZXl3b3JkOgogCQkJfCBWQUxVRV9QCiAJCQl8IFZBTFVFUwogCQkJfCBWQVJDSEFSCisJCQl8 IFZBUklBQkxFCiAJCQl8IFZBUklBRElDCiAJCQl8IFZFUkJPU0UKIAkJCXwgVkVSU0lPTl9QCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3Av dXRpbGl0eS5jCmluZGV4IDJiNjA5YmZjODI0Li4yNjk5ODM5ODdlYiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMK QEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9zY2hlbWFjbWRzLmgiCiAjaW5j bHVkZSAiY29tbWFuZHMvc2VjbGFiZWwuaCIKICNpbmNsdWRlICJjb21tYW5kcy9zZXF1ZW5jZS5o IgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRlICJjb21t YW5kcy9zdWJzY3JpcHRpb25jbWRzLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdGFibGVjbWRzLmgi CiAjaW5jbHVkZSAiY29tbWFuZHMvdGFibGVzcGFjZS5oIgpAQCAtMTg2LDYgKzE4Nyw3IEBAIENs YXNzaWZ5VXRpbGl0eUNvbW1hbmRBc1JlYWRPbmx5KE5vZGUgKnBhcnNldHJlZSkKIAkJY2FzZSBU X0NyZWF0ZVJhbmdlU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVJvbGVTdG10OgogCQljYXNlIFRfQ3Jl YXRlU2NoZW1hU3RtdDoKKwkJY2FzZSBUX0NyZWF0ZVNlc3Npb25WYXJTdG10OgogCQljYXNlIFRf Q3JlYXRlU2VxU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVN0YXRzU3RtdDoKIAkJY2FzZSBUX0NyZWF0 ZVN0bXQ6CkBAIC0yMDQsNiArMjA2LDcgQEAgQ2xhc3NpZnlVdGlsaXR5Q29tbWFuZEFzUmVhZE9u bHkoTm9kZSAqcGFyc2V0cmVlKQogCQljYXNlIFRfRHJvcFRhYmxlU3BhY2VTdG10OgogCQljYXNl IFRfRHJvcFVzZXJNYXBwaW5nU3RtdDoKIAkJY2FzZSBUX0Ryb3BkYlN0bXQ6CisJCWNhc2UgVF9E cm9wU2Vzc2lvblZhclN0bXQ6CiAJCWNhc2UgVF9HcmFudFJvbGVTdG10OgogCQljYXNlIFRfR3Jh bnRTdG10OgogCQljYXNlIFRfSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQ6CkBAIC0xMDY2LDYgKzEw NjksMTUgQEAgc3RhbmRhcmRfUHJvY2Vzc1V0aWxpdHkoUGxhbm5lZFN0bXQgKnBzdG10LAogCQkJ fQogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0NyZWF0ZVNlc3Npb25WYXJTdG10OgorCQkJQ3JlYXRl VmFyaWFibGUocHN0YXRlLCAoQ3JlYXRlU2Vzc2lvblZhclN0bXQgKikgcGFyc2V0cmVlKTsKKwkJ CWJyZWFrOworCisJCWNhc2UgVF9Ecm9wU2Vzc2lvblZhclN0bXQ6CisJCQkvKiBObyBldmVudCB0 cmlnZ2VycyBmb3IgY2F0YWxvZyBsZXNzIHNlc3Npb24gdmFyaWFibGVzICovCisJCQlEcm9wVmFy aWFibGVCeU5hbWUoKChEcm9wU2Vzc2lvblZhclN0bXQgKikgcGFyc2V0cmVlKS0+bmFtZSk7CisJ CQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJLyogQWxsIG90aGVyIHN0YXRlbWVudCB0eXBlcyBo YXZlIGV2ZW50IHRyaWdnZXIgc3VwcG9ydCAqLwogCQkJUHJvY2Vzc1V0aWxpdHlTbG93KHBzdGF0 ZSwgcHN0bXQsIHF1ZXJ5U3RyaW5nLApAQCAtMTM5MSw2ICsxNDAzLDcgQEAgUHJvY2Vzc1V0aWxp dHlTbG93KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQl9CiAJCQkJYnJlYWs7CiAKKwogCQkJCS8q CiAJCQkJICogKioqKioqKioqKioqKiBvYmplY3QgY3JlYXRpb24gLyBkZXN0cnVjdGlvbiAqKioq KioqKioqKioqKgogCQkJCSAqLwpAQCAtMzI2NSw2ICszMjc4LDE0IEBAIENyZWF0ZUNvbW1hbmRU YWcoTm9kZSAqcGFyc2V0cmVlKQogCQkJfQogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0NyZWF0ZVNl c3Npb25WYXJTdG10OgorCQkJdGFnID0gQ01EVEFHX0NSRUFURV9WQVJJQUJMRTsKKwkJCWJyZWFr OworCisJCWNhc2UgVF9Ecm9wU2Vzc2lvblZhclN0bXQ6CisJCQl0YWcgPSBDTURUQUdfRFJPUF9W QVJJQUJMRTsKKwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAJCQllbG9nKFdBUk5JTkcsICJ1bnJl Y29nbml6ZWQgbm9kZSB0eXBlOiAlZCIsCiAJCQkJIChpbnQpIG5vZGVUYWcocGFyc2V0cmVlKSk7 CkBAIC0zODExLDYgKzM4MzIsMTEgQEAgR2V0Q29tbWFuZExvZ0xldmVsKE5vZGUgKnBhcnNldHJl ZSkKIAkJCX0KIAkJCWJyZWFrOwogCisJCWNhc2UgVF9DcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJ Y2FzZSBUX0Ryb3BTZXNzaW9uVmFyU3RtdDoKKwkJCWxldiA9IExPR1NUTVRfRERMOworCQkJYnJl YWs7CisKIAkJZGVmYXVsdDoKIAkJCWVsb2coV0FSTklORywgInVucmVjb2duaXplZCBub2RlIHR5 cGU6ICVkIiwKIAkJCQkgKGludCkgbm9kZVRhZyhwYXJzZXRyZWUpKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUu aW4uYwppbmRleCA1M2JmMWUyMTcyMS4uZmUwMTI4MjlhYzAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmlu LmMKQEAgLTEzNzMsNiArMTM3Myw3IEBAIHN0YXRpYyBjb25zdCBwZ3NxbF90aGluZ190IHdvcmRz X2FmdGVyX2NyZWF0ZVtdID0gewogCXsiVVNFUiIsIFF1ZXJ5X2Zvcl9saXN0X29mX3JvbGVzLCBO VUxMLCBOVUxMLCBLZXl3b3Jkc19mb3JfdXNlcl90aGluZ30sCiAJeyJVU0VSIE1BUFBJTkcgRk9S IiwgTlVMTCwgTlVMTCwgTlVMTH0sCiAJeyJWSUVXIiwgTlVMTCwgTlVMTCwgJlF1ZXJ5X2Zvcl9s aXN0X29mX3ZpZXdzfSwKKwl7IlZBUklBQkxFIiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgVEhJ TkdfTk9fQ1JFQVRFfSwKIAl7TlVMTH0JCQkJCQkvKiBlbmQgb2YgbGlzdCAqLwogfTsKIApAQCAt Mzg1Miw3ICszODUzLDcgQEAgbWF0Y2hfcHJldmlvdXNfd29yZHMoaW50IHBhdHRlcm5faWQsCiAv KiBDUkVBVEUgVEFCTEUgLS0tIGlzIGFsbG93ZWQgaW5zaWRlIENSRUFURSBTQ0hFTUEsIHNvIHVz ZSBUYWlsTWF0Y2hlcyAqLwogCS8qIENvbXBsZXRlICJDUkVBVEUgVEVNUC9URU1QT1JBUlkiIHdp dGggdGhlIHBvc3NpYmxlIHRlbXAgb2JqZWN0cyAqLwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJD UkVBVEUiLCAiVEVNUHxURU1QT1JBUlkiKSkKLQkJQ09NUExFVEVfV0lUSCgiU0VRVUVOQ0UiLCAi VEFCTEUiLCAiVklFVyIpOworCQlDT01QTEVURV9XSVRIKCJTRVFVRU5DRSIsICJUQUJMRSIsICJW QVJJQUJMRSIsICJWSUVXIik7CiAJLyogQ29tcGxldGUgIkNSRUFURSBVTkxPR0dFRCIgd2l0aCBU QUJMRSBvciBTRVFVRU5DRSAqLwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJDUkVBVEUiLCAiVU5M T0dHRUQiKSkKIAkJQ09NUExFVEVfV0lUSCgiVEFCTEUiLCAiU0VRVUVOQ0UiKTsKQEAgLTQyMTQs NiArNDIxNSwxMyBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAkJCUNP TVBMRVRFX1dJVEgoIiwiLCAiKSIpOwogCX0KIAorLyogQ1JFQVRFIFZBUklBQkxFICovCisJZWxz ZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlRFTVB8VEVNUE9SQVJZIiwgIlZBUklBQkxFIiwgTWF0 Y2hBbnkpKQorCQlDT01QTEVURV9XSVRIKCJBUyIpOworCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJW QVJJQUJMRSIsIE1hdGNoQW55LCAiQVMiKSkKKwkJLyogQ29tcGxldGUgQ1JFQVRFIFZBUklBQkxF IDxuYW1lPiB3aXRoIEFTIHR5cGVzICovCisJCUNPTVBMRVRFX1dJVEhfU0NIRU1BX1FVRVJZKFF1 ZXJ5X2Zvcl9saXN0X29mX2RhdGF0eXBlcyk7CisKIC8qIENSRUFURSBWSUVXIC0tLSBpcyBhbGxv d2VkIGluc2lkZSBDUkVBVEUgU0NIRU1BLCBzbyB1c2UgVGFpbE1hdGNoZXMgKi8KIAkvKiBDb21w bGV0ZSBDUkVBVEUgWyBPUiBSRVBMQUNFIF0gVklFVyA8bmFtZT4gd2l0aCBBUyBvciBXSVRIICov CiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIkNSRUFURSIsICJWSUVXIiwgTWF0Y2hBbnkpIHx8CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9zcmMv aW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjFlZDQwZDg3YTM4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBAIC0wLDAgKzEsMjUgQEAKKy8qLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICoKKyAqIHNlc3Npb252YXJpYWJsZS5oCisgKgkgIHByb3RvdHlwZXMg Zm9yIHNlc3Npb252YXJpYWJsZS5jLgorICoKKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp IDE5OTYtMjAyNSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRp b25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxp Zm9ybmlhCisgKgorICogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisg KgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2lmbmRlZiBTRVNTSU9OVkFSSUFCTEVfSAor I2RlZmluZSBTRVNTSU9OVkFSSUFCTEVfSAorCisjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRy ZXNzLmgiCisjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKKyNpbmNsdWRlICJub2Rlcy9w YXJzZW5vZGVzLmgiCisKK2V4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOworZXh0ZXJuIHZvaWQgRHJvcFZhcmlh YmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApp bmRleCA5MTM3N2E2Y2RlMy4uMzc5Yzc0MGI5NDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAg LTM2NjQsNiArMzY2NCwyOSBAQCB0eXBlZGVmIHN0cnVjdCBBbHRlclN0YXRzU3RtdAogCWJvb2wJ CW1pc3Npbmdfb2s7CQkvKiBza2lwIGVycm9yIGlmIHN0YXRpc3RpY3Mgb2JqZWN0IGlzIG1pc3Np bmcgKi8KIH0gQWx0ZXJTdGF0c1N0bXQ7CiAKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICoJCUNyZWF0ZSBWYXJpYWJsZSBTdGF0ZW1lbnQKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAqLwordHlwZWRlZiBzdHJ1Y3QgQ3JlYXRlU2Vzc2lvblZhclN0bXQKK3sKKwlOb2RlVGFnCQl0 eXBlOworCWNoYXIJICAgKm5hbWU7CQkvKiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlICovCisJVHlw ZU5hbWUgICAqdHlwZU5hbWU7CQkvKiB0aGUgdHlwZSBvZiB2YXJpYWJsZSAqLworfSBDcmVhdGVT ZXNzaW9uVmFyU3RtdDsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoJCURST1AgVmFy aWFibGUgU3RhdGVtZW50CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYg c3RydWN0IERyb3BTZXNzaW9uVmFyU3RtdAoreworCU5vZGVUYWcJCXR5cGU7CisJY2hhcgkgICAq bmFtZTsKK30gRHJvcFNlc3Npb25WYXJTdG10OworCisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICAqCQlDcmVhdGUgRnVuY3Rpb24gU3RhdGVtZW50CiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggNTFlYWQ1NGYwMTUuLjQ5MTM0Nzk3MGEyIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2Vy L2t3bGlzdC5oCkBAIC01MDEsNiArNTAxLDcgQEAgUEdfS0VZV09SRCgidmFsaWRhdG9yIiwgVkFM SURBVE9SLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ2YWx1 ZSIsIFZBTFVFX1AsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQo InZhbHVlcyIsIFZBTFVFUywgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdP UkQoInZhcmNoYXIiLCBWQVJDSEFSLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQorUEdf S0VZV09SRCgidmFyaWFibGUiLCBWQVJJQUJMRSwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgidmFyaWFkaWMiLCBWQVJJQURJQywgUkVTRVJWRURfS0VZV09SRCwg QkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInZhcnlpbmciLCBWQVJZSU5HLCBVTlJFU0VSVkVEX0tF WVdPUkQsIEFTX0xBQkVMKQogUEdfS0VZV09SRCgidmVyYm9zZSIsIFZFUkJPU0UsIFRZUEVfRlVO Q19OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS90Y29w L2NtZHRhZ2xpc3QuaCBiL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oCmluZGV4IGJlZmFl NWY2YjRmLi4zNTIyOWExNmFkZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWds aXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKQEAgLTEyNSw2ICsxMjUs NyBAQCBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9UUkFOU0ZPUk0sICJDUkVBVEUgVFJBTlNGT1JN IiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfVFJJR0dFUiwg IkNSRUFURSBUUklHR0VSIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19D UkVBVEVfVFlQRSwgIkNSRUFURSBUWVBFIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFH KENNRFRBR19DUkVBVEVfVVNFUl9NQVBQSU5HLCAiQ1JFQVRFIFVTRVIgTUFQUElORyIsIHRydWUs IGZhbHNlLCBmYWxzZSkKK1BHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX1ZBUklBQkxFLCAiQ1JFQVRF IFZBUklBQkxFIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19DUkVBVEVf VklFVywgIkNSRUFURSBWSUVXIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRB R19ERUFMTE9DQVRFLCAiREVBTExPQ0FURSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURU QUcoQ01EVEFHX0RFQUxMT0NBVEVfQUxMLCAiREVBTExPQ0FURSBBTEwiLCBmYWxzZSwgZmFsc2Us IGZhbHNlKQpAQCAtMTc4LDYgKzE3OSw3IEBAIFBHX0NNRFRBRyhDTURUQUdfRFJPUF9UUkFOU0ZP Uk0sICJEUk9QIFRSQU5TRk9STSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfRFJPUF9UUklHR0VSLCAiRFJPUCBUUklHR0VSIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdf Q01EVEFHKENNRFRBR19EUk9QX1RZUEUsICJEUk9QIFRZUEUiLCB0cnVlLCBmYWxzZSwgZmFsc2Up CiBQR19DTURUQUcoQ01EVEFHX0RST1BfVVNFUl9NQVBQSU5HLCAiRFJPUCBVU0VSIE1BUFBJTkci LCB0cnVlLCBmYWxzZSwgZmFsc2UpCitQR19DTURUQUcoQ01EVEFHX0RST1BfVkFSSUFCTEUsICJE Uk9QIFZBUklBQkxFIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9Q X1ZJRVcsICJEUk9QIFZJRVciLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFH X0VYRUNVVEUsICJFWEVDVVRFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfRVhQTEFJTiwgIkVYUExBSU4iLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40NWMyZDI3YWI0NAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dApAQCAtMCwwICsxLDQzIEBACitTRVQgbG9nX3N0YXRlbWVudCBUTyBkZGw7CistLSBzaG91bGQg dG8gZmFpbAorQ1JFQVRFIFZBUklBQkxFIHggQVMgaW50OworRVJST1I6ICBvbmx5IHRlbXBvcmFs IHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQKKy0tIHNob3VsZCBiZSBvaworQ1JFQVRF IFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVN UE9SQVJZIFZBUklBQkxFIHggQVMgaW50OworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlICJ4IiBh bHJlYWR5IGV4aXN0cworLS0gc2hvdWxkIGZhaWwKK0RST1AgVkFSSUFCTEUgeTsKK0VSUk9SOiAg c2Vzc2lvbiB2YXJpYWJsZSAieSIgZG9lc24ndCBleGlzdAorLS0gc2hvdWxkIGJlIG9rCitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVFlQRSB0ZXN0X3R5cGUgQVMgKHggaW50LCB5IGludCk7Cist LSBzaG91bGQgZmFpbAorQ1JFQVRFIFZBUklBQkxFIHggQVMgdGVzdF90eXBlOworRVJST1I6ICBv bmx5IHRlbXBvcmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQKK0RST1AgVFlQRSB0 ZXN0X3R5cGU7CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFZBUklBQkxFIHggQVMgaW50W107CitF UlJPUjogIG9ubHkgdGVtcG9yYWwgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN1cHBvcnRlZAorQ1JF QVRFIERPTUFJTiB0ZXN0X2RvbWFpbiBBUyBpbnQ7CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRF TVAgVkFSSUFCTEUgeCBBUyB0ZXN0X2RvbWFpbjsKK0VSUk9SOiAgdGVzdF9kb21haW4gaXMgbm90 IGEgYmFzZSB0eXBlCitEUk9QIERPTUFJTiB0ZXN0X2RvbWFpbjsKK0NSRUFURSBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3Nl c3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAyOworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9u X3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50Owor U0VUIFJPTEUgVE8gZGVmYXVsdDsKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJs ZV90ZXN0X3JvbGVfMDI7CistLSBzaG91bGQgZmFpbAorRFJPUCBWQVJJQUJMRSB4OworRVJST1I6 ICBtdXN0IGJlIG93bmVyIG9mIHNlc3Npb24gdmFyaWFibGUgeAorU0VUIFJPTEUgVE8gZGVmYXVs dDsKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7Cist LSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFCTEUgeDsKK1NFVCBST0xFIFRPIERFRkFVTFQ7CitE Uk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKK0RST1AgUk9M RSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAyOwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxs ZWxfc2NoZWR1bGUKaW5kZXggM2EwNDRmZmQ4YmYuLmVjOTJjNzE3YmY2IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mv cGFyYWxsZWxfc2NoZWR1bGUKQEAgLTExNSw3ICsxMTUsNyBAQCB0ZXN0OiBqc29uIGpzb25iIGpz b25fZW5jb2RpbmcganNvbnBhdGgganNvbnBhdGhfZW5jb2RpbmcganNvbmJfanNvbnBhdGggc3Fs anNvbgogIyBOQjogdGVtcC5zcWwgZG9lcyByZWNvbm5lY3RzIHdoaWNoIHRyYW5zaWVudGx5IHVz ZXMgMiBjb25uZWN0aW9ucywKICMgc28ga2VlcCB0aGlzIHBhcmFsbGVsIGdyb3VwIHRvIGF0IG1v c3QgMTkgdGVzdHMKICMgLS0tLS0tLS0tLQotdGVzdDogcGxhbmNhY2hlIGxpbWl0IHBscGdzcWwg Y29weTIgdGVtcCBkb21haW4gcmFuZ2VmdW5jcyBwcmVwYXJlIGNvbnZlcnNpb24gdHJ1bmNhdGUg YWx0ZXJfdGFibGUgc2VxdWVuY2UgcG9seW1vcnBoaXNtIHJvd3R5cGVzIHJldHVybmluZyBsYXJn ZW9iamVjdCB3aXRoIHhtbAordGVzdDogcGxhbmNhY2hlIGxpbWl0IHBscGdzcWwgY29weTIgdGVt cCBkb21haW4gcmFuZ2VmdW5jcyBwcmVwYXJlIGNvbnZlcnNpb24gdHJ1bmNhdGUgYWx0ZXJfdGFi bGUgc2VxdWVuY2UgcG9seW1vcnBoaXNtIHJvd3R5cGVzIHJldHVybmluZyBsYXJnZW9iamVjdCB3 aXRoIHhtbCBzZXNzaW9uX3ZhcmlhYmxlc19kZGwKIAogIyAtLS0tLS0tLS0tCiAjIEFub3RoZXIg Z3JvdXAgb2YgcGFyYWxsZWwgdGVzdHMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li4zNGYzNGRkODk4ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nl c3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTAsMCArMSw1NiBAQAorU0VUIGxvZ19zdGF0ZW1l bnQgVE8gZGRsOworCistLSBzaG91bGQgdG8gZmFpbAorQ1JFQVRFIFZBUklBQkxFIHggQVMgaW50 OworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7 CisKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHggQVMgaW50Owor CistLSBzaG91bGQgZmFpbAorRFJPUCBWQVJJQUJMRSB5OworCistLSBzaG91bGQgYmUgb2sKK0RS T1AgVkFSSUFCTEUgeDsKKworQ1JFQVRFIFRZUEUgdGVzdF90eXBlIEFTICh4IGludCwgeSBpbnQp OworCistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFZBUklBQkxFIHggQVMgdGVzdF90eXBlOworCitE Uk9QIFRZUEUgdGVzdF90eXBlOworCistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFZBUklBQkxFIHgg QVMgaW50W107CisKK0NSRUFURSBET01BSU4gdGVzdF9kb21haW4gQVMgaW50OworCistLSBzaG91 bGQgZmFpbAorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB0ZXN0X2RvbWFpbjsKKworRFJPUCBE T01BSU4gdGVzdF9kb21haW47CisKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJs ZV90ZXN0X3JvbGVfMDE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAyOworCitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9y b2xlXzAxOworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworU0VUIFJPTEUgVE8g ZGVmYXVsdDsKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVf MDI7CisKKy0tIHNob3VsZCBmYWlsCitEUk9QIFZBUklBQkxFIHg7CisKK1NFVCBST0xFIFRPIGRl ZmF1bHQ7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAx OworCistLSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFCTEUgeDsKKworU0VUIFJPTEUgVE8gREVG QVVMVDsKK0RST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1n aXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVu dC90eXBlZGVmcy5saXN0CmluZGV4IDViYzUxNzYwMmIxLi40NzE2ZWY4ZjNiZSAxMDA2NDQKLS0t IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5k ZW50L3R5cGVkZWZzLmxpc3QKQEAgLTU4Myw2ICs1ODMsNyBAQCBDcmVhdGVSb2xlU3RtdAogQ3Jl YXRlU2NoZW1hU3RtdAogQ3JlYXRlU2NoZW1hU3RtdENvbnRleHQKIENyZWF0ZVNlcVN0bXQKK0Ny ZWF0ZVNlc3Npb25WYXJTdG10CiBDcmVhdGVTdGF0c1N0bXQKIENyZWF0ZVN0bXQKIENyZWF0ZVN0 bXRDb250ZXh0CkBAIC02ODcsNiArNjg4LDcgQEAgRHJvcEJlaGF2aW9yCiBEcm9wT3duZWRTdG10 CiBEcm9wUmVwbGljYXRpb25TbG90Q21kCiBEcm9wUm9sZVN0bXQKK0Ryb3BTZXNzaW9uVmFyU3Rt dAogRHJvcFN0bXQKIERyb3BTdWJzY3JpcHRpb25TdG10CiBEcm9wVGFibGVTcGFjZVN0bXQKQEAg LTI3NDMsNiArMjc0NSw4IEBAIFNTTF9DVFgKIFNUQVJUVVBJTkZPCiBTVFJMRU4KIFNWCitTVmFy aWFibGVEYXRhCitTVmFyaWFibGUKIFNZTkNIUk9OSVpBVElPTl9CQVJSSUVSCiBTWVNURU1fSU5G TwogU2FtcGxlU2NhbgotLSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0002-parsing-session-variable-fences.patch" Content-Disposition: attachment; filename="v20260403-2-0002-parsing-session-variable-fences.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja32zr1 RnJvbSA1ZTI3YzU5MGYzNTQ1ZDEwZDcxNWEzNzc0NTZlOGFiZTQ1Mzk2MzNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDE1OjI4OjU5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMi8xMV0gcGFyc2luZyBzZXNzaW9uIHZhcmlhYmxlIGZlbmNlcwoKVGhlIHNlc3Npb24g dmFyaWFibGVzIGNhbiBiZSB1c2VkIGluIHF1ZXJ5IG9ubHkgaW5zaWRlIHRoZSB2YXJpYWJsZSBm ZW5jZS4KVGhpcyBpcyBzcGVjaWFsIHN5bnRheCBWQVJJQUJMRSh2YXJuYW1lKSwgdGhhdCBlbGlt aW5hdGVzIGEgcmlzayBvZgpjb2xsaXNpb24gYmV0d2VlbiB2YXJpYWJsZSBhbmQgY29sdW1uIGlk ZW50aWZpZXIuCgpUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1l dGVycyBvZiBDQUxMIG9yIEVYRUNVVEUKY29tbWFuZHMuIFRoZXNlIGNvbW1hbmRzIGV2YWx1YXRl cyBhcmd1bWVudHMgYnkgZGlyZWN0IGNhbGwgb2YgZXhwcmVzc2lvbgpleGVjdXRvciwgYW5kIGRp cmVjdCBhY2Nlc3MgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgZnJvbSBleHByZXNzaW9uIGV4ZWN1dG9y CndpbGwgYmUgaW1wbGVtZW50ZWQgbGF0ZXIgKGluIG5leHQgc3RlcCkKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgMTAgKysKIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3ByZXBhcmUuYyAgICAgICAgICB8ICAgOCArKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jIHwgIDIxICsrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5j ICAgICAgICAgICB8ICAgNiArKwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAg ICAgIHwgICA3ICsrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgfCAg MTcgKysrLQogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgIHwgMTIxICsr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYyAgICAgICB8 ICAgNyArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jICAgICAgIHwgICA4ICsr CiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggfCAgIDUgKwogc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICAgIHwgIDEyICsrKwogc3JjL2luY2x1ZGUv bm9kZXMvcHJpbW5vZGVzLmggICAgICAgICAgIHwgICA1ICsKIHNyYy9pbmNsdWRlL3BhcnNlci9w YXJzZV9ub2RlLmggICAgICAgICB8ICAgMSArCiBzcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5j ICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAg ICAgICB8ICAgMSArCiAxNiBmaWxlcyBjaGFuZ2VkLCAyMzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvZGRsLnNnbWwKaW5kZXggMTc2MTg4MTM1ODIuLjAwNTVlYjg0YTc4IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01OTU0 LDYgKzU5NTQsMTYgQEAgU0VMRUNUIC4uLiBGUk9NIEdSQVBIX1RBQkxFIChteXNob3AgTUFUQ0gg KElTIHBlcnNvbiBXSEVSRSBuYW1lID0gJy4uLicpLVtdLT4uLi4KICAgICB2YXJpYWJsZSBpcyBz dG9yZWQgaW4gc2Vzc2lvbiBtZW1vcnkgYW5kIGlzIHByaXZhdGUgdG8gZWFjaCBzZXNzaW9uLiBJ dCBpcwogICAgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRzLgog ICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBJbiBhIHF1ZXJ5LCBhIHNlc3Npb24gdmFyaWFi bGUgY2FuIG9ubHkgYmUgcmVmZXJlbmNlZCB1c2luZyB0aGUgc3BlY2lhbAorICAgIDxsaXRlcmFs PlZBUklBQkxFKHZhcm5hbWUpPC9saXRlcmFsPiBzeW50YXguIFRoaXMgYXZvaWRzIGFueSByaXNr IG9mCisgICAgY29sbGlzaW9uIGJldHdlZW4gdmFyaWFibGUgbmFtZXMgYW5kIGNvbHVtbiBuYW1l cy4KKyAgIDwvcGFyYT4KKzxwcm9ncmFtbGlzdGluZz4KK1NFTEVDVCBWQVJJQUJMRShjdXJyZW50 X3VzZXJfaWQpOworPC9wcm9ncmFtbGlzdGluZz4KKyAgIDwvcGFyYT4KICA8L3NlY3QxPgogCiAg PHNlY3QxIGlkPSJkZGwtb3RoZXJzIj4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ByZXBhcmUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBhcmUuYwppbmRleCA4NzZhYWQy MTAwYS4uNWUwNzc0MjQ3YTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBh cmUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMKQEAgLTM0Myw2ICszNDMs MTQgQEAgRXZhbHVhdGVQYXJhbXMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQcmVwYXJlZFN0YXRlbWVu dCAqcHN0bXQsIExpc3QgKnBhcmFtcywKIAkJaSsrOwogCX0KIAorCS8qCisJICogVGhlIGFyZ3Vt ZW50cyBvZiBFWEVDVVRFIGFyZSBldmFsdWF0ZWQgYnkgYSBkaXJlY3QgZXhwcmVzc2lvbiBleGVj dXRvcgorCSAqIGNhbGwuICBUaGlzIG1vZGUgZG9lc24ndCBzdXBwb3J0IHNlc3Npb24gdmFyaWFi bGVzIHlldC4gSXQgd2lsbCBiZQorCSAqIGVuYWJsZWQgbGF0ZXIuIFRoaXMgY2FzZSBzaG91bGQg YmUgYmxvY2tlZCBwYXJzZXIgYnkKKwkgKiBleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFi bGVzLCBzbyBvbmx5IGFzc2VydGlvbnMgaXMgdXNlZCBoZXJlLgorCSAqLworCUFzc2VydCghcHN0 YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXMpOworCiAJLyogUHJlcGFyZSB0aGUgZXhwcmVzc2lv bnMgZm9yIGV4ZWN1dGlvbiAqLwogCWV4cHJzdGF0ZXMgPSBFeGVjUHJlcGFyZUV4cHJMaXN0KHBh cmFtcywgZXN0YXRlKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCmlu ZGV4IGE4NjVhNGMxMGM0Li40ODI3MzdkNjc5NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYwpAQCAtMTA3LDYgKzEwNywyNyBAQCBzZWFyY2hfdmFyaWFibGUoY2hhciAq dmFybmFtZSkKIAlyZXR1cm4gc3ZhcjsKIH0KIAorLyoKKyAqIFJldHVybnMgdGhlIHR5cGUsIHR5 cG1vZCBhbmQgY29sbGlkIG9mIHRoZSBnaXZlbiBzZXNzaW9uIHZhcmlhYmxlLgorICoKKyAqIFJh aXNlcyBhbiBlcnJvciB3aGVuIHRoZSB2YXJpYWJsZSBkb2Vzbid0IGV4aXN0cyBhbmQgKmVycm9y IGlzIG51bGwuCisgKi8KK3ZvaWQKK2dldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2Nv bGxpZChjaGFyICp2YXJuYW1lLAorCQkJCQkJCQkJCU9pZCAqdHlwaWQsCisJCQkJCQkJCQkJaW50 MzIgKnR5cG1vZCwKKwkJCQkJCQkJCQlPaWQgKmNvbGxpZCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsK KworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisKKwkvKiBvbmx5IG93bmVyIGNh biBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLworCSp0eXBpZCA9IHN2YXItPnZhcnR5cGU7CisJ KnR5cG1vZCA9IHN2YXItPnZhcnR5cG1vZDsKKwkqY29sbGlkID0gc3Zhci0+dmFyY29sbGF0aW9u OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGlu IHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNz LmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwppbmRleCBjMGI4ODBlYzIzMy4uMGY2 OTkwZjFiODQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisrKyBi L3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCkBAIC0xNjc3LDYgKzE2NzcsOSBAQCBleHBy TG9jYXRpb24oY29uc3QgTm9kZSAqZXhwcikKIAkJY2FzZSBUX1BhcmFtUmVmOgogCQkJbG9jID0g KChjb25zdCBQYXJhbVJlZiAqKSBleHByKS0+bG9jYXRpb247CiAJCQlicmVhazsKKwkJY2FzZSBU X1ZhcmlhYmxlRmVuY2U6CisJCQlsb2MgPSAoKGNvbnN0IFZhcmlhYmxlRmVuY2UgKikgZXhwcikt PmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9BX0NvbnN0OgogCQkJbG9jID0gKChjb25z dCBBX0NvbnN0ICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJyZWFrOwpAQCAtNDgwOCw2ICs0ODEx LDkgQEAgcmF3X2V4cHJlc3Npb25fdHJlZV93YWxrZXJfaW1wbChOb2RlICpub2RlLAogCQkJCQly ZXR1cm4gdHJ1ZTsKIAkJCX0KIAkJCWJyZWFrOworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJ CS8qIHdlIGFzc3VtZSB0aGUgZmllbGRzIGNvbnRhaW4gbm90aGluZyBpbnRlcmVzdGluZyAqLwor CQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIG5vZGUg dHlwZTogJWQiLAogCQkJCSAoaW50KSBub2RlVGFnKG5vZGUpKTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCmlu ZGV4IDg0ZGVlZDlhYWE2Li5hMmI5Y2U2NmUxMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFy c2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCkBAIC02MzUs NiArNjM1LDcgQEAgdHJhbnNmb3JtRGVsZXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0 ZVN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9oYXNXaW5kb3dG dW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlx cnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJs ZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xs YXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMTA3NCw2ICsxMDc1LDcgQEAgdHJhbnNmb3JtSW5z ZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQpCiAKIAlxcnktPmhh c1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlxcnktPmhhc1N1Ykxpbmtz ID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBz dGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMo cHN0YXRlLCBxcnkpOwogCkBAIC0xODY2LDYgKzE4NjgsNyBAQCB0cmFuc2Zvcm1TZWxlY3RTdG10 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCwKIAlxcnktPmhhc1dpbmRvd0Z1 bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBz dGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9oYXNBZ2dz OworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFi bGVzOwogCiAJZm9yZWFjaChsLCBzdG10LT5sb2NraW5nQ2xhdXNlKQogCXsKQEAgLTIwOTIsNiAr MjA5NSw3IEBAIHRyYW5zZm9ybVZhbHVlc0NsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVj dFN0bXQgKnN0bXQpCiAJcXJ5LT5qb2ludHJlZSA9IG1ha2VGcm9tRXhwcihwc3RhdGUtPnBfam9p bmxpc3QsIE5VTEwpOwogCiAJcXJ5LT5oYXNTdWJMaW5rcyA9IHBzdGF0ZS0+cF9oYXNTdWJMaW5r czsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlh YmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xsYXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMjM0 Myw2ICsyMzQ3LDcgQEAgdHJhbnNmb3JtU2V0T3BlcmF0aW9uU3RtdChQYXJzZVN0YXRlICpwc3Rh dGUsIFNlbGVjdFN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9o YXNXaW5kb3dGdW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0 U1JGczsKIAlxcnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Np b25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWZvcmVhY2go bCwgbG9ja2luZ0NsYXVzZSkKIAl7CkBAIC0yODM1LDYgKzI4NDAsNyBAQCB0cmFuc2Zvcm1SZXR1 cm5TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUmV0dXJuU3RtdCAqc3RtdCkKIAlxcnktPmhhc1dp bmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JG cyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9o YXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9u VmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBA IC0yOTA5LDYgKzI5MTUsNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9o YXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzU3ViTGlua3MgPSBwc3RhdGUtPnBfaGFzU3ViTGlua3M7 CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJs ZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55 CmluZGV4IDFhZmM3N2JmNWE3Li5mM2E0YWVlZjNmZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC01MzUsNyAr NTM1LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5h bWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxub2RlPglkZWZfYXJnIGNv bHVtbkVsZW0gd2hlcmVfY2xhdXNlIHdoZXJlX29yX2N1cnJlbnRfY2xhdXNlCiAJCQkJYV9leHBy IGJfZXhwciBjX2V4cHIgQWV4cHJDb25zdCBpbmRpcmVjdGlvbl9lbCBvcHRfc2xpY2VfYm91bmQK IAkJCQljb2x1bW5yZWYgaGF2aW5nX2NsYXVzZSBmdW5jX3RhYmxlIHhtbHRhYmxlIGFycmF5X2V4 cHIKLQkJCQlPcHRXaGVyZUNsYXVzZSBvcGVyYXRvcl9kZWZfYXJnCisJCQkJT3B0V2hlcmVDbGF1 c2Ugb3BlcmF0b3JfZGVmX2FyZyB2YXJpYWJsZV9mZW5jZQogJXR5cGUgPGxpc3Q+CW9wdF9jb2x1 bW5fYW5kX3BlcmlvZF9saXN0CiAldHlwZSA8bGlzdD4Jcm93c2Zyb21faXRlbSByb3dzZnJvbV9s aXN0IG9wdF9jb2xfZGVmX2xpc3QKICV0eXBlIDxib29sZWFuPiBvcHRfb3JkaW5hbGl0eSBvcHRf d2l0aG91dF9vdmVybGFwcwpAQCAtOTI5LDcgKzkyOSw3IEBAIHN0YXRpYyBOb2RlICptYWtlUmVj dXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVy eSk7CiAgKi8KICVub25hc3NvYwlVTkJPVU5ERUQgTkVTVEVEIC8qIGlkZWFsbHkgd291bGQgaGF2 ZSBzYW1lIHByZWNlZGVuY2UgYXMgSURFTlQgKi8KICVub25hc3NvYwlJREVOVCBQQVJUSVRJT04g UkFOR0UgUk9XUyBHUk9VUFMgUFJFQ0VESU5HIEZPTExPV0lORyBDVUJFIFJPTExVUAotCQkJU0VU IEtFWVMgT0JKRUNUX1AgU0NBTEFSIFRPIFVTSU5HIFZBTFVFX1AgV0lUSCBXSVRIT1VUIFBBVEgK KwkJCVNFVCBLRVlTIE9CSkVDVF9QIFNDQUxBUiBUTyBVU0lORyBWQUxVRV9QIFdJVEggV0lUSE9V VCBQQVRIIFZBUklBQkxFCiAlbGVmdAkJT3AgT1BFUkFUT1IgUklHSFRfQVJST1cgJ3wnCS8qIG11 bHRpLWNoYXJhY3RlciBvcHMgYW5kIHVzZXItZGVmaW5lZCBvcGVyYXRvcnMgKi8KICVsZWZ0CQkn KycgJy0nCiAlbGVmdAkJJyonICcvJyAnJScKQEAgLTE2NDkwLDYgKzE2NDkwLDggQEAgY19leHBy OgkJY29sdW1ucmVmCQkJCQkJCQl7ICQkID0gJDE7IH0KIAkJCQkJZWxzZQogCQkJCQkJJCQgPSAk MjsKIAkJCQl9CisJCQl8IHZhcmlhYmxlX2ZlbmNlCisJCQkJeyAkJCA9ICQxOyB9CiAJCQl8IGNh c2VfZXhwcgogCQkJCXsgJCQgPSAkMTsgfQogCQkJfCBmdW5jX2V4cHIKQEAgLTE3ODk0LDYgKzE3 ODk2LDE3IEBAIGNhc2VfYXJnOglhX2V4cHIJCQkJCQkJCQl7ICQkID0gJDE7IH0KIAkJCXwgLypF TVBUWSovCQkJCQkJCQl7ICQkID0gTlVMTDsgfQogCQk7CiAKK3ZhcmlhYmxlX2ZlbmNlOgorCQkJ VkFSSUFCTEUgJygnIENvbElkICcpJworCQkJCXsKKwkJCQkJVmFyaWFibGVGZW5jZSAqdmYgPSBt YWtlTm9kZShWYXJpYWJsZUZlbmNlKTsKKworCQkJCQl2Zi0+dmFybmFtZSA9ICQzOworCQkJCQl2 Zi0+bG9jYXRpb24gPSBAMzsKKwkJCQkJJCQgPSAoTm9kZSAqKSB2ZjsKKwkJCQl9CisJCTsKKwog Y29sdW1ucmVmOglDb2xJZAogCQkJCXsKIAkJCQkJJCQgPSBtYWtlQ29sdW1uUmVmKCQxLCBOSUws IEAxLCB5eXNjYW5uZXIpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4 cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKaW5kZXggZjUzNWYzYjkzNTEu LjRiOTk1YWI0YTk1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5j CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKQEAgLTE4LDYgKzE4LDcgQEAK ICNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19h Z2dyZWdhdGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJjb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVk ZSAibm9kZXMvbWFrZWZ1bmNzLmgiCiAjaW5jbHVkZSAibm9kZXMvbm9kZUZ1bmNzLmgiCkBAIC03 OSw2ICs4MCw3IEBAIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1XaG9sZVJvd1JlZihQYXJzZVN0YXRl ICpwc3RhdGUsCiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtSW5kaXJlY3Rpb24oUGFyc2VTdGF0ZSAq cHN0YXRlLCBBX0luZGlyZWN0aW9uICppbmQpOwogc3RhdGljIE5vZGUgKnRyYW5zZm9ybVR5cGVD YXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVHlwZUNhc3QgKnRjKTsKIHN0YXRpYyBOb2RlICp0cmFu c2Zvcm1Db2xsYXRlQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ29sbGF0ZUNsYXVzZSAqYyk7 CitzdGF0aWMgTm9kZSAqdHJhbnNmb3JtVmFyaWFibGVGZW5jZShQYXJzZVN0YXRlICpwc3RhdGUs IFZhcmlhYmxlRmVuY2UgKnZmKTsKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1Kc29uT2JqZWN0Q29u c3RydWN0b3IoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCQlKc29uT2JqZWN0Q29uc3Ry dWN0b3IgKmN0b3IpOwogc3RhdGljIE5vZGUgKnRyYW5zZm9ybUpzb25BcnJheUNvbnN0cnVjdG9y KFBhcnNlU3RhdGUgKnBzdGF0ZSwKQEAgLTM3Myw2ICszNzUsMTAgQEAgdHJhbnNmb3JtRXhwclJl Y3Vyc2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKQogCQkJcmVzdWx0ID0gdHJhbnNm b3JtSnNvbkZ1bmNFeHByKHBzdGF0ZSwgKEpzb25GdW5jRXhwciAqKSBleHByKTsKIAkJCWJyZWFr OwogCisJCWNhc2UgVF9WYXJpYWJsZUZlbmNlOgorCQkJcmVzdWx0ID0gdHJhbnNmb3JtVmFyaWFi bGVGZW5jZShwc3RhdGUsIChWYXJpYWJsZUZlbmNlICopIGV4cHIpOworCQkJYnJlYWs7CisKIAkJ ZGVmYXVsdDoKIAkJCS8qIHNob3VsZCBub3QgcmVhY2ggaGVyZSAqLwogCQkJZWxvZyhFUlJPUiwg InVucmVjb2duaXplZCBub2RlIHR5cGU6ICVkIiwgKGludCkgbm9kZVRhZyhleHByKSk7CkBAIC05 MjAsNiArOTI2LDEyMSBAQCB0cmFuc2Zvcm1QYXJhbVJlZihQYXJzZVN0YXRlICpwc3RhdGUsIFBh cmFtUmVmICpwcmVmKQogCXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiBSZXR1cm5zIHRydWUg aWYgdGhlIGdpdmVuIGV4cHJlc3Npb24ga2luZCBpcyB2YWxpZCBmb3Igc2Vzc2lvbiB2YXJpYWJs ZXMuCisgKiBTZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUgdXNlZCBldmVyeXdoZXJlIHdoZXJlIGV4 dGVybmFsIHBhcmFtZXRlcnMgY2FuIGJlCisgKiB1c2VkLiAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJl IG5vdCBhbGxvd2VkIGluIERETCBjb21tYW5kcyBvciBpbiBjb25zdHJhaW50cy4KKyAqCisgKiBB biBpZGVudGlmaWVyIGNhbiBiZSBwYXJzZWQgYXMgYSBzZXNzaW9uIHZhcmlhYmxlIG9ubHkgZm9y IGV4cHJlc3Npb24ga2luZHMKKyAqIHdoZXJlIHNlc3Npb24gdmFyaWFibGVzIGFyZSBhbGxvd2Vk LiAgVGhpcyBpcyB0aGUgcHJpbWFyeSB1c2FnZSBvZiB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisg KiBUaGUgc2Vjb25kIHVzYWdlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gZGVjaWRlIHdoZXRoZXIg YSAiY29sdW1uIGRvZXMgbm90CisgKiBleGlzdCIgb3IgYSAiY29sdW1uIG9yIHZhcmlhYmxlIGRv ZXMgbm90IGV4aXN0IiBlcnJvciBtZXNzYWdlIHNob3VsZCBiZQorICogcHJpbnRlZC4gIFdoZW4g d2UgYXJlIGluIGFuIGV4cHJlc3Npb24gd2hlcmUgc2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJl CisgKiB1c2VkLCB3ZSByYWlzZSB0aGUgZmlyc3QgZm9ybSBvZiBlcnJvciBtZXNzYWdlLgorICov CitzdGF0aWMgYm9vbAorZXhwcl9raW5kX2FsbG93c19zZXNzaW9uX3ZhcmlhYmxlcyhQYXJzZUV4 cHJLaW5kIHBfZXhwcl9raW5kKQoreworCWJvb2wJCXJlc3VsdCA9IGZhbHNlOworCisJc3dpdGNo IChwX2V4cHJfa2luZCkKKwl7CisJCWNhc2UgRVhQUl9LSU5EX05PTkU6CisJCQlBc3NlcnQoZmFs c2UpOwkJLyogY2FuJ3QgaGFwcGVuICovCisJCQlyZXR1cm4gZmFsc2U7CisKKwkJCS8qIHNlc3Np b24gdmFyaWFibGVzIGFsbG93ZWQgKi8KKwkJY2FzZSBFWFBSX0tJTkRfT1RIRVI6CisJCWNhc2Ug RVhQUl9LSU5EX0pPSU5fT046CisJCWNhc2UgRVhQUl9LSU5EX0ZST01fU1VCU0VMRUNUOgorCQlj YXNlIEVYUFJfS0lORF9GUk9NX0ZVTkNUSU9OOgorCQljYXNlIEVYUFJfS0lORF9XSEVSRToKKwkJ Y2FzZSBFWFBSX0tJTkRfSEFWSU5HOgorCQljYXNlIEVYUFJfS0lORF9GSUxURVI6CisJCWNhc2Ug RVhQUl9LSU5EX1dJTkRPV19QQVJUSVRJT046CisJCWNhc2UgRVhQUl9LSU5EX1dJTkRPV19PUkRF UjoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX0ZSQU1FX1JBTkdFOgorCQljYXNlIEVYUFJfS0lO RF9XSU5ET1dfRlJBTUVfUk9XUzoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX0ZSQU1FX0dST1VQ UzoKKwkJY2FzZSBFWFBSX0tJTkRfU0VMRUNUX1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBE QVRFX1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBEQVRFX1NPVVJDRToKKwkJY2FzZSBFWFBS X0tJTkRfTUVSR0VfV0hFTjoKKwkJY2FzZSBFWFBSX0tJTkRfTUVSR0VfUkVUVVJOSU5HOgorCQlj YXNlIEVYUFJfS0lORF9HUk9VUF9CWToKKwkJY2FzZSBFWFBSX0tJTkRfT1JERVJfQlk6CisJCWNh c2UgRVhQUl9LSU5EX0RJU1RJTkNUX09OOgorCQljYXNlIEVYUFJfS0lORF9MSU1JVDoKKwkJY2Fz ZSBFWFBSX0tJTkRfT0ZGU0VUOgorCQljYXNlIEVYUFJfS0lORF9SRVRVUk5JTkc6CisJCWNhc2Ug RVhQUl9LSU5EX1ZBTFVFUzoKKwkJY2FzZSBFWFBSX0tJTkRfVkFMVUVTX1NJTkdMRToKKwkJY2Fz ZSBFWFBSX0tJTkRfUFJPUEdSQVBIX1BST1BFUlRZOgorCQljYXNlIEVYUFJfS0lORF9GT1JfUE9S VElPTjoKKwkJCXJlc3VsdCA9IHRydWU7CisJCQlicmVhazsKKworCQkJLyogc2Vzc2lvbiB2YXJp YWJsZXMgbm90IGFsbG93ZWQgKi8KKwkJY2FzZSBFWFBSX0tJTkRfSU5TRVJUX1RBUkdFVDoKKwkJ Y2FzZSBFWFBSX0tJTkRfRVhFQ1VURV9QQVJBTUVURVI6CisJCWNhc2UgRVhQUl9LSU5EX0NBTExf QVJHVU1FTlQ6CisJCWNhc2UgRVhQUl9LSU5EX0NIRUNLX0NPTlNUUkFJTlQ6CisJCWNhc2UgRVhQ Ul9LSU5EX0RPTUFJTl9DSEVDSzoKKwkJY2FzZSBFWFBSX0tJTkRfQ09MVU1OX0RFRkFVTFQ6CisJ CWNhc2UgRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQ6CisJCWNhc2UgRVhQUl9LSU5EX0lOREVY X0VYUFJFU1NJT046CisJCWNhc2UgRVhQUl9LSU5EX0lOREVYX1BSRURJQ0FURToKKwkJY2FzZSBF WFBSX0tJTkRfU1RBVFNfRVhQUkVTU0lPTjoKKwkJY2FzZSBFWFBSX0tJTkRfVFJJR0dFUl9XSEVO OgorCQljYXNlIEVYUFJfS0lORF9QQVJUSVRJT05fQk9VTkQ6CisJCWNhc2UgRVhQUl9LSU5EX1BB UlRJVElPTl9FWFBSRVNTSU9OOgorCQljYXNlIEVYUFJfS0lORF9HRU5FUkFURURfQ09MVU1OOgor CQljYXNlIEVYUFJfS0lORF9KT0lOX1VTSU5HOgorCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJL OgorCQljYXNlIEVYUFJfS0lORF9BTFRFUl9DT0xfVFJBTlNGT1JNOgorCQljYXNlIEVYUFJfS0lO RF9QT0xJQ1k6CisJCWNhc2UgRVhQUl9LSU5EX0NPUFlfV0hFUkU6CisJCQlyZXN1bHQgPSBmYWxz ZTsKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBOb2RlICoK K3RyYW5zZm9ybVZhcmlhYmxlRmVuY2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBWYXJpYWJsZUZlbmNl ICp2ZikKK3sKKwlQYXJhbQkgICAqcGFyYW07CisJT2lkCQkJdHlwaWQ7CisJaW50MzIJCXR5cG1v ZDsKKwlPaWQJCQljb2xsaWQ7CisKKwkvKiBWYXJpYWJsZUZlbmNlIGNhbiBiZSB1c2VkIG9ubHkg aW4gY29udGV4dCB3aGVuIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkICovCisJaWYgKCFleHByX2tp bmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFibGVzKHBzdGF0ZS0+cF9leHByX2tpbmQpKQorCQllcmVw b3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwK KwkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBub3Qgc3VwcG9ydGVk IGhlcmUiKSwKKwkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgdmYtPmxvY2F0aW9uKSkp OworCisJZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKHZmLT52YXJuYW1l LAorCQkJCQkJCQkJCQkmdHlwaWQsICZ0eXBtb2QsICZjb2xsaWQpOworCisKKwlwYXJhbSA9IG1h a2VOb2RlKFBhcmFtKTsKKworCXBhcmFtLT5wYXJhbWtpbmQgPSBQQVJBTV9WQVJJQUJMRTsKKwlw YXJhbS0+cGFyYW12YXJuYW1lID0gcHN0cmR1cCh2Zi0+dmFybmFtZSk7CisJcGFyYW0tPnBhcmFt dHlwZSA9IHR5cGlkOworCXBhcmFtLT5wYXJhbXR5cG1vZCA9IHR5cG1vZDsKKwlwYXJhbS0+cGFy YW1jb2xsaWQgPSBjb2xsaWQ7CisKKwlwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlcyA9IHRy dWU7CisKKwlyZXR1cm4gKE5vZGUgKikgcGFyYW07Cit9CisKIC8qIFRlc3Qgd2hldGhlciBhbiBh X2V4cHIgaXMgYSBwbGFpbiBOVUxMIGNvbnN0YW50IG9yIG5vdCAqLwogc3RhdGljIGJvb2wKIGV4 cHJJc051bGxDb25zdGFudChOb2RlICphcmcpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJnZS5jCmluZGV4 IDJlNmRkMTY2Yzk4Li44NGMyMzQ5NDdkZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKQEAg LTQwMCw2ICs0MDAsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBN ZXJnZVN0bXQgKnN0bXQpCiAKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBmYWxzZTsKIAlxcnktPmhh c1N1YkxpbmtzID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlh YmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2Nv bGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdGFyZ2V0LmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKaW5kZXgg NTQxZmVmNWYxODMuLmQxYTNlYTZiMWQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdGFyZ2V0LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3RhcmdldC5jCkBA IC0yMDQwLDYgKzIwNDAsMTMgQEAgRmlndXJlQ29sbmFtZUludGVybmFsKE5vZGUgKm5vZGUsIGNo YXIgKipuYW1lKQogCQkJCQkJIChpbnQpICgoSnNvbkZ1bmNFeHByICopIG5vZGUpLT5vcCk7CiAJ CQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX1ZhcmlhYmxlRmVuY2U6CisJCQl7CisJCQkJLyogcmV0 dXJuIGxhc3QgZmllbGQgbmFtZSAqLworCQkJCSpuYW1lID0gKChWYXJpYWJsZUZlbmNlICopIG5v ZGUpLT52YXJuYW1lOworCQkJCXJldHVybiAyOworCQkJfQorCQkJYnJlYWs7CiAJCWRlZmF1bHQ6 CiAJCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0 aWxzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKaW5kZXggYWVjNTU1NmIw MDguLjBhYzA5YTU3ZTIyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0 aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jCkBAIC05MzY4LDYg KzkzNjgsMTQgQEAgZ2V0X3BhcmFtZXRlcihQYXJhbSAqcGFyYW0sIGRlcGFyc2VfY29udGV4dCAq Y29udGV4dCkKIAkJfQogCX0KIAorCS8qIE5vdGU6IGNhbiBiZSBiZSB1c2VkIGJ5IEVYUExBSU4g Ki8KKwlpZiAocGFyYW0tPnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSkKKwl7CisJCWFwcGVu ZFN0cmluZ0luZm8oY29udGV4dC0+YnVmLCAiVkFSSUFCTEUoJXMpIiwKKwkJCQkJCSBxdW90ZV9p ZGVudGlmaWVyKHBhcmFtLT5wYXJhbXZhcm5hbWUpKTsKKwkJcmV0dXJuOworCX0KKwogCS8qCiAJ ICogTm90IFBBUkFNX0VYRUMsIG9yIGNvdWxkbid0IGZpbmQgcmVmZXJlbnQ6IGp1c3QgcHJpbnQg JE4uCiAJICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFi bGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCAxZWQ0 MGQ4N2EzOC4uOTZiZTk2OGMzZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmgKQEAgLTIyLDQgKzIyLDkgQEAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNl U3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOwogZXh0ZXJuIHZvaWQg RHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpOwogCitleHRlcm4gdm9pZCBnZXRfc2Vz c2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKKwkJCQkJCQkJ CQkJCQlPaWQgKnR5cGlkLAorCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2QsCisJCQkJCQkJCQkJ CQkJT2lkICpjb2xsaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVz L3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCAzNzlj NzQwYjk0NC4uOTdmNjNhNzU5MzkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNl bm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTE3MCw2ICsx NzAsOCBAQCB0eXBlZGVmIHN0cnVjdCBRdWVyeQogCWJvb2wJCWhhc1Jvd1NlY3VyaXR5IHBnX25v ZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBwYXJzZXIgaGFzIGFkZGVkIGFuIFJU RV9HUk9VUCBSVEUgKi8KIAlib29sCQloYXNHcm91cFJURSBwZ19ub2RlX2F0dHIocXVlcnlfanVt YmxlX2lnbm9yZSk7CisJLyogdXNlcyBzZXNzaW9uIHZhcmlhYmxlcyAqLworCWJvb2wJCWhhc1Nl c3Npb25WYXJpYWJsZXMgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCS8qIGlz IGEgUkVUVVJOIHN0YXRlbWVudCAqLwogCWJvb2wJCWlzUmV0dXJuIHBnX25vZGVfYXR0cihxdWVy eV9qdW1ibGVfaWdub3JlKTsKIApAQCAtMzI1LDYgKzMyNywxNiBAQCB0eXBlZGVmIHN0cnVjdCBQ YXJhbVJlZgogCVBhcnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlm IHVua25vd24gKi8KIH0gUGFyYW1SZWY7CiAKKy8qCisgKiBWYXJpYWJsZUZlbmNlIC0gZW5zdXJl IHNvIGZpZWxkcyB3aWxsIGJlIGludGVycHJldHRlZCBhcyBhIHZhcmlhYmxlCisgKi8KK3R5cGVk ZWYgc3RydWN0IFZhcmlhYmxlRmVuY2UKK3sKKwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAgKnZh cm5hbWU7CQkvKiB2YXJpYWJsZSBuYW1lICovCisJUGFyc2VMb2MJbG9jYXRpb247CQkvKiB0b2tl biBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBWYXJpYWJsZUZlbmNlOworCiAvKgog ICogQV9FeHByIC0gaW5maXgsIHByZWZpeCwgYW5kIHBvc3RmaXggZXhwcmVzc2lvbnMKICAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9u b2Rlcy9wcmltbm9kZXMuaAppbmRleCA2ZGZjOTQ2YzIwYi4uMGM3NjJlNDkyZTkgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVz L3ByaW1ub2Rlcy5oCkBAIC0zNzksNiArMzc5LDggQEAgdHlwZWRlZiBzdHJ1Y3QgQ29uc3QKICAq CQkJCW9mIHRoZSBgcGFyYW1pZCcgZmllbGQgY29udGFpbiB0aGUgU3ViTGluaydzIHN1YkxpbmtJ ZCwgYW5kCiAgKgkJCQl0aGUgbG93LW9yZGVyIDE2IGJpdHMgY29udGFpbiB0aGUgY29sdW1uIG51 bWJlci4gIChUaGlzIHR5cGUKICAqCQkJCW9mIFBhcmFtIGlzIGFsc28gY29udmVydGVkIHRvIFBB UkFNX0VYRUMgZHVyaW5nIHBsYW5uaW5nLikKKyAqCQlQQVJBTV9WQVJJQUJMRTogIFRoZSBwYXJh bWV0ZXIgaXMgYSByZWZlcmVuY2UgdG8gYSBzZXNzaW9uIHZhcmlhYmxlCisgKgkJCQkocGFyYW12 YXJuYW1lIGhvbGRzIHRoZSB2YXJpYWJsZSdzIG5hbWUpLgogICovCiB0eXBlZGVmIGVudW0gUGFy YW1LaW5kCiB7CkBAIC0zODYsNiArMzg4LDcgQEAgdHlwZWRlZiBlbnVtIFBhcmFtS2luZAogCVBB UkFNX0VYRUMsCiAJUEFSQU1fU1VCTElOSywKIAlQQVJBTV9NVUxUSUVYUFIsCisJUEFSQU1fVkFS SUFCTEUsCiB9IFBhcmFtS2luZDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGFyYW0KQEAgLTQwMCw2ICs0 MDMsOCBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbQogCWludDMyCQlwYXJhbXR5cG1vZDsKIAkvKiBP SUQgb2YgY29sbGF0aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KIAlPaWQJCQlwYXJhbWNv bGxpZDsKKwkvKiBPSUQgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlIG9yIEludmFsaWRPaWQgaWYg bm9uZSAqLworCWNoYXIJICAgKnBhcmFtdmFybmFtZSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxl X2lnbm9yZSk7CiAJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8KIAlQYXJz ZUxvYwlsb2NhdGlvbjsKIH0gUGFyYW07CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIv cGFyc2Vfbm9kZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAppbmRleCBmN2Y0 YmE2YzJhOC4uMDBkNzdhMWFiYzQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJz ZV9ub2RlLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaApAQCAtMjQ4LDYg KzI0OCw3IEBAIHN0cnVjdCBQYXJzZVN0YXRlCiAJYm9vbAkJcF9oYXNUYXJnZXRTUkZzOwogCWJv b2wJCXBfaGFzU3ViTGlua3M7CiAJYm9vbAkJcF9oYXNNb2RpZnlpbmdDVEU7CisJYm9vbAkJcF9o YXNTZXNzaW9uVmFyaWFibGVzOwogCiAJTm9kZQkgICAqcF9sYXN0X3NyZjsJCS8qIG1vc3QgcmVj ZW50IHNldC1yZXR1cm5pbmcgZnVuYy9vcCBmb3VuZCAqLwogCmRpZmYgLS1naXQgYS9zcmMvcGwv cGxwZ3NxbC9zcmMvcGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwppbmRl eCA2NWIwZmQwNzkwZi4uZjQzMmFiYWFhOTUgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHBnc3FsL3Ny Yy9wbF9leGVjLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwpAQCAtODM1NSw3 ICs4MzU1LDggQEAgZXhlY19pc19zaW1wbGVfcXVlcnkoUExwZ1NRTF9leHByICpleHByKQogCQlx dWVyeS0+c29ydENsYXVzZSB8fAogCQlxdWVyeS0+bGltaXRPZmZzZXQgfHwKIAkJcXVlcnktPmxp bWl0Q291bnQgfHwKLQkJcXVlcnktPnNldE9wZXJhdGlvbnMpCisJCXF1ZXJ5LT5zZXRPcGVyYXRp b25zIHx8CisJCXF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzKQogCQlyZXR1cm4gZmFsc2U7CiAK IAkvKgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMv dG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA0NzE2ZWY4ZjNiZS4uNmY4ODllMThh NmQgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3Ny Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0zMzE0LDYgKzMzMTQsNyBAQCBWYWxp ZGF0b3JWYWxpZGF0ZUNCCiBWYWx1ZXNTY2FuCiBWYWx1ZXNTY2FuU3RhdGUKIFZhcgorVmFyaWFi bGVGZW5jZQogVmFyQml0CiBWYXJDaGFyCiBWYXJQYXJhbVN0YXRlCi0tIAoyLjUzLjAKCg== --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Disposition: attachment; filename="v20260403-2-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja330d3 RnJvbSAxMzI0NTlkYWQxZTQ2Mjk2ZmIzMmY4YmFmZjI3ZGJiNGZhZTc3ZDRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIyIE5vdiAyMDI1IDA2OjQwOjQ2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNC8xMV0gZmlsbCBhbiBhdXhpbGlhcnkgYnVmZmVyIHdpdGggdmFsdWVzIG9mIHNlc3Np b24gCiB2YXJpYWJsZXMgdXNlZCBpbiBxdWVyeQoKYW5kIGxvY2tzIHZhcmlhYmxlcyB1c2VkIGlu IHF1ZXJ5LiBOb3cgd2UgY2FuIHJlYWQgdGhlIGNvbnRlbnQgb2YgYW55CnNlc3Npb24gdmFyaWFi bGUuIERpcmVjdCByZWFkaW5nIGZyb20gZXhwcmVzc2lvbiBleGVjdXRvciBpcyBub3QgYWxsb3dl ZCwKc28gd2UgY2Fubm90IHRvIHVzZSBzZXNzaW9uIHZhcmlhYmxlcyBpbnNpZGUgQ0FMTCBvciBF WEVDVVRFIGNvbW1hbmRzCihjYW4gYmUgc3VwcG9ydGVkIHdpdGggZGlyZWN0IGFjY2VzcyB0byBz ZXNzaW9uIHZhcmlhYmxlcyAoZnJvbSBleHByZXNzaW9uCmV4ZWN1dG9yKSAtIHBvc3Rwb25lZCku CgpVc2luZyBzZXNzaW9uIHZhcmlhYmxlcyBibG9ja3MgcGFyYWxsZWwgcXVlcnkgZXhlY3V0aW9u LiBJdCBpcyBub3QKdGVjaG5pY2FsIHByb2JsZW0gKGl0IGp1c3QgbmVlZHMgYSBzZXJpYWxpemF0 aW9uL2Rlc2VyaWFsaXphdGlvbiBvZgplc19zZXNzaW9uX3ZhcmlibGVzIGJ1ZmZlciksIGJ1dCBp dCBpbmNyZWFzZXMgYSBzaXplIG9mIHBhdGNoIChhbmQgdGhlbgppdCBpcyBwb3N0cG9uZWQpLgot LS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgICAgICAgICAgICAgICB8ICAyOSAr KysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jICAgICAgICAgICAgICAgfCAgNDkg KysrKysrKwogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwg IDE0ICsrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCAgICAgICAgfCAx MzUgKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl ICAgICAgICAgICAgfCAgIDUgKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5zcWwgICAgIHwgMTIwICsrKysrKysrKysrKysrKysKIHNyYy90b29scy9wZ2luZGVudC90eXBl ZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgMSArCiA3IGZpbGVzIGNoYW5nZWQsIDM1MyBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z ZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CmluZGV4IDc3MjI5MTQxYjM4Li44ZTgxM2JhMmQ3YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvZXhlY0V4cHIuYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CkBAIC0xMTAyLDYgKzExMDIsMzUgQEAgRXhlY0luaXRFeHByUmVjKEV4cHIgKm5vZGUsIEV4cHJT dGF0ZSAqc3RhdGUsCiAJCQkJCQkJRXhwckV2YWxQdXNoU3RlcChzdGF0ZSwgJnNjcmF0Y2gpOwog CQkJCQkJfQogCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgUEFSQU1fVkFSSUFCTEU6CisJCQkJCQl7 CisJCQkJCQkJaW50CQkJZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzID0gMDsKKwkJCQkJCQlTZXNz aW9uVmFyaWFibGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBOVUxMOworCQkJCQkJCVNl c3Npb25WYXJpYWJsZVZhbHVlICp2YXI7CisKKwkJCQkJCQlpZiAoc3RhdGUtPnBhcmVudCAmJiBz dGF0ZS0+cGFyZW50LT5zdGF0ZSkKKwkJCQkJCQl7CisJCQkJCQkJCWVzX3Nlc3Npb25fdmFyaWFi bGVzID0gc3RhdGUtPnBhcmVudC0+c3RhdGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJ CQllc19udW1fc2Vzc2lvbl92YXJpYWJsZXMgPSBzdGF0ZS0+cGFyZW50LT5zdGF0ZS0+ZXNfbnVt X3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJCX0KKworCQkJCQkJCUFzc2VydChlc19zZXNzaW9u X3ZhcmlhYmxlcyk7CisKKwkJCQkJCQkvKiBwYXJhbWV0ZXIgc2FuaXR5IGNoZWNrcyAqLworCQkJ CQkJCWlmIChwYXJhbS0+cGFyYW1pZCA+PSBlc19udW1fc2Vzc2lvbl92YXJpYWJsZXMpCisJCQkJ CQkJCWVsb2coRVJST1IsICJwYXJhbWlkIG9mIFBBUkFNX1ZBUklBQkxFIHBhcmFtIGlzIG91dCBv ZiByYW5nZSIpOworCisJCQkJCQkJdmFyID0gJmVzX3Nlc3Npb25fdmFyaWFibGVzW3BhcmFtLT5w YXJhbWlkXTsKKworCQkJCQkJCS8qCisJCQkJCQkJICogSW4gdGhpcyBjYXNlLCBwYXNzIHRoZSB2 YWx1ZSBsaWtlIGEgY29uc3RhbnQuCisJCQkJCQkJICovCisJCQkJCQkJc2NyYXRjaC5vcGNvZGUg PSBFRU9QX0NPTlNUOworCQkJCQkJCXNjcmF0Y2guZC5jb25zdHZhbC52YWx1ZSA9IHZhci0+dmFs dWU7CisJCQkJCQkJc2NyYXRjaC5kLmNvbnN0dmFsLmlzbnVsbCA9IHZhci0+aXNudWxsOworCQkJ CQkJCUV4cHJFdmFsUHVzaFN0ZXAoc3RhdGUsICZzY3JhdGNoKTsKKwkJCQkJCX0KKwkJCQkJCWJy ZWFrOwogCQkJCQlkZWZhdWx0OgogCQkJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBwYXJh bWtpbmQ6ICVkIiwKIAkJCQkJCQkgKGludCkgcGFyYW0tPnBhcmFta2luZCk7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwppbmRleCA0NWUwMGM2YWY4NS4uNmM4ZTQzNGJmMzcgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNl LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wYXJ0aXRpb24uaCIKICNpbmNsdWRlICJjb21tYW5kcy9t YXR2aWV3LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3RyaWdnZXIuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgog I2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaCIKQEAgLTE5OCw2ICsxOTksNTQgQEAg c3RhbmRhcmRfRXhlY3V0b3JTdGFydChRdWVyeURlc2MgKnF1ZXJ5RGVzYywgaW50IGVmbGFncykK IAlBc3NlcnQocXVlcnlEZXNjLT5zb3VyY2VUZXh0ICE9IE5VTEwpOwogCWVzdGF0ZS0+ZXNfc291 cmNlVGV4dCA9IHF1ZXJ5RGVzYy0+c291cmNlVGV4dDsKIAorCS8qCisJICogVGhlIGV4ZWN1dG9y IGRvZXNuJ3Qgd29yayB3aXRoIHNlc3Npb24gdmFyaWFibGVzIGRpcmVjdGx5LiBWYWx1ZXMgb2YK KwkgKiByZWxhdGVkIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjb3BpZWQgdG8gYSBkZWRpY2F0ZWQg YXJyYXksIGFuZCB0aGlzCisJICogYXJyYXkgaXMgcGFzc2VkIHRvIHRoZSBleGVjdXRvci4gVGhp cyBhcnJheSBpcyBzdGFibGUgInNuYXBzaG90IiBvZgorCSAqIHZhbHVlcyBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzLiBUaGVyZSBhcmUgdGhyZWUgYmVuZWZpdHMgb2YgdGhpcworCSAqIHN0cmF0 ZWd5OgorCSAqCisJICogLSBjb25zaXN0ZW5jeSB3aXRoIGV4dGVybmFsIHBhcmFtZXRlcnMgYW5k IHBscGdzcWwgdmFyaWFibGVzLAorCSAqCisJICogLSBzZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUg cGFyYWxsZWwgc2FmZSwKKwkgKgorCSAqIC0gd2UgZG9uJ3QgbmVlZCBtYWtlIGZyZXNoIGNvcHkg Zm9yIGFueSByZWFkIG9mIHNlc3Npb24gdmFyaWFibGUgKHRoaXMKKwkgKiBpcyBuZWNlc3Nhcnkg YmVjYXVzZSB0aGUgaW50ZXJuYWxseSB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUgY2hhbmdl ZAorCSAqIGluc2lkZSBxdWVyeSBleGVjdXRpb24gdGltZSwgYW5kIHRoZW4gYSByZWZlcmVuY2Ug dG8gcHJldmlvdXNseQorCSAqIHJldHVybmVkIHZhbHVlIGNhbiBiZSBjb3JydXB0ZWQpLgorCSAq LworCWlmIChxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5zZXNzaW9uVmFyaWFibGVzKQorCXsKKwkJ aW50CQkJblNlc3Npb25WYXJpYWJsZXM7CisJCWludAkJCWkgPSAwOworCisJCS8qCisJCSAqIElu IHRoaXMgY2FzZSwgdGhlIHF1ZXJ5IHVzZXMgc2Vzc2lvbiB2YXJpYWJsZXMsIGJ1dCB3ZSBoYXZl IHRvCisJCSAqIHByZXBhcmUgdGhlIGFycmF5IHdpdGggcGFzc2VkIHZhbHVlcyAob2YgdXNlZCBz ZXNzaW9uIHZhcmlhYmxlcykKKwkJICogZmlyc3QuCisJCSAqLworCQlBc3NlcnQoIUlzUGFyYWxs ZWxXb3JrZXIoKSk7CisJCW5TZXNzaW9uVmFyaWFibGVzID0gbGlzdF9sZW5ndGgocXVlcnlEZXNj LT5wbGFubmVkc3RtdC0+c2Vzc2lvblZhcmlhYmxlcyk7CisKKwkJLyogY3JlYXRlIHRoZSBhcnJh eSB1c2VkIGZvciBwYXNzaW5nIHZhbHVlcyBvZiB1c2VkIHNlc3Npb24gdmFyaWFibGVzICovCisJ CWVzdGF0ZS0+ZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBwYWxsb2NfYXJyYXkoU2Vzc2lvblZhcmlh YmxlVmFsdWUsCisJCQkJCQkJCQkJCQkJblNlc3Npb25WYXJpYWJsZXMpOworCisJCS8qIGZpbGwg dGhlIGFycmF5ICovCisJCWZvcmVhY2hfbm9kZShQYXJhbSwgcGFyYW0sIHF1ZXJ5RGVzYy0+cGxh bm5lZHN0bXQtPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWVzdGF0ZS0+ZXNfc2Vzc2lvbl92 YXJpYWJsZXNbaV0udmFsdWUgPQorCQkJCUdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2so cGFyYW0tPnBhcmFtdmFybmFtZSwKKwkJCQkJCQkJCQkJCXBhcmFtLT5wYXJhbXR5cGUsCisJCQkJ CQkJCQkJCQlwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJCQkJCQkmZXN0YXRlLT5lc19zZXNz aW9uX3ZhcmlhYmxlc1tpXS5pc251bGwpOworCisJCQlpKys7CisJCX0KKworCQllc3RhdGUtPmVz X251bV9zZXNzaW9uX3ZhcmlhYmxlcyA9IG5TZXNzaW9uVmFyaWFibGVzOworCX0KKwogCS8qCiAJ ICogRmlsbCBpbiB0aGUgcXVlcnkgZW52aXJvbm1lbnQsIGlmIGFueSwgZnJvbSBxdWVyeURlc2Mu CiAJICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaCBiL3NyYy9p bmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IDA5MGNmY2NmNjVmLi4xNzIzNTk0ZTAxNiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKKysrIGIvc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTY3OSw2ICs2NzksMTYgQEAgdHlwZWRlZiBzdHJ1Y3Qg QXN5bmNSZXF1ZXN0CiAJCQkJCQkJCSAqIHR1cGxlcykgKi8KIH0gQXN5bmNSZXF1ZXN0OwogCisv KiAtLS0tLS0tLS0tLS0tLS0tCisgKiBTZXNzaW9uVmFyaWFibGVWYWx1ZQorICogLS0tLS0tLS0t LS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBTZXNzaW9uVmFyaWFibGVWYWx1ZQoreworCWJv b2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7Cit9IFNlc3Npb25WYXJpYWJsZVZhbHVlOworCiAv KiAtLS0tLS0tLS0tLS0tLS0tCiAgKgkgIEVTdGF0ZSBpbmZvcm1hdGlvbgogICoKQEAgLTczOCw2 ICs3NDgsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgRVN0YXRlCiAJUGFyYW1MaXN0SW5mbyBlc19wYXJh bV9saXN0X2luZm87CS8qIHZhbHVlcyBvZiBleHRlcm5hbCBwYXJhbXMgKi8KIAlQYXJhbUV4ZWNE YXRhICplc19wYXJhbV9leGVjX3ZhbHM7CS8qIHZhbHVlcyBvZiBpbnRlcm5hbCBwYXJhbXMgKi8K IAorCS8qIFNlc3Npb24gdmFyaWFibGVzIGluZm86ICovCisJaW50CQkJZXNfbnVtX3Nlc3Npb25f dmFyaWFibGVzOwkvKiBudW1iZXIgb2YgdXNlZCB2YXJpYWJsZXMgKi8KKwlTZXNzaW9uVmFyaWFi bGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXM7IC8qIGFycmF5IG9mIGNvcGllcyBvZiB2YWx1 ZXMgKi8KKwogCVF1ZXJ5RW52aXJvbm1lbnQgKmVzX3F1ZXJ5RW52OwkvKiBxdWVyeSBlbnZpcm9u bWVudCAqLwogCiAJLyogT3RoZXIgd29ya2luZyBzdGF0ZTogKi8KZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTUxOWJmNzIzZTAKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQKQEAg LTAsMCArMSwxMzUgQEAKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDEgQVMgaW50Owor LS0gc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIHdpdGhvdXQgdmFyaWFibGUncyBmZW5jZQorLS0g c2hvdWxkIGZhaWwKK1NFTEVDVCB0ZW1wX3ZhcjAxOworRVJST1I6ICBjb2x1bW4gInRlbXBfdmFy MDEiIGRvZXMgbm90IGV4aXN0CitMSU5FIDE6IFNFTEVDVCB0ZW1wX3ZhcjAxOworICAgICAgICAg ICAgICAgXgorLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisg dGVtcF92YXIwMSAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworLS0gc2hv dWxkIG5vdCBjcmFzaAorRE8gJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxF KHRlbXBfdmFyMDEpOworRU5EOworJCQ7CitOT1RJQ0U6ICA8TlVMTD4KKy0tIHZhcmlhYmxlcyBj YW5ub3QgYmUgdXNlZCBieSBwZXJzaXN0ZW50IG9iamVjdHMKKy0tIHRoYXQgY2hlY2tzIGRlcGVu ZGVuY3kKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWSUVXIHRlbXB2IEFTIFNFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIw MSIgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gYSBjYXRhbG9nIG9iamVjdAorQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKQorUkVUVVJOUyBpbnQgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKyQkIExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3Nx bCgpOworIHRlc3R2YXJfc3FsIAorLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgCisoMSByb3cp CisKKy0tIHNlc3Npb24gdmFyaWFibGUgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1ldGVyIG9mIENB TEwgb3IgRVhFQ1VURQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHRlc3R2YXJfcHJvYyhp bnQpCitBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgJDE7CitFTkQ7CiskJCBMQU5H VUFHRSBwbHBnc3FsOworLS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFS SUFCTEUodGVtcF92YXIwMSkpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBp cyBub3Qgc3VwcG9ydGVkIGhlcmUKK0xJTkUgMTogQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUo dGVtcF92YXIwMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitQUkVQ QVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworLS0gc2hvdWxkIG5vdCBjcmFzaAorRVhF Q1VURSBwcmVwc3RtdChWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CitFUlJPUjogIHNlc3Npb24gdmFy aWFibGUgcmVmZXJlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgaGVyZQorTElORSAxOiBFWEVDVVRFIHBy ZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCitEUk9QIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2M7CitERUFMTE9DQVRFIHByZXBz dG10OworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsK K0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc2QoKQorUkVUVVJOUyB2b2lkIEFT ICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VO RDsKKyQkIExBTkdVQUdFIHBscGdzcWw7CistLSBvbmx5IG93bmVyIGNhbiByZWFkIGRhdGEKK1NF VCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CistLSBzaG91 bGQgZmFpbAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRVJST1I6ICBwZXJtaXNzaW9u IGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCistLSBmeCB3aXRoIHNlY3Vy aXR5IGRlZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworRVJST1I6ICBw ZXJtaXNzaW9uIGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCitDT05URVhU OiAgUEwvcGdTUUwgZXhwcmVzc2lvbiAiVkFSSUFCTEUodGVtcF92YXIwMSkiCitQTC9wZ1NRTCBm dW5jdGlvbiB0ZXN0dmFyX3NkKCkgbGluZSAzIGF0IFJBSVNFCitTRVQgUk9MRSBUTyBkZWZhdWx0 OworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAxOworLS0gdGhlcmUgaXMgbm90IHBsYW4gY2FjaGUg aW52YWxpZGF0aW9uCistLSBidXQgc3RpbGwgZnVuY3Rpb25zIHRoYXQgdXNlcyBkcm9wcGVkIHZh cmlhYmxlcworLS0gc2hvdWxkIG5vdCB0byBjcmFzaAorU0VMRUNUIHRlc3R2YXJfc2QoKTsKK0VS Uk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMSIgZG9lc24ndCBleGlzdAorQ09OVEVY VDogIFBML3BnU1FMIGV4cHJlc3Npb24gIlZBUklBQkxFKHRlbXBfdmFyMDEpIgorUEwvcGdTUUwg ZnVuY3Rpb24gdGVzdHZhcl9zZCgpIGxpbmUgMyBhdCBSQUlTRQorU0VMRUNUIHRlc3R2YXJfc3Fs KCk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDEiIGRvZXNuJ3QgZXhpc3QK K0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsIiBkdXJpbmcgaW5saW5pbmcKK0RS T1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zZCgpOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CitDUkVBVEUg VEFCTEUgdGVzdHZhcl90ZXN0dGFiKGEgaW50KTsKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBf dmFyMDIgQVMgaW50OworSU5TRVJUIElOVE8gdGVzdHZhcl90ZXN0dGFiIFNFTEVDVCAqIEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsMTAwMCk7CitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2Eg T04gdGVzdHZhcl90ZXN0dGFiKGEpOworQU5BTFlaRSB0ZXN0dmFyX3Rlc3R0YWI7CistLSBmb3Jj ZSBpbmRleAorU0VUIGVuYWJsZV9zZXFzY2FuIFRPIE9GRjsKKy0tIGluZGV4IHNjYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworICAgICAgICAgICAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmRleCBPbmx5 IFNjYW4gdXNpbmcgdGVzdHZhcl90ZXN0dGFiX2Egb24gdGVzdHZhcl90ZXN0dGFiCisgICBJbmRl eCBDb25kOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93cykKKworRFJPUCBJTkRF WCB0ZXN0dmFyX3Rlc3R0YWJfYTsKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBERUZBVUxUOworLS0g cGFyYWxsZWwgZXhlY3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9m IHBhcmFsbGVsIHBsYW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxs ZWxfdHVwbGVfY29zdCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7 CitTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CistLSBwYXJhbGxlbCBw bGFuIHNob3VsZCBiZSB1c2VkCitFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVz dHZhcl90ZXN0dGFiIFdIRVJFIGEgPSAxMDA7CisgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBHYXRoZXIKKyAgIFdvcmtlcnMgUGxhbm5lZDogMgorICAgLT4gIFBhcmFsbGVsIFNl cSBTY2FuIG9uIHRlc3R2YXJfdGVzdHRhYgorICAgICAgICAgRmlsdGVyOiAoYSA9IDEwMCkKKyg0 IHJvd3MpCisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxkIG5vdCBiZSB1c2VkCitFWFBMQUlOIChD T1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVzdHZhcl90ZXN0dGFiIFdIRVJFIGEgPSBWQVJJQUJM RSh0ZW1wX3ZhcjAyKTsKKyAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIHRlc3R2 YXJfdGVzdHRhYgorICAgRmlsdGVyOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93 cykKKworUkVTRVQgcGFyYWxsZWxfc2V0dXBfY29zdDsKK1JFU0VUIHBhcmFsbGVsX3R1cGxlX2Nv c3Q7CitSRVNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nhbl9zaXplOworUkVTRVQgbWF4X3BhcmFs bGVsX3dvcmtlcnNfcGVyX2dhdGhlcjsKK0RST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOworRFJP UCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXgg ZWM5MmM3MTdiZjYuLmI3YzBhZDAwMTQ5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUK QEAgLTE0MCwzICsxNDAsOCBAQCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxlc3BhY2Ug dGVzdCBhdCB0aGUgZW5kIGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2UgY3JlYXRlZCBk dXJpbmcKICMgc2V0dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVzdDogdGFibGVzcGFj ZQorCisjIC0tLS0tLS0tLS0KKyMgQW5vdGhlciBncm91cCBvZiBwYXJhbGxlbCB0ZXN0cyAoc2Vz c2lvbiB2YXJpYWJsZXMgcmVsYXRlZCkKKyMgLS0tLS0tLS0tLQordGVzdDogc2Vzc2lvbl92YXJp YWJsZXNfZGRsIHNlc3Npb25fdmFyaWFibGVzX2RtbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmJmNTZiMTk0NjdiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApAQCAtMCwwICsxLDEyMCBAQAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMSBBUyBpbnQ7CisKKy0tIHNob3VsZCBub3QgYmUgYWNj ZXNzaWJsZSB3aXRob3V0IHZhcmlhYmxlJ3MgZmVuY2UKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1Qg dGVtcF92YXIwMTsKKworLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIw MSk7CisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0RPICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0Ug JyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VORDsKKyQkOworCistLSB2YXJpYWJsZXMgY2Fu bm90IGJlIHVzZWQgYnkgcGVyc2lzdGVudCBvYmplY3RzCistLSB0aGF0IGNoZWNrcyBkZXBlbmRl bmN5CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVklFVyB0ZW1wdiBBUyBTRUxFQ1QgVkFS SUFCTEUodGVtcF92YXIwMSk7CisKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCkKK1JFVFVSTlMgaW50IEFTICQkCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisk JCBMQU5HVUFHRSBzcWw7CisKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCistLSBzZXNzaW9uIHZh cmlhYmxlIGNhbm5vdCBiZSB1c2VkIGFzIHBhcmFtZXRlciBvZiBDQUxMIG9yIEVYRUNVVEUKK0NS RUFURSBPUiBSRVBMQUNFIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2MoaW50KQorQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsICQxOworRU5EOworJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKwor LS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUodGVtcF92YXIw MSkpOworCitQUkVQQVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworCistLSBzaG91bGQg bm90IGNyYXNoCitFWEVDVVRFIHByZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKworRFJP UCBQUk9DRURVUkUgdGVzdHZhcl9wcm9jOworREVBTExPQ0FURSBwcmVwc3RtdDsKKworQ1JFQVRF IFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsKKworQ1JFQVRFIE9S IFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zZCgpCitSRVRVUk5TIHZvaWQgQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRU5EOworJCQgTEFO R1VBR0UgcGxwZ3NxbDsKKworLS0gb25seSBvd25lciBjYW4gcmVhZCBkYXRhCitTRVQgUk9MRSBU TyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAzOworCistLSBzaG91bGQgZmFp bAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworCistLSBmeCB3aXRoIHNlY3VyaXR5IGRl ZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworCitTRVQgUk9MRSBUTyBk ZWZhdWx0OworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDE7CisKKy0tIHRoZXJlIGlzIG5vdCBw bGFuIGNhY2hlIGludmFsaWRhdGlvbgorLS0gYnV0IHN0aWxsIGZ1bmN0aW9ucyB0aGF0IHVzZXMg ZHJvcHBlZCB2YXJpYWJsZXMKKy0tIHNob3VsZCBub3QgdG8gY3Jhc2gKKworU0VMRUNUIHRlc3R2 YXJfc2QoKTsKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc2QoKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nf c2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CisKK0NSRUFURSBUQUJMRSB0ZXN0dmFyX3Rl c3R0YWIoYSBpbnQpOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMiBBUyBpbnQ7CisK K0lOU0VSVCBJTlRPIHRlc3R2YXJfdGVzdHRhYiBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDEwMDApOworCitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2EgT04gdGVzdHZhcl90 ZXN0dGFiKGEpOworCitBTkFMWVpFIHRlc3R2YXJfdGVzdHRhYjsKKworLS0gZm9yY2UgaW5kZXgK K1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBPRkY7CisKKy0tIGluZGV4IHNjYW4gc2hvdWxkIGJlIHVz ZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hF UkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitEUk9QIElOREVYIHRlc3R2YXJfdGVzdHRh Yl9hOworCitTRVQgZW5hYmxlX3NlcXNjYW4gVE8gREVGQVVMVDsKKworLS0gcGFyYWxsZWwgZXhl Y3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9mIHBhcmFsbGVsIHBs YW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxsZWxfdHVwbGVfY29z dCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7CitTRVQgbWF4X3Bh cmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IDEwMDsKKworLS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgbm90IGJlIHVzZWQK K0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hFUkUg YSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitSRVNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0Owor UkVTRVQgcGFyYWxsZWxfdHVwbGVfY29zdDsKK1JFU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemU7CitSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOworCitEUk9QIFRB QkxFIHRlc3R2YXJfdGVzdHRhYjsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKZGlmZiAtLWdp dCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKaW5kZXggNmY4ODllMThhNmQuLjA0ZjFiZDE3ZGNjIDEwMDY0NAotLS0g YS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdApAQCAtMjgwNSw2ICsyODA1LDcgQEAgU2VyaWFsaXplZFRyYW5zYWN0 aW9uU3RhdGUKIFNlc3Npb24KIFNlc3Npb25CYWNrdXBTdGF0ZQogU2Vzc2lvbkVuZFR5cGUKK1Nl c3Npb25WYXJpYWJsZVZhbHVlCiBTZXRDb25zdHJhaW50U3RhdGUKIFNldENvbnN0cmFpbnRTdGF0 ZURhdGEKIFNldENvbnN0cmFpbnRUcmlnZ2VyRGF0YQotLSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0005-svariableReceiver.patch" Content-Disposition: attachment; filename="v20260403-2-0005-svariableReceiver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja330v4 RnJvbSA2NTRlN2ViNzhjYjA3NDM0YWViZmI0ODA5NmE2NmIyMmUzYzQ2MDk0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IFN1biwgMSBKdW4gMjAyNSAyMToyMDoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUv MTFdIHN2YXJpYWJsZVJlY2VpdmVyCgphbGxvd3MgdG8gc3RvcmUgcmVzdWx0IG9mIHRoZSBxdWVy eSB0byBzZXNzaW9uIHZhcmlhYmxlCgpDaGVjayBjb3JyZWN0IGZvcm1hdCBvZiByZXN1bHQgLSBv bmUgY29sdW1uLCBvbmUgcm93LgotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYyAgfCAgNTAgKysrKysrKysKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlICAg ICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVpbGQgICAgICAg ICB8ICAgMSArCiBzcmMvYmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jIHwgMTM5 ICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC90Y29wL2Rlc3QuYyAgICAgICAg ICAgICAgICAgIHwgICA3ICsrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmggIHwgICAzICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmggfCAg MjIgKysrKwogc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmggICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgIHwgICAxICsKIDkgZmls ZXMgY2hhbmdlZCwgMjI1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFj a2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaAoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3Nlc3Npb25fdmFyaWFibGUuYwppbmRleCAxOWMxNTNkYWUzZi4uY2QxNzFhNjhjYmYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTE2Nyw2ICsxNjcsNTYgQEAg R2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2YXJuYW1lLAogCXJldHVybiBy ZXN1bHQ7CiB9CiAKKy8qCisgKiBTdG9yZSB0aGUgZ2l2ZW4gdmFsdWUgaW4gYSBzZXNzaW9uIHZh cmlhYmxlIGluIHRoZSBjYWNoZS4KKyAqLwordm9pZAorU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5 cGVjaGVjayhjaGFyICp2YXJuYW1lLAorCQkJCQkJCQlPaWQgdHlwaWQsIGludDMyIHR5cG1vZCwK KwkJCQkJCQkJRGF0dW0gdmFsdWUsIGJvb2wgaXNudWxsKQoreworCVNWYXJpYWJsZQlzdmFyOwor CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBl ICE9IHR5cGlkIHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1Is CisJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygi c2Vzc2lvbiB2YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJ CQkJCXZhcm5hbWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1v ZCksCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+ dmFydHlwbW9kKSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlh YmxlICovCisJaWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIo KSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9Q UklWSUxFR0UpLAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZh cmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPnR5cGJ5dmFsKQor CXsKKwkJaWYgKCFpc251bGwpCisJCXsKKwkJCU1lbW9yeUNvbnRleHQgb2xkY3h0OworCisJCQkv KgorCQkJICogRG8gY29weSBvZiB2YWx1ZSBpbiBzZXNzaW9uIHZhcmlhYmxlcyBjb250ZXh0LiBU aGlzIG9wZXJhdGlvbgorCQkJICogY2FuIGZhaWwsIHNvIGRvIGl0IGJlZm9yZSByZWxlYXNpbmcg dGhlIG9sZCBjb250ZW50LgorCQkJICovCisJCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNo VG8oU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCk7CisJCQl2YWx1ZSA9IGRhdHVtQ29weSh2YWx1ZSwg c3Zhci0+dHlwYnl2YWwsIHN2YXItPnR5cGxlbik7CisJCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8o b2xkY3h0KTsKKwkJfQorCisJCWlmICghc3Zhci0+aXNudWxsKQorCQkJcGZyZWUoRGF0dW1HZXRQ b2ludGVyKHN2YXItPnZhbHVlKSk7CisJfQorCisJc3Zhci0+dmFsdWUgPSB2YWx1ZTsKKwlzdmFy LT5pc251bGwgPSBpc251bGw7Cit9CisKIC8qCiAgKiBDcmVhdGVzIGEgbmV3IHZhcmlhYmxlIC0g ZG9lcyBuZXcgZW50cnkgaW4gc2Vzc2lvbnZhcnMKICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlCmluZGV4 IDExMTE4ZDBjZTAyLi43MTI0OGEzNGYyNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvTWFrZWZpbGUKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvTWFrZWZpbGUKQEAgLTc2LDYg Kzc2LDcgQEAgT0JKUyA9IFwKIAlub2RlV2luZG93QWdnLm8gXAogCW5vZGVXb3JrdGFibGVzY2Fu Lm8gXAogCXNwaS5vIFwKKwlzdmFyaWFibGVSZWNlaXZlci5vIFwKIAl0cXVldWUubyBcCiAJdHN0 b3JlUmVjZWl2ZXIubwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5i dWlsZCBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkCmluZGV4IGRjNDViZTBiMmNl Li5hNTcyYjZkYWI3YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVp bGQKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVpbGQKQEAgLTY0LDYgKzY0LDcg QEAgYmFja2VuZF9zb3VyY2VzICs9IGZpbGVzKAogICAnbm9kZVdpbmRvd0FnZy5jJywKICAgJ25v ZGVXb3JrdGFibGVzY2FuLmMnLAogICAnc3BpLmMnLAorICAnc3ZhcmlhYmxlUmVjZWl2ZXIuYycs CiAgICd0cXVldWUuYycsCiAgICd0c3RvcmVSZWNlaXZlci5jJywKICkKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmMgYi9zcmMvYmFja2VuZC9leGVj dXRvci9zdmFyaWFibGVSZWNlaXZlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5mOGZiYjdhOGU3MQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmMKQEAgLTAsMCArMSwxMzkgQEAKKy8qLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICoKKyAqIHN2YXJpYWJsZVJlY2VpdmVyLmMKKyAqCSAgQW4gaW1wbGVtZW50YXRpb24g b2YgRGVzdFJlY2VpdmVyIHRoYXQgc3RvcmVzIHRoZSByZXN1bHQgdmFsdWUgaW4KKyAqCSAgYSBz ZXNzaW9uIHZhcmlhYmxlLgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDI0 LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJp Z2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVS ZWNlaXZlci5jCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3Rn cmVzLmgiCisKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJl Y2VpdmVyLmgiCisKKy8qCisgKiBUaGlzIERlc3RSZWNlaXZlciBpcyB1c2VkIGJ5IHRoZSBMRVQg Y29tbWFuZCBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IHRvIGEKKyAqIHNlc3Npb24gdmFyaWFibGUu ICBUaGUgcmVzdWx0IGhhcyB0byBoYXZlIG9ubHkgb25lIHR1cGxlIHdpdGggb25seSBvbmUKKyAq IG5vbi1kZWxldGVkIGF0dHJpYnV0ZS4gIFRoZSByb3cgY291bnRlciAoZmllbGQgInJvd3MiKSBp cyBpbmNyZW1lbnRlZAorICogYWZ0ZXIgcmVjZWl2aW5nIGEgcm93LCBhbmQgYW4gZXJyb3IgaXMg cmFpc2VkIHdoZW4gdGhlcmUgYXJlIG5vIHJvd3Mgb3IKKyAqIHRoZXJlIGFyZSBtb3JlIHRoYW4g b25lIHJlY2VpdmVkIHJvd3MuICBBIHJlY2VpdmVkIHR1cGxlIGNhbm5vdCB0byBoYXZlCisgKiBk ZWxldGVkIGF0dHJpYnV0ZXMuCisgKgorICogVGhlIGFzc2lnbm1lbnQgdG8gc2Vzc2lvbiB2YXJp YWJsZSBoYXZlIHRvIGJlIHBvc3Rwb25lZCB1bnRpbCB3ZSBhcmUKKyAqIHN1cmUgc28gb25seSBv bmUgcm93IHdhcyByZWNlaXZlZC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlEZXN0UmVjZWl2 ZXIgcHViOworCWNoYXIJICAgKnZhcm5hbWU7CisJaW50CQkJcm93czsJCQkvKiByb3cgY291bnRl ciAqLworCVR1cGxlRGVzYwl0dXBkZXNjOworCUhlYXBUdXBsZQl0dXBsZTsKKwlNZW1vcnlDb250 ZXh0IHR1cGxlX2N4dDsJLyogaG9sZHMgYSB2YWx1ZSBiZWZvcmUgc3RvcmluZyB0byB2YXJpYWJs ZSAqLworfSBTVmFyaWFibGVTdGF0ZTsKKworLyoKKyAqIFByZXBhcmUgdG8gcmVjZWl2ZSB0dXBs ZXMgZnJvbSBleGVjdXRvci4KKyAqLworc3RhdGljIHZvaWQKK3N2YXJpYWJsZVN0YXJ0dXBSZWNl aXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYsIGludCBvcGVyYXRpb24sIFR1cGxlRGVzYyB0eXBlaW5m bykKK3sKKwlTVmFyaWFibGVTdGF0ZSAqbXlTdGF0ZSA9IChTVmFyaWFibGVTdGF0ZSAqKSBzZWxm OworCisJQXNzZXJ0KG15U3RhdGUtPnB1Yi5teWRlc3QgPT0gRGVzdFZhcmlhYmxlKTsKKwlBc3Nl cnQodHlwZWluZm8tPm5hdHRzID09IDEpOworCisJbXlTdGF0ZS0+cm93cyA9IDA7CisJbXlTdGF0 ZS0+dHVwZGVzYyA9IHR5cGVpbmZvOworCW15U3RhdGUtPnR1cGxlID0gTlVMTDsKKwlteVN0YXRl LT50dXBsZV9jeHQgPSBDdXJyZW50TWVtb3J5Q29udGV4dDsKK30KKworLyoKKyAqIFJlY2VpdmUg YSB0dXBsZSBmcm9tIHRoZSBleGVjdXRvciBhbmQgc3RvcmUgaXQgaW4gdGhlIGJ1ZmZlcgorICov CitzdGF0aWMgYm9vbAorc3ZhcmlhYmxlUmVjZWl2ZVNsb3QoVHVwbGVUYWJsZVNsb3QgKnNsb3Qs IERlc3RSZWNlaXZlciAqc2VsZikKK3sKKwlTVmFyaWFibGVTdGF0ZSAqbXlTdGF0ZSA9IChTVmFy aWFibGVTdGF0ZSAqKSBzZWxmOworCU1lbW9yeUNvbnRleHQgb2xkY3h0OworCisJaWYgKCsrbXlT dGF0ZS0+cm93cyA+IDEpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9U T09fTUFOWV9ST1dTKSwKKwkJCQkgZXJybXNnKCJleHByZXNzaW9uIHJldHVybmVkIG1vcmUgdGhh biBvbmUgcm93IikpKTsKKworCS8qCisJICogV2UgY2Fubm90IHRvIGFzc2lnbiByZWNlaXZlZCB2 YWx1ZSBkaXJlY3RseSwgc28gd2Ugc2hvdWxkIHRvCisJICogc2F2ZSByZWNlaXZlZCB2YWx1ZSBp biB0aGUgYnVmZmVyLgorCSAqLworCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhteVN0 YXRlLT50dXBsZV9jeHQpOworCW15U3RhdGUtPnR1cGxlID0gRXhlY0NvcHlTbG90SGVhcFR1cGxl KHNsb3QpOworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQpOworCisJcmV0dXJuIHRydWU7 Cit9CisKKy8qCisgKiBDbGVhbiB1cCBhdCBlbmQgb2YgdGhlIGV4ZWN1dG9yIHJ1bgorICovCitz dGF0aWMgdm9pZAorc3ZhcmlhYmxlU2h1dGRvd25SZWNlaXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYp Cit7CisJU1ZhcmlhYmxlU3RhdGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsK KwlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyOworCURhdHVtCQl2YWx1ZTsKKwlib29sCQlpc251bGw7 CisKKwlpZiAobXlTdGF0ZS0+cm93cyA9PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJj b2RlKEVSUkNPREVfTk9fREFUQV9GT1VORCksCisJCQkJIGVycm1zZygiZXhwcmVzc2lvbiByZXR1 cm5lZCBubyByb3dzIikpKTsKKworCWF0dHIgPSBUdXBsZURlc2NBdHRyKG15U3RhdGUtPnR1cGRl c2MsIDApOworCUFzc2VydCghYXR0ci0+YXR0aXNkcm9wcGVkKTsKKworCXZhbHVlID0gaGVhcF9n ZXRhdHRyKG15U3RhdGUtPnR1cGxlLCAxLCBteVN0YXRlLT50dXBkZXNjLCAmaXNudWxsKTsKKwor CVNldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2sobXlTdGF0ZS0+dmFybmFtZSwKKwkJCQkJ CQkJCWF0dHItPmF0dHR5cGlkLCBhdHRyLT5hdHR0eXBtb2QsCisJCQkJCQkJCQl2YWx1ZSwgaXNu dWxsKTsKKworCWhlYXBfZnJlZXR1cGxlKG15U3RhdGUtPnR1cGxlKTsKK30KKworLyoKKyAqIERl c3Ryb3kgdGhlIHJlY2VpdmVyIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCBpdAorICovCitzdGF0aWMg dm9pZAorc3ZhcmlhYmxlRGVzdHJveVJlY2VpdmVyKERlc3RSZWNlaXZlciAqc2VsZikKK3sKKwlw ZnJlZShzZWxmKTsKK30KKworLyoKKyAqIEluaXRpYWxseSBjcmVhdGUgYSBEZXN0UmVjZWl2ZXIg b2JqZWN0LgorICovCitEZXN0UmVjZWl2ZXIgKgorQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIo Y2hhciAqdmFybmFtZSkKK3sKKwlTVmFyaWFibGVTdGF0ZSAqc2VsZiA9IChTVmFyaWFibGVTdGF0 ZSAqKSBwYWxsb2MwKHNpemVvZihTVmFyaWFibGVTdGF0ZSkpOworCisJc2VsZi0+cHViLnJlY2Vp dmVTbG90ID0gc3ZhcmlhYmxlUmVjZWl2ZVNsb3Q7CisJc2VsZi0+cHViLnJTdGFydHVwID0gc3Zh cmlhYmxlU3RhcnR1cFJlY2VpdmVyOworCXNlbGYtPnB1Yi5yU2h1dGRvd24gPSBzdmFyaWFibGVT aHV0ZG93blJlY2VpdmVyOworCXNlbGYtPnB1Yi5yRGVzdHJveSA9IHN2YXJpYWJsZURlc3Ryb3lS ZWNlaXZlcjsKKwlzZWxmLT5wdWIubXlkZXN0ID0gRGVzdFZhcmlhYmxlOworCisJc2VsZi0+dmFy bmFtZSA9IHZhcm5hbWU7CisKKwlyZXR1cm4gKERlc3RSZWNlaXZlciAqKSBzZWxmOworfQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgYi9zcmMvYmFja2VuZC90Y29wL2Rlc3Qu YwppbmRleCBmYjE2MzkzMGM4OS4uMTNmZTUzNmI0MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3Rjb3AvZGVzdC5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvZGVzdC5jCkBAIC0zOCw2ICszOCw3 IEBACiAjaW5jbHVkZSAiZXhlY3V0b3IvZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Iv dHF1ZXVlLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvdHN0b3JlUmVjZWl2ZXIuaCIKKyNpbmNsdWRl ICJleGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oIgogI2luY2x1ZGUgImxpYnBxL2xpYnBxLmgi CiAjaW5jbHVkZSAibGlicHEvcHFmb3JtYXQuaCIKIApAQCAtMTU1LDYgKzE1Niw5IEBAIENyZWF0 ZURlc3RSZWNlaXZlcihDb21tYW5kRGVzdCBkZXN0KQogCiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJp YWxpemU6CiAJCQlyZXR1cm4gQ3JlYXRlRXhwbGFpblNlcmlhbGl6ZURlc3RSZWNlaXZlcihOVUxM KTsKKworCQljYXNlIERlc3RWYXJpYWJsZToKKwkJCXJldHVybiBDcmVhdGVWYXJpYWJsZURlc3RS ZWNlaXZlcihOVUxMKTsKIAl9CiAKIAkvKiBzaG91bGQgbmV2ZXIgZ2V0IGhlcmUgKi8KQEAgLTE5 Miw2ICsxOTYsNyBAQCBFbmRDb21tYW5kKGNvbnN0IFF1ZXJ5Q29tcGxldGlvbiAqcWMsIENvbW1h bmREZXN0IGRlc3QsIGJvb2wgZm9yY2VfdW5kZWNvcmF0ZWRfbwogCQljYXNlIERlc3RUcmFuc2ll bnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxp emU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpAQCAtMjM4LDYgKzI0 Myw3IEBAIE51bGxDb21tYW5kKENvbW1hbmREZXN0IGRlc3QpCiAJCWNhc2UgRGVzdFRyYW5zaWVu dFJlbDoKIAkJY2FzZSBEZXN0VHVwbGVRdWV1ZToKIAkJY2FzZSBEZXN0RXhwbGFpblNlcmlhbGl6 ZToKKwkJY2FzZSBEZXN0VmFyaWFibGU6CiAJCQlicmVhazsKIAl9CiB9CkBAIC0yODIsNiArMjg4 LDcgQEAgUmVhZHlGb3JRdWVyeShDb21tYW5kRGVzdCBkZXN0KQogCQljYXNlIERlc3RUcmFuc2ll bnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxp emU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IDM2ODc0OTBiY2IxLi42MTBiNzU3ODk5ZSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBi L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtMjMsNiArMjMsOSBA QCBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNl c3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFy ICp2YXJuYW1lKTsKIAogZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hl Y2soY2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wgKmlzbnVsbCk7 CitleHRlcm4gdm9pZCBTZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5h bWUsCisJCQkJCQkJCQkJCU9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLAorCQkJCQkJCQkJCQlEYXR1 bSB2YWx1ZSwgYm9vbCBpc251bGwpOwogCiBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJs ZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJCQlPaWQgKnR5 cGlkLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIu aCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRkMDFjOTNjOWU4Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaApAQCAtMCwwICsxLDIy IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBzdmFyaWFibGVSZWNlaXZlci5oCisgKgkg IHByb3RvdHlwZXMgZm9yIHN2YXJpYWJsZVJlY2VpdmVyLmMKKyAqCisgKgorICogUG9ydGlvbnMg Q29weXJpZ2h0IChjKSAxOTk2LTIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdy b3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZl cnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJs ZVJlY2VpdmVyLmgKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZuZGVmIFNWQVJJ QUJMRV9SRUNFSVZFUl9ICisjZGVmaW5lIFNWQVJJQUJMRV9SRUNFSVZFUl9ICisKKyNpbmNsdWRl ICJ0Y29wL2Rlc3QuaCIKKworZXh0ZXJuIERlc3RSZWNlaXZlciAqQ3JlYXRlVmFyaWFibGVEZXN0 UmVjZWl2ZXIoY2hhciAqdmFybmFtZSk7CisKKyNlbmRpZgkJCQkJCQkvKiBTVkFSSUFCTEVfUkVD RUlWRVJfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmggYi9zcmMvaW5j bHVkZS90Y29wL2Rlc3QuaAppbmRleCA0ZTRmNTMyZDhjYy4uMWU3MDQzZGM3ZjcgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3Rjb3AvZGVzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Rjb3AvZGVzdC5o CkBAIC05Nyw2ICs5Nyw3IEBAIHR5cGVkZWYgZW51bQogCURlc3RUcmFuc2llbnRSZWwsCQkJLyog cmVzdWx0cyBzZW50IHRvIHRyYW5zaWVudCByZWxhdGlvbiAqLwogCURlc3RUdXBsZVF1ZXVlLAkJ CQkvKiByZXN1bHRzIHNlbnQgdG8gdHVwbGUgcXVldWUgKi8KIAlEZXN0RXhwbGFpblNlcmlhbGl6 ZSwJCS8qIHJlc3VsdHMgYXJlIHNlcmlhbGl6ZWQgYW5kIGRpc2NhcmRlZCAqLworCURlc3RWYXJp YWJsZSwJCQkJLyogcmVzdWx0cyBzZW50IHRvIHNlc3Npb24gdmFyaWFibGUgKi8KIH0gQ29tbWFu ZERlc3Q7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2lu ZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5k ZXggMDRmMWJkMTdkY2MuLjIyMTk4ZGZhZmVmIDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApA QCAtMjc0Nyw2ICsyNzQ3LDcgQEAgU1RSTEVOCiBTVgogU1ZhcmlhYmxlRGF0YQogU1ZhcmlhYmxl CitTVmFyaWFibGVTdGF0ZQogU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIKIFNZU1RFTV9JTkZPCiBT YW1wbGVTY2FuCi0tIAoyLjUzLjAKCg== --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Disposition: attachment; filename="v20260403-2-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja33022 RnJvbSAwNGMzNDM3N2MyNTIwNTAzOThlYTc3ZjhiZDk2NGQ0MTAyYjc0OTNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDIwOjQyOjU2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8xMV0gY29sbGVjdCBzZXNzaW9uIHZhcmlhYmxlcyB1c2VkIGluIHBsYW4gYW5kIGFz c2lnbgogcGFyYW1pZAoKSW4gdGhlIHBsYW4gc3RhZ2Ugd2UgbmVlZCB0byBjb2xsZWN0IHVzZWQg c2Vzc2lvbiB2YXJpYWJsZXMuIE9uIHRoZQpvcmRlciBvZiB0aGlzIGxpc3QsIHRoZSBwYXJhbSBu b2RlcyBnZXRzIHBhcmFtaWQgKGZpeF9wYXJhbV9ub2RlKS4KVGhpcyBudW1iZXIgaXMgdXNlZCAo bGF0ZXIpIGFzIGluZGV4IHRvIGJ1ZmZlciBvZiB2YWx1ZXMgb2YgdGhlCnVzZWQgc2Vzc2lvbiB2 YXJpYWJsZXMuIFRoZSBidWZmZXIgaXMgcHJlcGFyZWQgYW5kIGZpbGxlZCBieSBleGVjdXRvci4K ClNvbWUgdW5zdXBwb3J0ZWQgb3B0aW1pemF0aW9ucyBhcmUgZGlzYWJsZWQ6CgoqIHBhcmFsbGVs IGV4ZWN1dGlvbgoqIHNpbXBsZSBleHByZXNzaW9uIGV4ZWN1dGlvbiBpbiBQTC9wZ1NRTAoqIFNR TCBmdW5jdGlvbnMgaW5saW5pbmcKCkJlZm9yZSBleGVjdXRpb24gb2YgcXVlcnkgd2l0aCBzZXNz aW9uIHZhcmlhYmxlcyB3ZSBuZWVkIHRvIGNvbGxlY3QKdXNlZCBzZXNzaW9uIHZhcmlhYmxlcy4g VGhpcyBsaXN0IGlzIHVzZWQgZm9yIGxvYWRpbmcgdmFyaWFibGVzIHRvCmV4ZWN1dGVkIHF1ZXJ5 LgoKcGxhbgotLS0KIGRvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sICAgICAgICAgICAgICAgIHwg IDYgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgIHwgMTAgKysr CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICB8IDM5ICsrKysrKysr KysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgIHwgMTEgKysrCiBz cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICB8IDk0ICsrKysrKysrKysr KysrKysrKysrKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYyB8 ICAzICsKIHNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgIHwgMzUgKysr KysrKystCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAgICAgICAgICAgICB8IDEwICsr LQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgfCAgMiArCiBzcmMv aW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCAgICAgICAgICAgICB8ICA1ICsrCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wbGFubm9kZXMuaCAgICAgICAgICAgICB8ICAzICsKIHNyYy9pbmNsdWRlL29wdGlt aXplci9wbGFubWFpbi5oICAgICAgICAgIHwgIDIgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE0IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bh cmFsbGVsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGFyYWxsZWwuc2dtbAppbmRleCBhZjQzNDg0NzAz ZS4uODQzZTJjM2Y2NjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCkBAIC01MjQsNiArNTI0LDEyIEBAIEVYUExB SU4gU0VMRUNUICogRlJPTSBwZ2JlbmNoX2FjY291bnRzIFdIRVJFIGZpbGxlciBMSUtFICcleCUn OwogICAgICAgICBQbGFuIG5vZGVzIHRoYXQgcmVmZXJlbmNlIGEgY29ycmVsYXRlZCA8bGl0ZXJh bD5TdWJQbGFuPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgorCisg ICAgPGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzYWdlIG9mIGEgc2Vzc2lvbiB2 YXJpYWJsZS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICA8L2l0ZW1pemVkbGlz dD4KIAogIDxzZWN0MiBpZD0icGFyYWxsZWwtbGFiZWxpbmciPgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVu Y3kuYwppbmRleCBmZGI4ZTY3ZTFmNS4uN2JkOTIwMGVjNzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5k ZW5jeS5jCkBAIC0xOTcyLDYgKzE5NzIsMTYgQEAgZmluZF9leHByX3JlZmVyZW5jZXNfd2Fsa2Vy KE5vZGUgKm5vZGUsCiAJewogCQlQYXJhbQkgICAqcGFyYW0gPSAoUGFyYW0gKikgbm9kZTsKIAor CQkvKgorCQkqIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlIHZhcmlhYmxlIGNhbm5vdCBi ZSB1c2VkIGluIHBlcnNpc3RlbnQKKwkJKiBjYXRhbG9nIGJhc2VkIG9iamVjdC4KKwkJKi8KKwkJ aWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBl cnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEg Y2F0YWxvZyBvYmplY3QiLAorCQkJCQkJCXBhcmFtLT5wYXJhbXZhcm5hbWUpKSk7CisKIAkJLyog QSBwYXJhbWV0ZXIgbXVzdCBkZXBlbmQgb24gdGhlIHBhcmFtZXRlcidzIGRhdGF0eXBlICovCiAJ CWFkZF9vYmplY3RfYWRkcmVzcyhUeXBlUmVsYXRpb25JZCwgcGFyYW0tPnBhcmFtdHlwZSwgMCwK IAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwppbmRleCA0ODI3MzdkNjc5Ny4uMTljMTUzZGFlM2YgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTEyOCw2ICsxMjgsNDUgQEAgZ2V0X3Nlc3Npb25f dmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCiAJKmNvbGxpZCA9IHN2 YXItPnZhcmNvbGxhdGlvbjsKIH0KIAorLyoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWx1 ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSAoaW4gdGhlIGN1cnJlbnQgbWVtb3J5CisgKiBjb250 ZXh0KS4KKyAqLworRGF0dW0KK0dldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAq dmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJCQkJCQkJCWJvb2wg KmlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwlEYXR1bQkJcmVzdWx0OworCisJc3ZhciA9 IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBlICE9IHR5cGlk IHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygic2Vzc2lvbiB2 YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJCQkJCXZhcm5h bWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1vZCksCisJCQkJ CQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+dmFydHlwbW9k KSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJ aWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0Up LAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVz IiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPmlzbnVsbCkKKwkJcmVzdWx0ID0g ZGF0dW1Db3B5KHN2YXItPnZhbHVlLCBzdmFyLT50eXBieXZhbCwgc3Zhci0+dHlwbGVuKTsKKwll bHNlCisJCXJlc3VsdCA9IChEYXR1bSkgMDsKKworCSppc251bGwgPSBzdmFyLT5pc251bGw7CisK KwlyZXR1cm4gcmVzdWx0OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxh bm5lci5jCmluZGV4IDRlYzc2Y2UzMWE5Li4yMmY4MDA4ZDIzOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc1LDYgKzM3NSw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVl cnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAog CWdsb2ItPmRlcGVuZHNPblJvbGUgPSBmYWxzZTsKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5 ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CisJZ2xvYi0+c2Vz c2lvblZhcmlhYmxlcyA9IE5JTDsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFz aWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKQEAgLTY3OSw2ICs2 ODAsOSBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlf c3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAkvKiB1dGlsaXR5U3RtdCBzaG91bGQgYmUgbnVs bCwgYnV0IHdlIG1pZ2h0IGFzIHdlbGwgY29weSBpdCAqLwogCXJlc3VsdC0+dXRpbGl0eVN0bXQg PSBwYXJzZS0+dXRpbGl0eVN0bXQ7CiAJcmVzdWx0LT5lbGlkZWROb2RlcyA9IGdsb2ItPmVsaWRl ZE5vZGVzOworCisJcmVzdWx0LT5zZXNzaW9uVmFyaWFibGVzID0gZ2xvYi0+c2Vzc2lvblZhcmlh YmxlczsKKwogCXJlc3VsdC0+c3RtdF9sb2NhdGlvbiA9IHBhcnNlLT5zdG10X2xvY2F0aW9uOwog CXJlc3VsdC0+c3RtdF9sZW4gPSBwYXJzZS0+c3RtdF9sZW47CiAKQEAgLTg3NCw2ICs4NzgsMTMg QEAgc3VicXVlcnlfcGxhbm5lcihQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFyc2UsIGNo YXIgKnBsYW5fbmFtZSwKIAkgKi8KIAlwdWxsX3VwX3N1YnF1ZXJpZXMocm9vdCk7CiAKKwkvKgor CSAqIENoZWNrIGlmIHNvbWUgc3VicXVlcnkgdXNlcyBhIHNlc3Npb24gdmFyaWFibGUuICBUaGUg ZmxhZworCSAqIGhhc1Nlc3Npb25WYXJpYWJsZXMgc2hvdWxkIGJlIHRydWUgaWYgdGhlIHF1ZXJ5 IG9yIHNvbWUgc3VicXVlcnkgdXNlcyBhCisJICogc2Vzc2lvbiB2YXJpYWJsZS4KKwkgKi8KKwlw dWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhyb290KTsKKwogCS8qCiAJICogSWYgdGhpcyBp cyBhIHNpbXBsZSBVTklPTiBBTEwgcXVlcnksIGZsYXR0ZW4gaXQgaW50byBhbiBhcHBlbmRyZWwu IFdlCiAJICogZG8gdGhpcyBub3cgYmVjYXVzZSBpdCByZXF1aXJlcyBhcHBseWluZyBwdWxsX3Vw X3N1YnF1ZXJpZXMgdG8gdGhlIGxlYWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYwpp bmRleCBmZjBlODc1ZjJhMi4uZTU1YzRkZjQ4ZWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9z ZXRyZWZzLmMKQEAgLTIxMCw2ICsyMTAsOCBAQCBzdGF0aWMgTGlzdCAqc2V0X3JldHVybmluZ19j bGF1c2VfcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwKIHN0YXRpYyBMaXN0ICpzZXRfd2lu ZG93YWdnX3J1bmNvbmRpdGlvbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJ CQkJCQkJICAgTGlzdCAqcnVuY29uZGl0aW9uLAogCQkJCQkJCQkJCQkJICAgUGxhbiAqcGxhbik7 CitzdGF0aWMgYm9vbCBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIoTm9kZSAq bm9kZSwKKwkJCQkJCQkJCQkJCSBQbGFubmVySW5mbyAqcm9vdCk7CiAKIHN0YXRpYyB2b2lkIHJl Y29yZF9lbGlkZWRfbm9kZShQbGFubmVyR2xvYmFsICpnbG9iLCBpbnQgcGxhbl9ub2RlX2lkLAog CQkJCQkJCSAgIE5vZGVUYWcgZWxpZGVkX3R5cGUsIEJpdG1hcHNldCAqcmVsaWRzKTsKQEAgLTEz NjUsNiArMTM2Nyw1MCBAQCBzZXRfcGxhbl9yZWZzKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpw bGFuLCBpbnQgcnRvZmZzZXQpCiAJcmV0dXJuIHBsYW47CiB9CiAKKy8qCisgKiBTZWFyY2ggdXNh Z2Ugb2Ygc2Vzc2lvbiB2YXJpYWJsZXMgaW4gc3VicXVlcmllcworICovCit2b2lkCitwdWxsX3Vw X2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhQbGFubmVySW5mbyAqcm9vdCkKK3sKKwlRdWVyeQkgICAq cXVlcnkgPSByb290LT5wYXJzZTsKKworCWlmIChxdWVyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcykK Kwl7CisJCXJvb3QtPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSB0cnVlOworCX0KKwllbHNlCisJewor CQkodm9pZCkgcXVlcnlfdHJlZV93YWxrZXIocXVlcnksCisJCQkJCQkJCSBwdWxsX3VwX2hhc19z ZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAodm9pZCAqKSByb290LCAwKTsKKwl9 Cit9CisKK3N0YXRpYyBib29sCitwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIo Tm9kZSAqbm9kZSwgUGxhbm5lckluZm8gKnJvb3QpCit7CisJaWYgKG5vZGUgPT0gTlVMTCkKKwkJ cmV0dXJuIGZhbHNlOworCWlmIChJc0Eobm9kZSwgUXVlcnkpKQorCXsKKwkJUXVlcnkJICAgKnF1 ZXJ5ID0gKFF1ZXJ5ICopIG5vZGU7CisKKwkJaWYgKHF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVz KQorCQl7CisJCQlyb290LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gdHJ1ZTsKKwkJCXJldHVybiBm YWxzZTsKKwkJfQorCisJCS8qIHJlY3Vyc2UgaW50byBzdWJzZWxlY3RzICovCisJCXJldHVybiBx dWVyeV90cmVlX3dhbGtlcigoUXVlcnkgKikgbm9kZSwKKwkJCQkJCQkJIHB1bGxfdXBfaGFzX3Nl c3Npb25fdmFyaWFibGVzX3dhbGtlciwKKwkJCQkJCQkJICh2b2lkICopIHJvb3QsIDApOworCX0K KwlyZXR1cm4gZXhwcmVzc2lvbl90cmVlX3dhbGtlcihub2RlLCBwdWxsX3VwX2hhc19zZXNzaW9u X3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAgKHZvaWQgKikgcm9vdCk7Cit9CisKIC8qCiAg KiBzZXRfaW5kZXhvbmx5c2Nhbl9yZWZlcmVuY2VzCiAgKgkJRG8gc2V0X3BsYW5fcmVmZXJlbmNl cyBwcm9jZXNzaW5nIG9uIGFuIEluZGV4T25seVNjYW4KQEAgLTIxOTIsNiArMjIzOCwxMCBAQCBm aXhfZXhwcl9jb21tb24oUGxhbm5lckluZm8gKnJvb3QsIE5vZGUgKm5vZGUpCiAgKiBJZiBpdCdz IGEgUEFSQU1fTVVMVElFWFBSLCByZXBsYWNlIGl0IHdpdGggdGhlIGFwcHJvcHJpYXRlIFBhcmFt IGZyb20KICAqIHJvb3QtPm11bHRpZXhwcl9wYXJhbXM7IG90aGVyd2lzZSBubyBjaGFuZ2UgaXMg bmVlZGVkLgogICogSnVzdCBmb3IgcGFyYW5vaWEncyBzYWtlLCB3ZSBtYWtlIGEgY29weSBvZiB0 aGUgbm9kZSBpbiBlaXRoZXIgY2FzZS4KKyAqCisgKiBJZiBpdCdzIGEgUEFSQU1fVkFSSUFCTEUs IHRoZW4gd2UgY29sbGVjdCB1c2VkIHNlc3Npb24gdmFyaWFibGVzIGluCisgKiB0aGUgbGlzdCBy b290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGUuICBBbHNvLCBhc3NpZ24gdGhlIHBhcmFtZXRlcidz CisgKiAicGFyYW1pZCIgdG8gdGhlIHBhcmFtZXRlcidzIHBvc2l0aW9uIGluIHRoYXQgbGlzdC4K ICAqLwogc3RhdGljIE5vZGUgKgogZml4X3BhcmFtX25vZGUoUGxhbm5lckluZm8gKnJvb3QsIFBh cmFtICpwKQpAQCAtMjIxMCw2ICsyMjYwLDQzIEBAIGZpeF9wYXJhbV9ub2RlKFBsYW5uZXJJbmZv ICpyb290LCBQYXJhbSAqcCkKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIFBBUkFNX01VTFRJ RVhQUiBJRDogJWQiLCBwLT5wYXJhbWlkKTsKIAkJcmV0dXJuIGNvcHlPYmplY3QobGlzdF9udGgo cGFyYW1zLCBjb2xubyAtIDEpKTsKIAl9CisKKwlpZiAocC0+cGFyYW1raW5kID09IFBBUkFNX1ZB UklBQkxFKQorCXsKKwkJaW50CQkJbiA9IDA7CisKKwkJLyogd2Ugd2lsbCBtb2RpZnkgb2JqZWN0 ICovCisJCXAgPSAoUGFyYW0gKikgY29weU9iamVjdChwKTsKKworCQkvKgorCQkgKiBOb3csIHdl IGNhbiBhY3R1YWxpemUgbGlzdCBvZiBzZXNzaW9uIHZhcmlhYmxlcywgYW5kIHdlIGNhbgorCQkg KiBjb21wbGV0ZSBwYXJhbWlkIHBhcmFtZXRlci4KKwkJICovCisJCWZvcmVhY2hfbm9kZShQYXJh bSwgcGFyYW12YXIsIHJvb3QtPmdsb2ItPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWlmIChz dHJjbXAocGFyYW12YXItPnBhcmFtdmFybmFtZSwgcC0+cGFyYW12YXJuYW1lKSA9PSAwKQorCQkJ eworCQkJCXAtPnBhcmFtaWQgPSBwYXJhbXZhci0+cGFyYW1pZDsKKworCQkJCXJldHVybiAoTm9k ZSAqKSBwOworCQkJfQorCisJCQluICs9IDE7CisJCX0KKworCQlwLT5wYXJhbWlkID0gbjsKKwor CQkvKgorCQkgKiBCZWNhdXNlIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjYXRhbG9nbGVzcywgd2Ug Y2Fubm90IHRvIHVzZSBwbGFuCisJCSAqIGludmFsaWRhdGlvbi4gVGhlbiB3ZSBuZWVkIHRvIGNo ZWNrIHR5cGUsIHR5cG1vZCwgY29sbGlkIGFueSB0aW1lLAorCQkgKiB3aGVuIHdlIGxvYWQgdmFs dWVzIG9mIHNlc3Npb24gdmFyaWFibGVzIHRvIHBhcmFtZXRlcidzIGJ1ZmZlci4KKwkJICogRm9y IHRoaXMgcHVycG9zZSBpdCBpcyBtb3JlIGVhc3kgdG8gc2F2ZSBjb21wbGV0ZSBQYXJhbSBub2Rl LgorCQkgKi8KKwkJcm9vdC0+Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcyA9IGxhcHBlbmQocm9vdC0+ Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcywgcCk7CisKKwkJcmV0dXJuIChOb2RlICopIHA7CisJfQor CiAJcmV0dXJuIChOb2RlICopIGNvcHlPYmplY3QocCk7CiB9CiAKQEAgLTIyNzcsNyArMjM2NCw5 IEBAIGZpeF9hbHRlcm5hdGl2ZV9zdWJwbGFuKFBsYW5uZXJJbmZvICpyb290LCBBbHRlcm5hdGl2 ZVN1YlBsYW4gKmFzcGxhbiwKICAqIHJlcGxhY2luZyBBZ2dyZWYgbm9kZXMgdGhhdCBzaG91bGQg YmUgcmVwbGFjZWQgYnkgaW5pdHBsYW4gb3V0cHV0IFBhcmFtcywKICAqIGNob29zaW5nIHRoZSBi ZXN0IGltcGxlbWVudGF0aW9uIGZvciBBbHRlcm5hdGl2ZVN1YlBsYW5zLAogICogbG9va2luZyB1 cCBvcGVyYXRvciBvcGNvZGUgaW5mbyBmb3IgT3BFeHByIGFuZCByZWxhdGVkIG5vZGVzLAotICog YW5kIGFkZGluZyBPSURzIGZyb20gcmVnY2xhc3MgQ29uc3Qgbm9kZXMgaW50byByb290LT5nbG9i LT5yZWxhdGlvbk9pZHMuCisgKiBhZGRpbmcgT0lEcyBmcm9tIHJlZ2NsYXNzIENvbnN0IG5vZGVz IGludG8gcm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLAorICogYXNzaWduaW5nIHBhcmFtdmFyaWQg dG8gUEFSQU1fVkFSSUFCTEUgcGFyYW1zLCBhbmQgY29sbGVjdGluZyB0aGUKKyAqIG9mIHNlc3Np b24gdmFyaWFibGVzIGluIHRoZSByb290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGVzIGxpc3QuCiAg KgogICogJ25vZGUnOiB0aGUgZXhwcmVzc2lvbiB0byBiZSBtb2RpZmllZAogICogJ3J0b2Zmc2V0 JzogaG93IG11Y2ggdG8gaW5jcmVtZW50IHZhcm5vcyBieQpAQCAtMjI5OSw3ICsyMzg4LDggQEAg Zml4X3NjYW5fZXhwcihQbGFubmVySW5mbyAqcm9vdCwgTm9kZSAqbm9kZSwgaW50IHJ0b2Zmc2V0 LCBkb3VibGUgbnVtX2V4ZWMpCiAJCXJvb3QtPm11bHRpZXhwcl9wYXJhbXMgIT0gTklMIHx8CiAJ CXJvb3QtPmdsb2ItPmxhc3RQSElkICE9IDAgfHwKIAkJcm9vdC0+bWlubWF4X2FnZ3MgIT0gTklM IHx8Ci0JCXJvb3QtPmhhc0FsdGVybmF0aXZlU3ViUGxhbnMpCisJCXJvb3QtPmhhc0FsdGVybmF0 aXZlU3ViUGxhbnMgfHwKKwkJcm9vdC0+aGFzU2Vzc2lvblZhcmlhYmxlcykKIAl7CiAJCXJldHVy biBmaXhfc2Nhbl9leHByX211dGF0b3Iobm9kZSwgJmNvbnRleHQpOwogCX0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jIGIvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3ByZXAvcHJlcGpvaW50cmVlLmMKaW5kZXggOTViZjUxNjA2Y2MuLjA1M2IwNzBl NjA5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUu YworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYwpAQCAtMTcx Myw2ICsxNzEzLDkgQEAgcHVsbF91cF9zaW1wbGVfc3VicXVlcnkoUGxhbm5lckluZm8gKnJvb3Qs IE5vZGUgKmp0bm9kZSwgUmFuZ2VUYmxFbnRyeSAqcnRlLAogCS8qIElmIHN1YnF1ZXJ5IGhhZCBh bnkgUkxTIGNvbmRpdGlvbnMsIG5vdyBtYWluIHF1ZXJ5IGRvZXMgdG9vICovCiAJcGFyc2UtPmhh c1Jvd1NlY3VyaXR5IHw9IHN1YnF1ZXJ5LT5oYXNSb3dTZWN1cml0eTsKIAorCS8qIGlmIHRoZSBz dWJxdWVyeSBoYWQgc2Vzc2lvbiB2YXJpYWJsZXMsIHRoZSBtYWluIHF1ZXJ5IGRvZXMgdG9vICov CisJcGFyc2UtPmhhc1Nlc3Npb25WYXJpYWJsZXMgfD0gc3VicXVlcnktPmhhc1Nlc3Npb25WYXJp YWJsZXM7CisKIAkvKgogCSAqIHN1YnF1ZXJ5IHdvbid0IGJlIHB1bGxlZCB1cCBpZiBpdCBoYXNB Z2dzLCBoYXNXaW5kb3dGdW5jcywgb3IKIAkgKiBoYXNUYXJnZXRTUkZzLCBzbyBubyB3b3JrIG5l ZWRlZCBvbiB0aG9zZSBmbGFncwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0 aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jCmluZGV4 IDlmYjI2NmQwODlkLi42ODJkYzJkNmNmNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3V0aWwvY2xhdXNlcy5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVz ZXMuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUu aCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiZXhl Y3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRlICJleGVjdXRvci9mdW5jdGlvbnMuaCIKICNpbmNs dWRlICJmdW5jYXBpLmgiCkBAIC05NDYsNiArOTQ3LDEzIEBAIG1heF9wYXJhbGxlbF9oYXphcmRf d2Fsa2VyKE5vZGUgKm5vZGUsIG1heF9wYXJhbGxlbF9oYXphcmRfY29udGV4dCAqY29udGV4dCkK IAkJaWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fRVhURVJOKQogCQkJcmV0dXJuIGZhbHNl OwogCisJCS8qIHdlIGRvbid0IHN1cHBvcnQgcGFzc2luZyBzZXNzaW9uIHZhcmlhYmxlcyB0byB3 b3JrZXJzICovCisJCWlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCQl7 CisJCQlpZiAobWF4X3BhcmFsbGVsX2hhemFyZF90ZXN0KFBST1BBUkFMTEVMX1JFU1RSSUNURUQs IGNvbnRleHQpKQorCQkJCXJldHVybiB0cnVlOworCQl9CisKIAkJaWYgKHBhcmFtLT5wYXJhbWtp bmQgIT0gUEFSQU1fRVhFQyB8fAogCQkJIWxpc3RfbWVtYmVyX2ludChjb250ZXh0LT5zYWZlX3Bh cmFtX2lkcywgcGFyYW0tPnBhcmFtaWQpKQogCQl7CkBAIC0yNjMzLDYgKzI2NDEsNyBAQCBjb252 ZXJ0X3Nhb3BfdG9faGFzaGVkX3Nhb3Bfd2Fsa2VyKE5vZGUgKm5vZGUsIHZvaWQgKmNvbnRleHQp CiAgKgkgIHZhbHVlIG9mIHRoZSBQYXJhbS4KICAqIDIuIEZvbGQgc3RhYmxlLCBhcyB3ZWxsIGFz IGltbXV0YWJsZSwgZnVuY3Rpb25zIHRvIGNvbnN0YW50cy4KICAqIDMuIFJlZHVjZSBQbGFjZUhv bGRlclZhciBub2RlcyB0byB0aGVpciBjb250YWluZWQgZXhwcmVzc2lvbnMuCisgKiA0LiBDdXJy ZW50IHZhbHVlIG9mIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIHVzZWQgZm9yIGVzdGltYXRpb24g dG9vLgogICotLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiBOb2RlICoKQEAgLTI3NTksNiArMjc2 OCwyOSBAQCBldmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9kZSAqbm9kZSwKIAkJCQkJ CX0KIAkJCQkJfQogCQkJCX0KKwkJCQllbHNlIGlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFN X1ZBUklBQkxFICYmCisJCQkJCQkgY29udGV4dC0+ZXN0aW1hdGUpCisJCQkJeworCQkJCQlpbnQx NgkJdHlwTGVuOworCQkJCQlib29sCQl0eXBCeVZhbDsKKwkJCQkJRGF0dW0JCXB2YWw7CisJCQkJ CWJvb2wJCWlzbnVsbDsKKworCQkJCQlnZXRfdHlwbGVuYnl2YWwocGFyYW0tPnBhcmFtdHlwZSwg JnR5cExlbiwgJnR5cEJ5VmFsKTsKKworCQkJCQlwdmFsID0gR2V0U2Vzc2lvblZhcmlhYmxlV2l0 aFR5cGVjaGVjayhwYXJhbS0+cGFyYW12YXJuYW1lLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+ cGFyYW10eXBlLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCQkJCSAgICZpc251bGwpOworCisJCQkJCXJldHVybiAoTm9kZSAqKSBtYWtlQ29uc3QocGFy YW0tPnBhcmFtdHlwZSwKKwkJCQkJCQkJCQkJICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCSAgcGFyYW0tPnBhcmFtY29sbGlkLAorCQkJCQkJCQkJCQkgIChpbnQpIHR5cExlbiwKKwkJ CQkJCQkJCQkJICBwdmFsLAorCQkJCQkJCQkJCQkgIGlzbnVsbCwKKwkJCQkJCQkJCQkJICB0eXBC eVZhbCk7CisJCQkJfQogCiAJCQkJLyoKIAkJCQkgKiBOb3QgcmVwbGFjZWFibGUsIHNvIGp1c3Qg Y29weSB0aGUgUGFyYW0gKG5vIG5lZWQgdG8KQEAgLTU0MzQsNyArNTQ2Niw4IEBAIGlubGluZV9m dW5jdGlvbihPaWQgZnVuY2lkLCBPaWQgcmVzdWx0X3R5cGUsIE9pZCByZXN1bHRfY29sbGlkLAog CQlxdWVyeXRyZWUtPmxpbWl0T2Zmc2V0IHx8CiAJCXF1ZXJ5dHJlZS0+bGltaXRDb3VudCB8fAog CQlxdWVyeXRyZWUtPnNldE9wZXJhdGlvbnMgfHwKLQkJbGlzdF9sZW5ndGgocXVlcnl0cmVlLT50 YXJnZXRMaXN0KSAhPSAxKQorCQkobGlzdF9sZW5ndGgocXVlcnl0cmVlLT50YXJnZXRMaXN0KSAh PSAxKSB8fAorCQlxdWVyeXRyZWUtPmhhc1Nlc3Npb25WYXJpYWJsZXMpCiAJCWdvdG8gZmFpbDsK IAogCS8qIElmIHRoZSBmdW5jdGlvbiByZXN1bHQgaXMgY29tcG9zaXRlLCByZXNvbHZlIGl0ICov CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2ZtZ3IvZm1nci5jCmluZGV4IGJmZWNlYjdhOTJmLi4yNGRmYmVmNjNmOCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvZm1nci9mbWdyLmMKQEAgLTE5OTIsOSArMTk5MiwxMyBAQCBnZXRfY2FsbF9leHByX2FyZ19z dGFibGUoTm9kZSAqZXhwciwgaW50IGFyZ251bSkKIAkgKi8KIAlpZiAoSXNBKGFyZywgQ29uc3Qp KQogCQlyZXR1cm4gdHJ1ZTsKLQlpZiAoSXNBKGFyZywgUGFyYW0pICYmCi0JCSgoUGFyYW0gKikg YXJnKS0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTikKLQkJcmV0dXJuIHRydWU7CisJaWYgKElz QShhcmcsIFBhcmFtKSkKKwl7CisJCVBhcmFtCSAgICpwID0gKFBhcmFtICopIGFyZzsKKworCQlp ZiAocC0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTiB8fCBwLT5wYXJhbWtpbmQgPT0gUEFSQU1f VkFSSUFCTEUpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CiAKIAlyZXR1cm4gZmFsc2U7CiB9CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9zcmMvaW5j bHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggOTZiZTk2OGMzZDQuLjM2ODc0 OTBiY2IxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBAIC0yMiw2 ICsyMiw4IEBACiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUs IENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5 TmFtZShjaGFyICp2YXJuYW1lKTsKIAorZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdp dGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wg KmlzbnVsbCk7CisKIGV4dGVybiB2b2lkIGdldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9k X2NvbGxpZChjaGFyICp2YXJuYW1lLAogCQkJCQkJCQkJCQkJCU9pZCAqdHlwaWQsCiAJCQkJCQkJ CQkJCQkJaW50MzIgKnR5cG1vZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhu b2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggNjkzYjg3OWY3NmQu LjMyYzk4YmM3YzFlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAor KysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMjcxLDYgKzI3MSw5IEBAIHR5 cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAkvKiBleHRlbnNpb24gc3RhdGUgKi8KIAl2b2lk CSAgKipleHRlbnNpb25fc3RhdGUgcGdfbm9kZV9hdHRyKHJlYWRfd3JpdGVfaWdub3JlKTsKIAlp bnQJCQlleHRlbnNpb25fc3RhdGVfYWxsb2NhdGVkOworCisJLyogbGlzdCBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzICovCisJTGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKIH0gUGxhbm5lckds b2JhbDsKIAogLyogbWFjcm8gZm9yIGZldGNoaW5nIHRoZSBQbGFuIGFzc29jaWF0ZWQgd2l0aCBh IFN1YlBsYW4gbm9kZSAqLwpAQCAtNjQxLDYgKzY0NCw4IEBAIHN0cnVjdCBQbGFubmVySW5mbwog CWJvb2wJCWhhc1JlY3Vyc2lvbjsKIAkvKiB0cnVlIGlmIGEgcGxhbm5lciBleHRlbnNpb24gbWF5 IHJlcGxhbiB0aGlzIHN1YnF1ZXJ5ICovCiAJYm9vbAkJYXNzdW1lUmVwbGFubmluZzsKKwkvKiB0 cnVlIGlmIHNlc3Npb24gdmFyaWFibGVzIHdlcmUgdXNlZCAqLworCWJvb2wJCWhhc1Nlc3Npb25W YXJpYWJsZXM7CiAKIAkvKgogCSAqIFRoZSByYW5nZXRhYmxlIGluZGV4IGZvciB0aGUgUlRFX0dS T1VQIFJURSwgb3IgMCBpZiB0aGVyZSBpcyBubwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGxhbm5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCAxNGEx ZGZlZDJiOS4uYjMzY2I5MmEyZWQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5u b2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCkBAIC0xNjQsNiArMTY0 LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGxhbm5lZFN0bXQKIAkgKi8KIAlMaXN0CSAgICpleHRlbnNp b25fc3RhdGU7CiAKKwkvKiBQQVJBTV9WQVJJQUJMRSBQYXJhbXMgKi8KKwlMaXN0CSAgICpzZXNz aW9uVmFyaWFibGVzOworCiAJLyogc3RhdGVtZW50IGxvY2F0aW9uIGluIHNvdXJjZSBzdHJpbmcg KGNvcGllZCBmcm9tIFF1ZXJ5KSAqLwogCS8qIHN0YXJ0IGxvY2F0aW9uLCBvciAtMSBpZiB1bmtu b3duICovCiAJUGFyc2VMb2MJc3RtdF9sb2NhdGlvbjsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L29wdGltaXplci9wbGFubWFpbi5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgK aW5kZXggZDBkYzM3NjFiMTMuLjQ2MDY5ZWYyZTllIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9v cHRpbWl6ZXIvcGxhbm1haW4uaAorKysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4u aApAQCAtMTMyLDQgKzEzMiw2IEBAIGV4dGVybiB2b2lkIHJlY29yZF9wbGFuX2Z1bmN0aW9uX2Rl cGVuZGVuY3koUGxhbm5lckluZm8gKnJvb3QsIE9pZCBmdW5jaWQpOwogZXh0ZXJuIHZvaWQgcmVj b3JkX3BsYW5fdHlwZV9kZXBlbmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgdHlwaWQpOwog ZXh0ZXJuIGJvb2wgZXh0cmFjdF9xdWVyeV9kZXBlbmRlbmNpZXNfd2Fsa2VyKE5vZGUgKm5vZGUs IFBsYW5uZXJJbmZvICpjb250ZXh0KTsKIAorZXh0ZXJuIHZvaWQgcHVsbF91cF9oYXNfc2Vzc2lv bl92YXJpYWJsZXMoUGxhbm5lckluZm8gKnJvb3QpOworCiAjZW5kaWYJCQkJCQkJLyogUExBTk1B SU5fSCAqLwotLSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="UTF-8"; name="v20260403-2-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Disposition: attachment; filename="v20260403-2-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja33165 RnJvbSBiNjg5ZTQ3ZjM4YWE2YzVlYWU2MjQyMzUzMmUwYTYzZTJhZmI4OGMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDE4OjA1OjAzICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNi8xMV0gTEVUIGNvbW1hbmQgLSBhc3NpZ24gYSByZXN1bHQgb2YgZXhwcmVzc2lvbiB0 byB0aGUgCiBzZXNzaW9uIHZhcmlhYmxlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CgpUaGUgdmFsdWUgaXMgYXNzaWduZWQgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgdXN1YWxseSBieSBT RVQgY29tbWFuZC4gVW5mb3J0dW5hdGVseQp0aGVyZSBhcmUgdHdvIHJlYXNvbnMgd2h5IFNFVCBz aG91bGQgbm90IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZSBpbiBQb3N0Z3Jlcy4KCjEuIFVzaW5n IGFfZXhwciBpbnNpZGUgZ2VuZXJpY19zZXQgcmFtIHJ1bGUgcHJvZHVjZXMgcmVkdWNlIGNvbmZs aWN0cywgc28gaXQgbmVlZHMKwqAgwqB0b3RhbCByZWltcGxlbWVudGF0aW9uIG9mIHJlbGF0ZWQg Z3JhbSBydWxlcy4KCjIuIFNFVCBpcyBubyBwbGFuIGNvbW1hbmQgLSBzbyBpdCBkb2Vzbid0IHN1 cHBvcnQgdXNhZ2Ugb2YgcGFyYW1ldGVycy4KCjMuIEV4Y2VwdGluZyBpbXBsZW1lbnRhdGlvbiBp c3N1ZXMsIHRoZXJlIGlzIGZhY3QsIHNvIGlmIHdlIHVzZSBTRVQgY29tbWFuZArCoCDCoGZvciBh c3NpZ25pbmcgdmFsdWVzIHRvIHNlc3Npb24gdmFyaWFibGVzLCB0aGVuIHRoZXJlIGNhbiBiZSBj b2xsaXNpb25zCsKgIMKgYmV0d2VlbiBzZXNzaW9uIHZhcmlhYmxlcyBhbmQgR1VDLCBhbmQgdGhl biB3ZSBuZWVkIHNvbWUgY29uY2VwdHMsIGhvdwrCoCDCoHRoZXNlIGNvbGxpc2lvbnMgc2hvdWxk IGJlIHNvbHZlZCwgb3IgaG93IHRvIHByb3RlY3Qgc2VsZiBhZ2FpbnN0IHRoZXNlCsKgIMKgY29s bGlzaW9ucy4gV2l0aCB0aGUgZGVkaWNhdGVkIGNvbW1hbmQsIHRoZSBjb2xsaXNpb25zIGJldHdl ZW4gR1VDIGFuZCBzZXNzaW9uCsKgIMKgdmFyaWFibGVzIGFyZSBub3QgcG9zc2libGUuCgpUaGUg Y29tbWFuZCBMRVQgaXMgZXhlY3V0ZWQgYXMgdXN1YWwgcXVlcnkgZXhlY3V0aW9uLiBUaGUgcmVz dWx0IGlzIHN0b3JlZAp0byB0aGUgdGFyZ2V0IHNlc3Npb24gdmFyaWFibGUgKHJlc3VsdFZhcmlh YmxlKSBieSB1c2luZyBWYXJpYWJsZURlc3RSZWNlaXZlci4KCkltcGxlbWVudGF0aW9ucyBvZiBF WFBMQUlOIExFVCBhbmQgUFJFUEFSRSBMRVQgc3RhdGVtZW50cyBhcmUgbm90IHN1cHBvcnRlZApu b3cuIFBvc3Rwb25lZCB0byBuZXh0IHN0ZXAgZHVlIHJlZHVjaW5nIHBhdGNoIHNpemUuCi0tLQog ZG9jL3NyYy9zZ21sL2RkbC5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIyICsrKwog ZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAgICAgICAgIHwgICAxICsKIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAgICAgICB8ICAgMyArCiBkb2Mv c3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAgIDEgKwogZG9jL3Ny Yy9zZ21sL3JlZi9sZXQuc2dtbCAgICAgICAgICAgICAgICAgICAgIHwgIDk1ICsrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jICAgICAgIHwgIDg3ICsrKysr KysrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jICAgICAgICAgICAgICAgICB8ICAg OCArCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgIDEg Kwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAgICAgICAgICAgIHwgMTAzICsr KysrKysrKystLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAg IHwgIDM4ICsrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgICAgICAgICAgICAg ICAgfCAgIDYgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgICAgICAg IHwgICA5ICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgICAgICAgICAgICAgICB8 ICAgMyArCiBzcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyAgICAgICAgICAgICAgICAgICAgfCAg MTUgKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAgICAgICB8ICAg OSArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgICA1 ICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAxNSAr Kwogc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAzICsK IHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oICAgICAgICAgICAgICAgfCAgIDEgKwogc3Jj L2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0ICAgICAgICB8IDE1NiArKysrKysrKysr KysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsICAgICB8 IDExMyArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAg ICAgICAgICAgfCAgIDEgKwogMjUgZmlsZXMgY2hhbmdlZCwgNjc4IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9yZWYvbGV0LnNn bWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRs LnNnbWwKaW5kZXggMDA1NWViODRhNzguLjkxNjA3YTcyMTg4IDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01OTYwLDEwICs1 OTYwLDMyIEBAIFNFTEVDVCAuLi4gRlJPTSBHUkFQSF9UQUJMRSAobXlzaG9wIE1BVENIIChJUyBw ZXJzb24gV0hFUkUgbmFtZSA9ICcuLi4nKS1bXS0+Li4uCiAgICAgPGxpdGVyYWw+VkFSSUFCTEUo dmFybmFtZSk8L2xpdGVyYWw+IHN5bnRheC4gVGhpcyBhdm9pZHMgYW55IHJpc2sgb2YKICAgICBj b2xsaXNpb24gYmV0d2VlbiB2YXJpYWJsZSBuYW1lcyBhbmQgY29sdW1uIG5hbWVzLgogICAgPC9w YXJhPgorCisgICA8cGFyYT4KKyAgICBZb3Ugc2V0IHRoZSB2YWx1ZSBvZiBhIHNlc3Npb24gdmFy aWFibGUgd2l0aCB0aGUgPGNvbW1hbmQ+TEVUPC9jb21tYW5kPgorICAgIHN0YXRlbWVudCBhbmQg cmV0cmlldmUgaXQgd2l0aCA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+OgorPHByb2dyYW1saXN0 aW5nPgorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdmFyMSBBUyBkYXRlOworTEVUIHZhcjEgPSBjdXJy ZW50X2RhdGU7CitTRUxFQ1QgVkFSSUFCTEUodmFyMSk7Cis8L3Byb2dyYW1saXN0aW5nPgorCisg ICAgb3IKKwogPHByb2dyYW1saXN0aW5nPgorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgY3VycmVudF91 c2VyX2lkIEFTIGludGVnZXI7CitMRVQgY3VycmVudF91c2VyX2lkID0gKFNFTEVDVCBpZCBGUk9N IHVzZXJzIFdIRVJFIHVzZW5hbWUgPSBzZXNzaW9uX3VzZXIpOwogU0VMRUNUIFZBUklBQkxFKGN1 cnJlbnRfdXNlcl9pZCk7CiA8L3Byb2dyYW1saXN0aW5nPgogICAgPC9wYXJhPgorCisgICA8cGFy YT4KKyAgICBCeSBkZWZhdWx0LCByZXRyaWV2aW5nIGEgc2Vzc2lvbiB2YXJpYWJsZSByZXR1cm5z CisgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gdW5sZXNzIGl0IGhhcyBiZWVuIHNldCBpbiB0 aGUgY3VycmVudCBzZXNzaW9uCisgICAgdXNpbmcgdGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4g Y29tbWFuZC4gU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIG5vdAorICAgIHRyYW5zYWN0aW9uYWw6IGNo YW5nZXMgdG8gdGhlaXIgdmFsdWVzIHBlcnNpc3QgZXZlbiBpZiB0aGUgdHJhbnNhY3Rpb24KKyAg ICBpcyByb2xsZWQgYmFjaywgc2ltaWxhciB0byB2YXJpYWJsZXMgaW4gcHJvY2VkdXJhbCBsYW5n dWFnZXMKKyAgIDwvcGFyYT4KICA8L3NlY3QxPgogCiAgPHNlY3QxIGlkPSJkZGwtb3RoZXJzIj4K ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvYWxsZmlsZXMuc2dtbAppbmRleCAzNWQ0ODVmNWJjNC4uYTBhNjE1MGZlYWIgMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv cmVmL2FsbGZpbGVzLnNnbWwKQEAgLTE2MCw2ICsxNjAsNyBAQCBDb21wbGV0ZSBsaXN0IG9mIHVz YWJsZSBzZ21sIHNvdXJjZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KIDwhRU5USVRZIGdyYW50 ICAgICAgICAgICAgICBTWVNURU0gImdyYW50LnNnbWwiPgogPCFFTlRJVFkgaW1wb3J0Rm9yZWln blNjaGVtYSBTWVNURU0gImltcG9ydF9mb3JlaWduX3NjaGVtYS5zZ21sIj4KIDwhRU5USVRZIGlu c2VydCAgICAgICAgICAgICBTWVNURU0gImluc2VydC5zZ21sIj4KKzwhRU5USVRZIGxldCAgICAg ICAgICAgICAgICBTWVNURU0gImxldC5zZ21sIj4KIDwhRU5USVRZIGxpc3RlbiAgICAgICAgICAg ICBTWVNURU0gImxpc3Rlbi5zZ21sIj4KIDwhRU5USVRZIGxvYWQgICAgICAgICAgICAgICBTWVNU RU0gImxvYWQuc2dtbCI+CiA8IUVOVElUWSBsb2NrICAgICAgICAgICAgICAgU1lTVEVNICJsb2Nr LnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKaW5kZXggNGU4YzE5NDAy NTIuLjEzMTViMTI0OGM3IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJp YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKQEAg LTEwOCw2ICsxMDgsOCBAQCBDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFCTEUgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhYwogICAgQ3JlYXRlIGFuIGRh dGUgc2Vzc2lvbiB2YXJpYWJsZSA8bGl0ZXJhbD52YXIxPC9saXRlcmFsPjoKIDxwcm9ncmFtbGlz dGluZz4KIENSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgdmFyMSBBUyBkYXRlOworTEVUIHZhcjEg PSBjdXJyZW50X2RhdGU7CitTRUxFQ1QgVkFSSUFCTEUodmFyMSk7CiA8L3Byb2dyYW1saXN0aW5n PgogICA8L3BhcmE+CiAKQEAgLTEyNyw2ICsxMjksNyBAQCBDUkVBVEUgVEVNUE9SQVJZIFZBUklB QkxFIHZhcjEgQVMgZGF0ZTsKIAogICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgogICAgPG1l bWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtZHJvcHZhcmlhYmxlIi8+PC9tZW1iZXI+CisgICA8bWVt YmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1sZXQiLz48L21lbWJlcj4KICAgPC9zaW1wbGVsaXN0Pgog IDwvcmVmc2VjdDE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJs ZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKaW5kZXggZTg1MTdh NzgyMDAuLmRlZGU0MmU0ZmZiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFy aWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbApAQCAt NzgsNiArNzgsNyBAQCBEUk9QIFZBUklBQkxFIHZhcjE7CiAKICAgPHNpbXBsZWxpc3QgdHlwZT0i aW5saW5lIj4KICAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXZhcmlhYmxlIi8+ PC9tZW1iZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1sZXQiLz48L21lbWJlcj4K ICAgPC9zaW1wbGVsaXN0PgogIDwvcmVmc2VjdDE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9yZWYvbGV0LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2xldC5zZ21sCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zM2VlNDJkM2YyMAotLS0gL2Rldi9udWxsCisrKyBi L2RvYy9zcmMvc2dtbC9yZWYvbGV0LnNnbWwKQEAgLTAsMCArMSw5NSBAQAorPCEtLQorZG9jL3Ny Yy9zZ21sL3JlZi9sZXQuc2dtbAorUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCistLT4KKworPHJl ZmVudHJ5IGlkPSJzcWwtbGV0Ij4KKyA8aW5kZXh0ZXJtIHpvbmU9InNxbC1sZXQiPgorICA8cHJp bWFyeT5MRVQ8L3ByaW1hcnk+CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0ZXJtPgorICA8cHJp bWFyeT5zZXNzaW9uIHZhcmlhYmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5PmNoYW5naW5nPC9z ZWNvbmRhcnk+CisgPC9pbmRleHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+ TEVUPC9yZWZlbnRyeXRpdGxlPgorICA8bWFudm9sbnVtPjc8L21hbnZvbG51bT4KKyAgPHJlZm1p c2NpbmZvPlNRTCAtIExhbmd1YWdlIFN0YXRlbWVudHM8L3JlZm1pc2NpbmZvPgorIDwvcmVmbWV0 YT4KKworIDxyZWZuYW1lZGl2PgorICA8cmVmbmFtZT5MRVQ8L3JlZm5hbWU+CisgIDxyZWZwdXJw b3NlPmNoYW5nZSBhIHNlc3Npb24gdmFyaWFibGUncyB2YWx1ZTwvcmVmcHVycG9zZT4KKyA8L3Jl Zm5hbWVkaXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8c3lub3BzaXM+CitMRVQgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNlc3Npb25fdmFyaWFibGU8L3JlcGxhY2VhYmxlPiA9IDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zcWxfZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ Cis8L3N5bm9wc2lzPgorIDwvcmVmc3lub3BzaXNkaXY+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRs ZT5EZXNjcmlwdGlvbjwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1hbmQ+TEVUPC9j b21tYW5kPiBjb21tYW5kIGFzc2lnbnMgYSB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIHNlc3Npb24K KyAgIHZhcmlhYmxlLgorICA8L3BhcmE+CisKKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgor ICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlhYmxlbGlzdD4KKyAgIDx2YXJs aXN0ZW50cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNlc3Np b25fdmFyaWFibGU8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxw YXJhPgorICAgICAgVGhlIG5hbWUgb2YgdGhlIHNlc3Npb24gdmFyaWFibGUuCisgICAgIDwvcGFy YT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50 cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNxbF9leHByZXNz aW9uPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAg ICAgIEFuIGFyYml0cmFyeSBTUUwgZXhwcmVzc2lvbi4gIFRoZSByZXN1bHQgbXVzdCBiZSBvZiBh IGRhdGEgdHlwZSB0aGF0IGNhbgorICAgICAgYmUgY2FzdCB0byB0aGUgdHlwZSBvZiB0aGUgc2Vz c2lvbiB2YXJpYWJsZSBpbiBhbiBhc3NpZ25tZW50LgorICAgICA8L3BhcmE+CisgICAgPC9saXN0 aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2Vj dDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5FeGFtcGxlczwvdGl0bGU+Cis8cHJvZ3JhbWxp c3Rpbmc+CitDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIG15dmFyIEFTIGludGVnZXI7CitMRVQg bXl2YXIgPSAxMDsKK0xFVCBteXZhciA9IChTRUxFQ1Qgc3VtKHZhbCkgRlJPTSB0YWIpOworPC9w cm9ncmFtbGlzdGluZz4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+Q29t cGF0aWJpbGl0eTwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1hbmQ+TEVUPC9jb21t YW5kPiBpcyBhIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4KKyAgIGV4dGVu c2lvbi4KKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5T ZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5lIj4KKyAgIDxtZW1i ZXI+PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXZhcmlhYmxlIi8+PC9tZW1iZXI+CisgICA8bWVt YmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1w bGVsaXN0PgorIDwvcmVmc2VjdDE+Cis8L3JlZmVudHJ5PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL3JlZmVyZW5jZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCmluZGV4IDM0 MmE3YWZiNTE3Li40ZDVhODhmNzUzYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZmVyZW5j ZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbApAQCAtMTg4LDYgKzE4OCw3 IEBACiAgICAmZ3JhbnQ7CiAgICAmaW1wb3J0Rm9yZWlnblNjaGVtYTsKICAgICZpbnNlcnQ7Cisg ICAmbGV0OwogICAgJmxpc3RlbjsKICAgICZsb2FkOwogICAgJmxvY2s7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggY2QxNzFhNjhjYmYuLmFiY2IwYmI1MzFhIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0xNywxMyArMTcsMTgg QEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2xhbmd1YWdlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9w Z190eXBlLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1 ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCisjaW5jbHVkZSAiZXhlY3V0b3Ivc3ZhcmlhYmxlUmVj ZWl2ZXIuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf dHlwZS5oIgorI2luY2x1ZGUgInJld3JpdGUvcmV3cml0ZUhhbmRsZXIuaCIKICNpbmNsdWRlICJz dG9yYWdlL3Byb2MuaCIKKyNpbmNsdWRlICJ0Y29wL3Rjb3Bwcm90LmgiCiAjaW5jbHVkZSAidXRp bHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgogI2luY2x1ZGUgInV0aWxz L2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisjaW5jbHVkZSAidXRp bHMvc25hcG1nci5oIgogCiAvKgogICogVGhlIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdG9yZWQg aW4gdGhlIGJhY2tlbmQncyBwcml2YXRlIG1lbW9yeSAoZGF0YSwKQEAgLTMyNCwzICszMjksODUg QEAgRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCiAJCQkJCSAgIE5VTEwpID09IE5V TEwpCiAJCWVsb2coRVJST1IsICJoYXNoIHRhYmxlIGNvcnJ1cHRlZCIpOwogfQorCisvKgorICog QXNzaWduIHRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRlZCBleHByZXNzaW9uIHRvIHRoZSBzZXNz aW9uIHZhcmlhYmxlCisgKi8KK3ZvaWQKK0V4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwKKwkJCSAgIExldFN0bXQgKnN0bXQsCisJCQkgICBQYXJhbUxpc3RJbmZvIHBhcmFtcywKKwkJ CSAgIFF1ZXJ5RW52aXJvbm1lbnQgKnF1ZXJ5RW52LAorCQkJICAgUXVlcnlDb21wbGV0aW9uICpx YykKK3sKKwlRdWVyeQkgICAqcXVlcnkgPSBjYXN0Tm9kZShRdWVyeSwgc3RtdC0+cXVlcnkpOwor CUxpc3QJICAgKnJld3JpdHRlbjsKKwlEZXN0UmVjZWl2ZXIgKmRlc3Q7CisJUGxhbm5lZFN0bXQg KnBsYW47CisJUXVlcnlEZXNjICAqcXVlcnlEZXNjOworCWNoYXIJICAgKnZhcm5hbWUgPSBxdWVy eS0+cmVzdWx0VmFyaWFibGU7CisJU1ZhcmlhYmxlCXN2YXI7CisKKwlzdmFyID0gc2VhcmNoX3Zh cmlhYmxlKHZhcm5hbWUpOworCisJLyogb25seSBvd25lciBjYW4gc2V0IGNvbnRlbnQgb2YgdmFy aWFibGUgKi8KKwlpZiAoc3Zhci0+dmFyb3duZXIgIT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNl cigpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5U X1BSSVZJTEVHRSksCisJCQkJIGVycm1zZygicGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24g dmFyaWFibGUgJXMiLAorCQkJCQkJdmFybmFtZSkpKTsKKworCS8qIGNyZWF0ZSBhIGRlc3QgcmVj ZWl2ZXIgZm9yIExFVCAqLworCWRlc3QgPSBDcmVhdGVWYXJpYWJsZURlc3RSZWNlaXZlcih2YXJu YW1lKTsKKworCS8qIHJ1biB0aGUgcXVlcnkgcmV3cml0ZXIgKi8KKwlxdWVyeSA9IGNvcHlPYmpl Y3QocXVlcnkpOworCisJcmV3cml0dGVuID0gUXVlcnlSZXdyaXRlKHF1ZXJ5KTsKKworCUFzc2Vy dChsaXN0X2xlbmd0aChyZXdyaXR0ZW4pID09IDEpOworCisJcXVlcnkgPSBsaW5pdGlhbF9ub2Rl KFF1ZXJ5LCByZXdyaXR0ZW4pOworCUFzc2VydChxdWVyeS0+Y29tbWFuZFR5cGUgPT0gQ01EX1NF TEVDVCk7CisKKwkvKiBwbGFuIHRoZSBxdWVyeSAqLworCXBsYW4gPSBwZ19wbGFuX3F1ZXJ5KHF1 ZXJ5LCBwc3RhdGUtPnBfc291cmNldGV4dCwKKwkJCQkJCSBDVVJTT1JfT1BUX1BBUkFMTEVMX09L LCBwYXJhbXMsIE5VTEwpOworCisJLyoKKwkgKiBVc2UgYSBzbmFwc2hvdCB3aXRoIGFuIHVwZGF0 ZWQgY29tbWFuZCBJRCB0byBlbnN1cmUgdGhpcyBxdWVyeSBzZWVzIHRoZQorCSAqIHJlc3VsdHMg b2YgYW55IHByZXZpb3VzbHkgZXhlY3V0ZWQgcXVlcmllcy4gIChUaGlzIGNvdWxkIG9ubHkgbWF0 dGVyIGlmCisJICogdGhlIHBsYW5uZXIgZXhlY3V0ZWQgYW4gYWxsZWdlZGx5LXN0YWJsZSBmdW5j dGlvbiB0aGF0IGNoYW5nZWQgdGhlCisJICogZGF0YWJhc2UgY29udGVudHMsIGJ1dCBsZXQncyBk byBpdCBhbnl3YXkgdG8gYmUgcGFyYWxsZWwgdG8gdGhlIEVYUExBSU4KKwkgKiBjb2RlIHBhdGgu KQorCSAqLworCVB1c2hDb3BpZWRTbmFwc2hvdChHZXRBY3RpdmVTbmFwc2hvdCgpKTsKKwlVcGRh dGVBY3RpdmVTbmFwc2hvdENvbW1hbmRJZCgpOworCisJLyogY3JlYXRlIGEgUXVlcnlEZXNjLCBy ZWRpcmVjdGluZyBvdXRwdXQgdG8gb3VyIHR1cGxlIHJlY2VpdmVyICovCisJcXVlcnlEZXNjID0g Q3JlYXRlUXVlcnlEZXNjKHBsYW4sIHBzdGF0ZS0+cF9zb3VyY2V0ZXh0LAorCQkJCQkJCQlHZXRB Y3RpdmVTbmFwc2hvdCgpLCBJbnZhbGlkU25hcHNob3QsCisJCQkJCQkJCWRlc3QsIHBhcmFtcywg cXVlcnlFbnYsIDApOworCisJLyogY2FsbCBFeGVjdXRvclN0YXJ0IHRvIHByZXBhcmUgdGhlIHBs YW4gZm9yIGV4ZWN1dGlvbiAqLworCUV4ZWN1dG9yU3RhcnQocXVlcnlEZXNjLCAwKTsKKworCS8q CisJICogUnVuIHRoZSBwbGFuIHRvIGNvbXBsZXRpb24uICBUaGUgcmVzdWx0IHNob3VsZCBiZSBv bmx5IG9uZSByb3cuICBUbworCSAqIGNoZWNrIGlmIHRoZXJlIGFyZSB0b28gbWFueSByZXN1bHQg cm93cywgd2UgdHJ5IHRvIGZldGNoIHR3by4KKwkgKi8KKwlFeGVjdXRvclJ1bihxdWVyeURlc2Ms IEZvcndhcmRTY2FuRGlyZWN0aW9uLCAyTCk7CisKKwkvKiBzYXZlIHRoZSByb3djb3VudCBpZiB3 ZSdyZSBnaXZlbiBhIFF1ZXJ5Q29tcGxldGlvbiB0byBmaWxsICovCisJaWYgKHFjKQorCQlTZXRR dWVyeUNvbXBsZXRpb24ocWMsIENNRFRBR19MRVQsIHF1ZXJ5RGVzYy0+ZXN0YXRlLT5lc19wcm9j ZXNzZWQpOworCisJLyogYW5kIGNsZWFuIHVwICovCisJRXhlY3V0b3JGaW5pc2gocXVlcnlEZXNj KTsKKwlFeGVjdXRvckVuZChxdWVyeURlc2MpOworCisJZGVzdC0+ckRlc3Ryb3koZGVzdCk7CisJ RnJlZVF1ZXJ5RGVzYyhxdWVyeURlc2MpOworCisJUG9wQWN0aXZlU25hcHNob3QoKTsKK30KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jIGIvc3JjL2JhY2tlbmQvbm9k ZXMvbm9kZUZ1bmNzLmMKaW5kZXggMGY2OTkwZjFiODQuLjllZmNhNDc2ODY2IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYworKysgYi9zcmMvYmFja2VuZC9ub2Rlcy9u b2RlRnVuY3MuYwpAQCAtNDQ0OSw2ICs0NDQ5LDE0IEBAIHJhd19leHByZXNzaW9uX3RyZWVfd2Fs a2VyX2ltcGwoTm9kZSAqbm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7CiAJCQl9CiAJCQlicmVhazsK KwkJY2FzZSBUX0xldFN0bXQ6CisJCQl7CisJCQkJTGV0U3RtdCAgICAqc3RtdCA9IChMZXRTdG10 ICopIG5vZGU7CisKKwkJCQlpZiAoV0FMSyhzdG10LT5xdWVyeSkpCisJCQkJCXJldHVybiB0cnVl OworCQkJfQorCQkJYnJlYWs7CiAJCWNhc2UgVF9QTEFzc2lnblN0bXQ6CiAJCQl7CiAJCQkJUExB c3NpZ25TdG10ICpzdG10ID0gKFBMQXNzaWduU3RtdCAqKSBub2RlOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BsYW4vcGxhbm5lci5jCmluZGV4IDIyZjgwMDhkMjM4Li41ZjA0NjAzZDAyNiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc2LDYgKzM3Niw3IEBAIHN0YW5kYXJkX3Bs YW5uZXIoUXVlcnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JP cHRpb25zLAogCWdsb2ItPnBhcnRpdGlvbl9kaXJlY3RvcnkgPSBOVUxMOwogCWdsb2ItPnJlbF9u b3RudWxsYXR0c19oYXNoID0gTlVMTDsKIAlnbG9iLT5zZXNzaW9uVmFyaWFibGVzID0gTklMOwor CWdsb2ItPnJlc3VsdFZhcmlhYmxlID0gcGFyc2UtPnJlc3VsdFZhcmlhYmxlOwogCiAJLyoKIAkg KiBBc3Nlc3Mgd2hldGhlciBpdCdzIGZlYXNpYmxlIHRvIHVzZSBwYXJhbGxlbCBtb2RlIGZvciB0 aGlzIHF1ZXJ5LiBXZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggYTJiOWNlNjZlMTIuLjQwOWQzZWU0 MTFiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMKQEAgLTU5LDE1ICs1OSwxOCBAQAogI2luY2x1ZGUgInV0 aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3JhbmdldHlwZXMuaCIKICNpbmNsdWRl ICJ1dGlscy9yZWwuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1 dGlscy9zeXNjYWNoZS5oIgogCiAKLS8qIFBhc3N0aHJvdWdoIGRhdGEgZm9yIHRyYW5zZm9ybVBM QXNzaWduU3RtdFRhcmdldCAqLworLyogUGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3JtQXNz aWduVGFyZ2V0ICovCiB0eXBlZGVmIHN0cnVjdCBTZWxlY3RTdG10UGFzc3Rocm91Z2gKIHsKLQlQ TEFzc2lnblN0bXQgKnN0bXQ7CQkJLyogdGhlIGFzc2lnbm1lbnQgc3RhdGVtZW50ICovCisJTm9k ZQkgICAqc3RtdDsJCQkvKiB0aGUgYXNzaWdubWVudCBzdGF0ZW1lbnQgKi8KIAlOb2RlCSAgICp0 YXJnZXQ7CQkJLyogbm9kZSByZXByZXNlbnRpbmcgdGhlIHRhcmdldCB2YXJpYWJsZSAqLworCWNo YXIJICAgKnRhcmdldF9uYW1lOwkvKiB0aGUgbmFtZSB1c2VkIGJ5IGVyciAqLwogCUxpc3QJICAg KmluZGlyZWN0aW9uOwkvKiBpbmRpcmVjdGlvbiB5ZXQgdG8gYmUgYXBwbGllZCB0byB0YXJnZXQg Ki8KKwlDb2VyY2lvbkNvbnRleHQgY2NvbnRleHQ7IAkvKiBjb250ZXh0IGluZGljYXRvcnMgdG8g Y29udHJvbCBjb2VyY2lvbnMgKi8KIH0gU2VsZWN0U3RtdFBhc3N0aHJvdWdoOwogCiAvKiBIb29r IGZvciBwbHVnaW5zIHRvIGdldCBjb250cm9sIGF0IGVuZCBvZiBwYXJzZSBhbmFseXNpcyAqLwpA QCAtOTUsNyArOTgsNyBAQCBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybVJldHVyblN0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLCBSZXR1cm5TdG10ICpzdG10KTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3Jt VXBkYXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFVwZGF0ZVN0bXQgKnN0bXQpOwogc3RhdGlj IFF1ZXJ5ICp0cmFuc2Zvcm1QTEFzc2lnblN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJ CQkJUExBc3NpZ25TdG10ICpzdG10KTsKLXN0YXRpYyBMaXN0ICp0cmFuc2Zvcm1QTEFzc2lnblN0 bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKK3N0YXRpYyBMaXN0ICp0 cmFuc2Zvcm1Bc3NpZ25UYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJ CQkJCQkJCQkgU2VsZWN0U3RtdFBhc3N0aHJvdWdoICpwYXNzdGhydSk7CiBzdGF0aWMgUXVlcnkg KnRyYW5zZm9ybURlY2xhcmVDdXJzb3JTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJ CQkgRGVjbGFyZUN1cnNvclN0bXQgKnN0bXQpOwpAQCAtMTA1LDYgKzEwOCw4IEBAIHN0YXRpYyBR dWVyeSAqdHJhbnNmb3JtQ3JlYXRlVGFibGVBc1N0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJ CQkJCQkJCSBDcmVhdGVUYWJsZUFzU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9y bUNhbGxTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJQ2FsbFN0bXQgKnN0bXQpOwor c3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1MZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJ CQkgICBMZXRTdG10ICpzdG10KTsKIHN0YXRpYyB2b2lkIHRyYW5zZm9ybUxvY2tpbmdDbGF1c2Uo UGFyc2VTdGF0ZSAqcHN0YXRlLCBRdWVyeSAqcXJ5LAogCQkJCQkJCQkgICBMb2NraW5nQ2xhdXNl ICpsYywgYm9vbCBwdXNoZWREb3duKTsKICNpZmRlZiBERUJVR19OT0RFX1RFU1RTX0VOQUJMRUQK QEAgLTM1Miw2ICszNTcsNyBAQCB0cmFuc2Zvcm1TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9k ZSAqcGFyc2VUcmVlKQogCQkJY2FzZSBUX1VwZGF0ZVN0bXQ6CiAJCQljYXNlIFRfRGVsZXRlU3Rt dDoKIAkJCWNhc2UgVF9NZXJnZVN0bXQ6CisJCQljYXNlIFRfTGV0U3RtdDoKIAkJCQkodm9pZCkg dGVzdF9yYXdfZXhwcmVzc2lvbl9jb3ZlcmFnZShwYXJzZVRyZWUsIE5VTEwpOwogCQkJCWJyZWFr OwogCQkJZGVmYXVsdDoKQEAgLTQzMSw2ICs0MzcsMTEgQEAgdHJhbnNmb3JtU3RtdChQYXJzZVN0 YXRlICpwc3RhdGUsIE5vZGUgKnBhcnNlVHJlZSkKIAkJCQkJCQkJCSAgIChDYWxsU3RtdCAqKSBw YXJzZVRyZWUpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlyZXN1bHQgPSB0 cmFuc2Zvcm1MZXRTdG10KHBzdGF0ZSwKKwkJCQkJCQkJCSAgKExldFN0bXQgKikgcGFyc2VUcmVl KTsKKwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAKIAkJCS8qCkBAIC00OTIsNiArNTAzLDcgQEAg c3RtdF9yZXF1aXJlc19wYXJzZV9hbmFseXNpcyhSYXdTdG10ICpwYXJzZVRyZWUpCiAJCWNhc2Ug VF9FeHBsYWluU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVRhYmxlQXNTdG10OgogCQljYXNlIFRfQ2Fs bFN0bXQ6CisJCWNhc2UgVF9MZXRTdG10OgogCQkJcmVzdWx0ID0gdHJ1ZTsKIAkJCWJyZWFrOwog CkBAIC01NTcsNiArNTY5LDcgQEAgcXVlcnlfcmVxdWlyZXNfcmV3cml0ZV9wbGFuKFF1ZXJ5ICpx dWVyeSkKIAkJCWNhc2UgVF9FeHBsYWluU3RtdDoKIAkJCWNhc2UgVF9DcmVhdGVUYWJsZUFzU3Rt dDoKIAkJCWNhc2UgVF9DYWxsU3RtdDoKKwkJCWNhc2UgVF9MZXRTdG10OgogCQkJCXJlc3VsdCA9 IHRydWU7CiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgpAQCAtMTcyOSw3ICsxNzQyLDcgQEAgY291 bnRfcm93ZXhwcl9jb2x1bW5zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqZXhwcikKICAqCiAg KiBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gdXNlZCB0byB0cmFuc2Zvcm0gdGhlIHNvdXJjZSBleHBy ZXNzaW9uIG9mIGEKICAqIFBMQXNzaWduU3RtdC4gIEluIHRoYXQgdXNhZ2UsIHBhc3N0aHJ1IGlz IG5vbi1OVUxMIGFuZCB3ZSBuZWVkIHRvCi0gKiBjYWxsIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRh cmdldCBhZnRlciB0aGUgaW5pdGlhbCB0cmFuc2Zvcm1hdGlvbiBvZiB0aGUKKyAqIGNhbGwgdHJh bnNmb3JtQXNzaWduVGFyZ2V0IGFmdGVyIHRoZSBpbml0aWFsIHRyYW5zZm9ybWF0aW9uIG9mIHRo ZQogICogU0VMRUNUJ3MgdGFyZ2V0bGlzdC4gIChXZSBjb3VsZCBnZW5lcmFsaXplIHRoaXMgaW50 byBhbiBhcmJpdHJhcnkgY2FsbGJhY2sKICAqIGZ1bmN0aW9uLCBidXQgZm9yIG5vdyB0aGF0IHdv dWxkIGp1c3QgYmUgbW9yZSBub3RhdGlvbiB3aXRoIG5vIGJlbmVmaXQuKQogICogQWxsIHRoZSBy ZXN0IGlzIHRoZSBzYW1lIGFzIGEgcmVndWxhciBTZWxlY3RTdG10LgpAQCAtMTc4Miw4ICsxNzk1 LDggQEAgdHJhbnNmb3JtU2VsZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQg KnN0bXQsCiAJICogT3RoZXJ3aXNlLCBtYXJrIGNvbHVtbiBvcmlnaW5zICh3aGljaCBhcmUgdXNl bGVzcyBpbiBhIFBMQXNzaWduU3RtdCkuCiAJICovCiAJaWYgKHBhc3N0aHJ1KQotCQlxcnktPnRh cmdldExpc3QgPSB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQocHN0YXRlLCBxcnktPnRhcmdl dExpc3QsCi0JCQkJCQkJCQkJCQkJICBwYXNzdGhydSk7CisJCXFyeS0+dGFyZ2V0TGlzdCA9IHRy YW5zZm9ybUFzc2lnblRhcmdldChwc3RhdGUsIHFyeS0+dGFyZ2V0TGlzdCwKKwkJCQkJCQkJCQkJ CXBhc3N0aHJ1KTsKIAllbHNlCiAJCW1hcmtUYXJnZXRMaXN0T3JpZ2lucyhwc3RhdGUsIHFyeS0+ dGFyZ2V0TGlzdCk7CiAKQEAgLTMyMjEsOSArMzIzNCwxMSBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0 bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQTEFzc2lnblN0bXQgKnN0bXQpCiAJCQkJCQkgICBFWFBS X0tJTkRfVVBEQVRFX1RBUkdFVCk7CiAKIAkvKiBTZXQgdXAgcGFzc3Rocm91Z2ggZGF0YSBmb3Ig dHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0ICovCi0JcGFzc3RocnUuc3RtdCA9IHN0bXQ7CisJ cGFzc3RocnUuc3RtdCA9IChOb2RlICopIHN0bXQ7CiAJcGFzc3RocnUudGFyZ2V0ID0gdGFyZ2V0 OworCXBhc3N0aHJ1LnRhcmdldF9uYW1lID0gc3RtdC0+bmFtZTsKIAlwYXNzdGhydS5pbmRpcmVj dGlvbiA9IGluZGlyZWN0aW9uOworCXBhc3N0aHJ1LmNjb250ZXh0ID0gQ09FUkNJT05fUExQR1NR TDsKIAogCS8qCiAJICogVG8gYXZvaWQgZHVwbGljYXRpbmcgYSBsb3Qgb2YgY29kZSwgd2UgdXNl IHRyYW5zZm9ybVNlbGVjdFN0bXQgdG8gZG8KQEAgLTMyNDYsMTggKzMyNjEsMjEgQEAgdHJhbnNm b3JtUExBc3NpZ25TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUExBc3NpZ25TdG10ICpzdG10KQog CiAvKgogICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYWRqdXN0IGEgU0VMRUNUJ3MgdGxpc3QgdG8g bWFrZSB0aGUgb3V0cHV0IHN1aXRhYmxlCi0gKiBmb3IgYXNzaWdubWVudCB0byBhIFBMQXNzaWdu U3RtdCdzIHRhcmdldCB2YXJpYWJsZS4KKyAqIGZvciBhc3NpZ25tZW50IHRvIGEgUExBc3NpZ25T dG10J3MgdGFyZ2V0IHZhcmlhYmxlIHByIExFVCdzIHRhcmdldAorICogc2Vzc2lvbiB2YXJpYWJs ZS4KICAqCiAgKiBOb3RlOiB3ZSBhY3R1YWxseSBtb2RpZnkgdGhlIHRsZS0+ZXhwciBpbi1wbGFj ZSwgYnV0IHRoZSBmdW5jdGlvbidzIEFQSQogICogaXMgc2V0IHVwIHRvIG5vdCBwcmVzdW1lIHRo YXQuCiAgKi8KIHN0YXRpYyBMaXN0ICoKLXRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJz ZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAotCQkJCQkJCVNlbGVjdFN0bXRQYXNzdGhyb3Vn aCAqcGFzc3RocnUpCit0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBM aXN0ICp0bGlzdCwKKwkJCQkJICBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KQogewot CVBMQXNzaWduU3RtdCAqc3RtdCA9IHBhc3N0aHJ1LT5zdG10OworCU5vZGUJICAgKnN0bXQgPSBw YXNzdGhydS0+c3RtdDsKIAlOb2RlCSAgICp0YXJnZXQgPSBwYXNzdGhydS0+dGFyZ2V0OworCWNo YXIJICAgKnRhcmdldF9uYW1lID0gcGFzc3RocnUtPnRhcmdldF9uYW1lOwogCUxpc3QJICAgKmlu ZGlyZWN0aW9uID0gcGFzc3RocnUtPmluZGlyZWN0aW9uOworCUNvZXJjaW9uQ29udGV4dCBjY29u dGV4dCA9IHBhc3N0aHJ1LT5jY29udGV4dDsKIAlPaWQJCQl0YXJnZXR0eXBlOwogCWludDMyCQl0 YXJnZXR0eXBtb2Q7CiAJT2lkCQkJdGFyZ2V0Y29sbGF0aW9uOwpAQCAtMzI5Miw3ICszMzEwLDcg QEAgdHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAq dGxpc3QsCiAJCXRsZS0+ZXhwciA9IChFeHByICopCiAJCQl0cmFuc2Zvcm1Bc3NpZ25tZW50SW5k aXJlY3Rpb24ocHN0YXRlLAogCQkJCQkJCQkJCSAgIHRhcmdldCwKLQkJCQkJCQkJCQkgICBzdG10 LT5uYW1lLAorCQkJCQkJCQkJCSAgIHRhcmdldF9uYW1lLAogCQkJCQkJCQkJCSAgIGZhbHNlLAog CQkJCQkJCQkJCSAgIHRhcmdldHR5cGUsCiAJCQkJCQkJCQkJICAgdGFyZ2V0dHlwbW9kLApAQCAt MzMwMCwxMCArMzMxOCwxMCBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCQkJCQkJCQkgICBpbmRpcmVjdGlvbiwKIAkJCQkJ CQkJCQkgICBsaXN0X2hlYWQoaW5kaXJlY3Rpb24pLAogCQkJCQkJCQkJCSAgIChOb2RlICopIHRs ZS0+ZXhwciwKLQkJCQkJCQkJCQkgICBDT0VSQ0lPTl9QTFBHU1FMLAorCQkJCQkJCQkJCSAgIGNj b250ZXh0LAogCQkJCQkJCQkJCSAgIGV4cHJMb2NhdGlvbih0YXJnZXQpKTsKIAl9Ci0JZWxzZSBp ZiAodGFyZ2V0dHlwZSAhPSB0eXBlX2lkICYmCisJZWxzZSBpZiAoSXNBKHN0bXQsIFBMQXNzaWdu U3RtdCkgJiYgdGFyZ2V0dHlwZSAhPSB0eXBlX2lkICYmCiAJCQkgKHRhcmdldHR5cGUgPT0gUkVD T1JET0lEIHx8IElTQ09NUExFWCh0YXJnZXR0eXBlKSkgJiYKIAkJCSAodHlwZV9pZCA9PSBSRUNP UkRPSUQgfHwgSVNDT01QTEVYKHR5cGVfaWQpKSkKIAl7CkBAIC0zMzI2LDcgKzMzNDQsNyBAQCB0 cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlz dCwKIAkJCWNvZXJjZV90b190YXJnZXRfdHlwZShwc3RhdGUsCiAJCQkJCQkJCSAgb3JpZ19leHBy LCB0eXBlX2lkLAogCQkJCQkJCQkgIHRhcmdldHR5cGUsIHRhcmdldHR5cG1vZCwKLQkJCQkJCQkJ ICBDT0VSQ0lPTl9QTFBHU1FMLAorCQkJCQkJCQkgIGNjb250ZXh0LAogCQkJCQkJCQkgIENPRVJD RV9JTVBMSUNJVF9DQVNULAogCQkJCQkJCQkgIC0xKTsKIAkJLyogV2l0aCBDT0VSQ0lPTl9QTFBH U1FMLCB0aGlzIGVycm9yIGlzIHByb2JhYmx5IHVucmVhY2hhYmxlICovCkBAIC0zMzM1LDcgKzMz NTMsNyBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBM aXN0ICp0bGlzdCwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCiAJ CQkJCSBlcnJtc2coInZhcmlhYmxlIFwiJXNcIiBpcyBvZiB0eXBlICVzIgogCQkJCQkJCSIgYnV0 IGV4cHJlc3Npb24gaXMgb2YgdHlwZSAlcyIsCi0JCQkJCQkJc3RtdC0+bmFtZSwKKwkJCQkJCQl0 YXJnZXRfbmFtZSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0YXJnZXR0eXBlKSwKIAkJCQkJCQlm b3JtYXRfdHlwZV9iZSh0eXBlX2lkKSksCiAJCQkJCSBlcnJoaW50KCJZb3Ugd2lsbCBuZWVkIHRv IHJld3JpdGUgb3IgY2FzdCB0aGUgZXhwcmVzc2lvbi4iKSwKQEAgLTM3MDMsNiArMzcyMSw1OSBA QCB0cmFuc2Zvcm1DYWxsU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIENhbGxTdG10ICpzdG10KQog CXJldHVybiByZXN1bHQ7CiB9CiAKKy8qCisgKiB0cmFuc2Zvcm1MZXRTdG10IC0KKyAqCSAgdHJh bnNmb3JtIGFuIExldCBTdGF0ZW1lbnQKKyAqLworc3RhdGljIFF1ZXJ5ICoKK3RyYW5zZm9ybUxl dFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10KQoreworCVF1ZXJ5CSAgICpx cnk7CisJUXVlcnkJICAgKnJlc3VsdDsKKwlOb2RlCSAgICp0YXJnZXQ7CisJVmFyaWFibGVGZW5j ZSAqdmY7CisJU2VsZWN0U3RtdFBhc3N0aHJvdWdoIHBhc3N0aHJ1OworCVBhcmFtCSAgICpwYXJh bXZhcjsKKworCS8qIGdyYW0gYWxsb3dzIG9ubHkgU0VMRUNUICovCisJQXNzZXJ0KElzQShzdG10 LT5xdWVyeSwgU2VsZWN0U3RtdCkpOworCisJLyogVXNlIGltcGxpY2l0IFZhcmlhYmxlRmVuY2Ug Zm9yIGZvcmNpbmcgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwl2ZiA9IG1ha2VOb2RlKFZhcmlhYmxl RmVuY2UpOworCXZmLT52YXJuYW1lID0gc3RtdC0+dGFyZ2V0OworCXZmLT5sb2NhdGlvbiA9IHN0 bXQtPmxvY2F0aW9uOworCisJdGFyZ2V0ID0gdHJhbnNmb3JtRXhwcihwc3RhdGUsIChOb2RlICop IHZmLCBFWFBSX0tJTkRfTEVUX1RBUkdFVCk7CisKKwlwYXJhbXZhciA9IGNhc3ROb2RlKFBhcmFt LCB0YXJnZXQpOworCisJQXNzZXJ0KHBhcmFtdmFyLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFC TEUpOworCisJLyogU2V0IHVwIHBhc3N0aHJvdWdoIGRhdGEgZm9yIHRyYW5zZm9ybUFzc2lnblRh cmdldCAqLworCXBhc3N0aHJ1LnN0bXQgPSAoTm9kZSAqKSBzdG10OworCXBhc3N0aHJ1LnRhcmdl dCA9IChOb2RlICopIHBhcmFtdmFyOworCXBhc3N0aHJ1LnRhcmdldF9uYW1lID0gcGFyYW12YXIt PnBhcmFtdmFybmFtZTsKKwlwYXNzdGhydS5pbmRpcmVjdGlvbiA9IE5JTDsKKwlwYXNzdGhydS5j Y29udGV4dCA9IENPRVJDSU9OX0FTU0lHTk1FTlQ7CisKKwkvKiB3ZSBuZWVkIHRvIHBvc3Rwb25l IGNvbnZlcnNpb24gb2YgInVua25vd24iIHRvIHRleHQgKi8KKwlwc3RhdGUtPnBfcmVzb2x2ZV91 bmtub3ducyA9IGZhbHNlOworCisJcXJ5ID0gdHJhbnNmb3JtU2VsZWN0U3RtdChwc3RhdGUsIChT ZWxlY3RTdG10ICopIHN0bXQtPnF1ZXJ5LCAmcGFzc3RocnUpOworCisJcXJ5LT5yZXN1bHRWYXJp YWJsZSA9IHBhcmFtdmFyLT5wYXJhbXZhcm5hbWU7CisJcXJ5LT5jYW5TZXRUYWcgPSB0cnVlOwor CisJc3RtdC0+cXVlcnkgPSAoTm9kZSAqKSBxcnk7CisKKwkvKiByZXByZXNlbnQgdGhlIGNvbW1h bmQgYXMgYSB1dGlsaXR5IFF1ZXJ5ICovCisJcmVzdWx0ID0gbWFrZU5vZGUoUXVlcnkpOworCXJl c3VsdC0+Y29tbWFuZFR5cGUgPSBDTURfVVRJTElUWTsKKwlyZXN1bHQtPnV0aWxpdHlTdG10ID0g KE5vZGUgKikgc3RtdDsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIC8qCiAgKiBQcm9kdWNlIGEg c3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgTG9ja0NsYXVzZVN0cmVuZ3RoIHZhbHVlLgogICog VGhpcyBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIHZhbGlkIHZhbHVlcyAobm90IExDU19OT05F KS4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55CmluZGV4IGYzYTRhZWVmM2ZlLi45MDgyMWM2MjA4NyAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55 CkBAIC0zMDQsNyArMzA0LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0 KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJRHJvcFRyYW5z Zm9ybVN0bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWluU3RtdCBGZXRjaFN0bXQKIAkJ R3JhbnRTdG10IEdyYW50Um9sZVN0bXQgSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQgSW5kZXhTdG10 IEluc2VydFN0bXQKLQkJTGlzdGVuU3RtdCBMb2FkU3RtdCBMb2NrU3RtdCBNZXJnZVN0bXQgTm90 aWZ5U3RtdCBFeHBsYWluYWJsZVN0bXQgUHJlcGFyYWJsZVN0bXQKKwkJTGV0U3RtdCBMaXN0ZW5T dG10IExvYWRTdG10IExvY2tTdG10IE1lcmdlU3RtdCBOb3RpZnlTdG10IEV4cGxhaW5hYmxlU3Rt dCBQcmVwYXJhYmxlU3RtdAogCQlDcmVhdGVGdW5jdGlvblN0bXQgQWx0ZXJGdW5jdGlvblN0bXQg UmVpbmRleFN0bXQgUmVtb3ZlQWdnclN0bXQKIAkJUmVtb3ZlRnVuY1N0bXQgUmVtb3ZlT3BlclN0 bXQgUmVuYW1lU3RtdCBSZXBhY2tTdG10IFJldHVyblN0bXQgUmV2b2tlU3RtdCBSZXZva2VSb2xl U3RtdAogCQlSdWxlQWN0aW9uU3RtdCBSdWxlQWN0aW9uU3RtdE9yRW1wdHkgUnVsZVN0bXQKQEAg LTc4Niw3ICs3ODYsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hh ciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCUtFRVAgS0VZIEtFWVMK IAogCUxBQkVMIExBTkdVQUdFIExBUkdFX1AgTEFTVF9QIExBVEVSQUxfUAotCUxFQURJTkcgTEVB S1BST09GIExFQVNUIExFRlQgTEVWRUwgTElLRSBMSU1JVCBMSVNURU4gTE9BRCBMT0NBTAorCUxF QURJTkcgTEVBS1BST09GIExFQVNUIExFVCBMRUZUIExFVkVMIExJS0UgTElNSVQgTElTVEVOIExP QUQgTE9DQUwKIAlMT0NBTFRJTUUgTE9DQUxUSU1FU1RBTVAgTE9DQVRJT04gTE9DS19QIExPQ0tF RCBMT0dHRUQgTFNOX1AKIAogCU1BUFBJTkcgTUFUQ0ggTUFUQ0hFRCBNQVRFUklBTElaRUQgTUFY VkFMVUUgTUVSR0UgTUVSR0VfQUNUSU9OIE1FVEhPRApAQCAtMTEzOCw2ICsxMTM4LDcgQEAgc3Rt dDoKIAkJCXwgSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQKIAkJCXwgSW5kZXhTdG10CiAJCQl8IElu c2VydFN0bXQKKwkJCXwgTGV0U3RtdAogCQkJfCBMaXN0ZW5TdG10CiAJCQl8IFJlZnJlc2hNYXRW aWV3U3RtdAogCQkJfCBMb2FkU3RtdApAQCAtMTM2MjEsNiArMTM2MjIsMzcgQEAgb3B0X2hvbGQ6 IC8qIEVNUFRZICovCQkJCQkJeyAkJCA9IDA7IH0KIAkJCXwgV0lUSE9VVCBIT0xECQkJCQl7ICQk ID0gMDsgfQogCQk7CiAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqCQlRVUVSWToKKyAq CQkJCUxFVCBTVEFURU1FTlQKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitMZXRTdG10OglM RVQgQ29sSWQgJz0nIGFfZXhwcgorCQkJCXsKKwkJCQkJTGV0U3RtdAkgICAqbiA9IG1ha2VOb2Rl KExldFN0bXQpOworCQkJCQlTZWxlY3RTdG10ICpzZWxlY3Q7CisJCQkJCVJlc1RhcmdldCAgKnJl czsKKworCQkJCQluLT50YXJnZXQgPSAkMjsKKworCQkJCQlzZWxlY3QgPSBtYWtlTm9kZShTZWxl Y3RTdG10KTsKKwkJCQkJcmVzID0gbWFrZU5vZGUoUmVzVGFyZ2V0KTsKKworCQkJCQkvKiBjcmVh dGUgdGFyZ2V0IGxpc3QgZm9yIGltcGxpY2l0IHF1ZXJ5ICovCisJCQkJCXJlcy0+bmFtZSA9IE5V TEw7CisJCQkJCXJlcy0+aW5kaXJlY3Rpb24gPSBOSUw7CisJCQkJCXJlcy0+dmFsID0gKE5vZGUg KikgJDQ7CisJCQkJCXJlcy0+bG9jYXRpb24gPSBANDsKKworCQkJCQlzZWxlY3QtPnRhcmdldExp c3QgPSBsaXN0X21ha2UxKHJlcyk7CisJCQkJCW4tPnF1ZXJ5ID0gKE5vZGUgKikgc2VsZWN0Owor CisJCQkJCW4tPmxvY2F0aW9uID0gQDI7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CisJ CTsKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKgogICoJCVFVRVJZOgpAQCAtMTkwMjEsNiAr MTkwNTMsNyBAQCB1bnJlc2VydmVkX2tleXdvcmQ6CiAJCQl8IExBUkdFX1AKIAkJCXwgTEFTVF9Q CiAJCQl8IExFQUtQUk9PRgorCQkJfCBMRVQKIAkJCXwgTEVWRUwKIAkJCXwgTElTVEVOCiAJCQl8 IExPQUQKQEAgLTE5NjUxLDYgKzE5Njg0LDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJfCBM RUFLUFJPT0YKIAkJCXwgTEVBU1QKIAkJCXwgTEVGVAorCQkJfCBMRVQKIAkJCXwgTEVWRUwKIAkJ CXwgTElLRQogCQkJfCBMSVNURU4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV9hZ2cuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwppbmRleCBhY2I5MzMzOTJk ZS4uOTJmYjFlZjQzYTEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKQEAgLTU5Nyw3ICs1OTcsMTAg QEAgY2hlY2tfYWdnbGV2ZWxzX2FuZF9jb25zdHJhaW50cyhQYXJzZVN0YXRlICpwc3RhdGUsIE5v ZGUgKmV4cHIpCiAJCQkJZXJyID0gXygiYWdncmVnYXRlIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93 ZWQgaW4gcHJvcGVydHkgZGVmaW5pdGlvbiBleHByZXNzaW9ucyIpOwogCQkJZWxzZQogCQkJCWVy ciA9IF8oImdyb3VwaW5nIG9wZXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIHByb3BlcnR5IGRl ZmluaXRpb24gZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCisJCWNhc2UgRVhQUl9LSU5EX0xF VF9UQVJHRVQ6CisJCQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOwogCiAJCQkvKgpAQCAtMTA0 NSw2ICsxMDQ4LDkgQEAgdHJhbnNmb3JtV2luZG93RnVuY0NhbGwoUGFyc2VTdGF0ZSAqcHN0YXRl LCBXaW5kb3dGdW5jICp3ZnVuYywKIAkJY2FzZSBFWFBSX0tJTkRfRk9SX1BPUlRJT046CiAJCQll cnIgPSBfKCJ3aW5kb3cgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBGT1IgUE9SVElPTiBP RiBleHByZXNzaW9ucyIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6 CisJCQllcnJraW5kID0gdHJ1ZTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMg aW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jIGIvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2V4cHIuYwppbmRleCA0Yjk5NWFiNGE5NS4uZDkxMTZjM2JmZDUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2V4cHIuYwpAQCAtNTk3LDYgKzU5Nyw5IEBAIHRyYW5zZm9ybUNvbHVtblJlZihQYXJz ZVN0YXRlICpwc3RhdGUsIENvbHVtblJlZiAqY3JlZikKIAkJY2FzZSBFWFBSX0tJTkRfRk9SX1BP UlRJT046CiAJCQllcnIgPSBfKCJjYW5ub3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgaW4gRk9SIFBP UlRJT04gT0YgZXhwcmVzc2lvbiIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9U QVJHRVQ6CisJCQllcnIgPSBfKCJjYW5ub3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgYXMgdGFyZ2V0 IG9mIExFVCBjb21tYW5kIik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGlu dGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtOTc5LDYg Kzk4Miw3IEBAIGV4cHJfa2luZF9hbGxvd3Nfc2Vzc2lvbl92YXJpYWJsZXMoUGFyc2VFeHByS2lu ZCBwX2V4cHJfa2luZCkKIAkJY2FzZSBFWFBSX0tJTkRfVkFMVUVTX1NJTkdMRToKIAkJY2FzZSBF WFBSX0tJTkRfUFJPUEdSQVBIX1BST1BFUlRZOgogCQljYXNlIEVYUFJfS0lORF9GT1JfUE9SVElP TjoKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKIAkJCXJlc3VsdCA9IHRydWU7CiAJCQli cmVhazsKIApAQCAtMjAxMyw2ICsyMDE3LDkgQEAgdHJhbnNmb3JtU3ViTGluayhQYXJzZVN0YXRl ICpwc3RhdGUsIFN1YkxpbmsgKnN1YmxpbmspCiAJCWNhc2UgRVhQUl9LSU5EX0ZPUl9QT1JUSU9O OgogCQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBpbiBGT1IgUE9SVElPTiBPRiBleHBy ZXNzaW9uIik7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVy ciA9IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgYXMgYSB0YXJnZXQgb2YgTEVUIGNvbW1hbmQiKTsK KwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZh dWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCkBAIC0zMzc2LDYgKzMzODMsOCBAQCBQYXJzZUV4 cHJLaW5kTmFtZShQYXJzZUV4cHJLaW5kIGV4cHJLaW5kKQogCQkJcmV0dXJuICJwcm9wZXJ0eSBk ZWZpbml0aW9uIGV4cHJlc3Npb24iOwogCQljYXNlIEVYUFJfS0lORF9GT1JfUE9SVElPTjoKIAkJ CXJldHVybiAiRk9SIFBPUlRJT04gT0YiOworCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgor CQkJcmV0dXJuICJMRVQiOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBu byBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZnVuYy5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYwpp bmRleCAzNWZmNjQyNzE0Ny4uOGRkYjVhNGUyMTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV9mdW5jLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYwpA QCAtMjc4OSw2ICsyNzg5LDkgQEAgY2hlY2tfc3JmX2NhbGxfcGxhY2VtZW50KFBhcnNlU3RhdGUg KnBzdGF0ZSwgTm9kZSAqbGFzdF9zcmYsIGludCBsb2NhdGlvbikKIAkJY2FzZSBFWFBSX0tJTkRf Rk9SX1BPUlRJT046CiAJCQllcnIgPSBfKCJzZXQtcmV0dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90 IGFsbG93ZWQgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbnMiKTsKIAkJCWJyZWFrOworCQlj YXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgorCQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsK IAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBo ZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMg Yi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwppbmRleCAyNjk5ODM5ODdlYi4uZmRhNGUwMTli MTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC0yNDAsNiArMjQwLDcgQEAgQ2xhc3NpZnlVdGlsaXR5Q29t bWFuZEFzUmVhZE9ubHkoTm9kZSAqcGFyc2V0cmVlKQogCiAJCWNhc2UgVF9DYWxsU3RtdDoKIAkJ Y2FzZSBUX0RvU3RtdDoKKwkJY2FzZSBUX0xldFN0bXQ6CiAJCQl7CiAJCQkJLyoKIAkJCQkgKiBD b21tYW5kcyBpbnNpZGUgdGhlIERPIGJsb2NrIG9yIHRoZSBjYWxsZWQgcHJvY2VkdXJlIG1pZ2h0 CkBAIC0xMDc4LDYgKzEwNzksMTEgQEAgc3RhbmRhcmRfUHJvY2Vzc1V0aWxpdHkoUGxhbm5lZFN0 bXQgKnBzdG10LAogCQkJRHJvcFZhcmlhYmxlQnlOYW1lKCgoRHJvcFNlc3Npb25WYXJTdG10ICop IHBhcnNldHJlZSktPm5hbWUpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlF eGVjdXRlTGV0U3RtdChwc3RhdGUsIChMZXRTdG10ICopIHBhcnNldHJlZSwgcGFyYW1zLAorCQkJ CQkJICAgcXVlcnlFbnYsIHFjKTsKKwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAJCQkvKiBBbGwg b3RoZXIgc3RhdGVtZW50IHR5cGVzIGhhdmUgZXZlbnQgdHJpZ2dlciBzdXBwb3J0ICovCiAJCQlQ cm9jZXNzVXRpbGl0eVNsb3cocHN0YXRlLCBwc3RtdCwgcXVlcnlTdHJpbmcsCkBAIC0yMjMyLDYg KzIyMzgsMTAgQEAgVXRpbGl0eUNvbnRhaW5zUXVlcnkoTm9kZSAqcGFyc2V0cmVlKQogCQkJCXJl dHVybiBVdGlsaXR5Q29udGFpbnNRdWVyeShxcnktPnV0aWxpdHlTdG10KTsKIAkJCXJldHVybiBx cnk7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlxcnkgPSBjYXN0Tm9kZShRdWVyeSwgKChMZXRT dG10ICopIHBhcnNldHJlZSktPnF1ZXJ5KTsKKwkJCXJldHVybiBxcnk7CisKIAkJZGVmYXVsdDoK IAkJCXJldHVybiBOVUxMOwogCX0KQEAgLTI0MzAsNiArMjQ0MCwxMCBAQCBDcmVhdGVDb21tYW5k VGFnKE5vZGUgKnBhcnNldHJlZSkKIAkJCXRhZyA9IENNRFRBR19TRUxFQ1Q7CiAJCQlicmVhazsK IAorCQljYXNlIFRfTGV0U3RtdDoKKwkJCXRhZyA9IENNRFRBR19MRVQ7CisJCQlicmVhazsKKwog CQkJLyogdXRpbGl0eSBzdGF0ZW1lbnRzIC0tLSBzYW1lIHdoZXRoZXIgcmF3IG9yIGNvb2tlZCAq LwogCQljYXNlIFRfVHJhbnNhY3Rpb25TdG10OgogCQkJewpAQCAtMzMzNCw2ICszMzQ4LDcgQEAg R2V0Q29tbWFuZExvZ0xldmVsKE5vZGUgKnBhcnNldHJlZSkKIAkJCWJyZWFrOwogCiAJCWNhc2Ug VF9QTEFzc2lnblN0bXQ6CisJCWNhc2UgVF9MZXRTdG10OgogCQkJbGV2ID0gTE9HU1RNVF9BTEw7 CiAJCQlicmVhazsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5j IGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmluZGV4IGZlMDEyODI5YWMwLi42OWYz NDhjMTI5ZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCisrKyBi L3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAtMTI3Myw4ICsxMjczLDggQEAgc3Rh dGljIGNvbnN0IGNoYXIgKmNvbnN0IHNxbF9jb21tYW5kc1tdID0gewogCSJBQk9SVCIsICJBTFRF UiIsICJBTkFMWVpFIiwgIkJFR0lOIiwgIkNBTEwiLCAiQ0hFQ0tQT0lOVCIsICJDTE9TRSIsICJD TFVTVEVSIiwKIAkiQ09NTUVOVCIsICJDT01NSVQiLCAiQ09QWSIsICJDUkVBVEUiLCAiREVBTExP Q0FURSIsICJERUNMQVJFIiwKIAkiREVMRVRFIEZST00iLCAiRElTQ0FSRCIsICJETyIsICJEUk9Q IiwgIkVORCIsICJFWEVDVVRFIiwgIkVYUExBSU4iLAotCSJGRVRDSCIsICJHUkFOVCIsICJJTVBP UlQgRk9SRUlHTiBTQ0hFTUEiLCAiSU5TRVJUIElOVE8iLCAiTElTVEVOIiwgIkxPQUQiLCAiTE9D SyIsCi0JIk1FUkdFIElOVE8iLCAiTU9WRSIsICJOT1RJRlkiLCAiUFJFUEFSRSIsCisJIkZFVENI IiwgIkdSQU5UIiwgIklNUE9SVCBGT1JFSUdOIFNDSEVNQSIsICJJTlNFUlQgSU5UTyIsICJMRVQi LCAiTElTVEVOIiwKKwkiTE9BRCIsICJMT0NLIiwgIk1FUkdFIElOVE8iLCAiTU9WRSIsICJOT1RJ RlkiLCAiUFJFUEFSRSIsCiAJIlJFQVNTSUdOIiwgIlJFRlJFU0ggTUFURVJJQUxJWkVEIFZJRVci LCAiUkVJTkRFWCIsICJSRUxFQVNFIiwgIlJFUEFDSyIsCiAJIlJFU0VUIiwgIlJFVk9LRSIsICJS T0xMQkFDSyIsCiAJIlNBVkVQT0lOVCIsICJTRUNVUklUWSBMQUJFTCIsICJTRUxFQ1QiLCAiU0VU IiwgIlNIT1ciLCAiU1RBUlQiLApAQCAtNDk1Myw2ICs0OTUzLDExIEBAIG1hdGNoX3ByZXZpb3Vz X3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJWQUxVRVMiKSAm JiAhVGFpbE1hdGNoZXMoIkRFRkFVTFQiLCAiVkFMVUVTIikpCiAJCUNPTVBMRVRFX1dJVEgoIigi KTsKIAorLyogTEVUICovCisJLyogQ29tcGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8K KwllbHNlIGlmIChUYWlsTWF0Y2hlcygiTEVUIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRI KCI9Iik7CisKIC8qIExPQ0sgKi8KIAkvKiBDb21wbGV0ZSBMT0NLIFtUQUJMRV0gW09OTFldIHdp dGggYSBsaXN0IG9mIHRhYmxlcyAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkxPQ0siKSkKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNs dWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCA2MTBiNzU3ODk5ZS4uYzRiNGQ5 ZTY4MzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUu aAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTE2LDgg KzE2LDEwIEBACiAjZGVmaW5lIFNFU1NJT05WQVJJQUJMRV9ICiAKICNpbmNsdWRlICJjYXRhbG9n L29iamVjdGFkZHJlc3MuaCIKKyNpbmNsdWRlICJub2Rlcy9wYXJhbXMuaCIKICNpbmNsdWRlICJw YXJzZXIvcGFyc2Vfbm9kZS5oIgogI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9kZXMuaCIKKyNpbmNs dWRlICJ0Y29wL2NtZHRhZy5oIgogCiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0 YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERy b3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsKQEAgLTMyLDQgKzM0LDcgQEAgZXh0ZXJu IHZvaWQgZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5h bWUsCiAJCQkJCQkJCQkJCQkJaW50MzIgKnR5cG1vZCwKIAkJCQkJCQkJCQkJCQlPaWQgKmNvbGxp ZCk7CiAKK2V4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGV0 U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCisJCQkJCQkgICBRdWVyeUVudmlyb25t ZW50ICpxdWVyeUVudiwgUXVlcnlDb21wbGV0aW9uICpxYyk7CisKICNlbmRpZgpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oCmluZGV4IDk3ZjYzYTc1OTM5Li43ZDc3YTM2OGIwNiAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNl bm9kZXMuaApAQCAtMTUwLDYgKzE1MCw5IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5CiAJLyogRk9S IFBPUlRJT04gT0YgY2xhdXNlIGZvciBVUERBVEUvREVMRVRFICovCiAJRm9yUG9ydGlvbk9mRXhw ciAqZm9yUG9ydGlvbk9mOwogCisJLyogdGFyZ2V0IHZhcmlhYmxlIG9mIExFVCBzdGF0ZW1lbnQg Ki8KKwljaGFyCSAgICpyZXN1bHRWYXJpYWJsZTsKKwogCS8qIGhhcyBhZ2dyZWdhdGVzIGluIHRs aXN0IG9yIGhhdmluZ1F1YWwgKi8KIAlib29sCQloYXNBZ2dzIHBnX25vZGVfYXR0cihxdWVyeV9q dW1ibGVfaWdub3JlKTsKIAkvKiBoYXMgd2luZG93IGZ1bmN0aW9ucyBpbiB0bGlzdCAqLwpAQCAt MjI3Niw2ICsyMjc5LDE4IEBAIHR5cGVkZWYgc3RydWN0IE1lcmdlU3RtdAogCVdpdGhDbGF1c2Ug KndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLwogfSBNZXJnZVN0bXQ7CiAKKy8qIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAqCQlMZXQgU3RhdGVtZW50CisgKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IExldFN0bXQKK3sKKwlOb2RlVGFnCQl0eXBlOwor CWNoYXIJICAgKnRhcmdldDsJCQkvKiB0YXJnZXQgdmFyaWFibGUgKi8KKwlOb2RlCSAgICpxdWVy eTsJCQkvKiBzb3VyY2UgZXhwcmVzc2lvbiAqLworCVBhcnNlTG9jCWxvY2F0aW9uOworfSBMZXRT dG10OworCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgkJU2VsZWN0IFN0YXRlbWVudAog ICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oIGIvc3JjL2luY2x1 ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggMzJjOThiYzdjMWUuLjRiYTZmNzA5Y2YyIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9u b2Rlcy9wYXRobm9kZXMuaApAQCAtMjc0LDYgKzI3NCw5IEBAIHR5cGVkZWYgc3RydWN0IFBsYW5u ZXJHbG9iYWwKIAogCS8qIGxpc3Qgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLwogCUxpc3QJ ICAgKnNlc3Npb25WYXJpYWJsZXM7CisKKwkvKiBuYW1lIG9mIHNlc3Npb24gdmFyaWFibGUgdXNl ZCBsaWtlIHRhcmdldCBvZiBMRVQgY29tbWFuZCAqLworCWNoYXIJICAgKnJlc3VsdFZhcmlhYmxl OwogfSBQbGFubmVyR2xvYmFsOwogCiAvKiBtYWNybyBmb3IgZmV0Y2hpbmcgdGhlIFBsYW4gYXNz b2NpYXRlZCB3aXRoIGEgU3ViUGxhbiBub2RlICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9w YXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggNDkxMzQ3 OTcwYTIuLjNiYzEwYWFiMzNmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0yNjIsNiArMjYyLDcgQEAg UEdfS0VZV09SRCgibGVhZGluZyIsIExFQURJTkcsIFJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFC RUwpCiBQR19LRVlXT1JEKCJsZWFrcHJvb2YiLCBMRUFLUFJPT0YsIFVOUkVTRVJWRURfS0VZV09S RCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoImxlYXN0IiwgTEVBU1QsIENPTF9OQU1FX0tFWVdP UkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsZWZ0IiwgTEVGVCwgVFlQRV9GVU5DX05BTUVf S0VZV09SRCwgQkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoImxldCIsIExFVCwgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGV2ZWwiLCBMRVZFTCwgVU5SRVNFUlZF RF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGlrZSIsIExJS0UsIFRZUEVfRlVO Q19OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsaW1pdCIsIExJTUlULCBS RVNFUlZFRF9LRVlXT1JELCBBU19MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNl ci9wYXJzZV9ub2RlLmggYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCmluZGV4IDAw ZDc3YTFhYmM0Li43ZjBkNWZiYjFiMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3Bh cnNlX25vZGUuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCkBAIC04NCw2 ICs4NCw3IEBAIHR5cGVkZWYgZW51bSBQYXJzZUV4cHJLaW5kCiAJRVhQUl9LSU5EX0dFTkVSQVRF RF9DT0xVTU4sIC8qIGdlbmVyYXRpb24gZXhwcmVzc2lvbiBmb3IgYSBjb2x1bW4gKi8KIAlFWFBS X0tJTkRfQ1lDTEVfTUFSSywJCS8qIGN5Y2xlIG1hcmsgdmFsdWUgKi8KIAlFWFBSX0tJTkRfUFJP UEdSQVBIX1BST1BFUlRZLAkvKiBkZXJpdmVkIHByb3BlcnR5IGV4cHJlc3Npb24gKi8KKwlFWFBS X0tJTkRfTEVUX1RBUkdFVCwJCS8qIG9ubHkgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KIH0gUGFyc2VF eHByS2luZDsKIAogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaCBi L3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oCmluZGV4IDM1MjI5YTE2YWRkLi41ZmY1ODZl MTRlZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKKysrIGIvc3Jj L2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKQEAgLTE4OCw2ICsxODgsNyBAQCBQR19DTURUQUco Q01EVEFHX0dSQU5ULCAiR1JBTlQiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01E VEFHX0dSQU5UX1JPTEUsICJHUkFOVCBST0xFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfSU1QT1JUX0ZPUkVJR05fU0NIRU1BLCAiSU1QT1JUIEZPUkVJR04gU0NIRU1B IiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19JTlNFUlQsICJJTlNFUlQi LCBmYWxzZSwgZmFsc2UsIHRydWUpCitQR19DTURUQUcoQ01EVEFHX0xFVCwgIkxFVCIsIGZhbHNl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0xJU1RFTiwgIkxJU1RFTiIsIGZhbHNl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0xPQUQsICJMT0FEIiwgZmFsc2UsIGZh bHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfTE9DS19UQUJMRSwgIkxPQ0sgVEFCTEUiLCBm YWxzZSwgZmFsc2UsIGZhbHNlKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z ZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CmluZGV4IDE1MTliZjcyM2UwLi41OTk3NTFlYzVjOCAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19k bWwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNf ZG1sLm91dApAQCAtMTMzLDMgKzEzMywxNTkgQEAgUkVTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3Nj YW5fc2l6ZTsKIFJFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7CiBEUk9QIFRB QkxFIHRlc3R2YXJfdGVzdHRhYjsKIERST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKK0NSRUFURSBU RU1QIFZBUklBQkxFIHRlbXBfdmFyMDMgQVMgbnVtZXJpYzsKKy0tIExFVCBzdG10IGlzIG5vdCBh bGxvd2VkIGluc2lkZSBDVEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VM RUNUICogRlJPTSB4OworRVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVhciAiTEVUIgorTElO RSAxOiBXSVRIIHggQVMgKExFVCAgdGVtcF92YXIwMyA9IDMuMTQpIFNFTEVDVCAqIEZST00geDsK KyAgICAgICAgICAgICAgICAgICBeCistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBl eGFjdGx5IG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitT RUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMyk7CisgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLQor ICAgICAgICAgIDEKKygxIHJvdykKKworLS0gc2hvdWxkIGZhaWwKK0xFVCB0ZW1wX3ZhcjAzID0g Z2VuZXJhdGVfc2VyaWVzKDEsMik7CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0 aGFuIG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMCk7CitFUlJP UjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbm8gcm93cworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJ T04gdGVzdHZhcl9zcWwwMShudW1lcmljKQorUkVUVVJOUyB2b2lkIEFTICQkCitMRVQgdGVtcF92 YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ugc3FsOworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04g dGVzdHZhcl9zcWwwMigpCitSRVRVUk5TIG51bWVyaWMgQVMgJCQKK1NFTEVDVCBWQVJJQUJMRSh0 ZW1wX3ZhcjAzKTsKKyQkIExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAxKDMuMTQp OworIHRlc3R2YXJfc3FsMDEgCistLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNU IHRlc3R2YXJfc3FsMDIoKSwgVkFSSUFCTEUodGVtcF92YXIwMyk7CisgdGVzdHZhcl9zcWwwMiB8 IHRlbXBfdmFyMDMgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgICAgICAgICAgMy4x NCB8ICAgICAgIDMuMTQKKygxIHJvdykKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVz dHZhcl9wbCh2YXJjaGFyKQorUkVUVVJOUyB2YXJjaGFyIEFTICQkCitCRUdJTgorICBMRVQgdGVt cF92YXIwMyA9ICQxOjpudW1lcmljOworICBSRVRVUk4gVkFSSUFCTEUodGVtcF92YXIwMyk7CitF TkQKKyQkIExBTkdVQUdFIHBscGdzcWwgU0VDVVJJVFkgREVGSU5FUjsKK1NFTEVDVCB0ZXN0dmFy X3BsKCczLjE0Jyk7CisgdGVzdHZhcl9wbCAKKy0tLS0tLS0tLS0tLQorIDMuMTQKKygxIHJvdykK KworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAzOworU0VUIHBsYW5fY2FjaGVfbW9kZSB0byBmb3Jj ZV9nZW5lcmljX3BsYW47CistLSBzaG91bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVzdHZhcl9zcWww MSgzLjE0KTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBl eGlzdAorQ09OVEVYVDogIFNRTCBmdW5jdGlvbiAidGVzdHZhcl9zcWwwMSIgZHVyaW5nIGlubGlu aW5nCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VSUk9S OiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBleGlzdAorU0VMRUNUIHRl c3R2YXJfcGwoJzMuMTQxNTkyJyk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFy MDMiIGRvZXNuJ3QgZXhpc3QKK0NPTlRFWFQ6ICBTUUwgc3RhdGVtZW50ICJMRVQgdGVtcF92YXIw MyA9ICQxOjpudW1lcmljIgorUEwvcGdTUUwgZnVuY3Rpb24gdGVzdHZhcl9wbChjaGFyYWN0ZXIg dmFyeWluZykgbGluZSAzIGF0IFNRTCBzdGF0ZW1lbnQKKy0tIGNhbiB3b3JrIGFnYWluIGlmIHdl IGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1l cmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CisgdGVzdHZhcl9zcWwwMSAKKy0tLS0t LS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJM RSh0ZW1wX3ZhcjAzKTsKKyB0ZXN0dmFyX3NxbDAyIHwgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyAgICAgICAgICAzLjE0IHwgICAgICAgMy4xNAorKDEgcm93KQor CitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0t LS0tCisgMy4xNDE1OTIKKygxIHJvdykKKworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3Zh cmlhYmxlX3Rlc3Rfcm9sZV8wNDsKK1NFVCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90 ZXN0X3JvbGVfMDQ7CistLSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7 CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlIHRlbXBfdmFy MDMKK0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsMDEiIHN0YXRlbWVudCAxCist LSBzaG91bGQgYmUgb2sgKHNlY3VyaXR5IGRlZmluZXIpCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4x NDE1OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNDE1OTIKKygxIHJvdykK KworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1l cmljKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMigpOworRFJPUCBGVU5DVElPTiB0ZXN0 dmFyX3BsKHZhcmNoYXIpOworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0 X3JvbGVfMDQ7CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CitTRVQgcGxhbl9jYWNoZV9tb2Rl IFRPIERFRkFVTFQ7CistLSB0ZXN0IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29sCitDUkVBVEUgVEVN UCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0gJDEgXGJpbmQg MTAgXGcKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsKKyB0ZW1wX3ZhcjA0IAorLS0tLS0t LS0tLS0tCisgICAgICAgICAxMAorKDEgcm93KQorCitMRVQgdGVtcF92YXIwNCA9ICQxIFxwYXJz ZSBsZXRwcworXGJpbmRfbmFtZWQgbGV0cHMgMTAwIFxnCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92 YXIwNCk7CisgdGVtcF92YXIwNCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAxMDAKKygxIHJvdykK KworXGNsb3NlX3ByZXBhcmVkIGxldHBzCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CistLSBv cmlnaW5hbCB2YWx1ZSBzaG91bGQgbm90IGJlIGNoYW5nZWQgd2hlbiBMRVQgZmFpbHMKK0NSRUFU RSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDQgQVMgbnVtZXJpYzsKK0xFVCB0ZW1wX3ZhcjA0ID0g NDI7CitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjogdG9v IG1hbnkgcm93CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFuIG9uZSByb3cK K1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKyB0ZW1wX3ZhcjA0 IAorLS0tLS0tLS0tLS0tCisgICAgICAgICA0MgorKDEgcm93KQorCitEUk9QIFZBUklBQkxFIHRl bXBfdmFyMDQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKK0xFVCB0 ZW1wX3ZhcjA0ID0gNDI7CitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAt LSBFUlJPUjogdG9vIG1hbnkgcm93CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0 aGFuIG9uZSByb3cKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIK KyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAgICA0MgorKDEgcm93KQorCitEUk9Q IFZBUklBQkxFIHRlbXBfdmFyMDQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFT IGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7IC0tIEVSUk9SOiB0 b28gbWFueSByb3cKK0VSUk9SOiAgZXhwcmVzc2lvbiByZXR1cm5lZCBtb3JlIHRoYW4gb25lIHJv dworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOyAtLSBleHBlY3RlZCBOVUxMCisgdGVtcF92 YXIwNCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworRFJPUCBWQVJJQUJM RSB0ZW1wX3ZhcjA0OwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92 YXJpYWJsZXNfZG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVz X2RtbC5zcWwKaW5kZXggYmY1NmIxOTQ2N2IuLmZjYjQyOWY2YmJmIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKQEAgLTExOCwzICsxMTgsMTE2 IEBAIFJFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7CiAKIERST1AgVEFCTEUg dGVzdHZhcl90ZXN0dGFiOwogRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOworCitDUkVBVEUgVEVN UCBWQVJJQUJMRSB0ZW1wX3ZhcjAzIEFTIG51bWVyaWM7CisKKy0tIExFVCBzdG10IGlzIG5vdCBh bGxvd2VkIGluc2lkZSBDVEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VM RUNUICogRlJPTSB4OworCistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBleGFjdGx5 IG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitTRUxFQ1Qg VkFSSUFCTEUodGVtcF92YXIwMyk7CisKKy0tIHNob3VsZCBmYWlsCitMRVQgdGVtcF92YXIwMyA9 IGdlbmVyYXRlX3NlcmllcygxLDIpOworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMo MSwwKTsKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmlj KQorUkVUVVJOUyB2b2lkIEFTICQkCitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ug c3FsOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NxbDAyKCkKK1JFVFVS TlMgbnVtZXJpYyBBUyAkJAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDMpOworJCQgTEFOR1VB R0Ugc3FsOworCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3Nx bDAyKCksIFZBUklBQkxFKHRlbXBfdmFyMDMpOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElP TiB0ZXN0dmFyX3BsKHZhcmNoYXIpCitSRVRVUk5TIHZhcmNoYXIgQVMgJCQKK0JFR0lOCisgIExF VCB0ZW1wX3ZhcjAzID0gJDE6Om51bWVyaWM7CisgIFJFVFVSTiBWQVJJQUJMRSh0ZW1wX3ZhcjAz KTsKK0VORAorJCQgTEFOR1VBR0UgcGxwZ3NxbCBTRUNVUklUWSBERUZJTkVSOworCitTRUxFQ1Qg dGVzdHZhcl9wbCgnMy4xNCcpOworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CisKK1NFVCBw bGFuX2NhY2hlX21vZGUgdG8gZm9yY2VfZ2VuZXJpY19wbGFuOworCistLSBzaG91bGQgbm90IGNy YXNoCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCks IFZBUklBQkxFKHRlbXBfdmFyMDMpOworU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQxNTkyJyk7CisK Ky0tIGNhbiB3b3JrIGFnYWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRFTVAgVkFS SUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7 CitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK1NFTEVDVCB0 ZXN0dmFyX3BsKCczLjE0MTU5MicpOworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFy aWFibGVfdGVzdF9yb2xlXzA0OworCitTRVQgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVf dGVzdF9yb2xlXzA0OworCistLSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4x NCk7CisKKy0tIHNob3VsZCBiZSBvayAoc2VjdXJpdHkgZGVmaW5lcikKK1NFTEVDVCB0ZXN0dmFy X3BsKCczLjE0MTU5MicpOworCitTRVQgUk9MRSBUTyBERUZBVUxUOworCitEUk9QIEZVTkNUSU9O IHRlc3R2YXJfc3FsMDEobnVtZXJpYyk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsMDIoKTsK K0RST1AgRlVOQ1RJT04gdGVzdHZhcl9wbCh2YXJjaGFyKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nf c2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIw MzsKKworU0VUIHBsYW5fY2FjaGVfbW9kZSBUTyBERUZBVUxUOworCistLSB0ZXN0IGV4dGVuZGVk IHF1ZXJ5IHByb3RvY29sCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsK KworTEVUIHRlbXBfdmFyMDQgPSAkMSBcYmluZCAxMCBcZworU0VMRUNUIFZBUklBQkxFKHRlbXBf dmFyMDQpOworCitMRVQgdGVtcF92YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJpbmRfbmFtZWQg bGV0cHMgMTAwIFxnCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7CisKK1xjbG9zZV9wcmVw YXJlZCBsZXRwcworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CisKKy0tIG9yaWdpbmFsIHZh bHVlIHNob3VsZCBub3QgYmUgY2hhbmdlZCB3aGVuIExFVCBmYWlscworQ1JFQVRFIFRFTVAgVkFS SUFCTEUgdGVtcF92YXIwNCBBUyBudW1lcmljOworCitMRVQgdGVtcF92YXIwNCA9IDQyOworCitM RVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjogdG9vIG1hbnkg cm93CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7IC0tIGV4cGVjdGVkIDQyCisKK0RST1Ag VkFSSUFCTEUgdGVtcF92YXIwNDsKKworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwNCBB UyBpbnQ7CisKK0xFVCB0ZW1wX3ZhcjA0ID0gNDI7CisKK0xFVCB0ZW1wX3ZhcjA0ID0gZ2VuZXJh dGVfc2VyaWVzKDEsMik7IC0tIEVSUk9SOiB0b28gbWFueSByb3cKK1NFTEVDVCBWQVJJQUJMRSh0 ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0Owor CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKKworTEVUIHRlbXBfdmFy MDQgPSBnZW5lcmF0ZV9zZXJpZXMoMSwyKTsgLS0gRVJST1I6IHRvbyBtYW55IHJvdworU0VMRUNU IFZBUklBQkxFKHRlbXBfdmFyMDQpOyAtLSBleHBlY3RlZCBOVUxMCisKK0RST1AgVkFSSUFCTEUg dGVtcF92YXIwNDsKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggMjIxOThkZmFmZWYuLjg1 YmQ0MjYyZjNjIDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAor KysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtMTU5OCw2ICsxNTk4LDcg QEAgTGFyZ2VPYmplY3REZXNjCiBMYXRjaAogTGF1bmNoZXJMYXN0U3RhcnRUaW1lc0VudHJ5CiBM ZXJwRnVuYworTGV0U3RtdAogTGV4RGVzY3IKIExleGVtZUVudHJ5CiBMZXhlbWVIYXNoS2V5Ci0t IAoyLjUzLjAKCg== --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0007-DISCARD-TEMP.patch" Content-Disposition: attachment; filename="v20260403-2-0007-DISCARD-TEMP.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja331g6 RnJvbSBlZmMxYjBiOTc4NzgxZWViY2RmOTJkMWQxYTg4MTE5YzhhYTQ5YzBiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDIwOjA0OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNy8xMV0gRElTQ0FSRCBURU1QCgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5z Z21sICAgICAgICAgICAgICAgICB8ICAzICsrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvZGlzY2Fy ZC5jICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmMgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9j b21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArKwogLi4uL2V4cGVjdGVkL3Nl c3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDcgKysrKysrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgMTAgKysrKysrKysrKwogNiBmaWxl cyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9kaXNjYXJkLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQu c2dtbAppbmRleCBiZjQ0YzUyM2NhYy4uMjcwMGY3YjdjZDAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9yZWYvZGlzY2FyZC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5zZ21s CkBAIC03MCw3ICs3MCw4IEBAIERJU0NBUkQgeyBBTEwgfCBQTEFOUyB8IFNFUVVFTkNFUyB8IFRF TVBPUkFSWSB8IFRFTVAgfQogICAgIDx0ZXJtPjxsaXRlcmFsPlRFTVBPUkFSWTwvbGl0ZXJhbD4g b3IgPGxpdGVyYWw+VEVNUDwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgogICAgICA8 cGFyYT4KLSAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGN1 cnJlbnQgc2Vzc2lvbi4KKyAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGFuZCB0ZW1w b3Jhcnkgc2Vzc2lvbiB2YXJpYWJsZXMgY3JlYXRlZCBpbgorICAgICAgdGhlIGN1cnJlbnQgc2Vz c2lvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL2Rpc2NhcmQuYwppbmRleCAxN2QxNzJkZjA3Ni4uMGEzM2M5NDlmY2UgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9kaXNjYXJkLmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9k aXNjYXJkLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvcHJlcGFyZS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL3NlcXVlbmNlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgog I2luY2x1ZGUgInN0b3JhZ2UvbG9jay5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1 ZGUgInV0aWxzL3BvcnRhbC5oIgpAQCAtNDcsNiArNDgsNyBAQCBEaXNjYXJkQ29tbWFuZChEaXNj YXJkU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCiAJCWNhc2UgRElTQ0FSRF9URU1QOgog CQkJUmVzZXRUZW1wVGFibGVOYW1lc3BhY2UoKTsKKwkJCVJlc2V0U2Vzc2lvblZhcmlhYmxlcygp OwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTc2LDQgKzc4LDUgQEAgRGlzY2FyZEFsbChi b29sIGlzVG9wTGV2ZWwpCiAJUmVzZXRQbGFuQ2FjaGUoKTsKIAlSZXNldFRlbXBUYWJsZU5hbWVz cGFjZSgpOwogCVJlc2V0U2VxdWVuY2VDYWNoZXMoKTsKKwlSZXNldFNlc3Npb25WYXJpYWJsZXMo KTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUu YyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwppbmRleCBhYmNiMGJi NTMxYS4uYzc1Zjg1MWJhZDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmMKQEAgLTQxMSwzICs0MTEsMjMgQEAgRXhlY3V0ZUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRl LAogCiAJUG9wQWN0aXZlU25hcHNob3QoKTsKIH0KKworLyoKKyAqIEZhc3QgZHJvcCBvZiB0aGUg Y29tcGxldGUgY29udGVudCBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZXMgaGFzaCB0YWJsZSwgYW5k CisgKiBjbGVhbnVwIG9mIGFueSBsaXN0IHRoYXQgd291bGRuJ3QgYmUgcmVsZXZhbnQgYW55bW9y ZS4KKyAqIFRoaXMgaXMgdXNlZCBieSB0aGUgRElTQ0FSRCBURU1QLgorICovCit2b2lkCitSZXNl dFNlc3Npb25WYXJpYWJsZXModm9pZCkKK3sKKwkvKiBkZXN0cm95IGhhc2ggdGFibGUgYW5kIHJl c2V0IHJlbGF0ZWQgbWVtb3J5IGNvbnRleHQgKi8KKwlpZiAoc2Vzc2lvbnZhcnMpCisJeworCQlo YXNoX2Rlc3Ryb3koc2Vzc2lvbnZhcnMpOworCQlzZXNzaW9udmFycyA9IE5VTEw7CisJfQorCisJ LyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHNlc3Npb24gdmFyaWFibGVzICovCisJaWYg KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0gTlVMTCkKKwkJTWVtb3J5Q29udGV4dFJlc2V0KFNW YXJpYWJsZU1lbW9yeUNvbnRleHQpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oCmluZGV4IGM0YjRkOWU2ODMyLi5jYzFhYTdjZTIzYiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtMzcsNCArMzcsNiBAQCBleHRlcm4gdm9pZCBnZXRf c2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIGV4dGVy biB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwg UGFyYW1MaXN0SW5mbyBwYXJhbXMsCiAJCQkJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVu diwgUXVlcnlDb21wbGV0aW9uICpxYyk7CiAKK2V4dGVybiB2b2lkIFJlc2V0U2Vzc2lvblZhcmlh Ymxlcyh2b2lkKTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggNDVjMmQyN2FiNDQuLmMzNmZlYmQ4OTRl IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVz X2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwub3V0CkBAIC00MSwzICs0MSwxMCBAQCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9MRSBU TyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVf MDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKK0NS RUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGZhaWwKK0NSRUFURSBURU1Q IFZBUklBQkxFIHggQVMgaW50OworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlICJ4IiBhbHJlYWR5 IGV4aXN0cworRElTQ0FSRCBURU1QOworLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBWQVJJ QUJMRSB4IEFTIGludDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwuc3FsCmluZGV4IDM0ZjM0ZGQ4OThmLi43ZmQ3MzlkNjY3NyAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCkBAIC01NCwzICs1NCwxMyBA QCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9MRSBUTyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNz aW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKKworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBp bnQ7CisKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKwor RElTQ0FSRCBURU1QOworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIHgg QVMgaW50OwotLSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Disposition: attachment; filename="v20260403-2-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja331p7 RnJvbSBhZmY3YjhmNGNkOGUxODc5MWZiNDE0MGRkYjhjOTNhYTE4ZjViNzIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMDY6MTc6NTQgKzAxMDAKU3ViamVjdDogW1BB VENIIDA4LzExXSBzdXBwb3J0IENSRUFURSBJRiBOT1QgRVhJU1RTIGFuZCBEUk9QIElGIEVYSVNU UwoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sICAgICAgICAgfCAx MiArKysrLQogZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwgICAgICAgICAgIHwg MTIgKysrKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8 IDQ2ICsrKysrKysrKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAg ICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwub3V0ICAgICAgICB8ICA2ICsrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwgICAgIHwgIDYgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25z KCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApp bmRleCAxMzE1YjEyNDhjNy4uZGVmMzY4ZmMyMzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFy aWFibGUuc2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAog IDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkg fSBWQVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBs YWNlYWJsZT4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSBbIElGIE5PVCBF WElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNl YWJsZT4KIDwvc3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KICA8cmVmc2VjdDE+CkBAIC02 OSw2ICs2OSwxNiBAQCBDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFCTEUgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhYwogCiAgIDx2YXJpYWJsZWxpc3Q+ CiAKKyAgIDx2YXJsaXN0ZW50cnkgIGlkPSJzcWwtY3JlYXRldmFyaWFibGUtaWYtbm90LWV4aXN0 cyI+CisgICAgPHRlcm0+PGxpdGVyYWw+SUYgTk9UIEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBp ZiB0aGUgbmFtZSBhbHJlYWR5IGV4aXN0cy4gQSBub3RpY2UgaXMgaXNzdWVkIGluCisgICAgICB0 aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisKICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV2YXJpYWJsZS1uYW1lIj4KICAg ICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZHJv cF92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKaW5k ZXggZGVkZTQyZTRmZmIuLjVkZTZhNzM3NDkzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2Ryb3BfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUu c2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogIDxyZWZz eW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLURST1AgVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgorRFJPUCBWQVJJQUJMRSBbIElGIEVYSVNU UyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KIDwv c3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtNDIsNiArNDIsMTYgQEAgRFJPUCBW QVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ CiAgPHJlZnNlY3QxPgogICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CiAgIDx2YXJpYWJsZWxp c3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPklGIEVYSVNUUzwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0 aHJvdyBhbiBlcnJvciBpZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBkb2VzIG5vdCBleGlzdC4gQSBu b3RpY2UgaXMKKyAgICAgIGlzc3VlZCBpbiB0aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8 L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnk+CiAgICAg PHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmMKaW5kZXggYzc1Zjg1MWJhZDIuLjg2MWE5MzE3Njg2IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5jCkBAIC05Myw3ICs5Myw3IEBAIGNyZWF0ZV9zZXNzaW9udmFyc19o YXNodGFibGVzKHZvaWQpCiAgKiBSZXR1cm5zIGVudHJ5IG9mIHNlc3Npb24gdmFyaWFibGUgc3Bl Y2lmaWVkIGJ5IG5hbWUKICAqLwogc3RhdGljIFNWYXJpYWJsZQotc2VhcmNoX3ZhcmlhYmxlKGNo YXIgKnZhcm5hbWUpCitzZWFyY2hfdmFyaWFibGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5n X29rKQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBAIC0xMDMsNyArMTAzLDcgQEAgc2VhcmNoX3Zh cmlhYmxlKGNoYXIgKnZhcm5hbWUpCiAJc3ZhciA9IChTVmFyaWFibGUpIGhhc2hfc2VhcmNoKHNl c3Npb252YXJzLCB2YXJuYW1lLAogCQkJCQkJCQkgICBIQVNIX0ZJTkQsIE5VTEwpOwogCi0JaWYg KCFzdmFyKQorCWlmICghc3ZhciAmJiAhbWlzc2luZ19vaykKIAkJZXJlcG9ydChFUlJPUiwKIAkJ CQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAogCQkJCSBlcnJtc2coInNlc3Np b24gdmFyaWFibGUgXCIlc1wiIGRvZXNuJ3QgZXhpc3QiLApAQCAtMTI1LDcgKzEyNSw3IEBAIGdl dF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2NvbGxpZChjaGFyICp2YXJuYW1lLAogewog CVNWYXJpYWJsZQlzdmFyOwogCi0Jc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKwlz dmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUsIGZhbHNlKTsKIAogCS8qIG9ubHkgb3duZXIg Y2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJKnR5cGlkID0gc3Zhci0+dmFydHlwZTsK QEAgLTE0NSw3ICsxNDUsNyBAQCBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIg KnZhcm5hbWUsCiAJU1ZhcmlhYmxlCXN2YXI7CiAJRGF0dW0JCXJlc3VsdDsKIAotCXN2YXIgPSBz ZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1l LCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBpZCB8fCBzdmFyLT52YXJ0eXBt b2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMTgyLDcgKzE4Miw3IEBAIFNldFNl c3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwKIHsKIAlTVmFyaWFibGUJ c3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJj aF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBp ZCB8fCBzdmFyLT52YXJ0eXBtb2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMjc4 LDEwICsyNzgsMjEgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVT ZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAogCWlm IChmb3VuZCkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9PQkpFQ1QpLAotCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkg ZXhpc3RzIiwKLQkJCQkJCXN0bXQtPm5hbWUpKSk7CisJeworCQlpZiAoc3RtdC0+aWZfbm90X2V4 aXN0cykKKwkJeworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQ TElDQVRFX09CSkVDVCksCisJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFs cmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJCXJldHVy bjsKKwkJfQorCQllbHNlCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIFwiJXNc IiBhbHJlYWR5IGV4aXN0cyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwl9CiAKIAluYW1lc3Ry Y3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKIAlzdmFyLT52YXJ0eXBlID0gdHlwZWlk OwpAQCAtMjk5LDcgKzMxMCw3IEBAIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg Q3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKICAq Lwogdm9pZAotRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCitEcm9wVmFyaWFibGVC eU5hbWUoRHJvcFNlc3Npb25WYXJTdG10ICpzdG10KQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBA IC0zMTEsMjAgKzMyMiwyNyBAQCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSkKIAlQ cmV2ZW50Q29tbWFuZElmUGFyYWxsZWxNb2RlKCJEUk9QIFZBUklBQkxFIik7CiAJUHJldmVudENv bW1hbmREdXJpbmdSZWNvdmVyeSgiRFJPUCBWQVJJQUJMRSIpOwogCi0Jc3ZhciA9IHNlYXJjaF92 YXJpYWJsZSh2YXJuYW1lKTsKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHN0bXQtPm5hbWUsIHN0 bXQtPm1pc3Npbmdfb2spOworCWlmICghc3ZhcikKKwl7CisJCWVyZXBvcnQoTk9USUNFLAorCQkJ CShlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRvZXMgbm90IGV4aXN0cywgc2tpcHBp bmciLAorCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJcmV0dXJuOworCX0KIAogCS8qIG9ubHkgb3du ZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJaWYgKHN2YXItPnZhcm93bmVyICE9 IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQkoZXJy Y29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAogCQkJCSBlcnJtc2coIm11c3Qg YmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSAlcyIsCi0JCQkJCQl2YXJuYW1lKSkpOworCQkJ CQkJc3RtdC0+bmFtZSkpKTsKIAogCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlzbnVs bCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7CiAKIAlpZiAoaGFzaF9z ZWFyY2goc2Vzc2lvbnZhcnMsCi0JCQkJCSAgIHZhcm5hbWUsCisJCQkJCSAgIHN0bXQtPm5hbWUs CiAJCQkJCSAgIEhBU0hfUkVNT1ZFLAogCQkJCQkgICBOVUxMKSA9PSBOVUxMKQogCQllbG9nKEVS Uk9SLCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKQEAgLTM0OCw3ICszNjYsNyBAQCBFeGVjdXRl TGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJY2hhcgkgICAqdmFybmFtZSA9IHF1ZXJ5LT5y ZXN1bHRWYXJpYWJsZTsKIAlTVmFyaWFibGUJc3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFi bGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAK IAkvKiBvbmx5IG93bmVyIGNhbiBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLwogCWlmIChzdmFy LT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkpCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRl eCA5MDgyMWM2MjA4Ny4uNDI1N2YxZTAyNzQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNTQ0OCw3ICs1NDQ4 LDcgQEAgY3JlYXRlX2V4dGVuc2lvbl9vcHRfaXRlbToKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog ICoKICAqCQlRVUVSWSA6Ci0gKgkJCQlDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFC TEUgdmFybmFtZSBbQVNdIHR5cGUKKyAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBW QVJJQUJMRSBbSUYgTk9UIEVYSVNUUyBdIHZhcm5hbWUgW0FTXSB0eXBlCiAgKgogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCkBAIC01NDY1LDE0ICs1NDY1LDMxIEBAIENyZWF0ZVNlc3Npb25WYXJT dG10OgogCiAJCQkJCW4tPm5hbWUgPSAkNDsKIAkJCQkJbi0+dHlwZU5hbWUgPSAkNjsKKwkJCQkJ bi0+aWZfbm90X2V4aXN0cyA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQor CQkgIHwgQ1JFQVRFIE9wdFRlbXAgVkFSSUFCTEUgSUZfUCBOT1QgRVhJU1RTIENvbElkIG9wdF9h cyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRlU2Vzc2lvblZhclN0bXQgKm4gPSBtYWtlTm9k ZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJCQkJaWYgKCQyICE9IFJFTFBFUlNJU1RFTkNF X1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNnKCJvbmx5IHRlbXBvcmFsIHNlc3Np b24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwKKwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9u KEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNzsKKwkJCQkJbi0+dHlwZU5hbWUgPSAkOTsKKwkJ CQkJbi0+aWZfbm90X2V4aXN0cyA9IHRydWU7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9 CisKIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAgKgkJUVVFUlkgOgotICoJCQkJ RFJPUCBWQVJJQUJMRSB2YXJuYW1lCisgKgkJCQlEUk9QIFZBUklBQkxFIFsgSUYgRVhJU1RTIF0g dmFybmFtZQogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtNTQ4Miw4ICs1NDk5LDE4 IEBAIERyb3BTZXNzaW9uVmFyU3RtdDoKIAkJCQkJRHJvcFNlc3Npb25WYXJTdG10ICpuID0gbWFr ZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKIAogCQkJCQluLT5uYW1lID0gJDM7CisJCQkJCW4t Pm1pc3Npbmdfb2sgPSBmYWxzZTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwg RFJPUCBWQVJJQUJMRSBJRl9QIEVYSVNUUyBDb2xJZAorCQkJCXsKKwkJCQkJRHJvcFNlc3Npb25W YXJTdG10ICpuID0gbWFrZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKKworCQkJCQluLT5uYW1l ID0gJDU7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSB0cnVlOwogCQkJCQkkJCA9IChOb2RlICopIG47 CiAJCQkJfQorCiAJCTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4 IGZkYTRlMDE5YjEzLi41YzM0YThlOTVhMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTEwNzYsNyArMTA3 Niw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAogCQlj YXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgogCQkJLyogTm8gZXZlbnQgdHJpZ2dlcnMgZm9yIGNh dGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlcyAqLwotCQkJRHJvcFZhcmlhYmxlQnlOYW1lKCgo RHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSktPm5hbWUpOworCQkJRHJvcFZhcmlhYmxl QnlOYW1lKChEcm9wU2Vzc2lvblZhclN0bXQgKikgcGFyc2V0cmVlKTsKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVF9MZXRTdG10OgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IGNjMWFhN2NlMjNiLi4zZjA3YWU1NWFhYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgInRjb3AvY21kdGFnLmgi CiAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRl U2Vzc2lvblZhclN0bXQgKnN0bXQpOwotZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNo YXIgKnZhcm5hbWUpOworZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9u VmFyU3RtdCAqc3RtdCk7CiAKIGV4dGVybiBEYXR1bSBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlw ZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLCBib29sICppc251 bGwpOwogZXh0ZXJuIHZvaWQgU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2 YXJuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3Jj L2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IDdkNzdhMzY4YjA2Li4xZWZkMGEyMmFk NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzcwMSw2ICszNzAxLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgQ3JlYXRlU2Vzc2lvblZhclN0bXQKIAlOb2RlVGFnCQl0eXBlOwogCWNoYXIJICAgKm5h bWU7CQkvKiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlICovCiAJVHlwZU5hbWUgICAqdHlwZU5hbWU7 CQkvKiB0aGUgdHlwZSBvZiB2YXJpYWJsZSAqLworCWJvb2wJCWlmX25vdF9leGlzdHM7CS8qIGp1 c3QgZG8gbm90aGluZyBpZiB2YXJpYWJsZSBhbHJlYWR5IGV4aXN0cz8gKi8KIH0gQ3JlYXRlU2Vz c2lvblZhclN0bXQ7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM3MTAsNyArMzcx MSw4IEBAIHR5cGVkZWYgc3RydWN0IENyZWF0ZVNlc3Npb25WYXJTdG10CiB0eXBlZGVmIHN0cnVj dCBEcm9wU2Vzc2lvblZhclN0bXQKIHsKIAlOb2RlVGFnCQl0eXBlOwotCWNoYXIJICAgKm5hbWU7 CisJY2hhcgkgICAqbmFtZTsJCQkvKiB0aGUgdmFyaWFibGUgbmFtZSB0byBkcm9wICovCisJYm9v bAkJbWlzc2luZ19vazsJCS8qIHNraXAgZXJyb3Igb2YgdmFyaWFibGUgaXMgbWlzc2luZyAqLwog fSBEcm9wU2Vzc2lvblZhclN0bXQ7CiAKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CmluZGV4IGMzNmZlYmQ4OTRlLi45ZjViMDg4 ZGU3MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kZGwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJp YWJsZXNfZGRsLm91dApAQCAtNDgsMyArNDgsOSBAQCBFUlJPUjogIHNlc3Npb24gdmFyaWFibGUg IngiIGFscmVhZHkgZXhpc3RzCiBESVNDQVJEIFRFTVA7CiAtLSBzaG91bGQgYmUgb2sKIENSRUFU RSBURU1QIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBW QVJJQUJMRSBJRiBOT1QgRVhJU1RTIHggQVMgaW50OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJs ZSAieCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nCitEUk9QIFZBUklBQkxFIHg7CitEUk9QIFZB UklBQkxFIElGIEVYSVNUUyB4OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgZG9lcyBu b3QgZXhpc3RzLCBza2lwcGluZwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwKaW5kZXggN2ZkNzM5ZDY2NzcuLjYwZjc4NjcxZTNiIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTY0LDMgKzY0 LDkgQEAgRElTQ0FSRCBURU1QOwogCiAtLSBzaG91bGQgYmUgb2sKIENSRUFURSBURU1QIFZBUklB QkxFIHggQVMgaW50OworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIElG IE5PVCBFWElTVFMgeCBBUyBpbnQ7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFCTEUg SUYgRVhJU1RTIHg7Ci0tIAoyLjUzLjAKCg== --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Disposition: attachment; filename="v20260403-2-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja331y8 RnJvbSA1NjYzMDE2MDkwNGFiODI5ZjVlMWZiMjQxYzUyMWRiZjU5ZmQyMWMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMTg6NDk6MDYgKzAxMDAKU3ViamVjdDogW1BB VENIIDA5LzExXSB1c2UgbmFtZXMgb2YgY3VycmVudGx5IHVzZWQgdGVtcCB2YXJpYWJsZXMgZm9y IHRhYgogY29tcGxldGUgb2YgRFJPUCBWQVJJQUJMRSwgTEVUIGFuZCBWQVJJQUJMRSgpCgotLS0K IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8IDM3ICsrKysr KysrKysrKysrKysrKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAg ICAgICB8IDE3ICsrKysrKysrKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAg ICAgICAgICAgIHwgIDUgKysrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dCAgICAgICAgfCAxNiArKysrKysrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVz X2RkbC5zcWwgICAgIHwgIDggKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCmluZGV4IDg2MWE5MzE3Njg2 Li44MjQ0MTBhMzIzNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpA QCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIK ICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL3N2YXJp YWJsZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUgIm1pc2NhZG1p bi5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZV90eXBlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9y ZXdyaXRlSGFuZGxlci5oIgpAQCAtMjksNiArMzAsNyBAQAogI2luY2x1ZGUgInV0aWxzL2xzeXNj YWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvc25h cG1nci5oIgorI2luY2x1ZGUgInV0aWxzL3R1cGxlc3RvcmUuaCIKIAogLyoKICAqIFRoZSBzZXNz aW9uIHZhcmlhYmxlcyBhcmUgc3RvcmVkIGluIHRoZSBiYWNrZW5kJ3MgcHJpdmF0ZSBtZW1vcnkg KGRhdGEsCkBAIC00NDksMyArNDUxLDM4IEBAIFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKQog CWlmIChTVmFyaWFibGVNZW1vcnlDb250ZXh0ICE9IE5VTEwpCiAJCU1lbW9yeUNvbnRleHRSZXNl dChTVmFyaWFibGVNZW1vcnlDb250ZXh0KTsKIH0KKworLyoKKyAqIHBnX2dldF90ZW1wb3Jhcnlf c2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMKKyAqCisgKiBSZXR1cm5zIGxpc3Qgb2YgdGVtcG9yYXJ5 IHNlc3Npb24gdmFyaWFibGVzLiBJdCBpcyB1c2VkIGJ5IHBzcWwncworICogdGFiIGNvbXBsZXRl IGZvciBEUk9QIFZBUklBQkxFIGFuZCBMRVQgY29tbWFuZHMuCisgKi8KK0RhdHVtCitwZ19nZXRf dGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJ SW5pdE1hdGVyaWFsaXplZFNSRihmY2luZm8sIE1BVF9TUkZfVVNFX0VYUEVDVEVEX0RFU0MpOwor CisJaWYgKHNlc3Npb252YXJzKQorCXsKKwkJUmV0dXJuU2V0SW5mbyAqcnNpbmZvID0gKFJldHVy blNldEluZm8gKikgZmNpbmZvLT5yZXN1bHRpbmZvOworCQlIQVNIX1NFUV9TVEFUVVMgc3RhdHVz OworCQlTVmFyaWFibGUJc3ZhcjsKKworCQloYXNoX3NlcV9pbml0KCZzdGF0dXMsIHNlc3Npb252 YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlcV9zZWFyY2goJnN0 YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCURhdHVtCQl2YWx1ZXNbMV07CisJCQlib29sCQludWxs c1sxXTsKKworCQkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRleHREYXR1bSgoTmFtZVN0cihzdmFy LT52YXJuYW1lKSkpOworCQkJbnVsbHNbMF0gPSBmYWxzZTsKKworCQkJdHVwbGVzdG9yZV9wdXR2 YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywKKwkJCQkJCQkJIHZhbHVl cywgbnVsbHMpOworCQl9CisJfQorCisJcmV0dXJuIChEYXR1bSkgMDsKK30KZGlmZiAtLWdpdCBh L3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuaW4uYwppbmRleCA2OWYzNDhjMTI5ZS4uYWFmZDIxMzZiNjIgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRl LmluLmMKQEAgLTEyMDgsNiArMTIwOCwxMSBAQCBLZXl3b3Jkc19mb3JfbGlzdF9vZl9vd25lcl9y b2xlcywgIlBVQkxJQyIKICIgIEZST00gcGdfY2F0YWxvZy5wZ190aW1lem9uZV9uYW1lcygpICJc CiAiIFdIRVJFIHBnX2NhdGFsb2cucXVvdGVfbGl0ZXJhbChwZ19jYXRhbG9nLmxvd2VyKG5hbWUp KSBMSUtFIHBnX2NhdGFsb2cubG93ZXIoJyVzJykiCiAKKyNkZWZpbmUgUXVlcnlfZm9yX2xpc3Rf b2ZfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzIFwKKyJTRUxFQ1QgdmFybmFtZSAiXAorIiAg IEZST00gcGdfY2F0YWxvZy5wZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25hbWVz KCkgQVMgdmFybmFtZSAiXAorIiAgV0hFUkUgdmFybmFtZSBMSUtFICclcyciCisKIC8qIFByaXZp bGVnZSBvcHRpb25zIHNoYXJlZCBiZXR3ZWVuIEdSQU5UIGFuZCBSRVZPS0UgKi8KICNkZWZpbmUg UHJpdmlsZWdlX29wdGlvbnNfb2ZfZ3JhbnRfYW5kX3Jldm9rZSBcCiAiU0VMRUNUIiwgIklOU0VS VCIsICJVUERBVEUiLCAiREVMRVRFIiwgIlRSVU5DQVRFIiwgIlJFRkVSRU5DRVMiLCAiVFJJR0dF UiIsIFwKQEAgLTQ1MDYsNiArNDUxMSwxMCBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0 dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJEUk9QIiwgIlRSQU5TRk9STSIsICJGT1IiLCBN YXRjaEFueSwgIkxBTkdVQUdFIiwgTWF0Y2hBbnkpKQogCQlDT01QTEVURV9XSVRIKCJDQVNDQURF IiwgIlJFU1RSSUNUIik7CiAKKwkvKiBEUk9QIFZBUklBQkxFICovCisJZWxzZSBpZiAoTWF0Y2hl cygiRFJPUCIsICJWQVJJQUJMRSIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZKFF1ZXJ5X2Zvcl9s aXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisKIC8qIEVYRUNVVEUgKi8KIAll bHNlIGlmIChNYXRjaGVzKCJFWEVDVVRFIikpCiAJCUNPTVBMRVRFX1dJVEhfUVVFUlkoUXVlcnlf Zm9yX2xpc3Rfb2ZfcHJlcGFyZWRfc3RhdGVtZW50cyk7CkBAIC00OTU1LDYgKzQ5NjQsOCBAQCBt YXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAogLyogTEVUICovCiAJLyogQ29t cGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8KKwllbHNlIGlmIChNYXRjaGVzKCJMRVQi KSkKKwkJQ09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90ZW1wb3Jhcnlfc2Vz c2lvbl92YXJpYWJsZXMpOwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJMRVQiLCBNYXRjaEFueSkp CiAJCUNPTVBMRVRFX1dJVEgoIj0iKTsKIApAQCAtNTU2Niw2ICs1NTc3LDEyIEBAIG1hdGNoX3By ZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQkJQ09NUExFVEVfV0lUSCgiJ3N0YW5kYnlf cmVwbGF5JyIsICInc3RhbmRieV93cml0ZSciLCAiJ3N0YW5kYnlfZmx1c2gnIiwgIidwcmltYXJ5 X2ZsdXNoJyIpOwogCX0KIAorLyoKKyAqIFZBUklBQkxFIGZlbmNlCisgKi8KKwllbHNlIGlmIChU YWlsTWF0Y2hlcygiVkFSSUFCTEUiLCAiKCIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZKFF1ZXJ5 X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisKIC8qIFdJVEggW1JF Q1VSU0lWRV0gKi8KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3By b2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBhY2YxNjI1NGIy MS4uMGIyNGNkZTIwOGIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTI4NjAsNCArMTI4 NjAsOSBAQAogICBwcm9uYW1lID0+ICdoYXNob2lkOGV4dGVuZGVkJywgcHJvcmV0dHlwZSA9PiAn aW50OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQ4IGludDgnLCBwcm9zcmMgPT4gJ2hhc2hvaWQ4 ZXh0ZW5kZWQnIH0sCiAKKyMgU2Vzc2lvbiB2YXJpYWJsZXMgc3VwcG9ydAoreyBvaWQgPT4gJzgw NjgnLCBkZXNjciA9PiAncmV0dXJucyBuYW1lcyBvZiB0ZW1wb3Jhcnkgc2Vzc2lvbiB2YXJpYWJs ZXMnLAorICBwcm9uYW1lID0+ICdwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25h bWVzJywgcHJvcm93cyA9PiAnMTAwMCcsIHByb3JldHNldCA9PiAndCcsCisgIHByb3ZvbGF0aWxl ID0+ICd2JywgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICd0ZXh0JywgcHJvYXJn dHlwZXMgPT4gJycsCisgIHByb3NyYyA9PiAncGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3Zhcmlh Ymxlc19uYW1lcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLm91dAppbmRleCA5ZjViMDg4ZGU3Mi4uNzU4Y2U1ODJmY2EgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRs Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2Rk bC5vdXQKQEAgLTU0LDMgKzU0LDE5IEBAIE5PVElDRTogIHNlc3Npb24gdmFyaWFibGUgIngiIGFs cmVhZHkgZXhpc3RzLCBza2lwcGluZwogRFJPUCBWQVJJQUJMRSB4OwogRFJPUCBWQVJJQUJMRSBJ RiBFWElTVFMgeDsKIE5PVElDRTogIHNlc3Npb24gdmFyaWFibGUgIngiIGRvZXMgbm90IGV4aXN0 cywgc2tpcHBpbmcKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworQ1JFQVRFIFRFTVAg VkFSSUFCTEUgeSBBUyBpbnQ7CitTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lv bl92YXJpYWJsZXNfbmFtZXMoKTsKKyBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVz X25hbWVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgeQor IHgKKygyIHJvd3MpCisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFCTEUgeTsKK1NFTEVD VCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOworIHBn X2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDYwZjc4NjcxZTNiLi5jNGNi ZmQxNzE2OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJs ZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19k ZGwuc3FsCkBAIC03MCwzICs3MCwxMSBAQCBDUkVBVEUgVEVNUCBWQVJJQUJMRSBJRiBOT1QgRVhJ U1RTIHggQVMgaW50OwogCiBEUk9QIFZBUklBQkxFIHg7CiBEUk9QIFZBUklBQkxFIElGIEVYSVNU UyB4OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKK0NSRUFURSBURU1QIFZBUklB QkxFIHkgQVMgaW50OworU0VMRUNUICogRlJPTSBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFy aWFibGVzX25hbWVzKCk7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFCTEUgeTsKK1NF TEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOwot LSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260403-2-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja33289 RnJvbSA4ODE4MjU0OTBhODNhMjBjYjg4NGRiZjgxNDkwZGRiODdiYjMzMTAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDYgRGVjIDIwMjUgMDc6MzU6MzAgKzAxMDAKU3ViamVjdDogW1BB VENIIDEwLzExXSB0cmFuc2FjdGlvbmFsIERETCAtIENSRUFURSBWQVJJQUJMRSwgRFJPUCBWQVJJ QUJMRQoKR2VuZXJhbGx5IFBvc3RncmVTUUwgRERMIHN0YXRlbWVudHMgYXJlIHRyYW5zYWN0aW9u YWwuIFdlIGNhbiBpbXBsZW1lbnQgdHJhbnNhY3Rpb25hbCBiZWhhdmUKZm9yICggQ1JFQVRFIHwg RFJPUCApIFZBUklBQkxFIHRvby4gSW1wbGVtZW50YXRpb24gaXMgYWxtb3N0IHNpbXBsZS4gRFJP UCBqdXN0IHNldCBkcm9wcGVkX2x4aWQsCkNSRUFURSBzZXQgY3JlYXRlZF9seGlkIGFuZCBtb3Zl cyBwcmV2aW91cyBlbnRyeSBvZiByZWxhdGVkIHNlc3Npb252YXJzIGhhc2h0YWIgdG8gc3RhY2su IEF0IHRoZQplbmQgb2YgdHJhbnNhY3Rpb24gZm9yIGNvbW1pdCB3ZSBqdXN0IGNsZWFuIHRoaXMg c3RhY2suIEZvciByb2xsYmFjayB3ZSBkbyBjb3B5IHRoZSBib290b20gdmFsdWUKZnJvbSB0aGUg c3RhY2sgYW5kIGFnYWluIGNsZWFuIHN0YWNrLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMgICAgICAgfCAyMTcgKysrKysrKysrKysrKysrKy0tCiBzcmMvaW5jbHVk ZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgIDIgKwogLi4uL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDM4ICsrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgIDIxICsrCiA1IGZpbGVzIGNoYW5n ZWQsIDI1OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS94YWN0LmMKaW5kZXggYWFmYzUzZTAxNjQuLmNjZWUyMjZjYWZlIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGFjdC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvYXN5bmMu aCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90 cmlnZ2VyLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1vbi9wZ19wcm5nLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivc3BpLmgiCiAjaW5jbHVk ZSAibGlicHEvYmUtZnNzdHVicy5oIgpAQCAtMjMzNCw2ICsyMzM1LDkgQEAgQ29tbWl0VHJhbnNh Y3Rpb24odm9pZCkKIAkvKiBjbG9zZSBsYXJnZSBvYmplY3RzIGJlZm9yZSBsb3dlci1sZXZlbCBj bGVhbnVwICovCiAJQXRFT1hhY3RfTGFyZ2VPYmplY3QodHJ1ZSk7CiAKKwkvKiByZW1vdmUgc3Rh Y2tlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMo dHJ1ZSk7CisKIAkvKgogCSAqIEluc2VydCBub3RpZmljYXRpb25zIHNlbnQgYnkgTk9USUZZIGNv bW1hbmRzIGludG8gdGhlIHF1ZXVlLiAgVGhpcwogCSAqIHNob3VsZCBiZSBsYXRlIGluIHRoZSBw cmUtY29tbWl0IHNlcXVlbmNlIHRvIG1pbmltaXplIHRpbWUgc3BlbnQKQEAgLTI5NDAsNiArMjk0 NCw3IEBAIEFib3J0VHJhbnNhY3Rpb24odm9pZCkKIAlBdEFib3J0X1BvcnRhbHMoKTsKIAlzbWdy RG9QZW5kaW5nU3luY3MoZmFsc2UsIGlzX3BhcmFsbGVsX3dvcmtlcik7CiAJQXRFT1hhY3RfTGFy Z2VPYmplY3QoZmFsc2UpOworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoZmFsc2UpOwog CUF0QWJvcnRfTm90aWZ5KCk7CiAJQXRFT1hhY3RfUmVsYXRpb25NYXAoZmFsc2UsIGlzX3BhcmFs bGVsX3dvcmtlcik7CiAJQXRBYm9ydF9Ud29waGFzZSgpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IDgyNDQxMGEzMjM1Li5jMzZhZjdiYzQ2MCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtNTYsNiArNTYsMTEgQEAgdHlwZWRl ZiBzdHJ1Y3QgU1ZhcmlhYmxlRGF0YQogCiAJaW50MTYJCXR5cGxlbjsKIAlib29sCQl0eXBieXZh bDsKKworCXN0cnVjdCBTVmFyaWFibGVEYXRhICpwcmV2OworCWJvb2wJCXN0YWNrZWQ7CisJTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfbHhpZDsKKwlMb2NhbFRyYW5zYWN0aW9uSWQgZHJvcHBl ZF9seGlkOwogfSBTVmFyaWFibGVEYXRhOwogCiB0eXBlZGVmIFNWYXJpYWJsZURhdGEgKlNWYXJp YWJsZTsKQEAgLTY0LDYgKzY5LDE0IEBAIHN0YXRpYyBIVEFCICpzZXNzaW9udmFycyA9IE5VTEw7 CS8qIGhhc2ggdGFibGUgZm9yIHNlc3Npb24gdmFyaWFibGVzICovCiAKIHN0YXRpYyBNZW1vcnlD b250ZXh0IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgPSBOVUxMOwogCisvKgorICogV2hlbiB3ZSB0 byByZW1vdmUgY29tbWl0dGVkIGRyb3BwZWQgdmFyaWFibGVzIG9yIHVuY29tbWl0dGVkCisgKiBj cmVhdGVkIHZhcmlhYmxlcyBmcm9tIHNlc3Npb252YXJzIHRhYi4gY3JlYXRlZF9vcl9kcm9wcGVk X2x4aWQKKyAqIGlzIHRyYW5zYWN0aW9uIGlkIG9mIHRyYW5zYWN0aW9uIHdoZW4gc29tZSBvZiBE Uk9QIG9yIENSRUFURSB2YXJpYWJsZQorICogd2FzIGV4ZWN1dGVkLgorICovCitzdGF0aWMgTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJh bnNhY3Rpb25JZDsKKwogLyoKICAqIENyZWF0ZSB0aGUgaGFzaCB0YWJsZSBmb3Igc3RvcmluZyBz ZXNzaW9uIHZhcmlhYmxlcy4KICAqLwpAQCAtMTA1LDYgKzExOCwxNCBAQCBzZWFyY2hfdmFyaWFi bGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5nX29rKQogCXN2YXIgPSAoU1ZhcmlhYmxlKSBo YXNoX3NlYXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKIAkJCQkJCQkJICAgSEFTSF9GSU5ELCBO VUxMKTsKIAorCS8qIFNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGRyb3BwZWQgaW5zaWRlIGN1cnJl bnQgdHJhbnNhY3Rpb24gKi8KKwlpZiAoc3ZhciAmJiBzdmFyLT5kcm9wcGVkX2x4aWQgIT0gSW52 YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKKwl7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRf bHhpZCA9PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQg PT0gTXlQcm9jLT52eGlkLmx4aWQpOworCQlzdmFyID0gTlVMTDsKKwl9CisKIAlpZiAoIXN2YXIg JiYgIW1pc3Npbmdfb2spCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfT0JKRUNUKSwKQEAgLTIzNyw2ICsyNTgsNyBAQCBDcmVhdGVWYXJpYWJsZShQYXJz ZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCU9pZAkJCXR5cGNv bGxhdGlvbjsKIAlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOwogCVNWYXJpYWJsZQlzdmFy OworCVNWYXJpYWJsZQlwcmV2X3N2YXIgPSBOVUxMOwogCWJvb2wJCWZvdW5kOwogCWludDE2CQl0 eXBsZW47CiAJYm9vbAkJdHlwYnl2YWw7CkBAIC0yODEsMTkgKzMwMywzNyBAQCBDcmVhdGVWYXJp YWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCiAJ aWYgKGZvdW5kKQogCXsKLQkJaWYgKHN0bXQtPmlmX25vdF9leGlzdHMpCisJCWlmIChzdmFyLT5k cm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKIAkJewotCQkJZXJlcG9y dChOT1RJQ0UsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCi0JCQkJ CSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGlu ZyIsCi0JCQkJCQkJc3RtdC0+bmFtZSkpKTsKLQkJCXJldHVybjsKKwkJCWlmIChzdG10LT5pZl9u b3RfZXhpc3RzKQorCQkJeworCQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUg XCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJCXN0bXQtPm5hbWUpKSk7 CisJCQkJcmV0dXJuOworCQkJfQorCQkJZWxzZQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQko ZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkJIGVycm1zZygic2Vzc2lv biB2YXJpYWJsZSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAorCQkJCQkJCQlzdG10LT5uYW1lKSkp OwogCQl9CiAJCWVsc2UKLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVf RFVQTElDQVRFX09CSkVDVCksCi0JCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wi IGFscmVhZHkgZXhpc3RzIiwKLQkJCQkJCQlzdG10LT5uYW1lKSkpOworCQl7CisJCQlNZW1vcnlD b250ZXh0IG9sZGN4dDsKKworCQkJQXNzZXJ0KGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID09IE15 UHJvYy0+dnhpZC5seGlkKTsKKwkJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9j LT52eGlkLmx4aWQpOworCisJCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oU1Zhcmlh YmxlTWVtb3J5Q29udGV4dCk7CisJCQlwcmV2X3N2YXIgPSBwYWxsb2Nfb2JqZWN0KFNWYXJpYWJs ZURhdGEpOworCQkJbWVtY3B5KHByZXZfc3Zhciwgc3Zhciwgc2l6ZW9mKFNWYXJpYWJsZURhdGEp KTsKKwkJCXByZXZfc3Zhci0+c3RhY2tlZCA9IHRydWU7CisJCQltZW1zZXQoc3ZhciwgMCwgc2l6 ZW9mKFNWYXJpYWJsZURhdGEpKTsKKworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7 CisJCX0KIAl9CiAKIAluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKQEAg LTMwNiw2ICszNDYsMTIgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVTZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAogCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOwogCXN2 YXItPmlzbnVsbCA9IHRydWU7CisKKwlzdmFyLT5wcmV2ID0gcHJldl9zdmFyOworCXN2YXItPnN0 YWNrZWQgPSBmYWxzZTsKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2Fj dGlvbklkOworCXN2YXItPmNyZWF0ZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworCWNyZWF0 ZWRfb3JfZHJvcHBlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CiB9CiAKIC8qCkBAIC0zNDAs MTQgKzM4NiwxMjkgQEAgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9uVmFyU3RtdCAqc3Rt dCkKIAkJCQkgZXJybXNnKCJtdXN0IGJlIG93bmVyIG9mIHNlc3Npb24gdmFyaWFibGUgJXMiLAog CQkJCQkJc3RtdC0+bmFtZSkpKTsKIAotCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlz bnVsbCkKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwljcmVhdGVk X29yX2Ryb3BwZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworfQorCitzdGF0aWMgdm9pZAor ZnJlZV9zdmFyX3ZhbHVlKFNWYXJpYWJsZSBzdmFyKQoreworCWlmICghc3Zhci0+aXNudWxsICYm ICFzdmFyLT50eXBieXZhbCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7 Cit9CisKK3N0YXRpYyB2b2lkCitmcmVlX3N0YWNrZWRfc3ZhcnMoU1ZhcmlhYmxlIHN2YXIpCit7 CisJd2hpbGUgKHN2YXIpCisJeworCQlTVmFyaWFibGUJY3VycmVudCA9IHN2YXI7CisKKwkJZnJl ZV9zdmFyX3ZhbHVlKGN1cnJlbnQpOworCQlzdmFyID0gY3VycmVudC0+cHJldjsKKwkJcGZyZWUo Y3VycmVudCk7CisJfQorfQorCisvKgorICogcmVtb3ZlIGRyb3BwZWQgY29tbWl0dGVkIGVudHJp ZXMgb3IgY3JlYXRlZCB1bmNvbW1pdHRlZCBlbnRyaWVzCisgKiBmcm9tIGhhc2ggdGFibGUuCisg Ki8KK3ZvaWQKK0F0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBpc0NvbW1pdCkKK3sK KwlpZiAoY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkKKwl7CisJCUhBU0hfU0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOwogCi0J aWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLAotCQkJCQkgICBzdG10LT5uYW1lLAotCQkJCQkg ICBIQVNIX1JFTU9WRSwKLQkJCQkJICAgTlVMTCkgPT0gTlVMTCkKLQkJZWxvZyhFUlJPUiwgImhh c2ggdGFibGUgY29ycnVwdGVkIik7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRfbHhpZCA9 PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzZXNzaW9udmFycyk7CisKKwkJaGFzaF9z ZXFfaW5pdCgmc3RhdHVzLCBzZXNzaW9udmFycyk7CisKKwkJd2hpbGUgKChzdmFyID0gKFNWYXJp YWJsZSkgaGFzaF9zZXFfc2VhcmNoKCZzdGF0dXMpKSAhPSBOVUxMKQorCQl7CisJCQlpZiAoKHN2 YXItPmRyb3BwZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSB8fAorCQkJCShz dmFyLT5jcmVhdGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkpCisJCQl7CisJ CQkJQXNzZXJ0KChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkgfHwKKwkJCQkJCShzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpKTsK KworCQkJCUFzc2VydCgoc3Zhci0+Y3JlYXRlZF9seGlkID09IEludmFsaWRMb2NhbFRyYW5zYWN0 aW9uSWQpIHx8CisJCQkJCQkoc3Zhci0+Y3JlYXRlZF9seGlkID09IE15UHJvYy0+dnhpZC5seGlk KSk7CisKKwkJCQlpZiAoaXNDb21taXQpCisJCQkJeworCQkJCQlpZiAoc3Zhci0+ZHJvcHBlZF9s eGlkID09IE15UHJvYy0+dnhpZC5seGlkKQorCQkJCQl7CisJCQkJCQlmcmVlX3N0YWNrZWRfc3Zh cnMoc3Zhci0+cHJldik7CisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoc3Zhcik7CisKKwkJCQkJCSh2 b2lkKSBoYXNoX3NlYXJjaChzZXNzaW9udmFycywKKwkJCQkJCQkJCQkgICBOYW1lU3RyKHN2YXIt PnZhcm5hbWUpLAorCQkJCQkJCQkJCSAgIEhBU0hfUkVNT1ZFLAorCQkJCQkJCQkJCSAgIE5VTEwp OworCQkJCQkJc3ZhciA9IE5VTEw7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQlm cmVlX3N0YWNrZWRfc3ZhcnMoc3Zhci0+cHJldik7CisJCQkJCQlzdmFyLT5wcmV2ID0gTlVMTDsK KwkJCQkJCXN2YXItPmNyZWF0ZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQ7CisJ CQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJU1ZhcmlhYmxlCWl0ZXI7CisKKwkJ CQkJLyoKKwkJCQkJICogV2UgaGF2ZSB0byBzZWFyY2ggdmFsdWUgdGhlIG9sZGVzdCBzdmFyIGlu IHRoZSBzdGFjay4gSWYgaXQgaXMganVzdCBkcm9wcGVkLAorCQkJCQkgKiB0aGVuIHdlIHJldmVy dCBkcm9wcGVkIGZsYWcuIElmIGl0IGlzIGNyZWF0ZWQgaW4gY3VycmVudCB0cmFuc2FjdGlvbiwg dGhlbgorCQkJCQkgKiB3ZSByZW1vdmUgdGhpcyBzdmFyIHRvby4KKwkJCQkJICovCisJCQkJCWl0 ZXIgPSBzdmFyOworCQkJCQl3aGlsZSAoaXRlci0+cHJldikKKwkJCQkJeworCQkJCQkJU1Zhcmlh YmxlCWN1cnJlbnQgPSBpdGVyOworCisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoY3VycmVudCk7CisK KwkJCQkJCWl0ZXIgPSBjdXJyZW50LT5wcmV2OworCisJCQkJCQlpZiAoY3VycmVudC0+c3RhY2tl ZCkKKwkJCQkJCQlwZnJlZShjdXJyZW50KTsKKwkJCQkJfQorCisJCQkJCWlmIChpdGVyLT5jcmVh dGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpCisJCQkJCXsKKwkJCQkJCWZyZWVfc3Zhcl92 YWx1ZShpdGVyKTsKKwkJCQkJCWlmIChpdGVyLT5zdGFja2VkKQorCQkJCQkJCXBmcmVlKGl0ZXIp OworCisJCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZhcnMsCisJCQkJCQkJCQkJICAg TmFtZVN0cihzdmFyLT52YXJuYW1lKSwKKwkJCQkJCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJ CQkJCQkgICBOVUxMKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCWlmIChpdGVy LT5zdGFja2VkKQorCQkJCQkJeworCQkJCQkJCW1lbWNweShzdmFyLCBpdGVyLCBzaXplb2YoU1Zh cmlhYmxlRGF0YSkpOworCQkJCQkJCXN2YXItPnN0YWNrZWQgPSBmYWxzZTsKKwkJCQkJCQlwZnJl ZShpdGVyKTsKKwkJCQkJCX0KKworCQkJCQkJLyogcmV2ZXJ0IGRyb3BwZWQgZmxhZyAqLworCQkJ CQkJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJ fQorCQkJCX0KKwkJCX0KKwkJfQorCisJCWNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxp ZExvY2FsVHJhbnNhY3Rpb25JZDsKKwl9CiB9CiAKIC8qCkBAIC00MzMsMjMgKzU5NCwyOSBAQCBF eGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiB9CiAKIC8qCi0gKiBGYXN0IGRyb3Ag b2YgdGhlIGNvbXBsZXRlIGNvbnRlbnQgb2YgdGhlIHNlc3Npb24gdmFyaWFibGVzIGhhc2ggdGFi bGUsIGFuZAotICogY2xlYW51cCBvZiBhbnkgbGlzdCB0aGF0IHdvdWxkbid0IGJlIHJlbGV2YW50 IGFueW1vcmUuCiAgKiBUaGlzIGlzIHVzZWQgYnkgdGhlIERJU0NBUkQgVEVNUC4KICAqLwogdm9p ZAogUmVzZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpCiB7Ci0JLyogZGVzdHJveSBoYXNoIHRhYmxl IGFuZCByZXNldCByZWxhdGVkIG1lbW9yeSBjb250ZXh0ICovCisJLyogbWFyayBhbGwgc2Vzc2lv biB2YXJpYWJsZXMgYXMgZHJvcHBlZCAqLwogCWlmIChzZXNzaW9udmFycykKIAl7Ci0JCWhhc2hf ZGVzdHJveShzZXNzaW9udmFycyk7Ci0JCXNlc3Npb252YXJzID0gTlVMTDsKLQl9CisJCUhBU0hf U0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOworCQlib29sCQlmb3VuZCA9IGZh bHNlOwogCi0JLyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHNlc3Npb24gdmFyaWFibGVz ICovCi0JaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0gTlVMTCkKLQkJTWVtb3J5Q29udGV4 dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworCQloYXNoX3NlcV9pbml0KCZzdGF0dXMs IHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlcV9z ZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCXN2YXItPmRyb3BwZWRfbHhpZCA9IE15 UHJvYy0+dnhpZC5seGlkOworCQkJZm91bmQgPSB0cnVlOworCQl9CisKKwkJaWYgKGZvdW5kKQor CQkJY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwl9CiB9CiAK IC8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggM2YwN2FlNTVh YWMuLjEyMThjNTY2NzY3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o CkBAIC0zOSw0ICszOSw2IEBAIGV4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUg KnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhCiAKIGV4dGVybiB2b2lk IFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgQXRQcmVFT1hhY3Rf U2Vzc2lvblZhcmlhYmxlcyhib29sIGlzQ29tbWl0KTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggNzU4 Y2U1ODJmY2EuLjJkMDA0NzFkYTk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC03MCwzICs3MCw0MSBAQCBTRUxFQ1Qg KiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKTsKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKDAgcm93cykKIAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9 ICdIZWxsbyc7CitTRUxFQ1QgVkFSSUFCTEUoeCk7CisgICB4ICAgCistLS0tLS0tCisgSGVsbG8K KygxIHJvdykKKworQ09NTUlUOworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0t LQorIEhlbGxvCisoMSByb3cpCisKK0xFVCB4ID0gJ0hpJzsKK0JFR0lOOworRFJPUCBWQVJJQUJM RSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGVsbG8n OworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0tLQorIEhlbGxvCisoMSByb3cp CisKK1JPTExCQUNLOworU0VMRUNUIFZBUklBQkxFKHgpOworIHggIAorLS0tLQorIEhpCisoMSBy b3cpCisKK0RST1AgVkFSSUFCTEUgeDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IGM0Y2JmZDE3MTY5Li43MzM1ZjE1ZWQzOSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCkBAIC03OCwz ICs3OCwyNCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJs ZXNfbmFtZXMoKTsKIERST1AgVkFSSUFCTEUgeDsKIERST1AgVkFSSUFCTEUgeTsKIFNFTEVDVCAq IEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOworCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIaSc7CitCRUdJTjsKK0RS T1AgVkFSSUFCTEUgeDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgdmFyY2hhcjsKK0xFVCB4 ID0gJ0hlbGxvJzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKK0NPTU1JVDsKK1NFTEVDVCBWQVJJQUJM RSh4KTsKKworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9QIFZBUklBQkxFIHg7CitDUkVBVEUg VEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIZWxsbyc7CitTRUxFQ1QgVkFS SUFCTEUoeCk7CitST0xMQkFDSzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKKworRFJPUCBWQVJJQUJM RSB4OwotLSAKMi41My4wCgo= --000000000000893f4f064e93139c Content-Type: text/x-patch; charset="US-ASCII"; name="v20260403-2-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Disposition: attachment; filename="v20260403-2-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnja332d10 RnJvbSBhNjM0MGY1OTQ3OGY0MGNjZTkxYTExNTNkYTAzYmY3Y2ZiNDVhZWE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IE1vbiwgOCBEZWMgMjAyNSAwNTowMDoxMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEv MTFdIHN1YnRyYW5zYWN0aW9uIHN1cHBvcnQgZm9yIHNlc3Npb24gdmFyaWFibGVzIERETAogKENS RUFURSwgRFJPUCkKCklmIHdlIHN1cHBvcnQgdHJhbnNhY3Rpb25hbCBEREwgZm9yIENSRUFURSwg RFJPUCBzZXNzaW9uICB2YXJpYWJsZXMsIHdlIHNob3VsZCB0bwpzdXBwb3J0IHN1YnRyYW5zYWN0 aW9ucyB0b28uIEltcGxlbWVudGF0aW9uIGlzIHNpbXBsZS4gQW55IHZhbHVlIGhhcyB0d28gbmV3 IGZsYWdzOgpjcmVhdGVkX3N1YmlkIGFuZCBkcm9wcGVkX3N1YmlkLiBBdCB0aGUgc3VidHJhbnNh Y3Rpb24gZW5kIGZvciByb2xsYmFjayB3ZQpjbGVhbiBlbnRyaWVzIGZyb20gdGhlIHN0YWNrIHJl bGF0ZWQgdG8gc3VidHJhbnNhY3Rpb25zLiBXaGVuIGNvbW1pdCB3ZSB1cGRhdGUKY3JlYXRlZF9z dWJpZCBhbmQgZHJvcHBlZF9zdWJpZCBmb3IgcGFyZW50IHN1YnRyYW5zYWN0aW9uLgotLS0KIHNy Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNCArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAxMDkgKysrKysrKysr KysrKysrKysrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAg fCAgIDMgKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwg IDIxICsrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsICAgICB8 ICAxMiArKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hhY3QuYwppbmRleCBjY2VlMjI2Y2FmZS4uNzZkYzJhODQzY2YgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94YWN0LmMKQEAgLTUyMTMsNiArNTIxMyw4IEBAIENvbW1pdFN1YlRyYW5zYWN0 aW9uKHZvaWQpCiAJQXRFT1N1YlhhY3RfU1BJKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQpOwog CUF0RU9TdWJYYWN0X29uX2NvbW1pdF9hY3Rpb25zKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQs CiAJCQkJCQkJCSAgcy0+cGFyZW50LT5zdWJUcmFuc2FjdGlvbklkKTsKKwlBdEVPU3ViWGFjdF9T ZXNzaW9uVmFyaWFibGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCisJCQkJCQkJCSBzLT5w YXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQpOwogCUF0RU9TdWJYYWN0X05hbWVzcGFjZSh0cnVlLCBz LT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJICBzLT5wYXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQp OwogCUF0RU9TdWJYYWN0X0ZpbGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCkBAIC01Mzgy LDYgKzUzODQsOCBAQCBBYm9ydFN1YlRyYW5zYWN0aW9uKHZvaWQpCiAJCUF0RU9TdWJYYWN0X1NQ SShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0X29uX2NvbW1pdF9h Y3Rpb25zKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJCQkJICBzLT5wYXJlbnQt PnN1YlRyYW5zYWN0aW9uSWQpOworCQlBdEVPU3ViWGFjdF9TZXNzaW9uVmFyaWFibGVzKGZhbHNl LCBzLT5zdWJUcmFuc2FjdGlvbklkLAorCQkJCQkJCQkJIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rp b25JZCk7CiAJCUF0RU9TdWJYYWN0X05hbWVzcGFjZShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25J ZCwKIAkJCQkJCQkgIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0 X0ZpbGVzKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IGMzNmFmN2JjNDYwLi5jODBhYjQ4ZWM0NyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtMTQsNiArMTQsNyBAQAogICovCiAj aW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19sYW5ndWFnZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgog I2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKQEAgLTYxLDYgKzYyLDggQEAg dHlwZWRlZiBzdHJ1Y3QgU1ZhcmlhYmxlRGF0YQogCWJvb2wJCXN0YWNrZWQ7CiAJTG9jYWxUcmFu c2FjdGlvbklkIGNyZWF0ZWRfbHhpZDsKIAlMb2NhbFRyYW5zYWN0aW9uSWQgZHJvcHBlZF9seGlk OworCVN1YlRyYW5zYWN0aW9uSWQgY3JlYXRlZF9zdWJpZDsKKwlTdWJUcmFuc2FjdGlvbklkIGRy b3BwZWRfc3ViaWQ7CiB9IFNWYXJpYWJsZURhdGE7CiAKIHR5cGVkZWYgU1ZhcmlhYmxlRGF0YSAq U1ZhcmlhYmxlOwpAQCAtMzUxLDYgKzM1NCw4IEBAIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUg KnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAJc3Zhci0+c3RhY2tlZCA9IGZh bHNlOwogCXN2YXItPmRyb3BwZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQ7CiAJ c3Zhci0+Y3JlYXRlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CisJc3Zhci0+ZHJvcHBlZF9z dWJpZCA9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkOworCXN2YXItPmNyZWF0ZWRfc3ViaWQgPSBH ZXRDdXJyZW50U3ViVHJhbnNhY3Rpb25JZCgpOwogCWNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0g TXlQcm9jLT52eGlkLmx4aWQ7CiB9CiAKQEAgLTM4Nyw2ICszOTIsNyBAQCBEcm9wVmFyaWFibGVC eU5hbWUoRHJvcFNlc3Npb25WYXJTdG10ICpzdG10KQogCQkJCQkJc3RtdC0+bmFtZSkpKTsKIAog CXN2YXItPmRyb3BwZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworCXN2YXItPmRyb3BwZWRf c3ViaWQgPSBHZXRDdXJyZW50U3ViVHJhbnNhY3Rpb25JZCgpOwogCWNyZWF0ZWRfb3JfZHJvcHBl ZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CiB9CiAKQEAgLTQ1Niw2ICs0NjIsNyBAQCBBdFBy ZUVPWGFjdF9TZXNzaW9uVmFyaWFibGVzKGJvb2wgaXNDb21taXQpCiAJCQkJCQlmcmVlX3N0YWNr ZWRfc3ZhcnMoc3Zhci0+cHJldik7CiAJCQkJCQlzdmFyLT5wcmV2ID0gTlVMTDsKIAkJCQkJCXN2 YXItPmNyZWF0ZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQ7CisJCQkJCQlzdmFy LT5jcmVhdGVkX3N1YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQ7CiAJCQkJCX0KIAkJCQl9 CiAJCQkJZWxzZQpAQCAtNTAyLDYgKzUwOSw3IEBAIEF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJs ZXMoYm9vbCBpc0NvbW1pdCkKIAogCQkJCQkJLyogcmV2ZXJ0IGRyb3BwZWQgZmxhZyAqLwogCQkJ CQkJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJ CXN2YXItPmRyb3BwZWRfc3ViaWQgPSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZDsKIAkJCQkJfQog CQkJCX0KIAkJCX0KQEAgLTUxMSw2ICs1MTksMTA3IEBAIEF0UHJlRU9YYWN0X1Nlc3Npb25WYXJp YWJsZXMoYm9vbCBpc0NvbW1pdCkKIAl9CiB9CiAKKy8qCisgKiBQb3N0LXN1YmNvbW1pdCBvciBw b3N0LXN1YmFib3J0IGNsZWFudXAKKyAqCisgKiBEdXJpbmcgc3ViYWJvcnQsIHdlIGNhbiBpbW1l ZGlhdGVseSByZW1vdmUgZW50cmllcyBjcmVhdGVkIGR1cmluZyB0aGlzCisgKiBzdWJ0cmFuc2Fj dGlvbi4gRHVyaW5nIHN1YmNvbW1pdCwganVzdCB0cmFuc2ZlciBlbnRyaWVzIG1hcmtlZCBkdXJp bmcKKyAqIHRoaXMgc3VidHJhbnNhY3Rpb24gYXMgYmVpbmcgdGhlIHBhcmVudCdzIHJlc3BvbnNp YmlsaXR5LgorICovCit2b2lkCitBdEVPU3ViWGFjdF9TZXNzaW9uVmFyaWFibGVzKGJvb2wgaXND b21taXQsCisJCQkJCQkJIFN1YlRyYW5zYWN0aW9uSWQgbXlTdWJpZCwKKwkJCQkJCQkgU3ViVHJh bnNhY3Rpb25JZCBwYXJlbnRTdWJpZCkKK3sKKwlpZiAoY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQg IT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKKwl7CisJCUhBU0hfU0VRX1NUQVRVUyBzdGF0 dXM7CisJCVNWYXJpYWJsZQlzdmFyOworCisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRfbHhp ZCA9PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzZXNzaW9udmFycyk7CisKKwkJaGFz aF9zZXFfaW5pdCgmc3RhdHVzLCBzZXNzaW9udmFycyk7CisKKwkJd2hpbGUgKChzdmFyID0gKFNW YXJpYWJsZSkgaGFzaF9zZXFfc2VhcmNoKCZzdGF0dXMpKSAhPSBOVUxMKQorCQl7CisJCQlpZiAo KHN2YXItPmRyb3BwZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSB8fAorCQkJ CShzdmFyLT5jcmVhdGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkpCisJCQl7 CisJCQkJaWYgKCFpc0NvbW1pdCkKKwkJCQl7CisJCQkJCVNWYXJpYWJsZSBpdGVyYXRvciA9IHN2 YXI7CisJCQkJCVNWYXJpYWJsZSBsYXN0ID0gTlVMTDsKKwkJCQkJU1ZhcmlhYmxlIGZpcnN0ID0g TlVMTDsKKworCQkJCQkvKiByZW1vdmUgZW50cmllcyBvciBmbGFncyBieSBjdXJyZW50IHN1YnRy YW5zYWN0aW9ucyAqLworCQkJCQl3aGlsZSAoaXRlcmF0b3IpCisJCQkJCXsKKwkJCQkJCVNWYXJp YWJsZSBjdXJyZW50ID0gaXRlcmF0b3I7CisKKwkJCQkJCWl0ZXJhdG9yID0gY3VycmVudC0+cHJl djsKKworCQkJCQkJaWYgKGN1cnJlbnQtPmRyb3BwZWRfc3ViaWQgPT0gbXlTdWJpZCkKKwkJCQkJ CXsKKwkJCQkJCQljdXJyZW50LT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlv bklkOworCQkJCQkJCWN1cnJlbnQtPmRyb3BwZWRfc3ViaWQgPSBJbnZhbGlkU3ViVHJhbnNhY3Rp b25JZDsKKwkJCQkJCX0KKworCQkJCQkJaWYgKGN1cnJlbnQtPmNyZWF0ZWRfc3ViaWQgPT0gbXlT dWJpZCkKKwkJCQkJCXsKKwkJCQkJCQlmcmVlX3N2YXJfdmFsdWUoY3VycmVudCk7CisJCQkJCQkJ aWYgKGN1cnJlbnQtPnN0YWNrZWQpCisJCQkJCQkJCXBmcmVlKGN1cnJlbnQpOworCQkJCQkJfQor CQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJCS8qIHJlbWVtYmVyIGZpcnN0IG5vdCBkZWxldGVk IHN2YXIgKi8KKwkJCQkJCQlpZiAoZmlyc3QgPT0gTlVMTCkKKwkJCQkJCQkJZmlyc3QgPSBjdXJy ZW50OworCisJCQkJCQkJaWYgKGxhc3QpCisJCQkJCQkJCWxhc3QtPnByZXYgPSBjdXJyZW50Owor CisJCQkJCQkJbGFzdCA9IGN1cnJlbnQ7CisJCQkJCQl9CisJCQkJCX0KKworCQkJCQkvKiBTb21l IHN2YXJzIHdhcyByZW1vdmVkIC0gc2V0IGhhc2h0YWIgZW50cnkgb3IgcmVtb3ZlIGl0ICovCisJ CQkJCWlmICghZmlyc3QpCisJCQkJCXsKKwkJCQkJCS8qIHdlIGhhdmUgdG8gcmVtb3ZlIGVudHJ5 IGZyb20gaGFzaCB0YWJsZSAqLworCQkJCQkJKHZvaWQpIGhhc2hfc2VhcmNoKHNlc3Npb252YXJz LAorCQkJCQkJCQkJCSAgIE5hbWVTdHIoc3Zhci0+dmFybmFtZSksCisJCQkJCQkJCQkJICAgSEFT SF9SRU1PVkUsCisJCQkJCQkJCQkJICAgTlVMTCk7CisJCQkJCX0KKwkJCQkJZWxzZSBpZiAoZmly c3QtPnN0YWNrZWQpCisJCQkJCXsKKwkJCQkJCW1lbWNweShzdmFyLCBmaXJzdCwgc2l6ZW9mKFNW YXJpYWJsZURhdGEpKTsKKwkJCQkJCXN2YXItPnN0YWNrZWQgPSBmYWxzZTsKKwkJCQkJCXBmcmVl KGZpcnN0KTsKKwkJCQkJfQorCQkJCX0KKwkJCQllbHNlCisJCQkJeworCQkJCQlTVmFyaWFibGUg aXRlcmF0b3IgPSBzdmFyOworCisJCQkJCS8qIHRyYW5zZmVyIHJlc3BvbnNpYmlsaXR5IHRvIHBh cmVudCAqLworCQkJCQl3aGlsZSAoaXRlcmF0b3IpCisJCQkJCXsKKwkJCQkJCWlmIChpdGVyYXRv ci0+ZHJvcHBlZF9zdWJpZCA9PSBteVN1YmlkKQorCQkJCQkJCWl0ZXJhdG9yLT5kcm9wcGVkX3N1 YmlkID0gcGFyZW50U3ViaWQ7CisJCQkJCQlpZiAoaXRlcmF0b3ItPmNyZWF0ZWRfc3ViaWQgPT0g bXlTdWJpZCkKKwkJCQkJCQlpdGVyYXRvci0+Y3JlYXRlZF9zdWJpZCA9IHBhcmVudFN1YmlkOwor CisJCQkJCQlpdGVyYXRvciA9IGl0ZXJhdG9yLT5wcmV2OworCQkJCQl9CisJCQkJfQorCQkJfQor CQl9CisJfQorfQorCiAvKgogICogQXNzaWduIHRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRlZCBl eHByZXNzaW9uIHRvIHRoZSBzZXNzaW9uIHZhcmlhYmxlCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRz L3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCAxMjE4YzU2Njc2Ny4uNDVjY2JlMmYwNDYgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMv aW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTQwLDUgKzQwLDggQEAgZXh0 ZXJuIHZvaWQgRXhlY3V0ZUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10 LCBQYXJhbUxpc3RJbmZvIHBhcmEKIGV4dGVybiB2b2lkIFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2 b2lkKTsKIAogZXh0ZXJuIHZvaWQgQXRQcmVFT1hhY3RfU2Vzc2lvblZhcmlhYmxlcyhib29sIGlz Q29tbWl0KTsKK2V4dGVybiB2b2lkIEF0RU9TdWJYYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBp c0NvbW1pdCwKKwkJCQkJCQkJCQkgU3ViVHJhbnNhY3Rpb25JZCBteVN1YmlkLAorCQkJCQkJCQkJ CSBTdWJUcmFuc2FjdGlvbklkIHBhcmVudFN1YmlkKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggMmQw MDQ3MWRhOTYuLjkwMzFiNWMzODRjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC0xMDcsNCArMTA3LDI1IEBAIFNFTEVD VCBWQVJJQUJMRSh4KTsKICBIaQogKDEgcm93KQogCitCRUdJTjsKK1NBVkVQT0lOVCBzMTsKK0RS T1AgVkFSSUFCTEUgeDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgdmFyY2hhcjsKK0RST1Ag VkFSSUFCTEUgeDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgdmFyY2hhcjsKK0xFVCB4ID0g J0hlbGxvJzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKKyAgIHggICAKKy0tLS0tLS0KKyBIZWxsbwor KDEgcm93KQorCitST0xMQkFDSyBUTyBzMTsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKKyB4ICAKKy0t LS0KKyBIaQorKDEgcm93KQorCitDT01NSVQ7CiBEUk9QIFZBUklBQkxFIHg7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAppbmRleCA3MzM1ZjE1ZWQz OS4uNWVjNDEyYWQ3YzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJp YWJsZXNfZGRsLnNxbApAQCAtOTgsNCArOTgsMTYgQEAgU0VMRUNUIFZBUklBQkxFKHgpOwogUk9M TEJBQ0s7CiBTRUxFQ1QgVkFSSUFCTEUoeCk7CiAKK0JFR0lOOworU0FWRVBPSU5UIHMxOworRFJP UCBWQVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworRFJPUCBW QVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAn SGVsbG8nOworU0VMRUNUIFZBUklBQkxFKHgpOworUk9MTEJBQ0sgVE8gczE7CitTRUxFQ1QgVkFS SUFCTEUoeCk7CitDT01NSVQ7CisKIERST1AgVkFSSUFCTEUgeDsKLS0gCjIuNTMuMAoK --000000000000893f4f064e93139c--