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 1w80a4-0007j1-2y for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 18:46:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w80a3-001vDA-27 for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 18:46:20 +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 1w80a3-001vCu-0G for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 18:46:19 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w80Zz-000000003wi-10V2 for pgsql-hackers@postgresql.org; Wed, 01 Apr 2026 18:46:18 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-66d24c6963bso177925a12.1 for ; Wed, 01 Apr 2026 11:46:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775069174; cv=none; d=google.com; s=arc-20240605; b=Pct5X5CZSfvh4uSsrI3+/41+P3tmVs/U9g9fWiZ2tjTlupxT599cataGZ22bhdMHaT f9oNhDF6TnRmOFH9TR1UF4DIZKNyjKKqyXzXZak6fNYgQv0tAbUZYOFNbSS7WUC/X4Xc XlgAlkBKe33Gd2htdzJr4yykpuN1Jjrrylcpu7q5h+12sAwK/WgujJUBMSthbLsqQ+B6 1RZNFRuRTpz4VMRXZWc4xtdP7kr/G7PrUzuMjPlvms051nxZjachokRK28RxVcFbndHY 86/ul3OyqFJQPboNojYclkOGfICNnLYbMLMZpjkyhq7bH+xYSJrgl+nbsOpPXWV4x3+p ZbxQ== 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=izl2sozZ1pcxqV1ddBhILBBa5Kmtv2nv2wIuKWBM4Fk=; fh=H+YHWCUzly9C5J4RbfReltq53XRyhnYRMqAjjPT6pSI=; b=iZsmsrKZ6LLpBK4noNATz66WLaCAs0G5Wbt33ZQw3SALNp/BUzN63cOa1zgCe+tM4R 8KeooGbYMKg2YHt3cW/2tRx1RZCzsbg7Ae1e9q4BsKui7DMwy6E8OveLBSe82fIIdQq8 ZzmVtvS9KYavIJ0pTkeKa58LmxceYH8iP7ahfQSHBIsjPQgq7rUVuClfBDlaKZLW97Xn ZMcuMHNdyCFcvrRYqjYa7HamThZWHCkpPM7l4KdKr2uEYVcqiodeNQ6H1vkZ6dgdbigv qrOcEXHFxcNZaEEfzYdXiQR4r/0psQk8rCW/BCwggNEb9itil0sFpmxIC7rxahNLOxBh ipKg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775069174; x=1775673974; 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=izl2sozZ1pcxqV1ddBhILBBa5Kmtv2nv2wIuKWBM4Fk=; b=rWaTzq/BZvyzftMvvgtOrmS4f6XZg+hWD4jJfTRDSR4z1DcwLAxW8zKU/xMUgHh1Ir JkJnufo64tXixstwbeVUQi8xvhyLs6CO/gGlPUb/beboQU3vh/9DG4gkBN9yr/slQNFE ucBrKNFoYlPx0w435ROG2kbi/ZstAPKjxxnJ3Vd4uCU7ip7Bw1jogVDE0j2U4LhA9Je/ TadJyJYN61oYR3Ql7Mpl8gzw6bMkZR8JC4z8w7m9Y52I4ZkR9mqfI0mPHLbeSgmrL3J5 vGX9xr8oN0mmXiDBlpWErdU6eBMqzbOz7rw0mNTSNXkuOpUPjE7+mAbO6nUNrwZitpuC OVVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775069174; x=1775673974; 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=izl2sozZ1pcxqV1ddBhILBBa5Kmtv2nv2wIuKWBM4Fk=; b=FS/gSK1hQPgUbEPFM9njDP0sMcwR1TvbkAIlrse49G6Bob8FUVBlSJrj8zC5quH/ox ZQ6Bde9yfaLJyi6jOuuHnTd4DbLKtdTQmRY3fM+8oPJxZMvEnf4MtsTjCX3UBXFeZOId xQw9HlvIZAZZjk8BR+UACqE+drmyAOfk4o+GALYedwMyllVnkJeh8GAtCmNygcbk21Y9 bIXdZ8WFqCBVAC1hIMZ+8nYvj5wnxNgMLjbWB/D5N3KqMdzHAWWtZmosuXFiLVdcJ/2R FDrLLkNNwSEF1pJnb5w3qoS5K5vb5Y8PHc2ZymDjQTPcAZrnTt+CGSD0opjRzba5OG2W CYOg== X-Forwarded-Encrypted: i=1; AJvYcCVhugG8usSOQllnMHH74aoFDWDI/BCy5g6AytKsC/I4F8uP4JMcuzl0CQp7ByeA4WI4EJsc3zNcned52XNt@postgresql.org X-Gm-Message-State: AOJu0YzWRPFEhP7+cFN2V5j8ivduaow39HhvtikGMBxl1TsdyngFr0g5 AfTOq1a7NQQqkR9F55EjGFxmM57TV2Bzu9jpmF1feN21BOseZTkzBEWw0valkkYvnq7yk73+TXi m0HYc1uEMuPqWWRQjVX53iB4Bi4sp/ME= X-Gm-Gg: ATEYQzzeDd7OMNxo5+6FS/oNoyZ7Hs1R9kABHAn3Ta+GVSsKrAhd8b/BWkf17Od13CO uUwWrcG09q+wTgliiAKHspK0WKuYDV7ADLSVfKWp9TIlT868WdOR9Zv25NQ+Z2JAOHJVgSZG0yz fT2X21BdjKyiVTYVJfE6jc+06A0rzWGSwyqbZAUfMes6nkZ0eNT67vh/mR42rckN7Ldsmo08NDA fw7rxxESbJDaOqQDEx6HdoO3QeB+H7JicTz59leEeXfqN30TD3vkrl/O7bDHNg41yLjNBl+lFya KXeREZXsMuWmWlte X-Received: by 2002:a05:6402:5188:b0:669:7d33:46ac with SMTP id 4fb4d7f45d1cf-66db09e792amr2917888a12.14.1775069173958; Wed, 01 Apr 2026 11:46:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sami Imseih Date: Wed, 1 Apr 2026 13:45:59 -0500 X-Gm-Features: AQROBzDGdjYHDyDqGbDsed9n1adA3jxwVHRzrkgws1mPi4Xj09suCWjkvrQ5xuU Message-ID: Subject: Re: Add pg_stat_autovacuum_priority To: Nathan Bossart Cc: Bharath Rupireddy , Robert Treat , satyanarlapuram@gmail.com, pgsql-hackers Content-Type: multipart/mixed; boundary="00000000000091349e064e6a7f39" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000091349e064e6a7f39 Content-Type: text/plain; charset="UTF-8" v6 attached addresses a silly bug with v5-0001 that Nathan pointed out offline. v5 was not computing the scores for vacuum,vacuum insert and analyze thresholds for the !wraparound case. -- Sami --00000000000091349e064e6a7f39 Content-Type: application/octet-stream; name="v6-0003-Refactor-autovacuum-score-computation-into-comput.patch" Content-Disposition: attachment; filename="v6-0003-Refactor-autovacuum-score-computation-into-comput.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngeal6g1 RnJvbSBmMzM3ZWE2MWE2Y2U1MWFmNGZkOTk5YTJmNGU4MjMwMDdkMGYyZWUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogVHVlLCAzMSBNYXIgMjAyNiAxODo0MzoyNSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjYgMy80 XSBSZWZhY3RvciBhdXRvdmFjdXVtIHNjb3JlIGNvbXB1dGF0aW9uIGludG8KIGNvbXB1dGVfYXV0 b3ZhY19zY29yZQoKQXV0b3ZhY3V1bSBwcmlvcml0eSBzY29yZSB3aWxsIGJlIGNvbXB1dGVkIGZv ciBzZXZlcmFsCnJlYXNvbnM6IEF1dG92YWN1dW0gcHJvY2Vzc2luZyBhbmQgYSBmdXR1cmUgbW9u aXRvcmluZwp2aWV3IHRvIHJlcG9ydCB0aGUgc2NvcmVzIHBlciB0YWJsZS4KClRoaXMgY29uc29s aWRhdGVzIHRoaXMgY29kZSBpbnRvIGEgbmV3IHJvdXRpbmUKY29tcHV0ZV9hdXRvdmFjX3Njb3Jl KCkgYW5kIGFsc28gcmVtb3ZlcyB0aGUgbmVlZCBmb3IKcmVjaGVja19yZWxhdGlvbl9uZWVkc192 YWNhbmFseXplKCkgd2hpY2ggaXMgZG9pbmcgdGhlCnNhbWUgdGhpbmcuCgpEaXNjdXNzaW9uOiBo dHRwczovL3Bvc3Rnci5lcy9tL0NBQTVSWjBzNHhqTXJCLVZBbkxjY0M3a1k4ZDAtNDgwNi1Mc2Fj LWN6SnNkQTFMWHRBdyU0MG1haWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rl ci9hdXRvdmFjdXVtLmMgfCA0NyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9hdXRvdmFjdXVtLmMKaW5kZXggZjZlODcyMmExN2EuLjZiMmE3ZTQxZTUzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYworKysgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYwpAQCAtMzc0LDEwICszNzQsMTEgQEAgc3RhdGljIHZv aWQgRnJlZVdvcmtlckluZm8oaW50IGNvZGUsIERhdHVtIGFyZyk7CiBzdGF0aWMgYXV0b3ZhY190 YWJsZSAqdGFibGVfcmVjaGVja19hdXRvdmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3Rf bWFwLAogCQkJCQkJCQkJCQlUdXBsZURlc2MgcGdfY2xhc3NfZGVzYywKIAkJCQkJCQkJCQkJaW50 IGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UpOwotc3RhdGljIHZvaWQgcmVjaGVj a19yZWxhdGlvbl9uZWVkc192YWNhbmFseXplKE9pZCByZWxpZCwgQXV0b1ZhY09wdHMgKmF2b3B0 cywKLQkJCQkJCQkJCQkJICBGb3JtX3BnX2NsYXNzIGNsYXNzRm9ybSwKLQkJCQkJCQkJCQkJICBp bnQgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwKLQkJCQkJCQkJCQkJICBib29s ICpkb3ZhY3V1bSwgYm9vbCAqZG9hbmFseXplLCBib29sICp3cmFwYXJvdW5kKTsKK3N0YXRpYyB2 b2lkIGNvbXB1dGVfYXV0b3ZhY19zY29yZShIZWFwVHVwbGUgdHVwbGUsIFR1cGxlRGVzYyBwZ19j bGFzc19kZXNjLAorCQkJCQkJCQkgIGludCBlZmZlY3RpdmVfbXVsdGl4YWN0X2ZyZWV6ZV9tYXhf YWdlLAorCQkJCQkJCQkgIEF1dG9WYWNPcHRzICpyZWxvcHRzLCBpbnQgZWxldmVsLAorCQkJCQkJ CQkgIGJvb2wgKmRvdmFjdXVtLCBib29sICpkb2FuYWx5emUsCisJCQkJCQkJCSAgYm9vbCAqd3Jh cGFyb3VuZCwgQXV0b1ZhY3V1bVNjb3JlcyAqc2NvcmVzKTsKIHN0YXRpYyB2b2lkIHJlbGF0aW9u X25lZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlkLCBBdXRvVmFjT3B0cyAqcmVsb3B0cywKIAkJCQkJ CQkJCSAgRm9ybV9wZ19jbGFzcyBjbGFzc0Zvcm0sCiAJCQkJCQkJCQkgIFBnU3RhdF9TdGF0VGFi RW50cnkgKnRhYmVudHJ5LApAQCAtMjgzNiw2ICsyODM3LDcgQEAgdGFibGVfcmVjaGVja19hdXRv dmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogCWJvb2wJCXdyYXBhcm91bmQ7 CiAJQXV0b1ZhY09wdHMgKmF2b3B0czsKIAlib29sCQlmcmVlX2F2b3B0cyA9IGZhbHNlOworCUF1 dG9WYWN1dW1TY29yZXMgc2NvcmVzOwogCiAJLyogZmV0Y2ggdGhlIHJlbGF0aW9uJ3MgcmVsY2Fj aGUgZW50cnkgKi8KIAljbGFzc1R1cCA9IFNlYXJjaFN5c0NhY2hlQ29weTEoUkVMT0lELCBPYmpl Y3RJZEdldERhdHVtKHJlbGlkKSk7CkBAIC0yODYxLDkgKzI4NjMsMTAgQEAgdGFibGVfcmVjaGVj a19hdXRvdmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogCQkJYXZvcHRzID0g JmhlbnRyeS0+YXJfcmVsb3B0aW9uczsKIAl9CiAKLQlyZWNoZWNrX3JlbGF0aW9uX25lZWRzX3Zh Y2FuYWx5emUocmVsaWQsIGF2b3B0cywgY2xhc3NGb3JtLAotCQkJCQkJCQkJICBlZmZlY3RpdmVf bXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlLAotCQkJCQkJCQkJICAmZG92YWN1dW0sICZkb2FuYWx5 emUsICZ3cmFwYXJvdW5kKTsKKwljb21wdXRlX2F1dG92YWNfc2NvcmUoY2xhc3NUdXAsIHBnX2Ns YXNzX2Rlc2MsCisJCQkJCQkgIGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsCisJ CQkJCQkgIGF2b3B0cywgREVCVUczLAorCQkJCQkJICAmZG92YWN1dW0sICZkb2FuYWx5emUsICZ3 cmFwYXJvdW5kLCAmcHJpb3JpdHkpOwogCiAJLyogT0ssIGl0IG5lZWRzIHNvbWV0aGluZyBkb25l ICovCiAJaWYgKGRvYW5hbHl6ZSB8fCBkb3ZhY3V1bSkKQEAgLTI5NzMsMzMgKzI5NzYsMjkgQEAg dGFibGVfcmVjaGVja19hdXRvdmFjKE9pZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAog fQogCiAvKgotICogcmVjaGVja19yZWxhdGlvbl9uZWVkc192YWNhbmFseXplCi0gKgotICogU3Vi cm91dGluZSBmb3IgdGFibGVfcmVjaGVja19hdXRvdmFjLgotICoKLSAqIEZldGNoIHRoZSBwZ3N0 YXQgb2YgYSByZWxhdGlvbiBhbmQgcmVjaGVjayB3aGV0aGVyIGEgcmVsYXRpb24KLSAqIG5lZWRz IHRvIGJlIHZhY3V1bWVkIG9yIGFuYWx5emVkLgorICogY29tcHV0ZV9hdXRvdmFjX3Njb3JlCisg KgkJRmV0Y2ggdGhlIHBnc3RhdCBlbnRyeSBmb3IgYSByZWxhdGlvbiBhbmQgY2FsbAorICoJCXJl bGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoKSB0byBkZXRlcm1pbmUgd2hldGhlciBpdCBuZWVkcwor ICoJCXZhY3V1bSBvciBhbmFseXplIGFuZCBjb21wdXRlIGl0cyBwcmlvcml0eSBzY29yZXMuCiAg Ki8KIHN0YXRpYyB2b2lkCi1yZWNoZWNrX3JlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoT2lkIHJl bGlkLAotCQkJCQkJCQkgIEF1dG9WYWNPcHRzICphdm9wdHMsCi0JCQkJCQkJCSAgRm9ybV9wZ19j bGFzcyBjbGFzc0Zvcm0sCi0JCQkJCQkJCSAgaW50IGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXpl X21heF9hZ2UsCi0JCQkJCQkJCSAgYm9vbCAqZG92YWN1dW0sCi0JCQkJCQkJCSAgYm9vbCAqZG9h bmFseXplLAotCQkJCQkJCQkgIGJvb2wgKndyYXBhcm91bmQpCitjb21wdXRlX2F1dG92YWNfc2Nv cmUoSGVhcFR1cGxlIHR1cGxlLCBUdXBsZURlc2MgcGdfY2xhc3NfZGVzYywKKwkJCQkJICBpbnQg ZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwKKwkJCQkJICBBdXRvVmFjT3B0cyAq cmVsb3B0cywgaW50IGVsZXZlbCwKKwkJCQkJICBib29sICpkb3ZhY3V1bSwgYm9vbCAqZG9hbmFs eXplLAorCQkJCQkgIGJvb2wgKndyYXBhcm91bmQsIEF1dG9WYWN1dW1TY29yZXMgKnNjb3JlcykK IHsKKwlGb3JtX3BnX2NsYXNzIGNsYXNzRm9ybSA9IChGb3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1Qo dHVwbGUpOwogCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwotCUF1dG9WYWN1dW1TY29y ZXMgc2NvcmVzOwogCiAJLyogZmV0Y2ggdGhlIHBnc3RhdCB0YWJsZSBlbnRyeSAqLwogCXRhYmVu dHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfdGFiZW50cnlfZXh0KGNsYXNzRm9ybS0+cmVsaXNzaGFy ZWQsCi0JCQkJCQkJCQkJCSAgcmVsaWQpOworCQkJCQkJCQkJCQkgIGNsYXNzRm9ybS0+b2lkKTsK IAotCXJlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUocmVsaWQsIGF2b3B0cywgY2xhc3NGb3JtLCB0 YWJlbnRyeSwKKwlyZWxhdGlvbl9uZWVkc192YWNhbmFseXplKGNsYXNzRm9ybS0+b2lkLCByZWxv cHRzLCBjbGFzc0Zvcm0sIHRhYmVudHJ5LAogCQkJCQkJCSAgZWZmZWN0aXZlX211bHRpeGFjdF9m cmVlemVfbWF4X2FnZSwKIAkJCQkJCQkgIGRvdmFjdXVtLCBkb2FuYWx5emUsIHdyYXBhcm91bmQs Ci0JCQkJCQkJICAmc2NvcmVzLCBERUJVRzMpOworCQkJCQkJCSAgc2NvcmVzLCBlbGV2ZWwpOwog CiAJLyogUmVsZWFzZSB0YWJlbnRyeSB0byBhdm9pZCBsZWFrYWdlICovCiAJaWYgKHRhYmVudHJ5 KQotLSAKMi40Ny4zCgo= --00000000000091349e064e6a7f39 Content-Type: application/octet-stream; name="v6-0002-Add-elevel-parameter-to-relation_needs_vacanalyze.patch" Content-Disposition: attachment; filename="v6-0002-Add-elevel-parameter-to-relation_needs_vacanalyze.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngeal6j2 RnJvbSBlZWQzNzFkMmE1ZDVjNzk5MTA0NWEyMTBmNWE3MzE0NTI2NDE2ZjhmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogVHVlLCAzMSBNYXIgMjAyNiAxODozMzoxOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjYgMi80 XSBBZGQgZWxldmVsIHBhcmFtZXRlciB0byByZWxhdGlvbl9uZWVkc192YWNhbmFseXplCgpBbGxv dyBjYWxsZXJzIHRvIGNvbnRyb2wgdGhlIGxvZyBsZXZlbCBmb3IgZGVidWcgb3V0cHV0CmJ5IHBh c3NpbmcgYW4gZWxldmVsIHBhcmFtZXRlci4gUGFzc2luZyAwIHN1cHByZXNzZXMKbG9nZ2luZy4g VGhpcyBwcmVwYXJlcyB0aGUgZnVuY3Rpb24gZm9yIHVzZSBieSBhIGZ1dHVyZQp2aWV3IHRoYXQg c2hvdWxkIG5vdCBlbWl0IGRlYnVnIG1lc3NhZ2VzIHdoZW4gcXVlcmllZC4KCkRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FBNVJaMHM0eGpNckItVkFuTGNjQzdrWThkMC00ODA2LUxz YWMtY3pKc2RBMUxYdEF3JTQwbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC9wb3N0bWFz dGVyL2F1dG92YWN1dW0uYyB8IDQzICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL2F1dG92YWN1dW0uYwppbmRleCBmNDA5YTVkOTAyOC4uZjZlODcyMmExN2EgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCkBAIC0zODMsNyArMzgzLDggQEAgc3RhdGljIHZv aWQgcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShPaWQgcmVsaWQsIEF1dG9WYWNPcHRzICpyZWxv cHRzLAogCQkJCQkJCQkJICBQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeSwKIAkJCQkJCQkJ CSAgaW50IGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UsCiAJCQkJCQkJCQkgIGJv b2wgKmRvdmFjdXVtLCBib29sICpkb2FuYWx5emUsIGJvb2wgKndyYXBhcm91bmQsCi0JCQkJCQkJ CQkgIEF1dG9WYWN1dW1TY29yZXMgKnNjb3Jlcyk7CisJCQkJCQkJCQkgIEF1dG9WYWN1dW1TY29y ZXMgKnNjb3JlcywKKwkJCQkJCQkJCSAgaW50IGVsZXZlbCk7CiAKIHN0YXRpYyB2b2lkIGF1dG92 YWN1dW1fZG9fdmFjX2FuYWx5emUoYXV0b3ZhY190YWJsZSAqdGFiLAogCQkJCQkJCQkJICBCdWZm ZXJBY2Nlc3NTdHJhdGVneSBic3RyYXRlZ3kpOwpAQCAtMjA4MCw3ICsyMDgxLDcgQEAgZG9fYXV0 b3ZhY3V1bSh2b2lkKQogCQlyZWxhdGlvbl9uZWVkc192YWNhbmFseXplKHJlbGlkLCByZWxvcHRz LCBjbGFzc0Zvcm0sIHRhYmVudHJ5LAogCQkJCQkJCQkgIGVmZmVjdGl2ZV9tdWx0aXhhY3RfZnJl ZXplX21heF9hZ2UsCiAJCQkJCQkJCSAgJmRvdmFjdXVtLCAmZG9hbmFseXplLCAmd3JhcGFyb3Vu ZCwKLQkJCQkJCQkJICAmc2NvcmVzKTsKKwkJCQkJCQkJICAmc2NvcmVzLCBERUJVRzMpOwogCiAJ CS8qIFJlbGF0aW9ucyB0aGF0IG5lZWQgd29yayBhcmUgYWRkZWQgdG8gdGFibGVzX3RvX3Byb2Nl c3MgKi8KIAkJaWYgKGRvdmFjdXVtIHx8IGRvYW5hbHl6ZSkKQEAgLTIxODAsNyArMjE4MSw3IEBA IGRvX2F1dG92YWN1dW0odm9pZCkKIAkJcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShyZWxpZCwg cmVsb3B0cywgY2xhc3NGb3JtLCB0YWJlbnRyeSwKIAkJCQkJCQkJICBlZmZlY3RpdmVfbXVsdGl4 YWN0X2ZyZWV6ZV9tYXhfYWdlLAogCQkJCQkJCQkgICZkb3ZhY3V1bSwgJmRvYW5hbHl6ZSwgJndy YXBhcm91bmQsCi0JCQkJCQkJCSAgJnNjb3Jlcyk7CisJCQkJCQkJCSAgJnNjb3JlcywgREVCVUcz KTsKIAogCQkvKiBpZ25vcmUgYW5hbHl6ZSBmb3IgdG9hc3QgdGFibGVzICovCiAJCWlmIChkb3Zh Y3V1bSkKQEAgLTI5OTgsNyArMjk5OSw3IEBAIHJlY2hlY2tfcmVsYXRpb25fbmVlZHNfdmFjYW5h bHl6ZShPaWQgcmVsaWQsCiAJcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShyZWxpZCwgYXZvcHRz LCBjbGFzc0Zvcm0sIHRhYmVudHJ5LAogCQkJCQkJCSAgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVl emVfbWF4X2FnZSwKIAkJCQkJCQkgIGRvdmFjdXVtLCBkb2FuYWx5emUsIHdyYXBhcm91bmQsCi0J CQkJCQkJICAmc2NvcmVzKTsKKwkJCQkJCQkgICZzY29yZXMsIERFQlVHMyk7CiAKIAkvKiBSZWxl YXNlIHRhYmVudHJ5IHRvIGF2b2lkIGxlYWthZ2UgKi8KIAlpZiAodGFiZW50cnkpCkBAIC0zMDg4 LDYgKzMwODksOCBAQCByZWNoZWNrX3JlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUoT2lkIHJlbGlk LAogICogQWxsIGZpZWxkcyBpbiBBdXRvVmFjdXVtU2NvcmVzIGFyZSBhbHdheXMgY29tcHV0ZWQg cmVnYXJkbGVzcyBvZiBhdXRvdmFjdXVtCiAgKiBzZXR0aW5ncy4gIFRoZSBkb3ZhY3V1bSBhbmQg ZG9hbmFseXplIG91dHB1dCBwYXJhbWV0ZXJzIGFyZSBvbmx5IHNldCB3aGVuCiAgKiBhdXRvdmFj dXVtIGlzIGdsb2JhbGx5IGFjdGl2ZSBhbmQgZW5hYmxlZCBmb3IgdGhlIHJlbGF0aW9uLgorICoK KyAqIGVsZXZlbCBjb250cm9scyB0aGUgbG9nIGxldmVsIGZvciBkZWJ1ZyBvdXRwdXQuICBQYXNz IDAgdG8gc3VwcHJlc3MgbG9nZ2luZy4KICAqLwogc3RhdGljIHZvaWQKIHJlbGF0aW9uX25lZWRz X3ZhY2FuYWx5emUoT2lkIHJlbGlkLApAQCAtMzA5OSw3ICszMTAyLDggQEAgcmVsYXRpb25fbmVl ZHNfdmFjYW5hbHl6ZShPaWQgcmVsaWQsCiAJCQkJCQkgIGJvb2wgKmRvdmFjdXVtLAogCQkJCQkJ ICBib29sICpkb2FuYWx5emUsCiAJCQkJCQkgIGJvb2wgKndyYXBhcm91bmQsCi0JCQkJCQkgIEF1 dG9WYWN1dW1TY29yZXMgKnNjb3JlcykKKwkJCQkJCSAgQXV0b1ZhY3V1bVNjb3JlcyAqc2NvcmVz LAorCQkJCQkJICBpbnQgZWxldmVsKQogewogCWJvb2wJCWZvcmNlX3ZhY3V1bTsKIAlib29sCQlh dl9lbmFibGVkOwpAQCAtMzM1MiwxOSArMzM1NiwyMiBAQCByZWxhdGlvbl9uZWVkc192YWNhbmFs eXplKE9pZCByZWxpZCwKIAkJCQkqZG9hbmFseXplID0gdHJ1ZTsKIAkJfQogCi0JCWlmICh2YWNf aW5zX2Jhc2VfdGhyZXNoID49IDApCi0JCQllbG9nKERFQlVHMywgIiVzOiB2YWM6ICUuMGYgKHRo cmVzaCAlLjBmLCBzY29yZSAlLjJmKSwgaW5zOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4y ZiksIGFubDogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYpLCB4aWQgc2NvcmU6ICUuMmYs IG14aWQgc2NvcmU6ICUuMmYiLAotCQkJCSBOYW1lU3RyKGNsYXNzRm9ybS0+cmVsbmFtZSksCi0J CQkJIHZhY3R1cGxlcywgdmFjdGhyZXNoLCBzY29yZXMtPnZhYywKLQkJCQkgaW5zdHVwbGVzLCB2 YWNpbnN0aHJlc2gsIHNjb3Jlcy0+dmFjX2lucywKLQkJCQkgYW5sdHVwbGVzLCBhbmx0aHJlc2gs IHNjb3Jlcy0+YW5sLAotCQkJCSBzY29yZXMtPnhpZCwgc2NvcmVzLT5teGlkKTsKLQkJZWxzZQot CQkJZWxvZyhERUJVRzMsICIlczogdmFjOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiks IGluczogKGRpc2FibGVkKSwgYW5sOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIHhp ZCBzY29yZTogJS4yZiwgbXhpZCBzY29yZTogJS4yZiIsCi0JCQkJIE5hbWVTdHIoY2xhc3NGb3Jt LT5yZWxuYW1lKSwKLQkJCQkgdmFjdHVwbGVzLCB2YWN0aHJlc2gsIHNjb3Jlcy0+dmFjLAotCQkJ CSBhbmx0dXBsZXMsIGFubHRocmVzaCwgc2NvcmVzLT5hbmwsCi0JCQkJIHNjb3Jlcy0+eGlkLCBz Y29yZXMtPm14aWQpOworCQlpZiAoZWxldmVsID4gMCkKKwkJeworCQkJaWYgKHZhY19pbnNfYmFz ZV90aHJlc2ggPj0gMCkKKwkJCQllbG9nKGVsZXZlbCwgIiVzOiB2YWM6ICUuMGYgKHRocmVzaCAl LjBmLCBzY29yZSAlLjJmKSwgaW5zOiAlLjBmICh0aHJlc2ggJS4wZiwgc2NvcmUgJS4yZiksIGFu bDogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYpLCB4aWQgc2NvcmU6ICUuMmYsIG14aWQg c2NvcmU6ICUuMmYiLAorCQkJCQkgTmFtZVN0cihjbGFzc0Zvcm0tPnJlbG5hbWUpLAorCQkJCQkg dmFjdHVwbGVzLCB2YWN0aHJlc2gsIHNjb3Jlcy0+dmFjLAorCQkJCQkgaW5zdHVwbGVzLCB2YWNp bnN0aHJlc2gsIHNjb3Jlcy0+dmFjX2lucywKKwkJCQkJIGFubHR1cGxlcywgYW5sdGhyZXNoLCBz Y29yZXMtPmFubCwKKwkJCQkJIHNjb3Jlcy0+eGlkLCBzY29yZXMtPm14aWQpOworCQkJZWxzZQor CQkJCWVsb2coZWxldmVsLCAiJXM6IHZhYzogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYp LCBpbnM6IChkaXNhYmxlZCksIGFubDogJS4wZiAodGhyZXNoICUuMGYsIHNjb3JlICUuMmYpLCB4 aWQgc2NvcmU6ICUuMmYsIG14aWQgc2NvcmU6ICUuMmYiLAorCQkJCQkgTmFtZVN0cihjbGFzc0Zv cm0tPnJlbG5hbWUpLAorCQkJCQkgdmFjdHVwbGVzLCB2YWN0aHJlc2gsIHNjb3Jlcy0+dmFjLAor CQkJCQkgYW5sdHVwbGVzLCBhbmx0aHJlc2gsIHNjb3Jlcy0+YW5sLAorCQkJCQkgc2NvcmVzLT54 aWQsIHNjb3Jlcy0+bXhpZCk7CisJCX0KIAl9CiB9CiAKLS0gCjIuNDcuMwoK --00000000000091349e064e6a7f39 Content-Type: application/octet-stream; name="v6-0004-Add-pg_stat_autovacuum_priority-view.patch" Content-Disposition: attachment; filename="v6-0004-Add-pg_stat_autovacuum_priority-view.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngeal5z0 RnJvbSAzMjk0MDZlM2RiZTkxODExY2M0MWVhMTk4OGZkNDlmOTY4MTRlMjc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAyMyBNYXIgMjAyNiAxNzowMzo1OSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjYgNC80 XSBBZGQgcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5IHZpZXcKCmQ3OTY1ZDY1ZiBpbnRyb2R1 Y2VkIGF1dG92YWN1dW0gcHJpb3JpdGl6YXRpb24gd2l0aApzY29yaW5nLiBUaGlzIGNoYW5nZSBh ZGRzIGEgdmlldyB0byBleHBvc2UgdGhvc2Ugc2NvcmVzLgoKVGhlIHZpZXcgc2hvd3MgYSByb3cg cGVyIHJlbGF0aW9uIGluZGljYXRpbmcgd2hldGhlciBpdApuZWVkcyB2YWN1dW0gb3IgYW5hbHl6 ZSwgdGhlIHNjb3JlIG9mIGVhY2ggY29tcG9uZW50CmFuZCB0aGUgTWF4IHNjb3JlIGFjcm9zcyBh bGwgY29tcG9uZW50cy4gVGhpcyBwcm92aWRlcwphIHdheSB0byBpbnRyb3NwZWN0IGF1dG92YWN1 dW0gcHJpb3JpdHkgYW5kIHByb3ZpZGUKZmVlZGJhY2sgb24gdHVuaW5nIG9mIHRoZSByZWxhdGVk IEdVQ3MuCgpUaGUgdW5kZXJseWluZyBmdW5jdGlvbiBwZ19zdGF0X2dldF9hdXRvdmFjdXVtX3By aW9yaXR5KCkKc2NhbnMgYWxsIHJlbGF0aW9ucyBpbiB0aGUgY3VycmVudCBkYXRhYmFzZSBhbmQg Y29tcHV0ZXMKc2NvcmVzIHVzaW5nIGNvbXB1dGVfYXV0b3ZhY19zY29yZSgpLiBCeSBkZWZhdWx0 LApvbmx5IHN1cGVydXNlcnMgYW5kIHJvbGVzIHdpdGggcHJpdmlsZWdlcyBvZgpwZ19yZWFkX2Fs bF9zdGF0cyBjYW4gZXhlY3V0ZSB0aGUgZnVuY3Rpb24sIGFzCmNvbnRyb2xsZWQgYnkgdGhlIGZ1 bmN0aW9uJ3MgQUNMIGluIHBnX3Byb2MuCgpUaGUgdmlldyBhbHNvIGVtaXRzIHRoZSByZWxpZCwg bmFtZXNwYWNlIGFuZCByZWxuYW1lLApzbyBpdCBjYW4gYmUgam9pbmVkIHdpdGggb3RoZXIgdmll d3MgbGlrZQpwZ19zdGF0X2FsbF90YWJsZXMgYW5kIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIGZv cgpjb21wbGVtZW50YXJ5IHZhY3V1bSBkZXRhaWxzLgoKVGVzdHMgYWRkZWQgdG8gdmFjdXVtLnNx bAoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUE1UlowczR4ak1yQi1WQW5MY2ND N2tZOGQwLTQ4MDYtTHNhYy1jekpzZEExTFh0QXclNDBtYWlsLmdtYWlsLmNvbQotLS0KIGRvYy9z cmMvc2dtbC9tYWludGVuYW5jZS5zZ21sICAgICAgICB8ICAgNiArCiBkb2Mvc3JjL3NnbWwvbW9u aXRvcmluZy5zZ21sICAgICAgICAgfCAxNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBz cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgfCAgMjEgKysrKwogc3JjL2JhY2tl bmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgIHwgIDg4ICsrKysrKysrKysrKystCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgfCAgMTAgKysKIHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0ICB8ICAxNSArKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dmFjdXVtLm91dCB8ICAzMiArKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bS5zcWwg ICAgICB8ICAyMyArKysrCiA4IGZpbGVzIGNoYW5nZWQsIDM2MCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL21haW50ZW5hbmNlLnNnbWwgYi9k b2Mvc3JjL3NnbWwvbWFpbnRlbmFuY2Uuc2dtbAppbmRleCAwZDJhMjgyMDdlZC4uMjEyNTc3NGFm ZjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tYWludGVuYW5jZS5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9tYWludGVuYW5jZS5zZ21sCkBAIC0xMTY0LDYgKzExNjQsMTIgQEAgYW5hbHl6ZSB0 aHJlc2hvbGQgPSBhbmFseXplIGJhc2UgdGhyZXNob2xkICsgYW5hbHl6ZSBzY2FsZSBmYWN0b3Ig KiBudW1iZXIgb2YgdHUKICAgICAgPGxpdGVyYWw+Mi4wPC9saXRlcmFsPiBlZmZlY3RpdmVseSBk b3VibGVzIHRoZQogICAgICA8ZW1waGFzaXM+YW5hbHl6ZTwvZW1waGFzaXM+IGNvbXBvbmVudCBz Y29yZS4KICAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgVGhlIDxsaW5rIGxpbmtlbmQ9 Im1vbml0b3JpbmctcGctc3RhdC1hdXRvdmFjdXVtLXByaW9yaXR5LXZpZXciPgorICAgICA8c3Ry dWN0bmFtZT5wZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHk8L3N0cnVjdG5hbWU+PC9saW5rPiB2 aWV3IGNhbiBiZQorICAgICB1c2VkIHRvIGluc3BlY3QgZWFjaCB0YWJsZSdzIGF1dG92YWN1dW0g bmVlZCBhbmQgcHJpb3JpdHkgc2NvcmUuCisgICAgPC9wYXJhPgogICAgPC9zZWN0Mz4KICAgPC9z ZWN0Mj4KICA8L3NlY3QxPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dt bCBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKaW5kZXggYmI3NWVkMTA2OWIuLjc5MTg1 MGJhZmU3IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTQ2Myw2ICs0NjMsMTUgQEAgcG9zdGdyZXMg ICAyNzA5MyAgMC4wICAwLjAgIDMwMDk2ICAyNzUyID8gICAgICAgIFNzICAgMTE6MzQgICAwOjAw IHBvc3RncmVzOiBzZXIKICAgICAgIDwvZW50cnk+CiAgICAgIDwvcm93PgogCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnk+PHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5PC9z dHJ1Y3RuYW1lPjxpbmRleHRlcm0+PHByaW1hcnk+cGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5 PC9wcmltYXJ5PjwvaW5kZXh0ZXJtPjwvZW50cnk+CisgICAgICA8ZW50cnk+T25lIHJvdyBwZXIg cmVsYXRpb24gaW4gdGhlIGN1cnJlbnQgZGF0YWJhc2UsIHNob3dpbmcKKyAgICAgICBhIHRhYmxl J3MgYXV0b3ZhY3V1bSBuZWVkIGFuZCBwcmlvcml0eS4gU2VlCisgICAgICAgPGxpbmsgbGlua2Vu ZD0ibW9uaXRvcmluZy1wZy1zdGF0LWF1dG92YWN1dW0tcHJpb3JpdHktdmlldyI+CisgICAgICAg PHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5PC9zdHJ1Y3RuYW1lPjwvbGlu az4gZm9yIGRldGFpbHMuCisgICAgICA8L2VudHJ5PgorICAgICA8L3Jvdz4KKwogICAgICA8cm93 PgogICAgICAgPGVudHJ5PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfYmd3cml0ZXI8L3N0cnVjdG5hbWU+ PGluZGV4dGVybT48cHJpbWFyeT5wZ19zdGF0X2Jnd3JpdGVyPC9wcmltYXJ5PjwvaW5kZXh0ZXJt PjwvZW50cnk+CiAgICAgICA8ZW50cnk+T25lIHJvdyBvbmx5LCBzaG93aW5nIHN0YXRpc3RpY3Mg YWJvdXQgdGhlCkBAIC01MjU2LDYgKzUyNjUsMTYzIEBAIGRlc2NyaXB0aW9uIHwgV2FpdGluZyBm b3IgYSBuZXdseSBpbml0aWFsaXplZCBXQUwgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UK IAogIDwvc2VjdDI+CiAKKyA8c2VjdDIgaWQ9Im1vbml0b3JpbmctcGctc3RhdC1hdXRvdmFjdXVt LXByaW9yaXR5LXZpZXciPgorICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFjdXVt X3ByaW9yaXR5PC9zdHJ1Y3RuYW1lPjwvdGl0bGU+CisKKyAgPGluZGV4dGVybT4KKyAgIDxwcmlt YXJ5PnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+ CisKKyAgPHBhcmE+CisgICBUaGUgPHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9y aXR5PC9zdHJ1Y3RuYW1lPiB2aWV3IGNvbnRhaW5zCisgICBvbmUgcm93IHBlciByZWxhdGlvbiBp biB0aGUgY3VycmVudCBkYXRhYmFzZSwgc2hvd2luZyB3aGV0aGVyIGEgdGFibGUKKyAgIG5lZWRz IGF1dG92YWN1dW0gb3IgYXV0b2FuYWx5emUgYW5kIGl0cyBwcmlvcml0eS4gVGhlCisgICA8c3Ry dWN0ZmllbGQ+c2NvcmU8L3N0cnVjdGZpZWxkPiwgPHN0cnVjdGZpZWxkPmZyZWV6ZV9zY29yZTwv c3RydWN0ZmllbGQ+LAorICAgYW5kIDxzdHJ1Y3RmaWVsZD5tdWx0aXhhY3RfZnJlZXplX3Njb3Jl PC9zdHJ1Y3RmaWVsZD4gdmFsdWVzIG1heSBiZSB2ZXJ5IGxhcmdlIGZvcgorICAgdGFibGVzIGFw cHJvYWNoaW5nIHdyYXBhcm91bmQsIGFzIHRoZXNlIHNjb3JlcyBhcmUgc2NhbGVkIGFnZ3Jlc3Np dmVseQorICAgb25jZSB0aGV5IHN1cnBhc3MgdGhlIGZhaWxzYWZlIGFnZSB0aHJlc2hvbGRzLgor ICA8L3BhcmE+CisKKyAgPHRhYmxlIGlkPSJwZy1zdGF0LWF1dG92YWN1dW0tcHJpb3JpdHktdmll dyIgeHJlZmxhYmVsPSJwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHkiPgorICAgPHRpdGxlPjxz dHJ1Y3RuYW1lPnBnX3N0YXRfYXV0b3ZhY3V1bV9wcmlvcml0eTwvc3RydWN0bmFtZT4gVmlldzwv dGl0bGU+CisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxw YXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9y b3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnJlbGlkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgT0lEIG9mIGEgdGFibGUK KyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+c2NoZW1hbmFtZTwvc3RydWN0ZmllbGQ+IDx0 eXBlPm5hbWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOYW1l IG9mIHRoZSBzY2hlbWEgdGhhdCB0aGlzIHRhYmxlIGlzIGluCisgICAgICA8L3BhcmE+PC9lbnRy eT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9n X3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0 cnVjdGZpZWxkPnJlbG5hbWU8L3N0cnVjdGZpZWxkPiA8dHlwZT5uYW1lPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTmFtZSBvZiB0aGlzIHRhYmxlCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPm5lZWRzX3ZhY3V1bTwvc3RydWN0ZmllbGQ+IDx0eXBlPmJv b2xlYW48L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUcnVlIGlm IHRoZSB0YWJsZSBleGNlZWRzIHRoZSB2YWN1dW0gdGhyZXNob2xkCisgICAgICA8L3BhcmE+PC9l bnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRh bG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAg PHN0cnVjdGZpZWxkPm5lZWRzX2FuYWx5emU8L3N0cnVjdGZpZWxkPiA8dHlwZT5ib29sZWFuPC90 eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVHJ1ZSBpZiB0aGUgdGFi bGUgZXhjZWVkcyB0aGUgYW5hbHl6ZSB0aHJlc2hvbGQKKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0 ZmllbGQ+d3JhcGFyb3VuZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJvb2xlYW48L3R5cGU+CisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUcnVlIGlmIHZhY3V1bWluZyBpcyBuZWVk ZWQgdG8gcHJldmVudCB0cmFuc2FjdGlvbiBJRCBvcgorICAgICAgIG11bHRpeGFjdCBJRCB3cmFw YXJvdW5kCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnNjb3JlPC9zdHJ1Y3RmaWVsZD4g PHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJh PgorICAgICAgIFByaW9yaXR5IHNjb3JlIHVzZWQgYnkgYXV0b3ZhY3V1bSB0byBvcmRlciB3aGlj aCB0YWJsZXMgdG8KKyAgICAgICBwcm9jZXNzIGZpcnN0LiBIaWdoZXIgdmFsdWVzIGluZGljYXRl IGdyZWF0ZXIgdXJnZW5jeS4gVGhpcyBpcworICAgICAgIHRoZSBtYXhpbXVtIG9mIGFsbCBjb21w b25lbnQgc2NvcmVzIGJlbG93LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcmVlemVf c2NvcmU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgorICAgICAg PC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgU2NvcmUgY29tcG9uZW50IGJhc2VkIG9uIHRy YW5zYWN0aW9uIElEIGFnZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+bXVsdGl4YWN0 X2ZyZWV6ZV9zY29yZTwvc3RydWN0ZmllbGQ+IDx0eXBlPmRvdWJsZSBwcmVjaXNpb248L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBTY29yZSBjb21wb25lbnQgYmFz ZWQgb24gbXVsdGl4YWN0IElEIGFnZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jv dz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnki PjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dmFj dXVtX3Njb3JlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+ZG91YmxlIHByZWNpc2lvbjwvdHlwZT4KKyAg ICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFNjb3JlIGNvbXBvbmVudCBiYXNlZCBv biB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBkZWFkIHR1cGxlcworICAgICAgIG5lZWRpbmcgcmVt b3ZhbCBieSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAg ICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSBy b2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnZhY3V1bV9pbnNl cnRfc2NvcmU8L3N0cnVjdGZpZWxkPiA8dHlwZT5kb3VibGUgcHJlY2lzaW9uPC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgU2NvcmUgY29tcG9uZW50IGJhc2VkIG9u IHRoZSBudW1iZXIgb2YgaW5zZXJ0cyBzaW5jZSB0aGUgbGFzdAorICAgICAgIHZhY3V1bS4KKyAg ICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVu dHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0 aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+YW5hbHl6ZV9zY29yZTwvc3RydWN0ZmllbGQ+IDx0 eXBlPmRvdWJsZSBwcmVjaXNpb248L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICBTY29yZSBjb21wb25lbnQgYmFzZWQgb24gdGhlIG51bWJlciBvZiBtb2RpZmljYXRp b25zIHNpbmNlIHRoZQorICAgICAgIGxhc3QgYW5hbHl6ZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisK KyAgPHBhcmE+CisgICBCeSBkZWZhdWx0LCB0aGUgPHN0cnVjdG5hbWU+cGdfc3RhdF9hdXRvdmFj dXVtX3ByaW9yaXR5PC9zdHJ1Y3RuYW1lPiB2aWV3IGNhbgorICAgYmUgcmVhZCBvbmx5IGJ5IHN1 cGVydXNlcnMgb3Igcm9sZXMgd2l0aCBwcml2aWxlZ2VzIG9mIHRoZQorICAgPGxpdGVyYWw+cGdf cmVhZF9hbGxfc3RhdHM8L2xpdGVyYWw+IHJvbGUuCisgIDwvcGFyYT4KKworIDwvc2VjdDI+CisK ICA8c2VjdDIgaWQ9Im1vbml0b3Jpbmctc3RhdHMtZnVuY3Rpb25zIj4KICAgPHRpdGxlPlN0YXRp c3RpY3MgRnVuY3Rpb25zPC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs CmluZGV4IGU1NDAxODAwNGRiLi4zMGJiZDU1ZTMzMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVt X3ZpZXdzLnNxbApAQCAtNzk1LDYgKzc5NSwyNyBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X3hhY3Rf dXNlcl90YWJsZXMgQVMKICAgICBXSEVSRSBzY2hlbWFuYW1lIE5PVCBJTiAoJ3BnX2NhdGFsb2cn LCAnaW5mb3JtYXRpb25fc2NoZW1hJykgQU5ECiAgICAgICAgICAgc2NoZW1hbmFtZSAhfiAnXnBn X3RvYXN0JzsKIAorQ1JFQVRFIFZJRVcgcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5IEFTCisg ICAgU0VMRUNUCisgICAgICAgICAgICBTLnJlbGlkLAorICAgICAgICAgICAgTi5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCisgICAgICAgICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKKyAgICAgICAg ICAgIFMubmVlZHNfdmFjdXVtLAorICAgICAgICAgICAgUy5uZWVkc19hbmFseXplLAorICAgICAg ICAgICAgUy53cmFwYXJvdW5kLAorICAgICAgICAgICAgUy5zY29yZSwKKyAgICAgICAgICAgIFMu ZnJlZXplX3Njb3JlLAorICAgICAgICAgICAgUy5tdWx0aXhhY3RfZnJlZXplX3Njb3JlLAorICAg ICAgICAgICAgUy52YWN1dW1fc2NvcmUsCisgICAgICAgICAgICBTLnZhY3V1bV9pbnNlcnRfc2Nv cmUsCisgICAgICAgICAgICBTLmFuYWx5emVfc2NvcmUKKyAgICBGUk9NIHBnX3N0YXRfZ2V0X2F1 dG92YWN1dW1fcHJpb3JpdHkoKSBTCisgICAgICAgICBKT0lOIHBnX2NsYXNzIEMgT04gQy5vaWQg PSBTLnJlbGlkCisgICAgICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04gTi5vaWQgPSBD LnJlbG5hbWVzcGFjZTsKKworUkVWT0tFIEFMTCBPTiBwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3Jp dHkgRlJPTSBQVUJMSUM7CitHUkFOVCBTRUxFQ1QgT04gcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9y aXR5IFRPIHBnX3JlYWRfYWxsX3N0YXRzOworCiBDUkVBVEUgVklFVyBwZ19zdGF0aW9fYWxsX3Rh YmxlcyBBUwogICAgIFNFTEVDVAogICAgICAgICAgICAgQy5vaWQgQVMgcmVsaWQsCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCmluZGV4IDZiMmE3ZTQxZTUzLi5hMDIwNTdjZjFjNiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKQEAgLTgwLDYgKzgwLDcgQEAKICNpbmNsdWRl ICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgog I2luY2x1ZGUgImNvbW1vbi9pbnQuaCIKKyNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAi bGliL2lsaXN0LmgiCiAjaW5jbHVkZSAibGlicHEvcHFzaWduYWwuaCIKICNpbmNsdWRlICJtaXNj YWRtaW4uaCIKQEAgLTExMSw2ICsxMTIsNyBAQAogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgi CiAjaW5jbHVkZSAidXRpbHMvdGltZW91dC5oIgogI2luY2x1ZGUgInV0aWxzL3RpbWVzdGFtcC5o IgorI2luY2x1ZGUgInV0aWxzL3R1cGxlc3RvcmUuaCIKICNpbmNsdWRlICJ1dGlscy93YWl0X2V2 ZW50LmgiCiAKIApAQCAtMjg2Niw3ICsyODY4LDcgQEAgdGFibGVfcmVjaGVja19hdXRvdmFjKE9p ZCByZWxpZCwgSFRBQiAqdGFibGVfdG9hc3RfbWFwLAogCWNvbXB1dGVfYXV0b3ZhY19zY29yZShj bGFzc1R1cCwgcGdfY2xhc3NfZGVzYywKIAkJCQkJCSAgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVl emVfbWF4X2FnZSwKIAkJCQkJCSAgYXZvcHRzLCBERUJVRzMsCi0JCQkJCQkgICZkb3ZhY3V1bSwg JmRvYW5hbHl6ZSwgJndyYXBhcm91bmQsICZwcmlvcml0eSk7CisJCQkJCQkgICZkb3ZhY3V1bSwg JmRvYW5hbHl6ZSwgJndyYXBhcm91bmQsICZzY29yZXMpOwogCiAJLyogT0ssIGl0IG5lZWRzIHNv bWV0aGluZyBkb25lICovCiAJaWYgKGRvYW5hbHl6ZSB8fCBkb3ZhY3V1bSkKQEAgLTM2ODUsMyAr MzY4Nyw4NyBAQCBjaGVja19hdl93b3JrZXJfZ3Vjcyh2b2lkKQogCQkJCSBlcnJkZXRhaWwoIlRo ZSBzZXJ2ZXIgd2lsbCBvbmx5IHN0YXJ0IHVwIHRvIFwiYXV0b3ZhY3V1bV93b3JrZXJfc2xvdHNc IiAoJWQpIGF1dG92YWN1dW0gd29ya2VycyBhdCBhIGdpdmVuIHRpbWUuIiwKIAkJCQkJCSAgIGF1 dG92YWN1dW1fd29ya2VyX3Nsb3RzKSkpOwogfQorCisvKgorICogcGdfc3RhdF9nZXRfYXV0b3Zh Y3V1bV9wcmlvcml0eQorICoKKyAqIFJldHVybnMgdGhlIGF1dG92YWN1dW0gcHJpb3JpdHkgc2Nv cmUgZm9yIGEgcmVsYXRpb24gYXMgd2VsbCBhcyBpZiB0aGUKKyAqIHJlbGF0aW9uIG5lZWRzIHZh Y3V1bSBvciBhbmFseXplLCBhbmQgaWYgdGhlIHZhY3V1bSBpcyBhIGZvcmNlIHZhY3V1bQorICog ZHVlIHRvIHdyYXBhcm91bmQuCisgKgorICogVGhpcyBmb2xsb3dzIHRoZSBzYW1lIHNldHVwIGFz IGRvX2F1dG92YWN1dW0oKS4gR2xvYmFsIHN0YXRlIHN1Y2gKKyAqIGFzIHJlY2VudFhpZC9yZWNl bnRNdWx0aSBhbmQgZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSBpcworICogY29t cHV0ZWQgaGVyZSwgd2hpbGUgY29tcHV0ZV9hdXRvdmFjX3Njb3JlKCkgaGFuZGxlcyB0aGUgcGVy LXJlbGF0aW9uCisgKiBzY29yZSBjb21wdXRhdGlvbi4KKyAqLworRGF0dW0KK3BnX3N0YXRfZ2V0 X2F1dG92YWN1dW1fcHJpb3JpdHkoUEdfRlVOQ1RJT05fQVJHUykKK3sKKyNkZWZpbmUgTlVNX0FW X1NDT1JFX0NPTFMgMTAKKwlSZXR1cm5TZXRJbmZvICpyc2luZm8gPSAoUmV0dXJuU2V0SW5mbyAq KSBmY2luZm8tPnJlc3VsdGluZm87CisJUmVsYXRpb24JY2xhc3NSZWw7CisJVHVwbGVEZXNjCXBn X2NsYXNzX2Rlc2M7CisJaW50CQkJZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZTsK KwlUYWJsZVNjYW5EZXNjIHJlbFNjYW47CisJSGVhcFR1cGxlCWNsYXNzVHVwOworCisJSW5pdE1h dGVyaWFsaXplZFNSRihmY2luZm8sIDApOworCisJZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVf bWF4X2FnZSA9IE11bHRpWGFjdE1lbWJlckZyZWV6ZVRocmVzaG9sZCgpOworCisJcmVjZW50WGlk ID0gUmVhZE5leHRUcmFuc2FjdGlvbklkKCk7CisJcmVjZW50TXVsdGkgPSBSZWFkTmV4dE11bHRp WGFjdElkKCk7CisKKwljbGFzc1JlbCA9IHRhYmxlX29wZW4oUmVsYXRpb25SZWxhdGlvbklkLCBB Y2Nlc3NTaGFyZUxvY2spOworCXBnX2NsYXNzX2Rlc2MgPSBDcmVhdGVUdXBsZURlc2NDb3B5KFJl bGF0aW9uR2V0RGVzY3IoY2xhc3NSZWwpKTsKKworCXJlbFNjYW4gPSB0YWJsZV9iZWdpbnNjYW5f Y2F0YWxvZyhjbGFzc1JlbCwgMCwgTlVMTCk7CisJd2hpbGUgKChjbGFzc1R1cCA9IGhlYXBfZ2V0 bmV4dChyZWxTY2FuLCBGb3J3YXJkU2NhbkRpcmVjdGlvbikpICE9IE5VTEwpCisJeworCQlGb3Jt X3BnX2NsYXNzIGNsYXNzRm9ybSA9IChGb3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1QoY2xhc3NUdXAp OworCQlib29sCQlkb3ZhY3V1bTsKKwkJYm9vbAkJZG9hbmFseXplOworCQlib29sCQl3cmFwYXJv dW5kOworCQlBdXRvVmFjdXVtU2NvcmVzIHNjb3JlczsKKwkJQXV0b1ZhY09wdHMgKmF2b3B0czsK KwkJRGF0dW0JCXZhbHVlc1tOVU1fQVZfU0NPUkVfQ09MU107CisJCWJvb2wJCW51bGxzW05VTV9B Vl9TQ09SRV9DT0xTXSA9IHtmYWxzZX07CisKKwkJaWYgKGNsYXNzRm9ybS0+cmVsa2luZCAhPSBS RUxLSU5EX1JFTEFUSU9OICYmCisJCQljbGFzc0Zvcm0tPnJlbGtpbmQgIT0gUkVMS0lORF9NQVRW SUVXICYmCisJCQljbGFzc0Zvcm0tPnJlbGtpbmQgIT0gUkVMS0lORF9UT0FTVFZBTFVFKQorCQkJ Y29udGludWU7CisKKwkJaWYgKGNsYXNzRm9ybS0+cmVscGVyc2lzdGVuY2UgPT0gUkVMUEVSU0lT VEVOQ0VfVEVNUCkKKwkJCWNvbnRpbnVlOworCisJCWF2b3B0cyA9IGV4dHJhY3RfYXV0b3ZhY19v cHRzKGNsYXNzVHVwLCBwZ19jbGFzc19kZXNjKTsKKworCQljb21wdXRlX2F1dG92YWNfc2NvcmUo Y2xhc3NUdXAsIHBnX2NsYXNzX2Rlc2MsCisJCQkJCQkJICBlZmZlY3RpdmVfbXVsdGl4YWN0X2Zy ZWV6ZV9tYXhfYWdlLCBhdm9wdHMsCisJCQkJCQkJICAwLCAmZG92YWN1dW0sICZkb2FuYWx5emUs CisJCQkJCQkJICAmd3JhcGFyb3VuZCwgJnNjb3Jlcyk7CisKKwkJaWYgKGF2b3B0cykKKwkJCXBm cmVlKGF2b3B0cyk7CisKKwkJdmFsdWVzWzBdID0gT2JqZWN0SWRHZXREYXR1bShjbGFzc0Zvcm0t Pm9pZCk7CisJCXZhbHVlc1sxXSA9IEJvb2xHZXREYXR1bShzY29yZXMubmVlZHNfdmFjdXVtKTsK KwkJdmFsdWVzWzJdID0gQm9vbEdldERhdHVtKHNjb3Jlcy5uZWVkc19hbmFseXplKTsKKwkJdmFs dWVzWzNdID0gQm9vbEdldERhdHVtKHNjb3Jlcy5pc193cmFwYXJvdW5kKTsKKwkJdmFsdWVzWzRd ID0gRmxvYXQ4R2V0RGF0dW0oc2NvcmVzLm1heCk7CisJCXZhbHVlc1s1XSA9IEZsb2F0OEdldERh dHVtKHNjb3Jlcy54aWQpOworCQl2YWx1ZXNbNl0gPSBGbG9hdDhHZXREYXR1bShzY29yZXMubXhp ZCk7CisJCXZhbHVlc1s3XSA9IEZsb2F0OEdldERhdHVtKHNjb3Jlcy52YWMpOworCQl2YWx1ZXNb OF0gPSBGbG9hdDhHZXREYXR1bShzY29yZXMudmFjX2lucyk7CisJCXZhbHVlc1s5XSA9IEZsb2F0 OEdldERhdHVtKHNjb3Jlcy5hbmwpOworCisJCXR1cGxlc3RvcmVfcHV0dmFsdWVzKHJzaW5mby0+ c2V0UmVzdWx0LCByc2luZm8tPnNldERlc2MsCisJCQkJCQkJIHZhbHVlcywgbnVsbHMpOworCX0K Kwl0YWJsZV9lbmRzY2FuKHJlbFNjYW4pOworCisJdGFibGVfY2xvc2UoY2xhc3NSZWwsIEFjY2Vz c1NoYXJlTG9jayk7CisKKwlyZXR1cm4gKERhdHVtKSAwOworfQpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKaW5kZXggMzU3OWNlYzU3NDQuLjZmNWQxOTlhNTA2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKQEAgLTU2NjcsNiArNTY2NywxNiBAQAogICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90b3Rh bF9hdXRvYW5hbHl6ZV90aW1lJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9 PiAncicsIHByb3JldHR5cGUgPT4gJ2Zsb2F0OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAogICBw cm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RvdGFsX2F1dG9hbmFseXplX3RpbWUnIH0sCit7IG9pZCA9 PiAnODQwOScsCisgIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBhdXRvdmFjdXVtIHByaW9yaXR5IHNj b3JlcyBmb3IgYWxsIHJlbGF0aW9ucycsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2F1dG92 YWN1dW1fcHJpb3JpdHknLCBwcm9yb3dzID0+ICcxMDAnLAorICBwcm9yZXRzZXQgPT4gJ3QnLCBw cm92b2xhdGlsZSA9PiAndicsIHByb3BhcmFsbGVsID0+ICdyJywKKyAgcHJvcmV0dHlwZSA9PiAn cmVjb3JkJywgcHJvYXJndHlwZXMgPT4gJycsCisgIHByb2FsbGFyZ3R5cGVzID0+ICd7b2lkLGJv b2wsYm9vbCxib29sLGZsb2F0OCxmbG9hdDgsZmxvYXQ4LGZsb2F0OCxmbG9hdDgsZmxvYXQ4fScs CisgIHByb2FyZ21vZGVzID0+ICd7byxvLG8sbyxvLG8sbyxvLG8sb30nLAorICBwcm9hcmduYW1l cyA9PiAne3JlbGlkLG5lZWRzX3ZhY3V1bSxuZWVkc19hbmFseXplLHdyYXBhcm91bmQsc2NvcmUs ZnJlZXplX3Njb3JlLG11bHRpeGFjdF9mcmVlemVfc2NvcmUsdmFjdXVtX3Njb3JlLHZhY3V1bV9p bnNlcnRfc2NvcmUsYW5hbHl6ZV9zY29yZX0nLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2F1 dG92YWN1dW1fcHJpb3JpdHknLAorICBwcm9hY2wgPT4gJ3tQT1NUR1JFUz1YLHBnX3JlYWRfYWxs X3N0YXRzPVh9JyB9LAogeyBvaWQgPT4gJzE5MzYnLCBkZXNjciA9PiAnc3RhdGlzdGljczogY3Vy cmVudGx5IGFjdGl2ZSBiYWNrZW5kIElEcycsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2Jh Y2tlbmRfaWRzZXQnLCBwcm9yb3dzID0+ICcxMDAnLCBwcm9yZXRzZXQgPT4gJ3QnLAogICBwcm92 b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50NCcs CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDJiM2NmNmQ4NTY5Li41M2JmOWE0 NmU0ZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTE4NjAsNiArMTg2MCwy MSBAQCBwZ19zdGF0X2FyY2hpdmVyfCBTRUxFQ1QgYXJjaGl2ZWRfY291bnQsCiAgICAgbGFzdF9m YWlsZWRfdGltZSwKICAgICBzdGF0c19yZXNldAogICAgRlJPTSBwZ19zdGF0X2dldF9hcmNoaXZl cigpIHMoYXJjaGl2ZWRfY291bnQsIGxhc3RfYXJjaGl2ZWRfd2FsLCBsYXN0X2FyY2hpdmVkX3Rp bWUsIGZhaWxlZF9jb3VudCwgbGFzdF9mYWlsZWRfd2FsLCBsYXN0X2ZhaWxlZF90aW1lLCBzdGF0 c19yZXNldCk7CitwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHl8IFNFTEVDVCBzLnJlbGlkLAor ICAgIG4ubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAorICAgIGMucmVsbmFtZSwKKyAgICBzLm5lZWRz X3ZhY3V1bSwKKyAgICBzLm5lZWRzX2FuYWx5emUsCisgICAgcy53cmFwYXJvdW5kLAorICAgIHMu c2NvcmUsCisgICAgcy5mcmVlemVfc2NvcmUsCisgICAgcy5tdWx0aXhhY3RfZnJlZXplX3Njb3Jl LAorICAgIHMudmFjdXVtX3Njb3JlLAorICAgIHMudmFjdXVtX2luc2VydF9zY29yZSwKKyAgICBz LmFuYWx5emVfc2NvcmUKKyAgIEZST00gKChwZ19zdGF0X2dldF9hdXRvdmFjdXVtX3ByaW9yaXR5 KCkgcyhyZWxpZCwgbmVlZHNfdmFjdXVtLCBuZWVkc19hbmFseXplLCB3cmFwYXJvdW5kLCBzY29y ZSwgZnJlZXplX3Njb3JlLCBtdWx0aXhhY3RfZnJlZXplX3Njb3JlLCB2YWN1dW1fc2NvcmUsIHZh Y3V1bV9pbnNlcnRfc2NvcmUsIGFuYWx5emVfc2NvcmUpCisgICAgIEpPSU4gcGdfY2xhc3MgYyBP TiAoKGMub2lkID0gcy5yZWxpZCkpKQorICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04g KChuLm9pZCA9IGMucmVsbmFtZXNwYWNlKSkpOwogcGdfc3RhdF9iZ3dyaXRlcnwgU0VMRUNUIHBn X3N0YXRfZ2V0X2Jnd3JpdGVyX2J1Zl93cml0dGVuX2NsZWFuKCkgQVMgYnVmZmVyc19jbGVhbiwK ICAgICBwZ19zdGF0X2dldF9iZ3dyaXRlcl9tYXh3cml0dGVuX2NsZWFuKCkgQVMgbWF4d3JpdHRl bl9jbGVhbiwKICAgICBwZ19zdGF0X2dldF9idWZfYWxsb2MoKSBBUyBidWZmZXJzX2FsbG9jLApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0CmluZGV4IGQ0Njk2YmMzMzI1Li45Y2JjMmY2 YTE0YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtLm91dApAQCAtNzMwLDMgKzczMCwz NSBAQCBTRUxFQ1QgcGdfY29sdW1uX3RvYXN0X2NodW5rX2lkKGYxKSA9IDonaWRfMl9jaHVuaycg QVMgc2FtZV9jaHVuawogKDEgcm93KQogCiBEUk9QIFRBQkxFIHZhY19yZXdyaXRlX3RvYXN0Owor LS0gVGVzdCBwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHkgdmlldy4gU2NvcmVzIGFyZSBjaGVj a2VkIHRvIGJlCistLSB3aXRoaW4gYW4gZXhwZWN0ZWQgcmFuZ2UuIGZyZWV6ZV9zY29yZSBhbmQg bXVsdGl4YWN0X2ZyZWV6ZV9zY29yZSBhcmUgZXhjbHVkZWQKKy0tIGFzIHRoZXkgcmVxdWlyZSBj b25zdW1pbmcgZW5vdWdoIFhJRHMgdG8gYmUgbWVhbmluZ2Z1bC4KK0NSRUFURSBUQUJMRSB2YWN1 dW1fcHJpb3JpdHlfdGVzdCAoaWQgaW50KQorICBXSVRIIChhdXRvdmFjdXVtX2FuYWx5emVfdGhy ZXNob2xkID0gMSwKKyAgICAgICAgYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkID0gMSwKKyAg ICAgICAgYXV0b3ZhY3V1bV92YWN1dW1faW5zZXJ0X3RocmVzaG9sZCA9IDEsCisgICAgICAgIGF1 dG92YWN1dW1fZW5hYmxlZCA9IG9mZik7CitJTlNFUlQgSU5UTyB2YWN1dW1fcHJpb3JpdHlfdGVz dCBTRUxFQ1QgMTsKK0lOU0VSVCBJTlRPIHZhY3V1bV9wcmlvcml0eV90ZXN0IFNFTEVDVCAyOwor REVMRVRFIEZST00gdmFjdXVtX3ByaW9yaXR5X3Rlc3QgV0hFUkUgaWQgPSAxOworREVMRVRFIEZS T00gdmFjdXVtX3ByaW9yaXR5X3Rlc3QgV0hFUkUgaWQgPSAyOworLS0gZm9yY2UgdmFjdXVtIHN0 YXRzIHRvIGJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKKyBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAor KDEgcm93KQorCitTRUxFQ1QgbmVlZHNfdmFjdXVtLCBuZWVkc19hbmFseXplLAorICBzY29yZSA+ IDAgQU5EIHNjb3JlIDw9IDQgQVMgc2NvcmUsCisgIHZhY3V1bV9zY29yZSA+IDAgQU5EIHZhY3V1 bV9zY29yZSA8PSAyIEFTIHZhY3V1bV9zY29yZSwKKyAgdmFjdXVtX2luc2VydF9zY29yZSA+IDAg QU5EIHZhY3V1bV9pbnNlcnRfc2NvcmUgPD0gMiBBUyB2YWN1dW1faW5zZXJ0X3Njb3JlLAorICBh bmFseXplX3Njb3JlID4gMCBBTkQgYW5hbHl6ZV9zY29yZSA8PSA0IEFTIGFuYWx5emVfc2NvcmUK KyAgRlJPTSBwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHkKKyAgV0hFUkUgcmVsbmFtZSA9ICd2 YWN1dW1fcHJpb3JpdHlfdGVzdCc7CisgbmVlZHNfdmFjdXVtIHwgbmVlZHNfYW5hbHl6ZSB8IHNj b3JlIHwgdmFjdXVtX3Njb3JlIHwgdmFjdXVtX2luc2VydF9zY29yZSB8IGFuYWx5emVfc2NvcmUg CistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgdCAgICAgICAgICAgIHwgdCAg ICAgICAgICAgICB8IHQgICAgIHwgdCAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICAgICB8 IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB2YWN1dW1fcHJpb3JpdHlfdGVzdDsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ZhY3V1bS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW0uc3FsCmluZGV4IDI0N2I4ZTIzYjIzLi41NTZmZTMxMjdmNCAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC92YWN1dW0uc3FsCkBAIC01MjUsMyArNTI1LDI2IEBAIFNFTEVDVCBpZCwgcGdfY29sdW1uX3Rv YXN0X2NodW5rX2lkKGYxKSBJUyBOVUxMIEFTIGYxX2NodW5rX251bGwsCiBTRUxFQ1QgcGdfY29s dW1uX3RvYXN0X2NodW5rX2lkKGYxKSA9IDonaWRfMl9jaHVuaycgQVMgc2FtZV9jaHVuawogICBG Uk9NIHZhY19yZXdyaXRlX3RvYXN0IFdIRVJFIGlkID0gMjsKIERST1AgVEFCTEUgdmFjX3Jld3Jp dGVfdG9hc3Q7CisKKy0tIFRlc3QgcGdfc3RhdF9hdXRvdmFjdXVtX3ByaW9yaXR5IHZpZXcuIFNj b3JlcyBhcmUgY2hlY2tlZCB0byBiZQorLS0gd2l0aGluIGFuIGV4cGVjdGVkIHJhbmdlLiBmcmVl emVfc2NvcmUgYW5kIG11bHRpeGFjdF9mcmVlemVfc2NvcmUgYXJlIGV4Y2x1ZGVkCistLSBhcyB0 aGV5IHJlcXVpcmUgY29uc3VtaW5nIGVub3VnaCBYSURzIHRvIGJlIG1lYW5pbmdmdWwuCitDUkVB VEUgVEFCTEUgdmFjdXVtX3ByaW9yaXR5X3Rlc3QgKGlkIGludCkKKyAgV0lUSCAoYXV0b3ZhY3V1 bV9hbmFseXplX3RocmVzaG9sZCA9IDEsCisgICAgICAgIGF1dG92YWN1dW1fdmFjdXVtX3RocmVz aG9sZCA9IDEsCisgICAgICAgIGF1dG92YWN1dW1fdmFjdXVtX2luc2VydF90aHJlc2hvbGQgPSAx LAorICAgICAgICBhdXRvdmFjdXVtX2VuYWJsZWQgPSBvZmYpOworSU5TRVJUIElOVE8gdmFjdXVt X3ByaW9yaXR5X3Rlc3QgU0VMRUNUIDE7CitJTlNFUlQgSU5UTyB2YWN1dW1fcHJpb3JpdHlfdGVz dCBTRUxFQ1QgMjsKK0RFTEVURSBGUk9NIHZhY3V1bV9wcmlvcml0eV90ZXN0IFdIRVJFIGlkID0g MTsKK0RFTEVURSBGUk9NIHZhY3V1bV9wcmlvcml0eV90ZXN0IFdIRVJFIGlkID0gMjsKKy0tIGZv cmNlIHZhY3V1bSBzdGF0cyB0byBiZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoKCk7CitTRUxFQ1QgbmVlZHNfdmFjdXVtLCBuZWVkc19hbmFseXplLAorICBzY29yZSA+ IDAgQU5EIHNjb3JlIDw9IDQgQVMgc2NvcmUsCisgIHZhY3V1bV9zY29yZSA+IDAgQU5EIHZhY3V1 bV9zY29yZSA8PSAyIEFTIHZhY3V1bV9zY29yZSwKKyAgdmFjdXVtX2luc2VydF9zY29yZSA+IDAg QU5EIHZhY3V1bV9pbnNlcnRfc2NvcmUgPD0gMiBBUyB2YWN1dW1faW5zZXJ0X3Njb3JlLAorICBh bmFseXplX3Njb3JlID4gMCBBTkQgYW5hbHl6ZV9zY29yZSA8PSA0IEFTIGFuYWx5emVfc2NvcmUK KyAgRlJPTSBwZ19zdGF0X2F1dG92YWN1dW1fcHJpb3JpdHkKKyAgV0hFUkUgcmVsbmFtZSA9ICd2 YWN1dW1fcHJpb3JpdHlfdGVzdCc7CitEUk9QIFRBQkxFIHZhY3V1bV9wcmlvcml0eV90ZXN0Owot LSAKMi40Ny4zCgo= --00000000000091349e064e6a7f39 Content-Type: application/octet-stream; name="v6-0001-Always-compute-autovacuum-priority-scores.patch" Content-Disposition: attachment; filename="v6-0001-Always-compute-autovacuum-priority-scores.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mngeal6l3 RnJvbSA2MTZlMDJjMGU5YTJjYzVjMDk4Mzg3ZDEyMDc1MWFjOGFkZmEyMGIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW1pIEltc2VpaCA8c2FtaW1zZWloQGdtYWlsLmNvbT4KRGF0 ZTogVHVlLCAzMSBNYXIgMjAyNiAxODoyNTozMCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjYgMS80 XSBBbHdheXMgY29tcHV0ZSBhdXRvdmFjdXVtIHByaW9yaXR5IHNjb3JlcwoKUHJldmlvdXNseSwg WElEL01YSUQgYWdlIHNjb3JlcyB3ZXJlIG9ubHkgY29tcHV0ZWQgd2hlbgphIHRhYmxlIHdhcyBh dCB3cmFwYXJvdW5kIHJpc2ssIGFuZCB0aHJlc2hvbGQtYmFzZWQKc2NvcmVzIHdlcmUgb25seSBj b21wdXRlZCB3aGVuIGF1dG92YWN1dW0gd2FzIGdsb2JhbGx5CmFjdGl2ZS4gVGhpcyBtZWFudCB0 aGUgc2NvcmVzIHdlcmUgdW5hdmFpbGFibGUgZm9yCnRhYmxlcyBub3QgeWV0IGF0IHJpc2sgb3Ig d2l0aCBhdXRvdmFjdXVtIGRpc2FibGVkLgoKQSBmdXR1cmUgcGF0Y2ggdG8gbW9uaXRvciB0aGUg c2NvcmVzIGFuZCB0aGUgbmVlZApmb3IgdmFjdXVtL2FuYWx5emUgbXVzdCBiZSBhYmxlIHRvIGNv bXB1dGUgdGhlc2UKdmFsdWVzIHJlZ2FyZGxlc3Mgb2YgYXV0b3ZhY3V1bSBzdGF0ZSBvbiB0aGUg dGFibGUuClRoZXJlZm9yZSwgc2VwYXJhdGUgdGhlIG5lZWQgZm9yIHZhY3V1bSBhbmQgYW5hbHl6 ZQphbmQgdHJhY2sgdGhlbSBpbiBBdXRvVmFjdXVtU2NvcmVzIHNvIHRoZXkgY2FuIGJlCnVzZWQg Zm9yIHRoaXMgcHVycG9zZSByYXRoZXIgdGhhbiB0aGUgb3V0cHV0CmRvdmFjdXVtLCBkb2FuYWx5 emUgYW5kIHdyYXBhcm91bmQgcGFyYW1ldGVycyB0aGF0CmFyZSBhY3RlZCB1cG9uIGJ5IGF1dG92 YWN1dW0uCgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQTVSWjBzNHhqTXJCLVZB bkxjY0M3a1k4ZDAtNDgwNi1Mc2FjLWN6SnNkQTFMWHRBdyU0MG1haWwuZ21haWwuY29tCi0tLQog c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgfCAxNTkgKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDcyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5j IGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKaW5kZXggNjY5NGY0ODUyMTYu LmY0MDlhNWQ5MDI4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1 dW0uYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYwpAQCAtMzE4LDgg KzMxOCw5IEBAIHN0YXRpYyBNZW1vcnlDb250ZXh0IERhdGFiYXNlTGlzdEN4dCA9IE5VTEw7CiAK IC8qCiAgKiBUaGlzIHN0cnVjdCBpcyB1c2VkIGJ5IHJlbGF0aW9uX25lZWRzX3ZhY2FuYWx5emUo KSB0byByZXR1cm4gdGhlIHRhYmxlJ3MKLSAqIHNjb3JlIChpLmUuLCB0aGUgbWF4aW11bSBvZiB0 aGUgY29tcG9uZW50IHNjb3JlcykgYXMgd2VsbCBhcyB0aGUgY29tcG9uZW50Ci0gKiBzY29yZXMg dGhlbXNlbHZlcy4KKyAqIGF1dG92YWN1dW0gcHJpb3JpdHksIGluY2x1ZGluZyB0aGUgb3ZlcmFs bCBzY29yZSAoaS5lLiwgdGhlIG1heGltdW0gb2YgdGhlCisgKiBjb21wb25lbnQgc2NvcmVzKSwg dGhlIGNvbXBvbmVudCBzY29yZXMgdGhlbXNlbHZlcywgYW5kIHdoZXRoZXIgdGhlIHRhYmxlCisg KiBuZWVkcyB2YWN1dW0sIGFuYWx5emUsIG9yIGlzIGF0IHJpc2sgb2Ygd3JhcGFyb3VuZC4KICAq LwogdHlwZWRlZiBzdHJ1Y3QKIHsKQEAgLTMyOSw2ICszMzAsOSBAQCB0eXBlZGVmIHN0cnVjdAog CWRvdWJsZQkJdmFjOwkJCS8qIHZhY3V1bSBjb21wb25lbnQgKi8KIAlkb3VibGUJCXZhY19pbnM7 CQkvKiB2YWN1dW0gaW5zZXJ0IGNvbXBvbmVudCAqLwogCWRvdWJsZQkJYW5sOwkJCS8qIGFuYWx5 emUgY29tcG9uZW50ICovCisJYm9vbAkJbmVlZHNfdmFjdXVtOwkvKiB0aHJlc2hvbGQgZXhjZWVk ZWQgZm9yIHZhY3V1bSAqLworCWJvb2wJCW5lZWRzX2FuYWx5emU7CS8qIHRocmVzaG9sZCBleGNl ZWRlZCBmb3IgYW5hbHl6ZSAqLworCWJvb2wJCWlzX3dyYXBhcm91bmQ7CS8qIGF0IHJpc2sgb2Yg WElEL01YSUQgd3JhcGFyb3VuZCAqLwogfSBBdXRvVmFjdXVtU2NvcmVzOwogCiAvKgpAQCAtMzA4 MCw2ICszMDg0LDEwIEBAIHJlY2hlY2tfcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShPaWQgcmVs aWQsCiAgKiBUaGUgYXV0b3ZhY3V1bSB0YWJsZSBzY29yZSBpcyByZXR1cm5lZCBpbiBzY29yZXMt Pm1heC4gIFRoZSBjb21wb25lbnQgc2NvcmVzCiAgKiBhcmUgYWxzbyByZXR1cm5lZCBpbiB0aGUg InNjb3JlcyIgYXJndW1lbnQgdmlhIHRoZSBvdGhlciBtZW1iZXJzIG9mIHRoZQogICogQXV0b1Zh Y3V1bVNjb3JlcyBzdHJ1Y3QuCisgKgorICogQWxsIGZpZWxkcyBpbiBBdXRvVmFjdXVtU2NvcmVz IGFyZSBhbHdheXMgY29tcHV0ZWQgcmVnYXJkbGVzcyBvZiBhdXRvdmFjdXVtCisgKiBzZXR0aW5n cy4gIFRoZSBkb3ZhY3V1bSBhbmQgZG9hbmFseXplIG91dHB1dCBwYXJhbWV0ZXJzIGFyZSBvbmx5 IHNldCB3aGVuCisgKiBhdXRvdmFjdXVtIGlzIGdsb2JhbGx5IGFjdGl2ZSBhbmQgZW5hYmxlZCBm b3IgdGhlIHJlbGF0aW9uLgogICovCiBzdGF0aWMgdm9pZAogcmVsYXRpb25fbmVlZHNfdmFjYW5h bHl6ZShPaWQgcmVsaWQsCkBAIC0zMTIyLDYgKzMxMzAsMTAgQEAgcmVsYXRpb25fbmVlZHNfdmFj YW5hbHl6ZShPaWQgcmVsaWQsCiAJVHJhbnNhY3Rpb25JZCByZWxmcm96ZW54aWQ7CiAJTXVsdGlY YWN0SWQgcmVsbWlubXhpZDsKIAlNdWx0aVhhY3RJZCBtdWx0aUZvcmNlTGltaXQ7CisJdWludDMy CQl4aWRfYWdlOworCXVpbnQzMgkJbXhpZF9hZ2U7CisJaW50CQkJZWZmZWN0aXZlX3hpZF9mYWls c2FmZV9hZ2U7CisJaW50CQkJZWZmZWN0aXZlX214aWRfZmFpbHNhZmVfYWdlOwogCiAJQXNzZXJ0 KGNsYXNzRm9ybSAhPSBOVUxMKTsKIAlBc3NlcnQoT2lkSXNWYWxpZChyZWxpZCkpOwpAQCAtMzE5 Niw3NCArMzIwOCw2NCBAQCByZWxhdGlvbl9uZWVkc192YWNhbmFseXplKE9pZCByZWxpZCwKIAl9 CiAJKndyYXBhcm91bmQgPSBmb3JjZV92YWN1dW07CiAKLQkvKiBVcGRhdGUgdGhlIHNjb3JlLiAq LwotCWlmIChmb3JjZV92YWN1dW0pCi0JewotCQl1aW50MzIJCXhpZF9hZ2U7Ci0JCXVpbnQzMgkJ bXhpZF9hZ2U7Ci0JCWludAkJCWVmZmVjdGl2ZV94aWRfZmFpbHNhZmVfYWdlOwotCQlpbnQJCQll ZmZlY3RpdmVfbXhpZF9mYWlsc2FmZV9hZ2U7CisJLyoKKwkgKiBUbyBjYWxjdWxhdGUgdGhlIChN KVhJRCBhZ2UgcG9ydGlvbiBvZiB0aGUgc2NvcmUsIGRpdmlkZSB0aGUgYWdlIGJ5IGl0cworCSAq IHJlc3BlY3RpdmUgKl9mcmVlemVfbWF4X2FnZSBwYXJhbWV0ZXIuCisJICovCisJeGlkX2FnZSA9 IFRyYW5zYWN0aW9uSWRJc05vcm1hbChyZWxmcm96ZW54aWQpID8gcmVjZW50WGlkIC0gcmVsZnJv emVueGlkIDogMDsKKwlteGlkX2FnZSA9IE11bHRpWGFjdElkSXNWYWxpZChyZWxtaW5teGlkKSA/ IHJlY2VudE11bHRpIC0gcmVsbWlubXhpZCA6IDA7CiAKLQkJLyoKLQkJICogVG8gY2FsY3VsYXRl IHRoZSAoTSlYSUQgYWdlIHBvcnRpb24gb2YgdGhlIHNjb3JlLCBkaXZpZGUgdGhlIGFnZSBieQot CQkgKiBpdHMgcmVzcGVjdGl2ZSAqX2ZyZWV6ZV9tYXhfYWdlIHBhcmFtZXRlci4KLQkJICovCi0J CXhpZF9hZ2UgPSBUcmFuc2FjdGlvbklkSXNOb3JtYWwocmVsZnJvemVueGlkKSA/IHJlY2VudFhp ZCAtIHJlbGZyb3plbnhpZCA6IDA7Ci0JCW14aWRfYWdlID0gTXVsdGlYYWN0SWRJc1ZhbGlkKHJl bG1pbm14aWQpID8gcmVjZW50TXVsdGkgLSByZWxtaW5teGlkIDogMDsKKwlzY29yZXMtPnhpZCA9 IChkb3VibGUpIHhpZF9hZ2UgLyBmcmVlemVfbWF4X2FnZTsKKwlzY29yZXMtPm14aWQgPSAoZG91 YmxlKSBteGlkX2FnZSAvIG11bHRpeGFjdF9mcmVlemVfbWF4X2FnZTsKIAotCQlzY29yZXMtPnhp ZCA9IChkb3VibGUpIHhpZF9hZ2UgLyBmcmVlemVfbWF4X2FnZTsKLQkJc2NvcmVzLT5teGlkID0g KGRvdWJsZSkgbXhpZF9hZ2UgLyBtdWx0aXhhY3RfZnJlZXplX21heF9hZ2U7CisJLyoKKwkgKiBU byBlbnN1cmUgdGFibGVzIGFyZSBnaXZlbiBpbmNyZWFzZWQgcHJpb3JpdHkgb25jZSB0aGV5IGJl Z2luCisJICogYXBwcm9hY2hpbmcgd3JhcGFyb3VuZCwgd2Ugc2NhbGUgdGhlIHNjb3JlIGFnZ3Jl c3NpdmVseSBpZiB0aGUgYWdlcworCSAqIHN1cnBhc3MgdmFjdXVtX2ZhaWxzYWZlX2FnZSBvciB2 YWN1dW1fbXVsdGl4YWN0X2ZhaWxzYWZlX2FnZS4KKwkgKgorCSAqIEFzIGluIHZhY3V1bV94aWRf ZmFpbHNhZmVfY2hlY2soKSwgdGhlIGVmZmVjdGl2ZSBmYWlsc2FmZSBhZ2UgaXMgbm8KKwkgKiBs ZXNzIHRoYW4gMTA1JSB0aGUgdmFsdWUgb2YgdGhlIHJlc3BlY3RpdmUgKl9mcmVlemVfbWF4X2Fn ZSBwYXJhbWV0ZXIuCisJICogTm90ZSB0aGF0IHBlci10YWJsZSBzZXR0aW5ncyBjb3VsZCByZXN1 bHQgaW4gYSBsb3cgc2NvcmUgZXZlbiBpZiB0aGUKKwkgKiB0YWJsZSBzdXJwYXNzZXMgdGhlIGZh aWxzYWZlIHNldHRpbmdzLiAgSG93ZXZlciwgdGhpcyBpcyBhIHN0cmFuZ2UKKwkgKiBlbm91Z2gg Y29ybmVyIGNhc2UgdGhhdCB3ZSBkb24ndCBib3RoZXIgdHJ5aW5nIHRvIGhhbmRsZSBpdC4KKwkg KgorCSAqIFdlIGZ1cnRoZXIgYWRqdXN0IHRoZSBlZmZlY3RpdmUgZmFpbHNhZmUgYWdlcyB3aXRo IHRoZSB3ZWlnaHQKKwkgKiBwYXJhbWV0ZXJzIHNvIHRoYXQgaW5jcmVhc2luZyB0aGVtIGxvd2Vy cyB0aGUgYWdlcyBhdCB3aGljaCB3ZSBiZWdpbgorCSAqIHNjYWxpbmcgYWdncmVzc2l2ZWx5Lgor CSAqLworCWVmZmVjdGl2ZV94aWRfZmFpbHNhZmVfYWdlID0gTWF4KHZhY3V1bV9mYWlsc2FmZV9h Z2UsCisJCQkJCQkJCQkgYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2FnZSAqIDEuMDUpOworCWVmZmVj dGl2ZV9teGlkX2ZhaWxzYWZlX2FnZSA9IE1heCh2YWN1dW1fbXVsdGl4YWN0X2ZhaWxzYWZlX2Fn ZSwKKwkJCQkJCQkJCSAgYXV0b3ZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UgKiAxLjA1 KTsKIAotCQkvKgotCQkgKiBUbyBlbnN1cmUgdGFibGVzIGFyZSBnaXZlbiBpbmNyZWFzZWQgcHJp b3JpdHkgb25jZSB0aGV5IGJlZ2luCi0JCSAqIGFwcHJvYWNoaW5nIHdyYXBhcm91bmQsIHdlIHNj YWxlIHRoZSBzY29yZSBhZ2dyZXNzaXZlbHkgaWYgdGhlIGFnZXMKLQkJICogc3VycGFzcyB2YWN1 dW1fZmFpbHNhZmVfYWdlIG9yIHZhY3V1bV9tdWx0aXhhY3RfZmFpbHNhZmVfYWdlLgotCQkgKgot CQkgKiBBcyBpbiB2YWN1dW1feGlkX2ZhaWxzYWZlX2NoZWNrKCksIHRoZSBlZmZlY3RpdmUgZmFp bHNhZmUgYWdlIGlzIG5vCi0JCSAqIGxlc3MgdGhhbiAxMDUlIHRoZSB2YWx1ZSBvZiB0aGUgcmVz cGVjdGl2ZSAqX2ZyZWV6ZV9tYXhfYWdlCi0JCSAqIHBhcmFtZXRlci4gIE5vdGUgdGhhdCBwZXIt dGFibGUgc2V0dGluZ3MgY291bGQgcmVzdWx0IGluIGEgbG93Ci0JCSAqIHNjb3JlIGV2ZW4gaWYg dGhlIHRhYmxlIHN1cnBhc3NlcyB0aGUgZmFpbHNhZmUgc2V0dGluZ3MuICBIb3dldmVyLAotCQkg KiB0aGlzIGlzIGEgc3RyYW5nZSBlbm91Z2ggY29ybmVyIGNhc2UgdGhhdCB3ZSBkb24ndCBib3Ro ZXIgdHJ5aW5nIHRvCi0JCSAqIGhhbmRsZSBpdC4KLQkJICoKLQkJICogV2UgZnVydGhlciBhZGp1 c3QgdGhlIGVmZmVjdGl2ZSBmYWlsc2FmZSBhZ2VzIHdpdGggdGhlIHdlaWdodAotCQkgKiBwYXJh bWV0ZXJzIHNvIHRoYXQgaW5jcmVhc2luZyB0aGVtIGxvd2VycyB0aGUgYWdlcyBhdCB3aGljaCB3 ZQotCQkgKiBiZWdpbiBzY2FsaW5nIGFnZ3Jlc3NpdmVseS4KLQkJICovCi0JCWVmZmVjdGl2ZV94 aWRfZmFpbHNhZmVfYWdlID0gTWF4KHZhY3V1bV9mYWlsc2FmZV9hZ2UsCi0JCQkJCQkJCQkJIGF1 dG92YWN1dW1fZnJlZXplX21heF9hZ2UgKiAxLjA1KTsKLQkJZWZmZWN0aXZlX214aWRfZmFpbHNh ZmVfYWdlID0gTWF4KHZhY3V1bV9tdWx0aXhhY3RfZmFpbHNhZmVfYWdlLAotCQkJCQkJCQkJCSAg YXV0b3ZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UgKiAxLjA1KTsKKwlpZiAoYXV0b3Zh Y3V1bV9mcmVlemVfc2NvcmVfd2VpZ2h0ID4gMS4wKQorCQllZmZlY3RpdmVfeGlkX2ZhaWxzYWZl X2FnZSAvPSBhdXRvdmFjdXVtX2ZyZWV6ZV9zY29yZV93ZWlnaHQ7CisJaWYgKGF1dG92YWN1dW1f bXVsdGl4YWN0X2ZyZWV6ZV9zY29yZV93ZWlnaHQgPiAxLjApCisJCWVmZmVjdGl2ZV9teGlkX2Zh aWxzYWZlX2FnZSAvPSBhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfc2NvcmVfd2VpZ2h0Owog Ci0JCWlmIChhdXRvdmFjdXVtX2ZyZWV6ZV9zY29yZV93ZWlnaHQgPiAxLjApCi0JCQllZmZlY3Rp dmVfeGlkX2ZhaWxzYWZlX2FnZSAvPSBhdXRvdmFjdXVtX2ZyZWV6ZV9zY29yZV93ZWlnaHQ7Ci0J CWlmIChhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfc2NvcmVfd2VpZ2h0ID4gMS4wKQotCQkJ ZWZmZWN0aXZlX214aWRfZmFpbHNhZmVfYWdlIC89IGF1dG92YWN1dW1fbXVsdGl4YWN0X2ZyZWV6 ZV9zY29yZV93ZWlnaHQ7CisJaWYgKHhpZF9hZ2UgPj0gZWZmZWN0aXZlX3hpZF9mYWlsc2FmZV9h Z2UpCisJCXNjb3Jlcy0+eGlkID0gcG93KHNjb3Jlcy0+eGlkLCBNYXgoMS4wLCAoZG91YmxlKSB4 aWRfYWdlIC8gMTAwMDAwMDAwKSk7CisJaWYgKG14aWRfYWdlID49IGVmZmVjdGl2ZV9teGlkX2Zh aWxzYWZlX2FnZSkKKwkJc2NvcmVzLT5teGlkID0gcG93KHNjb3Jlcy0+bXhpZCwgTWF4KDEuMCwg KGRvdWJsZSkgbXhpZF9hZ2UgLyAxMDAwMDAwMDApKTsKIAotCQlpZiAoeGlkX2FnZSA+PSBlZmZl Y3RpdmVfeGlkX2ZhaWxzYWZlX2FnZSkKLQkJCXNjb3Jlcy0+eGlkID0gcG93KHNjb3Jlcy0+eGlk LCBNYXgoMS4wLCAoZG91YmxlKSB4aWRfYWdlIC8gMTAwMDAwMDAwKSk7Ci0JCWlmIChteGlkX2Fn ZSA+PSBlZmZlY3RpdmVfbXhpZF9mYWlsc2FmZV9hZ2UpCi0JCQlzY29yZXMtPm14aWQgPSBwb3co c2NvcmVzLT5teGlkLCBNYXgoMS4wLCAoZG91YmxlKSBteGlkX2FnZSAvIDEwMDAwMDAwMCkpOwor CXNjb3Jlcy0+eGlkICo9IGF1dG92YWN1dW1fZnJlZXplX3Njb3JlX3dlaWdodDsKKwlzY29yZXMt Pm14aWQgKj0gYXV0b3ZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX3Njb3JlX3dlaWdodDsKIAotCQlz Y29yZXMtPnhpZCAqPSBhdXRvdmFjdXVtX2ZyZWV6ZV9zY29yZV93ZWlnaHQ7Ci0JCXNjb3Jlcy0+ bXhpZCAqPSBhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfc2NvcmVfd2VpZ2h0OworCXNjb3Jl cy0+bWF4ID0gTWF4KHNjb3Jlcy0+eGlkLCBzY29yZXMtPm14aWQpOwogCi0JCXNjb3Jlcy0+bWF4 ID0gTWF4KHNjb3Jlcy0+eGlkLCBzY29yZXMtPm14aWQpOworCWlmIChmb3JjZV92YWN1dW0pCisJ ewogCQkqZG92YWN1dW0gPSB0cnVlOworCQlzY29yZXMtPmlzX3dyYXBhcm91bmQgPSBzY29yZXMt Pm5lZWRzX3ZhY3V1bSA9IHRydWU7CiAJfQogCi0JLyogVXNlciBkaXNhYmxlZCBpdCBpbiBwZ19j bGFzcy5yZWxvcHRpb25zPyAgKEJ1dCBpZ25vcmUgaWYgYXQgcmlzaykgKi8KLQlpZiAoIWF2X2Vu YWJsZWQgJiYgIWZvcmNlX3ZhY3V1bSkKLQkJcmV0dXJuOwotCiAJLyoKLQkgKiBJZiB3ZSBmb3Vu ZCBzdGF0cyBmb3IgdGhlIHRhYmxlLCBhbmQgYXV0b3ZhY3V1bSBpcyBjdXJyZW50bHkgZW5hYmxl ZCwKLQkgKiBtYWtlIGEgdGhyZXNob2xkLWJhc2VkIGRlY2lzaW9uIHdoZXRoZXIgdG8gdmFjdXVt IGFuZC9vciBhbmFseXplLiAgSWYKLQkgKiBhdXRvdmFjdXVtIGlzIGN1cnJlbnRseSBkaXNhYmxl ZCwgd2UgbXVzdCBiZSBoZXJlIGZvciBhbnRpLXdyYXBhcm91bmQKLQkgKiB2YWN1dW1pbmcgb25s eSwgc28gZG9uJ3QgdmFjdXVtIChvciBhbmFseXplKSBhbnl0aGluZyB0aGF0J3Mgbm90IGJlaW5n Ci0JICogZm9yY2VkLgorCSAqIElmIHdlIGZvdW5kIHN0YXRzIGZvciB0aGUgdGFibGUsIG1ha2Ug YSB0aHJlc2hvbGQtYmFzZWQgZGVjaXNpb24KKwkgKiB3aGV0aGVyIHRvIHZhY3V1bSBhbmQvb3Ig YW5hbHl6ZSwgYW5kIGNvbXB1dGUgdGhlIGNvcnJlc3BvbmRpbmcgc2NvcmVzLgorCSAqIGRvdmFj dXVtL2RvYW5hbHl6ZSBhcmUgb25seSBzZXQgd2hlbiBhdXRvdmFjdXVtIGlzIGFjdGl2ZSBhbmQg ZW5hYmxlZAorCSAqIGZvciB0aGlzIHRhYmxlLgogCSAqLwotCWlmICh0YWJlbnRyeSAmJiBBdXRv VmFjdXVtaW5nQWN0aXZlKCkpCisJaWYgKHRhYmVudHJ5KQogCXsKIAkJZmxvYXQ0CQlwY250X3Vu ZnJvemVuID0gMTsKIAkJZmxvYXQ0CQlyZWx0dXBsZXMgPSBjbGFzc0Zvcm0tPnJlbHR1cGxlczsK QEAgLTMzMDQsMzcgKzMzMDYsNTAgQEAgcmVsYXRpb25fbmVlZHNfdmFjYW5hbHl6ZShPaWQgcmVs aWQsCiAJCWFubHRocmVzaCA9IChmbG9hdDQpIGFubF9iYXNlX3RocmVzaCArIGFubF9zY2FsZV9m YWN0b3IgKiByZWx0dXBsZXM7CiAKIAkJLyoKLQkJICogRGV0ZXJtaW5lIGlmIHRoaXMgdGFibGUg bmVlZHMgdmFjdXVtLCBhbmQgdXBkYXRlIHRoZSBzY29yZSBpZiBpdAotCQkgKiBkb2VzLgorCQkg KiBVcGRhdGUgdGhlIHZhY3V1bSBzY29yZSBhbmQgZGV0ZXJtaW5lIGlmIHRoaXMgdGFibGUgcmVx dWlyZXMKKwkJICogdmFjdXVtaW5nLgogCQkgKi8KKwkJc2NvcmVzLT52YWMgPSAoZG91YmxlKSB2 YWN0dXBsZXMgLyBNYXgodmFjdGhyZXNoLCAxKTsKKwkJc2NvcmVzLT52YWMgKj0gYXV0b3ZhY3V1 bV92YWN1dW1fc2NvcmVfd2VpZ2h0OworCQlzY29yZXMtPm1heCA9IE1heChzY29yZXMtPm1heCwg c2NvcmVzLT52YWMpOwogCQlpZiAodmFjdHVwbGVzID4gdmFjdGhyZXNoKQogCQl7Ci0JCQlzY29y ZXMtPnZhYyA9IChkb3VibGUpIHZhY3R1cGxlcyAvIE1heCh2YWN0aHJlc2gsIDEpOwotCQkJc2Nv cmVzLT52YWMgKj0gYXV0b3ZhY3V1bV92YWN1dW1fc2NvcmVfd2VpZ2h0OwotCQkJc2NvcmVzLT5t YXggPSBNYXgoc2NvcmVzLT5tYXgsIHNjb3Jlcy0+dmFjKTsKLQkJCSpkb3ZhY3V1bSA9IHRydWU7 CisJCQlzY29yZXMtPm5lZWRzX3ZhY3V1bSA9IHRydWU7CisJCQlpZiAoYXZfZW5hYmxlZCAmJiBB dXRvVmFjdXVtaW5nQWN0aXZlKCkpCisJCQkJKmRvdmFjdXVtID0gdHJ1ZTsKIAkJfQogCi0JCWlm ICh2YWNfaW5zX2Jhc2VfdGhyZXNoID49IDAgJiYgaW5zdHVwbGVzID4gdmFjaW5zdGhyZXNoKQor CQkvKgorCQkgKiBEaXR0byBmb3IgdmFjdXVtIGluc2VydCBzY29yZSB3aGVuIGl0IGlzIGFwcGxp Y2FibGUuCisJCSAqLworCQlpZiAodmFjX2luc19iYXNlX3RocmVzaCA+PSAwKQogCQl7CiAJCQlz Y29yZXMtPnZhY19pbnMgPSAoZG91YmxlKSBpbnN0dXBsZXMgLyBNYXgodmFjaW5zdGhyZXNoLCAx KTsKIAkJCXNjb3Jlcy0+dmFjX2lucyAqPSBhdXRvdmFjdXVtX3ZhY3V1bV9pbnNlcnRfc2NvcmVf d2VpZ2h0OwogCQkJc2NvcmVzLT5tYXggPSBNYXgoc2NvcmVzLT5tYXgsIHNjb3Jlcy0+dmFjX2lu cyk7Ci0JCQkqZG92YWN1dW0gPSB0cnVlOworCisJCQlpZiAoaW5zdHVwbGVzID4gdmFjaW5zdGhy ZXNoKQorCQkJeworCQkJCXNjb3Jlcy0+bmVlZHNfdmFjdXVtID0gdHJ1ZTsKKwkJCQlpZiAoYXZf ZW5hYmxlZCAmJiBBdXRvVmFjdXVtaW5nQWN0aXZlKCkpCisJCQkJCSpkb3ZhY3V1bSA9IHRydWU7 CisJCQl9CiAJCX0KIAogCQkvKgotCQkgKiBEZXRlcm1pbmUgaWYgdGhpcyB0YWJsZSBuZWVkcyBh bmFseXplLCBhbmQgdXBkYXRlIHRoZSBzY29yZSBpZiBpdAotCQkgKiBkb2VzLiAgTm90ZSB0aGF0 IHdlIGRvbid0IGFuYWx5emUgVE9BU1QgdGFibGVzIGFuZCBwZ19zdGF0aXN0aWMuCisJCSAqIFVw ZGF0ZSB0aGUgYW5hbHl6ZSBzY29yZXMgYW5kIGRldGVybWluZSBpZiB0aGlzIHRhYmxlIHJlcXVp cmVzCisJCSAqIGFuYWx5emUuIE5vdGUgdGhhdCB3ZSBkb24ndCBhbmFseXplIFRPQVNUIHRhYmxl cyBhbmQgcGdfc3RhdGlzdGljLgogCQkgKi8KKwkJc2NvcmVzLT5hbmwgPSAoZG91YmxlKSBhbmx0 dXBsZXMgLyBNYXgoYW5sdGhyZXNoLCAxKTsKKwkJc2NvcmVzLT5hbmwgKj0gYXV0b3ZhY3V1bV9h bmFseXplX3Njb3JlX3dlaWdodDsKKwkJc2NvcmVzLT5tYXggPSBNYXgoc2NvcmVzLT5tYXgsIHNj b3Jlcy0+YW5sKTsKIAkJaWYgKGFubHR1cGxlcyA+IGFubHRocmVzaCAmJgogCQkJcmVsaWQgIT0g U3RhdGlzdGljUmVsYXRpb25JZCAmJgogCQkJY2xhc3NGb3JtLT5yZWxraW5kICE9IFJFTEtJTkRf VE9BU1RWQUxVRSkKIAkJewotCQkJc2NvcmVzLT5hbmwgPSAoZG91YmxlKSBhbmx0dXBsZXMgLyBN YXgoYW5sdGhyZXNoLCAxKTsKLQkJCXNjb3Jlcy0+YW5sICo9IGF1dG92YWN1dW1fYW5hbHl6ZV9z Y29yZV93ZWlnaHQ7Ci0JCQlzY29yZXMtPm1heCA9IE1heChzY29yZXMtPm1heCwgc2NvcmVzLT5h bmwpOwotCQkJKmRvYW5hbHl6ZSA9IHRydWU7CisJCQlzY29yZXMtPm5lZWRzX2FuYWx5emUgPSB0 cnVlOworCQkJaWYgKGF2X2VuYWJsZWQgJiYgQXV0b1ZhY3V1bWluZ0FjdGl2ZSgpKQorCQkJCSpk b2FuYWx5emUgPSB0cnVlOwogCQl9CiAKIAkJaWYgKHZhY19pbnNfYmFzZV90aHJlc2ggPj0gMCkK LS0gCjIuNDcuMwoK --00000000000091349e064e6a7f39--