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 1vMQ5b-009H8N-1n for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Nov 2025 12:18:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vMQ4b-007Bdm-0T for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Nov 2025 12:17:09 +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 1vMQ4a-007Bde-29 for pgsql-hackers@lists.postgresql.org; Fri, 21 Nov 2025 12:17:09 +0000 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vMQ4Y-000iaQ-0n for pgsql-hackers@lists.postgresql.org; Fri, 21 Nov 2025 12:17:08 +0000 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-343f35d0f99so1637670a91.0 for ; Fri, 21 Nov 2025 04:17:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763727424; x=1764332224; 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=3CnHhAtvi298bWdPISKE8mguRjdpIaEUInwXHri6nv0=; b=LHrEWf1p1K5dPpUbWqhFwAQ8i7CMpGrSiLBwTR/cWUshrkQLatxtNXtpkFD1PGAbCI ARJJqEVvTm/PBlmiWrphtvjP3AaCvCP/H1j+NeTh2ElM/nNVdHf6WX66K1NdJ+RZhz5W Cf4q2o7ZpODa69dio1KeteKfp02Hl8jwWkuqg7YS4M9C4iF9vmb8LtdAT0WiyGEmshvw SRF6BI5YXGCIwc0U+jbqRYBtMMv0g9zFn3ejw+EiJPk/q0Y/K7lpGjEHD9pcHmzvoqsi Pxg8C2r16Y9urfK9iawQ+hBbc/V0oCsG6jq2L0Z2BCy7TST8dEf9TOjXq7ewODB+bTMI liPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763727424; x=1764332224; 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=3CnHhAtvi298bWdPISKE8mguRjdpIaEUInwXHri6nv0=; b=WlVFSWk5VhVvcFbKH2lNrfsZ8pi8yaETD+83c+q+vLB6DggwM8lPgywcR3Ql3UenBC i3uPwabepaXdjDfv39S5yuWeb5vVRvgQNeqjeFw7oD+eeewoKckoVXLj78GYCkhWvQkk ZXv60zYX1K3fugtUdY8ayx3TzbbvKT82tmDk9XrMA7C6XZxRvGTiduOP6oJl31ip5WPL G8+PH76l9HA29FAZYmjXtxg4N/PHlVadPIXiucfZBhwCSPhnnThVfPIxqP94oYwPaWNU 91189Jm3AAjwE7DMKrPujjsP7nsDS1QWtEa0JgoJXt6mWCTmSw5pifqu95IfvjAE4dgg /MTg== X-Gm-Message-State: AOJu0YxLUG1l7a6qUSRxBN4KtC+oaT1YFiKsb12xFVlIW3wlj+4aa65p TqDbTGbRSq195v6XqqylGEWaGxrPjGBTtMIGFy/+9NWmJr5JP42RWP3PxM7u9D9kutiln581fSY c1bEmBgXw63V/HOky8rLQjDZlLzyEE3s= X-Gm-Gg: ASbGncuy84ltTyirf5zDbdFzsk60JC3ACBGptTGJSoCJ0WgrQ/2enSUkVAu0mxfTC6g aAyQrvhL+5n6pyhBqdKApIPwMTuIbr7ypypFPPUcS9aYrytP5w3lsP4aXaSc961Sv2ykz5k060V l4a/HpETQC4dtluhFY/t5QZJjLV0hyfWU0Is7InIdpQAzsc32hjj/qjp2/lpPvdFVfFRZVNVegi Wk+bHdRYerIirbXnPP23tVfOuoeA2ZKUp3+JxyP31A6IZbcqq5DdN022in5QtUDAlAmefumcdDC IFQAv/c= X-Google-Smtp-Source: AGHT+IEm1iOtOooDgrn1JnbW1DhtfDGC0vofgCQGO5xIe/CxsE1oRqEo+2hHMZmb2tc8dA+7zXyA+Q3Ed/yfgufdLIY= X-Received: by 2002:a17:90a:5d06:b0:340:bb64:c5e with SMTP id 98e67ed59e1d1-34733e6d4e4mr1927248a91.14.1763727424148; Fri, 21 Nov 2025 04:17:04 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Amul Sul Date: Fri, 21 Nov 2025 17:46:24 +0530 X-Gm-Features: AWmQ_bkRmdJu5Yw8j8e_i5ddpe4X-X7uBn331EPqEtnwbf269FSiBFrUf4XYEL8 Message-ID: Subject: Re: pg_waldump: support decoding of WAL inside tarfile To: Robert Haas Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000098fbbb064419cae3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000098fbbb064419cae3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 17, 2025 at 10:20=E2=80=AFAM Amul Sul wrote= : > > On Thu, Nov 6, 2025 at 2:33=E2=80=AFPM Amul Sul wrote= : > > > > On Mon, Oct 20, 2025 at 8:05=E2=80=AFPM Robert Haas wrote: > > > > > > On Thu, Oct 16, 2025 at 7:49=E2=80=AFAM Amul Sul = wrote: > > > [....] > > Kindly have a look at the attached version. Thank you ! > > > Attached is the updated version. I have fixed an assertion failure that can occasionally occur with a partial WAL page read. Regards, Amul --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0001-Refactor-pg_waldump-Move-some-declarations-to-new.patch" Content-Disposition: attachment; filename="v7-0001-Refactor-pg_waldump-Move-some-declarations-to-new.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t4coa0 RnJvbSAyODA0MzI2OTFhOWM5OGIxMDA2ZDg1NzY5ZWU4ZTVhNTg2OWU1NWM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFR1 ZSwgMjQgSnVuIDIwMjUgMTE6MzM6MjAgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDEvOF0gUmVm YWN0b3I6IHBnX3dhbGR1bXA6IE1vdmUgc29tZSBkZWNsYXJhdGlvbnMgdG8gbmV3CiBwZ193YWxk dW1wLmgKClRoaXMgY2hhbmdlIHByZXBhcmVzIGZvciBhIHNlY29uZCBzb3VyY2UgZmlsZSBpbiB0 aGlzIGRpcmVjdG9yeSB0bwpzdXBwb3J0IHJlYWRpbmcgV0FMIGZyb20gdGFyIGZpbGVzLiBDb21t b24gc3RydWN0dXJlcywgZGVjbGFyYXRpb25zLAphbmQgZnVuY3Rpb25zIGFyZSBiZWluZyBleHBv cnRlZCB0aHJvdWdoIHRoaXMgaW5jbHVkZSBmaWxlIHNvCnRoZXkgY2FuIGJlIHVzZWQgaW4gYm90 aCBmaWxlcy4KLS0tCiBzcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5jIHwgMTEgKystLS0t LS0tLS0KIHNyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmggfCAyNyArKysrKysrKysrKysr KysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgOSBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVt cC5oCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuYyBiL3NyYy9i aW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMKaW5kZXggYzZkNmJhNzllNDQuLjU4NDZlZTI0ZjQ2 IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5jCisrKyBiL3NyYy9i aW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJj b21tb24vbG9nZ2luZy5oIgogI2luY2x1ZGUgImNvbW1vbi9yZWxwYXRoLmgiCiAjaW5jbHVkZSAi Z2V0b3B0X2xvbmcuaCIKKyNpbmNsdWRlICJwZ193YWxkdW1wLmgiCiAjaW5jbHVkZSAicm1ncmRl c2MuaCIKICNpbmNsdWRlICJzdG9yYWdlL2J1ZnBhZ2UuaCIKIApAQCAtMzksMTkgKzQwLDExIEBA CiAKIHN0YXRpYyBjb25zdCBjaGFyICpwcm9nbmFtZTsKIAotc3RhdGljIGludAlXYWxTZWdTejsK K2ludAkJCVdhbFNlZ1N6ID0gREVGQVVMVF9YTE9HX1NFR19TSVpFOwogc3RhdGljIHZvbGF0aWxl IHNpZ19hdG9taWNfdCB0aW1lX3RvX3N0b3AgPSBmYWxzZTsKIAogc3RhdGljIGNvbnN0IFJlbEZp bGVMb2NhdG9yIGVtcHR5UmVsRmlsZUxvY2F0b3IgPSB7MCwgMCwgMH07CiAKLXR5cGVkZWYgc3Ry dWN0IFhMb2dEdW1wUHJpdmF0ZQotewotCVRpbWVMaW5lSUQJdGltZWxpbmU7Ci0JWExvZ1JlY1B0 cglzdGFydHB0cjsKLQlYTG9nUmVjUHRyCWVuZHB0cjsKLQlib29sCQllbmRwdHJfcmVhY2hlZDsK LX0gWExvZ0R1bXBQcml2YXRlOwotCiB0eXBlZGVmIHN0cnVjdCBYTG9nRHVtcENvbmZpZwogewog CS8qIGRpc3BsYXkgb3B0aW9ucyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1wL3Bn X3dhbGR1bXAuaCBiL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjllNjJiNjRlYWQ1Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuaApAQCAtMCwwICsxLDI3IEBACisvKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqCisgKiBwZ193YWxkdW1wLmggLSBkZWNvZGUgYW5kIGRpc3BsYXkg V0FMCisgKgorICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMjUsIFBvc3RncmVTUUwgR2xvYmFsIERl dmVsb3BtZW50IEdyb3VwCisgKgorICogSURFTlRJRklDQVRJT04KKyAqCQkgIHNyYy9iaW4vcGdf d2FsZHVtcC9wZ193YWxkdW1wLmgKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaWZuZGVmIFBH X1dBTERVTVBfSAorI2RlZmluZSBQR19XQUxEVU1QX0gKKworI2luY2x1ZGUgImFjY2Vzcy94bG9n ZGVmcy5oIgorCitleHRlcm4gaW50CVdhbFNlZ1N6OworCisvKiBDb250YWlucyB0aGUgbmVjZXNz YXJ5IGluZm9ybWF0aW9uIHRvIGRyaXZlIFdBTCBkZWNvZGluZyAqLwordHlwZWRlZiBzdHJ1Y3Qg WExvZ0R1bXBQcml2YXRlCit7CisJVGltZUxpbmVJRAl0aW1lbGluZTsKKwlYTG9nUmVjUHRyCXN0 YXJ0cHRyOworCVhMb2dSZWNQdHIJZW5kcHRyOworCWJvb2wJCWVuZHB0cl9yZWFjaGVkOworfSBY TG9nRHVtcFByaXZhdGU7CisKKyNlbmRpZgkJLyogZW5kIG9mIFBHX1dBTERVTVBfSCAqLwotLSAK Mi40Ny4xCgo= --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0002-Refactor-pg_waldump-Separate-logic-used-to-calcul.patch" Content-Disposition: attachment; filename="v7-0002-Refactor-pg_waldump-Separate-logic-used-to-calcul.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t4hix1 RnJvbSAxMTg0MDAyOWJjNTJlOTI3ODU4ZGE3YmUxZjkxZWNlOWI2ODBkNDg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFRo dSwgMjYgSnVuIDIwMjUgMTE6NDI6NTMgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDIvOF0gUmVm YWN0b3I6IHBnX3dhbGR1bXA6IFNlcGFyYXRlIGxvZ2ljIHVzZWQgdG8gY2FsY3VsYXRlCiB0aGUg cmVxdWlyZWQgcmVhZCBzaXplLgoKVGhpcyByZWZhY3RvcmluZyBwcmVwYXJlcyB0aGUgY29kZWJh c2UgZm9yIGFuIHVwY29taW5nIHBhdGNoIHRoYXQgd2lsbApzdXBwb3J0IHJlYWRpbmcgV0FMIGZy b20gdGFyIGZpbGVzLiBUaGUgbG9naWMgZm9yIGNhbGN1bGF0aW5nIHRoZQpyZXF1aXJlZCByZWFk IHNpemUgaGFzIGJlZW4gdXBkYXRlZCB0byBoYW5kbGUgYm90aCBub3JtYWwgV0FMIGZpbGVzCmFu ZCBXQUwgZmlsZXMgbG9jYXRlZCBpbnNpZGUgYSB0YXIgYXJjaGl2ZS4KLS0tCiBzcmMvYmluL3Bn X3dhbGR1bXAvcGdfd2FsZHVtcC5jIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuYyBiL3NyYy9iaW4vcGdf d2FsZHVtcC9wZ193YWxkdW1wLmMKaW5kZXggNTg0NmVlMjRmNDYuLjBkYzI4ZWEzNjBjIDEwMDY0 NAotLS0gYS9zcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdf d2FsZHVtcC9wZ193YWxkdW1wLmMKQEAgLTMyNiw2ICszMjYsMjkgQEAgaWRlbnRpZnlfdGFyZ2V0 X2RpcmVjdG9yeShjaGFyICpkaXJlY3RvcnksIGNoYXIgKmZuYW1lKQogCXJldHVybiBOVUxMOwkJ CQkvKiBub3QgcmVhY2hlZCAqLwogfQogCisvKiBSZXR1cm5zIHRoZSBzaXplIGluIGJ5dGVzIG9m IHRoZSBkYXRhIHRvIGJlIHJlYWQuICovCitzdGF0aWMgaW5saW5lIGludAorcmVxdWlyZWRfcmVh ZF9sZW4oWExvZ0R1bXBQcml2YXRlICpwcml2YXRlLCBYTG9nUmVjUHRyIHRhcmdldFBhZ2VQdHIs CisJCQkJICBpbnQgcmVxTGVuKQoreworCWludAkJCWNvdW50ID0gWExPR19CTENLU1o7CisKKwlp ZiAoWExvZ1JlY1B0cklzVmFsaWQocHJpdmF0ZS0+ZW5kcHRyKSkKKwl7CisJCWlmICh0YXJnZXRQ YWdlUHRyICsgWExPR19CTENLU1ogPD0gcHJpdmF0ZS0+ZW5kcHRyKQorCQkJY291bnQgPSBYTE9H X0JMQ0tTWjsKKwkJZWxzZSBpZiAodGFyZ2V0UGFnZVB0ciArIHJlcUxlbiA8PSBwcml2YXRlLT5l bmRwdHIpCisJCQljb3VudCA9IHByaXZhdGUtPmVuZHB0ciAtIHRhcmdldFBhZ2VQdHI7CisJCWVs c2UKKwkJeworCQkJcHJpdmF0ZS0+ZW5kcHRyX3JlYWNoZWQgPSB0cnVlOworCQkJcmV0dXJuIC0x OworCQl9CisJfQorCisJcmV0dXJuIGNvdW50OworfQorCiAvKiBwZ193YWxkdW1wJ3MgWExvZ1Jl YWRlclJvdXRpbmUtPnNlZ21lbnRfb3BlbiBjYWxsYmFjayAqLwogc3RhdGljIHZvaWQKIFdBTER1 bXBPcGVuU2VnbWVudChYTG9nUmVhZGVyU3RhdGUgKnN0YXRlLCBYTG9nU2VnTm8gbmV4dFNlZ05v LApAQCAtMzgzLDIxICs0MDYsMTEgQEAgV0FMRHVtcFJlYWRQYWdlKFhMb2dSZWFkZXJTdGF0ZSAq c3RhdGUsIFhMb2dSZWNQdHIgdGFyZ2V0UGFnZVB0ciwgaW50IHJlcUxlbiwKIAkJCQlYTG9nUmVj UHRyIHRhcmdldFB0ciwgY2hhciAqcmVhZEJ1ZmYpCiB7CiAJWExvZ0R1bXBQcml2YXRlICpwcml2 YXRlID0gc3RhdGUtPnByaXZhdGVfZGF0YTsKLQlpbnQJCQljb3VudCA9IFhMT0dfQkxDS1NaOwor CWludAkJCWNvdW50ID0gcmVxdWlyZWRfcmVhZF9sZW4ocHJpdmF0ZSwgdGFyZ2V0UGFnZVB0ciwg cmVxTGVuKTsKIAlXQUxSZWFkRXJyb3IgZXJyaW5mbzsKIAotCWlmIChYTG9nUmVjUHRySXNWYWxp ZChwcml2YXRlLT5lbmRwdHIpKQotCXsKLQkJaWYgKHRhcmdldFBhZ2VQdHIgKyBYTE9HX0JMQ0tT WiA8PSBwcml2YXRlLT5lbmRwdHIpCi0JCQljb3VudCA9IFhMT0dfQkxDS1NaOwotCQllbHNlIGlm ICh0YXJnZXRQYWdlUHRyICsgcmVxTGVuIDw9IHByaXZhdGUtPmVuZHB0cikKLQkJCWNvdW50ID0g cHJpdmF0ZS0+ZW5kcHRyIC0gdGFyZ2V0UGFnZVB0cjsKLQkJZWxzZQotCQl7Ci0JCQlwcml2YXRl LT5lbmRwdHJfcmVhY2hlZCA9IHRydWU7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQl9CisJaWYgKHBy aXZhdGUtPmVuZHB0cl9yZWFjaGVkKQorCQlyZXR1cm4gLTE7CiAKIAlpZiAoIVdBTFJlYWQoc3Rh dGUsIHJlYWRCdWZmLCB0YXJnZXRQYWdlUHRyLCBjb3VudCwgcHJpdmF0ZS0+dGltZWxpbmUsCiAJ CQkJICZlcnJpbmZvKSkKLS0gCjIuNDcuMQoK --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0003-Refactor-pg_waldump-Restructure-TAP-tests.patch" Content-Disposition: attachment; filename="v7-0003-Refactor-pg_waldump-Restructure-TAP-tests.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t4lax2 RnJvbSA2MmExNDNiMjY3ZDYwZDNjOThiNTA2M2MzODc0YzRjMjIxMzVkMWMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMzAgSnVsIDIwMjUgMTI6NDM6MzAgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDMvOF0gUmVm YWN0b3I6IHBnX3dhbGR1bXA6IFJlc3RydWN0dXJlIFRBUCB0ZXN0cy4KClJlc3RydWN0dXJlZCBz b21lIHRlc3RzIHRvIHJ1biBpbnNpZGUgYSBsb29wLCBmYWNpbGl0YXRpbmcgdGhlaXIKcmUtZXhl Y3V0aW9uIGZvciBkZWNvZGluZyBXQUwgZnJvbSB0YXIgYXJjaGl2ZXMuCi0tLQogc3JjL2Jpbi9w Z193YWxkdW1wL3QvMDAxX2Jhc2ljLnBsIHwgMTIzICsrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbCBiL3NyYy9iaW4v cGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbAppbmRleCBmMjZkNzVlMDFjZi4uMWI3MTJlOGQ3NGQg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbAorKysgYi9zcmMv YmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKQEAgLTE5OCwyOCArMTk4LDYgQEAgY29tbWFu ZF9saWtlKAogCV0sCiAJcXIvLi8sCiAJJ3J1bnMgd2l0aCBzdGFydCBhbmQgZW5kIHNlZ21lbnQg c3BlY2lmaWVkJyk7Ci1jb21tYW5kX2ZhaWxzX2xpa2UoCi0JWyAncGdfd2FsZHVtcCcsICctLXBh dGgnID0+ICRub2RlLT5kYXRhX2RpciBdLAotCXFyL2Vycm9yOiBubyBzdGFydCBXQUwgbG9jYXRp b24gZ2l2ZW4vLAotCSdwYXRoIG9wdGlvbiByZXF1aXJlcyBzdGFydCBsb2NhdGlvbicpOwotY29t bWFuZF9saWtlKAotCVsKLQkJJ3BnX3dhbGR1bXAnLAotCQknLS1wYXRoJyA9PiAkbm9kZS0+ZGF0 YV9kaXIsCi0JCSctLXN0YXJ0JyA9PiAkc3RhcnRfbHNuLAotCQknLS1lbmQnID0+ICRlbmRfbHNu LAotCV0sCi0JcXIvLi8sCi0JJ3J1bnMgd2l0aCBwYXRoIG9wdGlvbiBhbmQgc3RhcnQgYW5kIGVu ZCBsb2NhdGlvbnMnKTsKLWNvbW1hbmRfZmFpbHNfbGlrZSgKLQlbCi0JCSdwZ193YWxkdW1wJywK LQkJJy0tcGF0aCcgPT4gJG5vZGUtPmRhdGFfZGlyLAotCQknLS1zdGFydCcgPT4gJHN0YXJ0X2xz biwKLQldLAotCXFyL2Vycm9yOiBlcnJvciBpbiBXQUwgcmVjb3JkIGF0LywKLQknZmFsbGluZyBv ZmYgdGhlIGVuZCBvZiB0aGUgV0FMIHJlc3VsdHMgaW4gYW4gZXJyb3InKTsKLQogY29tbWFuZF9s aWtlKAogCVsKIAkJJ3BnX3dhbGR1bXAnLCAnLS1xdWlldCcsCkBAIC0yMjcsMTUgKzIwNSw2IEBA IGNvbW1hbmRfbGlrZSgKIAldLAogCXFyL14kLywKIAknbm8gb3V0cHV0IHdpdGggLS1xdWlldCBv cHRpb24nKTsKLWNvbW1hbmRfZmFpbHNfbGlrZSgKLQlbCi0JCSdwZ193YWxkdW1wJywgJy0tcXVp ZXQnLAotCQknLS1wYXRoJyA9PiAkbm9kZS0+ZGF0YV9kaXIsCi0JCSctLXN0YXJ0JyA9PiAkc3Rh cnRfbHNuCi0JXSwKLQlxci9lcnJvcjogZXJyb3IgaW4gV0FMIHJlY29yZCBhdC8sCi0JJ2Vycm9y cyBhcmUgc2hvd24gd2l0aCAtLXF1aWV0Jyk7Ci0KIAogIyBUZXN0IGZvcjogRGlzcGxheSBhIG1l c3NhZ2UgdGhhdCB3ZSdyZSBza2lwcGluZyBkYXRhIGlmIGBmcm9tYAogIyB3YXNuJ3QgYSBwb2lu dGVyIHRvIHRoZSBzdGFydCBvZiBhIHJlY29yZC4KQEAgLTI3Miw3ICsyNDEsNiBAQCBzdWIgdGVz dF9wZ193YWxkdW1wCiAKIAlteSAkcmVzdWx0ID0gSVBDOjpSdW46OnJ1biBbCiAJCSdwZ193YWxk dW1wJywKLQkJJy0tcGF0aCcgPT4gJG5vZGUtPmRhdGFfZGlyLAogCQknLS1zdGFydCcgPT4gJHN0 YXJ0X2xzbiwKIAkJJy0tZW5kJyA9PiAkZW5kX2xzbiwKIAkJQG9wdHMKQEAgLTI4OCwzOCArMjU2 LDgxIEBAIHN1YiB0ZXN0X3BnX3dhbGR1bXAKIAogbXkgQGxpbmVzOwogCi1AbGluZXMgPSB0ZXN0 X3BnX3dhbGR1bXA7Ci1pcyhncmVwKCEvXnJtZ3I6IFx3LywgQGxpbmVzKSwgMCwgJ2FsbCBvdXRw dXQgbGluZXMgYXJlIHJtZ3IgbGluZXMnKTsKK215IEBzY2VuYXJpbyA9ICgKKwl7CisJCSdwYXRo JyA9PiAkbm9kZS0+ZGF0YV9kaXIKKwl9KTsKIAotQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCct LWxpbWl0JyA9PiA2KTsKLWlzKEBsaW5lcywgNiwgJ2xpbWl0IG9wdGlvbiBvYnNlcnZlZCcpOwor Zm9yIG15ICRzY2VuYXJpbyAoQHNjZW5hcmlvKQoreworCW15ICRwYXRoID0gJHNjZW5hcmlvLT57 J3BhdGgnfTsKIAotQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLWZ1bGxwYWdlJyk7Ci1pcyhn cmVwKCEvXnJtZ3I6LipcYkZQV1xiLywgQGxpbmVzKSwgMCwgJ2FsbCBvdXRwdXQgbGluZXMgYXJl IEZQVycpOworCVNLSVA6CisJeworCQljb21tYW5kX2ZhaWxzX2xpa2UoCisJCQlbICdwZ193YWxk dW1wJywgJy0tcGF0aCcgPT4gJHBhdGggXSwKKwkJCXFyL2Vycm9yOiBubyBzdGFydCBXQUwgbG9j YXRpb24gZ2l2ZW4vLAorCQkJJ3BhdGggb3B0aW9uIHJlcXVpcmVzIHN0YXJ0IGxvY2F0aW9uJyk7 CisJCWNvbW1hbmRfbGlrZSgKKwkJCVsKKwkJCQkncGdfd2FsZHVtcCcsCisJCQkJJy0tcGF0aCcg PT4gJHBhdGgsCisJCQkJJy0tc3RhcnQnID0+ICRzdGFydF9sc24sCisJCQkJJy0tZW5kJyA9PiAk ZW5kX2xzbiwKKwkJCV0sCisJCQlxci8uLywKKwkJCSdydW5zIHdpdGggcGF0aCBvcHRpb24gYW5k IHN0YXJ0IGFuZCBlbmQgbG9jYXRpb25zJyk7CisJCWNvbW1hbmRfZmFpbHNfbGlrZSgKKwkJCVsK KwkJCQkncGdfd2FsZHVtcCcsCisJCQkJJy0tcGF0aCcgPT4gJHBhdGgsCisJCQkJJy0tc3RhcnQn ID0+ICRzdGFydF9sc24sCisJCQldLAorCQkJcXIvZXJyb3I6IGVycm9yIGluIFdBTCByZWNvcmQg YXQvLAorCQkJJ2ZhbGxpbmcgb2ZmIHRoZSBlbmQgb2YgdGhlIFdBTCByZXN1bHRzIGluIGFuIGVy cm9yJyk7CiAKLUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1zdGF0cycpOwotbGlrZSgkbGlu ZXNbMF0sIHFyL1dBTCBzdGF0aXN0aWNzLywgInN0YXRpc3RpY3Mgb24gc3Rkb3V0Iik7Ci1pcyhn cmVwKC9ecm1ncjovLCBAbGluZXMpLCAwLCAnbm8gcm1nciBsaW5lcyBvdXRwdXQnKTsKKwkJY29t bWFuZF9mYWlsc19saWtlKAorCQkJWworCQkJCSdwZ193YWxkdW1wJywgJy0tcXVpZXQnLAorCQkJ CSctLXBhdGgnID0+ICRwYXRoLAorCQkJCSctLXN0YXJ0JyA9PiAkc3RhcnRfbHNuCisJCQldLAor CQkJcXIvZXJyb3I6IGVycm9yIGluIFdBTCByZWNvcmQgYXQvLAorCQkJJ2Vycm9ycyBhcmUgc2hv d24gd2l0aCAtLXF1aWV0Jyk7CiAKLUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1zdGF0cz1y ZWNvcmQnKTsKLWxpa2UoJGxpbmVzWzBdLCBxci9XQUwgc3RhdGlzdGljcy8sICJzdGF0aXN0aWNz IG9uIHN0ZG91dCIpOwotaXMoZ3JlcCgvXnJtZ3I6LywgQGxpbmVzKSwgMCwgJ25vIHJtZ3IgbGlu ZXMgb3V0cHV0Jyk7CisJCUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1wYXRoJyA9PiAkcGF0 aCk7CisJCWlzKGdyZXAoIS9ecm1ncjogXHcvLCBAbGluZXMpLCAwLCAnYWxsIG91dHB1dCBsaW5l cyBhcmUgcm1nciBsaW5lcycpOwogCi1AbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJy0tcm1ncicg PT4gJ0J0cmVlJyk7Ci1pcyhncmVwKCEvXnJtZ3I6IEJ0cmVlLywgQGxpbmVzKSwgMCwgJ29ubHkg QnRyZWUgbGluZXMnKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ICRw YXRoLCAnLS1saW1pdCcgPT4gNik7CisJCWlzKEBsaW5lcywgNiwgJ2xpbWl0IG9wdGlvbiBvYnNl cnZlZCcpOwogCi1AbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJy0tZm9yaycgPT4gJ2luaXQnKTsK LWlzKGdyZXAoIS9mb3JrIGluaXQvLCBAbGluZXMpLCAwLCAnb25seSBpbml0IGZvcmsgbGluZXMn KTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ICRwYXRoLCAnLS1mdWxs cGFnZScpOworCQlpcyhncmVwKCEvXnJtZ3I6LipcYkZQV1xiLywgQGxpbmVzKSwgMCwgJ2FsbCBv dXRwdXQgbGluZXMgYXJlIEZQVycpOwogCi1AbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoCi0JJy0t cmVsYXRpb24nID0+ICIkZGVmYXVsdF90c19vaWQvJHBvc3RncmVzX2RiX29pZC8kcmVsX3QxX29p ZCIpOwotaXMoZ3JlcCghL3JlbCAkZGVmYXVsdF90c19vaWRcLyRwb3N0Z3Jlc19kYl9vaWRcLyRy ZWxfdDFfb2lkLywgQGxpbmVzKSwKLQkwLCAnb25seSBsaW5lcyBmb3Igc2VsZWN0ZWQgcmVsYXRp b24nKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ICRwYXRoLCAnLS1z dGF0cycpOworCQlsaWtlKCRsaW5lc1swXSwgcXIvV0FMIHN0YXRpc3RpY3MvLCAic3RhdGlzdGlj cyBvbiBzdGRvdXQiKTsKKwkJaXMoZ3JlcCgvXnJtZ3I6LywgQGxpbmVzKSwgMCwgJ25vIHJtZ3Ig bGluZXMgb3V0cHV0Jyk7CiAKLUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgKLQknLS1yZWxhdGlv bicgPT4gIiRkZWZhdWx0X3RzX29pZC8kcG9zdGdyZXNfZGJfb2lkLyRyZWxfaTFhX29pZCIsCi0J Jy0tYmxvY2snID0+IDEpOwotaXMoZ3JlcCghL1xiYmxrIDFcYi8sIEBsaW5lcyksIDAsICdvbmx5 IGxpbmVzIGZvciBzZWxlY3RlZCBibG9jaycpOworCQlAbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAo Jy0tcGF0aCcgPT4gJHBhdGgsICctLXN0YXRzPXJlY29yZCcpOworCQlsaWtlKCRsaW5lc1swXSwg cXIvV0FMIHN0YXRpc3RpY3MvLCAic3RhdGlzdGljcyBvbiBzdGRvdXQiKTsKKwkJaXMoZ3JlcCgv XnJtZ3I6LywgQGxpbmVzKSwgMCwgJ25vIHJtZ3IgbGluZXMgb3V0cHV0Jyk7CiAKKwkJQGxpbmVz ID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ICRwYXRoLCAnLS1ybWdyJyA9PiAnQnRyZWUn KTsKKwkJaXMoZ3JlcCghL15ybWdyOiBCdHJlZS8sIEBsaW5lcyksIDAsICdvbmx5IEJ0cmVlIGxp bmVzJyk7CisKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ICRwYXRoLCAn LS1mb3JrJyA9PiAnaW5pdCcpOworCQlpcyhncmVwKCEvZm9yayBpbml0LywgQGxpbmVzKSwgMCwg J29ubHkgaW5pdCBmb3JrIGxpbmVzJyk7CisKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCct LXBhdGgnID0+ICRwYXRoLAorCQkJJy0tcmVsYXRpb24nID0+ICIkZGVmYXVsdF90c19vaWQvJHBv c3RncmVzX2RiX29pZC8kcmVsX3QxX29pZCIpOworCQlpcyhncmVwKCEvcmVsICRkZWZhdWx0X3Rz X29pZFwvJHBvc3RncmVzX2RiX29pZFwvJHJlbF90MV9vaWQvLCBAbGluZXMpLAorCQkJMCwgJ29u bHkgbGluZXMgZm9yIHNlbGVjdGVkIHJlbGF0aW9uJyk7CisKKwkJQGxpbmVzID0gdGVzdF9wZ193 YWxkdW1wKCctLXBhdGgnID0+ICRwYXRoLAorCQkJJy0tcmVsYXRpb24nID0+ICIkZGVmYXVsdF90 c19vaWQvJHBvc3RncmVzX2RiX29pZC8kcmVsX2kxYV9vaWQiLAorCQkJJy0tYmxvY2snID0+IDEp OworCQlpcyhncmVwKCEvXGJibGsgMVxiLywgQGxpbmVzKSwgMCwgJ29ubHkgbGluZXMgZm9yIHNl bGVjdGVkIGJsb2NrJyk7CisJfQorfQogCiBkb25lX3Rlc3RpbmcoKTsKLS0gCjIuNDcuMQoK --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0004-pg_waldump-Add-support-for-archived-WAL-decoding.patch" Content-Disposition: attachment; filename="v7-0004-pg_waldump-Add-support-for-archived-WAL-decoding.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t4tep3 RnJvbSA4YTJhMTUwODJmNDNmMmNiNGMzMDkxM2Y4OWY3NDliNjA2ZmZlZTEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgNSBOb3YgMjAyNSAxNTo0MDozNiArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjcgNC84XSBwZ193 YWxkdW1wOiBBZGQgc3VwcG9ydCBmb3IgYXJjaGl2ZWQgV0FMIGRlY29kaW5nLgoKcGdfd2FsZHVt cCBjYW4gbm93IGFjY2VwdCB0aGUgcGF0aCB0byBhIHRhciBhcmNoaXZlIGNvbnRhaW5pbmcgV0FM CmZpbGVzIGFuZCBkZWNvZGUgdGhlbS4gVGhpcyBmZWF0dXJlIHdhcyBhZGRlZCBwcmltYXJpbHkg Zm9yCnBnX3ZlcmlmeWJhY2t1cCwgd2hpY2ggcHJldmlvdXNseSBkaXNhYmxlZCBXQUwgcGFyc2lu ZyBmb3IKdGFyLWZvcm1hdHRlZCBiYWNrdXBzLgoKTm90ZSB0aGF0IHRoaXMgcGF0Y2ggcmVxdWly ZXMgdGhhdCB0aGUgV0FMIGZpbGVzIHdpdGhpbiB0aGUgYXJjaGl2ZSBiZQppbiBzZXF1ZW50aWFs IG9yZGVyOyBhbiBlcnJvciB3aWxsIGJlIHJlcG9ydGVkIG90aGVyd2lzZS4gVGhlIG5leHQKcGF0 Y2ggaXMgcGxhbm5lZCB0byByZW1vdmUgdGhpcyByZXN0cmljdGlvbi4KLS0tCiBkb2Mvc3JjL3Nn bWwvcmVmL3BnX3dhbGR1bXAuc2dtbCAgICAgfCAgIDggKy0KIHNyYy9iaW4vcGdfd2FsZHVtcC9N YWtlZmlsZSAgICAgICAgICB8ICAgNyArLQogc3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hpdmVfd2Fs ZHVtcC5jIHwgNTg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2Jpbi9wZ193YWxk dW1wL21lc29uLmJ1aWxkICAgICAgIHwgICA0ICstCiBzcmMvYmluL3BnX3dhbGR1bXAvcGdfd2Fs ZHVtcC5jICAgICAgfCAyMTUgKysrKysrKy0tLQogc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1 bXAuaCAgICAgIHwgIDM2ICstCiBzcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwgICAg fCAgODQgKysrLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgIHwgICAzICsK IDggZmlsZXMgY2hhbmdlZCwgODY1IGluc2VydGlvbnMoKyksIDc2IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZlX3dhbGR1bXAuYwoKZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfd2FsZHVtcC5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9wZ193YWxkdW1wLnNnbWwKaW5kZXggY2UyM2FkZDU1NzcuLmQwMDRiYjBmNjdlIDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX3dhbGR1bXAuc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL3BnX3dhbGR1bXAuc2dtbApAQCAtMTQxLDEzICsxNDEsMTcgQEAgUG9zdGdyZVNRTCBk b2N1bWVudGF0aW9uCiAgICAgICA8dGVybT48b3B0aW9uPi0tcGF0aD08cmVwbGFjZWFibGU+cGF0 aDwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgogICAgICAg IDxwYXJhPgotICAgICAgICBTcGVjaWZpZXMgYSBkaXJlY3RvcnkgdG8gc2VhcmNoIGZvciBXQUwg c2VnbWVudCBmaWxlcyBvciBhCi0gICAgICAgIGRpcmVjdG9yeSB3aXRoIGEgPGxpdGVyYWw+cGdf d2FsPC9saXRlcmFsPiBzdWJkaXJlY3RvcnkgdGhhdAorICAgICAgICBTcGVjaWZpZXMgYSB0YXIg YXJjaGl2ZSBvciBhIGRpcmVjdG9yeSB0byBzZWFyY2ggZm9yIFdBTCBzZWdtZW50IGZpbGVzCisg ICAgICAgIG9yIGEgZGlyZWN0b3J5IHdpdGggYSA8bGl0ZXJhbD5wZ193YWw8L2xpdGVyYWw+IHN1 YmRpcmVjdG9yeSB0aGF0CiAgICAgICAgIGNvbnRhaW5zIHN1Y2ggZmlsZXMuICBUaGUgZGVmYXVs dCBpcyB0byBzZWFyY2ggaW4gdGhlIGN1cnJlbnQKICAgICAgICAgZGlyZWN0b3J5LCB0aGUgPGxp dGVyYWw+cGdfd2FsPC9saXRlcmFsPiBzdWJkaXJlY3Rvcnkgb2YgdGhlCiAgICAgICAgIGN1cnJl bnQgZGlyZWN0b3J5LCBhbmQgdGhlIDxsaXRlcmFsPnBnX3dhbDwvbGl0ZXJhbD4gc3ViZGlyZWN0 b3J5CiAgICAgICAgIG9mIDxlbnZhcj5QR0RBVEE8L2VudmFyPi4KICAgICAgICA8L3BhcmE+Cisg ICAgICAgPHBhcmE+CisgICAgICAgIElmIGEgdGFyIGFyY2hpdmUgaXMgcHJvdmlkZWQsIGl0cyBX QUwgc2VnbWVudCBmaWxlcyBtdXN0IGJlIGluCisgICAgICAgIHNlcXVlbnRpYWwgb3JkZXI7IG90 aGVyd2lzZSwgYW4gZXJyb3Igd2lsbCBiZSByZXBvcnRlZC4KKyAgICAgICA8L3BhcmE+CiAgICAg ICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIApkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ193YWxkdW1wL01ha2VmaWxlIGIvc3JjL2Jpbi9wZ193YWxkdW1wL01ha2VmaWxlCmluZGV4 IDRjMWVlNjQ5NTAxLi4wNWFjNTc2M2E1NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ193YWxkdW1w L01ha2VmaWxlCisrKyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9NYWtlZmlsZQpAQCAtMyw2ICszLDkg QEAKIFBHRklMRURFU0MgPSAicGdfd2FsZHVtcCAtIGRlY29kZSBhbmQgZGlzcGxheSBXQUwiCiBQ R0FQUElDT049d2luMzIKIAorIyBtYWtlIHRoZXNlIGF2YWlsYWJsZSB0byBUQVAgdGVzdCBzY3Jp cHRzCitleHBvcnQgVEFSCisKIHN1YmRpciA9IHNyYy9iaW4vcGdfd2FsZHVtcAogdG9wX2J1aWxk ZGlyID0gLi4vLi4vLi4KIGluY2x1ZGUgJCh0b3BfYnVpbGRkaXIpL3NyYy9NYWtlZmlsZS5nbG9i YWwKQEAgLTEyLDExICsxNSwxMyBAQCBPQkpTID0gXAogCSQoV0lOMzJSRVMpIFwKIAljb21wYXQu byBcCiAJcGdfd2FsZHVtcC5vIFwKKwlhcmNoaXZlX3dhbGR1bXAubyBcCiAJcm1ncmRlc2MubyBc CiAJeGxvZ3JlYWRlci5vIFwKIAl4bG9nc3RhdHMubwogCi1vdmVycmlkZSBDUFBGTEFHUyA6PSAt REZST05URU5EICQoQ1BQRkxBR1MpCitvdmVycmlkZSBDUFBGTEFHUyA6PSAtREZST05URU5EIC1J JChsaWJwcV9zcmNkaXIpICQoQ1BQRkxBR1MpCitMREZMQUdTX0lOVEVSTkFMICs9IC1MJCh0b3Bf YnVpbGRkaXIpL3NyYy9mZV91dGlscyAtbHBnZmV1dGlscwogCiBSTUdSREVTQ1NPVVJDRVMgPSAk KHNvcnQgJChub3RkaXIgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL2FjY2Vz cy9ybWdyZGVzYy8qZGVzYyouYykpKQogUk1HUkRFU0NPQkpTID0gJChwYXRzdWJzdCAlLmMsJS5v LCQoUk1HUkRFU0NTT1VSQ0VTKSkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9hcmNo aXZlX3dhbGR1bXAuYyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZlX3dhbGR1bXAuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjFkNjc4MmY5YjcKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvYmluL3BnX3dhbGR1bXAvYXJjaGl2ZV93YWxkdW1wLmMKQEAgLTAsMCAr MSw1ODQgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGFyY2hpdmVfd2FsZHVtcC5jCisg KgkJQSBnZW5lcmljIGZhY2lsaXR5IGZvciByZWFkaW5nIFdBTCBkYXRhIGZyb20gdGFyIGFyY2hp dmVzIHZpYSBhcmNoaXZlCisgKgkJc3RyZWFtZXIuCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0 IChjKSAyMDI1LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqIElE RU5USUZJQ0FUSU9OCisgKgkJc3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hpdmVfd2FsZHVtcC5jCisg KgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3RncmVzX2ZlLmgiCisK KyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVybmFsLmgi CisjaW5jbHVkZSAiY29tbW9uL2hhc2hmbi5oIgorI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5nLmgi CisjaW5jbHVkZSAiZmVfdXRpbHMvc2ltcGxlX2xpc3QuaCIKKyNpbmNsdWRlICJwZ193YWxkdW1w LmgiCisKKy8qCisgKiBIb3cgbWFueSBieXRlcyBzaG91bGQgd2UgdHJ5IHRvIHJlYWQgZnJvbSBh IGZpbGUgYXQgb25jZT8KKyAqLworI2RlZmluZSBSRUFEX0NIVU5LX1NJWkUJCQkJKDEyOCAqIDEw MjQpCisKKy8qIFN0cnVjdHVyZSBmb3Igc3RvcmluZyB0aGUgV0FMIHNlZ21lbnQgZGF0YSBmcm9t IHRoZSBhcmNoaXZlICovCit0eXBlZGVmIHN0cnVjdCBBcmNoaXZlZFdBTEVudHJ5Cit7CisJdWlu dDMyCQlzdGF0dXM7CQkJLyogaGFzaCBzdGF0dXMgKi8KKwlYTG9nU2VnTm8Jc2Vnbm87CQkJLyog aGFzaCBrZXk6IFdBTCBzZWdtZW50IG51bWJlciAqLworCVRpbWVMaW5lSUQJdGltZWxpbmU7CQkv KiB0aW1lbGluZSBvZiB0aGlzIHdhbCBmaWxlICovCisKKwlTdHJpbmdJbmZvRGF0YSBidWY7CisJ Ym9vbAkJdG1wc2VnX2V4aXN0czsJLyogc3BpbGwgZmlsZSBleGlzdHM/ICovCisKKwlpbnQJCQl0 b3RhbF9yZWFkOwkJLyogdG90YWwgcmVhZCBvZiB0aGlzIFdBTCBzZWdtZW50LCBpbmNsdWRpbmcK KwkJCQkJCQkJICogYnVmZmVyZWQgYW5kIHRlbXBvcmFyaWx5IHdyaXR0ZW4gZGF0YSAqLworfSBB cmNoaXZlZFdBTEVudHJ5OworCisjZGVmaW5lIFNIX1BSRUZJWAkJCQlBcmNoaXZlZFdBTAorI2Rl ZmluZSBTSF9FTEVNRU5UX1RZUEUJCQlBcmNoaXZlZFdBTEVudHJ5CisjZGVmaW5lIFNIX0tFWV9U WVBFCQkJCVhMb2dTZWdObworI2RlZmluZSBTSF9LRVkJCQkJCXNlZ25vCisjZGVmaW5lIFNIX0hB U0hfS0VZKHRiLCBrZXkpCW11cm11cmhhc2g2NCgodWludDY0KSBrZXkpCisjZGVmaW5lIFNIX0VR VUFMKHRiLCBhLCBiKQkJKGEgPT0gYikKKyNkZWZpbmUgU0hfR0VUX0hBU0godGIsIGEpCQlhLT5o YXNoCisjZGVmaW5lIFNIX1NDT1BFCQkJCXN0YXRpYyBpbmxpbmUKKyNkZWZpbmUgU0hfUkFXX0FM TE9DQVRPUgkJcGdfbWFsbG9jMAorI2RlZmluZSBTSF9ERUNMQVJFCisjZGVmaW5lIFNIX0RFRklO RQorI2luY2x1ZGUgImxpYi9zaW1wbGVoYXNoLmgiCisKK3N0YXRpYyBBcmNoaXZlZFdBTF9oYXNo ICpBcmNoaXZlZFdBTF9IVEFCID0gTlVMTDsKKwordHlwZWRlZiBzdHJ1Y3QgYXN0cmVhbWVyX3dh bGR1bXAKK3sKKwlhc3RyZWFtZXIJYmFzZTsKKwlYTG9nRHVtcFByaXZhdGUgKnByaXZhdGVJbmZv OworfSBhc3RyZWFtZXJfd2FsZHVtcDsKKworc3RhdGljIGludAlyZWFkX2FyY2hpdmVfZmlsZShY TG9nRHVtcFByaXZhdGUgKnByaXZhdGVJbmZvLCBTaXplIGNvdW50KTsKK3N0YXRpYyBBcmNoaXZl ZFdBTEVudHJ5ICpnZXRfYXJjaGl2ZV93YWxfZW50cnkoWExvZ1NlZ05vIHNlZ25vLAorCQkJCQkJ CQkJCQkgICBYTG9nRHVtcFByaXZhdGUgKnByaXZhdGVJbmZvKTsKKworc3RhdGljIGFzdHJlYW1l ciAqYXN0cmVhbWVyX3dhbGR1bXBfbmV3KFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8pOwor c3RhdGljIHZvaWQgYXN0cmVhbWVyX3dhbGR1bXBfY29udGVudChhc3RyZWFtZXIgKnN0cmVhbWVy LAorCQkJCQkJCQkJICBhc3RyZWFtZXJfbWVtYmVyICptZW1iZXIsCisJCQkJCQkJCQkgIGNvbnN0 IGNoYXIgKmRhdGEsIGludCBsZW4sCisJCQkJCQkJCQkgIGFzdHJlYW1lcl9hcmNoaXZlX2NvbnRl eHQgY29udGV4dCk7CitzdGF0aWMgdm9pZCBhc3RyZWFtZXJfd2FsZHVtcF9maW5hbGl6ZShhc3Ry ZWFtZXIgKnN0cmVhbWVyKTsKK3N0YXRpYyB2b2lkIGFzdHJlYW1lcl93YWxkdW1wX2ZyZWUoYXN0 cmVhbWVyICpzdHJlYW1lcik7CisKK3N0YXRpYyBib29sIG1lbWJlcl9pc193YWxfZmlsZShhc3Ry ZWFtZXJfd2FsZHVtcCAqbXlzdHJlYW1lciwKKwkJCQkJCQkgICBhc3RyZWFtZXJfbWVtYmVyICpt ZW1iZXIsCisJCQkJCQkJICAgWExvZ1NlZ05vICpjdXJTZWdObywKKwkJCQkJCQkgICBUaW1lTGlu ZUlEICpjdXJUaW1lbGluZSk7CisKK3N0YXRpYyBjb25zdCBhc3RyZWFtZXJfb3BzIGFzdHJlYW1l cl93YWxkdW1wX29wcyA9IHsKKwkuY29udGVudCA9IGFzdHJlYW1lcl93YWxkdW1wX2NvbnRlbnQs CisJLmZpbmFsaXplID0gYXN0cmVhbWVyX3dhbGR1bXBfZmluYWxpemUsCisJLmZyZWUgPSBhc3Ry ZWFtZXJfd2FsZHVtcF9mcmVlCit9OworCisvKgorICogUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZl biBmaWxlIGlzIGEgdGFyIGFyY2hpdmUgYW5kIG91dHB1dHMgaXRzIGNvbXByZXNzaW9uCisgKiBh bGdvcml0aG0uCisgKi8KK2Jvb2wKK2lzX2FyY2hpdmVfZmlsZShjb25zdCBjaGFyICpmbmFtZSwg cGdfY29tcHJlc3NfYWxnb3JpdGhtICpjb21wcmVzc2lvbikKK3sKKwlpbnQJCQlmbmFtZV9sZW4g PSBzdHJsZW4oZm5hbWUpOworCXBnX2NvbXByZXNzX2FsZ29yaXRobSBjb21wcmVzc19hbGdvOwor CisJLyogTm93LCBjaGVjayB0aGUgY29tcHJlc3Npb24gdHlwZSBvZiB0aGUgdGFyICovCisJaWYg KGZuYW1lX2xlbiA+IDQgJiYKKwkJc3RyY21wKGZuYW1lICsgZm5hbWVfbGVuIC0gNCwgIi50YXIi KSA9PSAwKQorCQljb21wcmVzc19hbGdvID0gUEdfQ09NUFJFU1NJT05fTk9ORTsKKwllbHNlIGlm IChmbmFtZV9sZW4gPiA0ICYmCisJCQkgc3RyY21wKGZuYW1lICsgZm5hbWVfbGVuIC0gNCwgIi50 Z3oiKSA9PSAwKQorCQljb21wcmVzc19hbGdvID0gUEdfQ09NUFJFU1NJT05fR1pJUDsKKwllbHNl IGlmIChmbmFtZV9sZW4gPiA3ICYmCisJCQkgc3RyY21wKGZuYW1lICsgZm5hbWVfbGVuIC0gNywg Ii50YXIuZ3oiKSA9PSAwKQorCQljb21wcmVzc19hbGdvID0gUEdfQ09NUFJFU1NJT05fR1pJUDsK KwllbHNlIGlmIChmbmFtZV9sZW4gPiA4ICYmCisJCQkgc3RyY21wKGZuYW1lICsgZm5hbWVfbGVu IC0gOCwgIi50YXIubHo0IikgPT0gMCkKKwkJY29tcHJlc3NfYWxnbyA9IFBHX0NPTVBSRVNTSU9O X0xaNDsKKwllbHNlIGlmIChmbmFtZV9sZW4gPiA4ICYmCisJCQkgc3RyY21wKGZuYW1lICsgZm5h bWVfbGVuIC0gOCwgIi50YXIuenN0IikgPT0gMCkKKwkJY29tcHJlc3NfYWxnbyA9IFBHX0NPTVBS RVNTSU9OX1pTVEQ7CisJZWxzZQorCQlyZXR1cm4gZmFsc2U7CisKKwkqY29tcHJlc3Npb24gPSBj b21wcmVzc19hbGdvOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBJbml0aWFsaXplcyB0 aGUgdGFyIGFyY2hpdmUgcmVhZGVyIHRvIHJlYWQgV0FMIGZpbGVzIGZyb20gdGhlIGFyY2hpdmUs CisgKiBjcmVhdGVzIGEgaGFzaCB0YWJsZSB0byBzdG9yZSB0aGVtLCBwZXJmb3JtcyBxdWljayBl eGlzdGVuY2UgY2hlY2tzIGZvciBXQUwKKyAqIGVudHJpZXMgaW4gdGhlIGFyY2hpdmUgYW5kIHJl dHJpZXZlcyB0aGUgV0FMIHNlZ21lbnQgc2l6ZSwgYW5kIHNldHMgdXAKKyAqIGZpbHRlcmluZyBj cml0ZXJpYSBmb3IgcmVsZXZhbnQgZW50cmllcy4KKyAqLwordm9pZAoraW5pdF9hcmNoaXZlX3Jl YWRlcihYTG9nRHVtcFByaXZhdGUgKnByaXZhdGVJbmZvLCBjb25zdCBjaGFyICp3YWxkaXIsCisJ CQkJCXBnX2NvbXByZXNzX2FsZ29yaXRobSBjb21wcmVzc2lvbikKK3sKKwlpbnQJCQlmZDsKKwlh c3RyZWFtZXIgICpzdHJlYW1lcjsKKwlBcmNoaXZlZFdBTEVudHJ5ICplbnRyeSA9IE5VTEw7CisJ WExvZ0xvbmdQYWdlSGVhZGVyIGxvbmdoZHI7CisKKwkvKiBPcGVuIHRhciBhcmNoaXZlIGFuZCBz dG9yZSBpdHMgZmlsZSBkZXNjcmlwdG9yICovCisJZmQgPSBvcGVuX2ZpbGVfaW5fZGlyZWN0b3J5 KHdhbGRpciwgcHJpdmF0ZUluZm8tPmFyY2hpdmVfbmFtZSk7CisKKwlpZiAoZmQgPCAwKQorCQlw Z19mYXRhbCgiY291bGQgbm90IG9wZW4gZmlsZSBcIiVzXCIiLCBwcml2YXRlSW5mby0+YXJjaGl2 ZV9uYW1lKTsKKworCXByaXZhdGVJbmZvLT5hcmNoaXZlX2ZkID0gZmQ7CisKKwlzdHJlYW1lciA9 IGFzdHJlYW1lcl93YWxkdW1wX25ldyhwcml2YXRlSW5mbyk7CisKKwkvKiBCZWZvcmUgdGhhdCB3 ZSBtdXN0IHBhcnNlIHRoZSB0YXIgYXJjaGl2ZS4gKi8KKwlzdHJlYW1lciA9IGFzdHJlYW1lcl90 YXJfcGFyc2VyX25ldyhzdHJlYW1lcik7CisKKwkvKiBCZWZvcmUgdGhhdCB3ZSBtdXN0IGRlY29t cHJlc3MsIGlmIGFyY2hpdmUgaXMgY29tcHJlc3NlZC4gKi8KKwlpZiAoY29tcHJlc3Npb24gPT0g UEdfQ09NUFJFU1NJT05fR1pJUCkKKwkJc3RyZWFtZXIgPSBhc3RyZWFtZXJfZ3ppcF9kZWNvbXBy ZXNzb3JfbmV3KHN0cmVhbWVyKTsKKwllbHNlIGlmIChjb21wcmVzc2lvbiA9PSBQR19DT01QUkVT U0lPTl9MWjQpCisJCXN0cmVhbWVyID0gYXN0cmVhbWVyX2x6NF9kZWNvbXByZXNzb3JfbmV3KHN0 cmVhbWVyKTsKKwllbHNlIGlmIChjb21wcmVzc2lvbiA9PSBQR19DT01QUkVTU0lPTl9aU1REKQor CQlzdHJlYW1lciA9IGFzdHJlYW1lcl96c3RkX2RlY29tcHJlc3Nvcl9uZXcoc3RyZWFtZXIpOwor CisJcHJpdmF0ZUluZm8tPmFyY2hpdmVfc3RyZWFtZXIgPSBzdHJlYW1lcjsKKworCS8qIEhhc2gg dGFibGUgc3RvcmluZyBXQUwgZW50cmllcyByZWFkIGZyb20gdGhlIGFyY2hpdmUgKi8KKwlBcmNo aXZlZFdBTF9IVEFCID0gQXJjaGl2ZWRXQUxfY3JlYXRlKDE2LCBOVUxMKTsKKworCS8qCisJICog VmVyaWZ5IHRoYXQgdGhlIGFyY2hpdmUgY29udGFpbnMgdmFsaWQgV0FMIGZpbGVzIGFuZCBmZXRj aCBXQUwgc2VnbWVudAorCSAqIHNpemUKKwkgKi8KKwl3aGlsZSAoZW50cnkgPT0gTlVMTCB8fCBl bnRyeS0+YnVmLmxlbiA8IFhMT0dfQkxDS1NaKQorCXsKKwkJaWYgKHJlYWRfYXJjaGl2ZV9maWxl KHByaXZhdGVJbmZvLCBYTE9HX0JMQ0tTWikgPT0gMCkKKwkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qg ZmluZCBXQUwgaW4gXCIlc1wiIGFyY2hpdmUiLAorCQkJCQkgcHJpdmF0ZUluZm8tPmFyY2hpdmVf bmFtZSk7CisKKwkJZW50cnkgPSBwcml2YXRlSW5mby0+Y3VyX3dhbDsKKwl9CisKKwkvKiBTZXQg V2FsU2VnU3ogaWYgV0FMIGRhdGEgaXMgc3VjY2Vzc2Z1bGx5IHJlYWQgKi8KKwlsb25naGRyID0g KFhMb2dMb25nUGFnZUhlYWRlcikgZW50cnktPmJ1Zi5kYXRhOworCisJV2FsU2VnU3ogPSBsb25n aGRyLT54bHBfc2VnX3NpemU7CisKKwlpZiAoIUlzVmFsaWRXYWxTZWdTaXplKFdhbFNlZ1N6KSkK Kwl7CisJCXBnX2xvZ19lcnJvcihuZ2V0dGV4dCgiaW52YWxpZCBXQUwgc2VnbWVudCBzaXplIGlu IFdBTCBmaWxlIGZyb20gYXJjaGl2ZSBcIiVzXCIgKCVkIGJ5dGUpIiwKKwkJCQkJCQkgICJpbnZh bGlkIFdBTCBzZWdtZW50IHNpemUgaW4gV0FMIGZpbGUgZnJvbSBhcmNoaXZlIFwiJXNcIiAoJWQg Ynl0ZXMpIiwKKwkJCQkJCQkgIFdhbFNlZ1N6KSwKKwkJCQkJIHByaXZhdGVJbmZvLT5hcmNoaXZl X25hbWUsIFdhbFNlZ1N6KTsKKwkJcGdfbG9nX2Vycm9yX2RldGFpbCgiVGhlIFdBTCBzZWdtZW50 IHNpemUgbXVzdCBiZSBhIHBvd2VyIG9mIHR3byBiZXR3ZWVuIDEgTUIgYW5kIDEgR0IuIik7CisJ CWV4aXQoMSk7CisJfQorCisJLyoKKwkgKiBXaXRoIHRoZSBXQUwgc2VnbWVudCBzaXplIGF2YWls YWJsZSwgd2UgY2FuIG5vdyBpbml0aWFsaXplIHRoZQorCSAqIGRlcGVuZGVudCBzdGFydCBhbmQg ZW5kIHNlZ21lbnQgbnVtYmVycy4KKwkgKi8KKwlYTEJ5dGVUb1NlZyhwcml2YXRlSW5mby0+c3Rh cnRwdHIsIHByaXZhdGVJbmZvLT5zdGFydFNlZ05vLCBXYWxTZWdTeik7CisJWExCeXRlVG9TZWco cHJpdmF0ZUluZm8tPmVuZHB0ciwgcHJpdmF0ZUluZm8tPmVuZFNlZ05vLCBXYWxTZWdTeik7Cit9 CisKKy8qCisgKiBSZWxlYXNlIHRoZSBhcmNoaXZlIHN0cmVhbWVyIGNoYWluIGFuZCBjbG9zZSB0 aGUgYXJjaGl2ZSBmaWxlLgorICovCit2b2lkCitmcmVlX2FyY2hpdmVfcmVhZGVyKFhMb2dEdW1w UHJpdmF0ZSAqcHJpdmF0ZUluZm8pCit7CisJLyoKKwkgKiBOQjogTm9ybWFsbHksIGFzdHJlYW1l cl9maW5hbGl6ZSgpIGlzIGNhbGxlZCBiZWZvcmUgYXN0cmVhbWVyX2ZyZWUoKSB0bworCSAqIGZs dXNoIGFueSByZW1haW5pbmcgYnVmZmVyZWQgZGF0YSBvciB0byBlbnN1cmUgdGhlIGVuZCBvZiB0 aGUgdGFyCisJICogYXJjaGl2ZSBpcyByZWFjaGVkLiBIb3dldmVyLCB3aGVuIGRlY29kaW5nIGEg V0FMIGZpbGUsIG9uY2Ugd2UgaGl0IHRoZQorCSAqIGVuZCBMU04sIGFueSByZW1haW5pbmcgV0FM IGRhdGEgaW4gdGhlIGJ1ZmZlciBvciB0aGUgdGFyIGFyY2hpdmUncworCSAqIHVucmVhY2hlZCBl bmQgY2FuIGJlIHNhZmVseSBpZ25vcmVkLgorCSAqLworCWFzdHJlYW1lcl9mcmVlKHByaXZhdGVJ bmZvLT5hcmNoaXZlX3N0cmVhbWVyKTsKKworCS8qIENsb3NlIHRoZSBmaWxlLiAqLworCWlmIChj bG9zZShwcml2YXRlSW5mby0+YXJjaGl2ZV9mZCkgIT0gMCkKKwkJcGdfbG9nX2Vycm9yKCJjb3Vs ZCBub3QgY2xvc2UgZmlsZSBcIiVzXCI6ICVtIiwKKwkJCQkJIHByaXZhdGVJbmZvLT5hcmNoaXZl X25hbWUpOworfQorCisvKgorICogQ29waWVzIFdBTCBkYXRhIGZyb20gYXN0cmVhbWVyIHRvIHJl YWRCdWZmOyBpZiB1bmF2YWlsYWJsZSwgZmV0Y2hlcyBtb3JlCisgKiBmcm9tIHRoZSB0YXIgYXJj aGl2ZSB2aWEgYXN0cmVhbWVyLgorICovCitpbnQKK3JlYWRfYXJjaGl2ZV93YWxfcGFnZShYTG9n RHVtcFByaXZhdGUgKnByaXZhdGVJbmZvLCBYTG9nUmVjUHRyIHRhcmdldFBhZ2VQdHIsCisJCQkJ CSAgU2l6ZSBjb3VudCwgY2hhciAqcmVhZEJ1ZmYpCit7CisJY2hhcgkgICAqcCA9IHJlYWRCdWZm OworCVNpemUJCW5ieXRlcyA9IGNvdW50OworCVhMb2dSZWNQdHIJcmVjcHRyID0gdGFyZ2V0UGFn ZVB0cjsKKwlYTG9nU2VnTm8Jc2Vnbm87CisJQXJjaGl2ZWRXQUxFbnRyeSAqZW50cnk7CisKKwlY TEJ5dGVUb1NlZyh0YXJnZXRQYWdlUHRyLCBzZWdubywgV2FsU2VnU3opOworCWVudHJ5ID0gZ2V0 X2FyY2hpdmVfd2FsX2VudHJ5KHNlZ25vLCBwcml2YXRlSW5mbyk7CisKKwl3aGlsZSAobmJ5dGVz ID4gMCkKKwl7CisJCWNoYXIJICAgKmJ1ZiA9IGVudHJ5LT5idWYuZGF0YTsKKwkJaW50CQkJbGVu ID0gZW50cnktPmJ1Zi5sZW47CisKKwkJLyogV0FMIHJlY29yZCByYW5nZSB0aGF0IHRoZSBidWZm ZXIgY29udGFpbnMgKi8KKwkJWExvZ1JlY1B0cgllbmRQdHI7CisJCVhMb2dSZWNQdHIJc3RhcnRQ dHI7CisKKwkJWExvZ1NlZ05vT2Zmc2V0VG9SZWNQdHIoZW50cnktPnNlZ25vLCBlbnRyeS0+dG90 YWxfcmVhZCwKKwkJCQkJCQkJV2FsU2VnU3osIGVuZFB0cik7CisJCXN0YXJ0UHRyID0gZW5kUHRy IC0gbGVuOworCisJCS8qCisJCSAqIHBnX3dhbGR1bXAgbWF5IHJlcXVlc3QgdG8gcmUtcmVhZCB0 aGUgY3VycmVudGx5IGFjdGl2ZSBwYWdlLCBidXQKKwkJICogbmV2ZXIgYSBwYWdlIG9sZGVyIHRo YW4gdGhlIGN1cnJlbnQgb25lLiBUaGVyZWZvcmUsIGFueSBmdWxseQorCQkgKiBjb25zdW1lZCBX QUwgZGF0YSBwcmVjZWRpbmcgdGhlIGN1cnJlbnQgcGFnZSBjYW4gYmUgc2FmZWx5CisJCSAqIGRp c2NhcmRlZC4KKwkJICovCisJCWlmIChyZWNwdHIgPj0gZW5kUHRyKQorCQl7CisJCQkvKiBEaXNj YXJkIHRoZSBidWZmZXJlZCBkYXRhICovCisJCQlyZXNldFN0cmluZ0luZm8oJmVudHJ5LT5idWYp OworCQkJbGVuID0gMDsKKworCQkJLyoKKwkJCSAqIFB1c2ggYmFjayB0aGUgcGFydGlhbCBwYWdl IGRhdGEgZm9yIHRoZSBjdXJyZW50IHBhZ2UgdG8gdGhlCisJCQkgKiBidWZmZXIsIGVuc3VyaW5n IGl0IHJlbWFpbnMgYXZhaWxhYmxlIGZvciByZS1yZWFkaW5nIGlmCisJCQkgKiByZXF1ZXN0ZWQu CisJCQkgKi8KKwkJCWlmIChwID4gcmVhZEJ1ZmYpCisJCQl7CisJCQkJQXNzZXJ0KChjb3VudCAt IG5ieXRlcykgPiAwKTsKKwkJCQlhcHBlbmRCaW5hcnlTdHJpbmdJbmZvKCZlbnRyeS0+YnVmLCBy ZWFkQnVmZiwgY291bnQgLSBuYnl0ZXMpOworCQkJfQorCQl9CisKKwkJaWYgKGxlbiA+IDAgJiYg cmVjcHRyID4gc3RhcnRQdHIpCisJCXsKKwkJCWludAkJCXNraXBCeXRlcyA9IDA7CisKKwkJCS8q CisJCQkgKiBUaGUgcmVxdWlyZWQgb2Zmc2V0IGlzIG5vdCBhdCB0aGUgc3RhcnQgb2YgdGhlIGJ1 ZmZlciwgc28gc2tpcAorCQkJICogYnl0ZXMgdW50aWwgcmVhY2hpbmcgdGhlIGRlc2lyZWQgb2Zm c2V0IG9mIHRoZSB0YXJnZXQgcGFnZS4KKwkJCSAqLworCQkJc2tpcEJ5dGVzID0gcmVjcHRyIC0g c3RhcnRQdHI7CisKKwkJCWJ1ZiArPSBza2lwQnl0ZXM7CisJCQlsZW4gLT0gc2tpcEJ5dGVzOwor CQl9CisKKwkJaWYgKGxlbiA+IDApCisJCXsKKwkJCWludAkJCXJlYWRCeXRlcyA9IGxlbiA+PSBu Ynl0ZXMgPyBuYnl0ZXMgOiBsZW47CisKKwkJCS8qIEVuc3VyZSB0aGUgcmVhZGluZyBwYWdlIGlz IGluIHRoZSBidWZmZXIgKi8KKwkJCUFzc2VydChyZWNwdHIgPj0gc3RhcnRQdHIgJiYgcmVjcHRy IDwgZW5kUHRyKTsKKworCQkJbWVtY3B5KHAsIGJ1ZiwgcmVhZEJ5dGVzKTsKKworCQkJLyogVXBk YXRlIHN0YXRlIGZvciByZWFkICovCisJCQluYnl0ZXMgLT0gcmVhZEJ5dGVzOworCQkJcCArPSBy ZWFkQnl0ZXM7CisJCQlyZWNwdHIgKz0gcmVhZEJ5dGVzOworCQl9CisJCWVsc2UKKwkJeworCQkJ LyoKKwkJCSAqIEZldGNoIG1vcmUgZGF0YTsgcmFpc2UgYW4gZXJyb3IgaWYgaXQncyBub3QgdGhl IGN1cnJlbnQgc2VnbWVudAorCQkJICogYmVpbmcgcmVhZCBieSB0aGUgYXJjaGl2ZSBzdHJlYW1l ciBvciBpZiByZWFkaW5nIG9mIHRoZQorCQkJICogYXJjaGl2ZWQgZmlsZSBoYXMgZmluaXNoZWQu CisJCQkgKi8KKwkJCWlmIChwcml2YXRlSW5mby0+Y3VyX3dhbCAhPSBlbnRyeSB8fAorCQkJCXJl YWRfYXJjaGl2ZV9maWxlKHByaXZhdGVJbmZvLCBSRUFEX0NIVU5LX1NJWkUpID09IDApCisJCQl7 CisJCQkJY2hhcgkJZm5hbWVbTUFYRk5BTUVMRU5dOworCisJCQkJWExvZ0ZpbGVOYW1lKGZuYW1l LCBwcml2YXRlSW5mby0+dGltZWxpbmUsIGVudHJ5LT5zZWdubywKKwkJCQkJCQkgV2FsU2VnU3op OworCQkJCXBnX2ZhdGFsKCJjb3VsZCBub3QgcmVhZCBmaWxlIFwiJXNcIiBmcm9tIGFyY2hpdmUg XCIlc1wiOiByZWFkICVsbGQgb2YgJWxsZCIsCisJCQkJCQkgZm5hbWUsIHByaXZhdGVJbmZvLT5h cmNoaXZlX25hbWUsCisJCQkJCQkgKGxvbmcgbG9uZyBpbnQpIGNvdW50IC0gbmJ5dGVzLAorCQkJ CQkJIChsb25nIGxvbmcgaW50KSBuYnl0ZXMpOworCQkJfQorCQl9CisJfQorCisJLyoKKwkgKiBT aG91bGQgaGF2ZSBlaXRoZXIgaGF2ZSBzdWNjZXNzZnVsbHkgcmVhZCBhbGwgdGhlIHJlcXVlc3Rl ZCBieXRlcyBvcgorCSAqIHJlcG9ydGVkIGEgZmFpbHVyZSBiZWZvcmUgdGhpcyBwb2ludC4KKwkg Ki8KKwlBc3NlcnQobmJ5dGVzID09IDApOworCisJLyoKKwkgKiBOQjogV2UgcmV0dXJuIHRoZSBm aXhlZCB2YWx1ZSBwcm92aWRlZCBhcyBpbnB1dC4gQWx0aG91Z2ggd2UgY291bGQKKwkgKiByZXR1 cm4gYSBib29sZWFuIHNpbmNlIHdlIGVpdGhlciBzdWNjZXNzZnVsbHkgcmVhZCB0aGUgV0FMIHBh Z2Ugb3IKKwkgKiByYWlzZSBhbiBlcnJvciwgYnV0IHRoZSBjYWxsZXIgZXhwZWN0cyB0aGlzIHZh bHVlIHRvIGJlIHJldHVybmVkLiBUaGUKKwkgKiByb3V0aW5lIHRoYXQgcmVhZHMgV0FMIHBhZ2Vz IGZyb20gdGhlIHBoeXNpY2FsIFdBTCBmaWxlIGZvbGxvd3MgdGhlCisJICogc2FtZSBjb252ZW50 aW9uLgorCSAqLworCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIFJlYWRzIHRoZSBhcmNoaXZl IGZpbGUgYW5kIHBhc3NlcyBpdCB0byB0aGUgYXJjaGl2ZSBzdHJlYW1lciBmb3IKKyAqIGRlY29t cHJlc3Npb24uCisgKi8KK3N0YXRpYyBpbnQKK3JlYWRfYXJjaGl2ZV9maWxlKFhMb2dEdW1wUHJp dmF0ZSAqcHJpdmF0ZUluZm8sIFNpemUgY291bnQpCit7CisJaW50CQkJcmM7CisJY2hhcgkgICAq YnVmZmVyOworCisJYnVmZmVyID0gcGdfbWFsbG9jKFJFQURfQ0hVTktfU0laRSAqIHNpemVvZih1 aW50OCkpOworCisJcmMgPSByZWFkKHByaXZhdGVJbmZvLT5hcmNoaXZlX2ZkLCBidWZmZXIsIGNv dW50KTsKKwlpZiAocmMgPCAwKQorCQlwZ19mYXRhbCgiY291bGQgbm90IHJlYWQgZmlsZSBcIiVz XCI6ICVtIiwKKwkJCQkgcHJpdmF0ZUluZm8tPmFyY2hpdmVfbmFtZSk7CisKKwkvKgorCSAqIERl Y29tcHJlc3MgKGlmIHJlcXVpcmVkKSwgYW5kIHRoZW4gcGFyc2UgdGhlIHByZXZpb3VzbHkgcmVh ZCBjb250ZW50cworCSAqIG9mIHRoZSB0YXIgZmlsZS4KKwkgKi8KKwlpZiAocmMgPiAwKQorCQlh c3RyZWFtZXJfY29udGVudChwcml2YXRlSW5mby0+YXJjaGl2ZV9zdHJlYW1lciwgTlVMTCwKKwkJ CQkJCSAgYnVmZmVyLCByYywgQVNUUkVBTUVSX1VOS05PV04pOworCXBnX2ZyZWUoYnVmZmVyKTsK KworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnMgdGhlIGFyY2hpdmVkIFdBTCBlbnRy eSBmcm9tIHRoZSBoYXNoIHRhYmxlIGlmIGl0IGV4aXN0cy4gT3RoZXJ3aXNlLAorICogaXQgaW52 b2tlcyB0aGUgcm91dGluZSB0byByZWFkIHRoZSBhcmNoaXZlZCBmaWxlIGFuZCByZXRyaWV2ZSB0 aGUgZW50cnkgaWYKKyAqIGl0IGlzIG5vdCBhbHJlYWR5IGluIGhhc2ggdGFibGUuCisgKi8KK3N0 YXRpYyBBcmNoaXZlZFdBTEVudHJ5ICoKK2dldF9hcmNoaXZlX3dhbF9lbnRyeShYTG9nU2VnTm8g c2Vnbm8sIFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8pCit7CisJQXJjaGl2ZWRXQUxFbnRy eSAqZW50cnkgPSBOVUxMOworCWNoYXIJCWZuYW1lW01BWEZOQU1FTEVOXTsKKworCS8qIFNlYXJj aCBoYXNoIHRhYmxlICovCisJZW50cnkgPSBBcmNoaXZlZFdBTF9sb29rdXAoQXJjaGl2ZWRXQUxf SFRBQiwgc2Vnbm8pOworCisJaWYgKGVudHJ5ICE9IE5VTEwpCisJCXJldHVybiBlbnRyeTsKKwor CS8qIE5lZWRlZCBXQUwgeWV0IHRvIGJlIGRlY29kZWQgZnJvbSBhcmNoaXZlLCBkbyB0aGUgc2Ft ZSAqLworCXdoaWxlICgxKQorCXsKKwkJZW50cnkgPSBwcml2YXRlSW5mby0+Y3VyX3dhbDsKKwor CQkvKiBGZXRjaCBtb3JlIGRhdGEgKi8KKwkJaWYgKGVudHJ5ID09IE5VTEwgfHwgZW50cnktPmJ1 Zi5sZW4gPT0gMCkKKwkJeworCQkJaWYgKHJlYWRfYXJjaGl2ZV9maWxlKHByaXZhdGVJbmZvLCBS RUFEX0NIVU5LX1NJWkUpID09IDApCisJCQkJYnJlYWs7CQkJLyogYXJjaGl2ZSBmaWxlIGVuZGVk ICovCisJCX0KKworCQkvKgorCQkgKiBFaXRoZXIsIGhlcmUgZm9yIHRoZSBmaXJzdCB0aW1lLCBv ciB0aGUgYXJjaGl2ZWQgc3RyZWFtZXIgaXMKKwkJICogcmVhZGluZyBhIG5vbi1XQUwgZmlsZSBv ciBhbiBpcnJlbGV2YW50IFdBTCBmaWxlLgorCQkgKi8KKwkJaWYgKGVudHJ5ID09IE5VTEwpCisJ CQljb250aW51ZTsKKworCQkvKiBGb3VuZCB0aGUgcmVxdWlyZWQgZW50cnkgKi8KKwkJaWYgKGVu dHJ5LT5zZWdubyA9PSBzZWdubykKKwkJCXJldHVybiBlbnRyeTsKKworCQkvKgorCQkgKiBJZ25v cmUgaWYgdGhlIHRpbWVsaW5lIGlzIGRpZmZlcmVudCBvciB0aGUgY3VycmVudCBzZWdtZW50IGlz IG5vdAorCQkgKiB0aGUgZGVzaXJlZCBvbmUuCisJCSAqLworCQlpZiAocHJpdmF0ZUluZm8tPnRp bWVsaW5lICE9IGVudHJ5LT50aW1lbGluZSB8fAorCQkJcHJpdmF0ZUluZm8tPnN0YXJ0U2VnTm8g PiBlbnRyeS0+c2Vnbm8gfHwKKwkJCXByaXZhdGVJbmZvLT5lbmRTZWdObyA8IGVudHJ5LT5zZWdu bykKKwkJeworCQkJcHJpdmF0ZUluZm8tPmN1cl93YWwgPSBOVUxMOworCQkJY29udGludWU7CisJ CX0KKworCQkvKiBXQUwgc2VnbWVudHMgbXVzdCBiZSBhcmNoaXZlZCBpbiBvcmRlciAqLworCQlw Z19sb2dfZXJyb3IoIldBTCBmaWxlcyBhcmUgbm90IGFyY2hpdmVkIGluIHNlcXVlbnRpYWwgb3Jk ZXIiKTsKKwkJcGdfbG9nX2Vycm9yX2RldGFpbCgiRXhwZWN0aW5nIHNlZ21lbnQgbnVtYmVyICIg VUlOVDY0X0ZPUk1BVCAiIGJ1dCBmb3VuZCAiIFVJTlQ2NF9GT1JNQVQgIi4iLAorCQkJCQkJCXNl Z25vLCBlbnRyeS0+c2Vnbm8pOworCQlleGl0KDEpOworCX0KKworCS8qIFJlcXVlc3RlZCBXQUwg c2VnbWVudCBub3QgZm91bmQgKi8KKwlYTG9nRmlsZU5hbWUoZm5hbWUsIHByaXZhdGVJbmZvLT50 aW1lbGluZSwgc2Vnbm8sIFdhbFNlZ1N6KTsKKwlwZ19mYXRhbCgiY291bGQgbm90IGZpbmQgZmls ZSBcIiVzXCIgaW4gYXJjaGl2ZSIsIGZuYW1lKTsKK30KKworLyoKKyAqIENyZWF0ZSBhbiBhc3Ry ZWFtZXIgdGhhdCBjYW4gcmVhZCBXQUwgZnJvbSB0YXIgZmlsZS4KKyAqLworc3RhdGljIGFzdHJl YW1lciAqCithc3RyZWFtZXJfd2FsZHVtcF9uZXcoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5m bykKK3sKKwlhc3RyZWFtZXJfd2FsZHVtcCAqc3RyZWFtZXI7CisKKwlzdHJlYW1lciA9IHBhbGxv YzAoc2l6ZW9mKGFzdHJlYW1lcl93YWxkdW1wKSk7CisJKigoY29uc3QgYXN0cmVhbWVyX29wcyAq KikgJnN0cmVhbWVyLT5iYXNlLmJic19vcHMpID0KKwkJJmFzdHJlYW1lcl93YWxkdW1wX29wczsK KworCXN0cmVhbWVyLT5wcml2YXRlSW5mbyA9IHByaXZhdGVJbmZvOworCisJcmV0dXJuICZzdHJl YW1lci0+YmFzZTsKK30KKworLyoKKyAqIE1haW4gZW50cnkgcG9pbnQgb2YgdGhlIGFyY2hpdmUg c3RyZWFtZXIgZm9yIHJlYWRpbmcgV0FMIGRhdGEgZnJvbSBhIHRhcgorICogZmlsZS4gSWYgYSBt ZW1iZXIgaXMgaWRlbnRpZmllZCBhcyBhIHZhbGlkIFdBTCBmaWxlLCBhIGhhc2ggZW50cnkgaXMg Y3JlYXRlZAorICogZm9yIGl0LCBhbmQgaXRzIGNvbnRlbnRzIGFyZSBjb3BpZWQgaW50byB0aGF0 IGVudHJ5J3MgYnVmZmVyLCBtYWtpbmcgdGhlbQorICogYWNjZXNzaWJsZSB0byB0aGUgZGVjb2Rp bmcgcm91dGluZS4KKyAqLworc3RhdGljIHZvaWQKK2FzdHJlYW1lcl93YWxkdW1wX2NvbnRlbnQo YXN0cmVhbWVyICpzdHJlYW1lciwgYXN0cmVhbWVyX21lbWJlciAqbWVtYmVyLAorCQkJCQkJICBj b25zdCBjaGFyICpkYXRhLCBpbnQgbGVuLAorCQkJCQkJICBhc3RyZWFtZXJfYXJjaGl2ZV9jb250 ZXh0IGNvbnRleHQpCit7CisJYXN0cmVhbWVyX3dhbGR1bXAgKm15c3RyZWFtZXIgPSAoYXN0cmVh bWVyX3dhbGR1bXAgKikgc3RyZWFtZXI7CisJWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbyA9 IG15c3RyZWFtZXItPnByaXZhdGVJbmZvOworCisJQXNzZXJ0KGNvbnRleHQgIT0gQVNUUkVBTUVS X1VOS05PV04pOworCisJc3dpdGNoIChjb250ZXh0KQorCXsKKwkJY2FzZSBBU1RSRUFNRVJfTUVN QkVSX0hFQURFUjoKKwkJCXsKKwkJCQlYTG9nU2VnTm8Jc2Vnbm87CisJCQkJVGltZUxpbmVJRAl0 aW1lbGluZTsKKwkJCQlBcmNoaXZlZFdBTEVudHJ5ICplbnRyeTsKKwkJCQlib29sCQlmb3VuZDsK KworCQkJCXBnX2xvZ19kZWJ1ZygicmVhZGluZyBcIiVzXCIiLCBtZW1iZXItPnBhdGhuYW1lKTsK KworCQkJCWlmICghbWVtYmVyX2lzX3dhbF9maWxlKG15c3RyZWFtZXIsIG1lbWJlciwKKwkJCQkJ CQkJCQkmc2Vnbm8sICZ0aW1lbGluZSkpCisJCQkJCWJyZWFrOworCisJCQkJZW50cnkgPSBBcmNo aXZlZFdBTF9pbnNlcnQoQXJjaGl2ZWRXQUxfSFRBQiwgc2Vnbm8sICZmb3VuZCk7CisKKwkJCQkv KgorCQkJCSAqIFNob3VsZG4ndCBoYXBwZW4sIGJ1dCBpZiBpdCBkb2VzLCBzaW1wbHkgaWdub3Jl IHRoZQorCQkJCSAqIGR1cGxpY2F0ZSBXQUwgZmlsZS4KKwkJCQkgKi8KKwkJCQlpZiAoZm91bmQp CisJCQkJeworCQkJCQlwZ19sb2dfd2FybmluZygiaWdub3JpbmcgZHVwbGljYXRlIFdBTCBmaWxl IGZvdW5kIGluIGFyY2hpdmU6IFwiJXNcIiIsCisJCQkJCQkJCSAgIG1lbWJlci0+cGF0aG5hbWUp OworCQkJCQlicmVhazsKKwkJCQl9CisKKwkJCQlpbml0U3RyaW5nSW5mbygmZW50cnktPmJ1Zik7 CisJCQkJZW50cnktPnRpbWVsaW5lID0gdGltZWxpbmU7CisJCQkJZW50cnktPnRvdGFsX3JlYWQg PSAwOworCisJCQkJcHJpdmF0ZUluZm8tPmN1cl93YWwgPSBlbnRyeTsKKwkJCX0KKwkJCWJyZWFr OworCisJCWNhc2UgQVNUUkVBTUVSX01FTUJFUl9DT05URU5UUzoKKwkJCWlmIChwcml2YXRlSW5m by0+Y3VyX3dhbCkKKwkJCXsKKwkJCQlhcHBlbmRCaW5hcnlTdHJpbmdJbmZvKCZwcml2YXRlSW5m by0+Y3VyX3dhbC0+YnVmLCBkYXRhLCBsZW4pOworCQkJCXByaXZhdGVJbmZvLT5jdXJfd2FsLT50 b3RhbF9yZWFkICs9IGxlbjsKKwkJCX0KKwkJCWJyZWFrOworCisJCWNhc2UgQVNUUkVBTUVSX01F TUJFUl9UUkFJTEVSOgorCQkJcHJpdmF0ZUluZm8tPmN1cl93YWwgPSBOVUxMOworCQkJYnJlYWs7 CisKKwkJY2FzZSBBU1RSRUFNRVJfQVJDSElWRV9UUkFJTEVSOgorCQkJYnJlYWs7CisKKwkJZGVm YXVsdDoKKwkJCS8qIFNob3VsZG4ndCBoYXBwZW4uICovCisJCQlwZ19mYXRhbCgidW5leHBlY3Rl ZCBzdGF0ZSB3aGlsZSBwYXJzaW5nIHRhciBmaWxlIik7CisJfQorfQorCisvKgorICogRW5kLW9m LXN0cmVhbSBwcm9jZXNzaW5nIGZvciBhIGFzdHJlYW1lcl93YWxkdW1wIHN0cmVhbS4KKyAqLwor c3RhdGljIHZvaWQKK2FzdHJlYW1lcl93YWxkdW1wX2ZpbmFsaXplKGFzdHJlYW1lciAqc3RyZWFt ZXIpCit7CisJQXNzZXJ0KHN0cmVhbWVyLT5iYnNfbmV4dCA9PSBOVUxMKTsKK30KKworLyoKKyAq IEZyZWUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBhIGFzdHJlYW1lcl93YWxkdW1wIHN0cmVhbS4K KyAqLworc3RhdGljIHZvaWQKK2FzdHJlYW1lcl93YWxkdW1wX2ZyZWUoYXN0cmVhbWVyICpzdHJl YW1lcikKK3sKKwlBc3NlcnQoc3RyZWFtZXItPmJic19uZXh0ID09IE5VTEwpOworCXBmcmVlKHN0 cmVhbWVyKTsKK30KKworLyoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgYXJjaGl2ZSBtZW1iZXIg bmFtZSBtYXRjaGVzIHRoZSBXQUwgbmFtaW5nIGZvcm1hdC4gSWYKKyAqIHN1Y2Nlc3NmdWwsIGl0 IGFsc28gb3V0cHV0cyB0aGUgV0FMIHNlZ21lbnQgbnVtYmVyLCBhbmQgdGltZWxpbmUuCisgKi8K K3N0YXRpYyBib29sCittZW1iZXJfaXNfd2FsX2ZpbGUoYXN0cmVhbWVyX3dhbGR1bXAgKm15c3Ry ZWFtZXIsIGFzdHJlYW1lcl9tZW1iZXIgKm1lbWJlciwKKwkJCQkgICBYTG9nU2VnTm8gKmN1clNl Z05vLCBUaW1lTGluZUlEICpjdXJUaW1lbGluZSkKK3sKKwlpbnQJCQlwYXRobGVuOworCVhMb2dT ZWdObwlzZWdObzsKKwlUaW1lTGluZUlECXRpbWVsaW5lOworCWNoYXIJICAgKmZuYW1lOworCisJ LyogV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBub3JtYWwgZmlsZXMuICovCisJaWYgKG1lbWJl ci0+aXNfZGlyZWN0b3J5IHx8IG1lbWJlci0+aXNfbGluaykKKwkJcmV0dXJuIGZhbHNlOworCisJ cGF0aGxlbiA9IHN0cmxlbihtZW1iZXItPnBhdGhuYW1lKTsKKwlpZiAocGF0aGxlbiA8IFhMT0df Rk5BTUVfTEVOKQorCQlyZXR1cm4gZmFsc2U7CisKKwkvKiBXQUwgZmlsZSBjb3VsZCBiZSB3aXRo IGZ1bGwgcGF0aCAqLworCWZuYW1lID0gbWVtYmVyLT5wYXRobmFtZSArIChwYXRobGVuIC0gWExP R19GTkFNRV9MRU4pOworCWlmICghSXNYTG9nRmlsZU5hbWUoZm5hbWUpKQorCQlyZXR1cm4gZmFs c2U7CisKKwkvKgorCSAqIFhYWDogT24gc29tZSBzeXN0ZW1zIChlLmcuLCBPcGVuQlNEKSwgdGhl IHRhciB1dGlsaXR5IGluY2x1ZGVzCisJICogUGF4SGVhZGVycyB3aGVuIGNyZWF0aW5nIGFuIGFy Y2hpdmUuIFRoZXNlIGFyZSBzcGVjaWFsIGVudHJpZXMgdGhhdAorCSAqIHN0b3JlIGV4dGVuZGVk IG1ldGFkYXRhIGZvciB0aGUgZmlsZSBlbnRyeSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlbSwK KwkgKiBhbmQgdGhleSBzaGFyZSB0aGUgZXhhY3Qgc2FtZSBuYW1lIGFzIHRoYXQgZmlsZS4KKwkg Ki8KKwlpZiAoc3Ryc3RyKG1lbWJlci0+cGF0aG5hbWUsICJQYXhIZWFkZXJzLiIpKQorCQlyZXR1 cm4gZmFsc2U7CisKKwkvKiBQYXJzZSBwb3NpdGlvbiBmcm9tIGZpbGUgKi8KKwlYTG9nRnJvbUZp bGVOYW1lKGZuYW1lLCAmdGltZWxpbmUsICZzZWdObywgV2FsU2VnU3opOworCisJKmN1clNlZ05v ID0gc2VnTm87CisJKmN1clRpbWVsaW5lID0gdGltZWxpbmU7CisKKwlyZXR1cm4gdHJ1ZTsKK30K ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9tZXNvbi5idWlsZCBiL3NyYy9iaW4vcGdf d2FsZHVtcC9tZXNvbi5idWlsZAppbmRleCA5MzdlMGQ2ODg0MS4uZGEwMDc0NjU4N2MgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC9tZXNvbi5idWlsZAorKysgYi9zcmMvYmluL3BnX3dh bGR1bXAvbWVzb24uYnVpbGQKQEAgLTMsNiArMyw3IEBACiBwZ193YWxkdW1wX3NvdXJjZXMgPSBm aWxlcygKICAgJ2NvbXBhdC5jJywKICAgJ3BnX3dhbGR1bXAuYycsCisgICdhcmNoaXZlX3dhbGR1 bXAuYycsCiAgICdybWdyZGVzYy5jJywKICkKIApAQCAtMTgsNyArMTksNyBAQCBlbmRpZgogCiBw Z193YWxkdW1wID0gZXhlY3V0YWJsZSgncGdfd2FsZHVtcCcsCiAgIHBnX3dhbGR1bXBfc291cmNl cywKLSAgZGVwZW5kZW5jaWVzOiBbZnJvbnRlbmRfY29kZSwgbHo0LCB6c3RkXSwKKyAgZGVwZW5k ZW5jaWVzOiBbZnJvbnRlbmRfY29kZSwgbHo0LCB6c3RkLCBsaWJwcV0sCiAgIGNfYXJnczogWyct REZST05URU5EJ10sICMgbmVlZGVkIGZvciB4bG9ncmVhZGVyIGV0IGFsCiAgIGt3YXJnczogZGVm YXVsdF9iaW5fYXJncywKICkKQEAgLTI5LDYgKzMwLDcgQEAgdGVzdHMgKz0gewogICAnc2QnOiBt ZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKICAgJ2JkJzogbWVzb24uY3VycmVudF9idWlsZF9k aXIoKSwKICAgJ3RhcCc6IHsKKyAgICAnZW52JzogeydUQVInOiB0YXIuZm91bmQoKSA/IHRhci5m dWxsX3BhdGgoKSA6ICcnfSwKICAgICAndGVzdHMnOiBbCiAgICAgICAndC8wMDFfYmFzaWMucGwn LAogICAgICAgJ3QvMDAyX3NhdmVfZnVsbHBhZ2UucGwnLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w Z193YWxkdW1wL3BnX3dhbGR1bXAuYyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMK aW5kZXggMGRjMjhlYTM2MGMuLjAyYWQxNDFlNDRhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3dh bGR1bXAvcGdfd2FsZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMK QEAgLTE3Nyw3ICsxNzcsNyBAQCBzcGxpdF9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGNoYXIgKipk aXIsIGNoYXIgKipmbmFtZSkKICAqCiAgKiByZXR1cm4gYSByZWFkIG9ubHkgZmQKICAqLwotc3Rh dGljIGludAoraW50CiBvcGVuX2ZpbGVfaW5fZGlyZWN0b3J5KGNvbnN0IGNoYXIgKmRpcmVjdG9y eSwgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJaW50CQkJZmQgPSAtMTsKQEAgLTQzNiw2ICs0MzYs NDQgQEAgV0FMRHVtcFJlYWRQYWdlKFhMb2dSZWFkZXJTdGF0ZSAqc3RhdGUsIFhMb2dSZWNQdHIg dGFyZ2V0UGFnZVB0ciwgaW50IHJlcUxlbiwKIAlyZXR1cm4gY291bnQ7CiB9CiAKKy8qCisgKiBw Z193YWxkdW1wJ3MgWExvZ1JlYWRlclJvdXRpbmUtPnNlZ21lbnRfb3BlbiBjYWxsYmFjayB0byBz dXBwb3J0IGR1bXBpbmcgV0FMCisgKiBmaWxlcyBmcm9tIHRhciBhcmNoaXZlcy4KKyAqLworc3Rh dGljIHZvaWQKK1RhcldBTER1bXBPcGVuU2VnbWVudChYTG9nUmVhZGVyU3RhdGUgKnN0YXRlLCBY TG9nU2VnTm8gbmV4dFNlZ05vLAorCQkJCQkgIFRpbWVMaW5lSUQgKnRsaV9wKQoreworCS8qIE5v IGFjdGlvbiBuZWVkZWQgKi8KK30KKworLyoKKyAqIHBnX3dhbGR1bXAncyBYTG9nUmVhZGVyUm91 dGluZS0+c2VnbWVudF9jbG9zZSBjYWxsYmFjay4KKyAqLworc3RhdGljIHZvaWQKK1RhcldBTER1 bXBDbG9zZVNlZ21lbnQoWExvZ1JlYWRlclN0YXRlICpzdGF0ZSkKK3sKKwkvKiBObyBhY3Rpb24g bmVlZGVkICovCit9CisKKy8qCisgKiBwZ193YWxkdW1wJ3MgWExvZ1JlYWRlclJvdXRpbmUtPnBh Z2VfcmVhZCBjYWxsYmFjayB0byBzdXBwb3J0IGR1bXBpbmcgV0FMCisgKiBmaWxlcyBmcm9tIHRh ciBhcmNoaXZlcy4KKyAqLworc3RhdGljIGludAorVGFyV0FMRHVtcFJlYWRQYWdlKFhMb2dSZWFk ZXJTdGF0ZSAqc3RhdGUsIFhMb2dSZWNQdHIgdGFyZ2V0UGFnZVB0ciwgaW50IHJlcUxlbiwKKwkJ CQkgICBYTG9nUmVjUHRyIHRhcmdldFB0ciwgY2hhciAqcmVhZEJ1ZmYpCit7CisJWExvZ0R1bXBQ cml2YXRlICpwcml2YXRlID0gc3RhdGUtPnByaXZhdGVfZGF0YTsKKwlpbnQJCQljb3VudCA9IHJl cXVpcmVkX3JlYWRfbGVuKHByaXZhdGUsIHRhcmdldFBhZ2VQdHIsIHJlcUxlbik7CisKKwlpZiAo cHJpdmF0ZS0+ZW5kcHRyX3JlYWNoZWQpCisJCXJldHVybiAtMTsKKworCS8qIFJlYWQgdGhlIFdB TCBwYWdlIGZyb20gdGhlIGFyY2hpdmUgc3RyZWFtZXIgKi8KKwlyZXR1cm4gcmVhZF9hcmNoaXZl X3dhbF9wYWdlKHByaXZhdGUsIHRhcmdldFBhZ2VQdHIsIGNvdW50LCByZWFkQnVmZik7Cit9CisK IC8qCiAgKiBCb29sZWFuIHRvIHJldHVybiB3aGV0aGVyIHRoZSBnaXZlbiBXQUwgcmVjb3JkIG1h dGNoZXMgYSBzcGVjaWZpYyByZWxhdGlvbgogICogYW5kIG9wdGlvbmFsbHkgYmxvY2suCkBAIC03 NzMsOCArODExLDggQEAgdXNhZ2Uodm9pZCkKIAlwcmludGYoXygiICAtRiwgLS1mb3JrPUZPUksg ICAgICAgIG9ubHkgc2hvdyByZWNvcmRzIHRoYXQgbW9kaWZ5IGJsb2NrcyBpbiBmb3JrIEZPUks7 XG4iCiAJCQkgIiAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCBuYW1lcyBhcmUgbWFpbiwg ZnNtLCB2bSwgaW5pdFxuIikpOwogCXByaW50ZihfKCIgIC1uLCAtLWxpbWl0PU4gICAgICAgICAg bnVtYmVyIG9mIHJlY29yZHMgdG8gZGlzcGxheVxuIikpOwotCXByaW50ZihfKCIgIC1wLCAtLXBh dGg9UEFUSCAgICAgICAgZGlyZWN0b3J5IGluIHdoaWNoIHRvIGZpbmQgV0FMIHNlZ21lbnQgZmls ZXMgb3IgYVxuIgotCQkJICIgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5IHdpdGgg YSAuL3BnX3dhbCB0aGF0IGNvbnRhaW5zIHN1Y2ggZmlsZXNcbiIKKwlwcmludGYoXygiICAtcCwg LS1wYXRoPVBBVEggICAgICAgIHRhciBhcmNoaXZlIG9yIGEgZGlyZWN0b3J5IGluIHdoaWNoIHRv IGZpbmQgV0FMIHNlZ21lbnQgZmlsZXMgb3JcbiIKKwkJCSAiICAgICAgICAgICAgICAgICAgICAg ICAgIGEgZGlyZWN0b3J5IHdpdGggYSAuL3BnX3dhbCB0aGF0IGNvbnRhaW5zIHN1Y2ggZmlsZXNc biIKIAkJCSAiICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiBjdXJyZW50IGRpcmVj dG9yeSwgLi9wZ193YWwsICRQR0RBVEEvcGdfd2FsKVxuIikpOwogCXByaW50ZihfKCIgIC1xLCAt LXF1aWV0ICAgICAgICAgICAgZG8gbm90IHByaW50IGFueSBvdXRwdXQsIGV4Y2VwdCBmb3IgZXJy b3JzXG4iKSk7CiAJcHJpbnRmKF8oIiAgLXIsIC0tcm1ncj1STUdSICAgICAgICBvbmx5IHNob3cg cmVjb3JkcyBnZW5lcmF0ZWQgYnkgcmVzb3VyY2UgbWFuYWdlciBSTUdSO1xuIgpAQCAtODA2LDcg Kzg0NCwxMCBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAlYTG9nUmVjb3JkICpyZWNv cmQ7CiAJWExvZ1JlY1B0cglmaXJzdF9yZWNvcmQ7CiAJY2hhcgkgICAqd2FsZGlyID0gTlVMTDsK KwljaGFyCSAgICp3YWxwYXRoID0gTlVMTDsKIAljaGFyCSAgICplcnJvcm1zZzsKKwlib29sCQlp c19hcmNoaXZlID0gZmFsc2U7CisJcGdfY29tcHJlc3NfYWxnb3JpdGhtIGNvbXByZXNzaW9uOwog CiAJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7CiAJCXsiYmtwLWRldGFp bHMiLCBub19hcmd1bWVudCwgTlVMTCwgJ2InfSwKQEAgLTkzOCw3ICs5NzksNyBAQCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQl9CiAJCQkJYnJlYWs7CiAJCQljYXNlICdwJzoKLQkJ CQl3YWxkaXIgPSBwZ19zdHJkdXAob3B0YXJnKTsKKwkJCQl3YWxwYXRoID0gcGdfc3RyZHVwKG9w dGFyZyk7CiAJCQkJYnJlYWs7CiAJCQljYXNlICdxJzoKIAkJCQljb25maWcucXVpZXQgPSB0cnVl OwpAQCAtMTEwMiwxMCArMTE0MywyMCBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJ Z290byBiYWRfYXJndW1lbnQ7CiAJfQogCi0JaWYgKHdhbGRpciAhPSBOVUxMKQorCWlmICh3YWxw YXRoICE9IE5VTEwpCiAJeworCQkvKiB2YWxpZGF0ZSBwYXRoIHBvaW50cyB0byB0YXIgYXJjaGl2 ZSAqLworCQlpZiAoaXNfYXJjaGl2ZV9maWxlKHdhbHBhdGgsICZjb21wcmVzc2lvbikpCisJCXsK KwkJCWNoYXIJICAgKmZuYW1lID0gTlVMTDsKKworCQkJc3BsaXRfcGF0aCh3YWxwYXRoLCAmd2Fs ZGlyLCAmZm5hbWUpOworCisJCQlwcml2YXRlLmFyY2hpdmVfbmFtZSA9IGZuYW1lOworCQkJaXNf YXJjaGl2ZSA9IHRydWU7CisJCX0KIAkJLyogdmFsaWRhdGUgcGF0aCBwb2ludHMgdG8gZGlyZWN0 b3J5ICovCi0JCWlmICghdmVyaWZ5X2RpcmVjdG9yeSh3YWxkaXIpKQorCQllbHNlIGlmICghdmVy aWZ5X2RpcmVjdG9yeSh3YWxwYXRoKSkKIAkJewogCQkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3Qg b3BlbiBkaXJlY3RvcnkgXCIlc1wiOiAlbSIsIHdhbGRpcik7CiAJCQlnb3RvIGJhZF9hcmd1bWVu dDsKQEAgLTExMjMsNiArMTE3NCwxNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJ aW50CQkJZmQ7CiAJCVhMb2dTZWdObwlzZWdubzsKIAorCQkvKgorCQkgKiBJZiBhIHRhciBhcmNo aXZlIGlzIHBhc3NlZCB1c2luZyB0aGUgLS1wYXRoIG9wdGlvbiwgYWxsIG90aGVyCisJCSAqIGFy Z3VtZW50cyBiZWNvbWUgdW5uZWNlc3NhcnkuCisJCSAqLworCQlpZiAoaXNfYXJjaGl2ZSkKKwkJ eworCQkJcGdfbG9nX2Vycm9yKCJ1bm5lY2Vzc2FyeSBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHNw ZWNpZmllZCB3aXRoIHRhciBhcmNoaXZlIChmaXJzdCBpcyBcIiVzXCIpIiwKKwkJCQkJCSBhcmd2 W29wdGluZF0pOworCQkJZ290byBiYWRfYXJndW1lbnQ7CisJCX0KKwogCQlzcGxpdF9wYXRoKGFy Z3Zbb3B0aW5kXSwgJmRpcmVjdG9yeSwgJmZuYW1lKTsKIAogCQlpZiAod2FsZGlyID09IE5VTEwg JiYgZGlyZWN0b3J5ICE9IE5VTEwpCkBAIC0xMTMzLDY5ICsxMTk1LDc3IEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogCQkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBkaXJlY3Rvcnkg XCIlc1wiOiAlbSIsIHdhbGRpcik7CiAJCX0KIAotCQl3YWxkaXIgPSBpZGVudGlmeV90YXJnZXRf ZGlyZWN0b3J5KHdhbGRpciwgZm5hbWUpOwotCQlmZCA9IG9wZW5fZmlsZV9pbl9kaXJlY3Rvcnko d2FsZGlyLCBmbmFtZSk7Ci0JCWlmIChmZCA8IDApCi0JCQlwZ19mYXRhbCgiY291bGQgbm90IG9w ZW4gZmlsZSBcIiVzXCIiLCBmbmFtZSk7Ci0JCWNsb3NlKGZkKTsKLQotCQkvKiBwYXJzZSBwb3Np dGlvbiBmcm9tIGZpbGUgKi8KLQkJWExvZ0Zyb21GaWxlTmFtZShmbmFtZSwgJnByaXZhdGUudGlt ZWxpbmUsICZzZWdubywgV2FsU2VnU3opOwotCi0JCWlmICghWExvZ1JlY1B0cklzVmFsaWQocHJp dmF0ZS5zdGFydHB0cikpCi0JCQlYTG9nU2VnTm9PZmZzZXRUb1JlY1B0cihzZWdubywgMCwgV2Fs U2VnU3osIHByaXZhdGUuc3RhcnRwdHIpOwotCQllbHNlIGlmICghWExCeXRlSW5TZWcocHJpdmF0 ZS5zdGFydHB0ciwgc2Vnbm8sIFdhbFNlZ1N6KSkKKwkJaWYgKGZuYW1lICE9IE5VTEwgJiYgaXNf YXJjaGl2ZV9maWxlKGZuYW1lLCAmY29tcHJlc3Npb24pKQogCQl7Ci0JCQlwZ19sb2dfZXJyb3Io InN0YXJ0IFdBTCBsb2NhdGlvbiAlWC8lMDhYIGlzIG5vdCBpbnNpZGUgZmlsZSBcIiVzXCIiLAot CQkJCQkJIExTTl9GT1JNQVRfQVJHUyhwcml2YXRlLnN0YXJ0cHRyKSwKLQkJCQkJCSBmbmFtZSk7 Ci0JCQlnb3RvIGJhZF9hcmd1bWVudDsKKwkJCXByaXZhdGUuYXJjaGl2ZV9uYW1lID0gZm5hbWU7 CisJCQlpc19hcmNoaXZlID0gdHJ1ZTsKIAkJfQotCi0JCS8qIG5vIHNlY29uZCBmaWxlIHNwZWNp ZmllZCwgc2V0IGVuZCBwb3NpdGlvbiAqLwotCQlpZiAoIShvcHRpbmQgKyAxIDwgYXJnYykgJiYg IVhMb2dSZWNQdHJJc1ZhbGlkKHByaXZhdGUuZW5kcHRyKSkKLQkJCVhMb2dTZWdOb09mZnNldFRv UmVjUHRyKHNlZ25vICsgMSwgMCwgV2FsU2VnU3osIHByaXZhdGUuZW5kcHRyKTsKLQotCQkvKiBw YXJzZSBFTkRTRUcgaWYgcGFzc2VkICovCi0JCWlmIChvcHRpbmQgKyAxIDwgYXJnYykKKwkJZWxz ZQogCQl7Ci0JCQlYTG9nU2VnTm8JZW5kc2Vnbm87Ci0KLQkJCS8qIGlnbm9yZSBkaXJlY3Rvcnks IGFscmVhZHkgaGF2ZSB0aGF0ICovCi0JCQlzcGxpdF9wYXRoKGFyZ3Zbb3B0aW5kICsgMV0sICZk aXJlY3RvcnksICZmbmFtZSk7Ci0KKwkJCXdhbGRpciA9IGlkZW50aWZ5X3RhcmdldF9kaXJlY3Rv cnkod2FsZGlyLCBmbmFtZSk7CiAJCQlmZCA9IG9wZW5fZmlsZV9pbl9kaXJlY3Rvcnkod2FsZGly LCBmbmFtZSk7CiAJCQlpZiAoZmQgPCAwKQogCQkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBm aWxlIFwiJXNcIiIsIGZuYW1lKTsKIAkJCWNsb3NlKGZkKTsKIAogCQkJLyogcGFyc2UgcG9zaXRp b24gZnJvbSBmaWxlICovCi0JCQlYTG9nRnJvbUZpbGVOYW1lKGZuYW1lLCAmcHJpdmF0ZS50aW1l bGluZSwgJmVuZHNlZ25vLCBXYWxTZWdTeik7CisJCQlYTG9nRnJvbUZpbGVOYW1lKGZuYW1lLCAm cHJpdmF0ZS50aW1lbGluZSwgJnNlZ25vLCBXYWxTZWdTeik7CiAKLQkJCWlmIChlbmRzZWdubyA8 IHNlZ25vKQotCQkJCXBnX2ZhdGFsKCJFTkRTRUcgJXMgaXMgYmVmb3JlIFNUQVJUU0VHICVzIiwK LQkJCQkJCSBhcmd2W29wdGluZCArIDFdLCBhcmd2W29wdGluZF0pOworCQkJaWYgKCFYTG9nUmVj UHRySXNWYWxpZChwcml2YXRlLnN0YXJ0cHRyKSkKKwkJCQlYTG9nU2VnTm9PZmZzZXRUb1JlY1B0 cihzZWdubywgMCwgV2FsU2VnU3osIHByaXZhdGUuc3RhcnRwdHIpOworCQkJZWxzZSBpZiAoIVhM Qnl0ZUluU2VnKHByaXZhdGUuc3RhcnRwdHIsIHNlZ25vLCBXYWxTZWdTeikpCisJCQl7CisJCQkJ cGdfbG9nX2Vycm9yKCJzdGFydCBXQUwgbG9jYXRpb24gJVgvJTA4WCBpcyBub3QgaW5zaWRlIGZp bGUgXCIlc1wiIiwKKwkJCQkJCQkgTFNOX0ZPUk1BVF9BUkdTKHByaXZhdGUuc3RhcnRwdHIpLAor CQkJCQkJCSBmbmFtZSk7CisJCQkJZ290byBiYWRfYXJndW1lbnQ7CisJCQl9CiAKLQkJCWlmICgh WExvZ1JlY1B0cklzVmFsaWQocHJpdmF0ZS5lbmRwdHIpKQotCQkJCVhMb2dTZWdOb09mZnNldFRv UmVjUHRyKGVuZHNlZ25vICsgMSwgMCwgV2FsU2VnU3osCi0JCQkJCQkJCQkJcHJpdmF0ZS5lbmRw dHIpOworCQkJLyogbm8gc2Vjb25kIGZpbGUgc3BlY2lmaWVkLCBzZXQgZW5kIHBvc2l0aW9uICov CisJCQlpZiAoIShvcHRpbmQgKyAxIDwgYXJnYykgJiYgIVhMb2dSZWNQdHJJc1ZhbGlkKHByaXZh dGUuZW5kcHRyKSkKKwkJCQlYTG9nU2VnTm9PZmZzZXRUb1JlY1B0cihzZWdubyArIDEsIDAsIFdh bFNlZ1N6LCBwcml2YXRlLmVuZHB0cik7CiAKLQkJCS8qIHNldCBzZWdubyB0byBlbmRzZWdubyBm b3IgY2hlY2sgb2YgLS1lbmQgKi8KLQkJCXNlZ25vID0gZW5kc2Vnbm87Ci0JCX0KKwkJCS8qIHBh cnNlIEVORFNFRyBpZiBwYXNzZWQgKi8KKwkJCWlmIChvcHRpbmQgKyAxIDwgYXJnYykKKwkJCXsK KwkJCQlYTG9nU2VnTm8JZW5kc2Vnbm87CiAKKwkJCQkvKiBpZ25vcmUgZGlyZWN0b3J5LCBhbHJl YWR5IGhhdmUgdGhhdCAqLworCQkJCXNwbGl0X3BhdGgoYXJndltvcHRpbmQgKyAxXSwgJmRpcmVj dG9yeSwgJmZuYW1lKTsKIAotCQlpZiAoIVhMQnl0ZUluU2VnKHByaXZhdGUuZW5kcHRyLCBzZWdu bywgV2FsU2VnU3opICYmCi0JCQlwcml2YXRlLmVuZHB0ciAhPSAoc2Vnbm8gKyAxKSAqIFdhbFNl Z1N6KQotCQl7Ci0JCQlwZ19sb2dfZXJyb3IoImVuZCBXQUwgbG9jYXRpb24gJVgvJTA4WCBpcyBu b3QgaW5zaWRlIGZpbGUgXCIlc1wiIiwKLQkJCQkJCSBMU05fRk9STUFUX0FSR1MocHJpdmF0ZS5l bmRwdHIpLAotCQkJCQkJIGFyZ3ZbYXJnYyAtIDFdKTsKLQkJCWdvdG8gYmFkX2FyZ3VtZW50Owor CQkJCWZkID0gb3Blbl9maWxlX2luX2RpcmVjdG9yeSh3YWxkaXIsIGZuYW1lKTsKKwkJCQlpZiAo ZmQgPCAwKQorCQkJCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gZmlsZSBcIiVzXCIiLCBmbmFt ZSk7CisJCQkJY2xvc2UoZmQpOworCisJCQkJLyogcGFyc2UgcG9zaXRpb24gZnJvbSBmaWxlICov CisJCQkJWExvZ0Zyb21GaWxlTmFtZShmbmFtZSwgJnByaXZhdGUudGltZWxpbmUsICZlbmRzZWdu bywgV2FsU2VnU3opOworCisJCQkJaWYgKGVuZHNlZ25vIDwgc2Vnbm8pCisJCQkJCXBnX2ZhdGFs KCJFTkRTRUcgJXMgaXMgYmVmb3JlIFNUQVJUU0VHICVzIiwKKwkJCQkJCQkgYXJndltvcHRpbmQg KyAxXSwgYXJndltvcHRpbmRdKTsKKworCQkJCWlmICghWExvZ1JlY1B0cklzVmFsaWQocHJpdmF0 ZS5lbmRwdHIpKQorCQkJCQlYTG9nU2VnTm9PZmZzZXRUb1JlY1B0cihlbmRzZWdubyArIDEsIDAs IFdhbFNlZ1N6LAorCQkJCQkJCQkJCQlwcml2YXRlLmVuZHB0cik7CisKKwkJCQkvKiBzZXQgc2Vn bm8gdG8gZW5kc2Vnbm8gZm9yIGNoZWNrIG9mIC0tZW5kICovCisJCQkJc2Vnbm8gPSBlbmRzZWdu bzsKKwkJCX0KKworCisJCQlpZiAoIVhMQnl0ZUluU2VnKHByaXZhdGUuZW5kcHRyLCBzZWdubywg V2FsU2VnU3opICYmCisJCQkJcHJpdmF0ZS5lbmRwdHIgIT0gKHNlZ25vICsgMSkgKiBXYWxTZWdT eikKKwkJCXsKKwkJCQlwZ19sb2dfZXJyb3IoImVuZCBXQUwgbG9jYXRpb24gJVgvJTA4WCBpcyBu b3QgaW5zaWRlIGZpbGUgXCIlc1wiIiwKKwkJCQkJCQkgTFNOX0ZPUk1BVF9BUkdTKHByaXZhdGUu ZW5kcHRyKSwKKwkJCQkJCQkgYXJndlthcmdjIC0gMV0pOworCQkJCWdvdG8gYmFkX2FyZ3VtZW50 OworCQkJfQogCQl9CiAJfQotCWVsc2UKLQkJd2FsZGlyID0gaWRlbnRpZnlfdGFyZ2V0X2RpcmVj dG9yeSh3YWxkaXIsIE5VTEwpOworCWVsc2UgaWYgKCFpc19hcmNoaXZlKQorCQl3YWxkaXIgPSBp ZGVudGlmeV90YXJnZXRfZGlyZWN0b3J5KHdhbHBhdGgsIE5VTEwpOwogCiAJLyogd2UgZG9uJ3Qg a25vdyB3aGF0IHRvIHByaW50ICovCiAJaWYgKCFYTG9nUmVjUHRySXNWYWxpZChwcml2YXRlLnN0 YXJ0cHRyKSkKQEAgLTEyMDcsMTIgKzEyNzcsMzYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAJLyogZG9uZSB3aXRoIGFyZ3VtZW50IHBhcnNpbmcsIGRvIHRoZSBhY3R1YWwgd29yayAq LwogCiAJLyogd2UgaGF2ZSBldmVyeXRoaW5nIHdlIG5lZWQsIHN0YXJ0IHJlYWRpbmcgKi8KLQl4 bG9ncmVhZGVyX3N0YXRlID0KLQkJWExvZ1JlYWRlckFsbG9jYXRlKFdhbFNlZ1N6LCB3YWxkaXIs Ci0JCQkJCQkgICBYTF9ST1VUSU5FKC5wYWdlX3JlYWQgPSBXQUxEdW1wUmVhZFBhZ2UsCi0JCQkJ CQkJCQkgIC5zZWdtZW50X29wZW4gPSBXQUxEdW1wT3BlblNlZ21lbnQsCi0JCQkJCQkJCQkgIC5z ZWdtZW50X2Nsb3NlID0gV0FMRHVtcENsb3NlU2VnbWVudCksCi0JCQkJCQkgICAmcHJpdmF0ZSk7 CisJaWYgKGlzX2FyY2hpdmUpCisJeworCQkvKgorCQkgKiBBIE5VTEwgV0FMIGRpcmVjdG9yeSBp bmRpY2F0ZXMgdGhhdCB0aGUgYXJjaGl2ZSBmaWxlIGlzIGxvY2F0ZWQKKwkJICogaW4gdGhlIGN1 cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgb2YgdGhlIHBnX3dhbGR1bXAgZXhlY3V0aW9uCisJCSAq LworCQl3YWxkaXIgPSB3YWxkaXIgPyBwZ19zdHJkdXAod2FsZGlyKSA6IHBnX3N0cmR1cCgiLiIp OworCisJCS8qIFNldCB1cCBmb3IgcmVhZGluZyB0YXIgZmlsZSAqLworCQlpbml0X2FyY2hpdmVf cmVhZGVyKCZwcml2YXRlLCB3YWxkaXIsIGNvbXByZXNzaW9uKTsKKworCQkvKiBSb3V0aW5lIHRv IGRlY29kZSBXQUwgZmlsZXMgaW4gdGFyIGFyY2hpdmUgKi8KKwkJeGxvZ3JlYWRlcl9zdGF0ZSA9 CisJCQlYTG9nUmVhZGVyQWxsb2NhdGUoV2FsU2VnU3osIHdhbGRpciwKKwkJCQkJCQkgICBYTF9S T1VUSU5FKC5wYWdlX3JlYWQgPSBUYXJXQUxEdW1wUmVhZFBhZ2UsCisJCQkJCQkJCQkJICAuc2Vn bWVudF9vcGVuID0gVGFyV0FMRHVtcE9wZW5TZWdtZW50LAorCQkJCQkJCQkJCSAgLnNlZ21lbnRf Y2xvc2UgPSBUYXJXQUxEdW1wQ2xvc2VTZWdtZW50KSwKKwkJCQkJCQkgICAmcHJpdmF0ZSk7CisJ fQorCWVsc2UKKwl7CisJCS8qIFJvdXRpbmUgdG8gZGVjb2RlIFdBTCBmaWxlcyAqLworCQl4bG9n cmVhZGVyX3N0YXRlID0KKwkJCVhMb2dSZWFkZXJBbGxvY2F0ZShXYWxTZWdTeiwgd2FsZGlyLAor CQkJCQkJCSAgIFhMX1JPVVRJTkUoLnBhZ2VfcmVhZCA9IFdBTER1bXBSZWFkUGFnZSwKKwkJCQkJ CQkJCQkgIC5zZWdtZW50X29wZW4gPSBXQUxEdW1wT3BlblNlZ21lbnQsCisJCQkJCQkJCQkJICAu c2VnbWVudF9jbG9zZSA9IFdBTER1bXBDbG9zZVNlZ21lbnQpLAorCQkJCQkJCSAgICZwcml2YXRl KTsKKwl9CisKIAlpZiAoIXhsb2dyZWFkZXJfc3RhdGUpCiAJCXBnX2ZhdGFsKCJvdXQgb2YgbWVt b3J5IHdoaWxlIGFsbG9jYXRpbmcgYSBXQUwgcmVhZGluZyBwcm9jZXNzb3IiKTsKIApAQCAtMTMy MSw2ICsxNDE1LDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKIAlYTG9nUmVhZGVy RnJlZSh4bG9ncmVhZGVyX3N0YXRlKTsKIAorCWlmIChpc19hcmNoaXZlKQorCQlmcmVlX2FyY2hp dmVfcmVhZGVyKCZwcml2YXRlKTsKKwogCXJldHVybiBFWElUX1NVQ0NFU1M7CiAKIGJhZF9hcmd1 bWVudDoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmggYi9zcmMv YmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5oCmluZGV4IDllNjJiNjRlYWQ1Li41NDc1OGMzNTQ4 YSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuaAorKysgYi9zcmMv YmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5oCkBAIC0xMiw5ICsxMiwxMyBAQAogI2RlZmluZSBQ R19XQUxEVU1QX0gKIAogI2luY2x1ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgorI2luY2x1ZGUgImZl X3V0aWxzL2FzdHJlYW1lci5oIgogCiBleHRlcm4gaW50CVdhbFNlZ1N6OwogCisvKiBGb3J3YXJk IGRlY2xhcmF0aW9uICovCitzdHJ1Y3QgQXJjaGl2ZWRXQUxFbnRyeTsKKwogLyogQ29udGFpbnMg dGhlIG5lY2Vzc2FyeSBpbmZvcm1hdGlvbiB0byBkcml2ZSBXQUwgZGVjb2RpbmcgKi8KIHR5cGVk ZWYgc3RydWN0IFhMb2dEdW1wUHJpdmF0ZQogewpAQCAtMjIsNiArMjYsMzYgQEAgdHlwZWRlZiBz dHJ1Y3QgWExvZ0R1bXBQcml2YXRlCiAJWExvZ1JlY1B0cglzdGFydHB0cjsKIAlYTG9nUmVjUHRy CWVuZHB0cjsKIAlib29sCQllbmRwdHJfcmVhY2hlZDsKKworCS8qIEZpZWxkcyByZXF1aXJlZCB0 byByZWFkIFdBTCBmcm9tIGFyY2hpdmUgKi8KKwljaGFyCSAgICphcmNoaXZlX25hbWU7CS8qIFRh ciBhcmNoaXZlIG5hbWUgKi8KKwlpbnQJCQlhcmNoaXZlX2ZkOwkJLyogRmlsZSBkZXNjcmlwdG9y IGZvciB0aGUgb3BlbiB0YXIgZmlsZSAqLworCisJYXN0cmVhbWVyICAqYXJjaGl2ZV9zdHJlYW1l cjsKKworCS8qIFdoYXQgdGhlIGFyY2hpdmUgc3RyZWFtZXIgaXMgY3VycmVudGx5IHJlYWRpbmcg Ki8KKwlzdHJ1Y3QgQXJjaGl2ZWRXQUxFbnRyeSAqY3VyX3dhbDsKKworCS8qCisJICogQWx0aG91 Z2ggdGhlc2UgdmFsdWVzIGNhbiBiZSBlYXNpbHkgZGVyaXZlZCBmcm9tIHN0YXJ0cHRyIGFuZCBl bmRwdHIsCisJICogZG9pbmcgc28gcmVwZWF0ZWRseSBmb3IgZWFjaCBhcmNoaXZlZCBtZW1iZXIg d291bGQgYmUgaW5lZmZpY2llbnQsIGFzCisJICogaXQgd291bGQgaW52b2x2ZSByZWNhbGN1bGF0 aW5nIGFuZCBmaWx0ZXJpbmcgb3V0IGlycmVsZXZhbnQgV0FMCisJICogc2VnbWVudHMuCisJICov CisJWExvZ1NlZ05vCXN0YXJ0U2VnTm87CisJWExvZ1NlZ05vCWVuZFNlZ05vOwogfSBYTG9nRHVt cFByaXZhdGU7CiAKLSNlbmRpZgkJLyogZW5kIG9mIFBHX1dBTERVTVBfSCAqLworZXh0ZXJuIGlu dAlvcGVuX2ZpbGVfaW5fZGlyZWN0b3J5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgY29uc3QgY2hh ciAqZm5hbWUpOworCitleHRlcm4gYm9vbCBpc19hcmNoaXZlX2ZpbGUoY29uc3QgY2hhciAqZm5h bWUsCisJCQkJCQkJcGdfY29tcHJlc3NfYWxnb3JpdGhtICpjb21wcmVzc2lvbik7CitleHRlcm4g dm9pZCBpbml0X2FyY2hpdmVfcmVhZGVyKFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8sCisJ CQkJCQkJCWNvbnN0IGNoYXIgKndhbGRpciwKKwkJCQkJCQkJcGdfY29tcHJlc3NfYWxnb3JpdGht IGNvbXByZXNzaW9uKTsKK2V4dGVybiB2b2lkIGZyZWVfYXJjaGl2ZV9yZWFkZXIoWExvZ0R1bXBQ cml2YXRlICpwcml2YXRlSW5mbyk7CitleHRlcm4gaW50CXJlYWRfYXJjaGl2ZV93YWxfcGFnZShY TG9nRHVtcFByaXZhdGUgKnByaXZhdGVJbmZvLAorCQkJCQkJCQkgIFhMb2dSZWNQdHIgdGFyZ2V0 UGFnZVB0ciwKKwkJCQkJCQkJICBTaXplIGNvdW50LCBjaGFyICpyZWFkQnVmZik7CisKKyNlbmRp ZgkJCQkJCQkvKiBlbmQgb2YgUEdfV0FMRFVNUF9IICovCmRpZmYgLS1naXQgYS9zcmMvYmluL3Bn X3dhbGR1bXAvdC8wMDFfYmFzaWMucGwgYi9zcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMu cGwKaW5kZXggMWI3MTJlOGQ3NGQuLjQ0MzEyNmE5Y2U2IDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKKysrIGIvc3JjL2Jpbi9wZ193YWxkdW1wL3QvMDAxX2Jh c2ljLnBsCkBAIC0zLDEwICszLDEzIEBACiAKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3MgRkFU QUwgPT4gJ2FsbCc7Cit1c2UgQ3dkOwogdXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7CiB1 c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7CiB1c2UgVGVzdDo6TW9yZTsKIAorbXkgJHRhciA9 ICRFTlZ7VEFSfTsKKwogcHJvZ3JhbV9oZWxwX29rKCdwZ193YWxkdW1wJyk7CiBwcm9ncmFtX3Zl cnNpb25fb2soJ3BnX3dhbGR1bXAnKTsKIHByb2dyYW1fb3B0aW9uc19oYW5kbGluZ19vaygncGdf d2FsZHVtcCcpOwpAQCAtMjM1LDcgKzIzOCw3IEBAIGNvbW1hbmRfbGlrZSgKIHN1YiB0ZXN0X3Bn X3dhbGR1bXAKIHsKIAlsb2NhbCAkVGVzdDo6QnVpbGRlcjo6TGV2ZWwgPSAkVGVzdDo6QnVpbGRl cjo6TGV2ZWwgKyAxOwotCW15IEBvcHRzID0gQF87CisJbXkgKCRwYXRoLCBAb3B0cykgPSBAXzsK IAogCW15ICgkc3Rkb3V0LCAkc3RkZXJyKTsKIApAQCAtMjQzLDYgKzI0Niw3IEBAIHN1YiB0ZXN0 X3BnX3dhbGR1bXAKIAkJJ3BnX3dhbGR1bXAnLAogCQknLS1zdGFydCcgPT4gJHN0YXJ0X2xzbiwK IAkJJy0tZW5kJyA9PiAkZW5kX2xzbiwKKwkJJy0tcGF0aCcgPT4gJHBhdGgsCiAJCUBvcHRzCiAJ ICBdLAogCSAgJz4nID0+IFwkc3Rkb3V0LApAQCAtMjU0LDExICsyNTgsNTAgQEAgc3ViIHRlc3Rf cGdfd2FsZHVtcAogCXJldHVybiBAbGluZXM7CiB9CiAKLW15IEBsaW5lczsKKyMgQ3JlYXRlIGEg dGFyIGFyY2hpdmUsIHNvcnRpbmcgdGhlIGZpbGUgb3JkZXIKK3N1YiBnZW5lcmF0ZV9hcmNoaXZl Cit7CisJbXkgKCRhcmNoaXZlLCAkZGlyZWN0b3J5LCAkY29tcHJlc3Npb25fZmxhZ3MpID0gQF87 CisKKwlteSBAZmlsZXM7CisJb3BlbmRpciBteSAkZGgsICRkaXJlY3Rvcnkgb3IgZGllICJvcGVu ZGlyOiAkISI7CisJd2hpbGUgKG15ICRlbnRyeSA9IHJlYWRkaXIgJGRoKSB7CisJCSMgU2tpcCAn LicgYW5kICcuLicKKwkJbmV4dCBpZiAkZW50cnkgZXEgJy4nIHx8ICRlbnRyeSBlcSAnLi4nOwor CQlwdXNoIEBmaWxlcywgJGVudHJ5OworCX0KKwljbG9zZWRpciAkZGg7CisKKwlAZmlsZXMgPSBz b3J0IEBmaWxlczsKKworCSMgbW92ZSBpbnRvIHRoZSBXQUwgZGlyZWN0b3J5IGJlZm9yZSBhcmNo aXZpbmcgZmlsZXMKKwlteSAkY3dkID0gZ2V0Y3dkOworCWNoZGlyKCRkaXJlY3RvcnkpIHx8IGRp ZSAiY2hkaXI6ICQhIjsKKwljb21tYW5kX29rKFskdGFyLCAkY29tcHJlc3Npb25fZmxhZ3MsICRh cmNoaXZlLCBAZmlsZXNdKTsKKwljaGRpcigkY3dkKSB8fCBkaWUgImNoZGlyOiAkISI7Cit9CisK K215ICR0bXBfZGlyID0gUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRlbXBkaXJfc2hvcnQoKTsK IAogbXkgQHNjZW5hcmlvID0gKAogCXsKLQkJJ3BhdGgnID0+ICRub2RlLT5kYXRhX2RpcgorCQkn cGF0aCcgPT4gJG5vZGUtPmRhdGFfZGlyLAorCQknaXNfYXJjaGl2ZScgPT4gMCwKKwkJJ2VuYWJs ZWQnID0+IDEKKwl9LAorCXsKKwkJJ3BhdGgnID0+ICIkdG1wX2Rpci9wZ193YWwudGFyIiwKKwkJ J2NvbXByZXNzaW9uX21ldGhvZCcgPT4gJ25vbmUnLAorCQknY29tcHJlc3Npb25fZmxhZ3MnID0+ ICctY2YnLAorCQknaXNfYXJjaGl2ZScgPT4gMSwKKwkJJ2VuYWJsZWQnID0+IDEKKwl9LAorCXsK KwkJJ3BhdGgnID0+ICIkdG1wX2Rpci9wZ193YWwudGFyLmd6IiwKKwkJJ2NvbXByZXNzaW9uX21l dGhvZCcgPT4gJ2d6aXAnLAorCQknY29tcHJlc3Npb25fZmxhZ3MnID0+ICctY3pmJywKKwkJJ2lz X2FyY2hpdmUnID0+IDEsCisJCSdlbmFibGVkJyA9PiBjaGVja19wZ19jb25maWcoIiNkZWZpbmUg SEFWRV9MSUJaIDEiKQogCX0pOwogCiBmb3IgbXkgJHNjZW5hcmlvIChAc2NlbmFyaW8pCkBAIC0y NjcsNiArMzEwLDE5IEBAIGZvciBteSAkc2NlbmFyaW8gKEBzY2VuYXJpbykKIAogCVNLSVA6CiAJ eworCQlza2lwICJ0YXIgY29tbWFuZCBpcyBub3QgYXZhaWxhYmxlIiwgMworCQkgIGlmICFkZWZp bmVkICR0YXI7CisJCXNraXAgIiRzY2VuYXJpby0+eydjb21wcmVzc2lvbl9tZXRob2QnfSBjb21w cmVzc2lvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnVpbGQiLCAzCisJCSAgaWYgISRzY2VuYXJp by0+eydlbmFibGVkJ30gJiYgJHNjZW5hcmlvLT57J2lzX2FyY2hpdmUnfTsKKworCQkgICMgY3Jl YXRlIHBnX3dhbCBhcmNoaXZlCisJCSAgaWYgKCRzY2VuYXJpby0+eydpc19hcmNoaXZlJ30pCisJ CSAgeworCQkJICBnZW5lcmF0ZV9hcmNoaXZlKCRwYXRoLAorCQkJCSAgJG5vZGUtPmRhdGFfZGly IC4gJy9wZ193YWwnLAorCQkJCSAgJHNjZW5hcmlvLT57J2NvbXByZXNzaW9uX2ZsYWdzJ30pOwor CQkgIH0KKwogCQljb21tYW5kX2ZhaWxzX2xpa2UoCiAJCQlbICdwZ193YWxkdW1wJywgJy0tcGF0 aCcgPT4gJHBhdGggXSwKIAkJCXFyL2Vycm9yOiBubyBzdGFydCBXQUwgbG9jYXRpb24gZ2l2ZW4v LApAQCAtMjk4LDM4ICszNTQsNDIgQEAgZm9yIG15ICRzY2VuYXJpbyAoQHNjZW5hcmlvKQogCQkJ cXIvZXJyb3I6IGVycm9yIGluIFdBTCByZWNvcmQgYXQvLAogCQkJJ2Vycm9ycyBhcmUgc2hvd24g d2l0aCAtLXF1aWV0Jyk7CiAKLQkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgnID0+ ICRwYXRoKTsKKwkJbXkgQGxpbmVzOworCQlAbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJHBhdGgp OwogCQlpcyhncmVwKCEvXnJtZ3I6IFx3LywgQGxpbmVzKSwgMCwgJ2FsbCBvdXRwdXQgbGluZXMg YXJlIHJtZ3IgbGluZXMnKTsKIAotCQlAbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJy0tcGF0aCcg PT4gJHBhdGgsICctLWxpbWl0JyA9PiA2KTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCRw YXRoLCAnLS1saW1pdCcgPT4gNik7CiAJCWlzKEBsaW5lcywgNiwgJ2xpbWl0IG9wdGlvbiBvYnNl cnZlZCcpOwogCi0JCUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1wYXRoJyA9PiAkcGF0aCwg Jy0tZnVsbHBhZ2UnKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCRwYXRoLCAnLS1mdWxs cGFnZScpOwogCQlpcyhncmVwKCEvXnJtZ3I6LipcYkZQV1xiLywgQGxpbmVzKSwgMCwgJ2FsbCBv dXRwdXQgbGluZXMgYXJlIEZQVycpOwogCi0JCUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1w YXRoJyA9PiAkcGF0aCwgJy0tc3RhdHMnKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCRw YXRoLCAnLS1zdGF0cycpOwogCQlsaWtlKCRsaW5lc1swXSwgcXIvV0FMIHN0YXRpc3RpY3MvLCAi c3RhdGlzdGljcyBvbiBzdGRvdXQiKTsKIAkJaXMoZ3JlcCgvXnJtZ3I6LywgQGxpbmVzKSwgMCwg J25vIHJtZ3IgbGluZXMgb3V0cHV0Jyk7CiAKLQkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCct LXBhdGgnID0+ICRwYXRoLCAnLS1zdGF0cz1yZWNvcmQnKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193 YWxkdW1wKCRwYXRoLCAnLS1zdGF0cz1yZWNvcmQnKTsKIAkJbGlrZSgkbGluZXNbMF0sIHFyL1dB TCBzdGF0aXN0aWNzLywgInN0YXRpc3RpY3Mgb24gc3Rkb3V0Iik7CiAJCWlzKGdyZXAoL15ybWdy Oi8sIEBsaW5lcyksIDAsICdubyBybWdyIGxpbmVzIG91dHB1dCcpOwogCi0JCUBsaW5lcyA9IHRl c3RfcGdfd2FsZHVtcCgnLS1wYXRoJyA9PiAkcGF0aCwgJy0tcm1ncicgPT4gJ0J0cmVlJyk7CisJ CUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgkcGF0aCwgJy0tcm1ncicgPT4gJ0J0cmVlJyk7CiAJ CWlzKGdyZXAoIS9ecm1ncjogQnRyZWUvLCBAbGluZXMpLCAwLCAnb25seSBCdHJlZSBsaW5lcycp OwogCi0JCUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgnLS1wYXRoJyA9PiAkcGF0aCwgJy0tZm9y aycgPT4gJ2luaXQnKTsKKwkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCRwYXRoLCAnLS1mb3Jr JyA9PiAnaW5pdCcpOwogCQlpcyhncmVwKCEvZm9yayBpbml0LywgQGxpbmVzKSwgMCwgJ29ubHkg aW5pdCBmb3JrIGxpbmVzJyk7CiAKLQkJQGxpbmVzID0gdGVzdF9wZ193YWxkdW1wKCctLXBhdGgn ID0+ICRwYXRoLAorCQlAbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJHBhdGgsCiAJCQknLS1yZWxh dGlvbicgPT4gIiRkZWZhdWx0X3RzX29pZC8kcG9zdGdyZXNfZGJfb2lkLyRyZWxfdDFfb2lkIik7 CiAJCWlzKGdyZXAoIS9yZWwgJGRlZmF1bHRfdHNfb2lkXC8kcG9zdGdyZXNfZGJfb2lkXC8kcmVs X3QxX29pZC8sIEBsaW5lcyksCiAJCQkwLCAnb25seSBsaW5lcyBmb3Igc2VsZWN0ZWQgcmVsYXRp b24nKTsKIAotCQlAbGluZXMgPSB0ZXN0X3BnX3dhbGR1bXAoJy0tcGF0aCcgPT4gJHBhdGgsCisJ CUBsaW5lcyA9IHRlc3RfcGdfd2FsZHVtcCgkcGF0aCwKIAkJCSctLXJlbGF0aW9uJyA9PiAiJGRl ZmF1bHRfdHNfb2lkLyRwb3N0Z3Jlc19kYl9vaWQvJHJlbF9pMWFfb2lkIiwKIAkJCSctLWJsb2Nr JyA9PiAxKTsKIAkJaXMoZ3JlcCghL1xiYmxrIDFcYi8sIEBsaW5lcyksIDAsICdvbmx5IGxpbmVz IGZvciBzZWxlY3RlZCBibG9jaycpOworCisJCSMgQ2xlYW51cC4KKwkJdW5saW5rICRwYXRoIGlm ICRzY2VuYXJpby0+eydpc19hcmNoaXZlJ307CiAJfQogfQogCmRpZmYgLS1naXQgYS9zcmMvdG9v bHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CmluZGV4IGM3NTFjMjVhMDRkLi5jMzhhMWMzODA4YiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xz L3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QKQEAgLTEzOSw2ICsxMzksOCBAQCBBcmNoaXZlT3B0cwogQXJjaGl2ZVNodXRkb3duQ0IK IEFyY2hpdmVTdGFydHVwQ0IKIEFyY2hpdmVTdHJlYW1TdGF0ZQorQXJjaGl2ZWRXQUxFbnRyeQor QXJjaGl2ZWRXQUxfaGFzaAogQXJjaGl2ZXJPdXRwdXQKIEFyY2hpdmVyU3RhZ2UKIEFycmF5QW5h bHl6ZUV4dHJhRGF0YQpAQCAtMzQ2NSw2ICszNDY3LDcgQEAgYXN0cmVhbWVyX3JlY292ZXJ5X2lu amVjdG9yCiBhc3RyZWFtZXJfdGFyX2FyY2hpdmVyCiBhc3RyZWFtZXJfdGFyX3BhcnNlcgogYXN0 cmVhbWVyX3ZlcmlmeQorYXN0cmVhbWVyX3dhbGR1bXAKIGFzdHJlYW1lcl96c3RkX2ZyYW1lCiBh dXRoX3Bhc3N3b3JkX2hvb2tfdHlwCiBhdXRvdmFjX3RhYmxlCi0tIAoyLjQ3LjEKCg== --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0005-pg_waldump-Remove-the-restriction-on-the-order-of.patch" Content-Disposition: attachment; filename="v7-0005-pg_waldump-Remove-the-restriction-on-the-order-of.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t4wju4 RnJvbSBiMDlhYmQ2YTlmYzU0OTNhNzEyODVhMzY0MTdiY2MxOGFjMDE3OTg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFRo dSwgNiBOb3YgMjAyNSAxMzo0ODozMyArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjcgNS84XSBwZ193 YWxkdW1wOiBSZW1vdmUgdGhlIHJlc3RyaWN0aW9uIG9uIHRoZSBvcmRlciBvZgogYXJjaGl2ZWQg V0FMIGZpbGVzLgoKV2l0aCBwcmV2aW91cyBwYXRjaCwgcGdfd2FsZHVtcCB3b3VsZCBzdG9wIGRl Y29kaW5nIGlmIFdBTCBmaWxlcyB3ZXJlCm5vdCBpbiB0aGUgcmVxdWlyZWQgc2VxdWVuY2UuIFdp dGggdGhpcyBwYXRjaCwgZGVjb2Rpbmcgd2lsbCBub3cKY29udGludWUuICBBbnkgV0FMIGZpbGUg dGhhdCBpcyBvdXQgb2Ygb3JkZXIgd2lsbCBiZSB3cml0dGVuIHRvIGEKdGVtcG9yYXJ5IGxvY2F0 aW9uLCBmcm9tIHdoaWNoIGl0IHdpbGwgYmUgcmVhZCBsYXRlci4gT25jZSBhIHRlbXBvcmFyeQpm aWxlIGhhcyBiZWVuIHJlYWQsIGl0IHdpbGwgYmUgcmVtb3ZlZC4KLS0tCiBzcmMvYmluL3BnX3dh bGR1bXAvYXJjaGl2ZV93YWxkdW1wLmMgfCAyMDcgKysrKysrKysrKysrKysrKysrKysrKysrKy0t CiBzcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5jICAgICAgfCAgNDEgKysrKystCiBzcmMv YmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5oICAgICAgfCAgIDQgKwogc3JjL2Jpbi9wZ193YWxk dW1wL3QvMDAxX2Jhc2ljLnBsICAgIHwgICAzICstCiA0IGZpbGVzIGNoYW5nZWQsIDI0MyBpbnNl cnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3dhbGR1 bXAvYXJjaGl2ZV93YWxkdW1wLmMgYi9zcmMvYmluL3BnX3dhbGR1bXAvYXJjaGl2ZV93YWxkdW1w LmMKaW5kZXggNjFkNjc4MmY5YjcuLjZmODdjMWFiNGE0IDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X3dhbGR1bXAvYXJjaGl2ZV93YWxkdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hp dmVfd2FsZHVtcC5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKICNp bmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgorI2luY2x1ZGUgImNvbW1vbi9maWxlX3Bl cm0uaCIKICNpbmNsdWRlICJjb21tb24vaGFzaGZuLmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dp bmcuaCIKICNpbmNsdWRlICJmZV91dGlscy9zaW1wbGVfbGlzdC5oIgpAQCAtMjcsNiArMjgsMTEg QEAKICAqLwogI2RlZmluZSBSRUFEX0NIVU5LX1NJWkUJCQkJKDEyOCAqIDEwMjQpCiAKKyNkZWZp bmUgVEVNUF9GSUxFX1BSRUZJWCAid2FsZHVtcC50bXAiCisKKy8qIFRlbXBvcmFyeSBleHBvcnRl ZCBXQUwgZmlsZSBkaXJlY3RvcnkgKi8KK3N0YXRpYyBjaGFyICpUbXBXYWxTZWdEaXIgPSBOVUxM OworCiAvKiBTdHJ1Y3R1cmUgZm9yIHN0b3JpbmcgdGhlIFdBTCBzZWdtZW50IGRhdGEgZnJvbSB0 aGUgYXJjaGl2ZSAqLwogdHlwZWRlZiBzdHJ1Y3QgQXJjaGl2ZWRXQUxFbnRyeQogewpAQCAtNjUs NiArNzEsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgYXN0cmVhbWVyX3dhbGR1bXAKIHN0YXRpYyBpbnQJ cmVhZF9hcmNoaXZlX2ZpbGUoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbywgU2l6ZSBjb3Vu dCk7CiBzdGF0aWMgQXJjaGl2ZWRXQUxFbnRyeSAqZ2V0X2FyY2hpdmVfd2FsX2VudHJ5KFhMb2dT ZWdObyBzZWdubywKIAkJCQkJCQkJCQkJICAgWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbyk7 CitzdGF0aWMgdm9pZCBzZXR1cF90bXBzZWdfZGlyKGNvbnN0IGNoYXIgKndhbGRpcik7CitzdGF0 aWMgdm9pZCBjbGVhbnVwX3RtcHNlZ19kaXJfYXRleGl0KHZvaWQpOworCitzdGF0aWMgRklMRSAq cHJlcGFyZV90bXBfd3JpdGUoWExvZ1NlZ05vIHNlZ25vKTsKK3N0YXRpYyB2b2lkIHBlcmZvcm1f dG1wX3dyaXRlKFhMb2dTZWdObyBzZWdubywgU3RyaW5nSW5mbyBidWYsIEZJTEUgKmZpbGUpOwog CiBzdGF0aWMgYXN0cmVhbWVyICphc3RyZWFtZXJfd2FsZHVtcF9uZXcoWExvZ0R1bXBQcml2YXRl ICpwcml2YXRlSW5mbyk7CiBzdGF0aWMgdm9pZCBhc3RyZWFtZXJfd2FsZHVtcF9jb250ZW50KGFz dHJlYW1lciAqc3RyZWFtZXIsCkBAIC0xMjAsMTAgKzEzMSwxMSBAQCBpc19hcmNoaXZlX2ZpbGUo Y29uc3QgY2hhciAqZm5hbWUsIHBnX2NvbXByZXNzX2FsZ29yaXRobSAqY29tcHJlc3Npb24pCiB9 CiAKIC8qCi0gKiBJbml0aWFsaXplcyB0aGUgdGFyIGFyY2hpdmUgcmVhZGVyIHRvIHJlYWQgV0FM IGZpbGVzIGZyb20gdGhlIGFyY2hpdmUsCi0gKiBjcmVhdGVzIGEgaGFzaCB0YWJsZSB0byBzdG9y ZSB0aGVtLCBwZXJmb3JtcyBxdWljayBleGlzdGVuY2UgY2hlY2tzIGZvciBXQUwKLSAqIGVudHJp ZXMgaW4gdGhlIGFyY2hpdmUgYW5kIHJldHJpZXZlcyB0aGUgV0FMIHNlZ21lbnQgc2l6ZSwgYW5k IHNldHMgdXAKLSAqIGZpbHRlcmluZyBjcml0ZXJpYSBmb3IgcmVsZXZhbnQgZW50cmllcy4KKyAq IEluaXRpYWxpemVzIHRoZSB0YXIgYXJjaGl2ZSByZWFkZXIsIGNyZWF0ZXMgYSBoYXNoIHRhYmxl IGZvciBXQUwgZW50cmllcywKKyAqIGNoZWNrcyBmb3IgZXhpc3RpbmcgdmFsaWQgV0FMIHNlZ21l bnRzIGluIHRoZSBhcmNoaXZlIGZpbGUgYW5kIHJldHJpZXZlcyB0aGUKKyAqIHNlZ21lbnQgc2l6 ZSwgYW5kIHNldHMgdXAgZmlsdGVycyBmb3IgcmVsZXZhbnQgZW50cmllcy4gSXQgYWxzbyBjb25m aWd1cmVzIGEKKyAqIHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIG91dC1vZi1vcmRlciBXQUwgZGF0 YSBhbmQgcmVnaXN0ZXJzIGFuIGV4aXQgY2FsbGJhY2sKKyAqIHRvIGNsZWFuIHVwIHRlbXBvcmFy eSBmaWxlcy4KICAqLwogdm9pZAogaW5pdF9hcmNoaXZlX3JlYWRlcihYTG9nRHVtcFByaXZhdGUg KnByaXZhdGVJbmZvLCBjb25zdCBjaGFyICp3YWxkaXIsCkBAIC0xOTQsNiArMjA2LDEzIEBAIGlu aXRfYXJjaGl2ZV9yZWFkZXIoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbywgY29uc3QgY2hh ciAqd2FsZGlyLAogCSAqLwogCVhMQnl0ZVRvU2VnKHByaXZhdGVJbmZvLT5zdGFydHB0ciwgcHJp dmF0ZUluZm8tPnN0YXJ0U2VnTm8sIFdhbFNlZ1N6KTsKIAlYTEJ5dGVUb1NlZyhwcml2YXRlSW5m by0+ZW5kcHRyLCBwcml2YXRlSW5mby0+ZW5kU2VnTm8sIFdhbFNlZ1N6KTsKKworCS8qCisJICog U2V0dXAgdGVtcG9yYXJ5IGRpcmVjdG9yeSB0byBzdG9yZSBXQUwgc2VnbWVudHMgYW5kIHNldCB1 cCBhbiBleGl0CisJICogY2FsbGJhY2sgdG8gcmVtb3ZlIGl0IHVwb24gY29tcGxldGlvbi4KKwkg Ki8KKwlzZXR1cF90bXBzZWdfZGlyKHdhbGRpcik7CisJYXRleGl0KGNsZWFudXBfdG1wc2VnX2Rp cl9hdGV4aXQpOwogfQogCiAvKgpAQCAtMzY5LDEzICszODgsMTYgQEAgcmVhZF9hcmNoaXZlX2Zp bGUoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbywgU2l6ZSBjb3VudCkKIC8qCiAgKiBSZXR1 cm5zIHRoZSBhcmNoaXZlZCBXQUwgZW50cnkgZnJvbSB0aGUgaGFzaCB0YWJsZSBpZiBpdCBleGlz dHMuIE90aGVyd2lzZSwKICAqIGl0IGludm9rZXMgdGhlIHJvdXRpbmUgdG8gcmVhZCB0aGUgYXJj aGl2ZWQgZmlsZSBhbmQgcmV0cmlldmUgdGhlIGVudHJ5IGlmCi0gKiBpdCBpcyBub3QgYWxyZWFk eSBpbiBoYXNoIHRhYmxlLgorICogaXQgaXMgbm90IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgaGFz aCB0YWJsZS4gSWYgdGhlIGFyY2hpdmUgc3RyZWFtZXIgaGFwcGVucworICogdG8gYmUgcmVhZGlu ZyBhIFdBTCBmcm9tIGFyY2hpdmUgZmlsZSB0aGF0IGlzIG5vdCBjdXJyZW50bHkgbmVlZGVkLCB0 aGF0IFdBTAorICogZGF0YSBpcyB3cml0dGVuIHRvIGEgdGVtcG9yYXJ5IGZpbGUuCiAgKi8KIHN0 YXRpYyBBcmNoaXZlZFdBTEVudHJ5ICoKIGdldF9hcmNoaXZlX3dhbF9lbnRyeShYTG9nU2VnTm8g c2Vnbm8sIFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8pCiB7CiAJQXJjaGl2ZWRXQUxFbnRy eSAqZW50cnkgPSBOVUxMOwogCWNoYXIJCWZuYW1lW01BWEZOQU1FTEVOXTsKKwlGSUxFCSAgICp3 cml0ZV9mcCA9IE5VTEw7CiAKIAkvKiBTZWFyY2ggaGFzaCB0YWJsZSAqLwogCWVudHJ5ID0gQXJj aGl2ZWRXQUxfbG9va3VwKEFyY2hpdmVkV0FMX0hUQUIsIHNlZ25vKTsKQEAgLTQxOCwxMSArNDQw LDMyIEBAIGdldF9hcmNoaXZlX3dhbF9lbnRyeShYTG9nU2VnTm8gc2Vnbm8sIFhMb2dEdW1wUHJp dmF0ZSAqcHJpdmF0ZUluZm8pCiAJCQljb250aW51ZTsKIAkJfQogCi0JCS8qIFdBTCBzZWdtZW50 cyBtdXN0IGJlIGFyY2hpdmVkIGluIG9yZGVyICovCi0JCXBnX2xvZ19lcnJvcigiV0FMIGZpbGVz IGFyZSBub3QgYXJjaGl2ZWQgaW4gc2VxdWVudGlhbCBvcmRlciIpOwotCQlwZ19sb2dfZXJyb3Jf ZGV0YWlsKCJFeHBlY3Rpbmcgc2VnbWVudCBudW1iZXIgIiBVSU5UNjRfRk9STUFUICIgYnV0IGZv dW5kICIgVUlOVDY0X0ZPUk1BVCAiLiIsCi0JCQkJCQkJc2Vnbm8sIGVudHJ5LT5zZWdubyk7Ci0J CWV4aXQoMSk7CisJCS8qCisJCSAqIEFyY2hpdmUgc3RyZWFtZXIgaXMgY3VycmVudGx5IHJlYWRp bmcgYSBmaWxlIHRoYXQgaXNuJ3QgdGhlIG9uZQorCQkgKiBhc2tlZCBmb3IsIGJ1dCBpdCdzIHJl cXVpcmVkIGZvciBhIGZ1dHVyZSBmZWF0dXJlLiBJdCBzaG91bGQgYmUKKwkJICogd3JpdHRlbiB0 byBhIHRlbXBvcmFyeSBsb2NhdGlvbiBmb3IgcmV0cmlldmFsIHdoZW4gbmVlZGVkLgorCQkgKi8K KworCQkvKiBDcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSBpZiBvbmUgZG9lcyBub3QgYWxyZWFkeSBl eGlzdCAqLworCQlpZiAoIWVudHJ5LT50bXBzZWdfZXhpc3RzKQorCQl7CisJCQl3cml0ZV9mcCA9 IHByZXBhcmVfdG1wX3dyaXRlKGVudHJ5LT5zZWdubyk7CisJCQllbnRyeS0+dG1wc2VnX2V4aXN0 cyA9IHRydWU7CisJCX0KKworCQkvKiBGbHVzaCBkYXRhIGZyb20gdGhlIGJ1ZmZlciB0byB0aGUg ZmlsZSAqLworCQlwZXJmb3JtX3RtcF93cml0ZShlbnRyeS0+c2Vnbm8sICZlbnRyeS0+YnVmLCB3 cml0ZV9mcCk7CisJCXJlc2V0U3RyaW5nSW5mbygmZW50cnktPmJ1Zik7CisKKwkJLyoKKwkJICog VGhlIGNoYW5nZSBpbiB0aGUgY3VycmVudCBzZWdtZW50IGVudHJ5IGluZGljYXRlcyB0aGF0IHRo ZSByZWFkaW5nCisJCSAqIG9mIHRoaXMgZmlsZSBoYXMgZW5kZWQuCisJCSAqLworCQlpZiAoZW50 cnkgIT0gcHJpdmF0ZUluZm8tPmN1cl93YWwgJiYgd3JpdGVfZnAgIT0gTlVMTCkKKwkJeworCQkJ ZmNsb3NlKHdyaXRlX2ZwKTsKKwkJCXdyaXRlX2ZwID0gTlVMTDsKKwkJfQogCX0KIAogCS8qIFJl cXVlc3RlZCBXQUwgc2VnbWVudCBub3QgZm91bmQgKi8KQEAgLTQzMCw2ICs0NzMsMTUwIEBAIGdl dF9hcmNoaXZlX3dhbF9lbnRyeShYTG9nU2VnTm8gc2Vnbm8sIFhMb2dEdW1wUHJpdmF0ZSAqcHJp dmF0ZUluZm8pCiAJcGdfZmF0YWwoImNvdWxkIG5vdCBmaW5kIGZpbGUgXCIlc1wiIGluIGFyY2hp dmUiLCBmbmFtZSk7CiB9CiAKKy8qCisgKiBTZXQgdXAgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHRv IHRlbXBvcmFyaWx5IHN0b3JlIFdBTCBzZWdtZW50cy4KKyAqLworc3RhdGljIHZvaWQKK3NldHVw X3RtcHNlZ19kaXIoY29uc3QgY2hhciAqd2FsZGlyKQoreworCS8qCisJICogVXNlIHRoZSBkaXJl Y3Rvcnkgc3BlY2lmaWVkIGJ5IHRoZSBURU1ESVIgZW52aXJvbm1lbnQgdmFyaWFibGUuIElmIGl0 J3MKKwkgKiBub3Qgc2V0LCB1c2UgdGhlIHByb3ZpZGVkIFdBTCBkaXJlY3RvcnkgdG8gZXh0cmFj dCBXQUwgZmlsZQorCSAqIHRlbXBvcmFyaWx5LgorCSAqLworCVRtcFdhbFNlZ0RpciA9IGdldGVu digiVE1QRElSIikgPworCQlwZ19zdHJkdXAoZ2V0ZW52KCJUTVBESVIiKSkgOiBwZ19zdHJkdXAo d2FsZGlyKTsKKwljYW5vbmljYWxpemVfcGF0aChUbXBXYWxTZWdEaXIpOworfQorCisvKgorICog UmVtb3ZlcyB0aGUgdGVtcG9yYXJpbHkgc3RvcmUgV0FMIHNlZ21lbnRzLCBpZiBhbnksIGF0IGV4 aXRpbmcuCisgKi8KK3N0YXRpYyB2b2lkCitjbGVhbnVwX3RtcHNlZ19kaXJfYXRleGl0KHZvaWQp Cit7CisJQXJjaGl2ZWRXQUxfaXRlcmF0b3IgaXQ7CisJQXJjaGl2ZWRXQUxFbnRyeSAqZW50cnk7 CisKKwlBcmNoaXZlZFdBTF9zdGFydF9pdGVyYXRlKEFyY2hpdmVkV0FMX0hUQUIsICZpdCk7CisJ d2hpbGUgKChlbnRyeSA9IEFyY2hpdmVkV0FMX2l0ZXJhdGUoQXJjaGl2ZWRXQUxfSFRBQiwgJml0 KSkgIT0gTlVMTCkKKwl7CisJCWlmIChlbnRyeS0+dG1wc2VnX2V4aXN0cykKKwkJeworCQkJcmVt b3ZlX3RtcF93YWxzZWcoZW50cnktPnNlZ25vLCBmYWxzZSk7CisJCQllbnRyeS0+dG1wc2VnX2V4 aXN0cyA9IGZhbHNlOworCQl9CisJfQorfQorCisvKgorICogR2VuZXJhdGUgdGhlIHRlbXBvcmFy eSBXQUwgZmlsZSBwYXRoLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIGlzIHJlc3BvbnNp YmxlIHRvIHBmcmVlIGl0LgorICovCitjaGFyICoKK2dldF90bXBfd2Fsc2VnX3BhdGgoWExvZ1Nl Z05vIHNlZ25vKQoreworCWNoYXIJICAgKmZwYXRoID0gKGNoYXIgKikgcGFsbG9jKE1BWFBHUEFU SCk7CisKKwlzbnByaW50ZihmcGF0aCwgTUFYUEdQQVRILCAiJXMvJXMuJTA4WCUwOFgiLAorCQkJ IFRtcFdhbFNlZ0RpciwKKwkJCSBURU1QX0ZJTEVfUFJFRklYLAorCQkJICh1aW50MzIpIChzZWdu byAvIFhMb2dTZWdtZW50c1BlclhMb2dJZChXYWxTZWdTeikpLAorCQkJICh1aW50MzIpIChzZWdu byAlIFhMb2dTZWdtZW50c1BlclhMb2dJZChXYWxTZWdTeikpKTsKKworCXJldHVybiBmcGF0aDsK K30KKworLyoKKyAqIFJvdXRpbmUgdG8gY2hlY2sgd2hldGhlciBhIHRlbXBvcmFyeSBmaWxlIGV4 aXN0cyBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgV0FMCisgKiBzZWdtZW50IG51bWJlci4KKyAqLwor Ym9vbAordG1wX3dhbHNlZ19leGlzdHMoWExvZ1NlZ05vIHNlZ25vKQoreworCUFyY2hpdmVkV0FM RW50cnkgKmVudHJ5OworCisJZW50cnkgPSBBcmNoaXZlZFdBTF9sb29rdXAoQXJjaGl2ZWRXQUxf SFRBQiwgc2Vnbm8pOworCisJaWYgKGVudHJ5ID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKwor CXJldHVybiBlbnRyeS0+dG1wc2VnX2V4aXN0czsKK30KKworLyoKKyAqIENyZWF0ZSBhbiBlbXB0 eSBwbGFjZWhvbGRlciBmaWxlIGFuZCByZXR1cm4gaXRzIGhhbmRsZS4KKyAqLworc3RhdGljIEZJ TEUgKgorcHJlcGFyZV90bXBfd3JpdGUoWExvZ1NlZ05vIHNlZ25vKQoreworCUZJTEUJICAgKmZp bGU7CisJY2hhcgkgICAqZnBhdGg7CisKKwlmcGF0aCA9IGdldF90bXBfd2Fsc2VnX3BhdGgoc2Vn bm8pOworCisJLyogQ3JlYXRlIGFuIGVtcHR5IHBsYWNlaG9sZGVyICovCisJZmlsZSA9IGZvcGVu KGZwYXRoLCBQR19CSU5BUllfVyk7CisJaWYgKGZpbGUgPT0gTlVMTCkKKwkJcGdfZmF0YWwoImNv dWxkIG5vdCBjcmVhdGUgZmlsZSBcIiVzXCI6ICVtIiwgZnBhdGgpOworCisjaWZuZGVmIFdJTjMy CisJaWYgKGNobW9kKGZwYXRoLCBwZ19maWxlX2NyZWF0ZV9tb2RlKSkKKwkJcGdfZmF0YWwoImNv dWxkIG5vdCBzZXQgcGVybWlzc2lvbnMgb24gZmlsZSBcIiVzXCI6ICVtIiwKKwkJCQkgZnBhdGgp OworI2VuZGlmCisKKwlwZ19sb2dfZGVidWcoInRlbXBvcmFyaWx5IGV4cG9ydGluZyBmaWxlIFwi JXNcIiIsIGZwYXRoKTsKKwlwZnJlZShmcGF0aCk7CisKKwlyZXR1cm4gZmlsZTsKK30KKworLyoK KyAqIFdyaXRlIGJ1ZmZlciBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlIGhhbmRsZS4KKyAqLworc3Rh dGljIHZvaWQKK3BlcmZvcm1fdG1wX3dyaXRlKFhMb2dTZWdObyBzZWdubywgU3RyaW5nSW5mbyBi dWYsIEZJTEUgKmZpbGUpCit7CisJQXNzZXJ0KGZpbGUpOworCisJZXJybm8gPSAwOworCWlmIChi dWYtPmxlbiA+IDAgJiYgZndyaXRlKGJ1Zi0+ZGF0YSwgYnVmLT5sZW4sIDEsIGZpbGUpICE9IDEp CisJeworCQkvKgorCQkgKiBJZiB3cml0ZSBkaWRuJ3Qgc2V0IGVycm5vLCBhc3N1bWUgcHJvYmxl bSBpcyBubyBkaXNrIHNwYWNlCisJCSAqLworCQlpZiAoZXJybm8gPT0gMCkKKwkJCWVycm5vID0g RU5PU1BDOworCQlwZ19mYXRhbCgiY291bGQgbm90IHdyaXRlIHRvIGZpbGUgXCIlc1wiOiAlbSIs CisJCQkJIGdldF90bXBfd2Fsc2VnX3BhdGgoc2Vnbm8pKTsKKwl9Cit9CisKKy8qCisgKiBSZW1v dmUgdGVtcG9yYXJ5IGZpbGUKKyAqLwordm9pZAorcmVtb3ZlX3RtcF93YWxzZWcoWExvZ1NlZ05v IHNlZ25vLCBib29sIHVwZGF0ZV9lbnRyeSkKK3sKKwljaGFyCSAgICpmcGF0aCA9IGdldF90bXBf d2Fsc2VnX3BhdGgoc2Vnbm8pOworCisJaWYgKHVubGluayhmcGF0aCkgPT0gMCkKKwkJcGdfbG9n X2RlYnVnKCJyZW1vdmVkIGZpbGUgXCIlc1wiIiwgZnBhdGgpOworCXBmcmVlKGZwYXRoKTsKKwor CS8qIFVwZGF0ZSBlbnRyeSBpZiByZXF1ZXN0ZWQgKi8KKwlpZiAodXBkYXRlX2VudHJ5KQorCXsK KwkJQXJjaGl2ZWRXQUxFbnRyeSAqZW50cnk7CisKKwkJZW50cnkgPSBBcmNoaXZlZFdBTF9sb29r dXAoQXJjaGl2ZWRXQUxfSFRBQiwgc2Vnbm8pOworCQlBc3NlcnQoZW50cnkgIT0gTlVMTCk7CisJ CWVudHJ5LT50bXBzZWdfZXhpc3RzID0gZmFsc2U7CisJfQorfQorCiAvKgogICogQ3JlYXRlIGFu IGFzdHJlYW1lciB0aGF0IGNhbiByZWFkIFdBTCBmcm9tIHRhciBmaWxlLgogICovCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5jIGIvc3JjL2Jpbi9wZ193YWxkdW1w L3BnX3dhbGR1bXAuYwppbmRleCAwMmFkMTQxZTQ0YS4uNGM1OTc0YTZhZTEgMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ193YWxkdW1w L3BnX3dhbGR1bXAuYwpAQCAtNDY2LDExICs0NjYsNTAgQEAgVGFyV0FMRHVtcFJlYWRQYWdlKFhM b2dSZWFkZXJTdGF0ZSAqc3RhdGUsIFhMb2dSZWNQdHIgdGFyZ2V0UGFnZVB0ciwgaW50IHJlcUxl biwKIHsKIAlYTG9nRHVtcFByaXZhdGUgKnByaXZhdGUgPSBzdGF0ZS0+cHJpdmF0ZV9kYXRhOwog CWludAkJCWNvdW50ID0gcmVxdWlyZWRfcmVhZF9sZW4ocHJpdmF0ZSwgdGFyZ2V0UGFnZVB0ciwg cmVxTGVuKTsKKwlYTG9nU2VnTm8JbmV4dFNlZ05vOwogCiAJaWYgKHByaXZhdGUtPmVuZHB0cl9y ZWFjaGVkKQogCQlyZXR1cm4gLTE7CiAKLQkvKiBSZWFkIHRoZSBXQUwgcGFnZSBmcm9tIHRoZSBh cmNoaXZlIHN0cmVhbWVyICovCisJLyoKKwkgKiBJZiB0aGUgdGFyZ2V0IHBhZ2UgaXMgaW4gYSBk aWZmZXJlbnQgc2VnbWVudCwgZmlyc3QgY2hlY2sgZm9yIHRoZSBXQUwKKwkgKiBzZWdtZW50J3Mg cGh5c2ljYWwgZXhpc3RlbmNlIGluIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LgorCSAqLworCW5l eHRTZWdObyA9IHN0YXRlLT5zZWcud3Nfc2Vnbm87CisJaWYgKCFYTEJ5dGVJblNlZyh0YXJnZXRQ YWdlUHRyLCBuZXh0U2VnTm8sIFdhbFNlZ1N6KSkKKwl7CisJCWlmIChzdGF0ZS0+c2VnLndzX2Zp bGUgPj0gMCkKKwkJeworCQkJY2xvc2Uoc3RhdGUtPnNlZy53c19maWxlKTsKKwkJCXN0YXRlLT5z ZWcud3NfZmlsZSA9IC0xOworCisJCQkvKiBSZW1vdmUgdGhpcyBmaWxlLCBhcyBpdCBpcyBubyBs b25nZXIgbmVlZGVkLiAqLworCQkJcmVtb3ZlX3RtcF93YWxzZWcobmV4dFNlZ05vLCB0cnVlKTsK KwkJfQorCisJCVhMQnl0ZVRvU2VnKHRhcmdldFBhZ2VQdHIsIG5leHRTZWdObywgV2FsU2VnU3op OworCQlzdGF0ZS0+c2VnLndzX3RsaSA9IHByaXZhdGUtPnRpbWVsaW5lOworCQlzdGF0ZS0+c2Vn LndzX3NlZ25vID0gbmV4dFNlZ05vOworCisJCS8qCisJCSAqIElmIHRoZSBuZXh0IHNlZ21lbnQg ZXhpc3RzLCBvcGVuIGl0IGFuZCBjb250aW51ZSByZWFkaW5nIGZyb20gdGhlcmUKKwkJICovCisJ CWlmICh0bXBfd2Fsc2VnX2V4aXN0cyhuZXh0U2VnTm8pKQorCQl7CisJCQljaGFyCSAgICpmcGF0 aDsKKworCQkJZnBhdGggPSBnZXRfdG1wX3dhbHNlZ19wYXRoKG5leHRTZWdObyk7CisJCQlzdGF0 ZS0+c2VnLndzX2ZpbGUgPSBvcGVuKGZwYXRoLCBPX1JET05MWSB8IFBHX0JJTkFSWSwgMCk7CisJ CQlwZnJlZShmcGF0aCk7CisJCX0KKwl9CisKKwkvKiBDb250aW51ZSByZWFkaW5nIGZyb20gdGhl IG9wZW4gV0FMIHNlZ21lbnQsIGlmIGFueSAqLworCWlmIChzdGF0ZS0+c2VnLndzX2ZpbGUgPj0g MCkKKwkJcmV0dXJuIFdBTER1bXBSZWFkUGFnZShzdGF0ZSwgdGFyZ2V0UGFnZVB0ciwgY291bnQs IHRhcmdldFB0ciwKKwkJCQkJCQkgICByZWFkQnVmZik7CisKKwkvKiBPdGhlcndpc2UsIHJlYWQg dGhlIFdBTCBwYWdlIGZyb20gdGhlIGFyY2hpdmUgc3RyZWFtZXIgKi8KIAlyZXR1cm4gcmVhZF9h cmNoaXZlX3dhbF9wYWdlKHByaXZhdGUsIHRhcmdldFBhZ2VQdHIsIGNvdW50LCByZWFkQnVmZik7 CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmggYi9zcmMv YmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5oCmluZGV4IDU0NzU4YzM1NDhhLi41YzFmYjFlMDgw YSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuaAorKysgYi9zcmMv YmluL3BnX3dhbGR1bXAvcGdfd2FsZHVtcC5oCkBAIC01OCw0ICs1OCw4IEBAIGV4dGVybiBpbnQJ cmVhZF9hcmNoaXZlX3dhbF9wYWdlKFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8sCiAJCQkJ CQkJCSAgWExvZ1JlY1B0ciB0YXJnZXRQYWdlUHRyLAogCQkJCQkJCQkgIFNpemUgY291bnQsIGNo YXIgKnJlYWRCdWZmKTsKIAorZXh0ZXJuIGNoYXIgKmdldF90bXBfd2Fsc2VnX3BhdGgoWExvZ1Nl Z05vIHNlZ25vKTsKK2V4dGVybiBib29sIHRtcF93YWxzZWdfZXhpc3RzKFhMb2dTZWdObyBzZWdu byk7CitleHRlcm4gdm9pZCByZW1vdmVfdG1wX3dhbHNlZyhYTG9nU2VnTm8gc2Vnbm8sIGJvb2wg dXBkYXRlX2VudHJ5KTsKKwogI2VuZGlmCQkJCQkJCS8qIGVuZCBvZiBQR19XQUxEVU1QX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbCBiL3NyYy9iaW4v cGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbAppbmRleCA0NDMxMjZhOWNlNi4uZDVmYTFmNmQyOGQg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbAorKysgYi9zcmMv YmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKQEAgLTcsNiArNyw3IEBAIHVzZSBDd2Q7CiB1 c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKIHVzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGls czsKIHVzZSBUZXN0OjpNb3JlOwordXNlIExpc3Q6OlV0aWwgcXcoc2h1ZmZsZSk7CiAKIG15ICR0 YXIgPSAkRU5We1RBUn07CiAKQEAgLTI3Miw3ICsyNzMsNyBAQCBzdWIgZ2VuZXJhdGVfYXJjaGl2 ZQogCX0KIAljbG9zZWRpciAkZGg7CiAKLQlAZmlsZXMgPSBzb3J0IEBmaWxlczsKKwlAZmlsZXMg PSBzaHVmZmxlIEBmaWxlczsKIAogCSMgbW92ZSBpbnRvIHRoZSBXQUwgZGlyZWN0b3J5IGJlZm9y ZSBhcmNoaXZpbmcgZmlsZXMKIAlteSAkY3dkID0gZ2V0Y3dkOwotLSAKMi40Ny4xCgo= --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0006-pg_verifybackup-Delay-default-WAL-directory-prepa.patch" Content-Disposition: attachment; filename="v7-0006-pg_verifybackup-Delay-default-WAL-directory-prepa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t509t5 RnJvbSA3ZTI1MjNiMDg5MWM5OTExZjY0YzM1ZjczNmRiMjRlMzMxMGUyMDkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMTYgSnVsIDIwMjUgMTQ6NDc6NDMgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDYvOF0gcGdf dmVyaWZ5YmFja3VwOiBEZWxheSBkZWZhdWx0IFdBTCBkaXJlY3RvcnkKIHByZXBhcmF0aW9uLgoK V2UgYXJlIG5vdCBzdXJlIHdoZXRoZXIgdG8gcGFyc2UgV0FMIGZyb20gYSBkaXJlY3Rvcnkgb3Ig YW4gYXJjaGl2ZQp1bnRpbCB0aGUgYmFja3VwIGZvcm1hdCBpcyBrbm93bi4gVGhlcmVmb3JlLCB3 ZSBkZWxheSBwcmVwYXJpbmcgdGhlCmRlZmF1bHQgV0FMIGRpcmVjdG9yeSB1bnRpbCB0aGUgcG9p bnQgb2YgcGFyc2luZy4gVGhpcyBkZWxheSBpcwpoYXJtbGVzcywgYXMgdGhlIFdBTCBkaXJlY3Rv cnkgaXMgbm90IHVzZWQgZWxzZXdoZXJlLgotLS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3Bn X3ZlcmlmeWJhY2t1cC5jIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1 cC9wZ192ZXJpZnliYWNrdXAuYyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3ZlcmlmeWJh Y2t1cC5jCmluZGV4IDhkNWJlZmE5NDdmLi5hNTAyZTc5NWIyZSAxMDA2NDQKLS0tIGEvc3JjL2Jp bi9wZ192ZXJpZnliYWNrdXAvcGdfdmVyaWZ5YmFja3VwLmMKKysrIGIvc3JjL2Jpbi9wZ192ZXJp ZnliYWNrdXAvcGdfdmVyaWZ5YmFja3VwLmMKQEAgLTI4NSwxMCArMjg1LDYgQEAgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAJCW1hbmlmZXN0X3BhdGggPSBwc3ByaW50ZigiJXMvYmFja3Vw X21hbmlmZXN0IiwKIAkJCQkJCQkJIGNvbnRleHQuYmFja3VwX2RpcmVjdG9yeSk7CiAKLQkvKiBC eSBkZWZhdWx0LCBsb29rIGZvciB0aGUgV0FMIGluIHRoZSBiYWNrdXAgZGlyZWN0b3J5LCB0b28u ICovCi0JaWYgKHdhbF9kaXJlY3RvcnkgPT0gTlVMTCkKLQkJd2FsX2RpcmVjdG9yeSA9IHBzcHJp bnRmKCIlcy9wZ193YWwiLCBjb250ZXh0LmJhY2t1cF9kaXJlY3RvcnkpOwotCiAJLyoKIAkgKiBU cnkgdG8gcmVhZCB0aGUgbWFuaWZlc3QuIFdlIHRyZWF0IGFueSBlcnJvcnMgZW5jb3VudGVyZWQg d2hpbGUgcGFyc2luZwogCSAqIHRoZSBtYW5pZmVzdCBhcyBmYXRhbDsgdGhlcmUgZG9lc24ndCBz ZWVtIHRvIGJlIG11Y2ggcG9pbnQgaW4gdHJ5aW5nIHRvCkBAIC0zNjgsNiArMzY0LDEwIEBAIG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCWlmIChjb250ZXh0LmZvcm1hdCA9PSAncCcgJiYg IWNvbnRleHQuc2tpcF9jaGVja3N1bXMpCiAJCXZlcmlmeV9iYWNrdXBfY2hlY2tzdW1zKCZjb250 ZXh0KTsKIAorCS8qIEJ5IGRlZmF1bHQsIGxvb2sgZm9yIHRoZSBXQUwgaW4gdGhlIGJhY2t1cCBk aXJlY3RvcnksIHRvby4gKi8KKwlpZiAod2FsX2RpcmVjdG9yeSA9PSBOVUxMKQorCQl3YWxfZGly ZWN0b3J5ID0gcHNwcmludGYoIiVzL3BnX3dhbCIsIGNvbnRleHQuYmFja3VwX2RpcmVjdG9yeSk7 CisKIAkvKgogCSAqIFRyeSB0byBwYXJzZSB0aGUgcmVxdWlyZWQgcmFuZ2VzIG9mIFdBTCByZWNv cmRzLCB1bmxlc3Mgd2Ugd2VyZSB0b2xkCiAJICogbm90IHRvIGRvIHNvLgotLSAKMi40Ny4xCgo= --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0007-pg_verifybackup-Rename-the-wal-directory-switch-t.patch" Content-Disposition: attachment; filename="v7-0007-pg_verifybackup-Rename-the-wal-directory-switch-t.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t55r56 RnJvbSA3MDVmYjQyZTk2NjYzYjY5MmM1YjUxNjUwNjQ2Y2YwMzYxYjgwODNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFRo dSwgMjQgSnVsIDIwMjUgMTY6Mzc6NDMgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDcvOF0gcGdf dmVyaWZ5YmFja3VwOiBSZW5hbWUgdGhlIHdhbC1kaXJlY3Rvcnkgc3dpdGNoIHRvCiB3YWwtcGF0 aAoKV2l0aCBwcmV2aW91cyBwYXRjaGVzIHRvIHBnX3dhbGR1bXAgY2FuIG5vdyBkZWNvZGUgV0FM IGRpcmVjdGx5IGZyb20KdGFyIGZpbGVzLiAgVGhpcyBtZWFucyB5b3UnbGwgYmUgYWJsZSB0byBz cGVjaWZ5IGEgdGFyIGFyY2hpdmUgcGF0aAppbnN0ZWFkIG9mIGEgdHJhZGl0aW9uYWwgV0FMIGRp cmVjdG9yeS4KClRvIGtlZXAgdGhpbmdzIGNvbnNpc3RlbnQgYW5kIG1vcmUgdmVyc2F0aWxlLCB3 ZSBzaG91bGQgYWxzbwpnZW5lcmFsaXplIHRoZSBpbnB1dCBzd2l0Y2ggZm9yIHBnX3ZlcmlmeWJh Y2t1cC4gSXQgc2hvdWxkIGFjY2VwdAplaXRoZXIgYSBkaXJlY3Rvcnkgb3IgYSB0YXIgZmlsZSBw YXRoIHRoYXQgY29udGFpbnMgV0FMcy4gVGhpcyBjaGFuZ2UKd2lsbCBhbHNvIGFsaWduaW5nIGl0 IHdpdGggdGhlIGV4aXN0aW5nIG1hbmlmZXN0LXBhdGggc3dpdGNoIG5hbWluZy4KLS0tCiBkb2Mv c3JjL3NnbWwvcmVmL3BnX3ZlcmlmeWJhY2t1cC5zZ21sICAgICB8ICAyICstCiBzcmMvYmluL3Bn X3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYyB8IDIyICsrKysrKysrKysrLS0tLS0tLS0t LS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2RlLnBvICAgICAgICAgIHwgIDQgKystLQog c3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vZWwucG8gICAgICAgICAgfCAgNCArKy0tCiBzcmMv YmluL3BnX3ZlcmlmeWJhY2t1cC9wby9lcy5wbyAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9iaW4v cGdfdmVyaWZ5YmFja3VwL3BvL2ZyLnBvICAgICAgICAgIHwgIDQgKystLQogc3JjL2Jpbi9wZ192 ZXJpZnliYWNrdXAvcG8vaXQucG8gICAgICAgICAgfCAgNCArKy0tCiBzcmMvYmluL3BnX3Zlcmlm eWJhY2t1cC9wby9qYS5wbyAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFj a3VwL3BvL2thLnBvICAgICAgICAgIHwgIDQgKystLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAv cG8va28ucG8gICAgICAgICAgfCAgNCArKy0tCiBzcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9y dS5wbyAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL3N2LnBv ICAgICAgICAgIHwgIDQgKystLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vdWsucG8gICAg ICAgICAgfCAgNCArKy0tCiBzcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby96aF9DTi5wbyAgICAg ICB8ICA0ICsrLS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL3poX1RXLnBvICAgICAgIHwg IDQgKystLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDdfd2FsLnBsICAgICAgfCAgNCAr Ky0tCiAxNiBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX3ZlcmlmeWJhY2t1cC5zZ21sIGIvZG9j L3NyYy9zZ21sL3JlZi9wZ192ZXJpZnliYWNrdXAuc2dtbAppbmRleCA2MWMxMjk3NWU0YS4uZTli OGJmZDUxYjEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfdmVyaWZ5YmFja3VwLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ192ZXJpZnliYWNrdXAuc2dtbApAQCAtMjYxLDcg KzI2MSw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogCiAgICAgIDx2YXJsaXN0ZW50cnk+ CiAgICAgICA8dGVybT48b3B0aW9uPi13IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w YXRoPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+Ci0gICAgICA8dGVybT48b3B0aW9uPi0t d2FsLWRpcmVjdG9yeT08cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGF0aDwvcmVwbGFj ZWFibGU+PC9vcHRpb24+PC90ZXJtPgorICAgICAgPHRlcm0+PG9wdGlvbj4tLXdhbC1wYXRoPTxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wYXRoPC9yZXBsYWNlYWJsZT48L29wdGlvbj48 L3Rlcm0+CiAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgPHBhcmE+CiAgICAgICAgIFRyeSB0byBw YXJzZSBXQUwgZmlsZXMgc3RvcmVkIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LCByYXRoZXIg dGhhbgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcGdfdmVyaWZ5YmFja3Vw LmMgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYwppbmRleCBhNTAy ZTc5NWIyZS4uOWZjZDZiZTAwNGUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3Vw L3BnX3ZlcmlmeWJhY2t1cC5jCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3Zlcmlm eWJhY2t1cC5jCkBAIC05Myw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIHZlcmlmeV9maWxlX2NoZWNr c3VtKHZlcmlmaWVyX2NvbnRleHQgKmNvbnRleHQsCiAJCQkJCQkJCSB1aW50OCAqYnVmZmVyKTsK IHN0YXRpYyB2b2lkIHBhcnNlX3JlcXVpcmVkX3dhbCh2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0 LAogCQkJCQkJCSAgIGNoYXIgKnBnX3dhbGR1bXBfcGF0aCwKLQkJCQkJCQkgICBjaGFyICp3YWxf ZGlyZWN0b3J5KTsKKwkJCQkJCQkgICBjaGFyICp3YWxfcGF0aCk7CiBzdGF0aWMgYXN0cmVhbWVy ICpjcmVhdGVfYXJjaGl2ZV92ZXJpZmllcih2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0LAogCQkJ CQkJCQkJCSAgY2hhciAqYXJjaGl2ZV9uYW1lLAogCQkJCQkJCQkJCSAgT2lkIHRibHNwY19vaWQs CkBAIC0xMjYsNyArMTI2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXsicHJv Z3Jlc3MiLCBub19hcmd1bWVudCwgTlVMTCwgJ1AnfSwKIAkJeyJxdWlldCIsIG5vX2FyZ3VtZW50 LCBOVUxMLCAncSd9LAogCQl7InNraXAtY2hlY2tzdW1zIiwgbm9fYXJndW1lbnQsIE5VTEwsICdz J30sCi0JCXsid2FsLWRpcmVjdG9yeSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndyd9LAor CQl7IndhbC1wYXRoIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd3J30sCiAJCXtOVUxMLCAw LCBOVUxMLCAwfQogCX07CiAKQEAgLTEzNSw3ICsxMzUsNyBAQCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAljaGFyCSAgICptYW5pZmVzdF9wYXRoID0gTlVMTDsKIAlib29sCQlub19wYXJz ZV93YWwgPSBmYWxzZTsKIAlib29sCQlxdWlldCA9IGZhbHNlOwotCWNoYXIJICAgKndhbF9kaXJl Y3RvcnkgPSBOVUxMOworCWNoYXIJICAgKndhbF9wYXRoID0gTlVMTDsKIAljaGFyCSAgICpwZ193 YWxkdW1wX3BhdGggPSBOVUxMOwogCURJUgkJICAgKmRpcjsKIApAQCAtMjIxLDggKzIyMSw4IEBA IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQkJCWNvbnRleHQuc2tpcF9jaGVja3N1bXMg PSB0cnVlOwogCQkJCWJyZWFrOwogCQkJY2FzZSAndyc6Ci0JCQkJd2FsX2RpcmVjdG9yeSA9IHBz dHJkdXAob3B0YXJnKTsKLQkJCQljYW5vbmljYWxpemVfcGF0aCh3YWxfZGlyZWN0b3J5KTsKKwkJ CQl3YWxfcGF0aCA9IHBzdHJkdXAob3B0YXJnKTsKKwkJCQljYW5vbmljYWxpemVfcGF0aCh3YWxf cGF0aCk7CiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgogCQkJCS8qIGdldG9wdF9sb25nIGFscmVh ZHkgZW1pdHRlZCBhIGNvbXBsYWludCAqLwpAQCAtMzY1LDE1ICszNjUsMTUgQEAgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAJCXZlcmlmeV9iYWNrdXBfY2hlY2tzdW1zKCZjb250ZXh0KTsK IAogCS8qIEJ5IGRlZmF1bHQsIGxvb2sgZm9yIHRoZSBXQUwgaW4gdGhlIGJhY2t1cCBkaXJlY3Rv cnksIHRvby4gKi8KLQlpZiAod2FsX2RpcmVjdG9yeSA9PSBOVUxMKQotCQl3YWxfZGlyZWN0b3J5 ID0gcHNwcmludGYoIiVzL3BnX3dhbCIsIGNvbnRleHQuYmFja3VwX2RpcmVjdG9yeSk7CisJaWYg KHdhbF9wYXRoID09IE5VTEwpCisJCXdhbF9wYXRoID0gcHNwcmludGYoIiVzL3BnX3dhbCIsIGNv bnRleHQuYmFja3VwX2RpcmVjdG9yeSk7CiAKIAkvKgogCSAqIFRyeSB0byBwYXJzZSB0aGUgcmVx dWlyZWQgcmFuZ2VzIG9mIFdBTCByZWNvcmRzLCB1bmxlc3Mgd2Ugd2VyZSB0b2xkCiAJICogbm90 IHRvIGRvIHNvLgogCSAqLwogCWlmICghbm9fcGFyc2Vfd2FsKQotCQlwYXJzZV9yZXF1aXJlZF93 YWwoJmNvbnRleHQsIHBnX3dhbGR1bXBfcGF0aCwgd2FsX2RpcmVjdG9yeSk7CisJCXBhcnNlX3Jl cXVpcmVkX3dhbCgmY29udGV4dCwgcGdfd2FsZHVtcF9wYXRoLCB3YWxfcGF0aCk7CiAKIAkvKgog CSAqIElmIGV2ZXJ5dGhpbmcgbG9va3MgT0ssIHRlbGwgdGhlIHVzZXIgdGhpcywgdW5sZXNzIHdl IHdlcmUgYXNrZWQgdG8KQEAgLTExOTgsNyArMTE5OCw3IEBAIHZlcmlmeV9maWxlX2NoZWNrc3Vt KHZlcmlmaWVyX2NvbnRleHQgKmNvbnRleHQsIG1hbmlmZXN0X2ZpbGUgKm0sCiAgKi8KIHN0YXRp YyB2b2lkCiBwYXJzZV9yZXF1aXJlZF93YWwodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgY2hh ciAqcGdfd2FsZHVtcF9wYXRoLAotCQkJCSAgIGNoYXIgKndhbF9kaXJlY3RvcnkpCisJCQkJICAg Y2hhciAqd2FsX3BhdGgpCiB7CiAJbWFuaWZlc3RfZGF0YSAqbWFuaWZlc3QgPSBjb250ZXh0LT5t YW5pZmVzdDsKIAltYW5pZmVzdF93YWxfcmFuZ2UgKnRoaXNfd2FsX3JhbmdlID0gbWFuaWZlc3Qt PmZpcnN0X3dhbF9yYW5nZTsKQEAgLTEyMDgsNyArMTIwOCw3IEBAIHBhcnNlX3JlcXVpcmVkX3dh bCh2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0LCBjaGFyICpwZ193YWxkdW1wX3BhdGgsCiAJCWNo YXIJICAgKnBnX3dhbGR1bXBfY21kOwogCiAJCXBnX3dhbGR1bXBfY21kID0gcHNwcmludGYoIlwi JXNcIiAtLXF1aWV0IC0tcGF0aD1cIiVzXCIgLS10aW1lbGluZT0ldSAtLXN0YXJ0PSVYLyUwOFgg LS1lbmQ9JVgvJTA4WFxuIiwKLQkJCQkJCQkJICBwZ193YWxkdW1wX3BhdGgsIHdhbF9kaXJlY3Rv cnksIHRoaXNfd2FsX3JhbmdlLT50bGksCisJCQkJCQkJCSAgcGdfd2FsZHVtcF9wYXRoLCB3YWxf cGF0aCwgdGhpc193YWxfcmFuZ2UtPnRsaSwKIAkJCQkJCQkJICBMU05fRk9STUFUX0FSR1ModGhp c193YWxfcmFuZ2UtPnN0YXJ0X2xzbiksCiAJCQkJCQkJCSAgTFNOX0ZPUk1BVF9BUkdTKHRoaXNf d2FsX3JhbmdlLT5lbmRfbHNuKSk7CiAJCWZmbHVzaChOVUxMKTsKQEAgLTEzNzYsNyArMTM3Niw3 IEBAIHVzYWdlKHZvaWQpCiAJcHJpbnRmKF8oIiAgLVAsIC0tcHJvZ3Jlc3MgICAgICAgICAgICAg IHNob3cgcHJvZ3Jlc3MgaW5mb3JtYXRpb25cbiIpKTsKIAlwcmludGYoXygiICAtcSwgLS1xdWll dCAgICAgICAgICAgICAgICAgZG8gbm90IHByaW50IGFueSBvdXRwdXQsIGV4Y2VwdCBmb3IgZXJy b3JzXG4iKSk7CiAJcHJpbnRmKF8oIiAgLXMsIC0tc2tpcC1jaGVja3N1bXMgICAgICAgIHNraXAg Y2hlY2tzdW0gdmVyaWZpY2F0aW9uXG4iKSk7Ci0JcHJpbnRmKF8oIiAgLXcsIC0td2FsLWRpcmVj dG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iKSk7CisJcHJp bnRmKF8oIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICAgICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBm b3IgV0FMIGZpbGVzXG4iKSk7CiAJcHJpbnRmKF8oIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg ICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uLCB0aGVuIGV4aXRcbiIpKTsKIAlwcmludGYo XygiICAtPywgLS1oZWxwICAgICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhp dFxuIikpOwogCXByaW50ZihfKCJcblJlcG9ydCBidWdzIHRvIDwlcz4uXG4iKSwgUEFDS0FHRV9C VUdSRVBPUlQpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vZGUucG8g Yi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9kZS5wbwppbmRleCBhOWUyNDkzMTEwMC4uOWI1 Y2Q1ODk4Y2YgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2RlLnBvCisr KyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2RlLnBvCkBAIC03ODUsOCArNzg1LDggQEAg bXNnc3RyICIgIC1zLCAtLXNraXAtY2hlY2tzdW1zICAgICAgICDDnGJlcnByw7xmdW5nIGRlciBQ csO8ZnN1bW1lbiDDvGJlcnNwcmluZ2UKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6MTM3OQogIywg Yy1mb3JtYXQKLW1zZ2lkICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9UEFUSCAgICB1c2Ugc3BlY2lm aWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgotbXNnc3RyICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9 UEZBRCAgICBhbmdlZ2ViZW5lbiBQZmFkIGbDvHIgV0FMLURhdGVpZW4gdmVyd2VuZGVuXG4iCitt c2dpZCAiICAtdywgLS13YWwtcGF0aD1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FM IGZpbGVzXG4iCittc2dzdHIgIiAgLXcsIC0td2FsLXBhdGg9UEZBRCAgICBhbmdlZ2ViZW5lbiBQ ZmFkIGbDvHIgV0FMLURhdGVpZW4gdmVyd2VuZGVuXG4iCiAKICM6IHBnX3ZlcmlmeWJhY2t1cC5j OjEzODAKICMsIGMtZm9ybWF0CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9w by9lbC5wbyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2VsLnBvCmluZGV4IDNlM2YyMGM2 N2M1Li44MTQ0MmY1MWMxNyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8v ZWwucG8KKysrIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vZWwucG8KQEAgLTQ5NCw4ICs0 OTQsOCBAQCBtc2dzdHIgIiAgLXMsIC0tc2tpcC1jaGVja3N1bXMgICAgICAgIM+AzrHPgc6szrrO sc68z4jOtSDPhM63zr0gzrXPgM6xzrvOrs64zrXPhQogCiAjOiBwZ192ZXJpZnliYWNrdXAuYzo5 OTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiICAtdywgLS13YWwtZGlyZWN0b3J5PVBBVEggICAgdXNl IHNwZWNpZmllZCBwYXRoIGZvciBXQUwgZmlsZXNcbiIKLW1zZ3N0ciAiICAtdywgLS13YWwtZGly ZWN0b3J5PVBBVEggICAgz4fPgc63z4POuc68zr/PgM6/zq/Ot8+DzrUgz4TOt869IM66zrHOuM6/ z4HOuc+DzrzOrc69zrcgzrTOuc6xzrTPgc6/zrzOriDOs865zrEgzrHPgc+HzrXOr86xIFdBTFxu IgorbXNnaWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9y IFdBTCBmaWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRoPVBBVEggICAgz4fPgc63z4PO uc68zr/PgM6/zq/Ot8+DzrUgz4TOt869IM66zrHOuM6/z4HOuc+DzrzOrc69zrcgzrTOuc6xzrTP gc6/zrzOriDOs865zrEgzrHPgc+HzrXOr86xIFdBTFxuIgogCiAjOiBwZ192ZXJpZnliYWNrdXAu Yzo5OTMKICMsIGMtZm9ybWF0CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9w by9lcy5wbyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2VzLnBvCmluZGV4IDBjYjk1OGYz NDQ4Li43ZjcyOWZhMzViYSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8v ZXMucG8KKysrIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vZXMucG8KQEAgLTQ5NSw4ICs0 OTUsOCBAQCBtc2dzdHIgIiAgLXMsIC0tc2tpcC1jaGVja3N1bXMgICAgICAgIG9taXRpciBsYSB2 ZXJpZmljYWNpw7NuIGRlIGxhIHN1bWEgZGUgY29tcAogCiAjOiBwZ192ZXJpZnliYWNrdXAuYzo5 OTIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiICAtdywgLS13YWwtZGlyZWN0b3J5PVBBVEggICAgdXNl IHNwZWNpZmllZCBwYXRoIGZvciBXQUwgZmlsZXNcbiIKLW1zZ3N0ciAiICAtdywgLS13YWwtZGly ZWN0b3J5PVBBVEggICAgdXRpbGl6YXIgbGEgcnV0YSBlc3BlY2lmaWNhZGEgcGFyYSBsb3MgYXJj aGl2b3MgV0FMXG4iCittc2dpZCAiICAtdywgLS13YWwtcGF0aD1QQVRIICAgIHVzZSBzcGVjaWZp ZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iCittc2dzdHIgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAg ICB1dGlsaXphciBsYSBydXRhIGVzcGVjaWZpY2FkYSBwYXJhIGxvcyBhcmNoaXZvcyBXQUxcbiIK IAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTkzCiAjLCBjLWZvcm1hdApkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vZnIucG8gYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9w by9mci5wbwppbmRleCBkYThjNzJmNjQyNy4uMDk5Mzc5NjZmYTcgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcGdfdmVyaWZ5YmFja3VwL3BvL2ZyLnBvCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3Vw L3BvL2ZyLnBvCkBAIC00OTgsOCArNDk4LDggQEAgbXNnc3RyICIgIC1zLCAtLXNraXAtY2hlY2tz dW1zICAgICAgICBpZ25vcmUgbGEgdsOpcmlmaWNhdGlvbiBkZXMgc29tbWVzIGRlIGNvbnQKIAog IzogcGdfdmVyaWZ5YmFja3VwLmM6OTkyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiAgLXcsIC0td2Fs LWRpcmVjdG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iCi1t c2dzdHIgIiAgLXcsIC0td2FsLWRpcmVjdG9yeT1DSEVNSU4gIHV0aWxpc2UgbGUgY2hlbWluIHNw w6ljaWZpw6kgcG91ciBsZXMgZmljaGllcnMgV0FMXG4iCittc2dpZCAiICAtdywgLS13YWwtcGF0 aD1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iCittc2dzdHIgIiAg LXcsIC0td2FsLXBhdGg9Q0hFTUlOICB1dGlsaXNlIGxlIGNoZW1pbiBzcMOpY2lmacOpIHBvdXIg bGVzIGZpY2hpZXJzIFdBTFxuIgogCiAjOiBwZ192ZXJpZnliYWNrdXAuYzo5OTMKICMsIGMtZm9y bWF0CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9pdC5wbyBiL3NyYy9i aW4vcGdfdmVyaWZ5YmFja3VwL3BvL2l0LnBvCmluZGV4IDMxN2IwYjcxZTdmLi40ZGE2OGQwMDc0 ZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vaXQucG8KKysrIGIvc3Jj L2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vaXQucG8KQEAgLTQ3Miw4ICs0NzIsOCBAQCBtc2dzdHIg IiAgLXMsIC0tc2tpcC1jaGVja3N1bXMgICAgICAgICBzYWx0YSBsYSB2ZXJpZmljYSBkZWwgY2hl Y2tzdW1cbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTExCiAjLCBjLWZvcm1hdAotbXNnaWQg IiAgLXcsIC0td2FsLWRpcmVjdG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FM IGZpbGVzXG4iCi1tc2dzdHIgIiAgLXcsIC0td2FsLWRpcmVjdG9yeT1QQVRIICAgICB1c2EgaWwg cGVyY29yc28gc3BlY2lmaWNhdG8gcGVyIGkgZmlsZSBXQUxcbiIKK21zZ2lkICIgIC13LCAtLXdh bC1wYXRoPVBBVEggICAgdXNlIHNwZWNpZmllZCBwYXRoIGZvciBXQUwgZmlsZXNcbiIKK21zZ3N0 ciAiICAtdywgLS13YWwtcGF0aD1QQVRIICAgICB1c2EgaWwgcGVyY29yc28gc3BlY2lmaWNhdG8g cGVyIGkgZmlsZSBXQUxcbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTEyCiAjLCBjLWZvcm1h dApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vamEucG8gYi9zcmMvYmlu L3BnX3ZlcmlmeWJhY2t1cC9wby9qYS5wbwppbmRleCBjOTEwZmIyMzZjYy4uYTk0ODk1OWI1NGYg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2phLnBvCisrKyBiL3NyYy9i aW4vcGdfdmVyaWZ5YmFja3VwL3BvL2phLnBvCkBAIC02NzIsOCArNjcyLDggQEAgbXNnc3RyICIg IC1zLCAtLXNraXAtY2hlY2tzdW1zICAgICAgICDjg4Hjgqfjg4Pjgq/jgrXjg6DmpJzoqLzjgpLj grnjgq3jg4Pjg5dcbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6MTM3OQogIywgYy1mb3JtYXQK LW1zZ2lkICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGgg Zm9yIFdBTCBmaWxlc1xuIgotbXNnc3RyICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9UEFUSCAgICBX QUzjg5XjgqHjgqTjg6vjgavmjIflrprjgZfjgZ/jg5HjgrnjgpLkvb/nlKjjgZnjgotcbiIKK21z Z2lkICIgIC13LCAtLXdhbC1wYXRoPVBBVEggICAgdXNlIHNwZWNpZmllZCBwYXRoIGZvciBXQUwg ZmlsZXNcbiIKK21zZ3N0ciAiICAtdywgLS13YWwtcGF0aD1QQVRIICAgIFdBTOODleOCoeOCpOOD q+OBq+aMh+WumuOBl+OBn+ODkeOCueOCkuS9v+eUqOOBmeOCi1xuIgogCiAjOiBwZ192ZXJpZnli YWNrdXAuYzoxMzgwCiAjLCBjLWZvcm1hdApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnli YWNrdXAvcG8va2EucG8gYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9rYS5wbwppbmRleCA5 ODI3NTE5ODRjNy4uZWYyNzk5MzE2YTggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFj a3VwL3BvL2thLnBvCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2thLnBvCkBAIC03 ODQsOCArNzg0LDggQEAgbXNnc3RyICIgIC1zLCAtLXNraXAtY2hlY2tzdW1zICAgICAgICDhg6Hh g5Dhg5nhg53hg5zhg6Lhg6Dhg53hg5rhg50g4YOv4YOQ4YObCiAKICM6IHBnX3ZlcmlmeWJhY2t1 cC5jOjEzNzkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiICAtdywgLS13YWwtZGlyZWN0b3J5PVBBVEgg ICAgdXNlIHNwZWNpZmllZCBwYXRoIGZvciBXQUwgZmlsZXNcbiIKLW1zZ3N0ciAiICAtdywgLS13 YWwtZGlyZWN0b3J5PeGDkeGDmOGDmuGDmOGDmeGDmCAgICBXQUwg4YOk4YOQ4YOY4YOa4YOU4YOR 4YOY4YOh4YOX4YOV4YOY4YOhIOGDm+GDmOGDl+GDmOGDl+GDlOGDkeGDo+GDmuGDmCDhg5Hhg5jh g5rhg5jhg5nhg5jhg6Eg4YOS4YOQ4YOb4YOd4YOn4YOU4YOc4YOU4YOR4YOQXG4iCittc2dpZCAi ICAtdywgLS13YWwtcGF0aD1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVz XG4iCittc2dzdHIgIiAgLXcsIC0td2FsLXBhdGg94YOR4YOY4YOa4YOY4YOZ4YOYICAgIFdBTCDh g6Thg5Dhg5jhg5rhg5Thg5Hhg5jhg6Hhg5fhg5Xhg5jhg6Eg4YOb4YOY4YOX4YOY4YOX4YOU4YOR 4YOj4YOa4YOYIOGDkeGDmOGDmuGDmOGDmeGDmOGDoSDhg5Lhg5Dhg5vhg53hg6fhg5Thg5zhg5Th g5Hhg5BcbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6MTM4MAogIywgYy1mb3JtYXQKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL2tvLnBvIGIvc3JjL2Jpbi9wZ192ZXJp ZnliYWNrdXAvcG8va28ucG8KaW5kZXggYWNkYzNkYTVlMDIuLmVhZjkxZWYxZTk4IDEwMDY0NAot LS0gYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9rby5wbworKysgYi9zcmMvYmluL3BnX3Zl cmlmeWJhY2t1cC9wby9rby5wbwpAQCAtNTAxLDggKzUwMSw4IEBAIG1zZ3N0ciAiICAtcywgLS1z a2lwLWNoZWNrc3VtcyAgICAgICAg7LK07YGs7ISsIOqygOyCrCDqsbTrhIjrnIBcbiIKIAogIzog cGdfdmVyaWZ5YmFja3VwLmM6OTkyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiAgLXcsIC0td2FsLWRp cmVjdG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iCi1tc2dz dHIgIiAgLXcsIC0td2FsLWRpcmVjdG9yeT3qsr3roZwgICAgV0FMIO2MjOydvOydtCDsnojripQg 6rK966GcIOyngOyglVxuIgorbXNnaWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ugc3Bl Y2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRoPeqy veuhnCAgICBXQUwg7YyM7J287J20IOyeiOuKlCDqsr3roZwg7KeA7KCVXG4iCiAKICM6IHBnX3Zl cmlmeWJhY2t1cC5jOjk5MwogIywgYy1mb3JtYXQKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdmVy aWZ5YmFja3VwL3BvL3J1LnBvIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vcnUucG8KaW5k ZXggNjQwMDVmZWVkZmQuLjdmYjBlNWFiMWY2IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3Zlcmlm eWJhY2t1cC9wby9ydS5wbworKysgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9ydS5wbwpA QCAtNTA3LDkgKzUwNyw5IEBAIG1zZ3N0ciAiICAtcywgLS1za2lwLWNoZWNrc3VtcyAgICAgICAg 0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LLQtdGA0LrRgyDQutC+CiAKICM6IHBnX3Zlcmlm eWJhY2t1cC5jOjk5MgogIywgYy1mb3JtYXQKLW1zZ2lkICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9 UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgorbXNnaWQgIiAgLXcs IC0td2FsLXBhdGg9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgog bXNnc3RyICIiCi0iICAtdywgLS13YWwtZGlyZWN0b3J5PdCf0KPQotCsICAgINC40YHQv9C+0LvR jNC30L7QstCw0YLRjCDQt9Cw0LTQsNC90L3Ri9C5INC/0YPRgtGMINC6INGE0LDQudC70LDQvCBX QUxcbiIKKyIgIC13LCAtLXdhbC1wYXRoPdCf0KPQotCsICAgINC40YHQv9C+0LvRjNC30L7QstCw 0YLRjCDQt9Cw0LTQsNC90L3Ri9C5INC/0YPRgtGMINC6INGE0LDQudC70LDQvCBXQUxcbiIKIAog IzogcGdfdmVyaWZ5YmFja3VwLmM6OTkzCiAjLCBjLWZvcm1hdApkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ192ZXJpZnliYWNrdXAvcG8vc3YucG8gYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby9z di5wbwppbmRleCAxNzI0MGZlZWI1Yy4uOTcxMjU4MzhlOGMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfdmVyaWZ5YmFja3VwL3BvL3N2LnBvCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3Bv L3N2LnBvCkBAIC00OTIsOCArNDkyLDggQEAgbXNnc3RyICIgIC1zLCAtLXNraXAtY2hlY2tzdW1z ICAgICAgICBob3BwYSDDtnZlciB2ZXJpZmllcmluZyBhdiBrb250cm9sbHN1bW1vclwKIAogIzog cGdfdmVyaWZ5YmFja3VwLmM6OTkyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiAgLXcsIC0td2FsLWRp cmVjdG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVzXG4iCi1tc2dz dHIgIiAgLXcsIC0td2FsLWRpcmVjdG9yeT1Tw5ZLVsOERyAgYW52w6RuZCBkZW5uYSBzw7ZrdsOk ZyB0aWxsIFdBTC1maWxlclxuIgorbXNnaWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ug c3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRo PVPDlktWw4RHICBhbnbDpG5kIGRlbm5hIHPDtmt2w6RnIHRpbGwgV0FMLWZpbGVyXG4iCiAKICM6 IHBnX3ZlcmlmeWJhY2t1cC5jOjk5MwogIywgYy1mb3JtYXQKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdfdmVyaWZ5YmFja3VwL3BvL3VrLnBvIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vdWsu cG8KaW5kZXggMDM0Yjk3NjQyMzIuLjYzZjgwNDFhYjM4IDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X3ZlcmlmeWJhY2t1cC9wby91ay5wbworKysgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby91 ay5wbwpAQCAtNDg0LDggKzQ4NCw4IEBAIG1zZ3N0ciAiICAtcywgLS1za2lwLWNoZWNrc3VtcyDQ vdC1INC/0LXRgNC10LLRltGA0Y/RgtC4INC60L7QvdGC0YDQvtC70YzQvdGWINGBCiAKICM6IHBn X3ZlcmlmeWJhY2t1cC5jOjk5MgogIywgYy1mb3JtYXQKLW1zZ2lkICIgIC13LCAtLXdhbC1kaXJl Y3Rvcnk9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgotbXNnc3Ry ICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9UEFUSCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC 0Lgg0LLQutCw0LfQsNC90LjQuSDRiNC70Y/RhSDQtNC70Y8g0YTQsNC50LvRltCyIFdBTFxuIgor bXNnaWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdB TCBmaWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRoPVBBVEgg0LLQuNC60L7RgNC40YHR gtC+0LLRg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0YjQu9GP0YUg0LTQu9GPINGE0LDQudC7 0ZbQsiBXQUxcbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTkzCiAjLCBjLWZvcm1hdApkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vemhfQ04ucG8gYi9zcmMvYmluL3Bn X3ZlcmlmeWJhY2t1cC9wby96aF9DTi5wbwppbmRleCBiN2Q5N2M4OTc2ZC4uZmI2ZmNhZThiODIg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL3poX0NOLnBvCisrKyBiL3Ny Yy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BvL3poX0NOLnBvCkBAIC00NjUsOCArNDY1LDggQEAgbXNn c3RyICIgIC1zLCAtLXNraXAtY2hlY2tzdW1zICAgICAgICDot7Pov4fmoKHpqozlkozpqozor4Fc biIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTE5CiAjLCBjLWZvcm1hdAotbXNnaWQgIiAgLXcs IC0td2FsLWRpcmVjdG9yeT1QQVRIICAgIHVzZSBzcGVjaWZpZWQgcGF0aCBmb3IgV0FMIGZpbGVz XG4iCi1tc2dzdHIgIiAgLXcsIC0td2FsLWRpcmVjdG9yeT1QQVRIICAgIOWvuVdBTOaWh+S7tuS9 v+eUqOaMh+Wumui3r+W+hFxuIgorbXNnaWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ug c3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRo PVBBVEggICAg5a+5V0FM5paH5Lu25L2/55So5oyH5a6a6Lev5b6EXG4iCiAKICM6IHBnX3Zlcmlm eWJhY2t1cC5jOjkyMAogIywgYy1mb3JtYXQKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdmVyaWZ5 YmFja3VwL3BvL3poX1RXLnBvIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcG8vemhfVFcucG8K aW5kZXggYzFiNzEwYjBhMzYuLjU2OGY5NzJiMGJiIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3Zl cmlmeWJhY2t1cC9wby96aF9UVy5wbworKysgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wby96 aF9UVy5wbwpAQCAtNTU1LDggKzU1NSw4IEBAIG1zZ3N0ciAiICAtcywgLS1za2lwLWNoZWNrc3Vt cyAgICAgICAg6Lez6YGO5qqi5p+l56K86amX6K2JXG4iCiAKICM6IHBnX3ZlcmlmeWJhY2t1cC5j Ojk5MgogIywgYy1mb3JtYXQKLW1zZ2lkICIgIC13LCAtLXdhbC1kaXJlY3Rvcnk9UEFUSCAgICB1 c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdBTCBmaWxlc1xuIgotbXNnc3RyICIgIC13LCAtLXdhbC1k aXJlY3Rvcnk9UEFUSCAgICDnlKjmjIflrprnmoTot6/lvpHlrZjmlL4gV0FMIOaqlFxuIgorbXNn aWQgIiAgLXcsIC0td2FsLXBhdGg9UEFUSCAgICB1c2Ugc3BlY2lmaWVkIHBhdGggZm9yIFdBTCBm aWxlc1xuIgorbXNnc3RyICIgIC13LCAtLXdhbC1wYXRoPVBBVEggICAg55So5oyH5a6a55qE6Lev 5b6R5a2Y5pS+IFdBTCDmqpRcbiIKIAogIzogcGdfdmVyaWZ5YmFja3VwLmM6OTkzCiAjLCBjLWZv cm1hdApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDdfd2FsLnBsIGIv c3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDdfd2FsLnBsCmluZGV4IGJhYmM0ZjBhODZiLi5i MDdmODA3MTliMCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDdfd2Fs LnBsCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDA3X3dhbC5wbApAQCAtNDIsMTAg KzQyLDEwIEBAIGNvbW1hbmRfb2soWyAncGdfdmVyaWZ5YmFja3VwJywgJy0tbm8tcGFyc2Utd2Fs JywgJGJhY2t1cF9wYXRoIF0sCiBjb21tYW5kX29rKAogCVsKIAkJJ3BnX3ZlcmlmeWJhY2t1cCcs Ci0JCSctLXdhbC1kaXJlY3RvcnknID0+ICRyZWxvY2F0ZWRfcGdfd2FsLAorCQknLS13YWwtcGF0 aCcgPT4gJHJlbG9jYXRlZF9wZ193YWwsCiAJCSRiYWNrdXBfcGF0aAogCV0sCi0JJy0td2FsLWRp cmVjdG9yeSBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IFdBTCBkaXJlY3RvcnknKTsKKwknLS13YWwt cGF0aCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IFdBTCBkaXJlY3RvcnknKTsKIAogIyBNb3ZlIGRp cmVjdG9yeSBiYWNrIHRvIG9yaWdpbmFsIGxvY2F0aW9uLgogcmVuYW1lKCRyZWxvY2F0ZWRfcGdf d2FsLCAkb3JpZ2luYWxfcGdfd2FsKSB8fCBkaWUgInJlbmFtZSBwZ193YWwgYmFjazogJCEiOwot LSAKMi40Ny4xCgo= --00000000000098fbbb064419cae3 Content-Type: application/octet-stream; name="v7-0008-pg_verifybackup-enabled-WAL-parsing-for-tar-forma.patch" Content-Disposition: attachment; filename="v7-0008-pg_verifybackup-enabled-WAL-parsing-for-tar-forma.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mi8t5anu7 RnJvbSBiMGVhZTlhZGVjYjU2YmY2MzRhOTE5MzkxMGI3MDI3MTJmNmI3MmRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbXVsIFN1bCA8c3VsYW11bEBnbWFpbC5jb20+CkRhdGU6IFRo dSwgMTcgSnVsIDIwMjUgMTY6Mzk6MzYgKzA1MzAKU3ViamVjdDogW1BBVENIIHY3IDgvOF0gcGdf dmVyaWZ5YmFja3VwOiBlbmFibGVkIFdBTCBwYXJzaW5nIGZvciB0YXItZm9ybWF0CiBiYWNrdXAK Ck5vdyB0aGF0IHBnX3dhbGR1bXAgc3VwcG9ydHMgZGVjb2RpbmcgZnJvbSB0YXIgYXJjaGl2ZXMs IHdlIHNob3VsZApsZXZlcmFnZSB0aGlzIGZ1bmN0aW9uYWxpdHkgdG8gcmVtb3ZlIHRoZSBwcmV2 aW91cyByZXN0cmljdGlvbiBvbiBXQUwKcGFyc2luZyBmb3IgdGFyLWJhY2tlZCBmb3JtYXRzLgot LS0KIGRvYy9zcmMvc2dtbC9yZWYvcGdfdmVyaWZ5YmFja3VwLnNnbWwgICAgICAgICB8ICA1ICst CiBzcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYyAgICAgfCA2NiArKysr KysrKysrKysrLS0tLS0tCiBzcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAwMl9hbGdvcml0aG0u cGwgICAgfCAgNCAtLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDNfY29ycnVwdGlvbi5w bCAgIHwgIDQgKy0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDA4X3VudGFyLnBsICAgICAg ICB8ICA1ICstCiBzcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAxMF9jbGllbnRfdW50YXIucGwg fCAgNSArLQogNiBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX3ZlcmlmeWJhY2t1cC5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi9wZ192ZXJpZnliYWNrdXAuc2dtbAppbmRleCBlOWI4YmZkNTFiMS4u MTZiNTBiNWE0ZGYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfdmVyaWZ5YmFja3Vw LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ192ZXJpZnliYWNrdXAuc2dtbApAQCAtMzYs MTAgKzM2LDcgQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICA8bGl0ZXJhbD5iYWNrdXBf bWFuaWZlc3Q8L2xpdGVyYWw+IGdlbmVyYXRlZCBieSB0aGUgc2VydmVyIGF0IHRoZSB0aW1lCiAg ICBvZiB0aGUgYmFja3VwLiBUaGUgYmFja3VwIG1heSBiZSBzdG9yZWQgZWl0aGVyIGluIHRoZSAi cGxhaW4iIG9yIHRoZSAidGFyIgogICAgZm9ybWF0OyB0aGlzIGluY2x1ZGVzIHRhci1mb3JtYXQg YmFja3VwcyBjb21wcmVzc2VkIHdpdGggYW55IGFsZ29yaXRobQotICAgc3VwcG9ydGVkIGJ5IDxh cHBsaWNhdGlvbj5wZ19iYXNlYmFja3VwPC9hcHBsaWNhdGlvbj4uIEhvd2V2ZXIsIGF0IHByZXNl bnQsCi0gICA8bGl0ZXJhbD5XQUw8L2xpdGVyYWw+IHZlcmlmaWNhdGlvbiBpcyBzdXBwb3J0ZWQg b25seSBmb3IgcGxhaW4tZm9ybWF0Ci0gICBiYWNrdXBzLiBUaGVyZWZvcmUsIGlmIHRoZSBiYWNr dXAgaXMgc3RvcmVkIGluIHRhci1mb3JtYXQsIHRoZQotICAgPGxpdGVyYWw+LW4sIC0tbm8tcGFy c2Utd2FsPC9saXRlcmFsPiBvcHRpb24gc2hvdWxkIGJlIHVzZWQuCisgICBzdXBwb3J0ZWQgYnkg PGFwcGxpY2F0aW9uPnBnX2Jhc2ViYWNrdXA8L2FwcGxpY2F0aW9uPi4KICAgPC9wYXJhPgogCiAg IDxwYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcGdfdmVyaWZ5YmFj a3VwLmMgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYwppbmRleCA5 ZmNkNmJlMDA0ZS4uNjkxNWZjN2YyOGUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFj a3VwL3BnX3ZlcmlmeWJhY2t1cC5jCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3Zl cmlmeWJhY2t1cC5jCkBAIC03NCw3ICs3NCw5IEBAIHBnX25vcmV0dXJuIHN0YXRpYyB2b2lkIHJl cG9ydF9tYW5pZmVzdF9lcnJvcihKc29uTWFuaWZlc3RQYXJzZUNvbnRleHQgKmNvbnRleHQsCiAJ CQkJCQkJCQkJCSAgY29uc3QgY2hhciAqZm10LC4uLikKIAkJCXBnX2F0dHJpYnV0ZV9wcmludGYo MiwgMyk7CiAKLXN0YXRpYyB2b2lkIHZlcmlmeV90YXJfYmFja3VwKHZlcmlmaWVyX2NvbnRleHQg KmNvbnRleHQsIERJUiAqZGlyKTsKK3N0YXRpYyB2b2lkIHZlcmlmeV90YXJfYmFja3VwKHZlcmlm aWVyX2NvbnRleHQgKmNvbnRleHQsIERJUiAqZGlyLAorCQkJCQkJCSAgY2hhciAqKmJhc2VfYXJj aGl2ZV9wYXRoLAorCQkJCQkJCSAgY2hhciAqKndhbF9hcmNoaXZlX3BhdGgpOwogc3RhdGljIHZv aWQgdmVyaWZ5X3BsYWluX2JhY2t1cF9kaXJlY3RvcnkodmVyaWZpZXJfY29udGV4dCAqY29udGV4 dCwKIAkJCQkJCQkJCQkgIGNoYXIgKnJlbHBhdGgsIGNoYXIgKmZ1bGxwYXRoLAogCQkJCQkJCQkJ CSAgRElSICpkaXIpOwpAQCAtODMsNyArODUsOSBAQCBzdGF0aWMgdm9pZCB2ZXJpZnlfcGxhaW5f YmFja3VwX2ZpbGUodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgY2hhciAqcmVscGF0aCwKIHN0 YXRpYyB2b2lkIHZlcmlmeV9jb250cm9sX2ZpbGUoY29uc3QgY2hhciAqY29udHJvbHBhdGgsCiAJ CQkJCQkJCXVpbnQ2NCBtYW5pZmVzdF9zeXN0ZW1faWRlbnRpZmllcik7CiBzdGF0aWMgdm9pZCBw cmVjaGVja190YXJfYmFja3VwX2ZpbGUodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgY2hhciAq cmVscGF0aCwKLQkJCQkJCQkJCSBjaGFyICpmdWxscGF0aCwgU2ltcGxlUHRyTGlzdCAqdGFyZmls ZXMpOworCQkJCQkJCQkJIGNoYXIgKmZ1bGxwYXRoLCBTaW1wbGVQdHJMaXN0ICp0YXJmaWxlcywK KwkJCQkJCQkJCSBjaGFyICoqYmFzZV9hcmNoaXZlX3BhdGgsCisJCQkJCQkJCQkgY2hhciAqKndh bF9hcmNoaXZlX3BhdGgpOwogc3RhdGljIHZvaWQgdmVyaWZ5X3Rhcl9maWxlKHZlcmlmaWVyX2Nv bnRleHQgKmNvbnRleHQsIGNoYXIgKnJlbHBhdGgsCiAJCQkJCQkJY2hhciAqZnVsbHBhdGgsIGFz dHJlYW1lciAqc3RyZWFtZXIpOwogc3RhdGljIHZvaWQgcmVwb3J0X2V4dHJhX2JhY2t1cF9maWxl cyh2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0KTsKQEAgLTEzNiw2ICsxNDAsOCBAQCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKIAlib29sCQlub19wYXJzZV93YWwgPSBmYWxzZTsKIAlib29s CQlxdWlldCA9IGZhbHNlOwogCWNoYXIJICAgKndhbF9wYXRoID0gTlVMTDsKKwljaGFyCSAgICpi YXNlX2FyY2hpdmVfcGF0aCA9IE5VTEw7CisJY2hhcgkgICAqd2FsX2FyY2hpdmVfcGF0aCA9IE5V TEw7CiAJY2hhcgkgICAqcGdfd2FsZHVtcF9wYXRoID0gTlVMTDsKIAlESVIJCSAgICpkaXI7CiAK QEAgLTMyNywxNyArMzMzLDYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCXBmcmVl KHBhdGgpOwogCX0KIAotCS8qCi0JICogWFhYOiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgY29u c2lkZXIgZW5oYW5jaW5nIHBnX3dhbGR1bXAgdG8gcmVhZCBXQUwKLQkgKiBmaWxlcyBmcm9tIGFu IGFyY2hpdmUuCi0JICovCi0JaWYgKCFub19wYXJzZV93YWwgJiYgY29udGV4dC5mb3JtYXQgPT0g J3QnKQotCXsKLQkJcGdfbG9nX2Vycm9yKCJwZ193YWxkdW1wIGNhbm5vdCByZWFkIHRhciBmaWxl cyIpOwotCQlwZ19sb2dfZXJyb3JfaGludCgiWW91IG11c3QgdXNlIC1uLy0tbm8tcGFyc2Utd2Fs IHdoZW4gdmVyaWZ5aW5nIGEgdGFyLWZvcm1hdCBiYWNrdXAuIik7Ci0JCWV4aXQoMSk7Ci0JfQot CiAJLyoKIAkgKiBQZXJmb3JtIHRoZSBhcHByb3ByaWF0ZSB0eXBlIG9mIHZlcmlmaWNhdGlvbiBh cHByb3ByaWF0ZSBiYXNlZCBvbiB0aGUKIAkgKiBiYWNrdXAgZm9ybWF0LiBUaGlzIHdpbGwgY2xv c2UgJ2RpcicuCkBAIC0zNDYsNyArMzQxLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJCXZlcmlmeV9wbGFpbl9iYWNrdXBfZGlyZWN0b3J5KCZjb250ZXh0LCBOVUxMLCBjb250ZXh0 LmJhY2t1cF9kaXJlY3RvcnksCiAJCQkJCQkJCQkgIGRpcik7CiAJZWxzZQotCQl2ZXJpZnlfdGFy X2JhY2t1cCgmY29udGV4dCwgZGlyKTsKKwkJdmVyaWZ5X3Rhcl9iYWNrdXAoJmNvbnRleHQsIGRp ciwgJmJhc2VfYXJjaGl2ZV9wYXRoLCAmd2FsX2FyY2hpdmVfcGF0aCk7CiAKIAkvKgogCSAqIFRo ZSAibWF0Y2hlZCIgZmxhZyBzaG91bGQgbm93IGJlIHNldCBvbiBldmVyeSBlbnRyeSBpbiB0aGUg aGFzaCB0YWJsZS4KQEAgLTM2NCw5ICszNTksMjggQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAJaWYgKGNvbnRleHQuZm9ybWF0ID09ICdwJyAmJiAhY29udGV4dC5za2lwX2NoZWNrc3Vt cykKIAkJdmVyaWZ5X2JhY2t1cF9jaGVja3N1bXMoJmNvbnRleHQpOwogCi0JLyogQnkgZGVmYXVs dCwgbG9vayBmb3IgdGhlIFdBTCBpbiB0aGUgYmFja3VwIGRpcmVjdG9yeSwgdG9vLiAqLworCS8q CisJICogQnkgZGVmYXVsdCwgV0FMIGZpbGVzIGFyZSBleHBlY3RlZCB0byBiZSBmb3VuZCBpbiB0 aGUgYmFja3VwIGRpcmVjdG9yeQorCSAqIGZvciBwbGFpbi1mb3JtYXQgYmFja3Vwcy4gSW4gdGhl IGNhc2Ugb2YgdGFyLWZvcm1hdCBiYWNrdXBzLCBpZiBhCisJICogc2VwYXJhdGUgV0FMIGFyY2hp dmUgaXMgbm90IGZvdW5kLCB0aGUgV0FMIGZpbGVzIGFyZSBtb3N0IGxpa2VseQorCSAqIGluY2x1 ZGVkIHdpdGhpbiB0aGUgbWFpbiBkYXRhIGRpcmVjdG9yeSBhcmNoaXZlLgorCSAqLwogCWlmICh3 YWxfcGF0aCA9PSBOVUxMKQotCQl3YWxfcGF0aCA9IHBzcHJpbnRmKCIlcy9wZ193YWwiLCBjb250 ZXh0LmJhY2t1cF9kaXJlY3RvcnkpOworCXsKKwkJaWYgKGNvbnRleHQuZm9ybWF0ID09ICdwJykK KwkJCXdhbF9wYXRoID0gcHNwcmludGYoIiVzL3BnX3dhbCIsIGNvbnRleHQuYmFja3VwX2RpcmVj dG9yeSk7CisJCWVsc2UgaWYgKHdhbF9hcmNoaXZlX3BhdGgpCisJCQl3YWxfcGF0aCA9IHdhbF9h cmNoaXZlX3BhdGg7CisJCWVsc2UgaWYgKGJhc2VfYXJjaGl2ZV9wYXRoKQorCQkJd2FsX3BhdGgg PSBiYXNlX2FyY2hpdmVfcGF0aDsKKwkJZWxzZQorCQl7CisJCQlwZ19sb2dfZXJyb3IoIndhbCBh cmNoaXZlIG5vdCBmb3VuZCIpOworCQkJcGdfbG9nX2Vycm9yX2hpbnQoIlNwZWNpZnkgdGhlIGNv cnJlY3QgcGF0aCB1c2luZyB0aGUgb3B0aW9uIC13Ly0td2FsLXBhdGguIgorCQkJCQkJCSAgIk9y IHlvdSBtdXN0IHVzZSAtbi8tLW5vLXBhcnNlLXdhbCB3aGVuIHZlcmlmeWluZyBhIHRhci1mb3Jt YXQgYmFja3VwLiIpOworCQkJZXhpdCgxKTsKKwkJfQorCX0KIAogCS8qCiAJICogVHJ5IHRvIHBh cnNlIHRoZSByZXF1aXJlZCByYW5nZXMgb2YgV0FMIHJlY29yZHMsIHVubGVzcyB3ZSB3ZXJlIHRv bGQKQEAgLTc4Nyw3ICs4MDEsOCBAQCB2ZXJpZnlfY29udHJvbF9maWxlKGNvbnN0IGNoYXIgKmNv bnRyb2xwYXRoLCB1aW50NjQgbWFuaWZlc3Rfc3lzdGVtX2lkZW50aWZpZXIpCiAgKiBjbG9zZSB3 aGVuIHdlJ3JlIGRvbmUgd2l0aCBpdC4KICAqLwogc3RhdGljIHZvaWQKLXZlcmlmeV90YXJfYmFj a3VwKHZlcmlmaWVyX2NvbnRleHQgKmNvbnRleHQsIERJUiAqZGlyKQordmVyaWZ5X3Rhcl9iYWNr dXAodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgRElSICpkaXIsIGNoYXIgKipiYXNlX2FyY2hp dmVfcGF0aCwKKwkJCQkgIGNoYXIgKip3YWxfYXJjaGl2ZV9wYXRoKQogewogCXN0cnVjdCBkaXJl bnQgKmRpcmVudDsKIAlTaW1wbGVQdHJMaXN0IHRhcmZpbGVzID0ge05VTEwsIE5VTEx9OwpAQCAt ODE2LDcgKzgzMSw4IEBAIHZlcmlmeV90YXJfYmFja3VwKHZlcmlmaWVyX2NvbnRleHQgKmNvbnRl eHQsIERJUiAqZGlyKQogCQkJY2hhcgkgICAqZnVsbHBhdGg7CiAKIAkJCWZ1bGxwYXRoID0gcHNw cmludGYoIiVzLyVzIiwgY29udGV4dC0+YmFja3VwX2RpcmVjdG9yeSwgZmlsZW5hbWUpOwotCQkJ cHJlY2hlY2tfdGFyX2JhY2t1cF9maWxlKGNvbnRleHQsIGZpbGVuYW1lLCBmdWxscGF0aCwgJnRh cmZpbGVzKTsKKwkJCXByZWNoZWNrX3Rhcl9iYWNrdXBfZmlsZShjb250ZXh0LCBmaWxlbmFtZSwg ZnVsbHBhdGgsICZ0YXJmaWxlcywKKwkJCQkJCQkJCSBiYXNlX2FyY2hpdmVfcGF0aCwgd2FsX2Fy Y2hpdmVfcGF0aCk7CiAJCQlwZnJlZShmdWxscGF0aCk7CiAJCX0KIAl9CkBAIC04NzUsMTEgKzg5 MSwxMyBAQCB2ZXJpZnlfdGFyX2JhY2t1cCh2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0LCBESVIg KmRpcikKICAqCiAgKiBUaGUgYXJndW1lbnRzIHRvIHRoaXMgZnVuY3Rpb24gYXJlIG1vc3RseSB0 aGUgc2FtZSBhcyB0aGUKICAqIHZlcmlmeV9wbGFpbl9iYWNrdXBfZmlsZS4gVGhlIGFkZGl0aW9u YWwgYXJndW1lbnQgb3V0cHV0cyBhIGxpc3Qgb2YgdmFsaWQKLSAqIHRhciBmaWxlcy4KKyAqIHRh ciBmaWxlcywgYWxvbmcgd2l0aCB0aGUgZnVsbCBwYXRocyB0byB0aGUgbWFpbiBhcmNoaXZlIGFu ZCB0aGUgV0FMCisgKiBkaXJlY3RvcnkgYXJjaGl2ZS4KICAqLwogc3RhdGljIHZvaWQKIHByZWNo ZWNrX3Rhcl9iYWNrdXBfZmlsZSh2ZXJpZmllcl9jb250ZXh0ICpjb250ZXh0LCBjaGFyICpyZWxw YXRoLAotCQkJCQkJIGNoYXIgKmZ1bGxwYXRoLCBTaW1wbGVQdHJMaXN0ICp0YXJmaWxlcykKKwkJ CQkJCSBjaGFyICpmdWxscGF0aCwgU2ltcGxlUHRyTGlzdCAqdGFyZmlsZXMsCisJCQkJCQkgY2hh ciAqKmJhc2VfYXJjaGl2ZV9wYXRoLCBjaGFyICoqd2FsX2FyY2hpdmVfcGF0aCkKIHsKIAlzdHJ1 Y3Qgc3RhdCBzYjsKIAlPaWQJCQl0YmxzcGNfb2lkID0gSW52YWxpZE9pZDsKQEAgLTkxOCw5ICs5 MzYsMTcgQEAgcHJlY2hlY2tfdGFyX2JhY2t1cF9maWxlKHZlcmlmaWVyX2NvbnRleHQgKmNvbnRl eHQsIGNoYXIgKnJlbHBhdGgsCiAJICogZXh0ZW5zaW9uIHN1Y2ggYXMgLmd6LCAubHo0LCBvciAu enN0LgogCSAqLwogCWlmIChzdHJuY21wKCJiYXNlIiwgcmVscGF0aCwgNCkgPT0gMCkKKwl7CiAJ CXN1ZmZpeCA9IHJlbHBhdGggKyA0OworCisJCSpiYXNlX2FyY2hpdmVfcGF0aCA9IHBzdHJkdXAo ZnVsbHBhdGgpOworCX0KIAllbHNlIGlmIChzdHJuY21wKCJwZ193YWwiLCByZWxwYXRoLCA2KSA9 PSAwKQorCXsKIAkJc3VmZml4ID0gcmVscGF0aCArIDY7CisKKwkJKndhbF9hcmNoaXZlX3BhdGgg PSBwc3RyZHVwKGZ1bGxwYXRoKTsKKwl9CiAJZWxzZQogCXsKIAkJLyogRXhwZWN0ZWQgYSA8dGFi bGVzcGFjZW9pZD4udGFyIGZpbGUgaGVyZS4gKi8KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdmVy aWZ5YmFja3VwL3QvMDAyX2FsZ29yaXRobS5wbCBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3Qv MDAyX2FsZ29yaXRobS5wbAppbmRleCBhZTE2YzExYmM0ZC4uNGYyODRhOWU4MjggMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3QvMDAyX2FsZ29yaXRobS5wbAorKysgYi9zcmMv YmluL3BnX3ZlcmlmeWJhY2t1cC90LzAwMl9hbGdvcml0aG0ucGwKQEAgLTMwLDEwICszMCw2IEBA IHN1YiB0ZXN0X2NoZWNrc3VtcwogCXsKIAkJIyBBZGQgc3dpdGNoIHRvIGdldCBhIHRhci1mb3Jt YXQgYmFja3VwCiAJCXB1c2ggQGJhY2t1cCwgKCctLWZvcm1hdCcgPT4gJ3RhcicpOwotCi0JCSMg QWRkIHN3aXRjaCB0byBza2lwIFdBTCB2ZXJpZmljYXRpb24sIHdoaWNoIGlzIG5vdCB5ZXQgc3Vw cG9ydGVkIGZvcgotCQkjIHRhci1mb3JtYXQgYmFja3VwcwotCQlwdXNoIEB2ZXJpZnksICgnLS1u by1wYXJzZS13YWwnKTsKIAl9CiAKIAkjIEEgYmFja3VwIHdpdGggYSBib2d1cyBhbGdvcml0aG0g c2hvdWxkIGZhaWwuCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAwM19j b3JydXB0aW9uLnBsIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDNfY29ycnVwdGlvbi5w bAppbmRleCAxZGQ2MGY3MDljZi4uZjFlYmRiYjQ2YjQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf dmVyaWZ5YmFja3VwL3QvMDAzX2NvcnJ1cHRpb24ucGwKKysrIGIvc3JjL2Jpbi9wZ192ZXJpZnli YWNrdXAvdC8wMDNfY29ycnVwdGlvbi5wbApAQCAtMTkzLDEwICsxOTMsOCBAQCBmb3IgbXkgJHNj ZW5hcmlvIChAc2NlbmFyaW8pCiAJCQljb21tYW5kX29rKFsgJHRhciwgJy1jZicgPT4gIiR0YXJf YmFja3VwX3BhdGgvYmFzZS50YXIiLCAnLicgXSk7CiAJCQljaGRpcigkY3dkKSB8fCBkaWUgImNo ZGlyOiAkISI7CiAKLQkJCSMgTm93IGNoZWNrIHRoYXQgdGhlIGJhY2t1cCBubyBsb25nZXIgdmVy aWZpZXMuIFdlIG11c3QgdXNlIC1uCi0JCQkjIGhlcmUsIGJlY2F1c2UgcGdfd2FsZHVtcCBjYW4n dCB5ZXQgcmVhZCBXQUwgZnJvbSBhIHRhcmZpbGUuCiAJCQljb21tYW5kX2ZhaWxzX2xpa2UoCi0J CQkJWyAncGdfdmVyaWZ5YmFja3VwJywgJy0tbm8tcGFyc2Utd2FsJywgJHRhcl9iYWNrdXBfcGF0 aCBdLAorCQkJCVsgJ3BnX3ZlcmlmeWJhY2t1cCcsICR0YXJfYmFja3VwX3BhdGggXSwKIAkJCQkk c2NlbmFyaW8tPnsnZmFpbHNfbGlrZSd9LAogCQkJCSJjb3JydXB0IGJhY2t1cCBmYWlscyB2ZXJp ZmljYXRpb246ICRuYW1lIik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3Vw L3QvMDA4X3VudGFyLnBsIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMDhfdW50YXIucGwK aW5kZXggYmMzZDZiMzUyYWQuLjA5MDc5YTk0ZmVlIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3Zl cmlmeWJhY2t1cC90LzAwOF91bnRhci5wbAorKysgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90 LzAwOF91bnRhci5wbApAQCAtNDcsNyArNDcsNiBAQCBteSAkdHNvaWQgPSAkcHJpbWFyeS0+c2Fm ZV9wc3FsKAogCQlTRUxFQ1Qgb2lkIEZST00gcGdfdGFibGVzcGFjZSBXSEVSRSBzcGNuYW1lID0g J3JlZ3Jlc3NfdHMxJykpOwogCiBteSAkYmFja3VwX3BhdGggPSAkcHJpbWFyeS0+YmFja3VwX2Rp ciAuICcvc2VydmVyLWJhY2t1cCc7Ci1teSAkZXh0cmFjdF9wYXRoID0gJHByaW1hcnktPmJhY2t1 cF9kaXIgLiAnL2V4dHJhY3RlZC1iYWNrdXAnOwogCiBteSBAdGVzdF9jb25maWd1cmF0aW9uID0g KAogCXsKQEAgLTEyMywxNCArMTIyLDEyIEBAIGZvciBteSAkdGMgKEB0ZXN0X2NvbmZpZ3VyYXRp b24pCiAJCSMgVmVyaWZ5IHRhciBiYWNrdXAuCiAJCSRwcmltYXJ5LT5jb21tYW5kX29rKAogCQkJ WwotCQkJCSdwZ192ZXJpZnliYWNrdXAnLCAnLS1uby1wYXJzZS13YWwnLAotCQkJCSctLWV4aXQt b24tZXJyb3InLCAkYmFja3VwX3BhdGgsCisJCQkJJ3BnX3ZlcmlmeWJhY2t1cCcsICctLWV4aXQt b24tZXJyb3InLCAkYmFja3VwX3BhdGgsCiAJCQldLAogCQkJInZlcmlmeSBiYWNrdXAsIGNvbXBy ZXNzaW9uICRtZXRob2QiKTsKIAogCQkjIENsZWFudXAuCiAJCXJtdHJlZSgkYmFja3VwX3BhdGgp OwotCQlybXRyZWUoJGV4dHJhY3RfcGF0aCk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX3ZlcmlmeWJhY2t1cC90LzAxMF9jbGllbnRfdW50YXIucGwgYi9zcmMvYmluL3BnX3Zlcmlm eWJhY2t1cC90LzAxMF9jbGllbnRfdW50YXIucGwKaW5kZXggYjYyZmFlYjVhY2YuLjViMGU3NmVl NjlkIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC90LzAxMF9jbGllbnRfdW50 YXIucGwKKysrIGIvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvdC8wMTBfY2xpZW50X3VudGFyLnBs CkBAIC0zMiw3ICszMiw2IEBAIHByaW50ICRqZiAkanVua19kYXRhOwogY2xvc2UgJGpmOwogCiBt eSAkYmFja3VwX3BhdGggPSAkcHJpbWFyeS0+YmFja3VwX2RpciAuICcvY2xpZW50LWJhY2t1cCc7 Ci1teSAkZXh0cmFjdF9wYXRoID0gJHByaW1hcnktPmJhY2t1cF9kaXIgLiAnL2V4dHJhY3RlZC1i YWNrdXAnOwogCiBteSBAdGVzdF9jb25maWd1cmF0aW9uID0gKAogCXsKQEAgLTEzNywxMyArMTM2 LDExIEBAIGZvciBteSAkdGMgKEB0ZXN0X2NvbmZpZ3VyYXRpb24pCiAJCSMgVmVyaWZ5IHRhciBi YWNrdXAuCiAJCSRwcmltYXJ5LT5jb21tYW5kX29rKAogCQkJWwotCQkJCSdwZ192ZXJpZnliYWNr dXAnLCAnLS1uby1wYXJzZS13YWwnLAotCQkJCSctLWV4aXQtb24tZXJyb3InLCAkYmFja3VwX3Bh dGgsCisJCQkJJ3BnX3ZlcmlmeWJhY2t1cCcsICctLWV4aXQtb24tZXJyb3InLCAkYmFja3VwX3Bh dGgsCiAJCQldLAogCQkJInZlcmlmeSBiYWNrdXAsIGNvbXByZXNzaW9uICRtZXRob2QiKTsKIAog CQkjIENsZWFudXAuCi0JCXJtdHJlZSgkZXh0cmFjdF9wYXRoKTsKIAkJcm10cmVlKCRiYWNrdXBf cGF0aCk7CiAJfQogfQotLSAKMi40Ny4xCgo= --00000000000098fbbb064419cae3--