Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uwd8R-005YqK-4v for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Sep 2025 08:58:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uwd8O-006hmx-GM for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Sep 2025 08:58:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uwd8N-006hmo-KN for pgsql-hackers@lists.postgresql.org; Thu, 11 Sep 2025 08:58:28 +0000 Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uwd8M-001oZS-00 for pgsql-hackers@lists.postgresql.org; Thu, 11 Sep 2025 08:58:27 +0000 Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-4b495c2adf9so577731cf.2 for ; Thu, 11 Sep 2025 01:58:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757581105; x=1758185905; 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=lPG5FShVgBn78UrBvOZHKMb6YSTJ+OdQUw63PnSzWLA=; b=TtwYwSrCWtN6es0QXbIQrUjV/Audu6qY4burUMwGN1z0O6sQTn1vRh2HxqWW7Hxm0m ntzTiZ5ONi6R0UCIxpTmh983FNAd47+t2Os3qfAZv1m6Zzqzn7bRcV1MZBg/plbDwflg JX4OD2bfoXOnV/XoQV9ra1yL80ng76/u9aIHss04rvQl0oj+vKFsFpVxxcrhB0CH+sFh 16WYNYDE+JYh52y3zaT2FWbAMDshCgEBi/RhB7RQh+l2cR0RXhh2sc5MUb15fwNc5O/F g51v/kLLiR64Uc7zA5ncdB8KFDezXhf6SJP5+YzHKDpnTCyU0gjT6NK4bFoLa4pgJFLX uOMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757581105; x=1758185905; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lPG5FShVgBn78UrBvOZHKMb6YSTJ+OdQUw63PnSzWLA=; b=DPoqMnaiD0GkvlGVsylnSwNVpi0NhvLGc9BgB08r18Xw6dsmxKEY4Qh1wNSIJ2/XU3 OrRCRD+SMdyo2GhC3MBVYsKrbNRAyADiSNDZhHzauA3XZV7C6nfXL28ASjkQ7mGrv/J8 qwme9Fq+nG/JtgcMfDPDveHmg39j5fy2Q4irMmPK//7IQmIVn3qs3Pa4JXP48YRAeL3K cL42OQ/Znaj9EtyD+6ULnRXXR7DPx8mTPy8uemK/DC2GXRFVIoKxqfZAZN8oxRaWDbeE o/MfWacvwD+UFgkTnat8GSR/+10ys7yIj/K8AZqI59Z3/2DNfkwGDh3ahgQa3DD1hs+O e6aA== X-Forwarded-Encrypted: i=1; AJvYcCVecSzqclGZzbqzYHMYB/9Jvg9EfBrdlkV8ExiN+uksnBuP5iZ5arNi+axXyCbweUtyNxhIsT0+YM5JWde4@lists.postgresql.org X-Gm-Message-State: AOJu0Yx5+pK3TOzEkDsoZA4+Xlv3zjljOh26ZC0B0NwWWjLMblgi6CIR uNT2hywzBgIgl2JWWlHuOwjkHC4nN6XJSbwSenQnOCCKVMwgqJdnILXJpp+VzkKEsVhLWcI/gjz bnOa8OOX5y7coteU2cSN1h+Rn6jX+N7U= X-Gm-Gg: ASbGncvramfZkNmi0r4TbtFwCCipdZtnOXJgcXbwcyKJDnB/KG987eBfTODTeqxJmn5 xJL6xMySOd6WMl7Sr1kcQBnJf7yn0vdJsqFoZ3bIgfePov+bumHd4ltnFYO1SE6boYWxCiJDQpn xch8FdD/wSTPizybRgag3Dv2sd15JFrKFIO6vLHOF41U+R/cZIha6daZ6YKyuT9wDeMpyJ+L9AU 1ZcsZFmrxNlIEnjSTbihce4I3gt X-Google-Smtp-Source: AGHT+IFykOgWvsnqOjzUle8wbwoDzGOcJpL3fmjUdtkcjT6ZQHYld8XcG65+xWuPqe+ZC81x9xc2wPMK/wol0j6mBVg= X-Received: by 2002:ac8:574d:0:b0:4b5:e9b6:c96 with SMTP id d75a77b69052e-4b5f8485b15mr129032411cf.7.1757581105057; Thu, 11 Sep 2025 01:58:25 -0700 (PDT) MIME-Version: 1.0 References: <4535f3aa-3220-4760-b1f5-2bc91f248e03@iki.fi> <2bc58592-9d74-4af0-bdd1-1a88e8683f7c@iki.fi> <36531c0e-292c-409d-bbc7-a252cf6e910a@iki.fi> In-Reply-To: From: Maxim Orlov Date: Thu, 11 Sep 2025 11:58:13 +0300 X-Gm-Features: Ac12FXx-dmGKHeJ-YV7FJw9iu6mBcTGXn-zuUrmRTPxiO5Xcq2Os0hKx0DSiWv0 Message-ID: Subject: Re: POC: make mxidoff 64 bits To: Ashutosh Bapat Cc: wenhui qiu , Heikki Linnakangas , Alexander Korotkov , Postgres hackers Content-Type: multipart/mixed; boundary="0000000000006ea58b063e82bd63" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006ea58b063e82bd63 Content-Type: multipart/alternative; boundary="0000000000006ea589063e82bd61" --0000000000006ea589063e82bd61 Content-Type: text/plain; charset="UTF-8" Once again, @ 8191e0c16a -- Best regards, Maxim Orlov. --0000000000006ea589063e82bd61 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Once=C2=A0again,=C2=A0@=C2=A08191e0c16a


