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 1vdf7M-003Fh2-24 for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 01:47:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdf7K-00GqPw-2C for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 01:47:15 +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 1vdf7K-00GqPn-0y for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 01:47:15 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vdf7I-005Bdz-0e for pgsql-hackers@lists.postgresql.org; Thu, 08 Jan 2026 01:47:14 +0000 Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-59a10df8027so2976369e87.0 for ; Wed, 07 Jan 2026 17:47:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767836831; x=1768441631; 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=U/ykZcXob/VFeXCDz5bGhCoEppC/KLfi+hTLgAK0Sy8=; b=mzssXD5NG+7cmakJJLk9rmgm/eMbrNtkJdMXKAMIchAbNHsggS9NsTzTi6lJpB7Q1p inGWWRskfQA3HiAC5kbViZ9ut7ZzV3+VScYaTuokdCQCEsDTFjxe2gxUCj7LbumVOwHB cV8gClz7W418fWxVZcOSEZLDs4+x75Rz+NySGFmcABXtNrgkrFqRFBjwvPHBn8hB+8qd HzB27B2A5gBcumuWV7k+vZvkRMegG2EvxmqLBHFq9aLgavtONjRdY0omM+cL1zCERvtF y2Acg/DgLeR7Sx0PiJLUfJMiCzmTJNfGpVNQGBDtv+fdd7sGGOn1wWfvP/jRCgjPowny 02+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767836831; x=1768441631; 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=U/ykZcXob/VFeXCDz5bGhCoEppC/KLfi+hTLgAK0Sy8=; b=Emejig+/K5e3fUaOaYtrerVb/xYlPm/f3NXFkieCIL0df5ZPw/dxcGB5Z5VzwgWNUl thYz7Xs0OGDphxm9KXBbuevwFg2AtSiqyQM3VPjKbDIvjSQ8EG/6/+UFs2GGEjQM8rac ToGC89stABdZnWAT+xHSB6FwU3P7keUwUrfMMrCRbAErsbjfZuoqY3E4lL10Jr1c6A1x 8xPMQEk5VL6AYMjBRIg8uL55gtftSJlnwjrgo7KFzlLsBJXW5MEBtrdHP/zPk1h8988q 44A0/QXLmGmXU3aNqM+Q99CHSCRnxgIUb+goZqh45rRNx+doqRQsIxYawCl5NsCfeYVN uAYQ== X-Forwarded-Encrypted: i=1; AJvYcCX4UTpF7tbmIfUQADfDnI6euWkn1hEn4IlV9jcDKpYFH4onMcyW7h+ZBOnuVqaNOkhpvhHjDs66+P+AOL1d@lists.postgresql.org X-Gm-Message-State: AOJu0YxQIGuke6RgLgbMHjnHdfWGS3gMpJrwvAcJ6xpSUtTOq1Zpm1OG Kt8IjUvcOedgBUOLj3F65kJk70Phcx+CYrLccEtQTN6bk37ZNiuG9FRQKq2oa+iJE1WrPtnYCtV QWnCzGezxklzZwSOMQ05NAjhE/RQGohI= X-Gm-Gg: AY/fxX7PIJ699u0dWJoIJuBubZ7VI3TzcCKaflCDDNSM/Zf5IoGe0z3vlIyD28HaW99 /Laun0aW1TVWqljMMsIwakCb9GJZNzbrIlpCdrM1U0Odg8VTnwrSm9rlsz7v1Z0fZ4EeajFzDI3 mDND4at1N0MFm+N5bCctYLjmJKfcG2KSuVqcvXqjIFBdFk3Kpp/wFghljToHP/puFBFs0xvk7zP JmwIkEJMqCodooXtbioPwJT2fYakWKs8UbQQdDLey7GJt12FihRMwPF1ZfV7hdkVLHVOdyOJyNj RD75rQ8= X-Google-Smtp-Source: AGHT+IEapkNBm5NFY2UbwLGmsEj3vd6Hx8lQd6xmMNnjOuw84oBgS8ZJlqRPvV8xykkAlF8eoavX8FKoMhz8nuvoYKQ= X-Received: by 2002:ac2:4e04:0:b0:598:de38:9150 with SMTP id 2adb3069b0e04-59b6ebe3029mr1502114e87.0.1767836830753; Wed, 07 Jan 2026 17:47:10 -0800 (PST) MIME-Version: 1.0 References: <202512291435.5edkf3hnichv@alvherre.pgsql> <26279DAC-5ADA-4E30-B866-5DED0EEC2BEF@gmail.com> In-Reply-To: From: Masahiko Sawada Date: Wed, 7 Jan 2026 17:46:33 -0800 X-Gm-Features: AQt7F2rUQGObQdJ8DB0Y9AWejFt1LBg3U0jqhJdcSrSTjtebo6HvbEmYUxqzweQ Message-ID: Subject: Re: Refactor replication origin state reset helpers To: Chao Li Cc: Ashutosh Bapat , =?UTF-8?Q?=C3=81lvaro_Herrera?= , Postgres hackers Content-Type: multipart/mixed; boundary="000000000000517a080647d69655" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000517a080647d69655 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jan 7, 2026 at 5:15=E2=80=AFPM Chao Li wro= te: > > > On Wed, Jan 7, 2026 at 4:49=E2=80=AFPM Chao Li w= rote: >> >> >> >> >> The CF CI failed a test case, but I don=E2=80=99t think that=E2=80=99s m= ine. I just did a self-review for v5 and couldn=E2=80=99t find any logic ch= ange. So I would guess the CI failure was intermittent. I don=E2=80=99t kno= w how to rerun the CI test other than bumping the patch version and re-post= ing. > > > V6 is only a rebase, nothing new. Thank you for updating the patches. I've made some cosmetic changes to both patches (comments and the commit messages). Please review them and let me know what you think. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com --000000000000517a080647d69655 Content-Type: application/octet-stream; name="v7-0002-Consolidate-replication-origin-session-globals-in.patch" Content-Disposition: attachment; filename="v7-0002-Consolidate-replication-origin-session-globals-in.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk4sdhel0 RnJvbSAwZjY0MDgzNjI4ZjhiN2VkZDA1N2I5OTYzNzI3MDBmMGMyZTc5YzIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hhbyBMaSAoRXZhbikiIDxsaWNAaGlnaGdvLmNvbT4KRGF0 ZTogVHVlLCAzMCBEZWMgMjAyNSAxMjo1NTozMSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjcgMi8y XSBDb25zb2xpZGF0ZSByZXBsaWNhdGlvbiBvcmlnaW4gc2Vzc2lvbiBnbG9iYWxzIGludG8gYQog c2luZ2xlIHN0cnVjdC4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClRoaXMgY29t bWl0IG1vdmVzIHRoZSBzZXBhcmF0ZSBnbG9iYWwgdmFyaWFibGVzIGZvciByZXBsaWNhdGlvbiBv cmlnaW4Kc3RhdGUgaW50byBhIHNpbmdsZSBSZXBPcmlnaW5YYWN0U3RhdGUgc3RydWN0LiBUaGlz IGdyb3VwcyBsb2dpY2FsbHkKcmVsYXRlZCB2YXJpYWJsZXMsIHdoaWNoIGltcHJvdmVzIGNvZGUg cmVhZGFiaWxpdHkgYW5kIHNpbXBsaWZpZXMKc3RhdGUgbWFuYWdlbWVudCAoZS5nLiwgcmVzZXR0 aW5nIHRoZSBzdGF0ZSkgYnkgaGFuZGxpbmcgdGhlbSBhcyBhCnVuaXQuCgpBdXRob3I6IENoYW8g TGkgPGxpY0BoaWdoZ28uY29tPgpTdWdnZXN0ZWQtYnk6IMOBbHZhcm8gSGVycmVyYSA8YWx2aGVy cmVAa3VyaWxlbXUuZGUKUmV2aWV3ZWQtYnk6IE1hc2FoaWtvIFNhd2FkYSA8c2F3YWRhLm1zaGtA Z21haWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRW9XeDI9cFl2ZlJ0 aFhIVHpTck9zZjVfRmZ5WTR6SnlLNHpWMnY0Vz15alVpajFjQUBtYWlsLmdtYWlsLmNvbQotLS0K IHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMgICAgICAgICB8IDMyICsrKysr KysrLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMgICAgICAgICAg ICAgfCAzNiArKysrKysrKystLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94 bG9naW5zZXJ0LmMgICAgICAgfCAgNiArKy0tCiAuLi4vcmVwbGljYXRpb24vbG9naWNhbC9hcHBs eXBhcmFsbGVsd29ya2VyLmMgfCAgNiArKy0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL29yaWdpbi5jICAgICAgfCAzNCArKysrKysrKystLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMgICB8ICA2ICsrLS0KIHNyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgICB8IDMyICsrKysrKysrLS0tLS0tLS0tCiBz cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vcmlnaW4uaCAgICAgICAgICAgICAgfCAxNCArKysrKy0t LQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgIDEgKwog OSBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90d29waGFzZS5jIGIvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2UuYwppbmRleCBlNTBhYmIzMzFjYy4uMzI5YzZiYmYz YzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2UuYwpAQCAtMTE1NywxMyArMTE1 NywxMyBAQCBFbmRQcmVwYXJlKEdsb2JhbFRyYW5zYWN0aW9uIGd4YWN0KQogCUFzc2VydChoZHIt Pm1hZ2ljID09IFRXT1BIQVNFX01BR0lDKTsKIAloZHItPnRvdGFsX2xlbiA9IHJlY29yZHMudG90 YWxfbGVuICsgc2l6ZW9mKHBnX2NyYzMyYyk7CiAKLQlyZXBsb3JpZ2luID0gKHJlcGxvcmlnaW5f c2Vzc2lvbl9vcmlnaW4gIT0gSW52YWxpZFJlcE9yaWdpbklkICYmCi0JCQkJICByZXBsb3JpZ2lu X3Nlc3Npb25fb3JpZ2luICE9IERvTm90UmVwbGljYXRlSWQpOworCXJlcGxvcmlnaW4gPSAocmVw bG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiAhPSBJbnZhbGlkUmVwT3JpZ2luSWQgJiYKKwkJCQkg IHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4gIT0gRG9Ob3RSZXBsaWNhdGVJZCk7CiAKIAlp ZiAocmVwbG9yaWdpbikKIAl7Ci0JCWhkci0+b3JpZ2luX2xzbiA9IHJlcGxvcmlnaW5fc2Vzc2lv bl9vcmlnaW5fbHNuOwotCQloZHItPm9yaWdpbl90aW1lc3RhbXAgPSByZXBsb3JpZ2luX3Nlc3Np b25fb3JpZ2luX3RpbWVzdGFtcDsKKwkJaGRyLT5vcmlnaW5fbHNuID0gcmVwbG9yaWdpbl94YWN0 X3N0YXRlLm9yaWdpbl9sc247CisJCWhkci0+b3JpZ2luX3RpbWVzdGFtcCA9IHJlcGxvcmlnaW5f eGFjdF9zdGF0ZS5vcmlnaW5fdGltZXN0YW1wOwogCX0KIAogCS8qCkBAIC0xMjExLDcgKzEyMTEs NyBAQCBFbmRQcmVwYXJlKEdsb2JhbFRyYW5zYWN0aW9uIGd4YWN0KQogCWlmIChyZXBsb3JpZ2lu KQogCXsKIAkJLyogTW92ZSBMU05zIGZvcndhcmQgZm9yIHRoaXMgcmVwbGljYXRpb24gb3JpZ2lu ICovCi0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9hZHZhbmNlKHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmln aW5fbHNuLAorCQlyZXBsb3JpZ2luX3Nlc3Npb25fYWR2YW5jZShyZXBsb3JpZ2luX3hhY3Rfc3Rh dGUub3JpZ2luX2xzbiwKIAkJCQkJCQkJICAgZ3hhY3QtPnByZXBhcmVfZW5kX2xzbik7CiAJfQog CkBAIC0yMzMwLDggKzIzMzAsOCBAQCBSZWNvcmRUcmFuc2FjdGlvbkNvbW1pdFByZXBhcmVkKFRy YW5zYWN0aW9uSWQgeGlkLAogCSAqIEFyZSB3ZSB1c2luZyB0aGUgcmVwbGljYXRpb24gb3JpZ2lu cyBmZWF0dXJlPyAgT3IsIGluIG90aGVyIHdvcmRzLCBhcmUKIAkgKiB3ZSByZXBsYXlpbmcgcmVt b3RlIGFjdGlvbnM/CiAJICovCi0JcmVwbG9yaWdpbiA9IChyZXBsb3JpZ2luX3Nlc3Npb25fb3Jp Z2luICE9IEludmFsaWRSZXBPcmlnaW5JZCAmJgotCQkJCSAgcmVwbG9yaWdpbl9zZXNzaW9uX29y aWdpbiAhPSBEb05vdFJlcGxpY2F0ZUlkKTsKKwlyZXBsb3JpZ2luID0gKHJlcGxvcmlnaW5feGFj dF9zdGF0ZS5vcmlnaW4gIT0gSW52YWxpZFJlcE9yaWdpbklkICYmCisJCQkJICByZXBsb3JpZ2lu X3hhY3Rfc3RhdGUub3JpZ2luICE9IERvTm90UmVwbGljYXRlSWQpOwogCiAJLyogTG9hZCB0aGUg aW5qZWN0aW9uIHBvaW50IGJlZm9yZSBlbnRlcmluZyB0aGUgY3JpdGljYWwgc2VjdGlvbiAqLwog CUlOSkVDVElPTl9QT0lOVF9MT0FEKCJjb21taXQtYWZ0ZXItZGVsYXktY2hlY2twb2ludCIpOwpA QCAtMjM3NiwyMyArMjM3NiwyMyBAQCBSZWNvcmRUcmFuc2FjdGlvbkNvbW1pdFByZXBhcmVkKFRy YW5zYWN0aW9uSWQgeGlkLAogCiAJaWYgKHJlcGxvcmlnaW4pCiAJCS8qIE1vdmUgTFNOcyBmb3J3 YXJkIGZvciB0aGlzIHJlcGxpY2F0aW9uIG9yaWdpbiAqLwotCQlyZXBsb3JpZ2luX3Nlc3Npb25f YWR2YW5jZShyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX2xzbiwKKwkJcmVwbG9yaWdpbl9zZXNz aW9uX2FkdmFuY2UocmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbl9sc24sCiAJCQkJCQkJCSAg IFhhY3RMYXN0UmVjRW5kKTsKIAogCS8qCiAJICogUmVjb3JkIGNvbW1pdCB0aW1lc3RhbXAuICBU aGUgdmFsdWUgY29tZXMgZnJvbSBwbGFpbiBjb21taXQgdGltZXN0YW1wCiAJICogaWYgcmVwbG9y aWdpbiBpcyBub3QgZW5hYmxlZCwgb3IgcmVwbG9yaWdpbiBhbHJlYWR5IHNldCBhIHZhbHVlIGZv ciB1cwotCSAqIGluIHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wIG90aGVyd2lz ZS4KKwkgKiBpbiByZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX3RpbWVzdGFtcCBvdGhlcndp c2UuCiAJICoKIAkgKiBXZSBkb24ndCBuZWVkIHRvIFdBTC1sb2cgYW55dGhpbmcgaGVyZSwgYXMg dGhlIGNvbW1pdCByZWNvcmQgd3JpdHRlbgogCSAqIGFib3ZlIGFscmVhZHkgY29udGFpbnMgdGhl IGRhdGEuCiAJICovCi0JaWYgKCFyZXBsb3JpZ2luIHx8IHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmln aW5fdGltZXN0YW1wID09IDApCi0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1w ID0gY29tbWl0dHM7CisJaWYgKCFyZXBsb3JpZ2luIHx8IHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5v cmlnaW5fdGltZXN0YW1wID09IDApCisJCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fdGlt ZXN0YW1wID0gY29tbWl0dHM7CiAKIAlUcmFuc2FjdGlvblRyZWVTZXRDb21taXRUc0RhdGEoeGlk LCBuY2hpbGRyZW4sIGNoaWxkcmVuLAotCQkJCQkJCQkgICByZXBsb3JpZ2luX3Nlc3Npb25fb3Jp Z2luX3RpbWVzdGFtcCwKLQkJCQkJCQkJICAgcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbik7CisJ CQkJCQkJCSAgIHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fdGltZXN0YW1wLAorCQkJCQkJ CQkgICByZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luKTsKIAogCS8qCiAJICogV2UgZG9uJ3Qg Y3VycmVudGx5IHRyeSB0byBzbGVlcCBiZWZvcmUgZmx1c2ggaGVyZSAuLi4gbm9yIGlzIHRoZXJl IGFueQpAQCAtMjQ0NSw4ICsyNDQ1LDggQEAgUmVjb3JkVHJhbnNhY3Rpb25BYm9ydFByZXBhcmVk KFRyYW5zYWN0aW9uSWQgeGlkLAogCSAqIEFyZSB3ZSB1c2luZyB0aGUgcmVwbGljYXRpb24gb3Jp Z2lucyBmZWF0dXJlPyAgT3IsIGluIG90aGVyIHdvcmRzLCBhcmUKIAkgKiB3ZSByZXBsYXlpbmcg cmVtb3RlIGFjdGlvbnM/CiAJICovCi0JcmVwbG9yaWdpbiA9IChyZXBsb3JpZ2luX3Nlc3Npb25f b3JpZ2luICE9IEludmFsaWRSZXBPcmlnaW5JZCAmJgotCQkJCSAgcmVwbG9yaWdpbl9zZXNzaW9u X29yaWdpbiAhPSBEb05vdFJlcGxpY2F0ZUlkKTsKKwlyZXBsb3JpZ2luID0gKHJlcGxvcmlnaW5f eGFjdF9zdGF0ZS5vcmlnaW4gIT0gSW52YWxpZFJlcE9yaWdpbklkICYmCisJCQkJICByZXBsb3Jp Z2luX3hhY3Rfc3RhdGUub3JpZ2luICE9IERvTm90UmVwbGljYXRlSWQpOwogCiAJLyoKIAkgKiBD YXRjaCB0aGUgc2NlbmFyaW8gd2hlcmUgd2UgYWJvcnRlZCBwYXJ0d2F5IHRocm91Z2gKQEAgLTI0 NzIsNyArMjQ3Miw3IEBAIFJlY29yZFRyYW5zYWN0aW9uQWJvcnRQcmVwYXJlZChUcmFuc2FjdGlv bklkIHhpZCwKIAogCWlmIChyZXBsb3JpZ2luKQogCQkvKiBNb3ZlIExTTnMgZm9yd2FyZCBmb3Ig dGhpcyByZXBsaWNhdGlvbiBvcmlnaW4gKi8KLQkJcmVwbG9yaWdpbl9zZXNzaW9uX2FkdmFuY2Uo cmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24sCisJCXJlcGxvcmlnaW5fc2Vzc2lvbl9hZHZh bmNlKHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fbHNuLAogCQkJCQkJCQkgICBYYWN0TGFz dFJlY0VuZCk7CiAKIAkvKiBBbHdheXMgZmx1c2gsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHJlbW92 ZSB0aGUgMlBDIHN0YXRlIGZpbGUgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBj ODU3ZTIzNTUyZi4uYzc3OWNlNzFmMDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKQEAg LTE0MTMsOCArMTQxMyw4IEBAIFJlY29yZFRyYW5zYWN0aW9uQ29tbWl0KHZvaWQpCiAJCSAqIEFy ZSB3ZSB1c2luZyB0aGUgcmVwbGljYXRpb24gb3JpZ2lucyBmZWF0dXJlPyAgT3IsIGluIG90aGVy IHdvcmRzLAogCQkgKiBhcmUgd2UgcmVwbGF5aW5nIHJlbW90ZSBhY3Rpb25zPwogCQkgKi8KLQkJ cmVwbG9yaWdpbiA9IChyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luICE9IEludmFsaWRSZXBPcmln aW5JZCAmJgotCQkJCQkgIHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4gIT0gRG9Ob3RSZXBsaWNh dGVJZCk7CisJCXJlcGxvcmlnaW4gPSAocmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiAhPSBJ bnZhbGlkUmVwT3JpZ2luSWQgJiYKKwkJCQkJICByZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2lu ICE9IERvTm90UmVwbGljYXRlSWQpOwogCiAJCS8qCiAJCSAqIE1hcmsgb3Vyc2VsdmVzIGFzIHdp dGhpbiBvdXIgImNvbW1pdCBjcml0aWNhbCBzZWN0aW9uIi4gIFRoaXMKQEAgLTE0NjIsMjUgKzE0 NjIsMjUgQEAgUmVjb3JkVHJhbnNhY3Rpb25Db21taXQodm9pZCkKIAogCQlpZiAocmVwbG9yaWdp bikKIAkJCS8qIE1vdmUgTFNOcyBmb3J3YXJkIGZvciB0aGlzIHJlcGxpY2F0aW9uIG9yaWdpbiAq LwotCQkJcmVwbG9yaWdpbl9zZXNzaW9uX2FkdmFuY2UocmVwbG9yaWdpbl9zZXNzaW9uX29yaWdp bl9sc24sCisJCQlyZXBsb3JpZ2luX3Nlc3Npb25fYWR2YW5jZShyZXBsb3JpZ2luX3hhY3Rfc3Rh dGUub3JpZ2luX2xzbiwKIAkJCQkJCQkJCSAgIFhhY3RMYXN0UmVjRW5kKTsKIAogCQkvKgogCQkg KiBSZWNvcmQgY29tbWl0IHRpbWVzdGFtcC4gIFRoZSB2YWx1ZSBjb21lcyBmcm9tIHBsYWluIGNv bW1pdAogCQkgKiB0aW1lc3RhbXAgaWYgdGhlcmUncyBubyByZXBsaWNhdGlvbiBvcmlnaW47IG90 aGVyd2lzZSwgdGhlCi0JCSAqIHRpbWVzdGFtcCB3YXMgYWxyZWFkeSBzZXQgaW4gcmVwbG9yaWdp bl9zZXNzaW9uX29yaWdpbl90aW1lc3RhbXAgYnkKLQkJICogcmVwbGljYXRpb24uCisJCSAqIHRp bWVzdGFtcCB3YXMgYWxyZWFkeSBzZXQgaW4gcmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbl90 aW1lc3RhbXAKKwkJICogYnkgcmVwbGljYXRpb24uCiAJCSAqCiAJCSAqIFdlIGRvbid0IG5lZWQg dG8gV0FMLWxvZyBhbnl0aGluZyBoZXJlLCBhcyB0aGUgY29tbWl0IHJlY29yZAogCQkgKiB3cml0 dGVuIGFib3ZlIGFscmVhZHkgY29udGFpbnMgdGhlIGRhdGEuCiAJCSAqLwogCi0JCWlmICghcmVw bG9yaWdpbiB8fCByZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVzdGFtcCA9PSAwKQotCQkJ cmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl90aW1lc3RhbXAgPSBHZXRDdXJyZW50VHJhbnNhY3Rp b25TdG9wVGltZXN0YW1wKCk7CisJCWlmICghcmVwbG9yaWdpbiB8fCByZXBsb3JpZ2luX3hhY3Rf c3RhdGUub3JpZ2luX3RpbWVzdGFtcCA9PSAwKQorCQkJcmVwbG9yaWdpbl94YWN0X3N0YXRlLm9y aWdpbl90aW1lc3RhbXAgPSBHZXRDdXJyZW50VHJhbnNhY3Rpb25TdG9wVGltZXN0YW1wKCk7CiAK IAkJVHJhbnNhY3Rpb25UcmVlU2V0Q29tbWl0VHNEYXRhKHhpZCwgbmNoaWxkcmVuLCBjaGlsZHJl biwKLQkJCQkJCQkJCSAgIHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wLAotCQkJ CQkJCQkJICAgcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbik7CisJCQkJCQkJCQkgICByZXBsb3Jp Z2luX3hhY3Rfc3RhdGUub3JpZ2luX3RpbWVzdGFtcCwKKwkJCQkJCQkJCSAgIHJlcGxvcmlnaW5f eGFjdF9zdGF0ZS5vcmlnaW4pOwogCX0KIAogCS8qCkBAIC0xODEwLDggKzE4MTAsOCBAQCBSZWNv cmRUcmFuc2FjdGlvbkFib3J0KGJvb2wgaXNTdWJYYWN0KQogCSAqIEFyZSB3ZSB1c2luZyB0aGUg cmVwbGljYXRpb24gb3JpZ2lucyBmZWF0dXJlPyAgT3IsIGluIG90aGVyIHdvcmRzLCBhcmUKIAkg KiB3ZSByZXBsYXlpbmcgcmVtb3RlIGFjdGlvbnM/CiAJICovCi0JcmVwbG9yaWdpbiA9IChyZXBs b3JpZ2luX3Nlc3Npb25fb3JpZ2luICE9IEludmFsaWRSZXBPcmlnaW5JZCAmJgotCQkJCSAgcmVw bG9yaWdpbl9zZXNzaW9uX29yaWdpbiAhPSBEb05vdFJlcGxpY2F0ZUlkKTsKKwlyZXBsb3JpZ2lu ID0gKHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4gIT0gSW52YWxpZFJlcE9yaWdpbklkICYm CisJCQkJICByZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luICE9IERvTm90UmVwbGljYXRlSWQp OwogCiAJLyogRmV0Y2ggdGhlIGRhdGEgd2UgbmVlZCBmb3IgdGhlIGFib3J0IHJlY29yZCAqLwog CW5yZWxzID0gc21nckdldFBlbmRpbmdEZWxldGVzKGZhbHNlLCAmcmVscyk7CkBAIC0xODM4LDcg KzE4MzgsNyBAQCBSZWNvcmRUcmFuc2FjdGlvbkFib3J0KGJvb2wgaXNTdWJYYWN0KQogCiAJaWYg KHJlcGxvcmlnaW4pCiAJCS8qIE1vdmUgTFNOcyBmb3J3YXJkIGZvciB0aGlzIHJlcGxpY2F0aW9u IG9yaWdpbiAqLwotCQlyZXBsb3JpZ2luX3Nlc3Npb25fYWR2YW5jZShyZXBsb3JpZ2luX3Nlc3Np b25fb3JpZ2luX2xzbiwKKwkJcmVwbG9yaWdpbl9zZXNzaW9uX2FkdmFuY2UocmVwbG9yaWdpbl94 YWN0X3N0YXRlLm9yaWdpbl9sc24sCiAJCQkJCQkJCSAgIFhhY3RMYXN0UmVjRW5kKTsKIAogCS8q CkBAIC01OTI4LDEyICs1OTI4LDEyIEBAIFhhY3RMb2dDb21taXRSZWNvcmQoVGltZXN0YW1wVHog Y29tbWl0X3RpbWUsCiAJfQogCiAJLyogZHVtcCB0cmFuc2FjdGlvbiBvcmlnaW4gaW5mb3JtYXRp b24gKi8KLQlpZiAocmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbiAhPSBJbnZhbGlkUmVwT3JpZ2lu SWQpCisJaWYgKHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4gIT0gSW52YWxpZFJlcE9yaWdp bklkKQogCXsKIAkJeGxfeGluZm8ueGluZm8gfD0gWEFDVF9YSU5GT19IQVNfT1JJR0lOOwogCi0J CXhsX29yaWdpbi5vcmlnaW5fbHNuID0gcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc247Ci0J CXhsX29yaWdpbi5vcmlnaW5fdGltZXN0YW1wID0gcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl90 aW1lc3RhbXA7CisJCXhsX29yaWdpbi5vcmlnaW5fbHNuID0gcmVwbG9yaWdpbl94YWN0X3N0YXRl Lm9yaWdpbl9sc247CisJCXhsX29yaWdpbi5vcmlnaW5fdGltZXN0YW1wID0gcmVwbG9yaWdpbl94 YWN0X3N0YXRlLm9yaWdpbl90aW1lc3RhbXA7CiAJfQogCiAJaWYgKHhsX3hpbmZvLnhpbmZvICE9 IDApCkBAIC02MDgxLDEyICs2MDgxLDEyIEBAIFhhY3RMb2dBYm9ydFJlY29yZChUaW1lc3RhbXBU eiBhYm9ydF90aW1lLAogCSAqIER1bXAgdHJhbnNhY3Rpb24gb3JpZ2luIGluZm9ybWF0aW9uLiBX ZSBuZWVkIHRoaXMgZHVyaW5nIHJlY292ZXJ5IHRvCiAJICogdXBkYXRlIHRoZSByZXBsaWNhdGlv biBvcmlnaW4gcHJvZ3Jlc3MuCiAJICovCi0JaWYgKHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4g IT0gSW52YWxpZFJlcE9yaWdpbklkKQorCWlmIChyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2lu ICE9IEludmFsaWRSZXBPcmlnaW5JZCkKIAl7CiAJCXhsX3hpbmZvLnhpbmZvIHw9IFhBQ1RfWElO Rk9fSEFTX09SSUdJTjsKIAotCQl4bF9vcmlnaW4ub3JpZ2luX2xzbiA9IHJlcGxvcmlnaW5fc2Vz c2lvbl9vcmlnaW5fbHNuOwotCQl4bF9vcmlnaW4ub3JpZ2luX3RpbWVzdGFtcCA9IHJlcGxvcmln aW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wOworCQl4bF9vcmlnaW4ub3JpZ2luX2xzbiA9IHJl cGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fbHNuOworCQl4bF9vcmlnaW4ub3JpZ2luX3RpbWVz dGFtcCA9IHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fdGltZXN0YW1wOwogCX0KIAogCWlm ICh4bF94aW5mby54aW5mbyAhPSAwKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGxvZ2luc2VydC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ2luc2Vy dC5jCmluZGV4IDkyYzQ4ZTc2OGMzLi43Zjk0ODVlMDhlNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZ2luc2VydC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hsb2dpbnNlcnQuYwpAQCAtODYxLDExICs4NjEsMTEgQEAgWExvZ1JlY29yZEFzc2Vt YmxlKFJtZ3JJZCBybWlkLCB1aW50OCBpbmZvLAogCiAJLyogZm9sbG93ZWQgYnkgdGhlIHJlY29y ZCdzIG9yaWdpbiwgaWYgYW55ICovCiAJaWYgKChjdXJpbnNlcnRfZmxhZ3MgJiBYTE9HX0lOQ0xV REVfT1JJR0lOKSAmJgotCQlyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luICE9IEludmFsaWRSZXBP cmlnaW5JZCkKKwkJcmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiAhPSBJbnZhbGlkUmVwT3Jp Z2luSWQpCiAJewogCQkqKHNjcmF0Y2grKykgPSAoY2hhcikgWExSX0JMT0NLX0lEX09SSUdJTjsK LQkJbWVtY3B5KHNjcmF0Y2gsICZyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luLCBzaXplb2YocmVw bG9yaWdpbl9zZXNzaW9uX29yaWdpbikpOwotCQlzY3JhdGNoICs9IHNpemVvZihyZXBsb3JpZ2lu X3Nlc3Npb25fb3JpZ2luKTsKKwkJbWVtY3B5KHNjcmF0Y2gsICZyZXBsb3JpZ2luX3hhY3Rfc3Rh dGUub3JpZ2luLCBzaXplb2YocmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbikpOworCQlzY3Jh dGNoICs9IHNpemVvZihyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luKTsKIAl9CiAKIAkvKiBm b2xsb3dlZCBieSB0b3BsZXZlbCBYSUQsIGlmIG5vdCBhbHJlYWR5IGluY2x1ZGVkIGluIHByZXZp b3VzIHJlY29yZCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9hcHBseXBhcmFsbGVsd29ya2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L2FwcGx5cGFyYWxsZWx3b3JrZXIuYwppbmRleCA1ZWJkMjM1M2ZlZC4uZmJjMTEzYjA5OWUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdv cmtlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxl bHdvcmtlci5jCkBAIC05NjIsNyArOTYyLDcgQEAgUGFyYWxsZWxBcHBseVdvcmtlck1haW4oRGF0 dW0gbWFpbl9hcmcpCiAJICogb3JpZ2luIHdoaWNoIHdhcyBhbHJlYWR5IGFjcXVpcmVkIGJ5IGl0 cyBsZWFkZXIgcHJvY2Vzcy4KIAkgKi8KIAlyZXBsb3JpZ2luX3Nlc3Npb25fc2V0dXAob3JpZ2lu aWQsIE15TG9naWNhbFJlcFdvcmtlci0+bGVhZGVyX3BpZCk7Ci0JcmVwbG9yaWdpbl9zZXNzaW9u X29yaWdpbiA9IG9yaWdpbmlkOworCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4gPSBvcmln aW5pZDsKIAlDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQoKTsKIAogCS8qCkBAIC0xNDMwLDggKzE0 MzAsOCBAQCBwYV9zdHJlYW1fYWJvcnQoTG9naWNhbFJlcFN0cmVhbUFib3J0RGF0YSAqYWJvcnRf ZGF0YSkKIAkgKiBVcGRhdGUgb3JpZ2luIHN0YXRlIHNvIHdlIGNhbiByZXN0YXJ0IHN0cmVhbWlu ZyBmcm9tIGNvcnJlY3QgcG9zaXRpb24KIAkgKiBpbiBjYXNlIG9mIGNyYXNoLgogCSAqLwotCXJl cGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fbHNuID0gYWJvcnRfZGF0YS0+YWJvcnRfbHNuOwotCXJl cGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wID0gYWJvcnRfZGF0YS0+YWJvcnRfdGlt ZTsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX2xzbiA9IGFib3J0X2RhdGEtPmFib3J0 X2xzbjsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX3RpbWVzdGFtcCA9IGFib3J0X2Rh dGEtPmFib3J0X3RpbWU7CiAKIAkvKgogCSAqIElmIHRoZSB0d28gWElEcyBhcmUgdGhlIHNhbWUs IGl0J3MgaW4gZmFjdCBhYm9ydCBvZiB0b3BsZXZlbCB4YWN0LCBzbwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmlnaW4uYyBiL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMKaW5kZXggNjgwMGExZjc1NWQuLjViMDlhYzg2ZjliIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jCisrKyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMKQEAgLTE1OSwxMCArMTU5 LDEyIEBAIHR5cGVkZWYgc3RydWN0IFJlcGxpY2F0aW9uU3RhdGVDdGwKIAlSZXBsaWNhdGlvblN0 YXRlIHN0YXRlc1tGTEVYSUJMRV9BUlJBWV9NRU1CRVJdOwogfSBSZXBsaWNhdGlvblN0YXRlQ3Rs OwogCi0vKiBleHRlcm5hbCB2YXJpYWJsZXMgKi8KLVJlcE9yaWdpbklkIHJlcGxvcmlnaW5fc2Vz c2lvbl9vcmlnaW4gPSBJbnZhbGlkUmVwT3JpZ2luSWQ7IC8qIGFzc3VtZWQgaWRlbnRpdHkgKi8K LVhMb2dSZWNQdHIJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1Jl Y1B0cjsKLVRpbWVzdGFtcFR6IHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wID0g MDsKKy8qIEdsb2JhbCB2YXJpYWJsZSBmb3IgcGVyLXRyYW5zYWN0aW9uIHJlcGxpY2F0aW9uIG9y aWdpbiBzdGF0ZSAqLworUmVwT3JpZ2luWGFjdFN0YXRlIHJlcGxvcmlnaW5feGFjdF9zdGF0ZSA9 IHsKKwkub3JpZ2luID0gSW52YWxpZFJlcE9yaWdpbklkLAkvKiBhc3N1bWVkIGlkZW50aWZ5ICov CisJLm9yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1JlY1B0ciwKKwkub3JpZ2luX3RpbWVzdGFtcCA9 IDAKK307CiAKIC8qCiAgKiBCYXNlIGFkZHJlc3MgaW50byBhIHNoYXJlZCBtZW1vcnkgYXJyYXkg b2YgcmVwbGljYXRpb24gc3RhdGVzIG9mIHNpemUKQEAgLTg5Niw3ICs4OTgsNyBAQCByZXBsb3Jp Z2luX3JlZG8oWExvZ1JlYWRlclN0YXRlICpyZWNvcmQpCiAgKiBUZWxsIHRoZSByZXBsaWNhdGlv biBvcmlnaW4gcHJvZ3Jlc3MgbWFjaGluZXJ5IHRoYXQgYSBjb21taXQgZnJvbSAnbm9kZScKICAq IHRoYXQgb3JpZ2luYXRlZCBhdCB0aGUgTFNOIHJlbW90ZV9jb21taXQgb24gdGhlIHJlbW90ZSBu b2RlIHdhcyByZXBsYXllZAogICogc3VjY2Vzc2Z1bGx5IGFuZCB0aGF0IHdlIGRvbid0IG5lZWQg dG8gZG8gc28gYWdhaW4uIEluIGNvbWJpbmF0aW9uIHdpdGgKLSAqIHNldHRpbmcgdXAgcmVwbG9y aWdpbl9zZXNzaW9uX29yaWdpbl9sc24gYW5kIHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4KKyAq IHNldHRpbmcgdXAgcmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbl9sc24gYW5kIHJlcGxvcmln aW5feGFjdF9zdGF0ZS5vcmlnaW4KICAqIHRoYXQgZW5zdXJlcyB3ZSB3b24ndCBsb3NlIGtub3ds ZWRnZSBhYm91dCB0aGF0IGFmdGVyIGEgY3Jhc2ggaWYgdGhlCiAgKiB0cmFuc2FjdGlvbiBoYWQg YSBwZXJzaXN0ZW50IGVmZmVjdCAodGhpbmsgb2YgYXN5bmNocm9ub3VzIGNvbW1pdHMpLgogICoK QEAgLTEyODgsMTcgKzEyOTAsMTcgQEAgcmVwbG9yaWdpbl9zZXNzaW9uX2dldF9wcm9ncmVzcyhi b29sIGZsdXNoKQogfQogCiAvKgotICogQ2xlYXIgc2Vzc2lvbiByZXBsaWNhdGlvbiBvcmlnaW4g c3RhdGUuCisgKiBDbGVhciB0aGUgcGVyLXRyYW5zYWN0aW9uIHJlcGxpY2F0aW9uIG9yaWdpbiBz dGF0ZS4KICAqCiAgKiByZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luIGlzIGFsc28gY2xlYXJlZCBp ZiBjbGVhcl9vcmlnaW4gaXMgc2V0LgogICovCiB2b2lkCi1yZXBsb3JpZ2luX3Nlc3Npb25fY2xl YXIoYm9vbCBjbGVhcl9vcmlnaW4pCityZXBsb3JpZ2luX3hhY3RfY2xlYXIoYm9vbCBjbGVhcl9v cmlnaW4pCiB7Ci0JcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1Jl Y1B0cjsKLQlyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVzdGFtcCA9IDA7CisJcmVwbG9y aWdpbl94YWN0X3N0YXRlLm9yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKKwlyZXBsb3Jp Z2luX3hhY3Rfc3RhdGUub3JpZ2luX3RpbWVzdGFtcCA9IDA7CiAJaWYgKGNsZWFyX29yaWdpbikK LQkJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbiA9IEludmFsaWRSZXBPcmlnaW5JZDsKKwkJcmVw bG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiA9IEludmFsaWRSZXBPcmlnaW5JZDsKIH0KIAogCkBA IC0xNDA4LDcgKzE0MTAsNyBAQCBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc2Vzc2lvbl9zZXR1cChQ R19GVU5DVElPTl9BUkdTKQogCXBpZCA9IFBHX0dFVEFSR19JTlQzMigxKTsKIAlyZXBsb3JpZ2lu X3Nlc3Npb25fc2V0dXAob3JpZ2luLCBwaWQpOwogCi0JcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdp biA9IG9yaWdpbjsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luID0gb3JpZ2luOwogCiAJ cGZyZWUobmFtZSk7CiAKQEAgLTE0MjUsNyArMTQyNyw3IEBAIHBnX3JlcGxpY2F0aW9uX29yaWdp bl9zZXNzaW9uX3Jlc2V0KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlyZXBsb3JpZ2luX3Nlc3Npb25f cmVzZXQoKTsKIAotCXJlcGxvcmlnaW5fc2Vzc2lvbl9jbGVhcih0cnVlKTsKKwlyZXBsb3JpZ2lu X3hhY3RfY2xlYXIodHJ1ZSk7CiAKIAlQR19SRVRVUk5fVk9JRCgpOwogfQpAQCAtMTQzOCw3ICsx NDQwLDcgQEAgcGdfcmVwbGljYXRpb25fb3JpZ2luX3Nlc3Npb25faXNfc2V0dXAoUEdfRlVOQ1RJ T05fQVJHUykKIHsKIAlyZXBsb3JpZ2luX2NoZWNrX3ByZXJlcXVpc2l0ZXMoZmFsc2UsIGZhbHNl KTsKIAotCVBHX1JFVFVSTl9CT09MKHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4gIT0gSW52YWxp ZFJlcE9yaWdpbklkKTsKKwlQR19SRVRVUk5fQk9PTChyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3Jp Z2luICE9IEludmFsaWRSZXBPcmlnaW5JZCk7CiB9CiAKIApAQCAtMTQ4Miw4ICsxNDg0LDggQEAg cGdfcmVwbGljYXRpb25fb3JpZ2luX3hhY3Rfc2V0dXAoUEdfRlVOQ1RJT05fQVJHUykKIAkJCQko ZXJyY29kZShFUlJDT0RFX09CSkVDVF9OT1RfSU5fUFJFUkVRVUlTSVRFX1NUQVRFKSwKIAkJCQkg ZXJybXNnKCJubyByZXBsaWNhdGlvbiBvcmlnaW4gaXMgY29uZmlndXJlZCIpKSk7CiAKLQlyZXBs b3JpZ2luX3Nlc3Npb25fb3JpZ2luX2xzbiA9IGxvY2F0aW9uOwotCXJlcGxvcmlnaW5fc2Vzc2lv bl9vcmlnaW5fdGltZXN0YW1wID0gUEdfR0VUQVJHX1RJTUVTVEFNUFRaKDEpOworCXJlcGxvcmln aW5feGFjdF9zdGF0ZS5vcmlnaW5fbHNuID0gbG9jYXRpb247CisJcmVwbG9yaWdpbl94YWN0X3N0 YXRlLm9yaWdpbl90aW1lc3RhbXAgPSBQR19HRVRBUkdfVElNRVNUQU1QVFooMSk7CiAKIAlQR19S RVRVUk5fVk9JRCgpOwogfQpAQCAtMTQ5NCw3ICsxNDk2LDcgQEAgcGdfcmVwbGljYXRpb25fb3Jp Z2luX3hhY3RfcmVzZXQoUEdfRlVOQ1RJT05fQVJHUykKIAlyZXBsb3JpZ2luX2NoZWNrX3ByZXJl cXVpc2l0ZXModHJ1ZSwgZmFsc2UpOwogCiAJLyogQ2xlYXIgb25seSBvcmlnaW5fbHNuIGFuZCBv cmlnaW5fdGltZXN0YW1wICovCi0JcmVwbG9yaWdpbl9zZXNzaW9uX2NsZWFyKGZhbHNlKTsKKwly ZXBsb3JpZ2luX3hhY3RfY2xlYXIoZmFsc2UpOwogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKIH0KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCmluZGV4IDcyZTQ1YzJk ZTE5Li44NjQ0NzZiNGE3MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC90YWJsZXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Rh Ymxlc3luYy5jCkBAIC0zMjMsNyArMzIzLDcgQEAgUHJvY2Vzc1N5bmNpbmdUYWJsZXNGb3JTeW5j KFhMb2dSZWNQdHIgY3VycmVudF9sc24pCiAJCSAqIFRoaXMgaXMgbmVlZGVkIHRvIGFsbG93IHRo ZSBvcmlnaW4gdG8gYmUgZHJvcHBlZC4KIAkJICovCiAJCXJlcGxvcmlnaW5fc2Vzc2lvbl9yZXNl dCgpOwotCQlyZXBsb3JpZ2luX3Nlc3Npb25fY2xlYXIodHJ1ZSk7CisJCXJlcGxvcmlnaW5feGFj dF9jbGVhcih0cnVlKTsKIAogCQkvKgogCQkgKiBEcm9wIHRoZSB0YWJsZXN5bmMncyBvcmlnaW4g dHJhY2tpbmcgaWYgZXhpc3RzLgpAQCAtMTMxOCw3ICsxMzE4LDcgQEAgTG9naWNhbFJlcFN5bmNU YWJsZVN0YXJ0KFhMb2dSZWNQdHIgKm9yaWdpbl9zdGFydHBvcykKIAkJICovCiAJCW9yaWdpbmlk ID0gcmVwbG9yaWdpbl9ieV9uYW1lKG9yaWdpbm5hbWUsIGZhbHNlKTsKIAkJcmVwbG9yaWdpbl9z ZXNzaW9uX3NldHVwKG9yaWdpbmlkLCAwKTsKLQkJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbiA9 IG9yaWdpbmlkOworCQlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luID0gb3JpZ2luaWQ7CiAJ CSpvcmlnaW5fc3RhcnRwb3MgPSByZXBsb3JpZ2luX3Nlc3Npb25fZ2V0X3Byb2dyZXNzKGZhbHNl KTsKIAogCQlDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQoKTsKQEAgLTE0MDUsNyArMTQwNSw3IEBA IExvZ2ljYWxSZXBTeW5jVGFibGVTdGFydChYTG9nUmVjUHRyICpvcmlnaW5fc3RhcnRwb3MpCiAJ VW5sb2NrUmVsYXRpb25PaWQoUmVwbGljYXRpb25PcmlnaW5SZWxhdGlvbklkLCBSb3dFeGNsdXNp dmVMb2NrKTsKIAogCXJlcGxvcmlnaW5fc2Vzc2lvbl9zZXR1cChvcmlnaW5pZCwgMCk7Ci0JcmVw bG9yaWdpbl9zZXNzaW9uX29yaWdpbiA9IG9yaWdpbmlkOworCXJlcGxvcmlnaW5feGFjdF9zdGF0 ZS5vcmlnaW4gPSBvcmlnaW5pZDsKIAogCS8qCiAJICogSWYgdGhlIHVzZXIgZGlkIG5vdCBvcHQg dG8gcnVuIGFzIHRoZSBvd25lciBvZiB0aGUgc3Vic2NyaXB0aW9uCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCA2YWQ5OWNjNWFmZC4uMWYyMWI1NmFjZTYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtMTMxOCw4ICsxMzE4 LDggQEAgYXBwbHlfaGFuZGxlX3ByZXBhcmVfaW50ZXJuYWwoTG9naWNhbFJlcFByZXBhcmVkVHhu RGF0YSAqcHJlcGFyZV9kYXRhKQogCSAqIFVwZGF0ZSBvcmlnaW4gc3RhdGUgc28gd2UgY2FuIHJl c3RhcnQgc3RyZWFtaW5nIGZyb20gY29ycmVjdCBwb3NpdGlvbgogCSAqIGluIGNhc2Ugb2YgY3Jh c2guCiAJICovCi0JcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24gPSBwcmVwYXJlX2RhdGEt PmVuZF9sc247Ci0JcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl90aW1lc3RhbXAgPSBwcmVwYXJl X2RhdGEtPnByZXBhcmVfdGltZTsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX2xzbiA9 IHByZXBhcmVfZGF0YS0+ZW5kX2xzbjsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX3Rp bWVzdGFtcCA9IHByZXBhcmVfZGF0YS0+cHJlcGFyZV90aW1lOwogCiAJUHJlcGFyZVRyYW5zYWN0 aW9uQmxvY2soZ2lkKTsKIH0KQEAgLTE0MjEsOCArMTQyMSw4IEBAIGFwcGx5X2hhbmRsZV9jb21t aXRfcHJlcGFyZWQoU3RyaW5nSW5mbyBzKQogCSAqIFVwZGF0ZSBvcmlnaW4gc3RhdGUgc28gd2Ug Y2FuIHJlc3RhcnQgc3RyZWFtaW5nIGZyb20gY29ycmVjdCBwb3NpdGlvbgogCSAqIGluIGNhc2Ug b2YgY3Jhc2guCiAJICovCi0JcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24gPSBwcmVwYXJl X2RhdGEuZW5kX2xzbjsKLQlyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVzdGFtcCA9IHBy ZXBhcmVfZGF0YS5jb21taXRfdGltZTsKKwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luX2xz biA9IHByZXBhcmVfZGF0YS5lbmRfbHNuOworCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5f dGltZXN0YW1wID0gcHJlcGFyZV9kYXRhLmNvbW1pdF90aW1lOwogCiAJRmluaXNoUHJlcGFyZWRU cmFuc2FjdGlvbihnaWQsIHRydWUpOwogCWVuZF9yZXBsaWNhdGlvbl9zdGVwKCk7CkBAIC0xNDc5 LDggKzE0NzksOCBAQCBhcHBseV9oYW5kbGVfcm9sbGJhY2tfcHJlcGFyZWQoU3RyaW5nSW5mbyBz KQogCQkgKiBVcGRhdGUgb3JpZ2luIHN0YXRlIHNvIHdlIGNhbiByZXN0YXJ0IHN0cmVhbWluZyBm cm9tIGNvcnJlY3QKIAkJICogcG9zaXRpb24gaW4gY2FzZSBvZiBjcmFzaC4KIAkJICovCi0JCXJl cGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fbHNuID0gcm9sbGJhY2tfZGF0YS5yb2xsYmFja19lbmRf bHNuOwotCQlyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVzdGFtcCA9IHJvbGxiYWNrX2Rh dGEucm9sbGJhY2tfdGltZTsKKwkJcmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbl9sc24gPSBy b2xsYmFja19kYXRhLnJvbGxiYWNrX2VuZF9sc247CisJCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5v cmlnaW5fdGltZXN0YW1wID0gcm9sbGJhY2tfZGF0YS5yb2xsYmFja190aW1lOwogCiAJCS8qIFRo ZXJlIGlzIG5vIHRyYW5zYWN0aW9uIHdoZW4gQUJPUlQvUk9MTEJBQ0sgUFJFUEFSRUQgaXMgY2Fs bGVkICovCiAJCWJlZ2luX3JlcGxpY2F0aW9uX3N0ZXAoKTsKQEAgLTI1MjYsOCArMjUyNiw4IEBA IGFwcGx5X2hhbmRsZV9jb21taXRfaW50ZXJuYWwoTG9naWNhbFJlcENvbW1pdERhdGEgKmNvbW1p dF9kYXRhKQogCQkgKiBVcGRhdGUgb3JpZ2luIHN0YXRlIHNvIHdlIGNhbiByZXN0YXJ0IHN0cmVh bWluZyBmcm9tIGNvcnJlY3QKIAkJICogcG9zaXRpb24gaW4gY2FzZSBvZiBjcmFzaC4KIAkJICov Ci0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fbHNuID0gY29tbWl0X2RhdGEtPmVuZF9sc247 Ci0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wID0gY29tbWl0X2RhdGEtPmNv bW1pdHRpbWU7CisJCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fbHNuID0gY29tbWl0X2Rh dGEtPmVuZF9sc247CisJCXJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW5fdGltZXN0YW1wID0g Y29tbWl0X2RhdGEtPmNvbW1pdHRpbWU7CiAKIAkJQ29tbWl0VHJhbnNhY3Rpb25Db21tYW5kKCk7 CiAKQEAgLTI5NDAsNyArMjk0MCw3IEBAIGFwcGx5X2hhbmRsZV91cGRhdGVfaW50ZXJuYWwoQXBw bHlFeGVjdXRpb25EYXRhICplZGF0YSwKIAkJICovCiAJCWlmIChHZXRUdXBsZVRyYW5zYWN0aW9u SW5mbyhsb2NhbHNsb3QsICZjb25mbGljdHR1cGxlLnhtaW4sCiAJCQkJCQkJCQkmY29uZmxpY3R0 dXBsZS5vcmlnaW4sICZjb25mbGljdHR1cGxlLnRzKSAmJgotCQkJY29uZmxpY3R0dXBsZS5vcmln aW4gIT0gcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbikKKwkJCWNvbmZsaWN0dHVwbGUub3JpZ2lu ICE9IHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4pCiAJCXsKIAkJCVR1cGxlVGFibGVTbG90 ICpuZXdzbG90OwogCkBAIC0yOTgyLDcgKzI5ODIsNyBAQCBhcHBseV9oYW5kbGVfdXBkYXRlX2lu dGVybmFsKEFwcGx5RXhlY3V0aW9uRGF0YSAqZWRhdGEsCiAJCQkJCQkJCQkgICAmY29uZmxpY3R0 dXBsZS54bWluLAogCQkJCQkJCQkJICAgJmNvbmZsaWN0dHVwbGUub3JpZ2luLAogCQkJCQkJCQkJ ICAgJmNvbmZsaWN0dHVwbGUudHMpICYmCi0JCQljb25mbGljdHR1cGxlLm9yaWdpbiAhPSByZXBs b3JpZ2luX3Nlc3Npb25fb3JpZ2luKQorCQkJY29uZmxpY3R0dXBsZS5vcmlnaW4gIT0gcmVwbG9y aWdpbl94YWN0X3N0YXRlLm9yaWdpbikKIAkJCXR5cGUgPSBDVF9VUERBVEVfREVMRVRFRDsKIAkJ ZWxzZQogCQkJdHlwZSA9IENUX1VQREFURV9NSVNTSU5HOwpAQCAtMzEzNSw3ICszMTM1LDcgQEAg YXBwbHlfaGFuZGxlX2RlbGV0ZV9pbnRlcm5hbChBcHBseUV4ZWN1dGlvbkRhdGEgKmVkYXRhLAog CQkgKi8KIAkJaWYgKEdldFR1cGxlVHJhbnNhY3Rpb25JbmZvKGxvY2Fsc2xvdCwgJmNvbmZsaWN0 dHVwbGUueG1pbiwKIAkJCQkJCQkJCSZjb25mbGljdHR1cGxlLm9yaWdpbiwgJmNvbmZsaWN0dHVw bGUudHMpICYmCi0JCQljb25mbGljdHR1cGxlLm9yaWdpbiAhPSByZXBsb3JpZ2luX3Nlc3Npb25f b3JpZ2luKQorCQkJY29uZmxpY3R0dXBsZS5vcmlnaW4gIT0gcmVwbG9yaWdpbl94YWN0X3N0YXRl Lm9yaWdpbikKIAkJewogCQkJY29uZmxpY3R0dXBsZS5zbG90ID0gbG9jYWxzbG90OwogCQkJUmVw b3J0QXBwbHlDb25mbGljdChlc3RhdGUsIHJlbGluZm8sIExPRywgQ1RfREVMRVRFX09SSUdJTl9E SUZGRVJTLApAQCAtMzQ3Nyw3ICszNDc3LDcgQEAgYXBwbHlfaGFuZGxlX3R1cGxlX3JvdXRpbmco QXBwbHlFeGVjdXRpb25EYXRhICplZGF0YSwKIAkJCQkJCQkJCQkJCSAgICZjb25mbGljdHR1cGxl LnhtaW4sCiAJCQkJCQkJCQkJCQkgICAmY29uZmxpY3R0dXBsZS5vcmlnaW4sCiAJCQkJCQkJCQkJ CQkgICAmY29uZmxpY3R0dXBsZS50cykgJiYKLQkJCQkJCWNvbmZsaWN0dHVwbGUub3JpZ2luICE9 IHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4pCisJCQkJCQljb25mbGljdHR1cGxlLm9yaWdpbiAh PSByZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luKQogCQkJCQkJdHlwZSA9IENUX1VQREFURV9E RUxFVEVEOwogCQkJCQllbHNlCiAJCQkJCQl0eXBlID0gQ1RfVVBEQVRFX01JU1NJTkc7CkBAIC0z NTAzLDcgKzM1MDMsNyBAQCBhcHBseV9oYW5kbGVfdHVwbGVfcm91dGluZyhBcHBseUV4ZWN1dGlv bkRhdGEgKmVkYXRhLAogCQkJCWlmIChHZXRUdXBsZVRyYW5zYWN0aW9uSW5mbyhsb2NhbHNsb3Qs ICZjb25mbGljdHR1cGxlLnhtaW4sCiAJCQkJCQkJCQkJCSZjb25mbGljdHR1cGxlLm9yaWdpbiwK IAkJCQkJCQkJCQkJJmNvbmZsaWN0dHVwbGUudHMpICYmCi0JCQkJCWNvbmZsaWN0dHVwbGUub3Jp Z2luICE9IHJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4pCisJCQkJCWNvbmZsaWN0dHVwbGUub3Jp Z2luICE9IHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4pCiAJCQkJewogCQkJCQlUdXBsZVRh YmxlU2xvdCAqbmV3c2xvdDsKIApAQCAtNTU5NCw3ICs1NTk0LDcgQEAgc3RhcnRfYXBwbHkoWExv Z1JlY1B0ciBvcmlnaW5fc3RhcnRwb3MpCiAJCSAqIHRyYW5zYWN0aW9uIGxvc3MgYXMgdGhhdCB0 cmFuc2FjdGlvbiB3b24ndCBiZSBzZW50IGFnYWluIGJ5IHRoZQogCQkgKiBzZXJ2ZXIuCiAJCSAq LwotCQlyZXBsb3JpZ2luX3Nlc3Npb25fY2xlYXIodHJ1ZSk7CisJCXJlcGxvcmlnaW5feGFjdF9j bGVhcih0cnVlKTsKIAogCQlpZiAoTXlTdWJzY3JpcHRpb24tPmRpc2FibGVvbmVycikKIAkJCURp c2FibGVTdWJzY3JpcHRpb25BbmRFeGl0KCk7CkBAIC01NjUyLDcgKzU2NTIsNyBAQCBydW5fYXBw bHlfd29ya2VyKHZvaWQpCiAJaWYgKCFPaWRJc1ZhbGlkKG9yaWdpbmlkKSkKIAkJb3JpZ2luaWQg PSByZXBsb3JpZ2luX2NyZWF0ZShvcmlnaW5uYW1lKTsKIAlyZXBsb3JpZ2luX3Nlc3Npb25fc2V0 dXAob3JpZ2luaWQsIDApOwotCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4gPSBvcmlnaW5pZDsK KwlyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luID0gb3JpZ2luaWQ7CiAJb3JpZ2luX3N0YXJ0 cG9zID0gcmVwbG9yaWdpbl9zZXNzaW9uX2dldF9wcm9ncmVzcyhmYWxzZSk7CiAJQ29tbWl0VHJh bnNhY3Rpb25Db21tYW5kKCk7CiAKQEAgLTU4NzQsNyArNTg3NCw3IEBAIEluaXRpYWxpemVMb2dS ZXBXb3JrZXIodm9pZCkKIHN0YXRpYyB2b2lkCiBvbl9leGl0X2NsZWFyX3N0YXRlKGludCBjb2Rl LCBEYXR1bSBhcmcpCiB7Ci0JcmVwbG9yaWdpbl9zZXNzaW9uX2NsZWFyKHRydWUpOworCXJlcGxv cmlnaW5feGFjdF9jbGVhcih0cnVlKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL29yaWdpbi5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vb3JpZ2luLmgK aW5kZXggMzA5YjgwMGJkNWYuLjU2ZTAxZmI0YmEzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9y ZXBsaWNhdGlvbi9vcmlnaW4uaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vcmlnaW4u aApAQCAtNDAsOSArNDAsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgeGxfcmVwbG9yaWdpbl9kcm9wCiAg Ki8KICNkZWZpbmUgTUFYX1JPTkFNRV9MRU4JNTEyCiAKLWV4dGVybiBQR0RMTElNUE9SVCBSZXBP cmlnaW5JZCByZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luOwotZXh0ZXJuIFBHRExMSU1QT1JUIFhM b2dSZWNQdHIgcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc247Ci1leHRlcm4gUEdETExJTVBP UlQgVGltZXN0YW1wVHogcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl90aW1lc3RhbXA7Cit0eXBl ZGVmIHN0cnVjdCBSZXBPcmlnaW5YYWN0U3RhdGUKK3sKKwlSZXBPcmlnaW5JZCBvcmlnaW47CisJ WExvZ1JlY1B0cglvcmlnaW5fbHNuOworCVRpbWVzdGFtcFR6IG9yaWdpbl90aW1lc3RhbXA7Cit9 IFJlcE9yaWdpblhhY3RTdGF0ZTsKKworZXh0ZXJuIFBHRExMSU1QT1JUIFJlcE9yaWdpblhhY3RT dGF0ZSByZXBsb3JpZ2luX3hhY3Rfc3RhdGU7CiAKIC8qIEdVQ3MgKi8KIGV4dGVybiBQR0RMTElN UE9SVCBpbnQgbWF4X2FjdGl2ZV9yZXBsaWNhdGlvbl9vcmlnaW5zOwpAQCAtNjUsOSArNzAsMTAg QEAgZXh0ZXJuIHZvaWQgcmVwbG9yaWdpbl9zZXNzaW9uX2FkdmFuY2UoWExvZ1JlY1B0ciByZW1v dGVfY29tbWl0LAogCQkJCQkJCQkJICAgWExvZ1JlY1B0ciBsb2NhbF9jb21taXQpOwogZXh0ZXJu IHZvaWQgcmVwbG9yaWdpbl9zZXNzaW9uX3NldHVwKFJlcE9yaWdpbklkIG5vZGUsIGludCBhY3F1 aXJlZF9ieSk7CiBleHRlcm4gdm9pZCByZXBsb3JpZ2luX3Nlc3Npb25fcmVzZXQodm9pZCk7Ci1l eHRlcm4gdm9pZCByZXBsb3JpZ2luX3Nlc3Npb25fY2xlYXIoYm9vbCBjbGVhcl9vcmlnaW4pOwog ZXh0ZXJuIFhMb2dSZWNQdHIgcmVwbG9yaWdpbl9zZXNzaW9uX2dldF9wcm9ncmVzcyhib29sIGZs dXNoKTsKIAorZXh0ZXJuIHZvaWQgcmVwbG9yaWdpbl94YWN0X2NsZWFyKGJvb2wgY2xlYXJfb3Jp Z2luKTsKKwogLyogQ2hlY2twb2ludC9TdGFydHVwIGludGVncmF0aW9uICovCiBleHRlcm4gdm9p ZCBDaGVja1BvaW50UmVwbGljYXRpb25PcmlnaW4odm9pZCk7CiBleHRlcm4gdm9pZCBTdGFydHVw UmVwbGljYXRpb25PcmlnaW4odm9pZCk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQv dHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDA5 ZTdmMWQ0MjBlLi45NGExZGJlZDQ2NiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5 cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTI1 NjksNiArMjU2OSw3IEBAIFJlb3JkZXJCdWZmZXJUdXBsZUNpZEtleQogUmVvcmRlckJ1ZmZlclVw ZGF0ZVByb2dyZXNzVHhuQ0IKIFJlb3JkZXJUdXBsZQogUmVwT3JpZ2luSWQKK1JlcE9yaWdpblhh Y3RTdGF0ZQogUmVwYXJhbWV0ZXJpemVGb3JlaWduUGF0aEJ5Q2hpbGRfZnVuY3Rpb24KIFJlcGxh Y2VWYXJzRnJvbVRhcmdldExpc3RfY29udGV4dAogUmVwbGFjZVZhcnNOb01hdGNoT3B0aW9uCi0t IAoyLjQ3LjMKCg== --000000000000517a080647d69655 Content-Type: application/octet-stream; name="v7-0001-Refactor-replication-origin-state-reset-helpers.patch" Content-Disposition: attachment; filename="v7-0001-Refactor-replication-origin-state-reset-helpers.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mk4sdhep1 RnJvbSAzMzZkMDNkN2E2ZTkwNTRkZWU4MGZjM2FiNTlkNGIwZTFhYmZjYWFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hhbyBMaSAoRXZhbikiIDxsaWNAaGlnaGdvLmNvbT4KRGF0 ZTogV2VkLCAyNCBEZWMgMjAyNSAwOToxNzoyNyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjcgMS8y XSBSZWZhY3RvciByZXBsaWNhdGlvbiBvcmlnaW4gc3RhdGUgcmVzZXQgaGVscGVycy4KTUlNRS1W ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkZhY3RvciBvdXQgY29tbW9uIGxvZ2ljIGZvciBj bGVhcmluZyByZXBsb3JpZ2luX3Nlc3Npb25fKiB2YXJpYWJsZXMKaW50byBhIGRlZGljYXRlZCBo ZWxwZXIgZnVuY3Rpb24sIHJlcGxvcmlnaW5fc2Vzc2lvbl9yZXNldCgpLgoKVGhpcyByZW1vdmVz IGR1cGxpY2F0ZWQgYXNzaWdubWVudHMgb2YgdGhlc2UgdmFyaWFibGVzIGFjcm9zcyBtdWx0aXBs ZQpjYWxsIHNpdGVzLCBhbmQgbWFrZXMgdGhlIGludGVuZGVkIHNjb3BlIG9mIGVhY2ggcmVzZXQg ZXhwbGljaXQuCgpBdXRob3I6IENoYW8gTGkgPGxpY0BoaWdoZ28uY29tPgpSZXZpZXdlZC1ieTog TWFzYWhpa28gU2F3YWRhIDxzYXdhZGEubXNoa0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBBc2h1 dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IMOB bHZhcm8gSGVycmVyYSA8YWx2aGVycmVAa3VyaWxlbXUuZGU+CkRpc2N1c3Npb246IGh0dHBzOi8v cG9zdGdyLmVzL20vQ0FFb1d4Mj1wWXZmUnRoWEhUelNyT3NmNV9GZnlZNHpKeUs0elYydjRXPXlq VWlqMWNBQG1haWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9vcmlnaW4uYyAgICB8IDIxICsrKysrKysrKysrKysrKystLS0tLQogc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyB8ICA0ICstLS0KIHNyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICAgfCAxNCArKysrKystLS0tLS0tLQogc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vb3JpZ2luLmggICAgICAgICAgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdl ZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9vcmlnaW4uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvb3JpZ2luLmMKaW5kZXggNzI2OGQ3YjVlNmMuLjY4MDBhMWY3NTVkIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jCisrKyBiL3Ny Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMKQEAgLTEyODcsNiArMTI4Nywx OSBAQCByZXBsb3JpZ2luX3Nlc3Npb25fZ2V0X3Byb2dyZXNzKGJvb2wgZmx1c2gpCiAJcmV0dXJu IHJlbW90ZV9sc247CiB9CiAKKy8qCisgKiBDbGVhciBzZXNzaW9uIHJlcGxpY2F0aW9uIG9yaWdp biBzdGF0ZS4KKyAqCisgKiByZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luIGlzIGFsc28gY2xlYXJl ZCBpZiBjbGVhcl9vcmlnaW4gaXMgc2V0LgorICovCit2b2lkCityZXBsb3JpZ2luX3Nlc3Npb25f Y2xlYXIoYm9vbCBjbGVhcl9vcmlnaW4pCit7CisJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9s c24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKKwlyZXBsb3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVz dGFtcCA9IDA7CisJaWYgKGNsZWFyX29yaWdpbikKKwkJcmVwbG9yaWdpbl9zZXNzaW9uX29yaWdp biA9IEludmFsaWRSZXBPcmlnaW5JZDsKK30KIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAg LTE0MTIsOSArMTQyNSw3IEBAIHBnX3JlcGxpY2F0aW9uX29yaWdpbl9zZXNzaW9uX3Jlc2V0KFBH X0ZVTkNUSU9OX0FSR1MpCiAKIAlyZXBsb3JpZ2luX3Nlc3Npb25fcmVzZXQoKTsKIAotCXJlcGxv cmlnaW5fc2Vzc2lvbl9vcmlnaW4gPSBJbnZhbGlkUmVwT3JpZ2luSWQ7Ci0JcmVwbG9yaWdpbl9z ZXNzaW9uX29yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKLQlyZXBsb3JpZ2luX3Nlc3Np b25fb3JpZ2luX3RpbWVzdGFtcCA9IDA7CisJcmVwbG9yaWdpbl9zZXNzaW9uX2NsZWFyKHRydWUp OwogCiAJUEdfUkVUVVJOX1ZPSUQoKTsKIH0KQEAgLTE0ODIsOCArMTQ5Myw4IEBAIHBnX3JlcGxp Y2F0aW9uX29yaWdpbl94YWN0X3Jlc2V0KFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJcmVwbG9yaWdp bl9jaGVja19wcmVyZXF1aXNpdGVzKHRydWUsIGZhbHNlKTsKIAotCXJlcGxvcmlnaW5fc2Vzc2lv bl9vcmlnaW5fbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7Ci0JcmVwbG9yaWdpbl9zZXNzaW9uX29y aWdpbl90aW1lc3RhbXAgPSAwOworCS8qIENsZWFyIG9ubHkgb3JpZ2luX2xzbiBhbmQgb3JpZ2lu X3RpbWVzdGFtcCAqLworCXJlcGxvcmlnaW5fc2Vzc2lvbl9jbGVhcihmYWxzZSk7CiAKIAlQR19S RVRVUk5fVk9JRCgpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVz eW5jLmMKaW5kZXggNjdlNTc1MjAzODYuLjcyZTQ1YzJkZTE5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3Jl cGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKQEAgLTMyMyw5ICszMjMsNyBAQCBQcm9jZXNz U3luY2luZ1RhYmxlc0ZvclN5bmMoWExvZ1JlY1B0ciBjdXJyZW50X2xzbikKIAkJICogVGhpcyBp cyBuZWVkZWQgdG8gYWxsb3cgdGhlIG9yaWdpbiB0byBiZSBkcm9wcGVkLgogCQkgKi8KIAkJcmVw bG9yaWdpbl9zZXNzaW9uX3Jlc2V0KCk7Ci0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4gPSBJ bnZhbGlkUmVwT3JpZ2luSWQ7Ci0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fbHNuID0gSW52 YWxpZFhMb2dSZWNQdHI7Ci0JCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW5fdGltZXN0YW1wID0g MDsKKwkJcmVwbG9yaWdpbl9zZXNzaW9uX2NsZWFyKHRydWUpOwogCiAJCS8qCiAJCSAqIERyb3Ag dGhlIHRhYmxlc3luYydzIG9yaWdpbiB0cmFja2luZyBpZiBleGlzdHMuCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCBhZDI4MWU3MDY5Yi4uNmFkOTljYzVhZmQg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysr IGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtNjI3LDcgKzYy Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8o dm9pZCk7CiBzdGF0aWMgVHJhbnNBcHBseUFjdGlvbiBnZXRfdHJhbnNhY3Rpb25fYXBwbHlfYWN0 aW9uKFRyYW5zYWN0aW9uSWQgeGlkLAogCQkJCQkJCQkJCQkJCSBQYXJhbGxlbEFwcGx5V29ya2Vy SW5mbyAqKndpbmZvKTsKIAotc3RhdGljIHZvaWQgcmVwbG9yaWdpbl9yZXNldChpbnQgY29kZSwg RGF0dW0gYXJnKTsKK3N0YXRpYyB2b2lkIG9uX2V4aXRfY2xlYXJfc3RhdGUoaW50IGNvZGUsIERh dHVtIGFyZyk7CiAKIC8qCiAgKiBGb3JtIHRoZSBvcmlnaW4gbmFtZSBmb3IgdGhlIHN1YnNjcmlw dGlvbi4KQEAgLTU1OTQsNyArNTU5NCw3IEBAIHN0YXJ0X2FwcGx5KFhMb2dSZWNQdHIgb3JpZ2lu X3N0YXJ0cG9zKQogCQkgKiB0cmFuc2FjdGlvbiBsb3NzIGFzIHRoYXQgdHJhbnNhY3Rpb24gd29u J3QgYmUgc2VudCBhZ2FpbiBieSB0aGUKIAkJICogc2VydmVyLgogCQkgKi8KLQkJcmVwbG9yaWdp bl9yZXNldCgwLCAoRGF0dW0pIDApOworCQlyZXBsb3JpZ2luX3Nlc3Npb25fY2xlYXIodHJ1ZSk7 CiAKIAkJaWYgKE15U3Vic2NyaXB0aW9uLT5kaXNhYmxlb25lcnIpCiAJCQlEaXNhYmxlU3Vic2Ny aXB0aW9uQW5kRXhpdCgpOwpAQCAtNTg2NSwxOCArNTg2NSwxNiBAQCBJbml0aWFsaXplTG9nUmVw V29ya2VyKHZvaWQpCiAJICogcmVwbGljYXRpb24gd29ya2VycyB0aGF0IHNldCB1cCBvcmlnaW5z IGFuZCBhcHBseSByZW1vdGUgdHJhbnNhY3Rpb25zCiAJICogYXJlIHByb3RlY3RlZC4KIAkgKi8K LQliZWZvcmVfc2htZW1fZXhpdChyZXBsb3JpZ2luX3Jlc2V0LCAoRGF0dW0pIDApOworCWJlZm9y ZV9zaG1lbV9leGl0KG9uX2V4aXRfY2xlYXJfc3RhdGUsIChEYXR1bSkgMCk7CiB9CiAKIC8qCi0g KiBSZXNldCB0aGUgb3JpZ2luIHN0YXRlLgorICogQ2FsbGJhY2sgb24gZXhpdCB0byByZXNldCB0 aGUgb3JpZ2luIHN0YXRlLgogICovCiBzdGF0aWMgdm9pZAotcmVwbG9yaWdpbl9yZXNldChpbnQg Y29kZSwgRGF0dW0gYXJnKQorb25fZXhpdF9jbGVhcl9zdGF0ZShpbnQgY29kZSwgRGF0dW0gYXJn KQogewotCXJlcGxvcmlnaW5fc2Vzc2lvbl9vcmlnaW4gPSBJbnZhbGlkUmVwT3JpZ2luSWQ7Ci0J cmVwbG9yaWdpbl9zZXNzaW9uX29yaWdpbl9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKLQlyZXBs b3JpZ2luX3Nlc3Npb25fb3JpZ2luX3RpbWVzdGFtcCA9IDA7CisJcmVwbG9yaWdpbl9zZXNzaW9u X2NsZWFyKHRydWUpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRp b24vb3JpZ2luLmggYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9vcmlnaW4uaAppbmRleCAxZGE3 NzM2Mzk1NS4uMzA5YjgwMGJkNWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L29yaWdpbi5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL29yaWdpbi5oCkBAIC02NSw2 ICs2NSw3IEBAIGV4dGVybiB2b2lkIHJlcGxvcmlnaW5fc2Vzc2lvbl9hZHZhbmNlKFhMb2dSZWNQ dHIgcmVtb3RlX2NvbW1pdCwKIAkJCQkJCQkJCSAgIFhMb2dSZWNQdHIgbG9jYWxfY29tbWl0KTsK IGV4dGVybiB2b2lkIHJlcGxvcmlnaW5fc2Vzc2lvbl9zZXR1cChSZXBPcmlnaW5JZCBub2RlLCBp bnQgYWNxdWlyZWRfYnkpOwogZXh0ZXJuIHZvaWQgcmVwbG9yaWdpbl9zZXNzaW9uX3Jlc2V0KHZv aWQpOworZXh0ZXJuIHZvaWQgcmVwbG9yaWdpbl9zZXNzaW9uX2NsZWFyKGJvb2wgY2xlYXJfb3Jp Z2luKTsKIGV4dGVybiBYTG9nUmVjUHRyIHJlcGxvcmlnaW5fc2Vzc2lvbl9nZXRfcHJvZ3Jlc3Mo Ym9vbCBmbHVzaCk7CiAKIC8qIENoZWNrcG9pbnQvU3RhcnR1cCBpbnRlZ3JhdGlvbiAqLwotLSAK Mi40Ny4zCgo= --000000000000517a080647d69655--