Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rQTtx-001Z4G-1h for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jan 2024 15:01:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rQTtw-003IJ6-7o for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Jan 2024 15:01:52 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rQTtv-003IIw-RW for pgsql-hackers@lists.postgresql.org; Thu, 18 Jan 2024 15:01:51 +0000 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rQTtr-002Tl2-Vn for pgsql-hackers@postgresql.org; Thu, 18 Jan 2024 15:01:51 +0000 Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-5cfaf7ef393so117084a12.3 for ; Thu, 18 Jan 2024 07:01:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hagander.net; s=mail; t=1705590106; x=1706194906; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4lC0a6bSmpwrMFLyPqYG90gXplefl4pbeJ8W8dCOIE0=; b=O0qYhWoSBIzOCgu7Ry+sIzmLz773cBIf/XZ93qrCg1X8QTCZGcgdaPlqXM+JQNMios nYKT+N0MkrKauaryJS2taRBWJ41/Kyq4Y23trTIi17ThImey24MCmXBZKa1cMBSXIhHJ YzJ76EgDR19q10o7+14KI4fII2qT67CQVM+4pV3F9MTH8ZZ1vPUhHziFVuAeXTN9aNvd kuZhRiz2j2AFn2UBNvULe6s1XSZYOHySDI+rN85ZagSJ6PMakMsuHjWtUTsWqn1eDTBp 43oGpjqUPecGVM9sv4dhaH59PaRt9Giwb+d6WLLNrFRXkH3mav1lUPU5lyN5//jLAI6s 3CFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705590106; x=1706194906; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4lC0a6bSmpwrMFLyPqYG90gXplefl4pbeJ8W8dCOIE0=; b=Uk7GJM7bSp0hmhXpKQ+AE/C3D+jKDWOZGBEnPTFHIaifZxzGfG8dlFM8fjr8+5ftPv 3E+IVHNgjNJ/uUlCoJaTQjgEvXTUMAC5WQ1wxWDflAKZ+UByBsZTTjzytI2KoLZvYWYc rVsg5f549GCYEjDHUD6oHDl0fafdgjvsBtP4k1r+B1PCS+XpYeLBIOycp8QNVdg19cxo ydI4dQynLDm5OyLA10cz1DfJSes482IDNcs8M6pgH9BWXEX0Uin9CzRjEXHHc126Y+HI hGgV7D3X2NKmJ2Yb+IY7X0KH4NG2FDuNQjzPJYGm9AfIgEgAmHQraTjshzS53G6KxNZY 7/Fw== X-Gm-Message-State: AOJu0YzUTyFEAjjSHMqPtIC+ZbZuLq2Yb4WdIezx6ub8W4ChoS+EfNGD nHsMZF5idBqMPc7/in7SkT9WsbMaoCf9LHdIpqM4a7sNPVW6kNs141Lca5aUl37PTGmwAZxWffd ziPSamCzd3sbWvG67PWfsg/r2ay9GSuxQepTV X-Google-Smtp-Source: AGHT+IGakFZFuO4mMC8tmP/kH0i6wA9BL3eVwhjTKZrbqCzcLCWchMjNi9G/qXIcxFuITiVrHbPnHFE/ZtFlF5yg5W4= X-Received: by 2002:a17:90b:3790:b0:28e:7b99:9110 with SMTP id mz16-20020a17090b379000b0028e7b999110mr709876pjb.13.1705590105517; Thu, 18 Jan 2024 07:01:45 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Magnus Hagander Date: Thu, 18 Jan 2024 16:01:33 +0100 Message-ID: Subject: Re: System username in pg_stat_activity To: Bertrand Drouvot Cc: Aleksander Alekseev , PostgreSQL-development Content-Type: multipart/mixed; boundary="0000000000005f520d060f39a428" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005f520d060f39a428 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jan 15, 2024 at 11:17=E2=80=AFAM Bertrand Drouvot wrote: > > Hi, > > On Fri, Jan 12, 2024 at 05:16:53PM +0100, Magnus Hagander wrote: > > On Thu, Jan 11, 2024 at 5:55=E2=80=AFPM Bertrand Drouvot > > wrote: > > > > > > I'm wondering if it would make sense to populate it for parallel work= ers too. > > > I think it's doable thanks to d951052, but I'm not sure it's worth it= (one could > > > join based on the leader_pid though). OTOH that would be consistent w= ith > > > how the SYSTEM_USER behaves with parallel workers (it's populated). > > > > I guess one could conceptually argue that "authentication happens int > > he leader". But we do populate it with the other user records, and > > it'd be weird if this one was excluded. > > > > The tricky thing is that pgstat_bestart() is called long before we > > deserialize the data. But from what I can tell it should be safe to > > change it per the attached? That should be AFAICT an extremely short > > window of time longer before we report it, not enough to matter. > > Thanks! Yeah, that seems reasonable to me. Also, I think we should remove= the > "MyProcPort" test here then (looking at v3): > > + if (MyProcPort && MyClientConnectionInfo.authn_id) > + strlcpy(lbeentry.st_auth_identity, MyClientConnectionInfo= .authn_id, NAMEDATALEN); > + else > + MemSet(&lbeentry.st_auth_identity, 0, sizeof(lbeentry.st_= auth_identity)); > > to get the st_auth_identity propagated to the parallel workers. Yup, I had done that in v4 which as you noted further down, I forgot to pos= t. > > > - what about "Contains the same value as the identity part in "? > > Not sure, but looks like you missed this comment? I did. Agree with your comment, and updated now. > > > +# Users with md5 auth should show both auth method and name in pg_st= at_activity > > > > > > what about "show both auth method and identity"? > > > > Good spot, yeah, I changed it over to identity everywhere else so it > > should be here as well. > > Did you forget to share the new revision (aka v4)? I can only see the > "reorder_parallel_worker_bestart.patch" attached. I did. Here it is, and also including that suggested docs fix as well as a rebase on current master. --=20 Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/ --0000000000005f520d060f39a428 Content-Type: text/x-patch; charset="US-ASCII"; name="v4_authuser.patch" Content-Disposition: attachment; filename="v4_authuser.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lrjcav360 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9mdW5jLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZnVuYy5z Z21sCmluZGV4IDIxMGM3YzBiMDIuLjhmYTBlNTQ3NGUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9mdW5jLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbApAQCAtMjM0NjIsNyArMjM0 NjIsNyBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xzX2RpcignLicpIFdJVEggT1JESU5BTElUWSBBUyB0 KGxzLG4pOwogCiAgICAgICA8cm93PgogICAgICAgIDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2Vu dHJ5Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+Ci0gICAgICAgIDxpbmRleHRlcm0+Cisg ICAgICAgIDxpbmRleHRlcm0gaWQ9InN5c3RlbS11c2VyIj4KICAgICAgICAgIDxwcmltYXJ5PnN5 c3RlbV91c2VyPC9wcmltYXJ5PgogICAgICAgICA8L2luZGV4dGVybT4KICAgICAgICAgPGZ1bmN0 aW9uPnN5c3RlbV91c2VyPC9mdW5jdGlvbj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25p dG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCmluZGV4IDZlNzQxMzhh NjkuLjI1ZWI3YTRiZjQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAtNzg0LDYgKzc4NCwyOCBAQCBw b3N0Z3JlcyAgIDI3MDkzICAwLjAgIDAuMCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMToz NCAgIDA6MDAgcG9zdGdyZXM6IHNlcgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAgICAgIDwvcm93 PgogCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5hdXRo X21ldGhvZDwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8L3R5cGU+CisgICAgICA8L3BhcmE+Cisg ICAgICA8cGFyYT4KKyAgICAgICBUaGUgYXV0aGVudGljYXRpb24gbWV0aG9kIHVzZWQgZm9yIGF1 dGhlbnRpY2F0aW5nIHRoZSBjb25uZWN0aW9uLCBvcgorICAgICAgIE5VTEwgZm9yIGJhY2tncm91 bmQgcHJvY2Vzc2VzLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5hdXRoX2lkZW50aXR5 PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgIFRoZSBpZGVudGl0eSAoaWYgYW55KSB0aGF0IHRoZSB1c2VyIHByZXNlbnRl ZCBkdXJpbmcgdGhlIGF1dGhlbnRpY2F0aW9uCisgICAgICAgY3ljbGUgYmVmb3JlIHRoZXkgd2Vy ZSBhc3NpZ25lZCBhIGRhdGFiYXNlIHJvbGUuICBDb250YWlucyB0aGUgc2FtZQorICAgICAgIHZh bHVlIGFzIHRoZSBpZGVudGl0eSBwYXJ0IGluIDx4cmVmIGxpbmtlbmQ9InN5c3RlbS11c2VyIiAv Piwgb3IgTlVMTAorICAgICAgIGZvciBiYWNrZ3JvdW5kIHByb2Nlc3Nlcy4KKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAg ICAgICA8c3RydWN0ZmllbGQ+YXBwbGljYXRpb25fbmFtZTwvc3RydWN0ZmllbGQ+IDx0eXBlPnRl eHQ8L3R5cGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9wYXJhbGxl bC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcGFyYWxsZWwuYwppbmRleCA4NDlhMDNl NGI2Li4yNjlhYjRlNTg2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9w YXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3BhcmFsbGVsLmMKQEAg LTE1MjksNiArMTUyOSw5IEBAIFBhcmFsbGVsV29ya2VyTWFpbihEYXR1bSBtYWluX2FyZykKIAkv KiBBdHRhY2ggdG8gdGhlIGxlYWRlcidzIHNlcmlhbGl6YWJsZSB0cmFuc2FjdGlvbiwgaWYgU0VS SUFMSVpBQkxFLiAqLwogCUF0dGFjaFNlcmlhbGl6YWJsZVhhY3QoZnBzLT5zZXJpYWxpemFibGVf eGFjdF9oYW5kbGUpOwogCisJLyogUmVwb3J0IHRvIHRoZSBzdGF0cyBzeXN0ZW0gdGhhdCB3ZSBh cmUgc3RhcnRlZCAqLworCXBnc3RhdF9iZXN0YXJ0KCk7CisKIAkvKgogCSAqIFdlJ3ZlIGluaXRp YWxpemVkIGFsbCBvZiBvdXIgc3RhdGUgbm93OyBub3RoaW5nIHNob3VsZCBjaGFuZ2UKIAkgKiBo ZXJlYWZ0ZXIuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggZTQzZTM2ZjVh Yy4uYjY4YzM4MmRlMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmll d3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtODcz LDYgKzg3Myw4IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfYWN0aXZpdHkgQVMKICAgICAgICAgICAg IFMubGVhZGVyX3BpZCwKICAgICAgICAgICAgIFMudXNlc3lzaWQsCiAgICAgICAgICAgICBVLnJv bG5hbWUgQVMgdXNlbmFtZSwKKyAgICAgICAgICAgIFMuYXV0aF9tZXRob2QsCisgICAgICAgICAg ICBTLmF1dGhfaWRlbnRpdHksCiAgICAgICAgICAgICBTLmFwcGxpY2F0aW9uX25hbWUsCiAgICAg ICAgICAgICBTLmNsaWVudF9hZGRyLAogICAgICAgICAgICAgUy5jbGllbnRfaG9zdG5hbWUsCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2VuZC9saWJwcS9h dXRoLmMKaW5kZXggOWJiZGM0YmViMC4uNjYyMTk2OTE1NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvbGlicHEvYXV0aC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtNjI1LDkg KzYyNSwyMCBAQCBDbGllbnRBdXRoZW50aWNhdGlvbihQb3J0ICpwb3J0KQogCQkJc3RhdHVzID0g Q2hlY2tSQURJVVNBdXRoKHBvcnQpOwogCQkJYnJlYWs7CiAJCWNhc2UgdWFDZXJ0OgotCQkJLyog dWFDZXJ0IHdpbGwgYmUgdHJlYXRlZCBhcyBpZiBjbGllbnRjZXJ0PXZlcmlmeS1mdWxsICh1YVRy dXN0KSAqLworCisJCQkvKgorCQkJICogdWFDZXJ0IHdpbGwgYmUgdHJlYXRlZCBhcyBpZiBjbGll bnRjZXJ0PXZlcmlmeS1mdWxsIGZ1cnRoZXIKKwkJCSAqIGRvd24KKwkJCSAqLworCQkJYnJlYWs7 CiAJCWNhc2UgdWFUcnVzdDoKIAkJCXN0YXR1cyA9IFNUQVRVU19PSzsKKworCQkJLyoKKwkJCSAq IFRydXN0IGRvZXNuJ3Qgc2V0X2F1dGhuX2lkKCksIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIHN0b3Jl IHRoZQorCQkJICogYXV0aF9tZXRob2QKKwkJCSAqLworCQkJTXlDbGllbnRDb25uZWN0aW9uSW5m by5hdXRoX21ldGhvZCA9IHVhVHJ1c3Q7CiAJCQlicmVhazsKIAl9CiAKQEAgLTY0NSw2ICs2NTYs MTIgQEAgQ2xpZW50QXV0aGVudGljYXRpb24oUG9ydCAqcG9ydCkKICNlbmRpZgogCX0KIAorCS8q CisJICogQWxsIGF1dGggbWV0aG9kcyBzaG91bGQgaGF2ZSBlaXRoZXIgY2FsbGVkIHNldF9hdXRo bl9pZCgpIG9yIG1hbnVhbGx5CisJICogc2V0IHRoZSBhdXRoX21ldGhvZCBpZiB0aGV5IHdlcmUg c3VjY2Vzc2Z1bC4KKwkgKi8KKwlBc3NlcnQoc3RhdHVzICE9IFNUQVRVU19PSyB8fCBNeUNsaWVu dENvbm5lY3Rpb25JbmZvLmF1dGhfbWV0aG9kICE9IDApOworCiAJaWYgKExvZ19jb25uZWN0aW9u cyAmJiBzdGF0dXMgPT0gU1RBVFVTX09LICYmCiAJCSFNeUNsaWVudENvbm5lY3Rpb25JbmZvLmF1 dGhuX2lkKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2JhY2tl bmRfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9iYWNrZW5kX3N0YXR1cy5j CmluZGV4IDFhMTA1MGM4ZGEuLmY1MmQxZThmNDkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2JhY2tlbmRfc3RhdHVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvYmFja2VuZF9zdGF0dXMuYwpAQCAtMzU3LDYgKzM1NywxMiBAQCBwZ3N0YXRfYmVzdGFy dCh2b2lkKQogCWVsc2UKIAkJTWVtU2V0KCZsYmVlbnRyeS5zdF9jbGllbnRhZGRyLCAwLCBzaXpl b2YobGJlZW50cnkuc3RfY2xpZW50YWRkcikpOwogCisJbGJlZW50cnkuc3RfYXV0aF9tZXRob2Qg PSBNeUNsaWVudENvbm5lY3Rpb25JbmZvLmF1dGhfbWV0aG9kOworCWlmIChNeUNsaWVudENvbm5l Y3Rpb25JbmZvLmF1dGhuX2lkKQorCQlzdHJsY3B5KGxiZWVudHJ5LnN0X2F1dGhfaWRlbnRpdHks IE15Q2xpZW50Q29ubmVjdGlvbkluZm8uYXV0aG5faWQsIE5BTUVEQVRBTEVOKTsKKwllbHNlCisJ CU1lbVNldCgmbGJlZW50cnkuc3RfYXV0aF9pZGVudGl0eSwgMCwgc2l6ZW9mKGxiZWVudHJ5LnN0 X2F1dGhfaWRlbnRpdHkpKTsKKwogI2lmZGVmIFVTRV9TU0wKIAlpZiAoTXlQcm9jUG9ydCAmJiBN eVByb2NQb3J0LT5zc2xfaW5fdXNlKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMK aW5kZXggMzBhMjA2MzUwNS4uMjQ0OTBmN2FlOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1 bmNzLmMKQEAgLTMwNCw3ICszMDQsNyBAQCBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKFBHX0ZV TkNUSU9OX0FSR1MpCiBEYXR1bQogcGdfc3RhdF9nZXRfYWN0aXZpdHkoUEdfRlVOQ1RJT05fQVJH UykKIHsKLSNkZWZpbmUgUEdfU1RBVF9HRVRfQUNUSVZJVFlfQ09MUwkzMQorI2RlZmluZSBQR19T VEFUX0dFVF9BQ1RJVklUWV9DT0xTCTMzCiAJaW50CQkJbnVtX2JhY2tlbmRzID0gcGdzdGF0X2Zl dGNoX3N0YXRfbnVtYmFja2VuZHMoKTsKIAlpbnQJCQljdXJyX2JhY2tlbmQ7CiAJaW50CQkJcGlk ID0gUEdfQVJHSVNOVUxMKDApID8gLTEgOiBQR19HRVRBUkdfSU5UMzIoMCk7CkBAIC02MTcsNiAr NjE3LDE3IEBAIHBnX3N0YXRfZ2V0X2FjdGl2aXR5KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJbnVs bHNbMzBdID0gdHJ1ZTsKIAkJCWVsc2UKIAkJCQl2YWx1ZXNbMzBdID0gVUludDY0R2V0RGF0dW0o YmVlbnRyeS0+c3RfcXVlcnlfaWQpOworCisJCQkvKiBBdXRoZW50aWNhdGVkIHVzZXIgKi8KKwkJ CWlmIChiZWVudHJ5LT5zdF9hdXRoX21ldGhvZCAhPSB1YVJlamVjdCAmJiBiZWVudHJ5LT5zdF9h dXRoX21ldGhvZCAhPSB1YUltcGxpY2l0UmVqZWN0KQorCQkJeworCQkJCXZhbHVlc1szMV0gPSBD U3RyaW5nR2V0VGV4dERhdHVtKGhiYV9hdXRobmFtZShiZWVudHJ5LT5zdF9hdXRoX21ldGhvZCkp OworCQkJCXZhbHVlc1szMl0gPSBDU3RyaW5nR2V0VGV4dERhdHVtKGJlZW50cnktPnN0X2F1dGhf aWRlbnRpdHkpOworCQkJfQorCQkJZWxzZQorCQkJeworCQkJCW51bGxzWzMxXSA9IG51bGxzWzMy XSA9IHRydWU7CisJCQl9CiAJCX0KIAkJZWxzZQogCQl7CkBAIC02NDYsNiArNjU3LDggQEAgcGdf c3RhdF9nZXRfYWN0aXZpdHkoUEdfRlVOQ1RJT05fQVJHUykKIAkJCW51bGxzWzI4XSA9IHRydWU7 CiAJCQludWxsc1syOV0gPSB0cnVlOwogCQkJbnVsbHNbMzBdID0gdHJ1ZTsKKwkJCW51bGxzWzMx XSA9IHRydWU7CisJCQludWxsc1szMl0gPSB0cnVlOwogCQl9CiAKIAkJdHVwbGVzdG9yZV9wdXR2 YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywgdmFsdWVzLCBudWxscyk7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMgYi9zcmMvYmFj a2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMKaW5kZXggMWFkMzM2NzE1OS4uY2UwOTBmNjg2NCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0aW5pdC5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUg ImFjY2Vzcy9nZW5hbS5oIgogI2luY2x1ZGUgImFjY2Vzcy9oZWFwYW0uaCIKICNpbmNsdWRlICJh Y2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiYWNjZXNzL3BhcmFsbGVsLmgiCiAjaW5j bHVkZSAiYWNjZXNzL3Nlc3Npb24uaCIKICNpbmNsdWRlICJhY2Nlc3Mvc3lzYXR0ci5oIgogI2lu Y2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgiCkBAIC0xMjM1LDcgKzEyMzYsNyBAQCBJbml0UG9zdGdy ZXMoY29uc3QgY2hhciAqaW5fZGJuYW1lLCBPaWQgZGJvaWQsCiAJCXByb2Nlc3Nfc2Vzc2lvbl9w cmVsb2FkX2xpYnJhcmllcygpOwogCiAJLyogcmVwb3J0IHRoaXMgYmFja2VuZCBpbiB0aGUgUGdC YWNrZW5kU3RhdHVzIGFycmF5ICovCi0JaWYgKCFib290c3RyYXApCisJaWYgKCFib290c3RyYXAg JiYgIUlzUGFyYWxsZWxXb3JrZXIoKSkKIAkJcGdzdGF0X2Jlc3RhcnQoKTsKIAogCS8qIGNsb3Nl IHRoZSB0cmFuc2FjdGlvbiB3ZSBzdGFydGVkIGFib3ZlICovCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dAppbmRleCA1ODgxMWE2NTMwLi4wOWJhMzdjNTBjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQK QEAgLTU0NDAsOSArNTQ0MCw5IEBACiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2FjdGl2aXR5 JywgcHJvcm93cyA9PiAnMTAwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4g J3QnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywKICAgcHJvcmV0dHlw ZSA9PiAncmVjb3JkJywgcHJvYXJndHlwZXMgPT4gJ2ludDQnLAotICBwcm9hbGxhcmd0eXBlcyA9 PiAne2ludDQsb2lkLGludDQsb2lkLHRleHQsdGV4dCx0ZXh0LHRleHQsdGV4dCx0aW1lc3RhbXB0 eix0aW1lc3RhbXB0eix0aW1lc3RhbXB0eix0aW1lc3RhbXB0eixpbmV0LHRleHQsaW50NCx4aWQs eGlkLHRleHQsYm9vbCx0ZXh0LHRleHQsaW50NCx0ZXh0LG51bWVyaWMsdGV4dCxib29sLHRleHQs Ym9vbCxib29sLGludDQsaW50OH0nLAotICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8s byxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sb30nLAotICBw cm9hcmduYW1lcyA9PiAne3BpZCxkYXRpZCxwaWQsdXNlc3lzaWQsYXBwbGljYXRpb25fbmFtZSxz dGF0ZSxxdWVyeSx3YWl0X2V2ZW50X3R5cGUsd2FpdF9ldmVudCx4YWN0X3N0YXJ0LHF1ZXJ5X3N0 YXJ0LGJhY2tlbmRfc3RhcnQsc3RhdGVfY2hhbmdlLGNsaWVudF9hZGRyLGNsaWVudF9ob3N0bmFt ZSxjbGllbnRfcG9ydCxiYWNrZW5kX3hpZCxiYWNrZW5kX3htaW4sYmFja2VuZF90eXBlLHNzbCxz c2x2ZXJzaW9uLHNzbGNpcGhlcixzc2xiaXRzLHNzbF9jbGllbnRfZG4sc3NsX2NsaWVudF9zZXJp YWwsc3NsX2lzc3Vlcl9kbixnc3NfYXV0aCxnc3NfcHJpbmMsZ3NzX2VuYyxnc3NfZGVsZWdhdGlv bixsZWFkZXJfcGlkLHF1ZXJ5X2lkfScsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7aW50NCxvaWQs aW50NCxvaWQsdGV4dCx0ZXh0LHRleHQsdGV4dCx0ZXh0LHRpbWVzdGFtcHR6LHRpbWVzdGFtcHR6 LHRpbWVzdGFtcHR6LHRpbWVzdGFtcHR6LGluZXQsdGV4dCxpbnQ0LHhpZCx4aWQsdGV4dCxib29s LHRleHQsdGV4dCxpbnQ0LHRleHQsbnVtZXJpYyx0ZXh0LGJvb2wsdGV4dCxib29sLGJvb2wsaW50 NCxpbnQ4LHRleHQsdGV4dH0nLAorICBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sbyxvLG8sbyxv LG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG8sbyxvLG99JywKKyAg cHJvYXJnbmFtZXMgPT4gJ3twaWQsZGF0aWQscGlkLHVzZXN5c2lkLGFwcGxpY2F0aW9uX25hbWUs c3RhdGUscXVlcnksd2FpdF9ldmVudF90eXBlLHdhaXRfZXZlbnQseGFjdF9zdGFydCxxdWVyeV9z dGFydCxiYWNrZW5kX3N0YXJ0LHN0YXRlX2NoYW5nZSxjbGllbnRfYWRkcixjbGllbnRfaG9zdG5h bWUsY2xpZW50X3BvcnQsYmFja2VuZF94aWQsYmFja2VuZF94bWluLGJhY2tlbmRfdHlwZSxzc2ws c3NsdmVyc2lvbixzc2xjaXBoZXIsc3NsYml0cyxzc2xfY2xpZW50X2RuLHNzbF9jbGllbnRfc2Vy aWFsLHNzbF9pc3N1ZXJfZG4sZ3NzX2F1dGgsZ3NzX3ByaW5jLGdzc19lbmMsZ3NzX2RlbGVnYXRp b24sbGVhZGVyX3BpZCxxdWVyeV9pZCxhdXRoX21ldGhvZCxhdXRoX2lkZW50aXR5fScsCiAgIHBy b3NyYyA9PiAncGdfc3RhdF9nZXRfYWN0aXZpdHknIH0sCiB7IG9pZCA9PiAnODQwMycsIGRlc2Ny ID0+ICdkZXNjcmliZSB3YWl0IGV2ZW50cycsCiAgIHByb25hbWUgPT4gJ3BnX2dldF93YWl0X2V2 ZW50cycsIHByb2Nvc3QgPT4gJzEwJywgcHJvcm93cyA9PiAnMjUwJywKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRfc3RhdHVzLmggYi9zcmMvaW5jbHVkZS91dGlscy9iYWNr ZW5kX3N0YXR1cy5oCmluZGV4IDdiOGEzNGY2NGYuLmNmYzQ1YTIyMjQgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRfc3RhdHVzLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMv YmFja2VuZF9zdGF0dXMuaApAQCAtMTEsNiArMTEsNyBAQAogI2RlZmluZSBCQUNLRU5EX1NUQVRV U19ICiAKICNpbmNsdWRlICJkYXRhdHlwZS90aW1lc3RhbXAuaCIKKyNpbmNsdWRlICJsaWJwcS9o YmEuaCIKICNpbmNsdWRlICJsaWJwcS9wcWNvbW0uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIJ CQkvKiBmb3IgQmFja2VuZFR5cGUgKi8KICNpbmNsdWRlICJzdG9yYWdlL2JhY2tlbmRpZC5oIgpA QCAtMTMyLDYgKzEzMywxMCBAQCB0eXBlZGVmIHN0cnVjdCBQZ0JhY2tlbmRTdGF0dXMKIAlTb2Nr QWRkcglzdF9jbGllbnRhZGRyOwogCWNoYXIJICAgKnN0X2NsaWVudGhvc3RuYW1lOwkvKiBNVVNU IGJlIG51bGwtdGVybWluYXRlZCAqLwogCisJLyogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGF1dGhl bnRpY2F0ZWQgdXNlciAqLworCVVzZXJBdXRoCXN0X2F1dGhfbWV0aG9kOworCWNoYXIJCXN0X2F1 dGhfaWRlbnRpdHlbTkFNRURBVEFMRU5dOworCiAJLyogSW5mb3JtYXRpb24gYWJvdXQgU1NMIGNv bm5lY3Rpb24gKi8KIAlib29sCQlzdF9zc2w7CiAJUGdCYWNrZW5kU1NMU3RhdHVzICpzdF9zc2xz dGF0dXM7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwMV9wYXNzd29y ZC5wbCBiL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsCmluZGV4IDg3 ZTE4MGFmM2QuLjdkOWM0MDkwNjYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9u L3QvMDAxX3Bhc3N3b3JkLnBsCisrKyBiL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bh c3N3b3JkLnBsCkBAIC0xNzYsNiArMTc2LDIyIEBAIGlzKCRyZXMsICd0JywKIAkidXNlcnMgd2l0 aCB0cnVzdCBhdXRoZW50aWNhdGlvbiB1c2UgU1lTVEVNX1VTRVIgPSBOVUxMIGluIHBhcmFsbGVs IHdvcmtlcnMiCiApOwogCisjIHBnX3N0YXRfYWN0aXZpdHkgc2hvdWxkIGNvbnRhaW4gdHJ1c3Qg YW5kIGVtcHR5IHN0cmluZyBmb3IgdHJ1c3QgYXV0aAorJHJlcyA9ICRub2RlLT5zYWZlX3BzcWwo CisJJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGF1dGhfbWV0aG9kLCBhdXRoX2lkZW50aXR5PScnIEZS T00gcGdfc3RhdF9hY3Rpdml0eSBXSEVSRSBwaWQ9cGdfYmFja2VuZF9waWQoKSIsCisJY29ubnN0 ciA9PiAidXNlcj1zY3JhbV9yb2xlIik7CitpcygkcmVzLCAndHJ1c3R8dCcsICdVc2VycyB3aXRo IHRydXN0IGF1dGhlbnRpY2F0aW9uIHNob3VsZCBzaG93IGNvcnJlY3RseSBpbiBwZ19zdGF0X2Fj dGl2aXR5Jyk7CisKKyMgcGdfc3RhdF9hY3Rpdml0eSBzaG91bGQgY29udGFpbiBOVUxMIGZvciBh dXRoIG9mIGJhY2tncm91bmQgcHJvY2Vzc2VzCisjICh0ZXN0IGlzIGEgYml0IG91dCBvZiBwbGFj ZSBoZXJlLCBidXQgdGhpcyBpcyB3aGVyZSB0aGUgb3RoZXIgcGdfc3RhdF9hY3Rpdml0eS5hdXRo KiB0ZXN0cyBhcmUpCiskcmVzID0gJG5vZGUtPnNhZmVfcHNxbCgKKwkncG9zdGdyZXMnLAorCSJT RUxFQ1QgYXV0aF9tZXRob2QgSVMgTlVMTCwgYXV0aF9pZGVudGl0eSBJUyBOVUxMIEZST00gcGdf c3RhdF9hY3Rpdml0eSBXSEVSRSBiYWNrZW5kX3R5cGU9J2NoZWNrcG9pbnRlciciLAorKTsKK2lz KCRyZXMsICd0fHQnLCAnQmFja2dyb3VuZCBwcm9jZXNzZXMgc2hvdWxkIHNob3cgTlVMTCBmb3Ig YXV0aCBpbiBwZ19zdGF0X2FjdGl2aXR5Jyk7CisKKwogIyBFeHBsaWNpdGx5IHNwZWNpZnlpbmcg YW4gZW1wdHkgcmVxdWlyZV9hdXRoICh0aGUgZGVmYXVsdCkgc2hvdWxkIGFsd2F5cwogIyBzdWNj ZWVkLgogJG5vZGUtPmNvbm5lY3Rfb2soInVzZXI9c2NyYW1fcm9sZSByZXF1aXJlX2F1dGg9IiwK QEAgLTQ4Myw2ICs0OTksMTMgQEAgaXMoJHJlcywgJ3QnLAogCSJ1c2VycyB3aXRoIG1kNSBhdXRo ZW50aWNhdGlvbiB1c2UgU1lTVEVNX1VTRVIgPSBtZDU6cm9sZSBpbiBwYXJhbGxlbCB3b3JrZXJz IgogKTsKIAorIyBVc2VycyB3aXRoIG1kNSBhdXRoIHNob3VsZCBzaG93IGJvdGggYXV0aCBtZXRo b2QgYW5kIGlkZW50aXR5IGluIHBnX3N0YXRfYWN0aXZpdHkKKyRyZXMgPSAkbm9kZS0+c2FmZV9w c3FsKAorCSdwb3N0Z3JlcycsCisJIlNFTEVDVCBhdXRoX21ldGhvZCwgYXV0aF9pZGVudGl0eSBG Uk9NIHBnX3N0YXRfYWN0aXZpdHkgV0hFUkUgcGlkPXBnX2JhY2tlbmRfcGlkKCkiLAorCWNvbm5z dHIgPT4gInVzZXI9c2NyYW1fcm9sZSIpOworaXMoJHJlcywgJ21kNXxzY3JhbV9yb2xlJywgJ1Vz ZXJzIHdpdGggbWQ1IGF1dGhlbnRpY2F0aW9uIHNob3VsZCBzaG93IGNvcnJlY3RseSBpbiBwZ19z dGF0X2FjdGl2aXR5Jyk7CisKICMgVGVzdHMgZm9yIGNoYW5uZWwgYmluZGluZyB3aXRob3V0IFNT TC4KICMgVXNpbmcgdGhlIHBhc3N3b3JkIGF1dGhlbnRpY2F0aW9uIG1ldGhvZDsgY2hhbm5lbCBi aW5kaW5nIGNhbid0IHdvcmsKIHJlc2V0X3BnX2hiYSgkbm9kZSwgJ2FsbCcsICdhbGwnLCAncGFz c3dvcmQnKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggNTVmMmU5NTM1Mi4u MTRjMjNkYmQ1MCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTE3NDQsNiAr MTc0NCw4IEBAIHBnX3N0YXRfYWN0aXZpdHl8IFNFTEVDVCBzLmRhdGlkLAogICAgIHMubGVhZGVy X3BpZCwKICAgICBzLnVzZXN5c2lkLAogICAgIHUucm9sbmFtZSBBUyB1c2VuYW1lLAorICAgIHMu YXV0aF9tZXRob2QsCisgICAgcy5hdXRoX2lkZW50aXR5LAogICAgIHMuYXBwbGljYXRpb25fbmFt ZSwKICAgICBzLmNsaWVudF9hZGRyLAogICAgIHMuY2xpZW50X2hvc3RuYW1lLApAQCAtMTc2MCw3 ICsxNzYyLDcgQEAgcGdfc3RhdF9hY3Rpdml0eXwgU0VMRUNUIHMuZGF0aWQsCiAgICAgcy5xdWVy eV9pZCwKICAgICBzLnF1ZXJ5LAogICAgIHMuYmFja2VuZF90eXBlCi0gICBGUk9NICgocGdfc3Rh dF9nZXRfYWN0aXZpdHkoTlVMTDo6aW50ZWdlcikgcyhkYXRpZCwgcGlkLCB1c2VzeXNpZCwgYXBw bGljYXRpb25fbmFtZSwgc3RhdGUsIHF1ZXJ5LCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRfZXZlbnQs IHhhY3Rfc3RhcnQsIHF1ZXJ5X3N0YXJ0LCBiYWNrZW5kX3N0YXJ0LCBzdGF0ZV9jaGFuZ2UsIGNs aWVudF9hZGRyLCBjbGllbnRfaG9zdG5hbWUsIGNsaWVudF9wb3J0LCBiYWNrZW5kX3hpZCwgYmFj a2VuZF94bWluLCBiYWNrZW5kX3R5cGUsIHNzbCwgc3NsdmVyc2lvbiwgc3NsY2lwaGVyLCBzc2xi aXRzLCBzc2xfY2xpZW50X2RuLCBzc2xfY2xpZW50X3NlcmlhbCwgc3NsX2lzc3Vlcl9kbiwgZ3Nz X2F1dGgsIGdzc19wcmluYywgZ3NzX2VuYywgZ3NzX2RlbGVnYXRpb24sIGxlYWRlcl9waWQsIHF1 ZXJ5X2lkKQorICAgRlJPTSAoKHBnX3N0YXRfZ2V0X2FjdGl2aXR5KE5VTEw6OmludGVnZXIpIHMo ZGF0aWQsIHBpZCwgdXNlc3lzaWQsIGFwcGxpY2F0aW9uX25hbWUsIHN0YXRlLCBxdWVyeSwgd2Fp dF9ldmVudF90eXBlLCB3YWl0X2V2ZW50LCB4YWN0X3N0YXJ0LCBxdWVyeV9zdGFydCwgYmFja2Vu ZF9zdGFydCwgc3RhdGVfY2hhbmdlLCBjbGllbnRfYWRkciwgY2xpZW50X2hvc3RuYW1lLCBjbGll bnRfcG9ydCwgYmFja2VuZF94aWQsIGJhY2tlbmRfeG1pbiwgYmFja2VuZF90eXBlLCBzc2wsIHNz bHZlcnNpb24sIHNzbGNpcGhlciwgc3NsYml0cywgc3NsX2NsaWVudF9kbiwgc3NsX2NsaWVudF9z ZXJpYWwsIHNzbF9pc3N1ZXJfZG4sIGdzc19hdXRoLCBnc3NfcHJpbmMsIGdzc19lbmMsIGdzc19k ZWxlZ2F0aW9uLCBsZWFkZXJfcGlkLCBxdWVyeV9pZCwgYXV0aF9tZXRob2QsIGF1dGhfaWRlbnRp dHkpCiAgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBkIE9OICgocy5kYXRpZCA9IGQub2lkKSkp CiAgICAgIExFRlQgSk9JTiBwZ19hdXRoaWQgdSBPTiAoKHMudXNlc3lzaWQgPSB1Lm9pZCkpKTsK IHBnX3N0YXRfYWxsX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKQEAgLTE4ODAsNyAr MTg4Miw3IEBAIHBnX3N0YXRfZ3NzYXBpfCBTRUxFQ1QgcGlkLAogICAgIGdzc19wcmluYyBBUyBw cmluY2lwYWwsCiAgICAgZ3NzX2VuYyBBUyBlbmNyeXB0ZWQsCiAgICAgZ3NzX2RlbGVnYXRpb24g QVMgY3JlZGVudGlhbHNfZGVsZWdhdGVkCi0gICBGUk9NIHBnX3N0YXRfZ2V0X2FjdGl2aXR5KE5V TEw6OmludGVnZXIpIHMoZGF0aWQsIHBpZCwgdXNlc3lzaWQsIGFwcGxpY2F0aW9uX25hbWUsIHN0 YXRlLCBxdWVyeSwgd2FpdF9ldmVudF90eXBlLCB3YWl0X2V2ZW50LCB4YWN0X3N0YXJ0LCBxdWVy eV9zdGFydCwgYmFja2VuZF9zdGFydCwgc3RhdGVfY2hhbmdlLCBjbGllbnRfYWRkciwgY2xpZW50 X2hvc3RuYW1lLCBjbGllbnRfcG9ydCwgYmFja2VuZF94aWQsIGJhY2tlbmRfeG1pbiwgYmFja2Vu ZF90eXBlLCBzc2wsIHNzbHZlcnNpb24sIHNzbGNpcGhlciwgc3NsYml0cywgc3NsX2NsaWVudF9k biwgc3NsX2NsaWVudF9zZXJpYWwsIHNzbF9pc3N1ZXJfZG4sIGdzc19hdXRoLCBnc3NfcHJpbmMs IGdzc19lbmMsIGdzc19kZWxlZ2F0aW9uLCBsZWFkZXJfcGlkLCBxdWVyeV9pZCkKKyAgIEZST00g cGdfc3RhdF9nZXRfYWN0aXZpdHkoTlVMTDo6aW50ZWdlcikgcyhkYXRpZCwgcGlkLCB1c2VzeXNp ZCwgYXBwbGljYXRpb25fbmFtZSwgc3RhdGUsIHF1ZXJ5LCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRf ZXZlbnQsIHhhY3Rfc3RhcnQsIHF1ZXJ5X3N0YXJ0LCBiYWNrZW5kX3N0YXJ0LCBzdGF0ZV9jaGFu Z2UsIGNsaWVudF9hZGRyLCBjbGllbnRfaG9zdG5hbWUsIGNsaWVudF9wb3J0LCBiYWNrZW5kX3hp ZCwgYmFja2VuZF94bWluLCBiYWNrZW5kX3R5cGUsIHNzbCwgc3NsdmVyc2lvbiwgc3NsY2lwaGVy LCBzc2xiaXRzLCBzc2xfY2xpZW50X2RuLCBzc2xfY2xpZW50X3NlcmlhbCwgc3NsX2lzc3Vlcl9k biwgZ3NzX2F1dGgsIGdzc19wcmluYywgZ3NzX2VuYywgZ3NzX2RlbGVnYXRpb24sIGxlYWRlcl9w aWQsIHF1ZXJ5X2lkLCBhdXRoX21ldGhvZCwgYXV0aF9pZGVudGl0eSkKICAgV0hFUkUgKGNsaWVu dF9wb3J0IElTIE5PVCBOVUxMKTsKIHBnX3N0YXRfaW98IFNFTEVDVCBiYWNrZW5kX3R5cGUsCiAg ICAgb2JqZWN0LApAQCAtMjA4Miw3ICsyMDg0LDcgQEAgcGdfc3RhdF9yZXBsaWNhdGlvbnwgU0VM RUNUIHMucGlkLAogICAgIHcuc3luY19wcmlvcml0eSwKICAgICB3LnN5bmNfc3RhdGUsCiAgICAg dy5yZXBseV90aW1lCi0gICBGUk9NICgocGdfc3RhdF9nZXRfYWN0aXZpdHkoTlVMTDo6aW50ZWdl cikgcyhkYXRpZCwgcGlkLCB1c2VzeXNpZCwgYXBwbGljYXRpb25fbmFtZSwgc3RhdGUsIHF1ZXJ5 LCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRfZXZlbnQsIHhhY3Rfc3RhcnQsIHF1ZXJ5X3N0YXJ0LCBi YWNrZW5kX3N0YXJ0LCBzdGF0ZV9jaGFuZ2UsIGNsaWVudF9hZGRyLCBjbGllbnRfaG9zdG5hbWUs IGNsaWVudF9wb3J0LCBiYWNrZW5kX3hpZCwgYmFja2VuZF94bWluLCBiYWNrZW5kX3R5cGUsIHNz bCwgc3NsdmVyc2lvbiwgc3NsY2lwaGVyLCBzc2xiaXRzLCBzc2xfY2xpZW50X2RuLCBzc2xfY2xp ZW50X3NlcmlhbCwgc3NsX2lzc3Vlcl9kbiwgZ3NzX2F1dGgsIGdzc19wcmluYywgZ3NzX2VuYywg Z3NzX2RlbGVnYXRpb24sIGxlYWRlcl9waWQsIHF1ZXJ5X2lkKQorICAgRlJPTSAoKHBnX3N0YXRf Z2V0X2FjdGl2aXR5KE5VTEw6OmludGVnZXIpIHMoZGF0aWQsIHBpZCwgdXNlc3lzaWQsIGFwcGxp Y2F0aW9uX25hbWUsIHN0YXRlLCBxdWVyeSwgd2FpdF9ldmVudF90eXBlLCB3YWl0X2V2ZW50LCB4 YWN0X3N0YXJ0LCBxdWVyeV9zdGFydCwgYmFja2VuZF9zdGFydCwgc3RhdGVfY2hhbmdlLCBjbGll bnRfYWRkciwgY2xpZW50X2hvc3RuYW1lLCBjbGllbnRfcG9ydCwgYmFja2VuZF94aWQsIGJhY2tl bmRfeG1pbiwgYmFja2VuZF90eXBlLCBzc2wsIHNzbHZlcnNpb24sIHNzbGNpcGhlciwgc3NsYml0 cywgc3NsX2NsaWVudF9kbiwgc3NsX2NsaWVudF9zZXJpYWwsIHNzbF9pc3N1ZXJfZG4sIGdzc19h dXRoLCBnc3NfcHJpbmMsIGdzc19lbmMsIGdzc19kZWxlZ2F0aW9uLCBsZWFkZXJfcGlkLCBxdWVy eV9pZCwgYXV0aF9tZXRob2QsIGF1dGhfaWRlbnRpdHkpCiAgICAgIEpPSU4gcGdfc3RhdF9nZXRf d2FsX3NlbmRlcnMoKSB3KHBpZCwgc3RhdGUsIHNlbnRfbHNuLCB3cml0ZV9sc24sIGZsdXNoX2xz biwgcmVwbGF5X2xzbiwgd3JpdGVfbGFnLCBmbHVzaF9sYWcsIHJlcGxheV9sYWcsIHN5bmNfcHJp b3JpdHksIHN5bmNfc3RhdGUsIHJlcGx5X3RpbWUpIE9OICgocy5waWQgPSB3LnBpZCkpKQogICAg ICBMRUZUIEpPSU4gcGdfYXV0aGlkIHUgT04gKChzLnVzZXN5c2lkID0gdS5vaWQpKSk7CiBwZ19z dGF0X3JlcGxpY2F0aW9uX3Nsb3RzfCBTRUxFQ1Qgcy5zbG90X25hbWUsCkBAIC0yMTE2LDcgKzIx MTgsNyBAQCBwZ19zdGF0X3NzbHwgU0VMRUNUIHBpZCwKICAgICBzc2xfY2xpZW50X2RuIEFTIGNs aWVudF9kbiwKICAgICBzc2xfY2xpZW50X3NlcmlhbCBBUyBjbGllbnRfc2VyaWFsLAogICAgIHNz bF9pc3N1ZXJfZG4gQVMgaXNzdWVyX2RuCi0gICBGUk9NIHBnX3N0YXRfZ2V0X2FjdGl2aXR5KE5V TEw6OmludGVnZXIpIHMoZGF0aWQsIHBpZCwgdXNlc3lzaWQsIGFwcGxpY2F0aW9uX25hbWUsIHN0 YXRlLCBxdWVyeSwgd2FpdF9ldmVudF90eXBlLCB3YWl0X2V2ZW50LCB4YWN0X3N0YXJ0LCBxdWVy eV9zdGFydCwgYmFja2VuZF9zdGFydCwgc3RhdGVfY2hhbmdlLCBjbGllbnRfYWRkciwgY2xpZW50 X2hvc3RuYW1lLCBjbGllbnRfcG9ydCwgYmFja2VuZF94aWQsIGJhY2tlbmRfeG1pbiwgYmFja2Vu ZF90eXBlLCBzc2wsIHNzbHZlcnNpb24sIHNzbGNpcGhlciwgc3NsYml0cywgc3NsX2NsaWVudF9k biwgc3NsX2NsaWVudF9zZXJpYWwsIHNzbF9pc3N1ZXJfZG4sIGdzc19hdXRoLCBnc3NfcHJpbmMs IGdzc19lbmMsIGdzc19kZWxlZ2F0aW9uLCBsZWFkZXJfcGlkLCBxdWVyeV9pZCkKKyAgIEZST00g cGdfc3RhdF9nZXRfYWN0aXZpdHkoTlVMTDo6aW50ZWdlcikgcyhkYXRpZCwgcGlkLCB1c2VzeXNp ZCwgYXBwbGljYXRpb25fbmFtZSwgc3RhdGUsIHF1ZXJ5LCB3YWl0X2V2ZW50X3R5cGUsIHdhaXRf ZXZlbnQsIHhhY3Rfc3RhcnQsIHF1ZXJ5X3N0YXJ0LCBiYWNrZW5kX3N0YXJ0LCBzdGF0ZV9jaGFu Z2UsIGNsaWVudF9hZGRyLCBjbGllbnRfaG9zdG5hbWUsIGNsaWVudF9wb3J0LCBiYWNrZW5kX3hp ZCwgYmFja2VuZF94bWluLCBiYWNrZW5kX3R5cGUsIHNzbCwgc3NsdmVyc2lvbiwgc3NsY2lwaGVy LCBzc2xiaXRzLCBzc2xfY2xpZW50X2RuLCBzc2xfY2xpZW50X3NlcmlhbCwgc3NsX2lzc3Vlcl9k biwgZ3NzX2F1dGgsIGdzc19wcmluYywgZ3NzX2VuYywgZ3NzX2RlbGVnYXRpb24sIGxlYWRlcl9w aWQsIHF1ZXJ5X2lkLCBhdXRoX21ldGhvZCwgYXV0aF9pZGVudGl0eSkKICAgV0hFUkUgKGNsaWVu dF9wb3J0IElTIE5PVCBOVUxMKTsKIHBnX3N0YXRfc3Vic2NyaXB0aW9ufCBTRUxFQ1Qgc3Uub2lk IEFTIHN1YmlkLAogICAgIHN1LnN1Ym5hbWUsCg== --0000000000005f520d060f39a428--