= --
Best regards,
Maxi= m Orlov.
--0000000000006ea589063e82bd61-- --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0005-TEST-initdb-option-to-initialize-cluster-with-no.patch" Content-Disposition: attachment; filename="v17-0005-TEST-initdb-option-to-initialize-cluster-with-no.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rf24 RnJvbSA5OTMyNGM1MTEzOWZiMjhmMTc2ZTZhMmMwYmQwZmQ0MzM4NWUwOWY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8bS5vcmxvdkBwb3N0Z3Jlc3Byby5ydT4K RGF0ZTogV2VkLCA0IE1heSAyMDIyIDE1OjUzOjM2ICswMzAwClN1YmplY3Q6IFtQQVRDSCB2MTcg NS83XSBURVNUOiBpbml0ZGIgb3B0aW9uIHRvIGluaXRpYWxpemUgY2x1c3RlciB3aXRoCiBub24t c3RhbmRhcmQgeGlkL214aWQvbXhvZmYKClRvIGRhdGUgdGVzdGluZyBkYXRhYmFzZSBjbHVzdGVy IHdyYXBhcnVuZCB3YXMgbm90IGVhc3kgYXMgaW5pdGRiIGhhcyBhbHdheXMKaW5pdGVkIGl0IHdp dGggZGVmYXVsdCB4aWQvbXhpZC9teG9mZi4gVGhlIG9wdGlvbiB0byBzcGVjaWZ5IGFueSB2YWxp ZAp4aWQvbXhpZC9teG9mZiBhdCBjbHVzdGVyIHN0YXJ0dXAgd2lsbCBtYWtlIHRoZXNlIHRoaW5n cyBlYXNpZXIuCgpBdXRob3I6IE1heGltIE9ybG92IDxvcmxvdm1nQGdtYWlsLmNvbT4KQXV0aG9y OiBQYXZlbCBCb3Jpc292IDxwYXNoa2luLmVsZmVAZ21haWwuY29tPgpBdXRob3I6IFN2ZXRsYW5h IERlcmV2eWFua28gPHMuZGVyZXZ5YW5rb0Bwb3N0Z3Jlc3Byby5ydT4KRGlzY3Vzc2lvbjogaHR0 cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9mbGF0L0NBQ0clM0RlemFhNHZxWWpK MTZ5b3hncnBhLSUzRGdYbmYwVnYzRXk5YmpHclJSRk4yWXlXRlElNDBtYWlsLmdtYWlsLmNvbQot LS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cuYyAgICAgIHwgICA2ICsrCiBzcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYyB8ICAxMCArKysKIHNyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3N1YnRyYW5zLmMgIHwgICA2ICsrCiBzcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS94bG9nLmMgICAgICB8ICAxNSArKy0tCiBzcmMvYmFja2VuZC9ib290c3RyYXAvYm9v dHN0cmFwLmMgICAgICB8ICA1MCArKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL21haW4vbWFpbi5j ICAgICAgICAgICAgICAgIHwgICA2ICsrCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0 ZXIuYyAgICB8ICAxNCArKystCiBzcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMgICAgICAgICAg ICB8ICA1MyArKysrKysrKysrKy0KIHNyYy9iaW4vaW5pdGRiL2luaXRkYi5jICAgICAgICAgICAg ICAgIHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iaW4vaW5pdGRiL3QvMDAx X2luaXRkYi5wbCAgICAgICAgIHwgIDYwICsrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9hY2Nl c3MveGxvZy5oICAgICAgICAgICAgICB8ICAgMyArCiBzcmMvaW5jbHVkZS9jLmggICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNCArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NsYXNzLmggICAg ICAgICB8ICAgMiArLQogMTMgZmlsZXMgY2hhbmdlZCwgMzI0IGluc2VydGlvbnMoKyksIDEyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL2Nsb2cuYwppbmRleCBlODBmYmUxMDljLi5i ZmY2OTI2YmY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9jbG9nLmMK KysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vY2xvZy5jCkBAIC04MzAsOCArODMwLDE0 IEBAIGNoZWNrX3RyYW5zYWN0aW9uX2J1ZmZlcnMoaW50ICpuZXd2YWwsIHZvaWQgKipleHRyYSwg R3VjU291cmNlIHNvdXJjZSkKIHZvaWQKIEJvb3RTdHJhcENMT0codm9pZCkKIHsKKwlpbnQ2NAlw YWdlbm87CisKIAkvKiBaZXJvIHRoZSBpbml0aWFsIHBhZ2UgYW5kIGZsdXNoIGl0IHRvIGRpc2sg Ki8KIAlTaW1wbGVMcnVaZXJvQW5kV3JpdGVQYWdlKFhhY3RDdGwsIDApOworCisJcGFnZW5vID0g VHJhbnNhY3Rpb25JZFRvUGFnZShYaWRGcm9tRnVsbFRyYW5zYWN0aW9uSWQoVHJhbnNhbVZhcmlh Ymxlcy0+bmV4dFhpZCkpOworCWlmIChwYWdlbm8pCisJCVNpbXBsZUxydVplcm9BbmRXcml0ZVBh Z2UoWGFjdEN0bCwgcGFnZW5vKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL211bHRpeGFjdC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVs dGl4YWN0LmMKaW5kZXggNDhlMmY4YTRkZC4uNjRkMDAwNzhkOSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4YWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0vbXVsdGl4YWN0LmMKQEAgLTE5NDMsOSArMTk0MywxOSBAQCBjaGVja19tdWx0aXhh Y3RfbWVtYmVyX2J1ZmZlcnMoaW50ICpuZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNv dXJjZSkKIHZvaWQKIEJvb3RTdHJhcE11bHRpWGFjdCh2b2lkKQogeworCWludDY0CXBhZ2VubzsK KwogCS8qIFplcm8gdGhlIGluaXRpYWwgcGFnZXMgYW5kIGZsdXNoIHRoZW0gdG8gZGlzayAqLwog CVNpbXBsZUxydVplcm9BbmRXcml0ZVBhZ2UoTXVsdGlYYWN0T2Zmc2V0Q3RsLCAwKTsKIAlTaW1w bGVMcnVaZXJvQW5kV3JpdGVQYWdlKE11bHRpWGFjdE1lbWJlckN0bCwgMCk7CisKKwlwYWdlbm8g PSBNdWx0aVhhY3RJZFRvT2Zmc2V0UGFnZShNdWx0aVhhY3RTdGF0ZS0+bmV4dE1YYWN0KTsKKwlp ZiAocGFnZW5vKQorCQlTaW1wbGVMcnVaZXJvQW5kV3JpdGVQYWdlKE11bHRpWGFjdE9mZnNldEN0 bCwgcGFnZW5vKTsKKworCXBhZ2VubyA9IE1YT2Zmc2V0VG9NZW1iZXJQYWdlKE11bHRpWGFjdFN0 YXRlLT5uZXh0T2Zmc2V0KTsKKwlpZiAocGFnZW5vKQorCQlTaW1wbGVMcnVaZXJvQW5kV3JpdGVQ YWdlKE11bHRpWGFjdE1lbWJlckN0bCwgcGFnZW5vKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3N1YnRyYW5zLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS9zdWJ0cmFucy5jCmluZGV4IDA5YWFjZTllMDkuLmU3M2UwYzNhMGYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3N1YnRyYW5zLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0vc3VidHJhbnMuYwpAQCAtMjY4LDggKzI2OCwxNCBAQCBjaGVja19z dWJ0cmFuc19idWZmZXJzKGludCAqbmV3dmFsLCB2b2lkICoqZXh0cmEsIEd1Y1NvdXJjZSBzb3Vy Y2UpCiB2b2lkCiBCb290U3RyYXBTVUJUUkFOUyh2b2lkKQogeworCWludDY0CXBhZ2VubzsKKwog CS8qIFplcm8gdGhlIGluaXRpYWwgcGFnZSBhbmQgZmx1c2ggaXQgdG8gZGlzayAqLwogCVNpbXBs ZUxydVplcm9BbmRXcml0ZVBhZ2UoU3ViVHJhbnNDdGwsIDApOworCisJcGFnZW5vID0gVHJhbnNh Y3Rpb25JZFRvUGFnZShYaWRGcm9tRnVsbFRyYW5zYWN0aW9uSWQoVHJhbnNhbVZhcmlhYmxlcy0+ bmV4dFhpZCkpOworCWlmIChwYWdlbm8pCisJCVNpbXBsZUxydVplcm9BbmRXcml0ZVBhZ2UoU3Vi VHJhbnNDdGwsIHBhZ2Vubyk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKaW5k ZXggN2ZmYjIxNzkxNS4uZWJmNjdkMDcxMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpA QCAtMTM3LDYgKzEzNywxMCBAQCBpbnQJCQltYXhfc2xvdF93YWxfa2VlcF9zaXplX21iID0gLTE7 CiBpbnQJCQl3YWxfZGVjb2RlX2J1ZmZlcl9zaXplID0gNTEyICogMTAyNDsKIGJvb2wJCXRyYWNr X3dhbF9pb190aW1pbmcgPSBmYWxzZTsKIAorVHJhbnNhY3Rpb25JZAkJc3RhcnRfeGlkID0gRmly c3ROb3JtYWxUcmFuc2FjdGlvbklkOworTXVsdGlYYWN0SWQJCQlzdGFydF9teGlkID0gRmlyc3RN dWx0aVhhY3RJZDsKK011bHRpWGFjdE9mZnNldAkJc3RhcnRfbXhvZmYgPSAwOworCiAjaWZkZWYg V0FMX0RFQlVHCiBib29sCQlYTE9HX0RFQlVHID0gZmFsc2U7CiAjZW5kaWYKQEAgLTUxMDIsMTMg KzUxMDYsMTQgQEAgQm9vdFN0cmFwWExPRyh1aW50MzIgZGF0YV9jaGVja3N1bV92ZXJzaW9uKQog CWNoZWNrUG9pbnQuZnVsbFBhZ2VXcml0ZXMgPSBmdWxsUGFnZVdyaXRlczsKIAljaGVja1BvaW50 LndhbF9sZXZlbCA9IHdhbF9sZXZlbDsKIAljaGVja1BvaW50Lm5leHRYaWQgPQotCQlGdWxsVHJh bnNhY3Rpb25JZEZyb21FcG9jaEFuZFhpZCgwLCBGaXJzdE5vcm1hbFRyYW5zYWN0aW9uSWQpOwor CQlGdWxsVHJhbnNhY3Rpb25JZEZyb21FcG9jaEFuZFhpZCgwLCBNYXgoRmlyc3ROb3JtYWxUcmFu c2FjdGlvbklkLAorCQkJCQkJCQkJCQkJc3RhcnRfeGlkKSk7CiAJY2hlY2tQb2ludC5uZXh0T2lk ID0gRmlyc3RHZW5ia2lPYmplY3RJZDsKLQljaGVja1BvaW50Lm5leHRNdWx0aSA9IEZpcnN0TXVs dGlYYWN0SWQ7Ci0JY2hlY2tQb2ludC5uZXh0TXVsdGlPZmZzZXQgPSAwOwotCWNoZWNrUG9pbnQu b2xkZXN0WGlkID0gRmlyc3ROb3JtYWxUcmFuc2FjdGlvbklkOworCWNoZWNrUG9pbnQubmV4dE11 bHRpID0gTWF4KEZpcnN0TXVsdGlYYWN0SWQsIHN0YXJ0X214aWQpOworCWNoZWNrUG9pbnQubmV4 dE11bHRpT2Zmc2V0ID0gc3RhcnRfbXhvZmY7CisJY2hlY2tQb2ludC5vbGRlc3RYaWQgPSBYaWRG cm9tRnVsbFRyYW5zYWN0aW9uSWQoY2hlY2tQb2ludC5uZXh0WGlkKTsKIAljaGVja1BvaW50Lm9s ZGVzdFhpZERCID0gVGVtcGxhdGUxRGJPaWQ7Ci0JY2hlY2tQb2ludC5vbGRlc3RNdWx0aSA9IEZp cnN0TXVsdGlYYWN0SWQ7CisJY2hlY2tQb2ludC5vbGRlc3RNdWx0aSA9IGNoZWNrUG9pbnQubmV4 dE11bHRpOwogCWNoZWNrUG9pbnQub2xkZXN0TXVsdGlEQiA9IFRlbXBsYXRlMURiT2lkOwogCWNo ZWNrUG9pbnQub2xkZXN0Q29tbWl0VHNYaWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKIAljaGVj a1BvaW50Lm5ld2VzdENvbW1pdFRzWGlkID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMgYi9zcmMvYmFja2VuZC9ib290 c3RyYXAvYm9vdHN0cmFwLmMKaW5kZXggZmM4NjM4YzFiNi4uNTFmYzExMDZmZSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2Jv b3RzdHJhcC9ib290c3RyYXAuYwpAQCAtMjIwLDcgKzIyMCw3IEBAIEJvb3RzdHJhcE1vZGVNYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10sIGJvb2wgY2hlY2tfb25seSkKIAlhcmd2Kys7CiAJYXJn Yy0tOwogCi0Jd2hpbGUgKChmbGFnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJCOmM6ZDpEOkZrcjpY Oi06IikpICE9IC0xKQorCXdoaWxlICgoZmxhZyA9IGdldG9wdChhcmdjLCBhcmd2LCAiQjpjOmQ6 RDpGa206bzpyOlg6eDotOiIpKSAhPSAtMSkKIAl7CiAJCXN3aXRjaCAoZmxhZykKIAkJewpAQCAt Mjg4LDEyICsyODgsNjAgQEAgQm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb XSwgYm9vbCBjaGVja19vbmx5KQogCQkJY2FzZSAnayc6CiAJCQkJYm9vdHN0cmFwX2RhdGFfY2hl Y2tzdW1fdmVyc2lvbiA9IFBHX0RBVEFfQ0hFQ0tTVU1fVkVSU0lPTjsKIAkJCQlicmVhazsKKwkJ CWNhc2UgJ20nOgorCQkJCXsKKwkJCQkJY2hhcgkgICAqZW5kcHRyOworCisJCQkJCWVycm5vID0g MDsKKwkJCQkJc3RhcnRfbXhpZCA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7CisKKwkJ CQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vICE9IDAg fHwKKwkJCQkJCSFTdGFydE11bHRpWGFjdElkSXNWYWxpZChzdGFydF9teGlkKSkKKwkJCQkJewor CQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJS T1IpLAorCQkJCQkJCQkgZXJybXNnKCJpbnZhbGlkIGluaXRpYWwgZGF0YWJhc2UgY2x1c3RlciBt dWx0aXhhY3QgaWQiKSkpOworCQkJCQl9CisJCQkJfQorCQkJCWJyZWFrOworCQkJY2FzZSAnbyc6 CisJCQkJeworCQkJCQljaGFyCSAgICplbmRwdHI7CisKKwkJCQkJZXJybm8gPSAwOworCQkJCQlz dGFydF9teG9mZiA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7CisKKwkJCQkJaWYgKGVu ZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vICE9IDAgfHwKKwkJCQkJ CSFTdGFydE11bHRpWGFjdE9mZnNldElzVmFsaWQoc3RhcnRfbXhvZmYpKQorCQkJCQl7CisJCQkJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiks CisJCQkJCQkJCSBlcnJtc2coImludmFsaWQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIG11bHRp eGFjdCBvZmZzZXQiKSkpOworCQkJCQl9CisJCQkJfQorCQkJCWJyZWFrOwogCQkJY2FzZSAncic6 CiAJCQkJc3RybGNweShPdXRwdXRGaWxlTmFtZSwgb3B0YXJnLCBNQVhQR1BBVEgpOwogCQkJCWJy ZWFrOwogCQkJY2FzZSAnWCc6CiAJCQkJU2V0Q29uZmlnT3B0aW9uKCJ3YWxfc2VnbWVudF9zaXpl Iiwgb3B0YXJnLCBQR0NfSU5URVJOQUwsIFBHQ19TX0RZTkFNSUNfREVGQVVMVCk7CiAJCQkJYnJl YWs7CisJCQljYXNlICd4JzoKKwkJCQl7CisJCQkJCWNoYXIJICAgKmVuZHB0cjsKKworCQkJCQll cnJubyA9IDA7CisJCQkJCXN0YXJ0X3hpZCA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7 CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5v ICE9IDAgfHwKKwkJCQkJCSFTdGFydFRyYW5zYWN0aW9uSWRJc1ZhbGlkKHN0YXJ0X3hpZCkpCisJ CQkJCXsKKwkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lO VEFYX0VSUk9SKSwKKwkJCQkJCQkJIGVycm1zZygiaW52YWxpZCBpbml0aWFsIGRhdGFiYXNlIGNs dXN0ZXIgeGlkIHZhbHVlIikpKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlicmVhazsKIAkJCWRlZmF1 bHQ6CiAJCQkJd3JpdGVfc3RkZXJyKCJUcnkgXCIlcyAtLWhlbHBcIiBmb3IgbW9yZSBpbmZvcm1h dGlvbi5cbiIsCiAJCQkJCQkJIHByb2duYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL21h aW4vbWFpbi5jIGIvc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMKaW5kZXggYmRjYjVlNGYyNi4uOTEw ZjJjZWI2YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMKKysrIGIvc3JjL2Jh Y2tlbmQvbWFpbi9tYWluLmMKQEAgLTQyNywxMiArNDI3LDE4IEBAIGhlbHAoY29uc3QgY2hhciAq cHJvZ25hbWUpCiAJcHJpbnRmKF8oIiAgLUUgICAgICAgICAgICAgICAgIGVjaG8gc3RhdGVtZW50 IGJlZm9yZSBleGVjdXRpb25cbiIpKTsKIAlwcmludGYoXygiICAtaiAgICAgICAgICAgICAgICAg ZG8gbm90IHVzZSBuZXdsaW5lIGFzIGludGVyYWN0aXZlIHF1ZXJ5IGRlbGltaXRlclxuIikpOwog CXByaW50ZihfKCIgIC1yIEZJTEVOQU1FICAgICAgICBzZW5kIHN0ZG91dCBhbmQgc3RkZXJyIHRv IGdpdmVuIGZpbGVcbiIpKTsKKwlwcmludGYoXygiICAtbSBTVEFSVF9NWElEICAgICAgc2V0IGlu aXRpYWwgZGF0YWJhc2UgY2x1c3RlciBtdWx0aXhhY3QgaWRcbiIpKTsKKwlwcmludGYoXygiICAt byBTVEFSVF9NWE9GRiAgICAgc2V0IGluaXRpYWwgZGF0YWJhc2UgY2x1c3RlciBtdWx0aXhhY3Qg b2Zmc2V0XG4iKSk7CisJcHJpbnRmKF8oIiAgLXggU1RBUlRfWElEICAgICAgIHNldCBpbml0aWFs IGRhdGFiYXNlIGNsdXN0ZXIgeGlkXG4iKSk7CiAKIAlwcmludGYoXygiXG5PcHRpb25zIGZvciBi b290c3RyYXBwaW5nIG1vZGU6XG4iKSk7CiAJcHJpbnRmKF8oIiAgLS1ib290ICAgICAgICAgICAg IHNlbGVjdHMgYm9vdHN0cmFwcGluZyBtb2RlIChtdXN0IGJlIGZpcnN0IGFyZ3VtZW50KVxuIikp OwogCXByaW50ZihfKCIgIC0tY2hlY2sgICAgICAgICAgICBzZWxlY3RzIGNoZWNrIG1vZGUgKG11 c3QgYmUgZmlyc3QgYXJndW1lbnQpXG4iKSk7CiAJcHJpbnRmKF8oIiAgREJOQU1FICAgICAgICAg ICAgIGRhdGFiYXNlIG5hbWUgKG1hbmRhdG9yeSBhcmd1bWVudCBpbiBib290c3RyYXBwaW5nIG1v ZGUpXG4iKSk7CiAJcHJpbnRmKF8oIiAgLXIgRklMRU5BTUUgICAgICAgIHNlbmQgc3Rkb3V0IGFu ZCBzdGRlcnIgdG8gZ2l2ZW4gZmlsZVxuIikpOworCXByaW50ZihfKCIgIC1tIFNUQVJUX01YSUQg ICAgICBzZXQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIG11bHRpeGFjdCBpZFxuIikpOworCXBy aW50ZihfKCIgIC1vIFNUQVJUX01YT0ZGICAgICBzZXQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVy IG11bHRpeGFjdCBvZmZzZXRcbiIpKTsKKwlwcmludGYoXygiICAteCBTVEFSVF9YSUQgICAgICAg c2V0IGluaXRpYWwgZGF0YWJhc2UgY2x1c3RlciB4aWRcbiIpKTsKIAogCXByaW50ZihfKCJcblBs ZWFzZSByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgY29tcGxldGUgbGlzdCBvZiBydW4t dGltZVxuIgogCQkJICJjb25maWd1cmF0aW9uIHNldHRpbmdzIGFuZCBob3cgdG8gc2V0IHRoZW0g b24gdGhlIGNvbW1hbmQgbGluZSBvciBpblxuIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9z dG1hc3Rlci9wb3N0bWFzdGVyLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIu YwppbmRleCBlMWQ2NDNiMDEzLi5lNDhlNTI4NDk3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9w b3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3Rt YXN0ZXIuYwpAQCAtNTk1LDcgKzU5NSw3IEBAIFBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAJICogdGNvcC9wb3N0Z3Jlcy5jICh0aGUgb3B0aW9uIHNldHMgc2hvdWxkIG5v dCBjb25mbGljdCkgYW5kIHdpdGggdGhlCiAJICogY29tbW9uIGhlbHAoKSBmdW5jdGlvbiBpbiBt YWluL21haW4uYy4KIAkgKi8KLQl3aGlsZSAoKG9wdCA9IGdldG9wdChhcmdjLCBhcmd2LCAiQjpi QzpjOkQ6ZDpFZUZmOmg6aWprOmxOOk9QcDpyOlM6c1R0Olc6LToiKSkgIT0gLTEpCisJd2hpbGUg KChvcHQgPSBnZXRvcHQoYXJnYywgYXJndiwgIkI6YkM6YzpEOmQ6RWVGZjpoOmlqazpsbTpOOk9v OlBwOnI6UzpzVHQ6Vzp4Oi06IikpICE9IC0xKQogCXsKIAkJc3dpdGNoIChvcHQpCiAJCXsKQEAg LTcwNSwxMCArNzA1LDE4IEBAIFBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p CiAJCQkJU2V0Q29uZmlnT3B0aW9uKCJtYXhfY29ubmVjdGlvbnMiLCBvcHRhcmcsIFBHQ19QT1NU TUFTVEVSLCBQR0NfU19BUkdWKTsKIAkJCQlicmVhazsKIAorCQkJY2FzZSAnbSc6CisJCQkJLyog b25seSB1c2VkIGJ5IHNpbmdsZS11c2VyIGJhY2tlbmQgKi8KKwkJCQlicmVhazsKKwogCQkJY2Fz ZSAnTyc6CiAJCQkJU2V0Q29uZmlnT3B0aW9uKCJhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyIsICJ0 cnVlIiwgUEdDX1BPU1RNQVNURVIsIFBHQ19TX0FSR1YpOwogCQkJCWJyZWFrOwogCisJCQljYXNl ICdvJzoKKwkJCQkvKiBvbmx5IHVzZWQgYnkgc2luZ2xlLXVzZXIgYmFja2VuZCAqLworCQkJCWJy ZWFrOworCiAJCQljYXNlICdQJzoKIAkJCQlTZXRDb25maWdPcHRpb24oImlnbm9yZV9zeXN0ZW1f aW5kZXhlcyIsICJ0cnVlIiwgUEdDX1BPU1RNQVNURVIsIFBHQ19TX0FSR1YpOwogCQkJCWJyZWFr OwpAQCAtNzU5LDYgKzc2NywxMCBAQCBQb3N0bWFzdGVyTWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQogCQkJCVNldENvbmZpZ09wdGlvbigicG9zdF9hdXRoX2RlbGF5Iiwgb3B0YXJnLCBQR0Nf UE9TVE1BU1RFUiwgUEdDX1NfQVJHVik7CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgJ3gnOgorCQkJ CS8qIG9ubHkgdXNlZCBieSBzaW5nbGUtdXNlciBiYWNrZW5kICovCisJCQkJYnJlYWs7CisKIAkJ CWRlZmF1bHQ6CiAJCQkJd3JpdGVfc3RkZXJyKCJUcnkgXCIlcyAtLWhlbHBcIiBmb3IgbW9yZSBp bmZvcm1hdGlvbi5cbiIsCiAJCQkJCQkJIHByb2duYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3Rjb3AvcG9zdGdyZXMuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYwppbmRleCBk MzU2ODMwZjc1Li40ZWMzOTcwMmYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3Bvc3Rn cmVzLmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC0zODM0LDcgKzM4MzQs NyBAQCBwcm9jZXNzX3Bvc3RncmVzX3N3aXRjaGVzKGludCBhcmdjLCBjaGFyICphcmd2W10sIEd1 Y0NvbnRleHQgY3R4LAogCSAqIHBvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jICh0aGUgb3B0aW9uIHNl dHMgc2hvdWxkIG5vdCBjb25mbGljdCkgYW5kIHdpdGgKIAkgKiB0aGUgY29tbW9uIGhlbHAoKSBm dW5jdGlvbiBpbiBtYWluL21haW4uYy4KIAkgKi8KLQl3aGlsZSAoKGZsYWcgPSBnZXRvcHQoYXJn YywgYXJndiwgIkI6YkM6YzpEOmQ6RWVGZjpoOmlqazpsTjpuT1BwOnI6UzpzVHQ6djpXOi06Iikp ICE9IC0xKQorCXdoaWxlICgoZmxhZyA9IGdldG9wdChhcmdjLCBhcmd2LCAiQjpiQzpjOkQ6ZDpF ZUZmOmg6aWprOmxtOk46bk9vOlBwOnI6UzpzVHQ6djpXOng6LToiKSkgIT0gLTEpCiAJewogCQlz d2l0Y2ggKGZsYWcpCiAJCXsKQEAgLTM5MzksNiArMzkzOSwyMyBAQCBwcm9jZXNzX3Bvc3RncmVz X3N3aXRjaGVzKGludCBhcmdjLCBjaGFyICphcmd2W10sIEd1Y0NvbnRleHQgY3R4LAogCQkJCVNl dENvbmZpZ09wdGlvbigic3NsIiwgInRydWUiLCBjdHgsIGd1Y3NvdXJjZSk7CiAJCQkJYnJlYWs7 CiAKKwkJCWNhc2UgJ20nOgorCQkJCXsKKwkJCQkJY2hhcgkgICAqZW5kcHRyOworCisJCQkJCWVy cm5vID0gMDsKKwkJCQkJc3RhcnRfbXhpZCA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7 CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5v ICE9IDAgfHwKKwkJCQkJCSFTdGFydE11bHRpWGFjdElkSXNWYWxpZChzdGFydF9teGlkKSkKKwkJ CQkJeworCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5U QVhfRVJST1IpLAorCQkJCQkJCQkgZXJybXNnKCJpbnZhbGlkIGluaXRpYWwgZGF0YWJhc2UgY2x1 c3RlciBtdWx0aXhhY3QgaWQiKSkpOworCQkJCQl9CisJCQkJfQorCQkJCWJyZWFrOworCiAJCQlj YXNlICdOJzoKIAkJCQlTZXRDb25maWdPcHRpb24oIm1heF9jb25uZWN0aW9ucyIsIG9wdGFyZywg Y3R4LCBndWNzb3VyY2UpOwogCQkJCWJyZWFrOwpAQCAtMzk1MSw2ICszOTY4LDIzIEBAIHByb2Nl c3NfcG9zdGdyZXNfc3dpdGNoZXMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgR3VjQ29udGV4dCBj dHgsCiAJCQkJU2V0Q29uZmlnT3B0aW9uKCJhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyIsICJ0cnVl IiwgY3R4LCBndWNzb3VyY2UpOwogCQkJCWJyZWFrOwogCisJCQljYXNlICdvJzoKKwkJCQl7CisJ CQkJCWNoYXIJICAgKmVuZHB0cjsKKworCQkJCQllcnJubyA9IDA7CisJCQkJCXN0YXJ0X214b2Zm ID0gc3RydG91NjQob3B0YXJnLCAmZW5kcHRyLCAwKTsKKworCQkJCQlpZiAoZW5kcHRyID09IG9w dGFyZyB8fCAqZW5kcHRyICE9ICdcMCcgfHwgZXJybm8gIT0gMCB8fAorCQkJCQkJIVN0YXJ0TXVs dGlYYWN0T2Zmc2V0SXNWYWxpZChzdGFydF9teG9mZikpCisJCQkJCXsKKwkJCQkJCWVyZXBvcnQo RVJST1IsCisJCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCQkJ IGVycm1zZygiaW52YWxpZCBpbml0aWFsIGRhdGFiYXNlIGNsdXN0ZXIgbXVsdGl4YWN0IG9mZnNl dCIpKSk7CisJCQkJCX0KKwkJCQl9CisJCQkJYnJlYWs7CisKIAkJCWNhc2UgJ1AnOgogCQkJCVNl dENvbmZpZ09wdGlvbigiaWdub3JlX3N5c3RlbV9pbmRleGVzIiwgInRydWUiLCBjdHgsIGd1Y3Nv dXJjZSk7CiAJCQkJYnJlYWs7CkBAIC00MDA1LDYgKzQwMzksMjMgQEAgcHJvY2Vzc19wb3N0Z3Jl c19zd2l0Y2hlcyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBHdWNDb250ZXh0IGN0eCwKIAkJCQlT ZXRDb25maWdPcHRpb24oInBvc3RfYXV0aF9kZWxheSIsIG9wdGFyZywgY3R4LCBndWNzb3VyY2Up OwogCQkJCWJyZWFrOwogCisJCQljYXNlICd4JzoKKwkJCQl7CisJCQkJCWNoYXIJICAgKmVuZHB0 cjsKKworCQkJCQllcnJubyA9IDA7CisJCQkJCXN0YXJ0X3hpZCA9IHN0cnRvdTY0KG9wdGFyZywg JmVuZHB0ciwgMCk7CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAn XDAnIHx8IGVycm5vICE9IDAgfHwKKwkJCQkJCSFTdGFydFRyYW5zYWN0aW9uSWRJc1ZhbGlkKHN0 YXJ0X3hpZCkpCisJCQkJCXsKKwkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJCShlcnJjb2Rl KEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCQkJIGVycm1zZygiaW52YWxpZCBpbml0aWFs IGRhdGFiYXNlIGNsdXN0ZXIgeGlkIikpKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlicmVhazsKKwog CQkJZGVmYXVsdDoKIAkJCQllcnJzKys7CiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmlu L2luaXRkYi9pbml0ZGIuYyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCmluZGV4IDkyZmUyZjUz MWYuLjk5NzRkZDlmNmIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCisrKyBi L3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCkBAIC0xNjksNiArMTY5LDkgQEAgc3RhdGljIGNoYXIg Knhsb2dfZGlyID0gTlVMTDsKIHN0YXRpYyBpbnQJd2FsX3NlZ21lbnRfc2l6ZV9tYiA9IChERUZB VUxUX1hMT0dfU0VHX1NJWkUpIC8gKDEwMjQgKiAxMDI0KTsKIHN0YXRpYyBEYXRhRGlyU3luY01l dGhvZCBzeW5jX21ldGhvZCA9IERBVEFfRElSX1NZTkNfTUVUSE9EX0ZTWU5DOwogc3RhdGljIGJv b2wgc3luY19kYXRhX2ZpbGVzID0gdHJ1ZTsKK3N0YXRpYyBUcmFuc2FjdGlvbklkIHN0YXJ0X3hp ZCA9IDA7CitzdGF0aWMgTXVsdGlYYWN0SWQgc3RhcnRfbXhpZCA9IDA7CitzdGF0aWMgTXVsdGlY YWN0T2Zmc2V0IHN0YXJ0X214b2ZmID0gMDsKIAogCiAvKiBpbnRlcm5hbCB2YXJzICovCkBAIC0x NTgzLDYgKzE1ODYsMTEgQEAgYm9vdHN0cmFwX3RlbXBsYXRlMSh2b2lkKQogCWJraV9saW5lcyA9 IHJlcGxhY2VfdG9rZW4oYmtpX2xpbmVzLCAiUE9TVEdSRVMiLAogCQkJCQkJCSAgZXNjYXBlX3F1 b3Rlc19ia2kodXNlcm5hbWUpKTsKIAorCS8qIHJlbGZyb3plbnhpZCBtdXN0IG5vdCBiZSBsZXNz IHRoYW4gRmlyc3ROb3JtYWxUcmFuc2FjdGlvbklkICovCisJc3ByaW50ZihidWYsICIldSIsIE1h eChzdGFydF94aWQsIDMpKTsKKwlia2lfbGluZXMgPSByZXBsYWNlX3Rva2VuKGJraV9saW5lcywg IlJFQ0VOVFhNSU4iLAorCQkJCQkJCSAgYnVmKTsKKwogCWJraV9saW5lcyA9IHJlcGxhY2VfdG9r ZW4oYmtpX2xpbmVzLCAiRU5DT0RJTkciLAogCQkJCQkJCSAgZW5jb2RpbmdpZF90b19zdHJpbmco ZW5jb2RpbmdpZCkpOwogCkBAIC0xNjA4LDYgKzE2MTYsOSBAQCBib290c3RyYXBfdGVtcGxhdGUx KHZvaWQpCiAKIAlwcmludGZQUUV4cEJ1ZmZlcigmY21kLCAiXCIlc1wiIC0tYm9vdCAlcyAlcyIs IGJhY2tlbmRfZXhlYywgYm9vdF9vcHRpb25zLCBleHRyYV9vcHRpb25zKTsKIAlhcHBlbmRQUUV4 cEJ1ZmZlcigmY21kLCAiIC1YICVkIiwgd2FsX3NlZ21lbnRfc2l6ZV9tYiAqICgxMDI0ICogMTAy NCkpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZjbWQsICIgLW0gJXUiLCBzdGFydF9teGlkKTsKKwlh cHBlbmRQUUV4cEJ1ZmZlcigmY21kLCAiIC1vICUiIFBSSXU2NCwgc3RhcnRfbXhvZmYpOworCWFw cGVuZFBRRXhwQnVmZmVyKCZjbWQsICIgLXggJXUiLCBzdGFydF94aWQpOwogCWlmIChkYXRhX2No ZWNrc3VtcykKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNtZCwgIiAtayIpOwogCWlmIChkZWJ1 ZykKQEAgLTI1NDksMTMgKzI1NjAsMjEgQEAgdXNhZ2UoY29uc3QgY2hhciAqcHJvZ25hbWUpCiAJ cHJpbnRmKF8oIiAgLWQsIC0tZGVidWcgICAgICAgICAgICAgICBnZW5lcmF0ZSBsb3RzIG9mIGRl YnVnZ2luZyBvdXRwdXRcbiIpKTsKIAlwcmludGYoXygiICAgICAgLS1kaXNjYXJkLWNhY2hlcyAg ICAgIHNldCBkZWJ1Z19kaXNjYXJkX2NhY2hlcz0xXG4iKSk7CiAJcHJpbnRmKF8oIiAgLUwgRElS RUNUT1JZICAgICAgICAgICAgICB3aGVyZSB0byBmaW5kIHRoZSBpbnB1dCBmaWxlc1xuIikpOwor CXByaW50ZihfKCIgIC1tLCAtLW11bHRpeGFjdC1pZD1TVEFSVF9NWElEXG4iCisJCQkgIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIG11bHRp eGFjdCBpZFxuIgorCQkJICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4IHZhbHVlIGlz IDJeNjItMVxuIikpOwogCXByaW50ZihfKCIgIC1uLCAtLW5vLWNsZWFuICAgICAgICAgICAgZG8g bm90IGNsZWFuIHVwIGFmdGVyIGVycm9yc1xuIikpOwogCXByaW50ZihfKCIgIC1OLCAtLW5vLXN5 bmMgICAgICAgICAgICAgZG8gbm90IHdhaXQgZm9yIGNoYW5nZXMgdG8gYmUgd3JpdHRlbiBzYWZl bHkgdG8gZGlza1xuIikpOwogCXByaW50ZihfKCIgICAgICAtLW5vLXN5bmMtZGF0YS1maWxlcyAg ZG8gbm90IHN5bmMgZmlsZXMgd2l0aGluIGRhdGFiYXNlIGRpcmVjdG9yaWVzXG4iKSk7CiAJcHJp bnRmKF8oIiAgICAgIC0tbm8taW5zdHJ1Y3Rpb25zICAgICBkbyBub3QgcHJpbnQgaW5zdHJ1Y3Rp b25zIGZvciBuZXh0IHN0ZXBzXG4iKSk7CisJcHJpbnRmKF8oIiAgLW8sIC0tbXVsdGl4YWN0LW9m ZnNldD1TVEFSVF9NWE9GRlxuIgorCQkJICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0 IGluaXRpYWwgZGF0YWJhc2UgY2x1c3RlciBtdWx0aXhhY3Qgb2Zmc2V0XG4iCisJCQkgIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYXggdmFsdWUgaXMgMl42Mi0xXG4iKSk7CiAJcHJpbnRm KF8oIiAgLXMsIC0tc2hvdyAgICAgICAgICAgICAgICBzaG93IGludGVybmFsIHNldHRpbmdzLCB0 aGVuIGV4aXRcbiIpKTsKIAlwcmludGYoXygiICAgICAgLS1zeW5jLW1ldGhvZD1NRVRIT0QgIHNl dCBtZXRob2QgZm9yIHN5bmNpbmcgZmlsZXMgdG8gZGlza1xuIikpOwogCXByaW50ZihfKCIgIC1T LCAtLXN5bmMtb25seSAgICAgICAgICAgb25seSBzeW5jIGRhdGFiYXNlIGZpbGVzIHRvIGRpc2ss IHRoZW4gZXhpdFxuIikpOworCXByaW50ZihfKCIgIC14LCAtLXhpZD1TVEFSVF9YSUQgICAgICAg c2V0IGluaXRpYWwgZGF0YWJhc2UgY2x1c3RlciB4aWRcbiIKKwkJCSAiICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1heCB2YWx1ZSBpcyAyXjYyLTFcbiIpKTsKIAlwcmludGYoXygiXG5PdGhl ciBvcHRpb25zOlxuIikpOwogCXByaW50ZihfKCIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAg b3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24sIHRoZW4gZXhpdFxuIikpOwogCXByaW50ZihfKCIg IC0/LCAtLWhlbHAgICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhpdFxuIikp OwpAQCAtMzA5MCw2ICszMTA5LDE4IEBAIGluaXRpYWxpemVfZGF0YV9kaXJlY3Rvcnkodm9pZCkK IAkvKiBOb3cgY3JlYXRlIGFsbCB0aGUgdGV4dCBjb25maWcgZmlsZXMgKi8KIAlzZXR1cF9jb25m aWcoKTsKIAorCWlmIChzdGFydF9teGlkICE9IDApCisJCXByaW50ZihfKCJzZWxlY3RpbmcgaW5p dGlhbCBtdWx0aXhhY3QgaWQgLi4uICV1XG4iKSwKKwkJCQkgc3RhcnRfbXhpZCk7CisKKwlpZiAo c3RhcnRfbXhvZmYgIT0gMCkKKwkJcHJpbnRmKF8oInNlbGVjdGluZyBpbml0aWFsIG11bHRpeGFj dCBvZmZzZXQgLi4uICUiIFBSSXU2NCAiXG4iKSwKKwkJCQkgc3RhcnRfbXhvZmYpOworCisJaWYg KHN0YXJ0X3hpZCAhPSAwKQorCQlwcmludGYoXygic2VsZWN0aW5nIGluaXRpYWwgeGlkIC4uLiAl dVxuIiksCisJCQkJIHN0YXJ0X3hpZCk7CisKIAkvKiBCb290c3RyYXAgdGVtcGxhdGUxICovCiAJ Ym9vdHN0cmFwX3RlbXBsYXRlMSgpOwogCkBAIC0zMTA2LDggKzMxMzcsMTIgQEAgaW5pdGlhbGl6 ZV9kYXRhX2RpcmVjdG9yeSh2b2lkKQogCWZmbHVzaChzdGRvdXQpOwogCiAJaW5pdFBRRXhwQnVm ZmVyKCZjbWQpOwotCXByaW50ZlBRRXhwQnVmZmVyKCZjbWQsICJcIiVzXCIgJXMgJXMgdGVtcGxh dGUxID4lcyIsCi0JCQkJCSAgYmFja2VuZF9leGVjLCBiYWNrZW5kX29wdGlvbnMsIGV4dHJhX29w dGlvbnMsIERFVk5VTEwpOworCXByaW50ZlBRRXhwQnVmZmVyKCZjbWQsICJcIiVzXCIgJXMgJXMi LAorCQkJCQkgIGJhY2tlbmRfZXhlYywgYmFja2VuZF9vcHRpb25zLCBleHRyYV9vcHRpb25zKTsK KwlhcHBlbmRQUUV4cEJ1ZmZlcigmY21kLCAiIC1tICV1Iiwgc3RhcnRfbXhpZCk7CisJYXBwZW5k UFFFeHBCdWZmZXIoJmNtZCwgIiAtbyAlIiBQUkl1NjQsIHN0YXJ0X214b2ZmKTsKKwlhcHBlbmRQ UUV4cEJ1ZmZlcigmY21kLCAiIC14ICV1Iiwgc3RhcnRfeGlkKTsKKwlhcHBlbmRQUUV4cEJ1ZmZl cigmY21kLCAiIHRlbXBsYXRlMSA+JXMiLCBERVZOVUxMKTsKIAogCVBHX0NNRF9PUEVOKGNtZC5k YXRhKTsKIApAQCAtMzE5NSw2ICszMjMwLDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQogCQl7InN5bmMtbWV0aG9kIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIDE5fSwKIAkJeyJu by1kYXRhLWNoZWNrc3VtcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAyMH0sCiAJCXsibm8tc3luYy1k YXRhLWZpbGVzIiwgbm9fYXJndW1lbnQsIE5VTEwsIDIxfSwKKwkJeyJ4aWQiLCByZXF1aXJlZF9h cmd1bWVudCwgTlVMTCwgJ3gnfSwKKwkJeyJtdWx0aXhhY3QtaWQiLCByZXF1aXJlZF9hcmd1bWVu dCwgTlVMTCwgJ20nfSwKKwkJeyJtdWx0aXhhY3Qtb2Zmc2V0IiwgcmVxdWlyZWRfYXJndW1lbnQs IE5VTEwsICdvJ30sCiAJCXtOVUxMLCAwLCBOVUxMLCAwfQogCX07CiAKQEAgLTMyMzYsNyArMzI3 NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogCS8qIHByb2Nlc3MgY29tbWFu ZC1saW5lIG9wdGlvbnMgKi8KIAotCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3Ys ICJBOmM6ZEQ6RTpna0w6bk5zU1Q6VTpXWDoiLAorCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFy Z2MsIGFyZ3YsICJBOmM6ZEQ6RTpna0w6bTpuTm86c1NUOlU6V3g6WDoiLAogCQkJCQkJCWxvbmdf b3B0aW9ucywgJm9wdGlvbl9pbmRleCkpICE9IC0xKQogCXsKIAkJc3dpdGNoIChjKQpAQCAtMzI5 NCw2ICszMzMyLDMwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCQlkZWJ1ZyA9 IHRydWU7CiAJCQkJcHJpbnRmKF8oIlJ1bm5pbmcgaW4gZGVidWcgbW9kZS5cbiIpKTsKIAkJCQli cmVhazsKKwkJCWNhc2UgJ20nOgorCQkJCXsKKwkJCQkJY2hhcgkgICAqZW5kcHRyOworCisJCQkJ CWVycm5vID0gMDsKKwkJCQkJc3RhcnRfbXhpZCA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwg MCk7CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVy cm5vICE9IDAgfHwKKwkJCQkJCSFTdGFydE11bHRpWGFjdElkSXNWYWxpZChzdGFydF9teGlkKSkK KwkJCQkJeworCQkJCQkJcGdfbG9nX2Vycm9yKCJpbnZhbGlkIGluaXRpYWwgZGF0YWJhc2UgY2x1 c3RlciBtdWx0aXhhY3QgaWQiKTsKKwkJCQkJCWV4aXQoMSk7CisJCQkJCX0KKwkJCQkJZWxzZSBp ZiAoc3RhcnRfbXhpZCA8IDEpIC8qIEZpcnN0TXVsdGlYYWN0SWQgKi8KKwkJCQkJeworCQkJCQkJ LyoKKwkJCQkJCSAqIFdlIGF2b2lkIG14aWQgdG8gYmUgc2lsZW50bHkgc2V0IHRvCisJCQkJCQkg KiBGaXJzdE11bHRpWGFjdElkLCB0aG91Z2ggaXQgZG9lcyBub3QgaGFybS4KKwkJCQkJCSAqLwor CQkJCQkJcGdfbG9nX2Vycm9yKCJtdWx0aXhhY3QgaWQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAw Iik7CisJCQkJCQlleGl0KDEpOworCQkJCQl9CisJCQkJfQorCQkJCWJyZWFrOwogCQkJY2FzZSAn bic6CiAJCQkJbm9jbGVhbiA9IHRydWU7CiAJCQkJcHJpbnRmKF8oIlJ1bm5pbmcgaW4gbm8tY2xl YW4gbW9kZS4gIE1pc3Rha2VzIHdpbGwgbm90IGJlIGNsZWFuZWQgdXAuXG4iKSk7CkBAIC0zMzAx LDYgKzMzNjMsMjEgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQkJY2FzZSAnTic6 CiAJCQkJZG9fc3luYyA9IGZhbHNlOwogCQkJCWJyZWFrOworCQkJY2FzZSAnbyc6CisJCQkJewor CQkJCQljaGFyCSAgICplbmRwdHI7CisKKwkJCQkJZXJybm8gPSAwOworCQkJCQlzdGFydF9teG9m ZiA9IHN0cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBv cHRhcmcgfHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vICE9IDAgfHwKKwkJCQkJCSFTdGFydE11 bHRpWGFjdE9mZnNldElzVmFsaWQoc3RhcnRfbXhvZmYpKQorCQkJCQl7CisJCQkJCQlwZ19sb2df ZXJyb3IoImludmFsaWQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIG11bHRpeGFjdCBvZmZzZXQi KTsKKwkJCQkJCWV4aXQoMSk7CisJCQkJCX0KKwkJCQl9CisJCQkJYnJlYWs7CiAJCQljYXNlICdT JzoKIAkJCQlzeW5jX29ubHkgPSB0cnVlOwogCQkJCWJyZWFrOwpAQCAtMzM5Miw2ICszNDY5LDMw IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCWNhc2UgMjE6CiAJCQkJc3luY19k YXRhX2ZpbGVzID0gZmFsc2U7CiAJCQkJYnJlYWs7CisJCQljYXNlICd4JzoKKwkJCQl7CisJCQkJ CWNoYXIJICAgKmVuZHB0cjsKKworCQkJCQllcnJubyA9IDA7CisJCQkJCXN0YXJ0X3hpZCA9IHN0 cnRvdTY0KG9wdGFyZywgJmVuZHB0ciwgMCk7CisKKwkJCQkJaWYgKGVuZHB0ciA9PSBvcHRhcmcg fHwgKmVuZHB0ciAhPSAnXDAnIHx8IGVycm5vICE9IDAgfHwKKwkJCQkJCSFTdGFydFRyYW5zYWN0 aW9uSWRJc1ZhbGlkKHN0YXJ0X3hpZCkpCisJCQkJCXsKKwkJCQkJCXBnX2xvZ19lcnJvcigiaW52 YWxpZCB2YWx1ZSBmb3IgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIHhpZCIpOworCQkJCQkJZXhp dCgxKTsKKwkJCQkJfQorCQkJCQllbHNlIGlmIChzdGFydF94aWQgPCAzKSAvKiBGaXJzdE5vcm1h bFRyYW5zYWN0aW9uSWQgKi8KKwkJCQkJeworCQkJCQkJLyoKKwkJCQkJCSAqIFdlIGF2b2lkIHhp ZCB0byBiZSBzaWxlbnRseSBzZXQgdG8KKwkJCQkJCSAqIEZpcnN0Tm9ybWFsVHJhbnNhY3Rpb25J ZCwgdGhvdWdoIGl0IGRvZXMgbm90IGhhcm0uCisJCQkJCQkgKi8KKwkJCQkJCXBnX2xvZ19lcnJv cigieGlkIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMiIpOworCQkJCQkJZXhpdCgxKTsKKwkJCQkJ fQorCQkJCX0KKwkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJLyogZ2V0b3B0X2xvbmcgYWxy ZWFkeSBlbWl0dGVkIGEgY29tcGxhaW50ICovCiAJCQkJcGdfbG9nX2Vycm9yX2hpbnQoIlRyeSBc IiVzIC0taGVscFwiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIsIHByb2duYW1lKTsKZGlmZiAtLWdp dCBhL3NyYy9iaW4vaW5pdGRiL3QvMDAxX2luaXRkYi5wbCBiL3NyYy9iaW4vaW5pdGRiL3QvMDAx X2luaXRkYi5wbAppbmRleCBiN2VmN2VkOGQwLi4xYzJlMTY3MTEwIDEwMDY0NAotLS0gYS9zcmMv YmluL2luaXRkYi90LzAwMV9pbml0ZGIucGwKKysrIGIvc3JjL2Jpbi9pbml0ZGIvdC8wMDFfaW5p dGRiLnBsCkBAIC0zMzEsNCArMzMxLDY0IEBAIGNvbW1hbmRfZmFpbHMoCiAJWyAncGdfY2hlY2tz dW1zJywgJy0tcGdkYXRhJyA9PiAkZGF0YWRpcl9ub2NoZWNrc3VtcyBdLAogCSJwZ19jaGVja3N1 bXMgZmFpbHMgd2l0aCBkYXRhIGNoZWNrc3VtIGRpc2FibGVkIik7CiAKKyMgU2V0IG5vbi1zdGFu ZGFyZCBpbml0aWFsIG14aWQvbXhvZmYveGlkLgorY29tbWFuZF9mYWlsc19saWtlKAorCVsgJ2lu aXRkYicsICctbScsICdzZXZlbicsICRkYXRhZGlyIF0sCisJcXIvaW5pdGRiOiBlcnJvcjogaW52 YWxpZCBpbml0aWFsIGRhdGFiYXNlIGNsdXN0ZXIgbXVsdGl4YWN0IGlkLywKKwknZmFpbHMgZm9y IGludmFsaWQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIG11bHRpeGFjdCBpZCcpOworY29tbWFu ZF9mYWlsc19saWtlKAorCVsgJ2luaXRkYicsICctbycsICdzZXZlbicsICRkYXRhZGlyIF0sCisJ cXIvaW5pdGRiOiBlcnJvcjogaW52YWxpZCBpbml0aWFsIGRhdGFiYXNlIGNsdXN0ZXIgbXVsdGl4 YWN0IG9mZnNldC8sCisJJ2ZhaWxzIGZvciBpbnZhbGlkIGluaXRpYWwgZGF0YWJhc2UgY2x1c3Rl ciBtdWx0aXhhY3Qgb2Zmc2V0Jyk7Citjb21tYW5kX2ZhaWxzX2xpa2UoCisJWyAnaW5pdGRiJywg Jy14JywgJ3NldmVuJywgJGRhdGFkaXIgXSwKKwlxci9pbml0ZGI6IGVycm9yOiBpbnZhbGlkIHZh bHVlIGZvciBpbml0aWFsIGRhdGFiYXNlIGNsdXN0ZXIgeGlkLywKKwknZmFpbHMgZm9yIGludmFs aWQgaW5pdGlhbCBkYXRhYmFzZSBjbHVzdGVyIHhpZCcpOworCitjb21tYW5kX2NoZWNrc19hbGwo CisJWyAnaW5pdGRiJywgJy1tJywgJzY1NTM1JywgIiR0ZW1wZGlyL2RhdGEtbTY1NTM1IiBdLAor CTAsCisJW3FyL3NlbGVjdGluZyBpbml0aWFsIG11bHRpeGFjdCBpZCAuLi4gNjU1MzUvXSwKKwlb XSwKKwknc2VsZWN0aW5nIGluaXRpYWwgbXVsdGl4YWN0IGlkJyk7Citjb21tYW5kX2NoZWNrc19h bGwoCisJWyAnaW5pdGRiJywgJy1vJywgJzY1NTM1JywgIiR0ZW1wZGlyL2RhdGEtbzY1NTM1IiBd LAorCTAsCisJW3FyL3NlbGVjdGluZyBpbml0aWFsIG11bHRpeGFjdCBvZmZzZXQgLi4uIDY1NTM1 L10sCisJW10sCisJJ3NlbGVjdGluZyBpbml0aWFsIG11bHRpeGFjdCBvZmZzZXQnKTsKK2NvbW1h bmRfY2hlY2tzX2FsbCgKKwlbICdpbml0ZGInLCAnLXgnLCAnNjU1MzUnLCAiJHRlbXBkaXIvZGF0 YS14NjU1MzUiIF0sCisJMCwKKwlbcXIvc2VsZWN0aW5nIGluaXRpYWwgeGlkIC4uLiA2NTUzNS9d LAorCVtdLAorCSdzZWxlY3RpbmcgaW5pdGlhbCB4aWQnKTsKKworIyBTZXR1cCBuZXcgY2x1c3Rl ciB3aXRoIGdpdmVuIG14aWQvbXhvZmYveGlkLgorbXkgJG5vZGU7CitteSAkcmVzdWx0OworCisk bm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygndGVzdC1teGlkJyk7Ciskbm9k ZS0+aW5pdChleHRyYSA9PiBbJy1tJywgJzE2Nzc3MjE1J10pOyAjIDB4RkZGRkZGCiskbm9kZS0+ c3RhcnQ7CiskcmVzdWx0ID0gJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIG5l eHRfbXVsdGl4YWN0X2lkIEZST00gcGdfY29udHJvbF9jaGVja3BvaW50KCk7Iik7CitvaygkcmVz dWx0ID49IDE2Nzc3MjE1LCAnc2V0dXAgY2x1c3RlciB3aXRoIGdpdmVuIG14aWQnKTsKKyRub2Rl LT5zdG9wOworCiskbm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygndGVzdC1t eG9mZicpOworJG5vZGUtPmluaXQoZXh0cmEgPT4gWyctbycsICcxNjc3NzIxNSddKTsgIyAweEZG RkZGRgorJG5vZGUtPnN0YXJ0OworJHJlc3VsdCA9ICRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgIlNFTEVDVCBuZXh0X211bHRpX29mZnNldCBGUk9NIHBnX2NvbnRyb2xfY2hlY2twb2ludCgp OyIpOworb2soJHJlc3VsdCA+PSAxNjc3NzIxNSwgJ3NldHVwIGNsdXN0ZXIgd2l0aCBnaXZlbiBt eG9mZicpOworJG5vZGUtPnN0b3A7CisKKyRub2RlID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rl ci0+bmV3KCd0ZXN0LXhpZCcpOworJG5vZGUtPmluaXQoZXh0cmEgPT4gWycteCcsICcxNjc3NzIx NSddKTsgIyAweEZGRkZGRgorJG5vZGUtPnN0YXJ0OworJHJlc3VsdCA9ICRub2RlLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIlNFTEVDVCB0eGlkX2N1cnJlbnQoKTsiKTsKK29rKCRyZXN1bHQgPj0g MTY3NzcyMTUsICdzZXR1cCBjbHVzdGVyIHdpdGggZ2l2ZW4geGlkIC0gY2hlY2sgMScpOworJHJl c3VsdCA9ICRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBvbGRlc3RfeGlkIEZS T00gcGdfY29udHJvbF9jaGVja3BvaW50KCk7Iik7CitvaygkcmVzdWx0ID49IDE2Nzc3MjE1LCAn c2V0dXAgY2x1c3RlciB3aXRoIGdpdmVuIHhpZCAtIGNoZWNrIDInKTsKKyRub2RlLT5zdG9wOwor CiBkb25lX3Rlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgg Yi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oCmluZGV4IGQxMjc5OGJlM2QuLjYxYTVjMGMyNjkg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgKKysrIGIvc3JjL2luY2x1ZGUv YWNjZXNzL3hsb2cuaApAQCAtOTQsNiArOTQsOSBAQCB0eXBlZGVmIGVudW0gUmVjb3ZlcnlTdGF0 ZQogfSBSZWNvdmVyeVN0YXRlOwogCiBleHRlcm4gUEdETExJTVBPUlQgaW50IHdhbF9sZXZlbDsK K2V4dGVybiBQR0RMTElNUE9SVCBUcmFuc2FjdGlvbklkIHN0YXJ0X3hpZDsKK2V4dGVybiBQR0RM TElNUE9SVCBNdWx0aVhhY3RJZCBzdGFydF9teGlkOworZXh0ZXJuIFBHRExMSU1QT1JUIE11bHRp WGFjdE9mZnNldCBzdGFydF9teG9mZjsKIAogLyogSXMgV0FMIGFyY2hpdmluZyBlbmFibGVkIChh bHdheXMgb3Igb25seSB3aGlsZSBzZXJ2ZXIgaXMgcnVubmluZyBub3JtYWxseSk/ICovCiAjZGVm aW5lIFhMb2dBcmNoaXZpbmdBY3RpdmUoKSBcCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jLmgg Yi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggZGU5YWMxM2JlNy4uMjBkMDE4MDVhZiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2MuaApAQCAtNjQ1LDYgKzY0NSwx MCBAQCB0eXBlZGVmIHVpbnQ2NCBNdWx0aVhhY3RPZmZzZXQ7CiAKIHR5cGVkZWYgdWludDMyIENv bW1hbmRJZDsKIAorI2RlZmluZSBTdGFydFRyYW5zYWN0aW9uSWRJc1ZhbGlkKHhpZCkJCQkoKHhp ZCkgPD0gMHhGRkZGRkZGRikKKyNkZWZpbmUgU3RhcnRNdWx0aVhhY3RJZElzVmFsaWQobXhpZCkJ CQkoKG14aWQpIDw9IDB4RkZGRkZGRkYpCisjZGVmaW5lIFN0YXJ0TXVsdGlYYWN0T2Zmc2V0SXNW YWxpZChvZmZzZXQpCQkoKG9mZnNldCkgPD0gMHhGRkZGRkZGRikKKwogI2RlZmluZSBGaXJzdENv bW1hbmRJZAkoKENvbW1hbmRJZCkgMCkKICNkZWZpbmUgSW52YWxpZENvbW1hbmRJZAkofihDb21t YW5kSWQpMCkKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jbGFzcy5oIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jbGFzcy5oCmluZGV4IDA3ZDE4MmRhNzkuLjA2ZTk5Njk4 NjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY2xhc3MuaAorKysgYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2NsYXNzLmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBDQVRBTE9HKHBn X2NsYXNzLDEyNTksUmVsYXRpb25SZWxhdGlvbklkKSBCS0lfQk9PVFNUUkFQIEJLSV9ST1dUWVBF X09JRCg4MyxSZWxhdAogCU9pZAkJCXJlbHJld3JpdGUgQktJX0RFRkFVTFQoMCkgQktJX0xPT0tV UF9PUFQocGdfY2xhc3MpOwogCiAJLyogYWxsIFhpZHMgPCB0aGlzIGFyZSBmcm96ZW4gaW4gdGhp cyByZWwgKi8KLQlUcmFuc2FjdGlvbklkIHJlbGZyb3plbnhpZCBCS0lfREVGQVVMVCgzKTsJLyog Rmlyc3ROb3JtYWxUcmFuc2FjdGlvbklkICovCisJVHJhbnNhY3Rpb25JZCByZWxmcm96ZW54aWQg QktJX0RFRkFVTFQoUkVDRU5UWE1JTik7CS8qIEZpcnN0Tm9ybWFsVHJhbnNhY3Rpb25JZCAqLwog CiAJLyogYWxsIG11bHRpeGFjdHMgaW4gdGhpcyByZWwgYXJlID49IHRoaXM7IGl0IGlzIHJlYWxs eSBhIE11bHRpWGFjdElkICovCiAJVHJhbnNhY3Rpb25JZCByZWxtaW5teGlkIEJLSV9ERUZBVUxU KDEpOwkvKiBGaXJzdE11bHRpWGFjdElkICovCi0tIAoyLjUwLjEKCg== --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0003-Make-pg_upgrade-convert-multixact-offsets.patch" Content-Disposition: attachment; filename="v17-0003-Make-pg_upgrade-convert-multixact-offsets.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rew2 RnJvbSA1NDAyZmEwZjM5MDA0N2JiOGY5NGE1MjE1MTUyMmQzZmRkYjcxZDEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8bS5vcmxvdkBwb3N0Z3Jlc3Byby5ydT4K RGF0ZTogVHVlLCAxMyBBdWcgMjAyNCAxNDo0NDo1MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggdjE3 IDMvN10gTWFrZSBwZ191cGdyYWRlIGNvbnZlcnQgbXVsdGl4YWN0IG9mZnNldHMuCgpBdXRob3I6 IE1heGltIE9ybG92IDxvcmxvdm1nQGdtYWlsLmNvbT4KQXV0aG9yOiBZdXJhIFNva29sb3YgPHku c29rb2xvdkBwb3N0Z3Jlc3Byby5ydT4KLS0tCiBzcmMvYmluL3BnX3VwZ3JhZGUvTWFrZWZpbGUg ICAgIHwgICAxICsKIHNyYy9iaW4vcGdfdXBncmFkZS9tZXNvbi5idWlsZCAgfCAgIDEgKwogc3Jj L2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuYyB8ICA0MCArKy0KIHNyYy9iaW4vcGdfdXBncmFk ZS9wZ191cGdyYWRlLmggfCAgMTQgKy0KIHNyYy9iaW4vcGdfdXBncmFkZS9zZWdyZXNpemUuYyAg fCA1MjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwg NTc5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L2Jpbi9wZ191cGdyYWRlL3NlZ3Jlc2l6ZS5jCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdy YWRlL01ha2VmaWxlIGIvc3JjL2Jpbi9wZ191cGdyYWRlL01ha2VmaWxlCmluZGV4IGY4M2QyYjVk MzAuLjcwOTA4ZDYzYTMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS9NYWtlZmlsZQor KysgYi9zcmMvYmluL3BnX3VwZ3JhZGUvTWFrZWZpbGUKQEAgLTIxLDYgKzIxLDcgQEAgT0JKUyA9 IFwKIAlpbmZvLm8gXAogCW9wdGlvbi5vIFwKIAlwYXJhbGxlbC5vIFwKKwlzZWdyZXNpemUubyBc CiAJcGdfdXBncmFkZS5vIFwKIAlyZWxmaWxlbnVtYmVyLm8gXAogCXNlcnZlci5vIFwKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfdXBncmFkZS9tZXNvbi5idWlsZCBiL3NyYy9iaW4vcGdfdXBncmFk ZS9tZXNvbi5idWlsZAppbmRleCBhYzk5MmYwZDE0Li5hOGIxZDc3YzJkIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX3VwZ3JhZGUvbWVzb24uYnVpbGQKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL21l c29uLmJ1aWxkCkBAIC0xMCw2ICsxMCw3IEBAIHBnX3VwZ3JhZGVfc291cmNlcyA9IGZpbGVzKAog ICAnaW5mby5jJywKICAgJ29wdGlvbi5jJywKICAgJ3BhcmFsbGVsLmMnLAorICAnc2VncmVzaXpl LmMnLAogICAncGdfdXBncmFkZS5jJywKICAgJ3JlbGZpbGVudW1iZXIuYycsCiAgICdzZXJ2ZXIu YycsCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jIGIvc3JjL2Jp bi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuYwppbmRleCBkNWNkNWJmMGIzLi40ODM3ZWUwMmE0IDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jCisrKyBiL3NyYy9iaW4v cGdfdXBncmFkZS9wZ191cGdyYWRlLmMKQEAgLTgxNiw4ICs4MTYsNDIgQEAgY29weV94YWN0X3hs b2dfeGlkKHZvaWQpCiAJaWYgKG9sZF9jbHVzdGVyLmNvbnRyb2xkYXRhLmNhdF92ZXIgPj0gTVVM VElYQUNUX0ZPUk1BVENIQU5HRV9DQVRfVkVSICYmCiAJCW5ld19jbHVzdGVyLmNvbnRyb2xkYXRh LmNhdF92ZXIgPj0gTVVMVElYQUNUX0ZPUk1BVENIQU5HRV9DQVRfVkVSKQogCXsKLQkJY29weV9z dWJkaXJfZmlsZXMoInBnX211bHRpeGFjdC9vZmZzZXRzIiwgInBnX211bHRpeGFjdC9vZmZzZXRz Iik7Ci0JCWNvcHlfc3ViZGlyX2ZpbGVzKCJwZ19tdWx0aXhhY3QvbWVtYmVycyIsICJwZ19tdWx0 aXhhY3QvbWVtYmVycyIpOworCQkvKgorCQkgKiBJZiB0aGUgb2xkIHNlcnZlciBpcyBiZWZvcmUg dGhlIE1VTFRJWEFDVE9GRlNFVF9GT1JNQVRDSEFOR0VfQ0FUX1ZFUgorCQkgKiBpdCBtdXN0IGhh dmUgMzItYml0IG11bHRpeGlkIG9mZnNldHMsIHRodXMgaXQgc2hvdWxkIGJlIGNvbnZlcnRlZC4K KwkJICovCisJCWlmIChvbGRfY2x1c3Rlci5jb250cm9sZGF0YS5jYXRfdmVyIDwgTVVMVElYQUNU T0ZGU0VUX0ZPUk1BVENIQU5HRV9DQVRfVkVSICYmCisJCQluZXdfY2x1c3Rlci5jb250cm9sZGF0 YS5jYXRfdmVyID49IE1VTFRJWEFDVE9GRlNFVF9GT1JNQVRDSEFOR0VfQ0FUX1ZFUikKKwkJewor CQkJTXVsdGlYYWN0T2Zmc2V0CQlvbGRlc3Rfb2Zmc2V0LAorCQkJCQkJCQluZXh0X29mZnNldDsK KworCQkJcmVtb3ZlX25ld19zdWJkaXIoInBnX211bHRpeGFjdC9vZmZzZXRzIiwgZmFsc2UpOwor CQkJcHJlcF9zdGF0dXMoIkNvbnZlcnRpbmcgcGdfbXVsdGl4YWN0L29mZnNldHMgdG8gNjQtYml0 Iik7CisJCQlvbGRlc3Rfb2Zmc2V0ID0gY29udmVydF9tdWx0aXhhY3Rfb2Zmc2V0cygpOworCQkJ Y2hlY2tfb2soKTsKKworCQkJcmVtb3ZlX25ld19zdWJkaXIoInBnX211bHRpeGFjdC9tZW1iZXJz IiwgZmFsc2UpOworCQkJcHJlcF9zdGF0dXMoIkNvbnZlcnRpbmcgcGdfbXVsdGl4YWN0L21lbWJl cnMiKTsKKwkJCWNvbnZlcnRfbXVsdGl4YWN0X21lbWJlcnMob2xkZXN0X29mZnNldCk7CisJCQlj aGVja19vaygpOworCisJCQluZXh0X29mZnNldCA9IG9sZF9jbHVzdGVyLmNvbnRyb2xkYXRhLmNo a3BudF9ueHRteG9mZjsKKwkJCWlmIChvbGRlc3Rfb2Zmc2V0KQorCQkJeworCQkJCWlmIChuZXh0 X29mZnNldCA8IG9sZGVzdF9vZmZzZXQpCisJCQkJCW5leHRfb2Zmc2V0ICs9ICgoTXVsdGlYYWN0 T2Zmc2V0KSAxIDw8IDMyKSAtIDE7CisKKwkJCQluZXh0X29mZnNldCAtPSBvbGRlc3Rfb2Zmc2V0 IC0gMTsKKworCQkJCW9sZF9jbHVzdGVyLmNvbnRyb2xkYXRhLmNoa3BudF9ueHRteG9mZiA9IG5l eHRfb2Zmc2V0OworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJY29weV9zdWJkaXJfZmlsZXMo InBnX211bHRpeGFjdC9vZmZzZXRzIiwgInBnX211bHRpeGFjdC9vZmZzZXRzIik7CisJCQljb3B5 X3N1YmRpcl9maWxlcygicGdfbXVsdGl4YWN0L21lbWJlcnMiLCAicGdfbXVsdGl4YWN0L21lbWJl cnMiKTsKKwkJfQogCiAJCXByZXBfc3RhdHVzKCJTZXR0aW5nIG5leHQgbXVsdGl4YWN0IElEIGFu ZCBvZmZzZXQgZm9yIG5ldyBjbHVzdGVyIik7CiAKQEAgLTgyNiw3ICs4NjAsNyBAQCBjb3B5X3hh Y3RfeGxvZ194aWQodm9pZCkKIAkJICogY291bnRlcnMgaGVyZSBhbmQgdGhlIG9sZGVzdCBtdWx0 aSBwcmVzZW50IG9uIHN5c3RlbS4KIAkJICovCiAJCWV4ZWNfcHJvZyhVVElMSVRZX0xPR19GSUxF LCBOVUxMLCB0cnVlLCB0cnVlLAotCQkJCSAgIlwiJXMvcGdfcmVzZXR3YWxcIiAtTyAldSAtbSAl dSwldSBcIiVzXCIiLAorCQkJCSAgIlwiJXMvcGdfcmVzZXR3YWxcIiAtTyAlIiBQUkl1NjQgIiAt bSAldSwldSBcIiVzXCIiLAogCQkJCSAgbmV3X2NsdXN0ZXIuYmluZGlyLAogCQkJCSAgb2xkX2Ns dXN0ZXIuY29udHJvbGRhdGEuY2hrcG50X254dG14b2ZmLAogCQkJCSAgb2xkX2NsdXN0ZXIuY29u dHJvbGRhdGEuY2hrcG50X254dG11bHRpLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRl L3BnX3VwZ3JhZGUuaCBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmgKaW5kZXggMGVm NDdiZTBkYy4uNTRjZTcxOGU2OCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3Vw Z3JhZGUuaAorKysgYi9zcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oCkBAIC0xMTQsNiAr MTE0LDEzIEBAIGV4dGVybiBjaGFyICpvdXRwdXRfZmlsZXNbXTsKICAqLwogI2RlZmluZSBNVUxU SVhBQ1RfRk9STUFUQ0hBTkdFX0NBVF9WRVIgMjAxMzAxMjMxCiAKKy8qCisgKiBTd2ljdGggZnJv bSAzMi1iaXQgdG8gNjQtYml0IGZvciBtdWx0aXhpZCBvZmZzZXRzLgorICoKKyAqIFhYWDogc2hv dWxkIGJlIGNoYW5nZWQgdG8gdGhlIGFjdHVhbCBDQVRBTE9HX1ZFUlNJT05fTk8gb24gY29tbWl0 LgorICovCisjZGVmaW5lIE1VTFRJWEFDVE9GRlNFVF9GT1JNQVRDSEFOR0VfQ0FUX1ZFUiAyMDI0 MDkwNDEKKwogLyoKICAqIGxhcmdlIG9iamVjdCBjaHVuayBzaXplIGFkZGVkIHRvIHBnX2NvbnRy b2xkYXRhLAogICogY29tbWl0IDVmOTNjMzc4MDVlNzQ4NTQ4ODQ4MDkxNmI0NTg1ZTA5OGQzY2M4 ODMKQEAgLTIzNSw3ICsyNDIsNyBAQCB0eXBlZGVmIHN0cnVjdAogCXVpbnQzMgkJY2hrcG50X254 dGVwb2NoOwogCXVpbnQzMgkJY2hrcG50X254dG9pZDsKIAl1aW50MzIJCWNoa3BudF9ueHRtdWx0 aTsKLQl1aW50MzIJCWNoa3BudF9ueHRteG9mZjsKKwl1aW50NjQJCWNoa3BudF9ueHRteG9mZjsK IAl1aW50MzIJCWNoa3BudF9vbGRzdE11bHRpOwogCXVpbnQzMgkJY2hrcG50X29sZHN0eGlkOwog CXVpbnQzMgkJYWxpZ247CkBAIC01MjgsMyArNTM1LDggQEAgdHlwZWRlZiBzdHJ1Y3QKIAlGSUxF CSAgICpmaWxlOwogCWNoYXIJCXBhdGhbTUFYUEdQQVRIXTsKIH0gVXBncmFkZVRhc2tSZXBvcnQ7 CisKKy8qIHNlZ3Jlc2l6ZS5jICovCisKK011bHRpWGFjdE9mZnNldAkJY29udmVydF9tdWx0aXhh Y3Rfb2Zmc2V0cyh2b2lkKTsKK3ZvaWQJCQkJY29udmVydF9tdWx0aXhhY3RfbWVtYmVycyhNdWx0 aVhhY3RPZmZzZXQgb2xkZXN0X29mZnNldCk7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3VwZ3Jh ZGUvc2VncmVzaXplLmMgYi9zcmMvYmluL3BnX3VwZ3JhZGUvc2VncmVzaXplLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uN2Y4MGQwNjUyYQotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9iaW4vcGdfdXBncmFkZS9zZWdyZXNpemUuYwpAQCAtMCwwICsxLDUyNyBAQAorLyoK KyAqCXNlZ3Jlc2l6ZS5jCisgKgorICoJU0xSVSBzZWdtZW50IHJlc2l6ZSB1dGlsaXR5CisgKgor ICoJQ29weXJpZ2h0IChjKSAyMDI0LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91 cAorICoJc3JjL2Jpbi9wZ191cGdyYWRlL3NlZ3Jlc2l6ZS5jCisgKi8KKworI2luY2x1ZGUgInBv c3RncmVzX2ZlLmgiCisKKyNpbmNsdWRlICJwZ191cGdyYWRlLmgiCisjaW5jbHVkZSAiYWNjZXNz L211bHRpeGFjdC5oIgorCisvKiBTZWUgc2xydS5oICovCisjZGVmaW5lIFNMUlVfUEFHRVNfUEVS X1NFR01FTlQJCTMyCisKKy8qCisgKiBTb21lIGtpbmQgb2YgaXRlcmF0b3IgYXNzb2NpYXRlZCB3 aXRoIGEgcGFydGljdWxhciBTTFJVIHNlZ21lbnQuICBUaGUgaWRlYSBpcworICogdG8gc3BlY2lm eSB0aGUgc2VnbWVudCBhbmQgcGFnZSBudW1iZXIgYW5kIHRoZW4gbW92ZSB0aHJvdWdoIHRoZSBw YWdlcy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgU2xydVNlZ1N0YXRlCit7CisJY2hhcgkgICAqZGly OworCWNoYXIJICAgKmZuOworCUZJTEUJICAgKmZpbGU7CisJaW50NjQJCXNlZ25vOworCXVpbnQ2 NAkJcGFnZW5vOworCWJvb2wJCWxlYWRpbmdfZ2FwOworfSBTbHJ1U2VnU3RhdGU7CisKKy8qCisg KiBNaXJyb3JzIHRoZSBTbHJ1RmlsZU5hbWUgZnJvbSBzbHJ1LmMKKyAqLworc3RhdGljIGlubGlu ZSBjaGFyICoKK1NscnVGaWxlTmFtZShTbHJ1U2VnU3RhdGUgKnN0YXRlKQoreworCUFzc2VydChz dGF0ZS0+c2Vnbm8gPj0gMCAmJiBzdGF0ZS0+c2Vnbm8gPD0gSU5UNjRDT05TVCgweEZGRkZGRikp OworCXJldHVybiBwc3ByaW50ZigiJXMvJTA0WCIsIHN0YXRlLT5kaXIsICh1bnNpZ25lZCBpbnQp IHN0YXRlLT5zZWdubyk7Cit9CisKKy8qCisgKiBDcmVhdGUgbmV3IFNMUlUgc2VnbWVudCBmaWxl LgorICovCitzdGF0aWMgdm9pZAorY3JlYXRlX3NlZ21lbnQoU2xydVNlZ1N0YXRlICpzdGF0ZSkK K3sKKwlBc3NlcnQoc3RhdGUtPmZuID09IE5VTEwpOworCUFzc2VydChzdGF0ZS0+ZmlsZSA9PSBO VUxMKTsKKworCXN0YXRlLT5mbiA9IFNscnVGaWxlTmFtZShzdGF0ZSk7CisJc3RhdGUtPmZpbGUg PSBmb3BlbihzdGF0ZS0+Zm4sICJ3YiIpOworCWlmICghc3RhdGUtPmZpbGUpCisJCXBnX2ZhdGFs KCJjb3VsZCBub3QgY3JlYXRlIGZpbGUgXCIlc1wiOiAlbSIsIHN0YXRlLT5mbik7Cit9CisKKy8q CisgKiBPcGVuIGV4aXN0aW5nIFNMUlUgc2VnbWVudCBmaWxlLgorICovCitzdGF0aWMgdm9pZAor b3Blbl9zZWdtZW50KFNscnVTZWdTdGF0ZSAqc3RhdGUpCit7CisJQXNzZXJ0KHN0YXRlLT5mbiA9 PSBOVUxMKTsKKwlBc3NlcnQoc3RhdGUtPmZpbGUgPT0gTlVMTCk7CisKKwlzdGF0ZS0+Zm4gPSBT bHJ1RmlsZU5hbWUoc3RhdGUpOworCXN0YXRlLT5maWxlID0gZm9wZW4oc3RhdGUtPmZuLCAicmIi KTsKKwlpZiAoIXN0YXRlLT5maWxlKQorCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gZmlsZSBc IiVzXCI6ICVtIiwgc3RhdGUtPmZuKTsKK30KKworLyoKKyAqIENsb3NlIFNMUlUgc2VnbWVudCBm aWxlLgorICovCitzdGF0aWMgdm9pZAorY2xvc2Vfc2VnbWVudChTbHJ1U2VnU3RhdGUgKnN0YXRl KQoreworCWlmIChzdGF0ZS0+ZmlsZSkKKwl7CisJCWZjbG9zZShzdGF0ZS0+ZmlsZSk7CisJCXN0 YXRlLT5maWxlID0gTlVMTDsKKwl9CisKKwlpZiAoc3RhdGUtPmZuKQorCXsKKwkJcGZyZWUoc3Rh dGUtPmZuKTsKKwkJc3RhdGUtPmZuID0gTlVMTDsKKwl9Cit9CisKKy8qCisgKiBSZWFkIG5leHQg cGFnZSBmcm9tIHRoZSBvbGQgMzItYml0IG9mZnNldCBzZWdtZW50IGZpbGUuCisgKi8KK3N0YXRp YyBpbnQKK3JlYWRfb2xkX3NlZ21lbnRfcGFnZShTbHJ1U2VnU3RhdGUgKnN0YXRlLCB2b2lkICpi dWYsIGJvb2wgKmVtcHR5KQoreworCWludAkJbGVuOworCisJLyogT3BlbiBuZXh0IHNlZ21lbnQg ZmlsZSwgaWYgbmVlZGVkLiAqLworCWlmICghc3RhdGUtPmZuKQorCXsKKwkJaWYgKCFzdGF0ZS0+ c2Vnbm8pCisJCQlzdGF0ZS0+bGVhZGluZ19nYXAgPSB0cnVlOworCisJCW9wZW5fc2VnbWVudChz dGF0ZSk7CisKKwkJLyogU2V0IHBvc2l0aW9uIHRvIHRoZSBuZWVkZWQgcGFnZS4gKi8KKwkJaWYg KHN0YXRlLT5wYWdlbm8gPiAwICYmCisJCQlmc2VlayhzdGF0ZS0+ZmlsZSwgc3RhdGUtPnBhZ2Vu byAqIEJMQ0tTWiwgU0VFS19TRVQpKQorCQl7CisJCQljbG9zZV9zZWdtZW50KHN0YXRlKTsKKwkJ fQorCX0KKworCWlmIChzdGF0ZS0+ZmlsZSkKKwl7CisJCS8qIFNlZ21lbnQgZmlsZSBkbyBleGlz dHMsIHJlYWQgcGFnZSBmcm9tIGl0LiAqLworCQlzdGF0ZS0+bGVhZGluZ19nYXAgPSBmYWxzZTsK KworCQlsZW4gPSBmcmVhZChidWYsIHNpemVvZihjaGFyKSwgQkxDS1NaLCBzdGF0ZS0+ZmlsZSk7 CisKKwkJLyogQXJlIHdlIGRvbmUgb3Igd2FzIHRoZXJlIGFuIGVycm9yPyAqLworCQlpZiAobGVu IDw9IDApCisJCXsKKwkJCWlmIChmZXJyb3Ioc3RhdGUtPmZpbGUpKQorCQkJCXBnX2ZhdGFsKCJl cnJvciByZWFkaW5nIGZpbGUgXCIlc1wiOiAlbSIsIHN0YXRlLT5mbik7CisKKwkJCWlmIChmZW9m KHN0YXRlLT5maWxlKSkKKwkJCXsKKwkJCQkqZW1wdHkgPSB0cnVlOworCQkJCWxlbiA9IC0xOwor CisJCQkJY2xvc2Vfc2VnbWVudChzdGF0ZSk7CisJCQl9CisJCX0KKwkJZWxzZQorCQkJKmVtcHR5 ID0gZmFsc2U7CisJfQorCWVsc2UgaWYgKCFzdGF0ZS0+bGVhZGluZ19nYXApCisJeworCQkvKiBX ZSByZWFjaGVkIHRoZSBsYXN0IHNlZ21lbnQuICovCisJCWxlbiA9IC0xOworCQkqZW1wdHkgPSB0 cnVlOworCX0KKwllbHNlCisJeworCQkvKiBTa2lwIGZldyBmaXJzdCBzZWdtZW50cyBpZiB0aGV5 IHdlcmUgZnJvemVuIGFuZCByZW1vdmVkLiAqLworCQlsZW4gPSBCTENLU1o7CisJCSplbXB0eSA9 IHRydWU7CisJfQorCisJaWYgKCsrc3RhdGUtPnBhZ2VubyA+PSBTTFJVX1BBR0VTX1BFUl9TRUdN RU5UKQorCXsKKwkJLyogU3RhcnQgYSBuZXcgc2VnbWVudC4gKi8KKwkJc3RhdGUtPnNlZ25vKys7 CisJCXN0YXRlLT5wYWdlbm8gPSAwOworCisJCWNsb3NlX3NlZ21lbnQoc3RhdGUpOworCX0KKwor CXJldHVybiBsZW47Cit9CisKKy8qCisgKiBXcml0ZSBuZXh0IHBhZ2UgdG8gdGhlIG5ldyA2NC1i aXQgb2Zmc2V0IHNlZ21lbnQgZmlsZS4KKyAqLworc3RhdGljIHZvaWQKK3dyaXRlX25ld19zZWdt ZW50X3BhZ2UoU2xydVNlZ1N0YXRlICpzdGF0ZSwgdm9pZCAqYnVmKQoreworCS8qCisJICogQ3Jl YXRlIGEgbmV3IHNlZ21lbnQgZmlsZSBpZiB3ZSBzdGlsbCBkaWRuJ3QuICBDcmVhdGlvbiBpcwor CSAqIHBvc3Rwb25lZCB1bnRpbCB0aGUgZmlyc3Qgbm9uLWVtcHR5IHBhZ2UgaXMgZm91bmQuICBU aGlzIGhlbHBzCisJICogbm90IHRvIGNyZWF0ZSBjb21wbGV0ZWx5IGVtcHR5IHNlZ21lbnRzLgor CSAqLworCWlmICghc3RhdGUtPmZpbGUpCisJeworCQljcmVhdGVfc2VnbWVudChzdGF0ZSk7CisK KwkJLyogV3JpdGUgemVyb2VzIHRvIHRoZSBwcmV2aW91c2x5IHNraXBwZWQgcHJlZml4LiAqLwor CQlpZiAoc3RhdGUtPnBhZ2VubyA+IDApCisJCXsKKwkJCWNoYXIJCXplcm9idWZbQkxDS1NaXSA9 IHswfTsKKworCQkJZm9yIChpbnQ2NCBpID0gMDsgaSA8IHN0YXRlLT5wYWdlbm87IGkrKykKKwkJ CXsKKwkJCQlpZiAoZndyaXRlKHplcm9idWYsIHNpemVvZihjaGFyKSwgQkxDS1NaLCBzdGF0ZS0+ ZmlsZSkgIT0gQkxDS1NaKQorCQkJCQlwZ19mYXRhbCgiY291bGQgbm90IHdyaXRlIGZpbGUgXCIl c1wiOiAlbSIsIHN0YXRlLT5mbik7CisJCQl9CisJCX0KKwl9CisKKwkvKiBXcml0ZSBwYWdlIHRv IHRoZSBuZXcgc2VnbWVudCAoaWYgaXQgd2FzIGNyZWF0ZWQpLiAqLworCWlmIChzdGF0ZS0+Zmls ZSkKKwl7CisJCWlmIChmd3JpdGUoYnVmLCBzaXplb2YoY2hhciksIEJMQ0tTWiwgc3RhdGUtPmZp bGUpICE9IEJMQ0tTWikKKwkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qgd3JpdGUgZmlsZSBcIiVzXCI6 ICVtIiwgc3RhdGUtPmZuKTsKKwl9CisKKwkvKgorCSAqIERpZCB3ZSByZWFjaCB0aGUgbWF4aW11 bSBwYWdlIG51bWJlcj8gIFRoZW4gY2xvc2Ugc2VnbWVudCBmaWxlCisJICogYW5kIGNyZWF0ZSBh IG5ldyBvbmUgb24gdGhlIG5leHQgaXRlcmF0aW9uLgorCSAqLworCWlmICgrK3N0YXRlLT5wYWdl bm8gPj0gU0xSVV9QQUdFU19QRVJfU0VHTUVOVCkKKwl7CisJCS8qIFN0YXJ0IGEgbmV3IHNlZ21l bnQuICovCisJCXN0YXRlLT5zZWdubysrOworCQlzdGF0ZS0+cGFnZW5vID0gMDsKKworCQljbG9z ZV9zZWdtZW50KHN0YXRlKTsKKwl9Cit9CisKK3R5cGVkZWYgdWludDMyIE11bHRpWGFjdE9mZnNl dE9sZDsKKworI2RlZmluZSBNYXhNdWx0aVhhY3RPZmZzZXRPbGQJKChNdWx0aVhhY3RPZmZzZXRP bGQpIDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVVMVElYQUNUX09GRlNFVFNfUEVSX1BBR0VfT0xE IChCTENLU1ogLyBzaXplb2YoTXVsdGlYYWN0T2Zmc2V0T2xkKSkKKyNkZWZpbmUgTVVMVElYQUNU X09GRlNFVFNfUEVSX1BBR0VfTkVXIChCTENLU1ogLyBzaXplb2YoTXVsdGlYYWN0T2Zmc2V0KSkK KworLyoKKyAqIENvbnZlcnQgcGdfbXVsdGl4YWN0L29mZnNldHMgc2VnbWVudHMgYW5kIHJldHVy biBvbGRlc3QgbXVsdGkgb2Zmc2V0LgorICovCitNdWx0aVhhY3RPZmZzZXQKK2NvbnZlcnRfbXVs dGl4YWN0X29mZnNldHModm9pZCkKK3sKKwlTbHJ1U2VnU3RhdGUJCW9sZHNlZyA9IHswfSwKKwkJ CQkJCW5ld3NlZyA9IHswfTsKKwlNdWx0aVhhY3RPZmZzZXRPbGQJb2xkYnVmW01VTFRJWEFDVF9P RkZTRVRTX1BFUl9QQUdFX09MRF0gPSB7MH07CisJTXVsdGlYYWN0T2Zmc2V0CQluZXdidWZbTVVM VElYQUNUX09GRlNFVFNfUEVSX1BBR0VfTkVXXSA9IHswfSwKKwkJCQkJCW9sZGVzdF9vZmZzZXQg PSAwOworCXVpbnQ2NAkJCQlvbGRlc3RfbXVsdGkgPSBvbGRfY2x1c3Rlci5jb250cm9sZGF0YS5j aGtwbnRfb2xkc3RNdWx0aSwKKwkJCQkJCW5leHRfbXVsdGkgPSBvbGRfY2x1c3Rlci5jb250cm9s ZGF0YS5jaGtwbnRfbnh0bXVsdGksCisJCQkJCQltdWx0aSwKKwkJCQkJCW9sZF9lbnRyeSwKKwkJ CQkJCW5ld19lbnRyeTsKKwlib29sCQkJCW9sZGVzdF9vZmZzZXRfa25vd24gPSBmYWxzZTsKKwor CW9sZHNlZy5kaXIgPSBwc3ByaW50ZigiJXMvcGdfbXVsdGl4YWN0L29mZnNldHMiLCBvbGRfY2x1 c3Rlci5wZ2RhdGEpOworCW5ld3NlZy5kaXIgPSBwc3ByaW50ZigiJXMvcGdfbXVsdGl4YWN0L29m ZnNldHMiLCBuZXdfY2x1c3Rlci5wZ2RhdGEpOworCisJb2xkX2VudHJ5ID0gb2xkZXN0X211bHRp ICUgTVVMVElYQUNUX09GRlNFVFNfUEVSX1BBR0VfT0xEOworCW9sZHNlZy5wYWdlbm8gPSBvbGRl c3RfbXVsdGkgLyBNVUxUSVhBQ1RfT0ZGU0VUU19QRVJfUEFHRV9PTEQ7CisJb2xkc2VnLnNlZ25v ID0gb2xkc2VnLnBhZ2VubyAvIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQ7CisJb2xkc2VnLnBhZ2Vu byAlPSBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UOworCisJbmV3X2VudHJ5ID0gb2xkZXN0X211bHRp ICUgTVVMVElYQUNUX09GRlNFVFNfUEVSX1BBR0VfTkVXOworCW5ld3NlZy5wYWdlbm8gPSBvbGRl c3RfbXVsdGkgLyBNVUxUSVhBQ1RfT0ZGU0VUU19QRVJfUEFHRV9ORVc7CisJbmV3c2VnLnNlZ25v ID0gbmV3c2VnLnBhZ2VubyAvIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQ7CisJbmV3c2VnLnBhZ2Vu byAlPSBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UOworCisJaWYgKG5leHRfbXVsdGkgPCBvbGRlc3Rf bXVsdGkpCisJCW5leHRfbXVsdGkgKz0gKHVpbnQ2NCkgMSA8PCAzMjsJLyogd3JhcGFyb3VuZCAq LworCisJLyogQ29weSBtdWx0aSBvZmZzZXRzIHJlYWRpbmcgb25seSBuZWVkZWQgc2VnbWVudCBw YWdlcyAqLworCWZvciAobXVsdGkgPSBvbGRlc3RfbXVsdGk7IG11bHRpIDwgbmV4dF9tdWx0aTsg b2xkX2VudHJ5ID0gMCkKKwl7CisJCWludAkJb2xkbGVuOworCQlib29sCWVtcHR5OworCisJCS8q IEhhbmRsZSBwb3NzaWJsZSBzZWdtZW50IHdyYXBhcm91bmQgKi8KKyNkZWZpbmUgT0xEX09GRlNF VF9TRUdOT19NQVgJXAorCShNYXhNdWx0aVhhY3RJZCAvIE1VTFRJWEFDVF9PRkZTRVRTX1BFUl9Q QUdFX09MRCAvIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQpCisJCWlmIChvbGRzZWcuc2Vnbm8gPiBP TERfT0ZGU0VUX1NFR05PX01BWCkKKwkJeworCQkJb2xkc2VnLnNlZ25vID0gMDsKKwkJCW9sZHNl Zy5wYWdlbm8gPSAwOworCQl9CisKKwkJb2xkbGVuID0gcmVhZF9vbGRfc2VnbWVudF9wYWdlKCZv bGRzZWcsIG9sZGJ1ZiwgJmVtcHR5KTsKKwkJaWYgKGVtcHR5IHx8IG9sZGxlbiAhPSBCTENLU1op CisJCQlwZ19mYXRhbCgiY2Fubm90IHJlYWQgcGFnZSAlIiBQUkl1NjQgIiBmcm9tIGZpbGUgXCIl c1wiOiAlbSIsCisJCQkJCSBvbGRzZWcucGFnZW5vLCBvbGRzZWcuZm4pOworCisJCS8qIFNhdmUg b2xkZXN0IG11bHRpIG9mZnNldCAqLworCQlpZiAoIW9sZGVzdF9vZmZzZXRfa25vd24pCisJCXsK KwkJCW9sZGVzdF9vZmZzZXQgPSBvbGRidWZbb2xkX2VudHJ5XTsKKwkJCW9sZGVzdF9vZmZzZXRf a25vd24gPSB0cnVlOworCQl9CisKKwkJLyogU2tpcCB3cmFwcGVkLWFyb3VuZCBpbnZhbGlkIE11 bHRpWGFjdElkcyAqLworCQlpZiAobXVsdGkgPT0gKHVpbnQ2NCkgMSA8PCAzMikKKwkJeworCQkJ QXNzZXJ0KG9sZHNlZy5zZWdubyA9PSAwKTsKKwkJCUFzc2VydChvbGRzZWcucGFnZW5vID09IDEp OworCQkJQXNzZXJ0KG9sZF9lbnRyeSA9PSAwKTsKKwkJCUFzc2VydChuZXdfZW50cnkgPT0gMCk7 CisKKwkJCW11bHRpICs9IEZpcnN0TXVsdGlYYWN0SWQ7CisJCQlvbGRfZW50cnkgPSBGaXJzdE11 bHRpWGFjdElkOworCQkJbmV3X2VudHJ5ID0gRmlyc3RNdWx0aVhhY3RJZDsKKwkJfQorCisJCS8q IENvcHkgZW50cmllcyB0byB0aGUgbmV3IHBhZ2UgKi8KKwkJZm9yICg7IG11bHRpIDwgbmV4dF9t dWx0aSAmJiBvbGRfZW50cnkgPCBNVUxUSVhBQ1RfT0ZGU0VUU19QRVJfUEFHRV9PTEQ7CisJCQkg bXVsdGkrKywgb2xkX2VudHJ5KyspCisJCXsKKwkJCU11bHRpWGFjdE9mZnNldCBvZmZzZXQgPSBv bGRidWZbb2xkX2VudHJ5XTsKKworCQkJLyogSGFuZGxlIHBvc3NpYmxlIG9mZnNldCB3cmFwYXJv dW5kICgxIGJlY29tZXMgMl4zMikgKi8KKwkJCWlmIChvZmZzZXQgPCBvbGRlc3Rfb2Zmc2V0KQor CQkJCW9mZnNldCArPSAoKHVpbnQ2NCkgMSA8PCAzMikgLSAxOworCisJCQkvKiBTdWJ0cmFjdCBv bGRlc3Rfb2Zmc2V0LCBzbyBuZXcgb2Zmc2V0cyB3aWxsIHN0YXJ0IGZyb20gMSAqLworCQkJbmV3 YnVmW25ld19lbnRyeSsrXSA9IG9mZnNldCAtIG9sZGVzdF9vZmZzZXQgKyAxOworCisJCQlpZiAo bmV3X2VudHJ5ID49IE1VTFRJWEFDVF9PRkZTRVRTX1BFUl9QQUdFX05FVykKKwkJCXsKKwkJCQkv KiBIYW5kbGUgcG9zc2libGUgc2VnbWVudCB3cmFwYXJvdW5kICovCisjZGVmaW5lIE5FV19PRkZT RVRfU0VHTk9fTUFYCVwKKwkoTWF4TXVsdGlYYWN0SWQgLyBNVUxUSVhBQ1RfT0ZGU0VUU19QRVJf UEFHRV9ORVcgLyBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UKQorCQkJCWlmIChuZXdzZWcuc2Vnbm8g PiBORVdfT0ZGU0VUX1NFR05PX01BWCkKKwkJCQl7CisJCQkJCW5ld3NlZy5zZWdubyA9IDA7CisJ CQkJCW5ld3NlZy5wYWdlbm8gPSAwOworCQkJCX0KKworCQkJCS8qIFdyaXRlIG5ldyBwYWdlICov CisJCQkJd3JpdGVfbmV3X3NlZ21lbnRfcGFnZSgmbmV3c2VnLCBuZXdidWYpOworCQkJCW5ld19l bnRyeSA9IDA7CisJCQl9CisJCX0KKwl9CisKKwkvKiBXcml0ZSB0aGUgbGFzdCBpbmNvbXBsZXRl IHBhZ2UgKi8KKwlpZiAobmV3X2VudHJ5ID4gMCB8fCBvbGRlc3RfbXVsdGkgPT0gbmV4dF9tdWx0 aSkKKwl7CisJCW1lbXNldCgmbmV3YnVmW25ld19lbnRyeV0sIDAsCisJCQkgICBzaXplb2YobmV3 YnVmWzBdKSAqIChNVUxUSVhBQ1RfT0ZGU0VUU19QRVJfUEFHRV9ORVcgLSBuZXdfZW50cnkpKTsK KwkJd3JpdGVfbmV3X3NlZ21lbnRfcGFnZSgmbmV3c2VnLCBuZXdidWYpOworCX0KKworCS8qIFVz ZSBuZXh0X29mZnNldCBhcyBvbGRlc3Rfb2Zmc2V0LCBpZiBvbGRlc3RfbXVsdGkgPT0gbmV4dF9t dWx0aSAqLworCWlmICghb2xkZXN0X29mZnNldF9rbm93bikKKwl7CisJCUFzc2VydChvbGRlc3Rf bXVsdGkgPT0gbmV4dF9tdWx0aSk7CisJCW9sZGVzdF9vZmZzZXQgPSAoTXVsdGlYYWN0T2Zmc2V0 KSBvbGRfY2x1c3Rlci5jb250cm9sZGF0YS5jaGtwbnRfbnh0bXhvZmY7CisJfQorCisJLyogUmVs ZWFzZSByZXNvdXJjZXMgKi8KKwljbG9zZV9zZWdtZW50KCZvbGRzZWcpOworCWNsb3NlX3NlZ21l bnQoJm5ld3NlZyk7CisKKwlwZnJlZShvbGRzZWcuZGlyKTsKKwlwZnJlZShuZXdzZWcuZGlyKTsK KworCXJldHVybiBvbGRlc3Rfb2Zmc2V0OworfQorCisjZGVmaW5lIE1YQUNUX01FTUJFUlNfRkxB R19CWVRFUwkJCTEKKworI2RlZmluZSBNVUxUSVhBQ1RfTUVNQkVSU19QRVJfR1JPVVAJCQk0Cisj ZGVmaW5lIE1VTFRJWEFDVF9NRU1CRVJHUk9VUF9TSVpFCQkJXAorCShNVUxUSVhBQ1RfTUVNQkVS U19QRVJfR1JPVVAgKiAoc2l6ZW9mKFRyYW5zYWN0aW9uSWQpICsgTVhBQ1RfTUVNQkVSU19GTEFH X0JZVEVTKSkKKyNkZWZpbmUgTVVMVElYQUNUX01FTUJFUkdST1VQU19QRVJfUEFHRQkJXAorCShC TENLU1ogLyBNVUxUSVhBQ1RfTUVNQkVSR1JPVVBfU0laRSkKKworI2RlZmluZSBNVUxUSVhBQ1Rf TUVNQkVSU19QRVJfUEFHRQkJCQlcCisJKE1VTFRJWEFDVF9NRU1CRVJTX1BFUl9HUk9VUCAqIE1V TFRJWEFDVF9NRU1CRVJHUk9VUFNfUEVSX1BBR0UpCisjZGVmaW5lIE1VTFRJWEFDVF9NRU1CRVJf RkxBR19CWVRFU19QRVJfR1JPVVAJXAorCShNWEFDVF9NRU1CRVJTX0ZMQUdfQllURVMgKiBNVUxU SVhBQ1RfTUVNQkVSU19QRVJfR1JPVVApCisKK3R5cGVkZWYgc3RydWN0IE11bHRpWGFjdE1lbWJl cnNDdHgKK3sKKwlTbHJ1U2VnU3RhdGUJc2VnOworCWNoYXIJCQlidWZbQkxDS1NaXTsKKwlpbnQJ CQkJZ3JvdXA7CisJaW50CQkJCW1lbWJlcjsKKwljaGFyCQkgICAqZmxhZzsKKwlUcmFuc2FjdGlv bklkICAqeGlkOworfSBNdWx0aVhhY3RNZW1iZXJzQ3R4OworCitzdGF0aWMgdm9pZAorTXVsdGlY YWN0TWVtYmVyc0N0eEluaXQoTXVsdGlYYWN0TWVtYmVyc0N0eCAqY3R4KQoreworCWN0eC0+c2Vn LmRpciA9IHBzcHJpbnRmKCIlcy9wZ19tdWx0aXhhY3QvbWVtYmVycyIsIG5ld19jbHVzdGVyLnBn ZGF0YSk7CisKKwljdHgtPmdyb3VwID0gMDsKKwljdHgtPm1lbWJlciA9IDE7CQkvKiBza2lwIGlu dmFsaWQgemVybyBvZmZzZXQgKi8KKworCWN0eC0+ZmxhZyA9IChjaGFyICopIGN0eC0+YnVmICsg Y3R4LT5ncm91cCAqIE1VTFRJWEFDVF9NRU1CRVJHUk9VUF9TSVpFOworCWN0eC0+eGlkID0gKFRy YW5zYWN0aW9uSWQgKikoY3R4LT5mbGFnICsgTVhBQ1RfTUVNQkVSU19GTEFHX0JZVEVTICogTVVM VElYQUNUX01FTUJFUlNfUEVSX0dST1VQKTsKKworCWN0eC0+ZmxhZyArPSBjdHgtPm1lbWJlcjsK KwljdHgtPnhpZCArPSBjdHgtPm1lbWJlcjsKK30KKworc3RhdGljIHZvaWQKK011bHRpWGFjdE1l bWJlcnNDdHhBZGQoTXVsdGlYYWN0TWVtYmVyc0N0eCAqY3R4LCBjaGFyIGZsYWcsIFRyYW5zYWN0 aW9uSWQgeGlkKQoreworCS8qIENvcHkgbWVtYmVyJ3MgeGlkIGFuZCBmbGFncyB0byB0aGUgbmV3 IHBhZ2UgKi8KKwkqY3R4LT5mbGFnKysgPSBmbGFnOworCSpjdHgtPnhpZCsrID0geGlkOworCisJ aWYgKCsrY3R4LT5tZW1iZXIgPCBNVUxUSVhBQ1RfTUVNQkVSU19QRVJfR1JPVVApCisJCXJldHVy bjsKKworCS8qIFN0YXJ0IG5leHQgbWVtYmVyIGdyb3VwICovCisJY3R4LT5tZW1iZXIgPSAwOwor CisJaWYgKCsrY3R4LT5ncm91cCA+PSBNVUxUSVhBQ1RfTUVNQkVSR1JPVVBTX1BFUl9QQUdFKQor CXsKKwkJLyogV3JpdGUgY3VycmVudCBwYWdlIGFuZCBzdGFydCBuZXcgKi8KKwkJd3JpdGVfbmV3 X3NlZ21lbnRfcGFnZSgmY3R4LT5zZWcsIGN0eC0+YnVmKTsKKworCQljdHgtPmdyb3VwID0gMDsK KwkJbWVtc2V0KGN0eC0+YnVmLCAwLCBCTENLU1opOworCX0KKworCWN0eC0+ZmxhZyA9IChjaGFy ICopIGN0eC0+YnVmICsgY3R4LT5ncm91cCAqIE1VTFRJWEFDVF9NRU1CRVJHUk9VUF9TSVpFOwor CWN0eC0+eGlkID0gKFRyYW5zYWN0aW9uSWQgKikoY3R4LT5mbGFnICsgTVhBQ1RfTUVNQkVSU19G TEFHX0JZVEVTICogTVVMVElYQUNUX01FTUJFUlNfUEVSX0dST1VQKTsKK30KKworc3RhdGljIHZv aWQKK011bHRpWGFjdE1lbWJlcnNDdHhGaW5pdChNdWx0aVhhY3RNZW1iZXJzQ3R4ICpjdHgpCit7 CisJaWYgKGN0eC0+ZmxhZyA+IChjaGFyICopIGN0eC0+YnVmKQorCQl3cml0ZV9uZXdfc2VnbWVu dF9wYWdlKCZjdHgtPnNlZywgY3R4LT5idWYpOworCisJY2xvc2Vfc2VnbWVudCgmY3R4LT5zZWcp OworCisJcGZyZWUoY3R4LT5zZWcuZGlyKTsKK30KKworLyoKKyAqIENvbnZlcnQgcGdfbXVsdGl4 YWN0L21lbWJlcnMgc2VnbWVudHMsIG9mZnNldHMgd2lsbCBzdGFydCBmcm9tIDEuCisgKgorICov Cit2b2lkCitjb252ZXJ0X211bHRpeGFjdF9tZW1iZXJzKE11bHRpWGFjdE9mZnNldCBvbGRlc3Rf b2Zmc2V0KQoreworCU11bHRpWGFjdE9mZnNldAkJCW5leHRfb2Zmc2V0LAorCQkJCQkJCW9mZnNl dDsKKwlTbHJ1U2VnU3RhdGUJCQlvbGRzZWcgPSB7MH07CisJY2hhcgkJCQkJb2xkYnVmW0JMQ0tT Wl0gPSB7MH07CisJaW50CQkJCQkJb2xkaWR4OworCU11bHRpWGFjdE1lbWJlcnNDdHgJCW5ld2N0 eCA9IHswfTsKKworCW9sZHNlZy5kaXIgPSBwc3ByaW50ZigiJXMvcGdfbXVsdGl4YWN0L21lbWJl cnMiLCBvbGRfY2x1c3Rlci5wZ2RhdGEpOworCisJbmV4dF9vZmZzZXQgPSAoTXVsdGlYYWN0T2Zm c2V0KSBvbGRfY2x1c3Rlci5jb250cm9sZGF0YS5jaGtwbnRfbnh0bXhvZmY7CisJaWYgKG5leHRf b2Zmc2V0IDwgb2xkZXN0X29mZnNldCkKKwkJbmV4dF9vZmZzZXQgKz0gKCh1aW50NjQpIDEgPDwg MzIpIC0gMTsKKworCS8qIEluaXRpYWxpemUgdGhlIG9sZCBzdGFydGluZyBwb3NpdGlvbiAqLwor CW9sZHNlZy5wYWdlbm8gPSBvbGRlc3Rfb2Zmc2V0IC8gTVVMVElYQUNUX01FTUJFUlNfUEVSX1BB R0U7CisJb2xkc2VnLnNlZ25vID0gb2xkc2VnLnBhZ2VubyAvIFNMUlVfUEFHRVNfUEVSX1NFR01F TlQ7CisJb2xkc2VnLnBhZ2VubyAlPSBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UOworCisJLyogSW5p dGlhbGl6ZSBuZXcgc3RhcnRpbmcgcG9zaXRpb24gKi8KKwlNdWx0aVhhY3RNZW1iZXJzQ3R4SW5p dCgmbmV3Y3R4KTsKKworCS8qIEl0ZXJhdGUgdGhyb3VnaCB0aGUgb3JpZ2luYWwgZGlyZWN0b3J5 ICovCisJb2xkaWR4ID0gb2xkZXN0X29mZnNldCAlIE1VTFRJWEFDVF9NRU1CRVJTX1BFUl9QQUdF OworCWZvciAob2Zmc2V0ID0gb2xkZXN0X29mZnNldDsgb2Zmc2V0IDwgbmV4dF9vZmZzZXQ7KQor CXsKKwkJYm9vbAllbXB0eTsKKwkJaW50CQlvbGRsZW47CisJCWludAkJbmdyb3VwczsKKwkJaW50 CQlvbGRncm91cDsKKwkJaW50CQlvbGRtZW1iZXI7CisKKwkJb2xkbGVuID0gcmVhZF9vbGRfc2Vn bWVudF9wYWdlKCZvbGRzZWcsIG9sZGJ1ZiwgJmVtcHR5KTsKKwkJaWYgKGVtcHR5IHx8IG9sZGxl biAhPSBCTENLU1opCisJCQlwZ19mYXRhbCgiY2Fubm90IHJlYWQgcGFnZSAlIiBQUkl1NjQgIiBm cm9tIGZpbGUgXCIlc1wiOiAlbSIsCisJCQkJCSBvbGRzZWcucGFnZW5vLCBvbGRzZWcuZm4pOwor CisJCS8qIEl0ZXJhdGUgdGhyb3VnaCB0aGUgb2xkIG1lbWJlciBncm91cHMgKi8KKwkJbmdyb3Vw cyA9IG9sZGxlbiAvIE1VTFRJWEFDVF9NRU1CRVJHUk9VUF9TSVpFOworCQlvbGRtZW1iZXIgPSBv bGRpZHggJSBNVUxUSVhBQ1RfTUVNQkVSU19QRVJfR1JPVVA7CisJCW9sZGdyb3VwID0gb2xkaWR4 IC8gTVVMVElYQUNUX01FTUJFUlNfUEVSX0dST1VQOworCQl3aGlsZSAob2xkZ3JvdXAgPCBuZ3Jv dXBzICYmIG9mZnNldCA8IG5leHRfb2Zmc2V0KQorCQl7CisJCQljaGFyCQkgICAqb2xkZmxhZzsK KwkJCVRyYW5zYWN0aW9uSWQgICpvbGR4aWQ7CisJCQlpbnQJCQkJaTsKKworCQkJb2xkZmxhZyA9 IChjaGFyICopIG9sZGJ1ZiArIG9sZGdyb3VwICogTVVMVElYQUNUX01FTUJFUkdST1VQX1NJWkU7 CisJCQlvbGR4aWQgPSAoVHJhbnNhY3Rpb25JZCAqKShvbGRmbGFnICsgTVVMVElYQUNUX01FTUJF Ul9GTEFHX0JZVEVTX1BFUl9HUk9VUCk7CisKKwkJCW9sZHhpZCArPSBvbGRtZW1iZXI7CisJCQlv bGRmbGFnICs9IG9sZG1lbWJlcjsKKworCQkJLyogSXRlcmF0ZSB0aHJvdWdoIHRoZSBvbGQgbWVt YmVycyAqLworCQkJZm9yIChpID0gb2xkbWVtYmVyOworCQkJCSBpIDwgTVVMVElYQUNUX01FTUJF UlNfUEVSX0dST1VQICYmIG9mZnNldCA8IG5leHRfb2Zmc2V0OworCQkJCSBpKyspCisJCQl7CisJ CQkJTXVsdGlYYWN0TWVtYmVyc0N0eEFkZCgmbmV3Y3R4LCAqb2xkZmxhZysrLCAqb2xkeGlkKysp OworCisJCQkJaWYgKCsrb2Zmc2V0ID09ICh1aW50NjQpIDEgPDwgMzIpCisJCQkJeworCQkJCQlB c3NlcnQoaSA9PSBNYXhNdWx0aVhhY3RPZmZzZXRPbGQgJSBNVUxUSVhBQ1RfTUVNQkVSU19QRVJf R1JPVVApOworCQkJCQlnb3RvIHdyYXBhcm91bmQ7CisJCQkJfQorCQkJfQorCisJCQlvbGRncm91 cCsrOworCQkJb2xkbWVtYmVyID0gMDsKKwkJfQorCisJCW9sZGlkeCA9IDA7CisKKwkJY29udGlu dWU7CisKK3dyYXBhcm91bmQ6CisjZGVmaW5lIFNFR05PX01BWAlNYXhNdWx0aVhhY3RPZmZzZXRP bGQgLyBNVUxUSVhBQ1RfTUVNQkVSU19QRVJfUEFHRSAvIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQK KyNkZWZpbmUgUEFHRU5PX01BWAlNYXhNdWx0aVhhY3RPZmZzZXRPbGQgLyBNVUxUSVhBQ1RfTUVN QkVSU19QRVJfUEFHRSAlIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQKKwkJQXNzZXJ0KChvbGRzZWcu c2Vnbm8gPT0gU0VHTk9fTUFYICYmIG9sZHNlZy5wYWdlbm8gPT0gUEFHRU5PX01BWCArIDEpIHx8 CisJCQkgICAob2xkc2VnLnNlZ25vID09IFNFR05PX01BWCArIDEgJiYgb2xkc2VnLnBhZ2VubyA9 PSAwKSk7CisKKwkJLyogU3dpdGNoIHRvIHNlZ21lbnQgMDAwMCAqLworCQljbG9zZV9zZWdtZW50 KCZvbGRzZWcpOworCQlvbGRzZWcuc2Vnbm8gPSAwOworCQlvbGRzZWcucGFnZW5vID0gMDsKKwor CQkvKiBza2lwIGludmFsaWQgemVybyBtdWx0aSBvZmZzZXQgKi8KKwkJb2xkaWR4ID0gMTsKKwl9 CisKKwlNdWx0aVhhY3RNZW1iZXJzQ3R4RmluaXQoJm5ld2N0eCk7CisKKwkvKiBSZWxlYXNlIHJl c291cmNlcyAqLworCWNsb3NlX3NlZ21lbnQoJm9sZHNlZyk7CisKKwlwZnJlZShvbGRzZWcuZGly KTsKK30KLS0gCjIuNTAuMQoK --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0004-Get-rid-of-MultiXactMemberFreezeThreshold-call.patch" Content-Disposition: attachment; filename="v17-0004-Get-rid-of-MultiXactMemberFreezeThreshold-call.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rf03 RnJvbSAzMjhkOWZjOTY1OTcxNDQ5NzJlZTNhYzQyNGJhMmExYzhiMjkwYjc5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjMgT2N0IDIwMjQgMTg6MjM6MzkgKzAzMDAKU3ViamVjdDogW1BBVENIIHYxNyA0Lzdd IEdldCByaWQgb2YgTXVsdGlYYWN0TWVtYmVyRnJlZXplVGhyZXNob2xkIGNhbGwuCgpTaW5jZSBN YXhNdWx0aVhhY3RPZmZzZXQgYXJlIFVJTlQ2NF9NQVggbm93LCBNVUxUSVhBQ1RfTUVNQkVSX1NB RkVfVEhSRVNIT0xEIGFuZApNVUxUSVhBQ1RfTUVNQkVSX0RBTkdFUl9USFJFU0hPTEQgdmFsdWVz IGFyZSBub3QgbWVhbmluZ2Z1bCBhbnkgbW9yZS4gVGh1cywKTXVsdGlYYWN0TWVtYmVyRnJlZXpl VGhyZXNob2xkIGlzIG5vdCBuZWVkZWQgdG9vLgoKSW5zdGVhZCwgc3dpdGNoIHRvIE1VTFRJWEFD VF9NRU1CRVJfQVVUT1ZBQ19USFJFU0hPTEQgKGVxIDJeMzIpIG1lbWJlcnMKdGhyZXNob2xkLiBJ dCBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB3ZSBuZWVkIHRvIGZvcmNlIGF1dG92YWN1dW0gb3Ig bm90LgoKQXV0aG9yOiBNYXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+Ci0tLQogc3JjL2Jh Y2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4YWN0LmMgfCAyMiArKysrKysrKysrKystLS0tLS0t LS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyAgICAgICAgICB8ICAyICstCiBzcmMv YmFja2VuZC9wb3N0bWFzdGVyL2F1dG92YWN1dW0uYyAgICB8ICA0ICsrLS0KIHNyYy9pbmNsdWRl L2FjY2Vzcy9tdWx0aXhhY3QuaCAgICAgICAgIHwgIDEgLQogNCBmaWxlcyBjaGFuZ2VkLCAxNSBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9h Y2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211 bHRpeGFjdC5jCmluZGV4IDBlOWJhMzI0Y2EuLjQ4ZTJmOGE0ZGQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL211bHRpeGFjdC5jCkBAIC0xOTksMTAgKzE5OSwxNCBAQCBNWE9mZnNldFRvTWVt YmVyT2Zmc2V0KE11bHRpWGFjdE9mZnNldCBvZmZzZXQpCiAJCW1lbWJlcl9pbl9ncm91cCAqIHNp emVvZihUcmFuc2FjdGlvbklkKTsKIH0KIAotLyogTXVsdGl4YWN0IG1lbWJlcnMgd3JhcGFyb3Vu ZCB0aHJlc2hvbGRzLiAqLwotI2RlZmluZSBNVUxUSVhBQ1RfTUVNQkVSX1NBRkVfVEhSRVNIT0xE CQkoTWF4TXVsdGlYYWN0T2Zmc2V0IC8gMikKLSNkZWZpbmUgTVVMVElYQUNUX01FTUJFUl9EQU5H RVJfVEhSRVNIT0xECVwKLQkoTWF4TXVsdGlYYWN0T2Zmc2V0IC0gTWF4TXVsdGlYYWN0T2Zmc2V0 IC8gNCkKKy8qCisgKiBNdWx0aXhhY3QgbWVtYmVycyB3YXJuaW5nIHRocmVzaG9sZC4KKyAqCisg KiBJZiBkaWZmZXJlbmNlIGJldHR3ZWVuIG5leHRPZmZzZXQgYW5kIG9sZGVzdE9mZnNldCBleGNl ZWQgdGhpcyB2YWx1ZSwgd2UKKyAqIHRyaWdnZXIgYXV0b3ZhY3V1bWluIG9yZGVyIHRvIHJlbGVh c2UgdGhlIGRpc2sgc3BhY2UsIHJlZHVjZSB0YWJsZSBibG9hdCBpZgorICogcG9zc2libGUuCisg Ki8KKyNkZWZpbmUgTVVMVElYQUNUX01FTUJFUl9BVVRPVkFDX1RIUkVTSE9MRAkJVUlOVDY0Q09O U1QoMHhGRkZGRkZGRikKIAogc3RhdGljIGlubGluZSBNdWx0aVhhY3RJZAogUHJldmlvdXNNdWx0 aVhhY3RJZChNdWx0aVhhY3RJZCBtdWx0aSkKQEAgLTI1NDgsMTUgKzI1NTIsMTMgQEAgR2V0T2xk ZXN0TXVsdGlYYWN0SWQodm9pZCkKIH0KIAogLyoKLSAqIERldGVybWluZSBob3cgYWdncmVzc2l2 ZWx5IHdlIG5lZWQgdG8gdmFjdXVtIGluIG9yZGVyIHRvIHByZXZlbnQgbWVtYmVyCi0gKiB3cmFw YXJvdW5kLgorICogRGV0ZXJtaW5lIGlmIHdlIG5lZWQgdG8gdmFjdXVtIGZvciBtZW1iZXIgb3Ig bm90LgogICoKICAqIFRvIGRvIHNvIGRldGVybWluZSB3aGF0J3MgdGhlIG9sZGVzdCBtZW1iZXIg b2Zmc2V0IGFuZCBpbnN0YWxsIHRoZSBsaW1pdAogICogaW5mbyBpbiBNdWx0aVhhY3RTdGF0ZSwg d2hlcmUgaXQgY2FuIGJlIHVzZWQgdG8gcHJldmVudCBvdmVycnVuIG9mIG9sZCBkYXRhCiAgKiBp biB0aGUgbWVtYmVycyBTTFJVIGFyZWEuCiAgKgotICogVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVl IGlmIGVtZXJnZW5jeSBhdXRvdmFjdXVtIGlzIHJlcXVpcmVkIGFuZCBmYWxzZQotICogb3RoZXJ3 aXNlLgorICogVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIGlmIGF1dG92YWN1dW0gaXMgcmVxdWly ZWQgYW5kIGZhbHNlIG90aGVyd2lzZS4KICAqLwogc3RhdGljIGJvb2wKIFNldE9mZnNldFZhY3V1 bUxpbWl0KGJvb2wgaXNfc3RhcnR1cCkKQEAgLTI2NDQsMTAgKzI2NDYsMTAgQEAgU2V0T2Zmc2V0 VmFjdXVtTGltaXQoYm9vbCBpc19zdGFydHVwKQogCUxXTG9ja1JlbGVhc2UoTXVsdGlYYWN0R2Vu TG9jayk7CiAKIAkvKgotCSAqIERvIHdlIG5lZWQgYW4gZW1lcmdlbmN5IGF1dG92YWN1dW0/CUlm IHdlJ3JlIG5vdCBzdXJlLCBhc3N1bWUgeWVzLgorCSAqIERvIHdlIG5lZWQgYXV0b3ZhY3V1bT8J SWYgd2UncmUgbm90IHN1cmUsIGFzc3VtZSB5ZXMuCiAJICovCiAJcmV0dXJuICFvbGRlc3RPZmZz ZXRLbm93biB8fAotCQkobmV4dE9mZnNldCAtIG9sZGVzdE9mZnNldCA+IE1VTFRJWEFDVF9NRU1C RVJfU0FGRV9USFJFU0hPTEQpOworCQkobmV4dE9mZnNldCAtIG9sZGVzdE9mZnNldCA+IE1VTFRJ WEFDVF9NRU1CRVJfQVVUT1ZBQ19USFJFU0hPTEQpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0u YwppbmRleCA3MzNlZjQwYWU3Li44ZjUwOTI2NzBiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy92YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAt MTE1Myw3ICsxMTUzLDcgQEAgdmFjdXVtX2dldF9jdXRvZmZzKFJlbGF0aW9uIHJlbCwgY29uc3Qg VmFjdXVtUGFyYW1zIHBhcmFtcywKIAkgKiBub3JtYWxseSBhdXRvdmFjdXVtX211bHRpeGFjdF9m cmVlemVfbWF4X2FnZSwgYnV0IG1heSBiZSBsZXNzIGlmIHdlIGFyZQogCSAqIHNob3J0IG9mIG11 bHRpeGFjdCBtZW1iZXIgc3BhY2UuCiAJICovCi0JZWZmZWN0aXZlX211bHRpeGFjdF9mcmVlemVf bWF4X2FnZSA9IE11bHRpWGFjdE1lbWJlckZyZWV6ZVRocmVzaG9sZCgpOworCWVmZmVjdGl2ZV9t dWx0aXhhY3RfZnJlZXplX21heF9hZ2UgPSBhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfbWF4 X2FnZTsKIAogCS8qCiAJICogQWxtb3N0IHJlYWR5IHRvIHNldCBmcmVlemUgb3V0cHV0IHBhcmFt ZXRlcnM7IGNoZWNrIGlmIE9sZGVzdFhtaW4gb3IKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvYXV0b3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVt LmMKaW5kZXggZGNlNGM4YzQ1Yi4uOWJmMDM3MzRjMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRv dmFjdXVtLmMKQEAgLTExNTAsNyArMTE1MCw3IEBAIGRvX3N0YXJ0X3dvcmtlcih2b2lkKQogCiAJ LyogQWxzbyBkZXRlcm1pbmUgdGhlIG9sZGVzdCBkYXRtaW5teGlkIHdlIHdpbGwgY29uc2lkZXIu ICovCiAJcmVjZW50TXVsdGkgPSBSZWFkTmV4dE11bHRpWGFjdElkKCk7Ci0JbXVsdGlGb3JjZUxp bWl0ID0gcmVjZW50TXVsdGkgLSBNdWx0aVhhY3RNZW1iZXJGcmVlemVUaHJlc2hvbGQoKTsKKwlt dWx0aUZvcmNlTGltaXQgPSByZWNlbnRNdWx0aSAtIGF1dG92YWN1dW1fbXVsdGl4YWN0X2ZyZWV6 ZV9tYXhfYWdlOwogCWlmIChtdWx0aUZvcmNlTGltaXQgPCBGaXJzdE11bHRpWGFjdElkKQogCQlt dWx0aUZvcmNlTGltaXQgLT0gRmlyc3RNdWx0aVhhY3RJZDsKIApAQCAtMTkzOCw3ICsxOTM4LDcg QEAgZG9fYXV0b3ZhY3V1bSh2b2lkKQogCSAqIG5vcm1hbGx5IGF1dG92YWN1dW1fbXVsdGl4YWN0 X2ZyZWV6ZV9tYXhfYWdlLCBidXQgbWF5IGJlIGxlc3MgaWYgd2UgYXJlCiAJICogc2hvcnQgb2Yg bXVsdGl4YWN0IG1lbWJlciBzcGFjZS4KIAkgKi8KLQllZmZlY3RpdmVfbXVsdGl4YWN0X2ZyZWV6 ZV9tYXhfYWdlID0gTXVsdGlYYWN0TWVtYmVyRnJlZXplVGhyZXNob2xkKCk7CisJZWZmZWN0aXZl X211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSA9IGF1dG92YWN1dW1fbXVsdGl4YWN0X2ZyZWV6ZV9t YXhfYWdlOwogCiAJLyoKIAkgKiBGaW5kIHRoZSBwZ19kYXRhYmFzZSBlbnRyeSBhbmQgc2VsZWN0 IHRoZSBkZWZhdWx0IGZyZWV6ZSBhZ2VzLiBXZSB1c2UKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2FjY2Vzcy9tdWx0aXhhY3QuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9tdWx0aXhhY3QuaAppbmRl eCA3OTJiNWYxNDBmLi4xNmEwNzcyMzA4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3Mv bXVsdGl4YWN0LmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL211bHRpeGFjdC5oCkBAIC0xNDcs NyArMTQ3LDYgQEAgZXh0ZXJuIHZvaWQgTXVsdGlYYWN0U2V0TmV4dE1YYWN0KE11bHRpWGFjdElk IG5leHRNdWx0aSwKIGV4dGVybiB2b2lkIE11bHRpWGFjdEFkdmFuY2VOZXh0TVhhY3QoTXVsdGlY YWN0SWQgbWluTXVsdGksCiAJCQkJCQkJCQkgIE11bHRpWGFjdE9mZnNldCBtaW5NdWx0aU9mZnNl dCk7CiBleHRlcm4gdm9pZCBNdWx0aVhhY3RBZHZhbmNlT2xkZXN0KE11bHRpWGFjdElkIG9sZGVz dE11bHRpLCBPaWQgb2xkZXN0TXVsdGlEQik7Ci1leHRlcm4gaW50CU11bHRpWGFjdE1lbWJlckZy ZWV6ZVRocmVzaG9sZCh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgbXVsdGl4YWN0X3R3b3BoYXNlX3Jl Y292ZXIoRnVsbFRyYW5zYWN0aW9uSWQgZnhpZCwgdWludDE2IGluZm8sCiAJCQkJCQkJCQkgICB2 b2lkICpyZWNkYXRhLCB1aW50MzIgbGVuKTsKLS0gCjIuNTAuMQoK --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0002-Use-64-bit-multixact-offsets.patch" Content-Disposition: attachment; filename="v17-0002-Use-64-bit-multixact-offsets.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rer1 RnJvbSBmNGM5YTFjN2RkM2U3MGZiZmEyYTdhOTg2YmM1ZTQwNWIxODAyMmUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8bS5vcmxvdkBwb3N0Z3Jlc3Byby5ydT4K RGF0ZTogV2VkLCA2IE1hciAyMDI0IDExOjExOjMzICswMzAwClN1YmplY3Q6IFtQQVRDSCB2MTcg Mi83XSBVc2UgNjQtYml0IG11bHRpeGFjdCBvZmZzZXRzLgoKQXV0aG9yOiBNYXhpbSBPcmxvdiA8 b3Jsb3ZtZ0BnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4 YWN0LmMgfCAyMzIgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjL2Jpbi9wZ19yZXNldHdh bC9wZ19yZXNldHdhbC5jICAgICAgfCAgIDIgKy0KIHNyYy9iaW4vcGdfcmVzZXR3YWwvdC8wMDFf YmFzaWMucGwgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9hY2Nlc3MvbXVsdGl4YWN0LmggICAg ICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyMzMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vbXVsdGl4YWN0LmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYwppbmRleCBkYzcxYzhmNDRlLi4w ZTliYTMyNGNhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhh Y3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYwpAQCAtOTEs MTQgKzkxLDYgQEAKIC8qCiAgKiBEZWZpbmVzIGZvciBNdWx0aVhhY3RPZmZzZXQgcGFnZSBzaXpl cy4gIEEgcGFnZSBpcyB0aGUgc2FtZSBCTENLU1ogYXMgaXMKICAqIHVzZWQgZXZlcnl3aGVyZSBl bHNlIGluIFBvc3RncmVzLgotICoKLSAqIE5vdGU6IGJlY2F1c2UgTXVsdGlYYWN0T2Zmc2V0cyBh cmUgMzIgYml0cyBhbmQgd3JhcCBhcm91bmQgYXQgMHhGRkZGRkZGRiwKLSAqIE11bHRpWGFjdCBw YWdlIG51bWJlcmluZyBhbHNvIHdyYXBzIGFyb3VuZCBhdAotICogMHhGRkZGRkZGRi9NVUxUSVhB Q1RfT0ZGU0VUU19QRVJfUEFHRSwgYW5kIHNlZ21lbnQgbnVtYmVyaW5nIGF0Ci0gKiAweEZGRkZG RkZGL01VTFRJWEFDVF9PRkZTRVRTX1BFUl9QQUdFL1NMUlVfUEFHRVNfUEVSX1NFR01FTlQuICBX ZSBuZWVkCi0gKiB0YWtlIG5vIGV4cGxpY2l0IG5vdGljZSBvZiB0aGF0IGZhY3QgaW4gdGhpcyBt b2R1bGUsIGV4Y2VwdCB3aGVuIGNvbXBhcmluZwotICogc2VnbWVudCBhbmQgcGFnZSBudW1iZXJz IGluIFRydW5jYXRlTXVsdGlYYWN0IChzZWUKLSAqIE11bHRpWGFjdE9mZnNldFBhZ2VQcmVjZWRl cykuCiAgKi8KIAogLyogV2UgbmVlZCBmb3VyIGJ5dGVzIHBlciBvZmZzZXQgKi8KQEAgLTI2Nyw5 ICsyNTksNiBAQCB0eXBlZGVmIHN0cnVjdCBNdWx0aVhhY3RTdGF0ZURhdGEKIAlNdWx0aVhhY3RJ ZCBtdWx0aVN0b3BMaW1pdDsKIAlNdWx0aVhhY3RJZCBtdWx0aVdyYXBMaW1pdDsKIAotCS8qIHN1 cHBvcnQgZm9yIG1lbWJlcnMgYW50aS13cmFwYXJvdW5kIG1lYXN1cmVzICovCi0JTXVsdGlYYWN0 T2Zmc2V0IG9mZnNldFN0b3BMaW1pdDsJLyoga25vd24gaWYgb2xkZXN0T2Zmc2V0S25vd24gKi8K LQogCS8qCiAJICogVGhpcyBpcyB1c2VkIHRvIHNsZWVwIHVudGlsIGEgbXVsdGl4YWN0IG9mZnNl dCBpcyB3cml0dGVuIHdoZW4gd2Ugd2FudAogCSAqIHRvIGNyZWF0ZSB0aGUgbmV4dCBvbmUuCkBA IC00MDAsOCArMzg5LDYgQEAgc3RhdGljIGJvb2wgTXVsdGlYYWN0T2Zmc2V0UHJlY2VkZXMoTXVs dGlYYWN0T2Zmc2V0IG9mZnNldDEsCiAJCQkJCQkJCQlNdWx0aVhhY3RPZmZzZXQgb2Zmc2V0Mik7 CiBzdGF0aWMgdm9pZCBFeHRlbmRNdWx0aVhhY3RPZmZzZXQoTXVsdGlYYWN0SWQgbXVsdGkpOwog c3RhdGljIHZvaWQgRXh0ZW5kTXVsdGlYYWN0TWVtYmVyKE11bHRpWGFjdE9mZnNldCBvZmZzZXQs IGludCBubWVtYmVycyk7Ci1zdGF0aWMgYm9vbCBNdWx0aVhhY3RPZmZzZXRXb3VsZFdyYXAoTXVs dGlYYWN0T2Zmc2V0IGJvdW5kYXJ5LAotCQkJCQkJCQkJIE11bHRpWGFjdE9mZnNldCBzdGFydCwg dWludDMyIGRpc3RhbmNlKTsKIHN0YXRpYyBib29sIFNldE9mZnNldFZhY3V1bUxpbWl0KGJvb2wg aXNfc3RhcnR1cCk7CiBzdGF0aWMgYm9vbCBmaW5kX211bHRpeGFjdF9zdGFydChNdWx0aVhhY3RJ ZCBtdWx0aSwgTXVsdGlYYWN0T2Zmc2V0ICpyZXN1bHQpOwogc3RhdGljIHZvaWQgV3JpdGVNVHJ1 bmNhdGVYbG9nUmVjKE9pZCBvbGRlc3RNdWx0aURCLApAQCAtMTE1NCw3OCArMTE0MSw2IEBAIEdl dE5ld011bHRpWGFjdElkKGludCBubWVtYmVycywgTXVsdGlYYWN0T2Zmc2V0ICpvZmZzZXQpCiAJ ZWxzZQogCQkqb2Zmc2V0ID0gbmV4dE9mZnNldDsKIAotCS8qLS0tLS0tLS0tLQotCSAqIFByb3Rl Y3QgYWdhaW5zdCBvdmVycnVuIG9mIHRoZSBtZW1iZXJzIHNwYWNlIGFzIHdlbGwsIHdpdGggdGhl Ci0JICogZm9sbG93aW5nIHJ1bGVzOgotCSAqCi0JICogSWYgd2UncmUgcGFzdCBvZmZzZXRTdG9w TGltaXQsIHJlZnVzZSB0byBnZW5lcmF0ZSBtb3JlIG11bHRpcy4KLQkgKiBJZiB3ZSdyZSBjbG9z ZSB0byBvZmZzZXRTdG9wTGltaXQsIGVtaXQgYSB3YXJuaW5nLgotCSAqCi0JICogQXJiaXRyYXJp bHksIHdlIHN0YXJ0IGVtaXR0aW5nIHdhcm5pbmdzIHdoZW4gd2UncmUgMjAgc2VnbWVudHMgb3Ig bGVzcwotCSAqIGZyb20gb2Zmc2V0U3RvcExpbWl0LgotCSAqCi0JICogTm90ZSB3ZSBoYXZlbid0 IHVwZGF0ZWQgdGhlIHNoYXJlZCBzdGF0ZSB5ZXQsIHNvIGlmIHdlIGZhaWwgYXQgdGhpcwotCSAq IHBvaW50LCB0aGUgbXVsdGl4YWN0IElEIHdlIGdyYWJiZWQgY2FuIHN0aWxsIGJlIHVzZWQgYnkg dGhlIG5leHQgZ3V5LgotCSAqCi0JICogTm90ZSB0aGF0IHRoZXJlIGlzIG5vIHBvaW50IGluIGZv cmNpbmcgYXV0b3ZhY3V1bSBydW5zIGhlcmU6IHRoZQotCSAqIG11bHRpeGFjdCBmcmVlemUgc2V0 dGluZ3Mgd291bGQgaGF2ZSB0byBiZSByZWR1Y2VkIGZvciB0aGF0IHRvIGhhdmUgYW55Ci0JICog ZWZmZWN0LgotCSAqLS0tLS0tLS0tLQotCSAqLwotI2RlZmluZSBPRkZTRVRfV0FSTl9TRUdNRU5U UwkyMAotCWlmIChNdWx0aVhhY3RTdGF0ZS0+b2xkZXN0T2Zmc2V0S25vd24gJiYKLQkJTXVsdGlY YWN0T2Zmc2V0V291bGRXcmFwKE11bHRpWGFjdFN0YXRlLT5vZmZzZXRTdG9wTGltaXQsIG5leHRP ZmZzZXQsCi0JCQkJCQkJCSBubWVtYmVycykpCi0JewotCQkvKiBzZWUgY29tbWVudCBpbiB0aGUg Y29ycmVzcG9uZGluZyBvZmZzZXRzIHdyYXBhcm91bmQgY2FzZSAqLwotCQlTZW5kUG9zdG1hc3Rl clNpZ25hbChQTVNJR05BTF9TVEFSVF9BVVRPVkFDX0xBVU5DSEVSKTsKLQotCQllcmVwb3J0KEVS Uk9SLAotCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPR1JBTV9MSU1JVF9FWENFRURFRCksCi0JCQkJ IGVycm1zZygibXVsdGl4YWN0IFwibWVtYmVyc1wiIGxpbWl0IGV4Y2VlZGVkIiksCi0JCQkJIGVy cmRldGFpbF9wbHVyYWwoIlRoaXMgY29tbWFuZCB3b3VsZCBjcmVhdGUgYSBtdWx0aXhhY3Qgd2l0 aCAldSBtZW1iZXJzLCBidXQgdGhlIHJlbWFpbmluZyBzcGFjZSBpcyBvbmx5IGVub3VnaCBmb3Ig JXUgbWVtYmVyLiIsCi0JCQkJCQkJCSAgIlRoaXMgY29tbWFuZCB3b3VsZCBjcmVhdGUgYSBtdWx0 aXhhY3Qgd2l0aCAldSBtZW1iZXJzLCBidXQgdGhlIHJlbWFpbmluZyBzcGFjZSBpcyBvbmx5IGVu b3VnaCBmb3IgJXUgbWVtYmVycy4iLAotCQkJCQkJCQkgIE11bHRpWGFjdFN0YXRlLT5vZmZzZXRT dG9wTGltaXQgLSBuZXh0T2Zmc2V0IC0gMSwKLQkJCQkJCQkJICBubWVtYmVycywKLQkJCQkJCQkJ ICBNdWx0aVhhY3RTdGF0ZS0+b2Zmc2V0U3RvcExpbWl0IC0gbmV4dE9mZnNldCAtIDEpLAotCQkJ CSBlcnJoaW50KCJFeGVjdXRlIGEgZGF0YWJhc2Utd2lkZSBWQUNVVU0gaW4gZGF0YWJhc2Ugd2l0 aCBPSUQgJXUgd2l0aCByZWR1Y2VkIFwidmFjdXVtX211bHRpeGFjdF9mcmVlemVfbWluX2FnZVwi IGFuZCBcInZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX3RhYmxlX2FnZVwiIHNldHRpbmdzLiIsCi0J CQkJCQkgTXVsdGlYYWN0U3RhdGUtPm9sZGVzdE11bHRpWGFjdERCKSkpOwotCX0KLQotCS8qCi0J ICogQ2hlY2sgd2hldGhlciB3ZSBzaG91bGQga2ljayBhdXRvdmFjdXVtIGludG8gYWN0aW9uLCB0 byBwcmV2ZW50IG1lbWJlcnMKLQkgKiB3cmFwYXJvdW5kLiBOQiB3ZSB1c2UgYSBtdWNoIGxhcmdl ciB3aW5kb3cgdG8gdHJpZ2dlciBhdXRvdmFjdXVtIHRoYW4KLQkgKiBqdXN0IHRoZSB3YXJuaW5n IGxpbWl0LiBUaGUgd2FybmluZyBpcyBqdXN0IGEgbWVhc3VyZSBvZiBsYXN0IHJlc29ydCAtCi0J ICogdGhpcyBpcyBpbiBsaW5lIHdpdGggR2V0TmV3VHJhbnNhY3Rpb25JZCdzIGJlaGF2aW91ci4K LQkgKi8KLQlpZiAoIU11bHRpWGFjdFN0YXRlLT5vbGRlc3RPZmZzZXRLbm93biB8fAotCQkoTXVs dGlYYWN0U3RhdGUtPm5leHRPZmZzZXQgLSBNdWx0aVhhY3RTdGF0ZS0+b2xkZXN0T2Zmc2V0Ci0J CSA+IE1VTFRJWEFDVF9NRU1CRVJfU0FGRV9USFJFU0hPTEQpKQotCXsKLQkJLyoKLQkJICogVG8g YXZvaWQgc3dhbXBpbmcgdGhlIHBvc3RtYXN0ZXIgd2l0aCBzaWduYWxzLCB3ZSBpc3N1ZSB0aGUg YXV0b3ZhYwotCQkgKiByZXF1ZXN0IG9ubHkgd2hlbiBjcm9zc2luZyBhIHNlZ21lbnQgYm91bmRh cnkuIFdpdGggZGVmYXVsdAotCQkgKiBjb21waWxhdGlvbiBzZXR0aW5ncyB0aGF0J3Mgcm91Z2hs eSBhZnRlciA1MGsgbWVtYmVycy4gIFRoaXMgc3RpbGwKLQkJICogZ2l2ZXMgcGxlbnR5IG9mIGNo YW5jZXMgYmVmb3JlIHdlIGdldCBpbnRvIHJlYWwgdHJvdWJsZS4KLQkJICovCi0JCWlmICgoTVhP ZmZzZXRUb01lbWJlclBhZ2UobmV4dE9mZnNldCkgLyBTTFJVX1BBR0VTX1BFUl9TRUdNRU5UKSAh PQotCQkJKE1YT2Zmc2V0VG9NZW1iZXJQYWdlKG5leHRPZmZzZXQgKyBubWVtYmVycykgLyBTTFJV X1BBR0VTX1BFUl9TRUdNRU5UKSkKLQkJCVNlbmRQb3N0bWFzdGVyU2lnbmFsKFBNU0lHTkFMX1NU QVJUX0FVVE9WQUNfTEFVTkNIRVIpOwotCX0KLQotCWlmIChNdWx0aVhhY3RTdGF0ZS0+b2xkZXN0 T2Zmc2V0S25vd24gJiYKLQkJTXVsdGlYYWN0T2Zmc2V0V291bGRXcmFwKE11bHRpWGFjdFN0YXRl LT5vZmZzZXRTdG9wTGltaXQsCi0JCQkJCQkJCSBuZXh0T2Zmc2V0LAotCQkJCQkJCQkgbm1lbWJl cnMgKyBNVUxUSVhBQ1RfTUVNQkVSU19QRVJfUEFHRSAqIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQg KiBPRkZTRVRfV0FSTl9TRUdNRU5UUykpCi0JCWVyZXBvcnQoV0FSTklORywKLQkJCQkoZXJyY29k ZShFUlJDT0RFX1BST0dSQU1fTElNSVRfRVhDRUVERUQpLAotCQkJCSBlcnJtc2dfcGx1cmFsKCJk YXRhYmFzZSB3aXRoIE9JRCAldSBtdXN0IGJlIHZhY3V1bWVkIGJlZm9yZSAlZCBtb3JlIG11bHRp eGFjdCBtZW1iZXIgaXMgdXNlZCIsCi0JCQkJCQkJICAgImRhdGFiYXNlIHdpdGggT0lEICV1IG11 c3QgYmUgdmFjdXVtZWQgYmVmb3JlICVkIG1vcmUgbXVsdGl4YWN0IG1lbWJlcnMgYXJlIHVzZWQi LAotCQkJCQkJCSAgIE11bHRpWGFjdFN0YXRlLT5vZmZzZXRTdG9wTGltaXQgLSBuZXh0T2Zmc2V0 ICsgbm1lbWJlcnMsCi0JCQkJCQkJICAgTXVsdGlYYWN0U3RhdGUtPm9sZGVzdE11bHRpWGFjdERC LAotCQkJCQkJCSAgIE11bHRpWGFjdFN0YXRlLT5vZmZzZXRTdG9wTGltaXQgLSBuZXh0T2Zmc2V0 ICsgbm1lbWJlcnMpLAotCQkJCSBlcnJoaW50KCJFeGVjdXRlIGEgZGF0YWJhc2Utd2lkZSBWQUNV VU0gaW4gdGhhdCBkYXRhYmFzZSB3aXRoIHJlZHVjZWQgXCJ2YWN1dW1fbXVsdGl4YWN0X2ZyZWV6 ZV9taW5fYWdlXCIgYW5kIFwidmFjdXVtX211bHRpeGFjdF9mcmVlemVfdGFibGVfYWdlXCIgc2V0 dGluZ3MuIikpKTsKLQogCUV4dGVuZE11bHRpWGFjdE1lbWJlcihuZXh0T2Zmc2V0LCBubWVtYmVy cyk7CiAKIAkvKgpAQCAtMjY1Myw4ICsyNTY4LDYgQEAgU2V0T2Zmc2V0VmFjdXVtTGltaXQoYm9v bCBpc19zdGFydHVwKQogCU11bHRpWGFjdE9mZnNldCBuZXh0T2Zmc2V0OwogCWJvb2wJCW9sZGVz dE9mZnNldEtub3duID0gZmFsc2U7CiAJYm9vbAkJcHJldk9sZGVzdE9mZnNldEtub3duOwotCU11 bHRpWGFjdE9mZnNldCBvZmZzZXRTdG9wTGltaXQgPSAwOwotCU11bHRpWGFjdE9mZnNldCBwcmV2 T2Zmc2V0U3RvcExpbWl0OwogCiAJLyoKIAkgKiBOQjogSGF2ZSB0byBwcmV2ZW50IGNvbmN1cnJl bnQgdHJ1bmNhdGlvbiwgd2UgbWlnaHQgb3RoZXJ3aXNlIHRyeSB0bwpAQCAtMjY2OSw3ICsyNTgy LDYgQEAgU2V0T2Zmc2V0VmFjdXVtTGltaXQoYm9vbCBpc19zdGFydHVwKQogCW5leHRPZmZzZXQg PSBNdWx0aVhhY3RTdGF0ZS0+bmV4dE9mZnNldDsKIAlwcmV2T2xkZXN0T2Zmc2V0S25vd24gPSBN dWx0aVhhY3RTdGF0ZS0+b2xkZXN0T2Zmc2V0S25vd247CiAJcHJldk9sZGVzdE9mZnNldCA9IE11 bHRpWGFjdFN0YXRlLT5vbGRlc3RPZmZzZXQ7Ci0JcHJldk9mZnNldFN0b3BMaW1pdCA9IE11bHRp WGFjdFN0YXRlLT5vZmZzZXRTdG9wTGltaXQ7CiAJQXNzZXJ0KE11bHRpWGFjdFN0YXRlLT5maW5p c2hlZFN0YXJ0dXApOwogCUxXTG9ja1JlbGVhc2UoTXVsdGlYYWN0R2VuTG9jayk7CiAKQEAgLTI3 MDAsMTEgKzI2MTIsNyBAQCBTZXRPZmZzZXRWYWN1dW1MaW1pdChib29sIGlzX3N0YXJ0dXApCiAJ CW9sZGVzdE9mZnNldEtub3duID0KIAkJCWZpbmRfbXVsdGl4YWN0X3N0YXJ0KG9sZGVzdE11bHRp WGFjdElkLCAmb2xkZXN0T2Zmc2V0KTsKIAotCQlpZiAob2xkZXN0T2Zmc2V0S25vd24pCi0JCQll cmVwb3J0KERFQlVHMSwKLQkJCQkJKGVycm1zZ19pbnRlcm5hbCgib2xkZXN0IE11bHRpWGFjdElk IG1lbWJlciBpcyBhdCBvZmZzZXQgJXUiLAotCQkJCQkJCQkJIG9sZGVzdE9mZnNldCkpKTsKLQkJ ZWxzZQorCQlpZiAoIW9sZGVzdE9mZnNldEtub3duKQogCQkJZXJlcG9ydChMT0csCiAJCQkJCShl cnJtc2coIk11bHRpWGFjdCBtZW1iZXIgd3JhcGFyb3VuZCBwcm90ZWN0aW9ucyBhcmUgZGlzYWJs ZWQgYmVjYXVzZSBvbGRlc3QgY2hlY2twb2ludGVkIE11bHRpWGFjdCAldSBkb2VzIG5vdCBleGlz dCBvbiBkaXNrIiwKIAkJCQkJCQlvbGRlc3RNdWx0aVhhY3RJZCkpKTsKQEAgLTI3MTcsMjQgKzI2 MjUsNyBAQCBTZXRPZmZzZXRWYWN1dW1MaW1pdChib29sIGlzX3N0YXJ0dXApCiAJICogb3ZlcnJ1 biBvZiBvbGQgZGF0YSBpbiB0aGUgbWVtYmVycyBTTFJVIGFyZWEuIFdlIGNhbiBvbmx5IGRvIHNv IGlmIHRoZQogCSAqIG9sZGVzdCBvZmZzZXQgaXMga25vd24gdGhvdWdoLgogCSAqLwotCWlmIChv bGRlc3RPZmZzZXRLbm93bikKLQl7Ci0JCS8qIG1vdmUgYmFjayB0byBzdGFydCBvZiB0aGUgY29y cmVzcG9uZGluZyBzZWdtZW50ICovCi0JCW9mZnNldFN0b3BMaW1pdCA9IG9sZGVzdE9mZnNldCAt IChvbGRlc3RPZmZzZXQgJQotCQkJCQkJCQkJCSAgKE1VTFRJWEFDVF9NRU1CRVJTX1BFUl9QQUdF ICogU0xSVV9QQUdFU19QRVJfU0VHTUVOVCkpOwotCi0JCS8qIGFsd2F5cyBsZWF2ZSBvbmUgc2Vn bWVudCBiZWZvcmUgdGhlIHdyYXBhcm91bmQgcG9pbnQgKi8KLQkJb2Zmc2V0U3RvcExpbWl0IC09 IChNVUxUSVhBQ1RfTUVNQkVSU19QRVJfUEFHRSAqIFNMUlVfUEFHRVNfUEVSX1NFR01FTlQpOwot Ci0JCWlmICghcHJldk9sZGVzdE9mZnNldEtub3duICYmICFpc19zdGFydHVwKQotCQkJZXJlcG9y dChMT0csCi0JCQkJCShlcnJtc2coIk11bHRpWGFjdCBtZW1iZXIgd3JhcGFyb3VuZCBwcm90ZWN0 aW9ucyBhcmUgbm93IGVuYWJsZWQiKSkpOwotCi0JCWVyZXBvcnQoREVCVUcxLAotCQkJCShlcnJt c2dfaW50ZXJuYWwoIk11bHRpWGFjdCBtZW1iZXIgc3RvcCBsaW1pdCBpcyBub3cgJXUgYmFzZWQg b24gTXVsdGlYYWN0ICV1IiwKLQkJCQkJCQkJIG9mZnNldFN0b3BMaW1pdCwgb2xkZXN0TXVsdGlY YWN0SWQpKSk7Ci0JfQotCWVsc2UgaWYgKHByZXZPbGRlc3RPZmZzZXRLbm93bikKKwlpZiAocHJl dk9sZGVzdE9mZnNldEtub3duKQogCXsKIAkJLyoKIAkJICogSWYgd2UgZmFpbGVkIHRvIGdldCB0 aGUgb2xkZXN0IG9mZnNldCB0aGlzIHRpbWUsIGJ1dCB3ZSBoYXZlIGEKQEAgLTI3NDQsMTQgKzI2 MzUsMTIgQEAgU2V0T2Zmc2V0VmFjdXVtTGltaXQoYm9vbCBpc19zdGFydHVwKQogCQkgKi8KIAkJ b2xkZXN0T2Zmc2V0ID0gcHJldk9sZGVzdE9mZnNldDsKIAkJb2xkZXN0T2Zmc2V0S25vd24gPSB0 cnVlOwotCQlvZmZzZXRTdG9wTGltaXQgPSBwcmV2T2Zmc2V0U3RvcExpbWl0OwogCX0KIAogCS8q IEluc3RhbGwgdGhlIGNvbXB1dGVkIHZhbHVlcyAqLwogCUxXTG9ja0FjcXVpcmUoTXVsdGlYYWN0 R2VuTG9jaywgTFdfRVhDTFVTSVZFKTsKIAlNdWx0aVhhY3RTdGF0ZS0+b2xkZXN0T2Zmc2V0ID0g b2xkZXN0T2Zmc2V0OwogCU11bHRpWGFjdFN0YXRlLT5vbGRlc3RPZmZzZXRLbm93biA9IG9sZGVz dE9mZnNldEtub3duOwotCU11bHRpWGFjdFN0YXRlLT5vZmZzZXRTdG9wTGltaXQgPSBvZmZzZXRT dG9wTGltaXQ7CiAJTFdMb2NrUmVsZWFzZShNdWx0aVhhY3RHZW5Mb2NrKTsKIAogCS8qCkBAIC0y NzYxLDU0ICsyNjUwLDYgQEAgU2V0T2Zmc2V0VmFjdXVtTGltaXQoYm9vbCBpc19zdGFydHVwKQog CQkobmV4dE9mZnNldCAtIG9sZGVzdE9mZnNldCA+IE1VTFRJWEFDVF9NRU1CRVJfU0FGRV9USFJF U0hPTEQpOwogfQogCi0vKgotICogUmV0dXJuIHdoZXRoZXIgYWRkaW5nICJkaXN0YW5jZSIgdG8g InN0YXJ0IiB3b3VsZCBtb3ZlIHBhc3QgImJvdW5kYXJ5Ii4KLSAqCi0gKiBXZSB1c2UgdGhpcyB0 byBkZXRlcm1pbmUgd2hldGhlciB0aGUgYWRkaXRpb24gaXMgIndyYXBwaW5nIGFyb3VuZCIgdGhl Ci0gKiBib3VuZGFyeSBwb2ludCwgaGVuY2UgdGhlIG5hbWUuICBUaGUgcmVhc29uIHdlIGRvbid0 IHdhbnQgdG8gdXNlIHRoZSByZWd1bGFyCi0gKiAyXjMxLW1vZHVsbyBhcml0aG1ldGljIGhlcmUg aXMgdGhhdCB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdXNlIHRoZSB3aG9sZSBvZgotICogdGhlIDJe MzItMSBzcGFjZSBoZXJlLCBhbGxvd2luZyBmb3IgbW9yZSBtdWx0aXhhY3RzIHRoYW4gd291bGQg Zml0Ci0gKiBvdGhlcndpc2UuCi0gKi8KLXN0YXRpYyBib29sCi1NdWx0aVhhY3RPZmZzZXRXb3Vs ZFdyYXAoTXVsdGlYYWN0T2Zmc2V0IGJvdW5kYXJ5LCBNdWx0aVhhY3RPZmZzZXQgc3RhcnQsCi0J CQkJCQkgdWludDMyIGRpc3RhbmNlKQotewotCU11bHRpWGFjdE9mZnNldCBmaW5pc2g7Ci0KLQkv KgotCSAqIE5vdGUgdGhhdCBvZmZzZXQgbnVtYmVyIDAgaXMgbm90IHVzZWQgKHNlZSBHZXRNdWx0 aVhhY3RJZE1lbWJlcnMpLCBzbwotCSAqIGlmIHRoZSBhZGRpdGlvbiB3cmFwcyBhcm91bmQgdGhl IFVJTlRfTUFYIGJvdW5kYXJ5LCBza2lwIHRoYXQgdmFsdWUuCi0JICovCi0JZmluaXNoID0gc3Rh cnQgKyBkaXN0YW5jZTsKLQlpZiAoZmluaXNoIDwgc3RhcnQpCi0JCWZpbmlzaCsrOwotCi0JLyot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQotCSAqIFdoZW4gdGhlIGJvdW5kYXJ5IGlzIG51bWVyaWNhbGx5IGdyZWF0 ZXIgdGhhbiB0aGUgc3RhcnRpbmcgcG9pbnQsIGFueQotCSAqIHZhbHVlIG51bWVyaWNhbGx5IGJl dHdlZW4gdGhlIHR3byBpcyBub3Qgd3JhcHBlZDoKLQkgKgotCSAqCTwtLS0tUy0tLS1CLS0tLT4K LQkgKglbLS0tKQkJCSA9IEYgd3JhcHBlZCBwYXN0IEIgKGFuZCBVSU5UX01BWCkKLQkgKgkJIFst LS0pCQkgPSBGIG5vdCB3cmFwcGVkCi0JICoJCQkgIFstLS0tXSA9IEYgd3JhcHBlZCBwYXN0IEIK LQkgKgotCSAqIFdoZW4gdGhlIGJvdW5kYXJ5IGlzIG51bWVyaWNhbGx5IGxlc3MgdGhhbiB0aGUg c3RhcnRpbmcgcG9pbnQgKGkuZS4gdGhlCi0JICogVUlOVF9NQVggd3JhcGFyb3VuZCBvY2N1cnMg c29tZXdoZXJlIGluIGJldHdlZW4pIHRoZW4gYWxsIHZhbHVlcyBpbgotCSAqIGJldHdlZW4gYXJl IHdyYXBwZWQ6Ci0JICoKLQkgKgk8LS0tLUItLS0tUy0tLS0+Ci0JICoJWy0tLSkJCQkgPSBGIG5v dCB3cmFwcGVkIHBhc3QgQiAoYnV0IHdyYXBwZWQgcGFzdCBVSU5UX01BWCkKLQkgKgkJIFstLS0p CQkgPSBGIHdyYXBwZWQgcGFzdCBCIChhbmQgVUlOVF9NQVgpCi0JICoJCQkgIFstLS0tXSA9IEYg bm90IHdyYXBwZWQKLQkgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0JICovCi0JaWYgKHN0YXJ0IDwgYm91bmRh cnkpCi0JCXJldHVybiBmaW5pc2ggPj0gYm91bmRhcnkgfHwgZmluaXNoIDwgc3RhcnQ7Ci0JZWxz ZQotCQlyZXR1cm4gZmluaXNoID49IGJvdW5kYXJ5ICYmIGZpbmlzaCA8IHN0YXJ0OwotfQotCiAv KgogICogRmluZCB0aGUgc3RhcnRpbmcgb2Zmc2V0IG9mIHRoZSBnaXZlbiBNdWx0aVhhY3RJZC4K ICAqCkBAIC0yODkzLDczICsyNzM0LDYgQEAgR2V0TXVsdGlYYWN0SW5mbyh1aW50MzIgKm11bHRp eGFjdHMsIE11bHRpWGFjdE9mZnNldCAqbWVtYmVycywKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotLyoK LSAqIE11bHRpeGFjdCBtZW1iZXJzIGNhbiBiZSByZW1vdmVkIG9uY2UgdGhlIG11bHRpeGFjdHMg dGhhdCByZWZlciB0byB0aGVtCi0gKiBhcmUgb2xkZXIgdGhhbiBldmVyeSBkYXRtaW5teGlkLiAg YXV0b3ZhY3V1bV9tdWx0aXhhY3RfZnJlZXplX21heF9hZ2UgYW5kCi0gKiB2YWN1dW1fbXVsdGl4 YWN0X2ZyZWV6ZV90YWJsZV9hZ2Ugd29yayB0b2dldGhlciB0byBtYWtlIHN1cmUgd2UgbmV2ZXIg aGF2ZQotICogdG9vIG1hbnkgbXVsdGl4YWN0czsgd2UgaG9wZSB0aGF0LCBhdCBsZWFzdCB1bmRl ciBub3JtYWwgY2lyY3Vtc3RhbmNlcywKLSAqIHRoaXMgd2lsbCBhbHNvIGJlIHN1ZmZpY2llbnQg dG8ga2VlcCB1cyBmcm9tIHVzaW5nIHRvbyBtYW55IG9mZnNldHMuCi0gKiBIb3dldmVyLCBpZiB0 aGUgYXZlcmFnZSBtdWx0aXhhY3QgaGFzIG1hbnkgbWVtYmVycywgd2UgbWlnaHQgZXhoYXVzdCB0 aGUKLSAqIG1lbWJlcnMgc3BhY2Ugd2hpbGUgc3RpbGwgdXNpbmcgZmV3IGVub3VnaCBtZW1iZXJz IHRoYXQgdGhlc2UgbGltaXRzIGZhaWwKLSAqIHRvIHRyaWdnZXIgcmVsbWlubXhpZCBhZHZhbmNl bWVudCBieSBWQUNVVU0uICBBdCB0aGF0IHBvaW50LCB3ZSdkIGhhdmUgbm8KLSAqIGNob2ljZSBi dXQgdG8gc3RhcnQgZmFpbGluZyBtdWx0aXhhY3QtY3JlYXRpbmcgb3BlcmF0aW9ucyB3aXRoIGFu IGVycm9yLgotICoKLSAqIFRvIHByZXZlbnQgdGhhdCwgaWYgbW9yZSB0aGFuIGEgdGhyZXNob2xk IHBvcnRpb24gb2YgdGhlIG1lbWJlcnMgc3BhY2UgaXMKLSAqIHVzZWQsIHdlIGVmZmVjdGl2ZWx5 IHJlZHVjZSBhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSBhbmQKLSAqIHRvIGEg dmFsdWUganVzdCBsZXNzIHRoYW4gdGhlIG51bWJlciBvZiBtdWx0aXhhY3RzIGluIHVzZS4gIFdl IGhvcGUgdGhhdAotICogdGhpcyB3aWxsIHF1aWNrbHkgdHJpZ2dlciBhdXRvdmFjdXVtaW5nIG9u IHRoZSB0YWJsZSBvciB0YWJsZXMgd2l0aCB0aGUKLSAqIG9sZGVzdCByZWxtaW5teGlkLCB0aHVz IGFsbG93aW5nIGRhdG1pbm14aWQgdmFsdWVzIHRvIGFkdmFuY2UgYW5kIHJlbW92aW5nCi0gKiBz b21lIG1lbWJlcnMuCi0gKgotICogQXMgdGhlIGZyYWN0aW9uIG9mIHRoZSBtZW1iZXIgc3BhY2Ug Y3VycmVudGx5IGluIHVzZSBncm93cywgd2UgYmVjb21lCi0gKiBtb3JlIGFnZ3Jlc3NpdmUgaW4g Y2xhbXBpbmcgdGhpcyB2YWx1ZS4gIFRoYXQgbm90IG9ubHkgY2F1c2VzIGF1dG92YWN1dW0KLSAq IHRvIHJhbXAgdXAsIGJ1dCBhbHNvIG1ha2VzIGFueSBtYW51YWwgdmFjdXVtcyB0aGUgdXNlciBp c3N1ZXMgbW9yZQotICogYWdncmVzc2l2ZS4gIFRoaXMgaGFwcGVucyBiZWNhdXNlIHZhY3V1bV9n ZXRfY3V0b2ZmcygpIHdpbGwgY2xhbXAgdGhlCi0gKiBmcmVlemUgdGFibGUgYW5kIHRoZSBtaW5p bXVtIGZyZWV6ZSBhZ2UgY3V0b2ZmcyBiYXNlZCBvbiB0aGUgZWZmZWN0aXZlCi0gKiBhdXRvdmFj dXVtX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSB0aGlzIGZ1bmN0aW9uIHJldHVybnMuICBJbiB0 aGUgd29yc3QKLSAqIGNhc2UsIHdlJ2xsIGNsYWltIHRoZSBmcmVlemVfbWF4X2FnZSB0byB6ZXJv LCBhbmQgZXZlcnkgdmFjdXVtIG9mIGFueQotICogdGFibGUgd2lsbCBmcmVlemUgZXZlcnkgbXVs dGl4YWN0LgotICovCi1pbnQKLU11bHRpWGFjdE1lbWJlckZyZWV6ZVRocmVzaG9sZCh2b2lkKQot ewotCU11bHRpWGFjdE9mZnNldCBtZW1iZXJzOwotCXVpbnQzMgkJbXVsdGl4YWN0czsKLQl1aW50 MzIJCXZpY3RpbV9tdWx0aXhhY3RzOwotCWRvdWJsZQkJZnJhY3Rpb247Ci0JaW50CQkJcmVzdWx0 OwotCU11bHRpWGFjdElkIG9sZGVzdE11bHRpWGFjdElkOwotCU11bHRpWGFjdE9mZnNldCBvbGRl c3RPZmZzZXQ7Ci0KLQkvKiBJZiB3ZSBjYW4ndCBkZXRlcm1pbmUgbWVtYmVyIHNwYWNlIHV0aWxp emF0aW9uLCBhc3N1bWUgdGhlIHdvcnN0LiAqLwotCWlmICghR2V0TXVsdGlYYWN0SW5mbygmbXVs dGl4YWN0cywgJm1lbWJlcnMsICZvbGRlc3RNdWx0aVhhY3RJZCwgJm9sZGVzdE9mZnNldCkpCi0J CXJldHVybiAwOwotCi0JLyogSWYgbWVtYmVyIHNwYWNlIHV0aWxpemF0aW9uIGlzIGxvdywgbm8g c3BlY2lhbCBhY3Rpb24gaXMgcmVxdWlyZWQuICovCi0JaWYgKG1lbWJlcnMgPD0gTVVMVElYQUNU X01FTUJFUl9TQUZFX1RIUkVTSE9MRCkKLQkJcmV0dXJuIGF1dG92YWN1dW1fbXVsdGl4YWN0X2Zy ZWV6ZV9tYXhfYWdlOwotCi0JLyoKLQkgKiBDb21wdXRlIGEgdGFyZ2V0IGZvciByZWxtaW5teGlk IGFkdmFuY2VtZW50LiAgVGhlIG51bWJlciBvZiBtdWx0aXhhY3RzCi0JICogd2UgdHJ5IHRvIGVs aW1pbmF0ZSBmcm9tIHRoZSBzeXN0ZW0gaXMgYmFzZWQgb24gaG93IGZhciB3ZSBhcmUgcGFzdAot CSAqIE1VTFRJWEFDVF9NRU1CRVJfU0FGRV9USFJFU0hPTEQuCi0JICovCi0JZnJhY3Rpb24gPSAo ZG91YmxlKSAobWVtYmVycyAtIE1VTFRJWEFDVF9NRU1CRVJfU0FGRV9USFJFU0hPTEQpIC8KLQkJ KE1VTFRJWEFDVF9NRU1CRVJfREFOR0VSX1RIUkVTSE9MRCAtIE1VTFRJWEFDVF9NRU1CRVJfU0FG RV9USFJFU0hPTEQpOwotCXZpY3RpbV9tdWx0aXhhY3RzID0gbXVsdGl4YWN0cyAqIGZyYWN0aW9u OwotCi0JLyogZnJhY3Rpb24gY291bGQgYmUgPiAxLjAsIGJ1dCBsb3dlc3QgcG9zc2libGUgZnJl ZXplIGFnZSBpcyB6ZXJvICovCi0JaWYgKHZpY3RpbV9tdWx0aXhhY3RzID4gbXVsdGl4YWN0cykK LQkJcmV0dXJuIDA7Ci0JcmVzdWx0ID0gbXVsdGl4YWN0cyAtIHZpY3RpbV9tdWx0aXhhY3RzOwot Ci0JLyoKLQkgKiBDbGFtcCB0byBhdXRvdmFjdXVtX211bHRpeGFjdF9mcmVlemVfbWF4X2FnZSwg c28gdGhhdCB3ZSBuZXZlciBtYWtlCi0JICogYXV0b3ZhY3V1bSBsZXNzIGFnZ3Jlc3NpdmUgdGhh biBpdCB3b3VsZCBvdGhlcndpc2UgYmUuCi0JICovCi0JcmV0dXJuIE1pbihyZXN1bHQsIGF1dG92 YWN1dW1fbXVsdGl4YWN0X2ZyZWV6ZV9tYXhfYWdlKTsKLX0KLQogdHlwZWRlZiBzdHJ1Y3QgbXh0 cnVuY2luZm8KIHsKIAlpbnQ2NAkJZWFybGllc3RFeGlzdGluZ1BhZ2U7CkBAIC0zMjkwLDcgKzMw NjQsNyBAQCBNdWx0aVhhY3RJZFByZWNlZGVzT3JFcXVhbHMoTXVsdGlYYWN0SWQgbXVsdGkxLCBN dWx0aVhhY3RJZCBtdWx0aTIpCiBzdGF0aWMgYm9vbAogTXVsdGlYYWN0T2Zmc2V0UHJlY2VkZXMo TXVsdGlYYWN0T2Zmc2V0IG9mZnNldDEsIE11bHRpWGFjdE9mZnNldCBvZmZzZXQyKQogewotCWlu dDMyCQlkaWZmID0gKGludDMyKSAob2Zmc2V0MSAtIG9mZnNldDIpOworCWludDY0CQlkaWZmID0g KGludDY0KSAob2Zmc2V0MSAtIG9mZnNldDIpOwogCiAJcmV0dXJuIChkaWZmIDwgMCk7CiB9CmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMgYi9zcmMvYmluL3Bn X3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMKaW5kZXggZjlmM2I1ZGE5Ni4uNjQ2YWIxYjgwZCAxMDA2 NDQKLS0tIGEvc3JjL2Jpbi9wZ19yZXNldHdhbC9wZ19yZXNldHdhbC5jCisrKyBiL3NyYy9iaW4v cGdfcmVzZXR3YWwvcGdfcmVzZXR3YWwuYwpAQCAtMjY2LDcgKzI2Niw3IEBAIG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKIAogCQkJY2FzZSAnTyc6CiAJCQkJZXJybm8gPSAwOwotCQkJCXNl dF9teG9mZiA9IHN0cnRvdWwob3B0YXJnLCAmZW5kcHRyLCAwKTsKKwkJCQlzZXRfbXhvZmYgPSBz dHJ0b3U2NChvcHRhcmcsICZlbmRwdHIsIDApOwogCQkJCWlmIChlbmRwdHIgPT0gb3B0YXJnIHx8 ICplbmRwdHIgIT0gJ1wwJyB8fCBlcnJubyAhPSAwKQogCQkJCXsKIAkJCQkJcGdfbG9nX2Vycm9y KCJpbnZhbGlkIGFyZ3VtZW50IGZvciBvcHRpb24gJXMiLCAiLU8iKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iaW4vcGdfcmVzZXR3YWwvdC8wMDFfYmFzaWMucGwgYi9zcmMvYmluL3BnX3Jlc2V0d2FsL3Qv MDAxX2Jhc2ljLnBsCmluZGV4IGQ2YmJiZDBjZWQuLmNjODllMDc2NGEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfcmVzZXR3YWwvdC8wMDFfYmFzaWMucGwKKysrIGIvc3JjL2Jpbi9wZ19yZXNldHdh bC90LzAwMV9iYXNpYy5wbApAQCAtMjEzLDcgKzIxMyw3IEBAIHB1c2ggQGNtZCwKICAgc3ByaW50 ZigiJWQsJWQiLCBoZXgoJGZpbGVzWzBdKSA9PSAwID8gMyA6IGhleCgkZmlsZXNbMF0pLCBoZXgo JGZpbGVzWy0xXSkpOwogCiBAZmlsZXMgPSBnZXRfc2xydV9maWxlcygncGdfbXVsdGl4YWN0L29m ZnNldHMnKTsKLSRtdWx0ID0gMzIgKiAkYmxja3N6IC8gNDsKKyRtdWx0ID0gMzIgKiAkYmxja3N6 IC8gODsKICMgLS1tdWx0aXhhY3QtaWRzIGFyZ3VtZW50IGlzICJuZXcsb2xkIgogcHVzaCBAY21k LAogICAnLS1tdWx0aXhhY3QtaWRzJyA9PiBzcHJpbnRmKCIlZCwlZCIsCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9hY2Nlc3MvbXVsdGl4YWN0LmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MvbXVsdGl4 YWN0LmgKaW5kZXggODJlNGJiOTBkZC4uNzkyYjVmMTQwZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvYWNjZXNzL211bHRpeGFjdC5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9tdWx0aXhhY3Qu aApAQCAtMjgsNyArMjgsNyBAQAogCiAjZGVmaW5lIE11bHRpWGFjdElkSXNWYWxpZChtdWx0aSkg KChtdWx0aSkgIT0gSW52YWxpZE11bHRpWGFjdElkKQogCi0jZGVmaW5lIE1heE11bHRpWGFjdE9m ZnNldAkoKE11bHRpWGFjdE9mZnNldCkgMHhGRkZGRkZGRikKKyNkZWZpbmUgTWF4TXVsdGlYYWN0 T2Zmc2V0CVVJTlQ2NENPTlNUKDB4RkZGRkZGRkZGRkZGRkZGRikKIAogLyoKICAqIFBvc3NpYmxl IG11bHRpeGFjdCBsb2NrIG1vZGVzICgic3RhdHVzIikuICBUaGUgZmlyc3QgZm91ciBtb2RlcyBh cmUgZm9yCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jLmggYi9zcmMvaW5jbHVkZS9jLmgKaW5k ZXggMzkwMjJmOGE5ZC4uZGU5YWMxM2JlNyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisr KyBiL3NyYy9pbmNsdWRlL2MuaApAQCAtNjQxLDcgKzY0MSw3IEBAIHR5cGVkZWYgdWludDMyIFN1 YlRyYW5zYWN0aW9uSWQ7CiAvKiBNdWx0aVhhY3RJZCBtdXN0IGJlIGVxdWl2YWxlbnQgdG8gVHJh bnNhY3Rpb25JZCwgdG8gZml0IGluIHRfeG1heCAqLwogdHlwZWRlZiBUcmFuc2FjdGlvbklkIE11 bHRpWGFjdElkOwogCi10eXBlZGVmIHVpbnQzMiBNdWx0aVhhY3RPZmZzZXQ7Cit0eXBlZGVmIHVp bnQ2NCBNdWx0aVhhY3RPZmZzZXQ7CiAKIHR5cGVkZWYgdWludDMyIENvbW1hbmRJZDsKIAotLSAK Mi41MC4xCgo= --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0001-Use-64-bit-format-output-for-multixact-offsets.patch" Content-Disposition: attachment; filename="v17-0001-Use-64-bit-format-output-for-multixact-offsets.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54re80 RnJvbSAwMzliNTRkMjNmZTViYjNlNmM5MzNlMDYwM2ZlODQ0ZDM5YjdiNGY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgNyBBdWcgMjAyNCAxNjozNToyMiArMDMwMApTdWJqZWN0OiBbUEFUQ0ggdjE3IDEvN10g VXNlIDY0LWJpdCBmb3JtYXQgb3V0cHV0IGZvciBtdWx0aXhhY3Qgb2Zmc2V0cwoKQXV0aG9yOiBN YXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL3Jt Z3JkZXNjL214YWN0ZGVzYy5jICAgfCAgNCArKy0tCiBzcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRl c2MveGxvZ2Rlc2MuYyAgICB8ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0 aXhhY3QuYyAgICB8IDEzICsrKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2dyZWNvdmVyeS5jIHwgIDIgKy0KIHNyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJv bGRhdGEuYyAgIHwgIDIgKy0KIHNyYy9iaW4vcGdfcmVzZXR3YWwvcGdfcmVzZXR3YWwuYyAgICAg ICAgIHwgIDQgKystLQogNiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRlc2MvbXhhY3Rk ZXNjLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRlc2MvbXhhY3RkZXNjLmMKaW5kZXggM2Nh MDU4MmRiMy4uMDUyZGQwYTRjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3JtZ3Jk ZXNjL214YWN0ZGVzYy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy9teGFjdGRl c2MuYwpAQCAtNjUsNyArNjUsNyBAQCBtdWx0aXhhY3RfZGVzYyhTdHJpbmdJbmZvIGJ1ZiwgWExv Z1JlYWRlclN0YXRlICpyZWNvcmQpCiAJCXhsX211bHRpeGFjdF9jcmVhdGUgKnhscmVjID0gKHhs X211bHRpeGFjdF9jcmVhdGUgKikgcmVjOwogCQlpbnQJCQlpOwogCi0JCWFwcGVuZFN0cmluZ0lu Zm8oYnVmLCAiJXUgb2Zmc2V0ICV1IG5tZW1iZXJzICVkOiAiLCB4bHJlYy0+bWlkLAorCQlhcHBl bmRTdHJpbmdJbmZvKGJ1ZiwgIiV1IG9mZnNldCAlIiBQUkl1NjQgIiBubWVtYmVycyAlZDogIiwg eGxyZWMtPm1pZCwKIAkJCQkJCSB4bHJlYy0+bW9mZiwgeGxyZWMtPm5tZW1iZXJzKTsKIAkJZm9y IChpID0gMDsgaSA8IHhscmVjLT5ubWVtYmVyczsgaSsrKQogCQkJb3V0X21lbWJlcihidWYsICZ4 bHJlYy0+bWVtYmVyc1tpXSk7CkBAIC03NCw3ICs3NCw3IEBAIG11bHRpeGFjdF9kZXNjKFN0cmlu Z0luZm8gYnVmLCBYTG9nUmVhZGVyU3RhdGUgKnJlY29yZCkKIAl7CiAJCXhsX211bHRpeGFjdF90 cnVuY2F0ZSAqeGxyZWMgPSAoeGxfbXVsdGl4YWN0X3RydW5jYXRlICopIHJlYzsKIAotCQlhcHBl bmRTdHJpbmdJbmZvKGJ1ZiwgIm9mZnNldHMgWyV1LCAldSksIG1lbWJlcnMgWyV1LCAldSkiLAor CQlhcHBlbmRTdHJpbmdJbmZvKGJ1ZiwgIm9mZnNldHMgWyV1LCAldSksIG1lbWJlcnMgWyUiIFBS SXU2NCAiLCAlIiBQUkl1NjQgIikiLAogCQkJCQkJIHhscmVjLT5zdGFydFRydW5jT2ZmLCB4bHJl Yy0+ZW5kVHJ1bmNPZmYsCiAJCQkJCQkgeGxyZWMtPnN0YXJ0VHJ1bmNNZW1iLCB4bHJlYy0+ZW5k VHJ1bmNNZW1iKTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvcm1ncmRlc2Mv eGxvZ2Rlc2MuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy94bG9nZGVzYy5jCmluZGV4 IGNkNmMyYTJmNjUuLjQ0MTAzNGY1OTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9y bWdyZGVzYy94bG9nZGVzYy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy94bG9n ZGVzYy5jCkBAIC02Niw3ICs2Niw3IEBAIHhsb2dfZGVzYyhTdHJpbmdJbmZvIGJ1ZiwgWExvZ1Jl YWRlclN0YXRlICpyZWNvcmQpCiAJCUNoZWNrUG9pbnQgKmNoZWNrcG9pbnQgPSAoQ2hlY2tQb2lu dCAqKSByZWM7CiAKIAkJYXBwZW5kU3RyaW5nSW5mbyhidWYsICJyZWRvICVYLyUwOFg7ICIKLQkJ CQkJCSAidGxpICV1OyBwcmV2IHRsaSAldTsgZnB3ICVzOyB3YWxfbGV2ZWwgJXM7IHhpZCAldTol dTsgb2lkICV1OyBtdWx0aSAldTsgb2Zmc2V0ICV1OyAiCisJCQkJCQkgInRsaSAldTsgcHJldiB0 bGkgJXU7IGZwdyAlczsgd2FsX2xldmVsICVzOyB4aWQgJXU6JXU7IG9pZCAldTsgbXVsdGkgJXU7 IG9mZnNldCAlIiBQUkl1NjQgIjsgIgogCQkJCQkJICJvbGRlc3QgeGlkICV1IGluIERCICV1OyBv bGRlc3QgbXVsdGkgJXUgaW4gREIgJXU7ICIKIAkJCQkJCSAib2xkZXN0L25ld2VzdCBjb21taXQg dGltZXN0YW1wIHhpZDogJXUvJXU7ICIKIAkJCQkJCSAib2xkZXN0IHJ1bm5pbmcgeGlkICV1OyAl cyIsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9tdWx0aXhhY3QuYyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCmluZGV4IDhiZjU5ZDM2OWYu LmRjNzFjOGY0NGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRp eGFjdC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL211bHRpeGFjdC5jCkBAIC0x MjU0LDcgKzEyNTQsOCBAQCBHZXROZXdNdWx0aVhhY3RJZChpbnQgbm1lbWJlcnMsIE11bHRpWGFj dE9mZnNldCAqb2Zmc2V0KQogCiAJTFdMb2NrUmVsZWFzZShNdWx0aVhhY3RHZW5Mb2NrKTsKIAot CWRlYnVnX2Vsb2c0KERFQlVHMiwgIkdldE5ldzogcmV0dXJuaW5nICV1IG9mZnNldCAldSIsIHJl c3VsdCwgKm9mZnNldCk7CisJZGVidWdfZWxvZzQoREVCVUcyLCAiR2V0TmV3OiByZXR1cm5pbmcg JXUgb2Zmc2V0ICUiIFBSSXU2NCwgcmVzdWx0LAorCQkJCSpvZmZzZXQpOwogCXJldHVybiByZXN1 bHQ7CiB9CiAKQEAgLTIyMjIsNyArMjIyMyw3IEBAIE11bHRpWGFjdEdldENoZWNrcHRNdWx0aShi b29sIGlzX3NodXRkb3duLAogCUxXTG9ja1JlbGVhc2UoTXVsdGlYYWN0R2VuTG9jayk7CiAKIAlk ZWJ1Z19lbG9nNihERUJVRzIsCi0JCQkJIk11bHRpWGFjdDogY2hlY2twb2ludCBpcyBuZXh0TXVs dGkgJXUsIG5leHRPZmZzZXQgJXUsIG9sZGVzdE11bHRpICV1IGluIERCICV1IiwKKwkJCQkiTXVs dGlYYWN0OiBjaGVja3BvaW50IGlzIG5leHRNdWx0aSAldSwgbmV4dE9mZnNldCAlIiBQUkl1NjQg Iiwgb2xkZXN0TXVsdGkgJXUgaW4gREIgJXUiLAogCQkJCSpuZXh0TXVsdGksICpuZXh0TXVsdGlP ZmZzZXQsICpvbGRlc3RNdWx0aSwgKm9sZGVzdE11bHRpREIpOwogfQogCkBAIC0yMjU3LDcgKzIy NTgsNyBAQCB2b2lkCiBNdWx0aVhhY3RTZXROZXh0TVhhY3QoTXVsdGlYYWN0SWQgbmV4dE11bHRp LAogCQkJCQkgIE11bHRpWGFjdE9mZnNldCBuZXh0TXVsdGlPZmZzZXQpCiB7Ci0JZGVidWdfZWxv ZzQoREVCVUcyLCAiTXVsdGlYYWN0OiBzZXR0aW5nIG5leHQgbXVsdGkgdG8gJXUgb2Zmc2V0ICV1 IiwKKwlkZWJ1Z19lbG9nNChERUJVRzIsICJNdWx0aVhhY3Q6IHNldHRpbmcgbmV4dCBtdWx0aSB0 byAldSBvZmZzZXQgJSIgUFJJdTY0LAogCQkJCW5leHRNdWx0aSwgbmV4dE11bHRpT2Zmc2V0KTsK IAlMV0xvY2tBY3F1aXJlKE11bHRpWGFjdEdlbkxvY2ssIExXX0VYQ0xVU0lWRSk7CiAJTXVsdGlY YWN0U3RhdGUtPm5leHRNWGFjdCA9IG5leHRNdWx0aTsKQEAgLTI0NDgsNyArMjQ0OSw3IEBAIE11 bHRpWGFjdEFkdmFuY2VOZXh0TVhhY3QoTXVsdGlYYWN0SWQgbWluTXVsdGksCiAJfQogCWlmIChN dWx0aVhhY3RPZmZzZXRQcmVjZWRlcyhNdWx0aVhhY3RTdGF0ZS0+bmV4dE9mZnNldCwgbWluTXVs dGlPZmZzZXQpKQogCXsKLQkJZGVidWdfZWxvZzMoREVCVUcyLCAiTXVsdGlYYWN0OiBzZXR0aW5n IG5leHQgb2Zmc2V0IHRvICV1IiwKKwkJZGVidWdfZWxvZzMoREVCVUcyLCAiTXVsdGlYYWN0OiBz ZXR0aW5nIG5leHQgb2Zmc2V0IHRvICUiIFBSSVU2NCwKIAkJCQkJbWluTXVsdGlPZmZzZXQpOwog CQlNdWx0aVhhY3RTdGF0ZS0+bmV4dE9mZnNldCA9IG1pbk11bHRpT2Zmc2V0OwogCX0KQEAgLTMx NTgsNyArMzE1OSw3IEBAIFRydW5jYXRlTXVsdGlYYWN0KE11bHRpWGFjdElkIG5ld09sZGVzdE11 bHRpLCBPaWQgbmV3T2xkZXN0TXVsdGlEQikKIAogCWVsb2coREVCVUcxLCAicGVyZm9ybWluZyBt dWx0aXhhY3QgdHJ1bmNhdGlvbjogIgogCQkgIm9mZnNldHMgWyV1LCAldSksIG9mZnNldHMgc2Vn bWVudHMgWyUiIFBSSXg2NCAiLCAlIiBQUkl4NjQgIiksICIKLQkJICJtZW1iZXJzIFsldSwgJXUp LCBtZW1iZXJzIHNlZ21lbnRzIFslIiBQUkl4NjQgIiwgJSIgUFJJeDY0ICIpIiwKKwkJICJtZW1i ZXJzIFslIiBQUkl1NjQgIiwgJSIgUFJJdTY0ICIpLCBtZW1iZXJzIHNlZ21lbnRzIFslIiBQUkl4 NjQgIiwgJSIgUFJJeDY0ICIpIiwKIAkJIG9sZGVzdE11bHRpLCBuZXdPbGRlc3RNdWx0aSwKIAkJ IE11bHRpWGFjdElkVG9PZmZzZXRTZWdtZW50KG9sZGVzdE11bHRpKSwKIAkJIE11bHRpWGFjdElk VG9PZmZzZXRTZWdtZW50KG5ld09sZGVzdE11bHRpKSwKQEAgLTMzODYsNyArMzM4Nyw3IEBAIG11 bHRpeGFjdF9yZWRvKFhMb2dSZWFkZXJTdGF0ZSAqcmVjb3JkKQogCiAJCWVsb2coREVCVUcxLCAi cmVwbGF5aW5nIG11bHRpeGFjdCB0cnVuY2F0aW9uOiAiCiAJCQkgIm9mZnNldHMgWyV1LCAldSks IG9mZnNldHMgc2VnbWVudHMgWyUiIFBSSXg2NCAiLCAlIiBQUkl4NjQgIiksICIKLQkJCSAibWVt YmVycyBbJXUsICV1KSwgbWVtYmVycyBzZWdtZW50cyBbJSIgUFJJeDY0ICIsICUiIFBSSXg2NCAi KSIsCisJCQkgIm1lbWJlcnMgWyUiIFBSSXU2NCAiLCAlIiBQUkl1NjQgIiksIG1lbWJlcnMgc2Vn bWVudHMgWyUiIFBSSXg2NCAiLCAlIiBQUkl4NjQgIikiLAogCQkJIHhscmVjLnN0YXJ0VHJ1bmNP ZmYsIHhscmVjLmVuZFRydW5jT2ZmLAogCQkJIE11bHRpWGFjdElkVG9PZmZzZXRTZWdtZW50KHhs cmVjLnN0YXJ0VHJ1bmNPZmYpLAogCQkJIE11bHRpWGFjdElkVG9PZmZzZXRTZWdtZW50KHhscmVj LmVuZFRydW5jT2ZmKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hs b2dyZWNvdmVyeS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ3JlY292ZXJ5LmMK aW5kZXggMzQ2MzE5MzM4YS4uM2FmMDhkNTc5YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNj ZXNzL3RyYW5zYW0veGxvZ3JlY292ZXJ5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0veGxvZ3JlY292ZXJ5LmMKQEAgLTg4NCw3ICs4ODQsNyBAQCBJbml0V2FsUmVjb3ZlcnkoQ29u dHJvbEZpbGVEYXRhICpDb250cm9sRmlsZSwgYm9vbCAqd2FzU2h1dGRvd25fcHRyLAogCQkJCQkJ CSBVNjRGcm9tRnVsbFRyYW5zYWN0aW9uSWQoY2hlY2tQb2ludC5uZXh0WGlkKSwKIAkJCQkJCQkg Y2hlY2tQb2ludC5uZXh0T2lkKSkpOwogCWVyZXBvcnQoREVCVUcxLAotCQkJKGVycm1zZ19pbnRl cm5hbCgibmV4dCBNdWx0aVhhY3RJZDogJXU7IG5leHQgTXVsdGlYYWN0T2Zmc2V0OiAldSIsCisJ CQkoZXJybXNnX2ludGVybmFsKCJuZXh0IE11bHRpWGFjdElkOiAldTsgbmV4dCBNdWx0aVhhY3RP ZmZzZXQ6ICUiIFBSSXU2NCwKIAkJCQkJCQkgY2hlY2tQb2ludC5uZXh0TXVsdGksIGNoZWNrUG9p bnQubmV4dE11bHRpT2Zmc2V0KSkpOwogCWVyZXBvcnQoREVCVUcxLAogCQkJKGVycm1zZ19pbnRl cm5hbCgib2xkZXN0IHVuZnJvemVuIHRyYW5zYWN0aW9uIElEOiAldSwgaW4gZGF0YWJhc2UgJXUi LApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jIGIv c3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jCmluZGV4IDEwZGUwNThjZTku LjUyOTUxMDhhZGUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJv bGRhdGEuYworKysgYi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMKQEAg LTI2NCw3ICsyNjQsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCSAgIENvbnRy b2xGaWxlLT5jaGVja1BvaW50Q29weS5uZXh0T2lkKTsKIAlwcmludGYoXygiTGF0ZXN0IGNoZWNr cG9pbnQncyBOZXh0TXVsdGlYYWN0SWQ6ICAldVxuIiksCiAJCSAgIENvbnRyb2xGaWxlLT5jaGVj a1BvaW50Q29weS5uZXh0TXVsdGkpOwotCXByaW50ZihfKCJMYXRlc3QgY2hlY2twb2ludCdzIE5l eHRNdWx0aU9mZnNldDogICV1XG4iKSwKKwlwcmludGYoXygiTGF0ZXN0IGNoZWNrcG9pbnQncyBO ZXh0TXVsdGlPZmZzZXQ6ICAlIiBQUkl1NjQgIlxuIiksCiAJCSAgIENvbnRyb2xGaWxlLT5jaGVj a1BvaW50Q29weS5uZXh0TXVsdGlPZmZzZXQpOwogCXByaW50ZihfKCJMYXRlc3QgY2hlY2twb2lu dCdzIG9sZGVzdFhJRDogICAgICAgICV1XG4iKSwKIAkJICAgQ29udHJvbEZpbGUtPmNoZWNrUG9p bnRDb3B5Lm9sZGVzdFhpZCk7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jl c2V0d2FsLmMgYi9zcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMKaW5kZXggN2E0ZTRl Yjk1Ny4uZjlmM2I1ZGE5NiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19yZXNldHdhbC9wZ19yZXNl dHdhbC5jCisrKyBiL3NyYy9iaW4vcGdfcmVzZXR3YWwvcGdfcmVzZXR3YWwuYwpAQCAtNzU5LDcg Kzc1OSw3IEBAIFByaW50Q29udHJvbFZhbHVlcyhib29sIGd1ZXNzZWQpCiAJCSAgIENvbnRyb2xG aWxlLmNoZWNrUG9pbnRDb3B5Lm5leHRPaWQpOwogCXByaW50ZihfKCJMYXRlc3QgY2hlY2twb2lu dCdzIE5leHRNdWx0aVhhY3RJZDogICV1XG4iKSwKIAkJICAgQ29udHJvbEZpbGUuY2hlY2tQb2lu dENvcHkubmV4dE11bHRpKTsKLQlwcmludGYoXygiTGF0ZXN0IGNoZWNrcG9pbnQncyBOZXh0TXVs dGlPZmZzZXQ6ICAldVxuIiksCisJcHJpbnRmKF8oIkxhdGVzdCBjaGVja3BvaW50J3MgTmV4dE11 bHRpT2Zmc2V0OiAgJSIgUFJJdTY0ICJcbiIpLAogCQkgICBDb250cm9sRmlsZS5jaGVja1BvaW50 Q29weS5uZXh0TXVsdGlPZmZzZXQpOwogCXByaW50ZihfKCJMYXRlc3QgY2hlY2twb2ludCdzIG9s ZGVzdFhJRDogICAgICAgICV1XG4iKSwKIAkJICAgQ29udHJvbEZpbGUuY2hlY2tQb2ludENvcHku b2xkZXN0WGlkKTsKQEAgLTgzMyw3ICs4MzMsNyBAQCBQcmludE5ld0NvbnRyb2xWYWx1ZXModm9p ZCkKIAogCWlmIChzZXRfbXhvZmYgIT0gLTEpCiAJewotCQlwcmludGYoXygiTmV4dE11bHRpT2Zm c2V0OiAgICAgICAgICAgICAgICAgICAgICAldVxuIiksCisJCXByaW50ZihfKCJOZXh0TXVsdGlP ZmZzZXQ6ICAgICAgICAgICAgICAgICAgICAgICUiIFBSSXU2NCAiXG4iKSwKIAkJCSAgIENvbnRy b2xGaWxlLmNoZWNrUG9pbnRDb3B5Lm5leHRNdWx0aU9mZnNldCk7CiAJfQogCi0tIAoyLjUwLjEK Cg== --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0006-TEST-add-src-bin-pg_upgrade-t-006_offset.pl.patch" Content-Disposition: attachment; filename="v17-0006-TEST-add-src-bin-pg_upgrade-t-006_offset.pl.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rf55 RnJvbSA1YmEyNzU3YWJjYTJlNjMyOThkZTE2OWM0NTY3YTU5YzY5YTAzOGFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgMTkgTm92IDIwMjQgMTc6MDg6MTAgKzAzMDAKU3ViamVjdDogW1BBVENIIHYxNyA2Lzdd IFRFU1Q6IGFkZCBzcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDZfb2Zmc2V0LnBsCgotLS0KIHNyYy9i aW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmggICAgfCAgIDIgKy0KIHNyYy9iaW4vcGdfdXBncmFk ZS90LzAwNl9vZmZzZXQucGwgfCA1NjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIg ZmlsZXMgY2hhbmdlZCwgNTYzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDZfb2Zmc2V0LnBsCgpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuaCBiL3NyYy9iaW4vcGdfdXBncmFkZS9w Z191cGdyYWRlLmgKaW5kZXggNTRjZTcxOGU2OC4uNjU3NzU2Nzg2MCAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuaAorKysgYi9zcmMvYmluL3BnX3VwZ3JhZGUvcGdf dXBncmFkZS5oCkBAIC0xMTksNyArMTE5LDcgQEAgZXh0ZXJuIGNoYXIgKm91dHB1dF9maWxlc1td OwogICoKICAqIFhYWDogc2hvdWxkIGJlIGNoYW5nZWQgdG8gdGhlIGFjdHVhbCBDQVRBTE9HX1ZF UlNJT05fTk8gb24gY29tbWl0LgogICovCi0jZGVmaW5lIE1VTFRJWEFDVE9GRlNFVF9GT1JNQVRD SEFOR0VfQ0FUX1ZFUiAyMDI0MDkwNDEKKyNkZWZpbmUgTVVMVElYQUNUT0ZGU0VUX0ZPUk1BVENI QU5HRV9DQVRfVkVSIDIwMjUwNDA5MgogCiAvKgogICogbGFyZ2Ugb2JqZWN0IGNodW5rIHNpemUg YWRkZWQgdG8gcGdfY29udHJvbGRhdGEsCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUv dC8wMDZfb2Zmc2V0LnBsIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDA2X29mZnNldC5wbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5mNWRjNzMzYTMwCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDA2X29mZnNldC5wbApAQCAtMCwwICsxLDU2 MiBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7CisKK3Vz ZSBGaWxlOjpGaW5kIHF3KGZpbmQpOworCit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsK K3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0OjpNb3JlOworCisjIFRoaXMg cGFpciBvZiBjYWxscyB3aWxsIGNyZWF0ZSBzaWduaWZpY2FudGx5IG1vcmUgbWVtYmVyIHNlZ21l bnRzIHRoYW4gb2Zmc2V0CisjIHNlZ21lbnRzLgorc3ViIHByZXAKK3sKKwlteSAkbm9kZSA9IHNo aWZ0OworCW15ICR0YmwgPSBzaGlmdDsKKworCSRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KwkJIkNSRUFURSBUQUJMRSAke3RibH0gKEkgSU5UIFBSSU1BUlkgS0VZLCBOX1VQREFURUQgSU5U KSAiIC4KKwkJIiAgICAgICBXSVRIIChBVVRPVkFDVVVNX0VOQUJMRUQ9RkFMU0UpOyIgLgorCQki SU5TRVJUIElOVE8gJHt0Ymx9IFNFTEVDVCBHLCAwIEZST00gR0VORVJBVEVfU0VSSUVTKDEsIDUw KSBHOyIpOworfQorCitzdWIgZmlsbAoreworCW15ICRub2RlID0gc2hpZnQ7CisJbXkgJHRibCA9 IHNoaWZ0OworCisJbXkgJG5jbGllbnRzID0gNTA7CisJbXkgJHVwZGF0ZV9ldmVyeSA9IDkwOwor CW15IEBjb25uZWN0aW9ucyA9ICgpOworCisJZm9yICgwLi4kbmNsaWVudHMpCisJeworCQlteSAk Y29ubiA9ICRub2RlLT5iYWNrZ3JvdW5kX3BzcWwoJ3Bvc3RncmVzJyk7CisJCSRjb25uLT5xdWVy eV9zYWZlKCJCRUdJTiIpOworCisJCXB1c2goQGNvbm5lY3Rpb25zLCAkY29ubik7CisJfQorCisJ Zm9yIChteSAkaSA9IDA7ICRpIDwgMjAwMDA7ICRpKyspCisJeworCQlteSAkY29ubiA9ICRjb25u ZWN0aW9uc1skaSAlICRuY2xpZW50c107CisKKwkJJGNvbm4tPnF1ZXJ5X3NhZmUoIkNPTU1JVDsi KTsKKwkJJGNvbm4tPnF1ZXJ5X3NhZmUoIkJFR0lOIik7CisKKwkJaWYgKCRpICUgJHVwZGF0ZV9l dmVyeSA9PSAwKQorCQl7CisJCQkkY29ubi0+cXVlcnlfc2FmZSgKKwkJCQkiVVBEQVRFICR7dGJs fSBTRVQgIiAuCisJCQkJIk5fVVBEQVRFRCA9IE5fVVBEQVRFRCArIDEgIiAuCisJCQkJIldIRVJF IEkgPSAke2l9ICUgNTAiKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCSRjb25uLT5xdWVyeV9zYWZl KAorCQkJCSJTRUxFQ1QgKiBGUk9NICR7dGJsfSBGT1IgS0VZIFNIQVJFIik7CisJCX0KKwl9CisK Kwlmb3IgbXkgJGNvbm4gKEBjb25uZWN0aW9ucykKKwl7CisJCSRjb25uLT5xdWl0KCk7CisJfQor fQorCisjIFRoaXMgcGFpciBvZiBjYWxscyB3aWxsIGNyZWF0ZSBtb3JlIG9yIGxlc3MgdGhlIHNh bWUgYW1vdW50IG9mIG1lbWJzZXJzIGFuZAorIyBvZmZzZXRzIHNlZ21lbnRzLgorc3ViIHByZXAy Cit7CisJbXkgJG5vZGUgPSBzaGlmdDsKKwlteSAkdGJsID0gc2hpZnQ7CisKKwkkbm9kZS0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCisJCSJDUkVBVEUgVEFCTEUgJHt0Ymx9KEJBUiBJTlQgUFJJTUFS WSBLRVksIEJBWiBJTlQpOyAiIC4KKwkJIkNSRUFURSBPUiBSRVBMQUNFIFBST0NFRFVSRSBNWElE RklMTEVSKE5fU1RFUFMgSU5UIERFRkFVTFQgMTAwMCkgIiAuCisJCSJMQU5HVUFHRSBQTFBHU1FM ICIgLgorCQkiQVMgXCRcJCAiIC4KKwkJIkJFR0lOICIgLgorCQkiCUZPUiBJIElOIDEuLk5fU1RF UFMgTE9PUCAiIC4KKwkJIgkJVVBEQVRFICR7dGJsfSBTRVQgQkFaID0gUkFORE9NKDEsIDEwMDAp ICIgLgorCQkiCQlXSEVSRSBCQVIgSU4gKFNFTEVDVCBCQVIgRlJPTSAke3RibH0gIiAuCisJCSIJ CQkJCQlUQUJMRVNBTVBMRSBCRVJOT1VMTEkoODApKTsgIiAuCisJCSIJCUNPTU1JVDsgIiAuCisJ CSIJRU5EIExPT1A7ICIgLgorCQkiRU5EOyBcJFwkOyAiIC4KKwkJIklOU0VSVCBJTlRPICR7dGJs fSAoQkFSLCBCQVopICIgLgorCQkiU0VMRUNUIElELCBJRCBGUk9NIEdFTkVSQVRFX1NFUklFUygx LCAxMDI0KSBJRDsiKTsKK30KKworc3ViIGZpbGwyCit7CisJbXkgJG5vZGUgPSBzaGlmdDsKKwlt eSAkdGJsID0gc2hpZnQ7CisJbXkgJHNjYWxlID0gc2hpZnQgLy8gMTsKKworCSRub2RlLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkJIkJFR0lOOyAiIC4KKwkJIlNFTEVDVCAqIEZST00gJHt0Ymx9 IEZPUiBLRVkgU0hBUkU7ICIgLgorCQkiUFJFUEFSRSBUUkFOU0FDVElPTiAnQSc7ICIgLgorCQki Q0FMTCBNWElERklMTEVSKCgzNjUgKiAke3NjYWxlfSk6OmludCk7ICIgLgorCQkiQ09NTUlUIFBS RVBBUkVEICdBJzsiKTsKK30KKworCisjIGdlbmVyYXRlIGFyb3VuZCAyIG9mZnNldCBzZWdtZW50 cyBhbmQgNTUgbWVtYmVyIHNlZ21lbnRzCitzdWIgbXhpZF9nZW4xCit7CisJbXkgJG5vZGUgPSBz aGlmdDsKKwlteSAkdGJsID0gc2hpZnQ7CisKKwlwcmVwKCRub2RlLCAkdGJsKTsKKwlmaWxsKCRu b2RlLCAkdGJsKTsKKworCSRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcShDSEVDS1BPSU5U KSk7Cit9CisKKyMgZ2VuZXJhdGUgYXJvdW5kIDEwIG9mZnNldCBzZWdtZW50cyBhbmQgMTIgbWVt YmVyIHNlZ21lbnRzCitzdWIgbXhpZF9nZW4yCit7CisJbXkgJG5vZGUgPSBzaGlmdDsKKwlteSAk dGJsID0gc2hpZnQ7CisJbXkgJHNjYWxlID0gc2hpZnQgLy8gMTsKKworCXByZXAyKCRub2RlLCAk dGJsKTsKKwlmaWxsMigkbm9kZSwgJHRibCwgJHNjYWxlKTsKKworCSRub2RlLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgcShDSEVDS1BPSU5UKSk7Cit9CisKKyMgRmV0Y2ggbGF0ZXN0IG11bHRpeGFj dCBjaGVja3BvaW50IHZhbHVlcy4KK3N1YiBtdWx0aV9ib3VuZHMKK3sKKwlteSAoJG5vZGUpID0g QF87CisJbXkgJHBhdGggPSAkbm9kZS0+Y29uZmlnX2RhdGEoJy0tYmluZGlyJyk7CisJbXkgKCRz dGRvdXQsICRzdGRlcnIpID0gcnVuX2NvbW1hbmQoWworCQkJCQkJCQkJJHBhdGggLiAnL3BnX2Nv bnRyb2xkYXRhJywKKwkJCQkJCQkJCSRub2RlLT5kYXRhX2RpcgorCQkJCQkJCQldKTsKKwlteSBA Y29udHJvbF9kYXRhID0gc3BsaXQoIlxuIiwgJHN0ZG91dCk7CisJbXkgJG5leHQgPSB1bmRlZjsK KwlteSAkb2xkZXN0ID0gdW5kZWY7CisJbXkgJG5leHRfb2Zmc2V0ID0gdW5kZWY7CisKKwlmb3Jl YWNoIChAY29udHJvbF9kYXRhKQorCXsKKwkJaWYgKCRfID1+IC9eTGF0ZXN0IGNoZWNrcG9pbnQn cyBOZXh0TXVsdGlYYWN0SWQ6XHMqKC4qKSQvbWcpCisJCXsKKwkJCSRuZXh0ID0gJDE7CisJCQlw cmludCAiPj4+IEAgbm9kZSAiLiAkbm9kZS0+bmFtZSAuICIsICIgLiAkXyAuICJcbiI7CisJCX0K KworCQlpZiAoJF8gPX4gL15MYXRlc3QgY2hlY2twb2ludCdzIG9sZGVzdE11bHRpWGlkOlxzKigu KikkL21nKQorCQl7CisJCQkkb2xkZXN0ID0gJDE7CisJCQlwcmludCAiPj4+IEAgbm9kZSAiLiAk bm9kZS0+bmFtZSAuICIsICIgLiAkXyAuICJcbiI7CisJCX0KKworCQlpZiAoJF8gPX4gL15MYXRl c3QgY2hlY2twb2ludCdzIE5leHRNdWx0aU9mZnNldDpccyooLiopJC9tZykKKwkJeworCQkJJG5l eHRfb2Zmc2V0ID0gJDE7CisJCQlwcmludCAiPj4+IEAgbm9kZSAiLiAkbm9kZS0+bmFtZSAuICIs ICIgLiAkXyAuICJcbiI7CisJCX0KKworCQlpZiAoZGVmaW5lZCgkb2xkZXN0KSAmJiBkZWZpbmVk KCRuZXh0KSAmJiBkZWZpbmVkKCRuZXh0X29mZnNldCkpCisJCXsKKwkJCWxhc3Q7CisJCX0KKwl9 CisKKwlkaWUgIkxhdGVzdCBjaGVja3BvaW50J3MgTmV4dE11bHRpWGFjdElkIG5vdCBmb3VuZCBp biBjb250cm9sIGZpbGUhXG4iCisJdW5sZXNzIGRlZmluZWQoJG5leHQpOworCisJZGllICJMYXRl c3QgY2hlY2twb2ludCdzIG9sZGVzdE11bHRpWGlkIG5vdCBmb3VuZCBpbiBjb250cm9sIGZpbGUh XG4iCisJdW5sZXNzIGRlZmluZWQoJG9sZGVzdCk7CisKKwlkaWUgIkxhdGVzdCBjaGVja3BvaW50 J3MgTmV4dE11bHRpT2Zmc2V0IG5vdCBmb3VuZCBpbiBjb250cm9sIGZpbGUhXG4iCisJdW5sZXNz IGRlZmluZWQoJG5leHRfb2Zmc2V0KTsKKworCXJldHVybiAoJG9sZGVzdCwgJG5leHQsICRuZXh0 X29mZnNldCk7Cit9CisKKyMgQ3JlYXRlIG5vZGUgZnJvbSBleGlzdGluZyBiaW5zLgorc3ViIGNy ZWF0ZV9uZXdfbm9kZQoreworCW15ICgkbmFtZSwgJXBhcmFtcykgPSBAXzsKKworCWNyZWF0ZV9u b2RlKDAsIEBfKTsKK30KKworIyBDcmVhdGUgbm9kZSBmcm9tIEVOViBvbGRpbnN0YWxsCitzdWIg Y3JlYXRlX29sZF9ub2RlCit7CisJbXkgKCRuYW1lLCAlcGFyYW1zKSA9IEBfOworCisJaWYgKCFk ZWZpbmVkKCRFTlZ7b2xkaW5zdGFsbH0pKQorCXsKKwkJZGllICJvbGRpbnN0YWxsIGlzIG5vdCBk ZWZpbmVkIjsKKwl9CisKKwljcmVhdGVfbm9kZSgxLCBAXyk7Cit9CisKK3N1YiBjcmVhdGVfbm9k ZQoreworCW15ICgkaW5zdGFsbF9wYXRoX2Zyb21fZW52LCAkbmFtZSwgJXBhcmFtcykgPSBAXzsK KwlteSAkc2NhbGUgPSBkZWZpbmVkICRwYXJhbXN7c2NhbGV9ID8gJHBhcmFtc3tzY2FsZX0gOiAx OworCW15ICRtdWx0aSA9IGRlZmluZWQgJHBhcmFtc3ttdWx0aX0gPyAkcGFyYW1ze211bHRpfSA6 IHVuZGVmOworCW15ICRvZmZzZXQgPSBkZWZpbmVkICRwYXJhbXN7b2Zmc2V0fSA/ICRwYXJhbXN7 b2Zmc2V0fSA6IHVuZGVmOworCisJbXkgJG5vZGUgPQorCQkkaW5zdGFsbF9wYXRoX2Zyb21fZW52 ID8KKwkJCVBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygkbmFtZSwKKwkJCQkJaW5zdGFs bF9wYXRoID0+ICRFTlZ7b2xkaW5zdGFsbH0pIDoKKwkJCVBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXItPm5ldygkbmFtZSk7CisKKwkkbm9kZS0+aW5pdChmb3JjZV9pbml0ZGIgPT4gMSwKKwkJZXh0 cmEgPT4gWworCQkJJG11bHRpID8gKCctbScsICRtdWx0aSkgOiAoKSwKKwkJCSRvZmZzZXQgPyAo Jy1vJywgJG9mZnNldCkgOiAoKSwKKwkJXSk7CisKKwkjIEZpeHVwIE1PWCBwYXRjaCBxdWlyawor CWlmICgkbXVsdGkpCisJeworCQl1bmxpbmsgJG5vZGUtPmRhdGFfZGlyIC4gJy9wZ19tdWx0aXhh Y3Qvb2Zmc2V0cy8wMDAwJzsKKwl9CisJaWYgKCRvZmZzZXQpCisJeworCQl1bmxpbmsgJG5vZGUt PmRhdGFfZGlyIC4gJy9wZ19tdWx0aXhhY3QvbWVtYmVycy8wMDAwJzsKKwl9CisKKwkkbm9kZS0+ YXBwZW5kX2NvbmYoJ2ZzeW5jJywgJ29mZicpOworCSRub2RlLT5hcHBlbmRfY29uZigncG9zdGdy ZXNxbC5jb25mJywgJ21heF9wcmVwYXJlZF90cmFuc2FjdGlvbnMgPSAyJyk7CisKKwkkbm9kZS0+ c3RhcnQoKTsKKwlteGlkX2dlbjIoJG5vZGUsICdGT08nLCAkc2NhbGUpOworCW14aWRfZ2VuMSgk bm9kZSwgJ0JBUicsICRzY2FsZSk7CisJJG5vZGUtPnJlc3RhcnQoKTsKKwkkbm9kZS0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsIHEoU0VMRUNUICogRlJPTSBGT08pKTsJCSMganVzdCBpbiBjYXNlLi4u CisJJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxKFNFTEVDVCAqIEZST00gQkFSKSk7CisJ JG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxKENIRUNLUE9JTlQpKTsKKwkkbm9kZS0+c3Rv cCgpOworCisJcmV0dXJuICRub2RlOworfQorCitzdWIgZG9fdXBncmFkZQoreworCW15ICgkb2xk bm9kZSwgJG5ld25vZGUpID0gQF87CisKKwljb21tYW5kX29rKAorCQlbCisJCQkncGdfdXBncmFk ZScsICctLW5vLXN5bmMnLAorCQkJJy1kJywgJG9sZG5vZGUtPmRhdGFfZGlyLAorCQkJJy1EJywg JG5ld25vZGUtPmRhdGFfZGlyLAorCQkJJy1iJywgJG9sZG5vZGUtPmNvbmZpZ19kYXRhKCctLWJp bmRpcicpLAorCQkJJy1CJywgJG5ld25vZGUtPmNvbmZpZ19kYXRhKCctLWJpbmRpcicpLAorCQkJ Jy1zJywgJG5ld25vZGUtPmhvc3QsCisJCQknLXAnLCAkb2xkbm9kZS0+cG9ydCwKKwkJCSctUCcs ICRuZXdub2RlLT5wb3J0LAorCQkJJy0tY2hlY2snCisJCV0sCisJCSdydW4gb2YgcGdfdXBncmFk ZScpOworCisJY29tbWFuZF9vaygKKwkJWworCQkJJ3BnX3VwZ3JhZGUnLCAnLS1uby1zeW5jJywK KwkJCSctZCcsICRvbGRub2RlLT5kYXRhX2RpciwKKwkJCSctRCcsICRuZXdub2RlLT5kYXRhX2Rp ciwKKwkJCSctYicsICRvbGRub2RlLT5jb25maWdfZGF0YSgnLS1iaW5kaXInKSwKKwkJCSctQics ICRuZXdub2RlLT5jb25maWdfZGF0YSgnLS1iaW5kaXInKSwKKwkJCSctcycsICRuZXdub2RlLT5o b3N0LAorCQkJJy1wJywgJG9sZG5vZGUtPnBvcnQsCisJCQknLVAnLCAkbmV3bm9kZS0+cG9ydCwK KwkJCSctLWNvcHknCisJCV0sCisJCSdydW4gb2YgcGdfdXBncmFkZScpOworCisJJG9sZG5vZGUt PnN0YXJ0KCk7CisJJG5ld25vZGUtPnN0YXJ0KCk7CisKKwlteSAkb2xkZm9vID0gJG9sZG5vZGUt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxKFNFTEVDVCAqIEZST00gRk9PKSk7CisJbXkgJG5ld2Zv byA9ICRuZXdub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcShTRUxFQ1QgKiBGUk9NIEZPTykp OworCWlzKCRvbGRmb28sICRuZXdmb28sICJzZWxlY3QgZm9vIGVxIik7CisKKwlteSAkb2xkYmFy ID0gJG9sZG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxKFNFTEVDVCAqIEZST00gQkFSKSk7 CisJbXkgJG5ld2JhciA9ICRuZXdub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgcShTRUxFQ1Qg KiBGUk9NIEJBUikpOworCWlzKCRvbGRiYXIsICRuZXdiYXIsICJzZWxlY3QgYmFyIGVxIik7CisK Kwkkb2xkbm9kZS0+c3RvcCgpOworCSRuZXdub2RlLT5zdG9wKCk7CisKKwltdWx0aV9ib3VuZHMo JG9sZG5vZGUpOworCW11bHRpX2JvdW5kcygkbmV3bm9kZSk7Cit9CisKK215IEBURVNUUyA9ICgK KwkjIHRlc3RzIHdpdGhvdXQgRU5WIG9sZGluc3RhbGwKKwkjMCwgMSwgMiwgMywgNCwgNSwgNiwK KwkjIHRlc3RzIHdpdGggInJlYWwiIHBnX3VwZ3JhZGUKKwkjMTAwLCAxMDEsIDEwMiwgMTAzLCAx MDQsIDEwNSwgMTA2LAorCSMgc2VsZiB1cGdyYWRlCisJMTAwMCwKKyk7CisKKyMgPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKyMgQmFzaWMgc2FuaXR5IHRlc3RzIG9uIGEgTkVXIGJpbgorIyA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorCisjIHN0YXJ0cyBmcm9tIHRoZSB6ZXJvCitTS0lQOgoreworCW15ICRU RVNUX05PID0gMDsKKwlza2lwICJkbyBub3QgdGVzdCBjYXNlICRURVNUX05PIiwgMQorCQl1bmxl c3MgKCBncmVwKCAvXiRURVNUX05PJC8sIEBURVNUUyApICk7CisKKwlteSAkbm9kZSA9IGNyZWF0 ZV9uZXdfbm9kZSgnc2ltcGxlX21vJywKKwkJCQkJCXNjYWxlID0+IDEpOworCW11bHRpX2JvdW5k cygkbm9kZSk7CisJb2soMSwgIlRFU1QgJFRFU1RfTk8gUEFTU0VEIik7Cit9CisKKyMgbXVsdGkg c3RhcnRzIGZyb20gdGhlIHZhbHVlCitTS0lQOgoreworCW15ICRURVNUX05PID0gMTsKKwlza2lw ICJkbyBub3QgdGVzdCBjYXNlICRURVNUX05PIiwgMQorCQl1bmxlc3MgKCBncmVwKCAvXiRURVNU X05PJC8sIEBURVNUUyApICk7CisKKwlteSAkbm9kZSA9IGNyZWF0ZV9uZXdfbm9kZSgnc2ltcGxl X01vJywKKwkJCQkJCXNjYWxlID0+IDEuMTUsCisJCQkJCQltdWx0aSA9PiAnMHgxMjM0MDAnKTsK KwltdWx0aV9ib3VuZHMoJG5vZGUpOworCW9rKDEsICJURVNUICRURVNUX05PIFBBU1NFRCIpOwor fQorCisjIG9mZnNldHMgc3RhcnRzIGZyb20gdGhlIHZhbHVlCitTS0lQOgoreworCW15ICRURVNU X05PID0gMjsKKwlza2lwICJkbyBub3QgdGVzdCBjYXNlICRURVNUX05PIiwgMQorCQl1bmxlc3Mg KCBncmVwKCAvXiRURVNUX05PJC8sIEBURVNUUyApICk7CisKKwlteSAkbm9kZSA9IGNyZWF0ZV9u ZXdfbm9kZSgnc2ltcGxlX21PJywKKwkJCQkJCXNjYWxlID0+IDEuMTUsCisJCQkJCQlvZmZzZXQg PT4gJzB4NDMyMTAwJyk7CisJbXVsdGlfYm91bmRzKCRub2RlKTsKKwlvaygxLCAiVEVTVCAkVEVT VF9OTyBQQVNTRUQiKTsKK30KKworIyBtdWx0aSBhbmQgb2Zmc2V0cyBzdGFydHMgZnJvbSB0aGUg dmFsdWUKK1NLSVA6Cit7CisJbXkgJFRFU1RfTk8gPSAzOworCXNraXAgImRvIG5vdCB0ZXN0IGNh c2UgJFRFU1RfTk8iLCAxCisJCXVubGVzcyAoIGdyZXAoIC9eJFRFU1RfTk8kLywgQFRFU1RTICkg KTsKKworCW15ICRub2RlID0gY3JlYXRlX25ld19ub2RlKCdzaW1wbGVfTU8nLAorCQkJCQkJc2Nh bGUgPT4gMS4xNSwKKwkJCQkJCW11bHRpID0+ICcweERFQUQwMCcsIG9mZnNldCA9PiAnMHhCRUVG MDAnKTsKKwltdWx0aV9ib3VuZHMoJG5vZGUpOworCW9rKDEsICJURVNUICRURVNUX05PIFBBU1NF RCIpOworfQorCisjIG11bHRpIHN0YXJ0cyBmcm9tIHRoZSB2YWx1ZSwgbXVsdGkgd3JhcAorU0tJ UDoKK3sKKwlteSAkVEVTVF9OTyA9IDQ7CisJc2tpcCAiZG8gbm90IHRlc3QgY2FzZSAkVEVTVF9O TyIsIDEKKwkJdW5sZXNzICggZ3JlcCggL14kVEVTVF9OTyQvLCBAVEVTVFMgKSApOworCisJbXkg JG5vZGUgPSBjcmVhdGVfbmV3X25vZGUoJ3NpbXBsZV9Nb193cmFwJywKKwkJCQkJCXNjYWxlID0+ IDEuMTUsCisJCQkJCQltdWx0aSA9PiAnMHhGRkZGNzAwMCcpOworCW11bHRpX2JvdW5kcygkbm9k ZSk7CisJb2soMSwgIlRFU1QgJFRFU1RfTk8gUEFTU0VEIik7Cit9CisKKyMgb2Zmc2V0cyBzdGFy dHMgZnJvbSB0aGUgdmFsdWUsIG9mZnNldHMgd3JhcAorU0tJUDoKK3sKKwlteSAkVEVTVF9OTyA9 IDU7CisJc2tpcCAiZG8gbm90IHRlc3QgY2FzZSAkVEVTVF9OTyIsIDEKKwkJdW5sZXNzICggZ3Jl cCggL14kVEVTVF9OTyQvLCBAVEVTVFMgKSApOworCisJbXkgJG5vZGUgPSBjcmVhdGVfbmV3X25v ZGUoJ3NpbXBsZV9tT193cmFwJywKKwkJCQkJCXNjYWxlID0+IDEuMTUsCisJCQkJCQlvZmZzZXQg PT4gJzB4RkZGRkZDMDAnKTsKKwltdWx0aV9ib3VuZHMoJG5vZGUpOworCW9rKDEsICJURVNUICRU RVNUX05PIFBBU1NFRCIpOworfQorCisjIG11bHRpIHN0YXJ0cyBmcm9tIHRoZSB2YWx1ZSwgb2Zm c2V0cyBzdGFydHMgZnJvbSB0aGUgdmFsdWUsCisjIG11bHRpIHdyYXAsIG9mZnNldHMgd3JhcAor U0tJUDoKK3sKKwlteSAkVEVTVF9OTyA9IDY7CisJc2tpcCAiZG8gbm90IHRlc3QgY2FzZSAkVEVT VF9OTyIsIDEKKwkJdW5sZXNzICggZ3JlcCggL14kVEVTVF9OTyQvLCBAVEVTVFMgKSApOworCisJ bXkgJG5vZGUgPSBjcmVhdGVfbmV3X25vZGUoJ3NpbXBsZV9NT193cmFwJywKKwkJCQkJCXNjYWxl ID0+IDEuMTUsCisJCQkJCQltdWx0aSA9PiAnMHhGRkZGNzAwMCcsIG9mZnNldCA9PiAnMHhGRkZG RkMwMCcpOworCW11bHRpX2JvdW5kcygkbm9kZSk7CisJb2soMSwgIlRFU1QgJFRFU1RfTk8gUEFT U0VEIik7Cit9CisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgcGdfdXBnYXJkZSB0ZXN0cwor IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorCisjIHN0YXJ0cyBmcm9tIHRoZSB6ZXJvCitTS0lQOgor eworCW15ICRURVNUX05PID0gMTAwOworCXNraXAgImRvIG5vdCB0ZXN0IGNhc2UgJFRFU1RfTk8i LCAxCisJCXVubGVzcyAoIGdyZXAoIC9eJFRFU1RfTk8kLywgQFRFU1RTICkgKTsKKworCW15ICRk Ym5hbWUgPSAnbW8nOworCW15ICRvbGRub2RlID0gY3JlYXRlX29sZF9ub2RlKCJvbGRfJGRibmFt ZSIsCisJCQkJCQlzY2FsZSA9PiAxKTsKKwlteSAkbmV3bm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6 OkNsdXN0ZXItPm5ldygibmV3XyRkYm5hbWUiKTsKKwkkbmV3bm9kZS0+aW5pdCgpOworCisJZG9f dXBncmFkZSgkb2xkbm9kZSwgJG5ld25vZGUpOworCW9rKDEsICJURVNUICRURVNUX05PIFBBU1NF RCIpOworfQorCisjIG11bHRpIHN0YXJ0cyBmcm9tIHRoZSB2YWx1ZQorU0tJUDoKK3sKKwlteSAk VEVTVF9OTyA9IDEwMTsKKwlza2lwICJkbyBub3QgdGVzdCBjYXNlICRURVNUX05PIiwgMQorCQl1 bmxlc3MgKCBncmVwKCAvXiRURVNUX05PJC8sIEBURVNUUyApICk7CisKKwlteSAkZGJuYW1lID0g J01vJzsKKwlteSAkb2xkbm9kZSA9IGNyZWF0ZV9vbGRfbm9kZSgib2xkXyRkYm5hbWUiLAorCQkJ CQkJc2NhbGUgPT4gMS4yLAorCQkJCQkJbXVsdGkgPT4gJzB4MTIzNDAwJyk7CisJbXkgJG5ld25v ZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoIm5ld18kZGJuYW1lIik7CisJJG5l d25vZGUtPmluaXQoKTsKKworCWRvX3VwZ3JhZGUoJG9sZG5vZGUsICRuZXdub2RlKTsKKwlvaygx LCAiVEVTVCAkVEVTVF9OTyBQQVNTRUQiKTsKK30KKworIyBvZmZzZXRzIHN0YXJ0cyBmcm9tIHRo ZSB2YWx1ZQorU0tJUDoKK3sKKwlteSAkVEVTVF9OTyA9IDEwMjsKKwlza2lwICJkbyBub3QgdGVz dCBjYXNlICRURVNUX05PIiwgMQorCQl1bmxlc3MgKCBncmVwKCAvXiRURVNUX05PJC8sIEBURVNU UyApICk7CisKKwlteSAkZGJuYW1lID0gJ21PJzsKKwlteSAkb2xkbm9kZSA9IGNyZWF0ZV9vbGRf bm9kZSgib2xkXyRkYm5hbWUiLAorCQkJCQkJc2NhbGUgPT4gMS4yLAorCQkJCQkJb2Zmc2V0ID0+ ICcweDQzMjEwMCcpOworCW15ICRuZXdub2RlID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+ bmV3KCJuZXdfJGRibmFtZSIpOworCSRuZXdub2RlLT5pbml0KCk7CisKKwlkb191cGdyYWRlKCRv bGRub2RlLCAkbmV3bm9kZSk7CisJb2soMSwgIlRFU1QgJFRFU1RfTk8gUEFTU0VEIik7Cit9CisK KyMgbXVsdGkgYW5kIG9mZnNldHMgc3RhcnRzIGZyb20gdGhlIHZhbHVlCitTS0lQOgoreworCW15 ICRURVNUX05PID0gMTAzOworCXNraXAgImRvIG5vdCB0ZXN0IGNhc2UgJFRFU1RfTk8iLCAxCisJ CXVubGVzcyAoIGdyZXAoIC9eJFRFU1RfTk8kLywgQFRFU1RTICkgKTsKKworCW15ICRkYm5hbWUg PSAnTU8nOworCW15ICRvbGRub2RlID0gY3JlYXRlX29sZF9ub2RlKCJvbGRfJGRibmFtZSIsCisJ CQkJCQlzY2FsZSA9PiAxLjIsCisJCQkJCQltdWx0aSA9PiAnMHhERUFEMDAnLCBvZmZzZXQgPT4g JzB4QkVFRjAwJyk7CisJbXkgJG5ld25vZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5u ZXcoIm5ld18kZGJuYW1lIik7CisJJG5ld25vZGUtPmluaXQoKTsKKworCWRvX3VwZ3JhZGUoJG9s ZG5vZGUsICRuZXdub2RlKTsKKwlvaygxLCAiVEVTVCAkVEVTVF9OTyBQQVNTRUQiKTsKK30KKwor IyBtdWx0aSBzdGFydHMgZnJvbSB0aGUgdmFsdWUsIG11bHRpIHdyYXAKK1NLSVA6Cit7CisJbXkg JFRFU1RfTk8gPSAxMDQ7CisJc2tpcCAiZG8gbm90IHRlc3QgY2FzZSAkVEVTVF9OTyIsIDEKKwkJ dW5sZXNzICggZ3JlcCggL14kVEVTVF9OTyQvLCBAVEVTVFMgKSApOworCisJbXkgJGRibmFtZSA9 ICdNb193cmFwJzsKKwlteSAkb2xkbm9kZSA9IGNyZWF0ZV9vbGRfbm9kZSgib2xkXyRkYm5hbWUi LAorCQkJCQkJc2NhbGUgPT4gMS4yLAorCQkJCQkJbXVsdGkgPT4gJzB4RkZGRjcwMDAnKTsKKwlt eSAkbmV3bm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygibmV3XyRkYm5hbWUi KTsKKwkkbmV3bm9kZS0+aW5pdCgpOworCisJZG9fdXBncmFkZSgkb2xkbm9kZSwgJG5ld25vZGUp OworCW9rKDEsICJURVNUICRURVNUX05PIFBBU1NFRCIpOworfQorCisjIG9mZnNldHMgc3RhcnRz IGZyb20gdGhlIHZhbHVlLCBvZmZzZXRzIHdyYXAKK1NLSVA6Cit7CisJbXkgJFRFU1RfTk8gPSAx MDU7CisJc2tpcCAiZG8gbm90IHRlc3QgY2FzZSAkVEVTVF9OTyIsIDEKKwkJdW5sZXNzICggZ3Jl cCggL14kVEVTVF9OTyQvLCBAVEVTVFMgKSApOworCisJbXkgJGRibmFtZSA9ICdtT193cmFwJzsK KwlteSAkb2xkbm9kZSA9IGNyZWF0ZV9vbGRfbm9kZSgib2xkXyRkYm5hbWUiLAorCQkJCQkJc2Nh bGUgPT4gMS4yLAorCQkJCQkJb2Zmc2V0ID0+ICcweEZGRkZGQzAwJyk7CisJbXkgJG5ld25vZGUg PSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoIm5ld18kZGJuYW1lIik7CisJJG5ld25v ZGUtPmluaXQoKTsKKworCWRvX3VwZ3JhZGUoJG9sZG5vZGUsICRuZXdub2RlKTsKKwlvaygxLCAi VEVTVCAkVEVTVF9OTyBQQVNTRUQiKTsKK30KKworIyBtdWx0aSBzdGFydHMgZnJvbSB0aGUgdmFs dWUsIG9mZnNldHMgc3RhcnRzIGZyb20gdGhlIHZhbHVlLAorIyBtdWx0aSB3cmFwLCBvZmZzZXRz IHdyYXAKK1NLSVA6Cit7CisJbXkgJFRFU1RfTk8gPSAxMDY7CisJc2tpcCAiZG8gbm90IHRlc3Qg Y2FzZSAkVEVTVF9OTyIsIDEKKwkJdW5sZXNzICggZ3JlcCggL14kVEVTVF9OTyQvLCBAVEVTVFMg KSApOworCisJbXkgJGRibmFtZSA9ICdNT193cmFwJzsKKwlteSAkb2xkbm9kZSA9IGNyZWF0ZV9v bGRfbm9kZSgib2xkXyRkYm5hbWUiLAorCQkJCQkJc2NhbGUgPT4gMS4yLAorCQkJCQkJbXVsdGkg PT4gJzB4RkZGRjcwMDAnLCBvZmZzZXQgPT4gJzB4RkZGRkZDMDAnKTsKKwlteSAkbmV3bm9kZSA9 IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygibmV3XyRkYm5hbWUiKTsKKwkkbmV3bm9k ZS0+aW5pdCgpOworCisJZG9fdXBncmFkZSgkb2xkbm9kZSwgJG5ld25vZGUpOworCW9rKDEsICJU RVNUICRURVNUX05PIFBBU1NFRCIpOworfQorCisjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIFNl bGYgdXBncmFkZQorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisjIHN0YXJ0cyBmcm9tIHRoZSB6 ZXJvCitTS0lQOgoreworCW15ICRURVNUX05PID0gMTAwMDsKKwlza2lwICJkbyBub3QgdGVzdCBj YXNlICRURVNUX05PIiwgMQorCQl1bmxlc3MgKCBncmVwKCAvXiRURVNUX05PJC8sIEBURVNUUyAp ICk7CisKKwlteSAkZGJuYW1lID0gJ3NlbGZfdXBncmFkZSc7CisJbXkgJG9sZG5vZGUgPSBjcmVh dGVfbmV3X25vZGUoIm9sZF8kZGJuYW1lIiwKKwkJCQkJCXNjYWxlID0+IDEpOworCW15ICRuZXdu b2RlID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCJuZXdfJGRibmFtZSIpOworCSRu ZXdub2RlLT5pbml0KCk7CisKKwlkb191cGdyYWRlKCRvbGRub2RlLCAkbmV3bm9kZSk7CisJb2so MSwgIlRFU1QgJFRFU1RfTk8gUEFTU0VEIik7Cit9CisKK2RvbmVfdGVzdGluZygpOwotLSAKMi41 MC4xCgo= --0000000000006ea58b063e82bd63 Content-Type: application/octet-stream; name="v17-0007-TEST-bump-catver.patch" Content-Disposition: attachment; filename="v17-0007-TEST-bump-catver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mff54rf76 RnJvbSA4NWRmZGQxMDc4ZDJiMGM3ZjEwMjBhMDEwMDc0N2FlNmZhMTcwOTNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBPcmxvdiA8b3Jsb3ZtZ0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMTMgTm92IDIwMjQgMTY6MzQ6MzQgKzAzMDAKU3ViamVjdDogW1BBVENIIHYxNyA3Lzdd IFRFU1Q6IGJ1bXAgY2F0dmVyCgotLS0KIHNyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmgg IHwgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmggfCAyICstCiAyIGZpbGVz IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3Vw Z3JhZGUuaAppbmRleCA2NTc3NTY3ODYwLi5hNWFjYzg2NTRkIDEwMDY0NAotLS0gYS9zcmMvYmlu L3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdy YWRlLmgKQEAgLTExOSw3ICsxMTksNyBAQCBleHRlcm4gY2hhciAqb3V0cHV0X2ZpbGVzW107CiAg KgogICogWFhYOiBzaG91bGQgYmUgY2hhbmdlZCB0byB0aGUgYWN0dWFsIENBVEFMT0dfVkVSU0lP Tl9OTyBvbiBjb21taXQuCiAgKi8KLSNkZWZpbmUgTVVMVElYQUNUT0ZGU0VUX0ZPUk1BVENIQU5H RV9DQVRfVkVSIDIwMjUwNDA5MgorI2RlZmluZSBNVUxUSVhBQ1RPRkZTRVRfRk9STUFUQ0hBTkdF X0NBVF9WRVIgMjAyNTA5MDIyCiAKIC8qCiAgKiBsYXJnZSBvYmplY3QgY2h1bmsgc2l6ZSBhZGRl ZCB0byBwZ19jb250cm9sZGF0YSwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0 dmVyc2lvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKaW5kZXggODM2MzY5 ZjE2My4uNDkyZjZlMjVmYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJz aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXR2ZXJzaW9uLmgKQEAgLTU3LDYgKzU3 LDYgQEAKICAqLwogCiAvKgkJCQkJCQl5eXl5bW1kZE4gKi8KLSNkZWZpbmUgQ0FUQUxPR19WRVJT SU9OX05PCTIwMjUwOTAyMQorI2RlZmluZSBDQVRBTE9HX1ZFUlNJT05fTk8JMjAyNTA5MDIyCiAK ICNlbmRpZgotLSAKMi41MC4xCgo= --0000000000006ea58b063e82bd63--