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.98.2) (envelope-from ) id 1xCgtg-000000003u5-3PYk for pgsql-hackers@arkaria.postgresql.org; Fri, 02 Oct 2026 17:18:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1xCgtf-00000000nTi-275Z for pgsql-hackers@arkaria.postgresql.org; Fri, 02 Oct 2026 17:18:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xCgtf-00000000nTZ-0M0B for pgsql-hackers@lists.postgresql.org; Fri, 02 Oct 2026 17:18:11 +0000 Received: from mail-dl2-x10.google.com ([2607:f8b0:4864:38::10]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1xCgtc-000000004K8-2mBC for pgsql-hackers@lists.postgresql.org; Fri, 02 Oct 2026 17:18:10 +0000 Received: by mail-dl2-x10.google.com with SMTP id a92af1059eb24-141a5cf1370so178477c88.3 for ; Fri, 02 Oct 2026 10:18:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790961486; x=1791566286; darn=lists.postgresql.org; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=8HiqggqX1gAmzz0Q6mwRrcXGdHBgHMokCPdBS8/XiYs=; b=f5CrNEKWPze4qOdAy9xlrWfzC0Sb9JeR3FGOcTeQKK19h2ZTdXOtnulAjNPbQZOTLE jvRZGW5qFBM2r4iX5+hGtjoNQOY8LFBcGX8pBU4UpHZs31CyqKLrRavVb7PqblRwRb5u OFu/lQK0nxQs4rsdBZ7kNuLAK4mAT94GKy6+YB9y9zaYJbh5aRp41sABCJBnptXciQ0X 2twvRLliI0oWKfz1/QjeWEETr6nlwRdDuI6XiOoI7D1MIzvphAFMmKFdxbbMIjNi+u63 MF/OF30RT0NxnXQo2v1wrPZCaxExvCnxJX3EryGCH05weaOhPK9IkUxEcajSX1srwccC /fmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790961486; x=1791566286; h=content-type:mime-version:references:in-reply-to:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=8HiqggqX1gAmzz0Q6mwRrcXGdHBgHMokCPdBS8/XiYs=; b=tXSy+oeqf39OM+NjZjRtGZ6qDDwfzQ+9lKiN+N0orr1BXkoNfPoKmllLfSoUENx/NL +DtE8vuEx4J+mZO0dNoGx6bw53PKq3ODjCXsnIdBvyYzbrhkIEf9bN9Osgk/TDCDqU6l 5ZtW0ajhDR6vzzPVFgp8d2hI6YkkOPYBXBsvV229zjGrG7OXJbaAH1Hyl1TK6ZcN5gUm F4WXMhAN2ntFBYE+B6tPzUALKzrDAaU+tZrzm8H1KnDwLox9Wu8kGVXJAiiMzMflewf1 kHwRdw1SYG3BZUmEhmxOI7I1RolaDY2gj+OoNV647l34Oif8rEYXSU1PX/27EPcFjuSy 5ZiQ== X-Forwarded-Encrypted: i=1; AKwUvBw8kDF7jIbOk9cNeYkOgYELr2eL/ofXzUhbiDhKUJ38+X324O+wc/WoV/mmJLLkJglClSp3W6FyVMP/I21+@lists.postgresql.org X-Gm-Message-State: AFuF++mRu5zIQJET9a897fz+3WWLvZdO0+9IEEcgw8wgxVgz3Cihkxun qQzh8xw8pjeVxw5CQdDk871CcgkL37HTUOvnokMTatKwmwzT2sC08dAS X-Gm-Gg: AYBFou1FJnGke349XlZs/ADEEaEwhpIsrU4RDMl0GXbtp2Zuh1ZQsMMAtUCPkHlqE6R wtIuJST0G3cFqpAYf0ZRl5nwWPSOnabwIjVwlICQHV5nEwPYaOEAZLY4cKGAFi5ioMcfnpbtDho 9HGxV4ejf9S78sVNmmc5IxB0r7M3qQuE1BxrhF5VVi2e2uTCPTofW1xeQs2dU1cZ6EFJDnjHEb/ rsCi6VO2ZhGjoqJmmVK60ToG3jXWy6rLUKN9mLlvI5+ur3FZAkVbHu5451t/b+PAB9vWSmyTuGE 9nc4Ne3MWA9hBvedY8Cwpl/JxXM44YOM/F1NNj7w7FYRuOghTHBK2fG4tji11q+F2nra/9nFeh7 qvUBbBzJv3fVtKuOKI/6XiAj0HeF1zNloYq1IEDPcY7IWwJuTcQLnPbgOKPaoWC5z+7VoHAT3og RlMRR/a3ixln3WxfzKIxkJa21ZMbPvMyBhFHlTnArc+c/wHCy6UeXFdkvzsQmSG8y5UktZ8R42t RkhWz8MH33lN83j+vlizSv8s4GAJs4fw1RnYBEyKYwyGeRYO80GwACbAwGPRHeSb7TC6XKDENXM 7Gc1nHGKHRyduBmdTSKIZmADhw== X-Received: by 2002:a05:701b:4590:20b0:14c:cc55:aba1 with SMTP id a92af1059eb24-14fae9b37bbmr3787951c88.1.1790961485547; Fri, 02 Oct 2026 10:18:05 -0700 (PDT) Received: from 192.168.1.109 ([2803:3c90:cee:ea00:5c3c:7e70:29e3:7a55]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-14f410725e2sm6674834c88.0.2026.10.02.10.18.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Oct 2026 10:18:04 -0700 (PDT) From: Manu To: Alexandre Felipe Cc: shihao zhong , pgsql-hackers@lists.postgresql.org Subject: Re: BUG #19686: Rolling back SET TABLESPACE Date: Fri, 02 Oct 2026 14:18:00 -0300 Message-ID: <179096148059.372335.2710841757388164497@gmail.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0186668659675094221==" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0186668659675094221== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi Alexandre, > was v4 supposed to be attached? Yes, sorry: my sending script dropped them. Attached now: master (applies on 16+), REL_15 and REL_14. Manu --===============0186668659675094221== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0*=us-ascii''v4-0001-Fix-index-corruption-after-rolling-back-ALTER-; filename*1*=TAB.patch.txt MIME-Version: 1.0 RnJvbSBjZmE2ZTMwOWIwNTMzMTk2ODRmOWI3YWIyMjE3M2U2MDNkYzY5OTE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYW51ZWwgUmV5ZXMgQnJhdm8gPG1hbnVlbHJleWVzYnJhdm9A Z21haWwuY29tPgpEYXRlOiBGcmksIDIgT2N0IDIwMjYgMTE6MTY6MzIgLTAzMDAKU3ViamVjdDog W1BBVENIIHY0XSBGaXggaW5kZXggY29ycnVwdGlvbiBhZnRlciByb2xsaW5nIGJhY2sgQUxURVIg VEFCTEUgU0VUCiBUQUJMRVNQQUNFCgpBTFRFUiBUQUJMRSAuLi4gU0VUIFRBQkxFU1BBQ0UgcmV3 cml0ZXMgYSB0YWJsZSdzIGhlYXAgdG8gYSBuZXcKcmVsZmlsZW5vZGUgYnV0IGxlYXZlcyB0aGUg dGFibGUncyBpbmRleGVzIG9uIHRoZWlyIGV4aXN0aW5nCnJlbGZpbGVub2Rlcy4gIFRoZSB0d28g dGhlbiByb2xsIGJhY2sgYnkgZGlmZmVyZW50IG1lY2hhbmlzbXM6IG9uIGFib3J0CnRoZSBoZWFw J3MgbmV3IGZpbGUgaXMgZGlzY2FyZGVkLCBmcmVlaW5nIHRoZSBoZWFwIFRJRHMgY29uc3VtZWQg Ynkgcm93cwppbnNlcnRlZCBhZnRlciB0aGUgU0VUIFRBQkxFU1BBQ0UsIHdoaWxlIHRoZSBpbmRl eCBlbnRyaWVzIGZvciB0aG9zZSByb3dzCndlcmUgd3JpdHRlbiB0byB0aGUgdW5jaGFuZ2VkIGlu ZGV4IGZpbGVzIGFuZCBzdXJ2aXZlLiAgQSBsYXRlciBpbnNlcnQKY2FuIHJldXNlIGEgZnJlZWQg aGVhcCBUSUQsIGxlYXZpbmcgdHdvIGluZGV4IGVudHJpZXMgdGhhdCBwb2ludCBhdCB0aGUKc2Ft ZSBsaXZlIGhlYXAgdHVwbGUuICBUaGlzIHN1cmZhY2VzIGFzIGEgX2J0X3Bvc3RpbmdfdmFsaWQg YXNzZXJ0aW9uCmZhaWx1cmUgaW4gbmJ0cmVlIGRlZHVwbGljYXRpb24sIGFuZCBhcyBkdXBsaWNh dGUgcm93cyB0aHJvdWdoIGFuCmluZGV4LW9ubHkgc2NhbiBpbiBnaXN0LiAgQSBUUlVOQ0FURSBh ZnRlciB0aGUgbW92ZSBpbiB0aGUgc2FtZQp0cmFuc2FjdGlvbiBoYXMgYSBzaW1pbGFyIHByb2Js ZW06IGl0IHRydW5jYXRlcyB0aGUgb2xkIGluZGV4IGZpbGVzIGluCnBsYWNlLCB3aGljaCBhIHJv bGxiYWNrIGNhbm5vdCB1bmRvLgoKVGhlIGluZGV4ZXMgb25seSBuZWVkIHRvIHNoYXJlIHRoZSBo ZWFwJ3MgcmV3cml0ZSB3aGVuIHRoZSB0YWJsZSBpcwptb2RpZmllZCBhZ2FpbiBpbiB0aGUgc2Ft ZSB0cmFuc2FjdGlvbiwgd2hpY2ggaXMgYWxzbyB0aGUgb25seSB0aW1lIHRoZQpjb3JydXB0aW9u IGNhbiBhcmlzZS4gIFNvIGxlYXZlIFNFVCBUQUJMRVNQQUNFIGl0c2VsZiBhbG9uZSwgYW5kIGdp dmUgYW4KaW5kZXggYSBuZXcgcmVsZmlsZW51bWJlciAtLSBjb3B5aW5nIGl0IHdpdGhpbiBpdHMg b3duIHRhYmxlc3BhY2UsIGFzCmRvY3VtZW50ZWQsIHRoZSBpbmRleGVzIHN0YXkgd2hlcmUgdGhl eSBhcmUgLS0gd2hlbiB0aGUgZXhlY3V0b3Igb3BlbnMKaXQgdG8gbW9kaWZ5IGEgdGFibGUgd2hv c2Ugc3RvcmFnZSB3YXMgcmVwbGFjZWQgaW4gdGhlIGN1cnJlbnQKdHJhbnNhY3Rpb24sIGFuZCBi ZWZvcmUgYW4gaW4tcGxhY2UgVFJVTkNBVEUgb2Ygc3VjaCBhIHRhYmxlLiAgVGhlIEFMVEVSCmFs b25lIGluIGl0cyB0cmFuc2FjdGlvbiwgdGhlIGNvbW1vbiBjYXNlLCBjb3BpZXMgbm90aGluZyBh bmQgbmVlZHMgbm8KZXh0cmEgc3BhY2Ugd2hlcmUgdGhlIGluZGV4ZXMgbGl2ZS4KClRoZSByZWdy ZXNzaW9uIHRlc3QgY2hlY2tzIHRoYXQgdGhlIG1vdmUgYWxvbmUgbGVhdmVzIHRoZSBpbmRleCBm aWxlCnVudG91Y2hlZCwgYW5kIHRoYXQgYWZ0ZXIgaW5zZXJ0aW5nIGVub3VnaCByb3dzIGluc2lk ZSB0aGUgdHJhbnNhY3Rpb24KdG8gZ3JvdyB0aGUgaW5kZXgsIHdpdGggYW5kIHdpdGhvdXQgYSBz dWJ0cmFuc2FjdGlvbiwgb3IgdHJ1bmNhdGluZyB0aGUKdGFibGUsIGEgcm9sbGJhY2sgbGVhdmVz IHRoZSBpbmRleCBmaWxlIGF0IGl0cyBwcmUtdHJhbnNhY3Rpb24gc2l6ZS4KCkJ1ZzogIzE5Njg2 ClJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgTGFraGluClJldmlld2VkLWJ5OiBBbGV4YW5kcmUgRmVs aXBlClJldmlld2VkLWJ5OiBTaGloYW8gWmhvbmcKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90 YWJsZWNtZHMuYyAgICAgICAgIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFj a2VuZC9leGVjdXRvci9leGVjSW5kZXhpbmcuYyAgICAgIHwgIDkgKysrCiBzcmMvaW5jbHVkZS9j b21tYW5kcy90YWJsZWNtZHMuaCAgICAgICAgIHwgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC90YWJsZXNwYWNlLm91dCB8IDY1ICsrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL3NxbC90YWJsZXNwYWNlLnNxbCAgICAgIHwgMzYgKysrKysrKysrCiA1IGZpbGVzIGNoYW5n ZWQsIDIwNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCBmZDE0 NGQ3ODNkOS4uNGY3NzFjYmJlOWYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Rh YmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMjQx LDYgKzIyNDEsMjQgQEAgRXhlY3V0ZVRydW5jYXRlR3V0cyhMaXN0ICpleHBsaWNpdF9yZWxzLAog CQlpZiAocmVsLT5yZF9jcmVhdGVTdWJpZCA9PSBteVN1YmlkIHx8CiAJCQlyZWwtPnJkX25ld1Jl bGZpbGVsb2NhdG9yU3ViaWQgPT0gbXlTdWJpZCkKIAkJeworCQkJTGlzdAkgICAqaW5kZXhJZHMg PSBSZWxhdGlvbkdldEluZGV4TGlzdChyZWwpOworCQkJTGlzdENlbGwgICAqaWM7CisKKwkJCS8q CisJCQkgKiBUaGUgaW4tcGxhY2UgdHJ1bmNhdGlvbiBiZWxvdyBhbHNvIHRydW5jYXRlcyB0aGUg aW5kZXhlcyBpbgorCQkJICogcGxhY2UuICBBbiBpbmRleCBzdGlsbCBvbiB0aGUgZmlsZSBpdCBo YWQgYmVmb3JlIHRoaXMKKwkJCSAqIHRyYW5zYWN0aW9uIChTRVQgVEFCTEVTUEFDRSBsZWF2ZXMg dGhlbSBzbykgbXVzdCBnZXQgYSBuZXcgb25lCisJCQkgKiBmaXJzdCwgb3IgYSByb2xsYmFjayBj b3VsZCBub3QgcmVzdG9yZSBpdC4KKwkJCSAqLworCQkJZm9yZWFjaChpYywgaW5kZXhJZHMpCisJ CQl7CisJCQkJUmVsYXRpb24JaW5kZXhSZWwgPSBpbmRleF9vcGVuKGxmaXJzdF9vaWQoaWMpLCBB Y2Nlc3NFeGNsdXNpdmVMb2NrKTsKKworCQkJCUluZGV4Rm9sbG93SGVhcFJlbGZpbGVsb2NhdG9y KHJlbCwgaW5kZXhSZWwpOworCQkJCWluZGV4X2Nsb3NlKGluZGV4UmVsLCBOb0xvY2spOworCQkJ fQorCQkJbGlzdF9mcmVlKGluZGV4SWRzKTsKKwogCQkJLyogSW1tZWRpYXRlLCBub24tcm9sbGJh Y2thYmxlIHRydW5jYXRpb24gaXMgT0sgKi8KIAkJCWhlYXBfdHJ1bmNhdGVfb25lX3JlbChyZWwp OwogCQl9CkBAIC0xNzg3Nyw2ICsxNzg5NSw4MSBAQCBpbmRleF9jb3B5X2RhdGEoUmVsYXRpb24g cmVsLCBSZWxGaWxlTG9jYXRvciBuZXdybG9jYXRvcikKIAlzbWdyY2xvc2UoZHN0cmVsKTsKIH0K IAorLyoKKyAqIEluZGV4Rm9sbG93SGVhcFJlbGZpbGVsb2NhdG9yCisgKgorICogQUxURVIgVEFC TEUgU0VUIFRBQkxFU1BBQ0UgZ2l2ZXMgYSB0YWJsZSdzIGhlYXAgYSBuZXcgcmVsZmlsZW51bWJl ciBidXQKKyAqIGxlYXZlcyB0aGUgdGFibGUncyBpbmRleGVzIG9uIHRoZWlyIG9sZCBmaWxlcywg c2luY2UgdGhlIGluZGV4ZXMgYXJlCisgKiBkb2N1bWVudGVkIHRvIHN0YXkgd2hlcmUgdGhleSBh cmUuICBUaGF0IG1peCBpcyBmaW5lIHVudGlsIHRoZSB0YWJsZSBpcworICogbW9kaWZpZWQgYWdh aW4gaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb246IG9uIGFib3J0IHRoZSBoZWFwJ3MgbmV3IGZpbGUg aXMKKyAqIGRpc2NhcmRlZCwgZnJlZWluZyB0aGUgaGVhcCBUSURzIHVzZWQgYnkgcm93cyBpbnNl cnRlZCBhZnRlciB0aGUgbW92ZSwKKyAqIHdoaWxlIHRoZSBpbmRleCBlbnRyaWVzIGZvciB0aG9z ZSByb3dzIHdlcmUgd3JpdHRlbiB0byB0aGUgb2xkIGluZGV4IGZpbGVzCisgKiBhbmQgc3Vydml2 ZSwgc28gYSBsYXRlciBpbnNlcnQgY2FuIHJldXNlIGEgZnJlZWQgVElEIGFuZCBsZWF2ZSB0d28g aW5kZXgKKyAqIGVudHJpZXMgcG9pbnRpbmcgYXQgb25lIGxpdmUgdHVwbGUuCisgKgorICogU28s IGJlZm9yZSBhbiBpbmRleCBpcyBtb2RpZmllZCAob3IgdHJ1bmNhdGVkIGluIHBsYWNlKSBpbiBh IHRyYW5zYWN0aW9uCisgKiB0aGF0IHJlcGxhY2VkIGl0cyBoZWFwJ3Mgc3RvcmFnZSwgZ2l2ZSB0 aGUgaW5kZXggYSBuZXcgcmVsZmlsZW51bWJlciB0b28sCisgKiBjb3B5aW5nIGl0IHdpdGhpbiBp dHMgb3duIHRhYmxlc3BhY2U6IGFuIGFib3J0IHRoZW4gZGlzY2FyZHMgdGhlIG5ldyBoZWFwCisg KiBhbmQgaW5kZXggZmlsZXMgdG9nZXRoZXIuICBEb2luZyB0aGlzIGhlcmUgcmF0aGVyIHRoYW4g aW4gU0VUIFRBQkxFU1BBQ0UKKyAqIGl0c2VsZiBrZWVwcyB0aGUgY29tbW9uIGNhc2UgLS0gdGhl IEFMVEVSIGFsb25lIGluIGl0cyB0cmFuc2FjdGlvbiAtLQorICogZnJlZSBvZiBhbnkgY29weSwg c28gaXQgbmVlZHMgbm8gZXh0cmEgc3BhY2Ugd2hlcmUgdGhlIGluZGV4ZXMgbGl2ZS4KKyAqCisg KiByZF9maXJzdFJlbGZpbGVsb2NhdG9yU3ViaWQgc2F5cyB3aGV0aGVyIGEgcmVsYXRpb24ncyBz dG9yYWdlIGRpZmZlcnMgZnJvbQorICogd2hhdCBpdCB3YXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSB0 b3AgdHJhbnNhY3Rpb247IGl0IGlzIGtlcHQgYWNjdXJhdGUgZm9yCisgKiBSZWxhdGlvbk5lZWRz V0FMKCkuICBBbiBpbmRleCBjcmVhdGVkLCBvciBnaXZlbiBhIG5ldyBmaWxlLCBpbiB0aGlzCisg KiB0cmFuc2FjdGlvbiBhbHJlYWR5IHNoYXJlcyB0aGUgaGVhcCdzIGZhdGUgYW5kIGlzIGxlZnQg YWxvbmUuCisgKi8KK3ZvaWQKK0luZGV4Rm9sbG93SGVhcFJlbGZpbGVsb2NhdG9yKFJlbGF0aW9u IGhlYXBSZWwsIFJlbGF0aW9uIGluZGV4UmVsKQoreworCVJlbEZpbGVOdW1iZXIgbmV3cmVsZmls ZW51bWJlcjsKKwlSZWxGaWxlTG9jYXRvciBuZXdybG9jYXRvcjsKKwlSZWxhdGlvbglwZ19jbGFz czsKKwlIZWFwVHVwbGUJdHVwbGU7CisJSXRlbVBvaW50ZXJEYXRhIG90aWQ7CisJRm9ybV9wZ19j bGFzcyByZF9yZWw7CisKKwlpZiAoaGVhcFJlbC0+cmRfZmlyc3RSZWxmaWxlbG9jYXRvclN1Ymlk ID09IEludmFsaWRTdWJUcmFuc2FjdGlvbklkIHx8CisJCWluZGV4UmVsLT5yZF9maXJzdFJlbGZp bGVsb2NhdG9yU3ViaWQgIT0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQgfHwKKwkJaW5kZXhSZWwt PnJkX2NyZWF0ZVN1YmlkICE9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkKQorCQlyZXR1cm47CisK KwkvKiBPbmx5IHBsYWluIGluZGV4ZXMgaGF2ZSBzdG9yYWdlIHRoYXQgY2FuIGhvbGQgdGhlIHN0 YWxlIGVudHJpZXMuICovCisJaWYgKGluZGV4UmVsLT5yZF9yZWwtPnJlbGtpbmQgIT0gUkVMS0lO RF9JTkRFWCB8fAorCQkhUkVMS0lORF9IQVNfU1RPUkFHRShpbmRleFJlbC0+cmRfcmVsLT5yZWxr aW5kKSkKKwkJcmV0dXJuOworCisJLyogQWxsb2NhdGUgYSBuZXcgcmVsZmlsZW51bWJlciBpbiB0 aGUgaW5kZXgncyBjdXJyZW50IHRhYmxlc3BhY2UuICovCisJbmV3cmVsZmlsZW51bWJlciA9IEdl dE5ld1JlbEZpbGVOdW1iZXIoaW5kZXhSZWwtPnJkX3JlbC0+cmVsdGFibGVzcGFjZSwgTlVMTCwK KwkJCQkJCQkJCQkgICBpbmRleFJlbC0+cmRfcmVsLT5yZWxwZXJzaXN0ZW5jZSk7CisJbmV3cmxv Y2F0b3IgPSBpbmRleFJlbC0+cmRfbG9jYXRvcjsKKwluZXdybG9jYXRvci5yZWxOdW1iZXIgPSBu ZXdyZWxmaWxlbnVtYmVyOworCisJLyogQ29weSB0aGUgaW5kZXggaW50byB0aGUgbmV3IGZpbGUg YW5kIHNjaGVkdWxlIHRoZSBvbGQgb25lIGZvciBjbGVhbnVwLiAqLworCWluZGV4X2NvcHlfZGF0 YShpbmRleFJlbCwgbmV3cmxvY2F0b3IpOworCisJLyogVXBkYXRlIHRoZSBwZ19jbGFzcyByb3c7 IG9ubHkgdGhlIHJlbGZpbGVub2RlIGNoYW5nZXMuICovCisJcGdfY2xhc3MgPSB0YWJsZV9vcGVu KFJlbGF0aW9uUmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisJdHVwbGUgPSBTZWFyY2hT eXNDYWNoZUxvY2tlZENvcHkxKFJFTE9JRCwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bShS ZWxhdGlvbkdldFJlbGlkKGluZGV4UmVsKSkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBs ZSkpCisJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBpbmRleCAldSIsCisJ CQkgUmVsYXRpb25HZXRSZWxpZChpbmRleFJlbCkpOworCW90aWQgPSB0dXBsZS0+dF9zZWxmOwor CXJkX3JlbCA9IChGb3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUpOworCXJkX3JlbC0+cmVs ZmlsZW5vZGUgPSBuZXdyZWxmaWxlbnVtYmVyOworCUNhdGFsb2dUdXBsZVVwZGF0ZShwZ19jbGFz cywgJm90aWQsIHR1cGxlKTsKKwlVbmxvY2tUdXBsZShwZ19jbGFzcywgJm90aWQsIElucGxhY2VV cGRhdGVUdXBsZUxvY2spOworCWhlYXBfZnJlZXR1cGxlKHR1cGxlKTsKKwl0YWJsZV9jbG9zZShw Z19jbGFzcywgUm93RXhjbHVzaXZlTG9jayk7CisKKwlJbnZva2VPYmplY3RQb3N0QWx0ZXJIb29r KFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25HZXRSZWxpZChpbmRleFJlbCksIDApOworCVJl bGF0aW9uQXNzdW1lTmV3UmVsZmlsZWxvY2F0b3IoaW5kZXhSZWwpOworCisJLyogTWFrZSB0aGUg cmVsZmlsZW5vZGUgY2hhbmdlIHZpc2libGUuICovCisJQ29tbWFuZENvdW50ZXJJbmNyZW1lbnQo KTsKK30KKwogLyoKICAqIEFMVEVSIFRBQkxFIEVOQUJMRS9ESVNBQkxFIFRSSUdHRVIKICAqCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjSW5kZXhpbmcuYyBiL3NyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNJbmRleGluZy5jCmluZGV4IGViMzgzODEyOTAxLi5iOTY5NTE0NjM2 MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0luZGV4aW5nLmMKKysrIGIv c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0luZGV4aW5nLmMKQEAgLTExMSw2ICsxMTEsNyBAQAog I2luY2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hhY3QuaCIKICNp bmNsdWRlICJjYXRhbG9nL2luZGV4LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvdGFibGVjbWRzLmgi CiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVu Y3MuaCIKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKQEAgLTIxMiw2ICsyMTMsMTQgQEAgRXhl Y09wZW5JbmRpY2VzKFJlc3VsdFJlbEluZm8gKnJlc3VsdFJlbEluZm8sIGJvb2wgc3BlY3VsYXRp dmUpCiAKIAkJaW5kZXhEZXNjID0gaW5kZXhfb3BlbihpbmRleE9pZCwgUm93RXhjbHVzaXZlTG9j ayk7CiAKKwkJLyoKKwkJICogSWYgdGhlIHRhYmxlJ3Mgc3RvcmFnZSB3YXMgcmVwbGFjZWQgZWFy bGllciBpbiB0aGlzIHRyYW5zYWN0aW9uCisJCSAqIHdoaWxlIHRoZSBpbmRleCBrZXB0IGl0cyBv bGQgZmlsZSAoQUxURVIgVEFCTEUgU0VUIFRBQkxFU1BBQ0UgbW92ZXMKKwkJICogdGhlIGhlYXAg b25seSksIHRoZSBpbmRleCBtdXN0IGdldCBhIG5ldyBmaWxlIHRvbyBiZWZvcmUgd2Ugd3JpdGUK KwkJICogdG8gaXQsIHNvIHRoYXQgYW4gYWJvcnQgZGlzY2FyZHMgYm90aCB0b2dldGhlci4KKwkJ ICovCisJCUluZGV4Rm9sbG93SGVhcFJlbGZpbGVsb2NhdG9yKHJlc3VsdFJlbGF0aW9uLCBpbmRl eERlc2MpOworCiAJCS8qIGV4dHJhY3QgaW5kZXgga2V5IGluZm9ybWF0aW9uIGZyb20gdGhlIGlu ZGV4J3MgcGdfaW5kZXggaW5mbyAqLwogCQlpaSA9IEJ1aWxkSW5kZXhJbmZvKGluZGV4RGVzYyk7 CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oIGIvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKaW5kZXggYzNkODUxOGNiNjIuLmRmYmU0ZTRhNzc1 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAorKysgYi9zcmMv aW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaApAQCAtNjksNiArNjksNyBAQCBleHRlcm4gdm9p ZCBFeGVjdXRlVHJ1bmNhdGVHdXRzKExpc3QgKmV4cGxpY2l0X3JlbHMsCiBleHRlcm4gdm9pZCBT ZXRSZWxhdGlvbkhhc1N1YmNsYXNzKE9pZCByZWxhdGlvbklkLCBib29sIHJlbGhhc3N1YmNsYXNz KTsKIAogZXh0ZXJuIGJvb2wgQ2hlY2tSZWxhdGlvblRhYmxlU3BhY2VNb3ZlKFJlbGF0aW9uIHJl bCwgT2lkIG5ld1RhYmxlU3BhY2VJZCk7CitleHRlcm4gdm9pZCBJbmRleEZvbGxvd0hlYXBSZWxm aWxlbG9jYXRvcihSZWxhdGlvbiBoZWFwUmVsLCBSZWxhdGlvbiBpbmRleFJlbCk7CiBleHRlcm4g dm9pZCBTZXRSZWxhdGlvblRhYmxlU3BhY2UoUmVsYXRpb24gcmVsLCBPaWQgbmV3VGFibGVTcGFj ZUlkLAogCQkJCQkJCQkgIFJlbEZpbGVOdW1iZXIgbmV3UmVsRmlsZW51bWJlcik7CiAKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdGFibGVzcGFjZS5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3RhYmxlc3BhY2Uub3V0CmluZGV4IGYwZGQyNWNkZjBjLi4yODI5 NTZhOGY2MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90YWJsZXNwYWNl Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RhYmxlc3BhY2Uub3V0CkBAIC05 NTEsNiArOTUxLDcxIEBAIEVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlc3BhY2Ug cmVncmVzc190YmxzcGFjZQogUkVJTkRFWCAoVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlLCBD T05DVVJSRU5UTFkpIFRBQkxFIHRhYmxlc3BhY2VfdGFibGU7IC0tIGZhaWwKIEVSUk9SOiAgcGVy bWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlc3BhY2UgcmVncmVzc190YmxzcGFjZQogUkVTRVQgUk9M RTsKKy0tIEFMVEVSIFRBQkxFIFNFVCBUQUJMRVNQQUNFIG1vdmVzIHRoZSBoZWFwIG9ubHk7IHRo ZSBpbmRleGVzIGtlZXAgdGhlaXIgZmlsZXMKKy0tIHVubGVzcyB0aGUgdGFibGUgaXMgbW9kaWZp ZWQgbGF0ZXIgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24sIGluIHdoaWNoIGNhc2UKKy0tIHRoZXkg Z2V0IG5ldyBmaWxlcyB0b28sIHNvIHRoYXQgYSByb2xsYmFjayBkaXNjYXJkcyBhbGwgb2YgdGhl bSB0b2dldGhlci4KK0NSRUFURSBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrIChhIGludCk7CitJTlNF UlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwKTsK K0NSRUFURSBJTkRFWCB0YnNwYWNlX3JvbGxiYWNrX2lkeCBPTiB0YnNwYWNlX3JvbGxiYWNrIChh KTsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpIEFTIGlk eF9zaXplX2JlZm9yZSBcZ3NldAorU0VMRUNUIHBnX3JlbGF0aW9uX2ZpbGVwYXRoKCd0YnNwYWNl X3JvbGxiYWNrX2lkeCcpIEFTIGlkeF9wYXRoX2JlZm9yZSBcZ3NldAorLS0gdGhlIG1vdmUgYWxv bmUgbGVhdmVzIHRoZSBpbmRleCBmaWxlIHVudG91Y2hlZAorQUxURVIgVEFCTEUgdGJzcGFjZV9y b2xsYmFjayBTRVQgVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlOworU0VMRUNUIHBnX3JlbGF0 aW9uX2ZpbGVwYXRoKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID0gOidpZHhfcGF0aF9iZWZvcmUn IEFTIGlkeF91bnRvdWNoZWQ7CisgaWR4X3VudG91Y2hlZCAKKy0tLS0tLS0tLS0tLS0tLQorIHQK KygxIHJvdykKKworLS0gcm93cyBpbnNlcnRlZCBhZnRlciB0aGUgbW92ZTogZW5vdWdoIHRvIGdy b3cgdGhlIGluZGV4IGJ5IGF0IGxlYXN0IGEgcGFnZQorQkVHSU47CitBTFRFUiBUQUJMRSB0YnNw YWNlX3JvbGxiYWNrIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitJTlNFUlQgSU5UTyB0YnNw YWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1NFTEVDVCBw Z19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID4gOmlkeF9zaXplX2JlZm9y ZSBBUyBpZHhfZ3JldzsKKyBpZHhfZ3JldyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1JP TExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9uX3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4Jykg PSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9zaXplX3Jlc3RvcmVkOworIGlkeF9zaXplX3Jlc3Rv cmVkIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworLS0gdGhlIHNhbWUgYWNy b3NzIGEgc3VidHJhbnNhY3Rpb24KK0JFR0lOOworQUxURVIgVEFCTEUgdGJzcGFjZV9yb2xsYmFj ayBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0OworU0FWRVBPSU5UIHM7CitJTlNFUlQgSU5UTyB0 YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1JPTExC QUNLIFRPIHM7CitJTlNFUlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9z ZXJpZXMoMTAxLCAyMDAwKTsKK1JPTExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9uX3NpemUoJ3Ri c3BhY2Vfcm9sbGJhY2tfaWR4JykgPSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9zaXplX3Jlc3Rv cmVkOworIGlkeF9zaXplX3Jlc3RvcmVkIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIHQKKygxIHJv dykKKworLS0gVFJVTkNBVEUgYWZ0ZXIgdGhlIG1vdmUgaXMgZG9uZSBpbiBwbGFjZTsgaXQgbXVz dCBub3QgdHJ1bmNhdGUgdGhlIG9sZCBmaWxlCitCRUdJTjsKK0FMVEVSIFRBQkxFIHRic3BhY2Vf cm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKK1RSVU5DQVRFIHRic3BhY2Vfcm9s bGJhY2s7CitST0xMQkFDSzsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxi YWNrX2lkeCcpID0gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfc2l6ZV9yZXN0b3JlZDsKKyBpZHhf c2l6ZV9yZXN0b3JlZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK1NFTEVD VCBjb3VudCgqKSBGUk9NIHRic3BhY2Vfcm9sbGJhY2s7CisgY291bnQgCistLS0tLS0tCisgICAx MDAKKygxIHJvdykKKworRFJPUCBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrOwogQUxURVIgVEFCTEVT UEFDRSByZWdyZXNzX3RibHNwYWNlIFJFTkFNRSBUTyByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQ7 CiBBTFRFUiBUQUJMRSBBTEwgSU4gVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQg U0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKIEFMVEVSIElOREVYIEFMTCBJTiBUQUJMRVNQQUNF IHJlZ3Jlc3NfdGJsc3BhY2VfcmVuYW1lZCBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0OwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdGFibGVzcGFjZS5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC90YWJsZXNwYWNlLnNxbAppbmRleCBjNDNhNTllNTk1Ny4uYzcxMWIwY2JhY2Mg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RhYmxlc3BhY2Uuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3RhYmxlc3BhY2Uuc3FsCkBAIC00MjAsNiArNDIwLDQyIEBAIFJF SU5ERVggKFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSkgVEFCTEUgdGFibGVzcGFjZV90YWJs ZTsgLS0gZmFpbAogUkVJTkRFWCAoVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlLCBDT05DVVJS RU5UTFkpIFRBQkxFIHRhYmxlc3BhY2VfdGFibGU7IC0tIGZhaWwKIFJFU0VUIFJPTEU7CiAKKy0t IEFMVEVSIFRBQkxFIFNFVCBUQUJMRVNQQUNFIG1vdmVzIHRoZSBoZWFwIG9ubHk7IHRoZSBpbmRl eGVzIGtlZXAgdGhlaXIgZmlsZXMKKy0tIHVubGVzcyB0aGUgdGFibGUgaXMgbW9kaWZpZWQgbGF0 ZXIgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24sIGluIHdoaWNoIGNhc2UKKy0tIHRoZXkgZ2V0IG5l dyBmaWxlcyB0b28sIHNvIHRoYXQgYSByb2xsYmFjayBkaXNjYXJkcyBhbGwgb2YgdGhlbSB0b2dl dGhlci4KK0NSRUFURSBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrIChhIGludCk7CitJTlNFUlQgSU5U TyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwKTsKK0NSRUFU RSBJTkRFWCB0YnNwYWNlX3JvbGxiYWNrX2lkeCBPTiB0YnNwYWNlX3JvbGxiYWNrIChhKTsKK1NF TEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpIEFTIGlkeF9zaXpl X2JlZm9yZSBcZ3NldAorU0VMRUNUIHBnX3JlbGF0aW9uX2ZpbGVwYXRoKCd0YnNwYWNlX3JvbGxi YWNrX2lkeCcpIEFTIGlkeF9wYXRoX2JlZm9yZSBcZ3NldAorLS0gdGhlIG1vdmUgYWxvbmUgbGVh dmVzIHRoZSBpbmRleCBmaWxlIHVudG91Y2hlZAorQUxURVIgVEFCTEUgdGJzcGFjZV9yb2xsYmFj ayBTRVQgVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlOworU0VMRUNUIHBnX3JlbGF0aW9uX2Zp bGVwYXRoKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID0gOidpZHhfcGF0aF9iZWZvcmUnIEFTIGlk eF91bnRvdWNoZWQ7CistLSByb3dzIGluc2VydGVkIGFmdGVyIHRoZSBtb3ZlOiBlbm91Z2ggdG8g Z3JvdyB0aGUgaW5kZXggYnkgYXQgbGVhc3QgYSBwYWdlCitCRUdJTjsKK0FMVEVSIFRBQkxFIHRi c3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKK0lOU0VSVCBJTlRPIHRi c3BhY2Vfcm9sbGJhY2sgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxMDEsIDIwMDApOworU0VMRUNU IHBnX3JlbGF0aW9uX3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4JykgPiA6aWR4X3NpemVfYmVm b3JlIEFTIGlkeF9ncmV3OworUk9MTEJBQ0s7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJz cGFjZV9yb2xsYmFja19pZHgnKSA9IDppZHhfc2l6ZV9iZWZvcmUgQVMgaWR4X3NpemVfcmVzdG9y ZWQ7CistLSB0aGUgc2FtZSBhY3Jvc3MgYSBzdWJ0cmFuc2FjdGlvbgorQkVHSU47CitBTFRFUiBU QUJMRSB0YnNwYWNlX3JvbGxiYWNrIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitTQVZFUE9J TlQgczsKK0lOU0VSVCBJTlRPIHRic3BhY2Vfcm9sbGJhY2sgU0VMRUNUIGdlbmVyYXRlX3Nlcmll cygxMDEsIDIwMDApOworUk9MTEJBQ0sgVE8gczsKK0lOU0VSVCBJTlRPIHRic3BhY2Vfcm9sbGJh Y2sgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxMDEsIDIwMDApOworUk9MTEJBQ0s7CitTRUxFQ1Qg cGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA9IDppZHhfc2l6ZV9iZWZv cmUgQVMgaWR4X3NpemVfcmVzdG9yZWQ7CistLSBUUlVOQ0FURSBhZnRlciB0aGUgbW92ZSBpcyBk b25lIGluIHBsYWNlOyBpdCBtdXN0IG5vdCB0cnVuY2F0ZSB0aGUgb2xkIGZpbGUKK0JFR0lOOwor QUxURVIgVEFCTEUgdGJzcGFjZV9yb2xsYmFjayBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0Owor VFJVTkNBVEUgdGJzcGFjZV9yb2xsYmFjazsKK1JPTExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9u X3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4JykgPSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9z aXplX3Jlc3RvcmVkOworU0VMRUNUIGNvdW50KCopIEZST00gdGJzcGFjZV9yb2xsYmFjazsKK0RS T1AgVEFCTEUgdGJzcGFjZV9yb2xsYmFjazsKKwogQUxURVIgVEFCTEVTUEFDRSByZWdyZXNzX3Ri bHNwYWNlIFJFTkFNRSBUTyByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQ7CiAKIEFMVEVSIFRBQkxF IEFMTCBJTiBUQUJMRVNQQUNFIHJlZ3Jlc3NfdGJsc3BhY2VfcmVuYW1lZCBTRVQgVEFCTEVTUEFD RSBwZ19kZWZhdWx0OwotLSAKMi41NS4wCgo= --===============0186668659675094221== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0*=us-ascii''v4-REL_15-0001-Fix-index-corruption-after-rolling-back; filename*1*=-ALTER-TAB.patch.txt MIME-Version: 1.0 RnJvbSBhNjhkOGI1NDA1NDNiN2RiNDU3NDliNDA3YWIxOWU1YzZkMGM1ZjU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYW51ZWwgUmV5ZXMgQnJhdm8gPG1hbnVlbHJleWVzYnJhdm9A Z21haWwuY29tPgpEYXRlOiBGcmksIDIgT2N0IDIwMjYgMTE6MjA6MjMgLTAzMDAKU3ViamVjdDog W1BBVENIXSBGaXggaW5kZXggY29ycnVwdGlvbiBhZnRlciByb2xsaW5nIGJhY2sgQUxURVIgVEFC TEUgU0VUCiBUQUJMRVNQQUNFCgpBTFRFUiBUQUJMRSAuLi4gU0VUIFRBQkxFU1BBQ0UgcmV3cml0 ZXMgYSB0YWJsZSdzIGhlYXAgdG8gYSBuZXcKcmVsZmlsZW5vZGUgYnV0IGxlYXZlcyB0aGUgdGFi bGUncyBpbmRleGVzIG9uIHRoZWlyIGV4aXN0aW5nCnJlbGZpbGVub2Rlcy4gIFRoZSB0d28gdGhl biByb2xsIGJhY2sgYnkgZGlmZmVyZW50IG1lY2hhbmlzbXM6IG9uIGFib3J0CnRoZSBoZWFwJ3Mg bmV3IGZpbGUgaXMgZGlzY2FyZGVkLCBmcmVlaW5nIHRoZSBoZWFwIFRJRHMgY29uc3VtZWQgYnkg cm93cwppbnNlcnRlZCBhZnRlciB0aGUgU0VUIFRBQkxFU1BBQ0UsIHdoaWxlIHRoZSBpbmRleCBl bnRyaWVzIGZvciB0aG9zZSByb3dzCndlcmUgd3JpdHRlbiB0byB0aGUgdW5jaGFuZ2VkIGluZGV4 IGZpbGVzIGFuZCBzdXJ2aXZlLiAgQSBsYXRlciBpbnNlcnQKY2FuIHJldXNlIGEgZnJlZWQgaGVh cCBUSUQsIGxlYXZpbmcgdHdvIGluZGV4IGVudHJpZXMgdGhhdCBwb2ludCBhdCB0aGUKc2FtZSBs aXZlIGhlYXAgdHVwbGUuICBUaGlzIHN1cmZhY2VzIGFzIGEgX2J0X3Bvc3RpbmdfdmFsaWQgYXNz ZXJ0aW9uCmZhaWx1cmUgaW4gbmJ0cmVlIGRlZHVwbGljYXRpb24sIGFuZCBhcyBkdXBsaWNhdGUg cm93cyB0aHJvdWdoIGFuCmluZGV4LW9ubHkgc2NhbiBpbiBnaXN0LiAgQSBUUlVOQ0FURSBhZnRl ciB0aGUgbW92ZSBpbiB0aGUgc2FtZQp0cmFuc2FjdGlvbiBoYXMgYSBzaW1pbGFyIHByb2JsZW06 IGl0IHRydW5jYXRlcyB0aGUgb2xkIGluZGV4IGZpbGVzIGluCnBsYWNlLCB3aGljaCBhIHJvbGxi YWNrIGNhbm5vdCB1bmRvLgoKVGhlIGluZGV4ZXMgb25seSBuZWVkIHRvIHNoYXJlIHRoZSBoZWFw J3MgcmV3cml0ZSB3aGVuIHRoZSB0YWJsZSBpcwptb2RpZmllZCBhZ2FpbiBpbiB0aGUgc2FtZSB0 cmFuc2FjdGlvbiwgd2hpY2ggaXMgYWxzbyB0aGUgb25seSB0aW1lIHRoZQpjb3JydXB0aW9uIGNh biBhcmlzZS4gIFNvIGxlYXZlIFNFVCBUQUJMRVNQQUNFIGl0c2VsZiBhbG9uZSwgYW5kIGdpdmUg YW4KaW5kZXggYSBuZXcgcmVsZmlsZW51bWJlciAtLSBjb3B5aW5nIGl0IHdpdGhpbiBpdHMgb3du IHRhYmxlc3BhY2UsIGFzCmRvY3VtZW50ZWQsIHRoZSBpbmRleGVzIHN0YXkgd2hlcmUgdGhleSBh cmUgLS0gd2hlbiB0aGUgZXhlY3V0b3Igb3BlbnMKaXQgdG8gbW9kaWZ5IGEgdGFibGUgd2hvc2Ug c3RvcmFnZSB3YXMgcmVwbGFjZWQgaW4gdGhlIGN1cnJlbnQKdHJhbnNhY3Rpb24sIGFuZCBiZWZv cmUgYW4gaW4tcGxhY2UgVFJVTkNBVEUgb2Ygc3VjaCBhIHRhYmxlLiAgVGhlIEFMVEVSCmFsb25l IGluIGl0cyB0cmFuc2FjdGlvbiwgdGhlIGNvbW1vbiBjYXNlLCBjb3BpZXMgbm90aGluZyBhbmQg bmVlZHMgbm8KZXh0cmEgc3BhY2Ugd2hlcmUgdGhlIGluZGV4ZXMgbGl2ZS4KClRoZSByZWdyZXNz aW9uIHRlc3QgY2hlY2tzIHRoYXQgdGhlIG1vdmUgYWxvbmUgbGVhdmVzIHRoZSBpbmRleCBmaWxl CnVudG91Y2hlZCwgYW5kIHRoYXQgYWZ0ZXIgaW5zZXJ0aW5nIGVub3VnaCByb3dzIGluc2lkZSB0 aGUgdHJhbnNhY3Rpb24KdG8gZ3JvdyB0aGUgaW5kZXgsIHdpdGggYW5kIHdpdGhvdXQgYSBzdWJ0 cmFuc2FjdGlvbiwgb3IgdHJ1bmNhdGluZyB0aGUKdGFibGUsIGEgcm9sbGJhY2sgbGVhdmVzIHRo ZSBpbmRleCBmaWxlIGF0IGl0cyBwcmUtdHJhbnNhY3Rpb24gc2l6ZS4KCkJ1ZzogIzE5Njg2ClJl cG9ydGVkLWJ5OiBBbGV4YW5kZXIgTGFraGluClJldmlld2VkLWJ5OiBBbGV4YW5kcmUgRmVsaXBl ClJldmlld2VkLWJ5OiBTaGloYW8gWmhvbmcKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJs ZWNtZHMuYyAgICAgICAgIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjSW5kZXhpbmcuYyAgICAgIHwgIDkgKysrCiBzcmMvaW5jbHVkZS9jb21t YW5kcy90YWJsZWNtZHMuaCAgICAgICAgIHwgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC90YWJsZXNwYWNlLm91dCB8IDY1ICsrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNz L3NxbC90YWJsZXNwYWNlLnNxbCAgICAgIHwgMzYgKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQs IDIwNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCAzZmQzNzVm ZWZmYy4uZGI3YTU4ZjA2NWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxl Y21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMDE4LDYg KzIwMTgsMjQgQEAgRXhlY3V0ZVRydW5jYXRlR3V0cyhMaXN0ICpleHBsaWNpdF9yZWxzLAogCQlp ZiAocmVsLT5yZF9jcmVhdGVTdWJpZCA9PSBteVN1YmlkIHx8CiAJCQlyZWwtPnJkX25ld1JlbGZp bGVub2RlU3ViaWQgPT0gbXlTdWJpZCkKIAkJeworCQkJTGlzdAkgICAqaW5kZXhJZHMgPSBSZWxh dGlvbkdldEluZGV4TGlzdChyZWwpOworCQkJTGlzdENlbGwgICAqaWM7CisKKwkJCS8qCisJCQkg KiBUaGUgaW4tcGxhY2UgdHJ1bmNhdGlvbiBiZWxvdyBhbHNvIHRydW5jYXRlcyB0aGUgaW5kZXhl cyBpbgorCQkJICogcGxhY2UuICBBbiBpbmRleCBzdGlsbCBvbiB0aGUgZmlsZSBpdCBoYWQgYmVm b3JlIHRoaXMKKwkJCSAqIHRyYW5zYWN0aW9uIChTRVQgVEFCTEVTUEFDRSBsZWF2ZXMgdGhlbSBz bykgbXVzdCBnZXQgYSBuZXcgb25lCisJCQkgKiBmaXJzdCwgb3IgYSByb2xsYmFjayBjb3VsZCBu b3QgcmVzdG9yZSBpdC4KKwkJCSAqLworCQkJZm9yZWFjaChpYywgaW5kZXhJZHMpCisJCQl7CisJ CQkJUmVsYXRpb24JaW5kZXhSZWwgPSBpbmRleF9vcGVuKGxmaXJzdF9vaWQoaWMpLCBBY2Nlc3NF eGNsdXNpdmVMb2NrKTsKKworCQkJCUluZGV4Rm9sbG93SGVhcFJlbGZpbGVub2RlKHJlbCwgaW5k ZXhSZWwpOworCQkJCWluZGV4X2Nsb3NlKGluZGV4UmVsLCBOb0xvY2spOworCQkJfQorCQkJbGlz dF9mcmVlKGluZGV4SWRzKTsKKwogCQkJLyogSW1tZWRpYXRlLCBub24tcm9sbGJhY2thYmxlIHRy dW5jYXRpb24gaXMgT0sgKi8KIAkJCWhlYXBfdHJ1bmNhdGVfb25lX3JlbChyZWwpOwogCQl9CkBA IC0xNTEzOCw2ICsxNTE1Niw4MSBAQCBpbmRleF9jb3B5X2RhdGEoUmVsYXRpb24gcmVsLCBSZWxG aWxlTm9kZSBuZXdybm9kZSkKIAlzbWdyY2xvc2UoZHN0cmVsKTsKIH0KIAorLyoKKyAqIEluZGV4 Rm9sbG93SGVhcFJlbGZpbGVub2RlCisgKgorICogQUxURVIgVEFCTEUgU0VUIFRBQkxFU1BBQ0Ug Z2l2ZXMgYSB0YWJsZSdzIGhlYXAgYSBuZXcgcmVsZmlsZW5vZGUgYnV0CisgKiBsZWF2ZXMgdGhl IHRhYmxlJ3MgaW5kZXhlcyBvbiB0aGVpciBvbGQgZmlsZXMsIHNpbmNlIHRoZSBpbmRleGVzIGFy ZQorICogZG9jdW1lbnRlZCB0byBzdGF5IHdoZXJlIHRoZXkgYXJlLiAgVGhhdCBtaXggaXMgZmlu ZSB1bnRpbCB0aGUgdGFibGUgaXMKKyAqIG1vZGlmaWVkIGFnYWluIGluIHRoZSBzYW1lIHRyYW5z YWN0aW9uOiBvbiBhYm9ydCB0aGUgaGVhcCdzIG5ldyBmaWxlIGlzCisgKiBkaXNjYXJkZWQsIGZy ZWVpbmcgdGhlIGhlYXAgVElEcyB1c2VkIGJ5IHJvd3MgaW5zZXJ0ZWQgYWZ0ZXIgdGhlIG1vdmUs CisgKiB3aGlsZSB0aGUgaW5kZXggZW50cmllcyBmb3IgdGhvc2Ugcm93cyB3ZXJlIHdyaXR0ZW4g dG8gdGhlIG9sZCBpbmRleCBmaWxlcworICogYW5kIHN1cnZpdmUsIHNvIGEgbGF0ZXIgaW5zZXJ0 IGNhbiByZXVzZSBhIGZyZWVkIFRJRCBhbmQgbGVhdmUgdHdvIGluZGV4CisgKiBlbnRyaWVzIHBv aW50aW5nIGF0IG9uZSBsaXZlIHR1cGxlLgorICoKKyAqIFNvLCBiZWZvcmUgYW4gaW5kZXggaXMg bW9kaWZpZWQgKG9yIHRydW5jYXRlZCBpbiBwbGFjZSkgaW4gYSB0cmFuc2FjdGlvbgorICogdGhh dCByZXBsYWNlZCBpdHMgaGVhcCdzIHN0b3JhZ2UsIGdpdmUgdGhlIGluZGV4IGEgbmV3IHJlbGZp bGVub2RlIHRvbywKKyAqIGNvcHlpbmcgaXQgd2l0aGluIGl0cyBvd24gdGFibGVzcGFjZTogYW4g YWJvcnQgdGhlbiBkaXNjYXJkcyB0aGUgbmV3IGhlYXAKKyAqIGFuZCBpbmRleCBmaWxlcyB0b2dl dGhlci4gIERvaW5nIHRoaXMgaGVyZSByYXRoZXIgdGhhbiBpbiBTRVQgVEFCTEVTUEFDRQorICog aXRzZWxmIGtlZXBzIHRoZSBjb21tb24gY2FzZSAtLSB0aGUgQUxURVIgYWxvbmUgaW4gaXRzIHRy YW5zYWN0aW9uIC0tCisgKiBmcmVlIG9mIGFueSBjb3B5LCBzbyBpdCBuZWVkcyBubyBleHRyYSBz cGFjZSB3aGVyZSB0aGUgaW5kZXhlcyBsaXZlLgorICoKKyAqIHJkX2ZpcnN0UmVsZmlsZW5vZGVT dWJpZCBzYXlzIHdoZXRoZXIgYSByZWxhdGlvbidzIHN0b3JhZ2UgZGlmZmVycyBmcm9tCisgKiB3 aGF0IGl0IHdhcyBhdCB0aGUgc3RhcnQgb2YgdGhlIHRvcCB0cmFuc2FjdGlvbjsgaXQgaXMga2Vw dCBhY2N1cmF0ZSBmb3IKKyAqIFJlbGF0aW9uTmVlZHNXQUwoKS4gIEFuIGluZGV4IGNyZWF0ZWQs IG9yIGdpdmVuIGEgbmV3IGZpbGUsIGluIHRoaXMKKyAqIHRyYW5zYWN0aW9uIGFscmVhZHkgc2hh cmVzIHRoZSBoZWFwJ3MgZmF0ZSBhbmQgaXMgbGVmdCBhbG9uZS4KKyAqLwordm9pZAorSW5kZXhG b2xsb3dIZWFwUmVsZmlsZW5vZGUoUmVsYXRpb24gaGVhcFJlbCwgUmVsYXRpb24gaW5kZXhSZWwp Cit7CisJT2lkCQkJbmV3cmVsZmlsZW5vZGU7CisJUmVsRmlsZU5vZGUgbmV3cm5vZGU7CisJUmVs YXRpb24JcGdfY2xhc3M7CisJSGVhcFR1cGxlCXR1cGxlOworCUl0ZW1Qb2ludGVyRGF0YSBvdGlk OworCUZvcm1fcGdfY2xhc3MgcmRfcmVsOworCisJaWYgKGhlYXBSZWwtPnJkX2ZpcnN0UmVsZmls ZW5vZGVTdWJpZCA9PSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZCB8fAorCQlpbmRleFJlbC0+cmRf Zmlyc3RSZWxmaWxlbm9kZVN1YmlkICE9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkIHx8CisJCWlu ZGV4UmVsLT5yZF9jcmVhdGVTdWJpZCAhPSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZCkKKwkJcmV0 dXJuOworCisJLyogT25seSBwbGFpbiBpbmRleGVzIGhhdmUgc3RvcmFnZSB0aGF0IGNhbiBob2xk IHRoZSBzdGFsZSBlbnRyaWVzLiAqLworCWlmIChpbmRleFJlbC0+cmRfcmVsLT5yZWxraW5kICE9 IFJFTEtJTkRfSU5ERVggfHwKKwkJIVJFTEtJTkRfSEFTX1NUT1JBR0UoaW5kZXhSZWwtPnJkX3Jl bC0+cmVsa2luZCkpCisJCXJldHVybjsKKworCS8qIEFsbG9jYXRlIGEgbmV3IHJlbGZpbGVub2Rl IGluIHRoZSBpbmRleCdzIGN1cnJlbnQgdGFibGVzcGFjZS4gKi8KKwluZXdyZWxmaWxlbm9kZSA9 IEdldE5ld1JlbEZpbGVOb2RlKGluZGV4UmVsLT5yZF9yZWwtPnJlbHRhYmxlc3BhY2UsIE5VTEws CisJCQkJCQkJCQkJICAgaW5kZXhSZWwtPnJkX3JlbC0+cmVscGVyc2lzdGVuY2UpOworCW5ld3Ju b2RlID0gaW5kZXhSZWwtPnJkX25vZGU7CisJbmV3cm5vZGUucmVsTm9kZSA9IG5ld3JlbGZpbGVu b2RlOworCisJLyogQ29weSB0aGUgaW5kZXggaW50byB0aGUgbmV3IGZpbGUgYW5kIHNjaGVkdWxl IHRoZSBvbGQgb25lIGZvciBjbGVhbnVwLiAqLworCWluZGV4X2NvcHlfZGF0YShpbmRleFJlbCwg bmV3cm5vZGUpOworCisJLyogVXBkYXRlIHRoZSBwZ19jbGFzcyByb3c7IG9ubHkgdGhlIHJlbGZp bGVub2RlIGNoYW5nZXMuICovCisJcGdfY2xhc3MgPSB0YWJsZV9vcGVuKFJlbGF0aW9uUmVsYXRp b25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZUxvY2tlZENv cHkxKFJFTE9JRCwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlk KGluZGV4UmVsKSkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCWVsb2coRVJS T1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBpbmRleCAldSIsCisJCQkgUmVsYXRpb25HZXRS ZWxpZChpbmRleFJlbCkpOworCW90aWQgPSB0dXBsZS0+dF9zZWxmOworCXJkX3JlbCA9IChGb3Jt X3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUpOworCXJkX3JlbC0+cmVsZmlsZW5vZGUgPSBuZXdy ZWxmaWxlbm9kZTsKKwlDYXRhbG9nVHVwbGVVcGRhdGUocGdfY2xhc3MsICZvdGlkLCB0dXBsZSk7 CisJVW5sb2NrVHVwbGUocGdfY2xhc3MsICZvdGlkLCBJbnBsYWNlVXBkYXRlVHVwbGVMb2NrKTsK KwloZWFwX2ZyZWV0dXBsZSh0dXBsZSk7CisJdGFibGVfY2xvc2UocGdfY2xhc3MsIFJvd0V4Y2x1 c2l2ZUxvY2spOworCisJSW52b2tlT2JqZWN0UG9zdEFsdGVySG9vayhSZWxhdGlvblJlbGF0aW9u SWQsIFJlbGF0aW9uR2V0UmVsaWQoaW5kZXhSZWwpLCAwKTsKKwlSZWxhdGlvbkFzc3VtZU5ld1Jl bGZpbGVub2RlKGluZGV4UmVsKTsKKworCS8qIE1ha2UgdGhlIHJlbGZpbGVub2RlIGNoYW5nZSB2 aXNpYmxlLiAqLworCUNvbW1hbmRDb3VudGVySW5jcmVtZW50KCk7Cit9CisKIC8qCiAgKiBBTFRF UiBUQUJMRSBFTkFCTEUvRElTQUJMRSBUUklHR0VSCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvZXhlY3V0b3IvZXhlY0luZGV4aW5nLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjSW5k ZXhpbmcuYwppbmRleCBjZTlkMDQxODZiYy4uMDc1Y2FlZTUwYzUgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNJbmRleGluZy5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9y L2V4ZWNJbmRleGluZy5jCkBAIC0xMTEsNiArMTExLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvdGFi bGVhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9pbmRl eC5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3RhYmxlY21kcy5oIgogI2luY2x1ZGUgImV4ZWN1dG9y L2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAibm9kZXMvbm9kZUZ1bmNzLmgiCiAjaW5jbHVkZSAic3Rv cmFnZS9sbWdyLmgiCkBAIC0yMDMsNiArMjA0LDE0IEBAIEV4ZWNPcGVuSW5kaWNlcyhSZXN1bHRS ZWxJbmZvICpyZXN1bHRSZWxJbmZvLCBib29sIHNwZWN1bGF0aXZlKQogCiAJCWluZGV4RGVzYyA9 IGluZGV4X29wZW4oaW5kZXhPaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOwogCisJCS8qCisJCSAqIElm IHRoZSB0YWJsZSdzIHN0b3JhZ2Ugd2FzIHJlcGxhY2VkIGVhcmxpZXIgaW4gdGhpcyB0cmFuc2Fj dGlvbgorCQkgKiB3aGlsZSB0aGUgaW5kZXgga2VwdCBpdHMgb2xkIGZpbGUgKEFMVEVSIFRBQkxF IFNFVCBUQUJMRVNQQUNFIG1vdmVzCisJCSAqIHRoZSBoZWFwIG9ubHkpLCB0aGUgaW5kZXggbXVz dCBnZXQgYSBuZXcgZmlsZSB0b28gYmVmb3JlIHdlIHdyaXRlCisJCSAqIHRvIGl0LCBzbyB0aGF0 IGFuIGFib3J0IGRpc2NhcmRzIGJvdGggdG9nZXRoZXIuCisJCSAqLworCQlJbmRleEZvbGxvd0hl YXBSZWxmaWxlbm9kZShyZXN1bHRSZWxhdGlvbiwgaW5kZXhEZXNjKTsKKwogCQkvKiBleHRyYWN0 IGluZGV4IGtleSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbmRleCdzIHBnX2luZGV4IGluZm8gKi8K IAkJaWkgPSBCdWlsZEluZGV4SW5mbyhpbmRleERlc2MpOwogCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21k cy5oCmluZGV4IDVkNDAzN2YyNmU4Li42NDM3NDIxMDIyZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVj bWRzLmgKQEAgLTY1LDYgKzY1LDcgQEAgZXh0ZXJuIHZvaWQgRXhlY3V0ZVRydW5jYXRlR3V0cyhM aXN0ICpleHBsaWNpdF9yZWxzLAogZXh0ZXJuIHZvaWQgU2V0UmVsYXRpb25IYXNTdWJjbGFzcyhP aWQgcmVsYXRpb25JZCwgYm9vbCByZWxoYXNzdWJjbGFzcyk7CiAKIGV4dGVybiBib29sIENoZWNr UmVsYXRpb25UYWJsZVNwYWNlTW92ZShSZWxhdGlvbiByZWwsIE9pZCBuZXdUYWJsZVNwYWNlSWQp OworZXh0ZXJuIHZvaWQgSW5kZXhGb2xsb3dIZWFwUmVsZmlsZW5vZGUoUmVsYXRpb24gaGVhcFJl bCwgUmVsYXRpb24gaW5kZXhSZWwpOwogZXh0ZXJuIHZvaWQgU2V0UmVsYXRpb25UYWJsZVNwYWNl KFJlbGF0aW9uIHJlbCwgT2lkIG5ld1RhYmxlU3BhY2VJZCwKIAkJCQkJCQkJICBPaWQgbmV3UmVs RmlsZU5vZGUpOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RhYmxl c3BhY2Uub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90YWJsZXNwYWNlLm91dAppbmRl eCAzODczZTNjZDdmYy4uOGQ1YjQ1YmI0ZTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdGFibGVzcGFjZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90 YWJsZXNwYWNlLm91dApAQCAtOTUxLDYgKzk1MSw3MSBAQCBFUlJPUjogIHBlcm1pc3Npb24gZGVu aWVkIGZvciB0YWJsZXNwYWNlIHJlZ3Jlc3NfdGJsc3BhY2UKIFJFSU5ERVggKFRBQkxFU1BBQ0Ug cmVncmVzc190YmxzcGFjZSwgQ09OQ1VSUkVOVExZKSBUQUJMRSB0YWJsZXNwYWNlX3RhYmxlOyAt LSBmYWlsCiBFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZXNwYWNlIHJlZ3Jlc3Nf dGJsc3BhY2UKIFJFU0VUIFJPTEU7CistLSBBTFRFUiBUQUJMRSBTRVQgVEFCTEVTUEFDRSBtb3Zl cyB0aGUgaGVhcCBvbmx5OyB0aGUgaW5kZXhlcyBrZWVwIHRoZWlyIGZpbGVzCistLSB1bmxlc3Mg dGhlIHRhYmxlIGlzIG1vZGlmaWVkIGxhdGVyIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLCBpbiB3 aGljaCBjYXNlCistLSB0aGV5IGdldCBuZXcgZmlsZXMgdG9vLCBzbyB0aGF0IGEgcm9sbGJhY2sg ZGlzY2FyZHMgYWxsIG9mIHRoZW0gdG9nZXRoZXIuCitDUkVBVEUgVEFCTEUgdGJzcGFjZV9yb2xs YmFjayAoYSBpbnQpOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJh dGVfc2VyaWVzKDEsIDEwMCk7CitDUkVBVEUgSU5ERVggdGJzcGFjZV9yb2xsYmFja19pZHggT04g dGJzcGFjZV9yb2xsYmFjayAoYSk7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9y b2xsYmFja19pZHgnKSBBUyBpZHhfc2l6ZV9iZWZvcmUgXGdzZXQKK1NFTEVDVCBwZ19yZWxhdGlv bl9maWxlcGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSBBUyBpZHhfcGF0aF9iZWZvcmUgXGdz ZXQKKy0tIHRoZSBtb3ZlIGFsb25lIGxlYXZlcyB0aGUgaW5kZXggZmlsZSB1bnRvdWNoZWQKK0FM VEVSIFRBQkxFIHRic3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFj ZTsKK1NFTEVDVCBwZ19yZWxhdGlvbl9maWxlcGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA9 IDonaWR4X3BhdGhfYmVmb3JlJyBBUyBpZHhfdW50b3VjaGVkOworIGlkeF91bnRvdWNoZWQgCist LS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKKy0tIHJvd3MgaW5zZXJ0ZWQgYWZ0ZXIgdGhl IG1vdmU6IGVub3VnaCB0byBncm93IHRoZSBpbmRleCBieSBhdCBsZWFzdCBhIHBhZ2UKK0JFR0lO OworQUxURVIgVEFCTEUgdGJzcGFjZV9yb2xsYmFjayBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0 OworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEw MSwgMjAwMCk7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgn KSA+IDppZHhfc2l6ZV9iZWZvcmUgQVMgaWR4X2dyZXc7CisgaWR4X2dyZXcgCistLS0tLS0tLS0t CisgdAorKDEgcm93KQorCitST0xMQkFDSzsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNw YWNlX3JvbGxiYWNrX2lkeCcpID0gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfc2l6ZV9yZXN0b3Jl ZDsKKyBpZHhfc2l6ZV9yZXN0b3JlZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cp CisKKy0tIHRoZSBzYW1lIGFjcm9zcyBhIHN1YnRyYW5zYWN0aW9uCitCRUdJTjsKK0FMVEVSIFRB QkxFIHRic3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKK1NBVkVQT0lO VCBzOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVz KDEwMSwgMjAwMCk7CitST0xMQkFDSyBUTyBzOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFj ayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEwMSwgMjAwMCk7CitST0xMQkFDSzsKK1NFTEVDVCBw Z19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID0gOmlkeF9zaXplX2JlZm9y ZSBBUyBpZHhfc2l6ZV9yZXN0b3JlZDsKKyBpZHhfc2l6ZV9yZXN0b3JlZCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0KKyB0CisoMSByb3cpCisKKy0tIFRSVU5DQVRFIGFmdGVyIHRoZSBtb3ZlIGlzIGRv bmUgaW4gcGxhY2U7IGl0IG11c3Qgbm90IHRydW5jYXRlIHRoZSBvbGQgZmlsZQorQkVHSU47CitB TFRFUiBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitU UlVOQ0FURSB0YnNwYWNlX3JvbGxiYWNrOworUk9MTEJBQ0s7CitTRUxFQ1QgcGdfcmVsYXRpb25f c2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA9IDppZHhfc2l6ZV9iZWZvcmUgQVMgaWR4X3Np emVfcmVzdG9yZWQ7CisgaWR4X3NpemVfcmVzdG9yZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tCisg dAorKDEgcm93KQorCitTRUxFQ1QgY291bnQoKikgRlJPTSB0YnNwYWNlX3JvbGxiYWNrOworIGNv dW50IAorLS0tLS0tLQorICAgMTAwCisoMSByb3cpCisKK0RST1AgVEFCTEUgdGJzcGFjZV9yb2xs YmFjazsKIEFMVEVSIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSBSRU5BTUUgVE8gcmVncmVz c190YmxzcGFjZV9yZW5hbWVkOwogQUxURVIgVEFCTEUgQUxMIElOIFRBQkxFU1BBQ0UgcmVncmVz c190YmxzcGFjZV9yZW5hbWVkIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CiBBTFRFUiBJTkRF WCBBTEwgSU4gVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQgU0VUIFRBQkxFU1BB Q0UgcGdfZGVmYXVsdDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RhYmxlc3Bh Y2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdGFibGVzcGFjZS5zcWwKaW5kZXggMDYwNjk4 MDcyZTYuLjRmYTAyNTZmYTgwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC90YWJs ZXNwYWNlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC90YWJsZXNwYWNlLnNxbApAQCAt NDIyLDYgKzQyMiw0MiBAQCBSRUlOREVYIChUQUJMRVNQQUNFIHJlZ3Jlc3NfdGJsc3BhY2UpIFRB QkxFIHRhYmxlc3BhY2VfdGFibGU7IC0tIGZhaWwKIFJFSU5ERVggKFRBQkxFU1BBQ0UgcmVncmVz c190YmxzcGFjZSwgQ09OQ1VSUkVOVExZKSBUQUJMRSB0YWJsZXNwYWNlX3RhYmxlOyAtLSBmYWls CiBSRVNFVCBST0xFOwogCistLSBBTFRFUiBUQUJMRSBTRVQgVEFCTEVTUEFDRSBtb3ZlcyB0aGUg aGVhcCBvbmx5OyB0aGUgaW5kZXhlcyBrZWVwIHRoZWlyIGZpbGVzCistLSB1bmxlc3MgdGhlIHRh YmxlIGlzIG1vZGlmaWVkIGxhdGVyIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLCBpbiB3aGljaCBj YXNlCistLSB0aGV5IGdldCBuZXcgZmlsZXMgdG9vLCBzbyB0aGF0IGEgcm9sbGJhY2sgZGlzY2Fy ZHMgYWxsIG9mIHRoZW0gdG9nZXRoZXIuCitDUkVBVEUgVEFCTEUgdGJzcGFjZV9yb2xsYmFjayAo YSBpbnQpOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2Vy aWVzKDEsIDEwMCk7CitDUkVBVEUgSU5ERVggdGJzcGFjZV9yb2xsYmFja19pZHggT04gdGJzcGFj ZV9yb2xsYmFjayAoYSk7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9yb2xsYmFj a19pZHgnKSBBUyBpZHhfc2l6ZV9iZWZvcmUgXGdzZXQKK1NFTEVDVCBwZ19yZWxhdGlvbl9maWxl cGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSBBUyBpZHhfcGF0aF9iZWZvcmUgXGdzZXQKKy0t IHRoZSBtb3ZlIGFsb25lIGxlYXZlcyB0aGUgaW5kZXggZmlsZSB1bnRvdWNoZWQKK0FMVEVSIFRB QkxFIHRic3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZTsKK1NF TEVDVCBwZ19yZWxhdGlvbl9maWxlcGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA9IDonaWR4 X3BhdGhfYmVmb3JlJyBBUyBpZHhfdW50b3VjaGVkOworLS0gcm93cyBpbnNlcnRlZCBhZnRlciB0 aGUgbW92ZTogZW5vdWdoIHRvIGdyb3cgdGhlIGluZGV4IGJ5IGF0IGxlYXN0IGEgcGFnZQorQkVH SU47CitBTFRFUiBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1 bHQ7CitJTlNFUlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMo MTAxLCAyMDAwKTsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lk eCcpID4gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfZ3JldzsKK1JPTExCQUNLOworU0VMRUNUIHBn X3JlbGF0aW9uX3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4JykgPSA6aWR4X3NpemVfYmVmb3Jl IEFTIGlkeF9zaXplX3Jlc3RvcmVkOworLS0gdGhlIHNhbWUgYWNyb3NzIGEgc3VidHJhbnNhY3Rp b24KK0JFR0lOOworQUxURVIgVEFCTEUgdGJzcGFjZV9yb2xsYmFjayBTRVQgVEFCTEVTUEFDRSBw Z19kZWZhdWx0OworU0FWRVBPSU5UIHM7CitJTlNFUlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNF TEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1JPTExCQUNLIFRPIHM7CitJTlNFUlQg SU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsK K1JPTExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9uX3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4 JykgPSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9zaXplX3Jlc3RvcmVkOworLS0gVFJVTkNBVEUg YWZ0ZXIgdGhlIG1vdmUgaXMgZG9uZSBpbiBwbGFjZTsgaXQgbXVzdCBub3QgdHJ1bmNhdGUgdGhl IG9sZCBmaWxlCitCRUdJTjsKK0FMVEVSIFRBQkxFIHRic3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxF U1BBQ0UgcGdfZGVmYXVsdDsKK1RSVU5DQVRFIHRic3BhY2Vfcm9sbGJhY2s7CitST0xMQkFDSzsK K1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID0gOmlkeF9z aXplX2JlZm9yZSBBUyBpZHhfc2l6ZV9yZXN0b3JlZDsKK1NFTEVDVCBjb3VudCgqKSBGUk9NIHRi c3BhY2Vfcm9sbGJhY2s7CitEUk9QIFRBQkxFIHRic3BhY2Vfcm9sbGJhY2s7CisKIEFMVEVSIFRB QkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSBSRU5BTUUgVE8gcmVncmVzc190YmxzcGFjZV9yZW5h bWVkOwogCiBBTFRFUiBUQUJMRSBBTEwgSU4gVEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlX3Jl bmFtZWQgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKLS0gCjIuNTUuMAoK --===============0186668659675094221== Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0*=us-ascii''v4-REL_14-0001-Fix-index-corruption-after-rolling-back; filename*1*=-ALTER-TAB.patch.txt MIME-Version: 1.0 RnJvbSAyOTJhOGQxZGJiZDhiZDQyOTVhMmRhMmE0NTU4NTNjZmZiMWNiMTkyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYW51ZWwgUmV5ZXMgQnJhdm8gPG1hbnVlbHJleWVzYnJhdm9A Z21haWwuY29tPgpEYXRlOiBGcmksIDIgT2N0IDIwMjYgMTE6MjA6MjMgLTAzMDAKU3ViamVjdDog W1BBVENIXSBGaXggaW5kZXggY29ycnVwdGlvbiBhZnRlciByb2xsaW5nIGJhY2sgQUxURVIgVEFC TEUgU0VUCiBUQUJMRVNQQUNFCgpBTFRFUiBUQUJMRSAuLi4gU0VUIFRBQkxFU1BBQ0UgcmV3cml0 ZXMgYSB0YWJsZSdzIGhlYXAgdG8gYSBuZXcKcmVsZmlsZW5vZGUgYnV0IGxlYXZlcyB0aGUgdGFi bGUncyBpbmRleGVzIG9uIHRoZWlyIGV4aXN0aW5nCnJlbGZpbGVub2Rlcy4gIFRoZSB0d28gdGhl biByb2xsIGJhY2sgYnkgZGlmZmVyZW50IG1lY2hhbmlzbXM6IG9uIGFib3J0CnRoZSBoZWFwJ3Mg bmV3IGZpbGUgaXMgZGlzY2FyZGVkLCBmcmVlaW5nIHRoZSBoZWFwIFRJRHMgY29uc3VtZWQgYnkg cm93cwppbnNlcnRlZCBhZnRlciB0aGUgU0VUIFRBQkxFU1BBQ0UsIHdoaWxlIHRoZSBpbmRleCBl bnRyaWVzIGZvciB0aG9zZSByb3dzCndlcmUgd3JpdHRlbiB0byB0aGUgdW5jaGFuZ2VkIGluZGV4 IGZpbGVzIGFuZCBzdXJ2aXZlLiAgQSBsYXRlciBpbnNlcnQKY2FuIHJldXNlIGEgZnJlZWQgaGVh cCBUSUQsIGxlYXZpbmcgdHdvIGluZGV4IGVudHJpZXMgdGhhdCBwb2ludCBhdCB0aGUKc2FtZSBs aXZlIGhlYXAgdHVwbGUuICBUaGlzIHN1cmZhY2VzIGFzIGEgX2J0X3Bvc3RpbmdfdmFsaWQgYXNz ZXJ0aW9uCmZhaWx1cmUgaW4gbmJ0cmVlIGRlZHVwbGljYXRpb24sIGFuZCBhcyBkdXBsaWNhdGUg cm93cyB0aHJvdWdoIGFuCmluZGV4LW9ubHkgc2NhbiBpbiBnaXN0LiAgQSBUUlVOQ0FURSBhZnRl ciB0aGUgbW92ZSBpbiB0aGUgc2FtZQp0cmFuc2FjdGlvbiBoYXMgYSBzaW1pbGFyIHByb2JsZW06 IGl0IHRydW5jYXRlcyB0aGUgb2xkIGluZGV4IGZpbGVzIGluCnBsYWNlLCB3aGljaCBhIHJvbGxi YWNrIGNhbm5vdCB1bmRvLgoKVGhlIGluZGV4ZXMgb25seSBuZWVkIHRvIHNoYXJlIHRoZSBoZWFw J3MgcmV3cml0ZSB3aGVuIHRoZSB0YWJsZSBpcwptb2RpZmllZCBhZ2FpbiBpbiB0aGUgc2FtZSB0 cmFuc2FjdGlvbiwgd2hpY2ggaXMgYWxzbyB0aGUgb25seSB0aW1lIHRoZQpjb3JydXB0aW9uIGNh biBhcmlzZS4gIFNvIGxlYXZlIFNFVCBUQUJMRVNQQUNFIGl0c2VsZiBhbG9uZSwgYW5kIGdpdmUg YW4KaW5kZXggYSBuZXcgcmVsZmlsZW51bWJlciAtLSBjb3B5aW5nIGl0IHdpdGhpbiBpdHMgb3du IHRhYmxlc3BhY2UsIGFzCmRvY3VtZW50ZWQsIHRoZSBpbmRleGVzIHN0YXkgd2hlcmUgdGhleSBh cmUgLS0gd2hlbiB0aGUgZXhlY3V0b3Igb3BlbnMKaXQgdG8gbW9kaWZ5IGEgdGFibGUgd2hvc2Ug c3RvcmFnZSB3YXMgcmVwbGFjZWQgaW4gdGhlIGN1cnJlbnQKdHJhbnNhY3Rpb24sIGFuZCBiZWZv cmUgYW4gaW4tcGxhY2UgVFJVTkNBVEUgb2Ygc3VjaCBhIHRhYmxlLiAgVGhlIEFMVEVSCmFsb25l IGluIGl0cyB0cmFuc2FjdGlvbiwgdGhlIGNvbW1vbiBjYXNlLCBjb3BpZXMgbm90aGluZyBhbmQg bmVlZHMgbm8KZXh0cmEgc3BhY2Ugd2hlcmUgdGhlIGluZGV4ZXMgbGl2ZS4KClRoZSByZWdyZXNz aW9uIHRlc3QgY2hlY2tzIHRoYXQgdGhlIG1vdmUgYWxvbmUgbGVhdmVzIHRoZSBpbmRleCBmaWxl CnVudG91Y2hlZCwgYW5kIHRoYXQgYWZ0ZXIgaW5zZXJ0aW5nIGVub3VnaCByb3dzIGluc2lkZSB0 aGUgdHJhbnNhY3Rpb24KdG8gZ3JvdyB0aGUgaW5kZXgsIHdpdGggYW5kIHdpdGhvdXQgYSBzdWJ0 cmFuc2FjdGlvbiwgb3IgdHJ1bmNhdGluZyB0aGUKdGFibGUsIGEgcm9sbGJhY2sgbGVhdmVzIHRo ZSBpbmRleCBmaWxlIGF0IGl0cyBwcmUtdHJhbnNhY3Rpb24gc2l6ZS4KCkJ1ZzogIzE5Njg2ClJl cG9ydGVkLWJ5OiBBbGV4YW5kZXIgTGFraGluClJldmlld2VkLWJ5OiBBbGV4YW5kcmUgRmVsaXBl ClJldmlld2VkLWJ5OiBTaGloYW8gWmhvbmcKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJs ZWNtZHMuYyAgICAgICAgICB8IDkzICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjSW5kZXhpbmcuYyAgICAgICB8ICA5ICsrKwogc3JjL2luY2x1ZGUvY29t bWFuZHMvdGFibGVjbWRzLmggICAgICAgICAgfCAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2lucHV0 L3RhYmxlc3BhY2Uuc291cmNlICB8IDM2ICsrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9vdXRw dXQvdGFibGVzcGFjZS5zb3VyY2UgfCA2NSArKysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5n ZWQsIDIwNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCBlNDQ1 YjgwMWE2Yi4uZWVlMTI5OTE2YmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Rh YmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xOTc3 LDYgKzE5NzcsMjQgQEAgRXhlY3V0ZVRydW5jYXRlR3V0cyhMaXN0ICpleHBsaWNpdF9yZWxzLAog CQlpZiAocmVsLT5yZF9jcmVhdGVTdWJpZCA9PSBteVN1YmlkIHx8CiAJCQlyZWwtPnJkX25ld1Jl bGZpbGVub2RlU3ViaWQgPT0gbXlTdWJpZCkKIAkJeworCQkJTGlzdAkgICAqaW5kZXhJZHMgPSBS ZWxhdGlvbkdldEluZGV4TGlzdChyZWwpOworCQkJTGlzdENlbGwgICAqaWM7CisKKwkJCS8qCisJ CQkgKiBUaGUgaW4tcGxhY2UgdHJ1bmNhdGlvbiBiZWxvdyBhbHNvIHRydW5jYXRlcyB0aGUgaW5k ZXhlcyBpbgorCQkJICogcGxhY2UuICBBbiBpbmRleCBzdGlsbCBvbiB0aGUgZmlsZSBpdCBoYWQg YmVmb3JlIHRoaXMKKwkJCSAqIHRyYW5zYWN0aW9uIChTRVQgVEFCTEVTUEFDRSBsZWF2ZXMgdGhl bSBzbykgbXVzdCBnZXQgYSBuZXcgb25lCisJCQkgKiBmaXJzdCwgb3IgYSByb2xsYmFjayBjb3Vs ZCBub3QgcmVzdG9yZSBpdC4KKwkJCSAqLworCQkJZm9yZWFjaChpYywgaW5kZXhJZHMpCisJCQl7 CisJCQkJUmVsYXRpb24JaW5kZXhSZWwgPSBpbmRleF9vcGVuKGxmaXJzdF9vaWQoaWMpLCBBY2Nl c3NFeGNsdXNpdmVMb2NrKTsKKworCQkJCUluZGV4Rm9sbG93SGVhcFJlbGZpbGVub2RlKHJlbCwg aW5kZXhSZWwpOworCQkJCWluZGV4X2Nsb3NlKGluZGV4UmVsLCBOb0xvY2spOworCQkJfQorCQkJ bGlzdF9mcmVlKGluZGV4SWRzKTsKKwogCQkJLyogSW1tZWRpYXRlLCBub24tcm9sbGJhY2thYmxl IHRydW5jYXRpb24gaXMgT0sgKi8KIAkJCWhlYXBfdHJ1bmNhdGVfb25lX3JlbChyZWwpOwogCQl9 CkBAIC0xNDU0Nyw2ICsxNDU2NSw4MSBAQCBpbmRleF9jb3B5X2RhdGEoUmVsYXRpb24gcmVsLCBS ZWxGaWxlTm9kZSBuZXdybm9kZSkKIAlzbWdyY2xvc2UoZHN0cmVsKTsKIH0KIAorLyoKKyAqIElu ZGV4Rm9sbG93SGVhcFJlbGZpbGVub2RlCisgKgorICogQUxURVIgVEFCTEUgU0VUIFRBQkxFU1BB Q0UgZ2l2ZXMgYSB0YWJsZSdzIGhlYXAgYSBuZXcgcmVsZmlsZW5vZGUgYnV0CisgKiBsZWF2ZXMg dGhlIHRhYmxlJ3MgaW5kZXhlcyBvbiB0aGVpciBvbGQgZmlsZXMsIHNpbmNlIHRoZSBpbmRleGVz IGFyZQorICogZG9jdW1lbnRlZCB0byBzdGF5IHdoZXJlIHRoZXkgYXJlLiAgVGhhdCBtaXggaXMg ZmluZSB1bnRpbCB0aGUgdGFibGUgaXMKKyAqIG1vZGlmaWVkIGFnYWluIGluIHRoZSBzYW1lIHRy YW5zYWN0aW9uOiBvbiBhYm9ydCB0aGUgaGVhcCdzIG5ldyBmaWxlIGlzCisgKiBkaXNjYXJkZWQs IGZyZWVpbmcgdGhlIGhlYXAgVElEcyB1c2VkIGJ5IHJvd3MgaW5zZXJ0ZWQgYWZ0ZXIgdGhlIG1v dmUsCisgKiB3aGlsZSB0aGUgaW5kZXggZW50cmllcyBmb3IgdGhvc2Ugcm93cyB3ZXJlIHdyaXR0 ZW4gdG8gdGhlIG9sZCBpbmRleCBmaWxlcworICogYW5kIHN1cnZpdmUsIHNvIGEgbGF0ZXIgaW5z ZXJ0IGNhbiByZXVzZSBhIGZyZWVkIFRJRCBhbmQgbGVhdmUgdHdvIGluZGV4CisgKiBlbnRyaWVz IHBvaW50aW5nIGF0IG9uZSBsaXZlIHR1cGxlLgorICoKKyAqIFNvLCBiZWZvcmUgYW4gaW5kZXgg aXMgbW9kaWZpZWQgKG9yIHRydW5jYXRlZCBpbiBwbGFjZSkgaW4gYSB0cmFuc2FjdGlvbgorICog dGhhdCByZXBsYWNlZCBpdHMgaGVhcCdzIHN0b3JhZ2UsIGdpdmUgdGhlIGluZGV4IGEgbmV3IHJl bGZpbGVub2RlIHRvbywKKyAqIGNvcHlpbmcgaXQgd2l0aGluIGl0cyBvd24gdGFibGVzcGFjZTog YW4gYWJvcnQgdGhlbiBkaXNjYXJkcyB0aGUgbmV3IGhlYXAKKyAqIGFuZCBpbmRleCBmaWxlcyB0 b2dldGhlci4gIERvaW5nIHRoaXMgaGVyZSByYXRoZXIgdGhhbiBpbiBTRVQgVEFCTEVTUEFDRQor ICogaXRzZWxmIGtlZXBzIHRoZSBjb21tb24gY2FzZSAtLSB0aGUgQUxURVIgYWxvbmUgaW4gaXRz IHRyYW5zYWN0aW9uIC0tCisgKiBmcmVlIG9mIGFueSBjb3B5LCBzbyBpdCBuZWVkcyBubyBleHRy YSBzcGFjZSB3aGVyZSB0aGUgaW5kZXhlcyBsaXZlLgorICoKKyAqIHJkX2ZpcnN0UmVsZmlsZW5v ZGVTdWJpZCBzYXlzIHdoZXRoZXIgYSByZWxhdGlvbidzIHN0b3JhZ2UgZGlmZmVycyBmcm9tCisg KiB3aGF0IGl0IHdhcyBhdCB0aGUgc3RhcnQgb2YgdGhlIHRvcCB0cmFuc2FjdGlvbjsgaXQgaXMg a2VwdCBhY2N1cmF0ZSBmb3IKKyAqIFJlbGF0aW9uTmVlZHNXQUwoKS4gIEFuIGluZGV4IGNyZWF0 ZWQsIG9yIGdpdmVuIGEgbmV3IGZpbGUsIGluIHRoaXMKKyAqIHRyYW5zYWN0aW9uIGFscmVhZHkg c2hhcmVzIHRoZSBoZWFwJ3MgZmF0ZSBhbmQgaXMgbGVmdCBhbG9uZS4KKyAqLwordm9pZAorSW5k ZXhGb2xsb3dIZWFwUmVsZmlsZW5vZGUoUmVsYXRpb24gaGVhcFJlbCwgUmVsYXRpb24gaW5kZXhS ZWwpCit7CisJT2lkCQkJbmV3cmVsZmlsZW5vZGU7CisJUmVsRmlsZU5vZGUgbmV3cm5vZGU7CisJ UmVsYXRpb24JcGdfY2xhc3M7CisJSGVhcFR1cGxlCXR1cGxlOworCUl0ZW1Qb2ludGVyRGF0YSBv dGlkOworCUZvcm1fcGdfY2xhc3MgcmRfcmVsOworCisJaWYgKGhlYXBSZWwtPnJkX2ZpcnN0UmVs ZmlsZW5vZGVTdWJpZCA9PSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZCB8fAorCQlpbmRleFJlbC0+ cmRfZmlyc3RSZWxmaWxlbm9kZVN1YmlkICE9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkIHx8CisJ CWluZGV4UmVsLT5yZF9jcmVhdGVTdWJpZCAhPSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZCkKKwkJ cmV0dXJuOworCisJLyogT25seSBwbGFpbiBpbmRleGVzIGhhdmUgc3RvcmFnZSB0aGF0IGNhbiBo b2xkIHRoZSBzdGFsZSBlbnRyaWVzLiAqLworCWlmIChpbmRleFJlbC0+cmRfcmVsLT5yZWxraW5k ICE9IFJFTEtJTkRfSU5ERVggfHwKKwkJIVJFTEtJTkRfSEFTX1NUT1JBR0UoaW5kZXhSZWwtPnJk X3JlbC0+cmVsa2luZCkpCisJCXJldHVybjsKKworCS8qIEFsbG9jYXRlIGEgbmV3IHJlbGZpbGVu b2RlIGluIHRoZSBpbmRleCdzIGN1cnJlbnQgdGFibGVzcGFjZS4gKi8KKwluZXdyZWxmaWxlbm9k ZSA9IEdldE5ld1JlbEZpbGVOb2RlKGluZGV4UmVsLT5yZF9yZWwtPnJlbHRhYmxlc3BhY2UsIE5V TEwsCisJCQkJCQkJCQkJICAgaW5kZXhSZWwtPnJkX3JlbC0+cmVscGVyc2lzdGVuY2UpOworCW5l d3Jub2RlID0gaW5kZXhSZWwtPnJkX25vZGU7CisJbmV3cm5vZGUucmVsTm9kZSA9IG5ld3JlbGZp bGVub2RlOworCisJLyogQ29weSB0aGUgaW5kZXggaW50byB0aGUgbmV3IGZpbGUgYW5kIHNjaGVk dWxlIHRoZSBvbGQgb25lIGZvciBjbGVhbnVwLiAqLworCWluZGV4X2NvcHlfZGF0YShpbmRleFJl bCwgbmV3cm5vZGUpOworCisJLyogVXBkYXRlIHRoZSBwZ19jbGFzcyByb3c7IG9ubHkgdGhlIHJl bGZpbGVub2RlIGNoYW5nZXMuICovCisJcGdfY2xhc3MgPSB0YWJsZV9vcGVuKFJlbGF0aW9uUmVs YXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZUxvY2tl ZENvcHkxKFJFTE9JRCwKKwkJCQkJCQkJCSAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJl bGlkKGluZGV4UmVsKSkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSkpCisJCWVsb2co RVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBpbmRleCAldSIsCisJCQkgUmVsYXRpb25H ZXRSZWxpZChpbmRleFJlbCkpOworCW90aWQgPSB0dXBsZS0+dF9zZWxmOworCXJkX3JlbCA9IChG b3JtX3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUpOworCXJkX3JlbC0+cmVsZmlsZW5vZGUgPSBu ZXdyZWxmaWxlbm9kZTsKKwlDYXRhbG9nVHVwbGVVcGRhdGUocGdfY2xhc3MsICZvdGlkLCB0dXBs ZSk7CisJVW5sb2NrVHVwbGUocGdfY2xhc3MsICZvdGlkLCBJbnBsYWNlVXBkYXRlVHVwbGVMb2Nr KTsKKwloZWFwX2ZyZWV0dXBsZSh0dXBsZSk7CisJdGFibGVfY2xvc2UocGdfY2xhc3MsIFJvd0V4 Y2x1c2l2ZUxvY2spOworCisJSW52b2tlT2JqZWN0UG9zdEFsdGVySG9vayhSZWxhdGlvblJlbGF0 aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQoaW5kZXhSZWwpLCAwKTsKKwlSZWxhdGlvbkFzc3VtZU5l d1JlbGZpbGVub2RlKGluZGV4UmVsKTsKKworCS8qIE1ha2UgdGhlIHJlbGZpbGVub2RlIGNoYW5n ZSB2aXNpYmxlLiAqLworCUNvbW1hbmRDb3VudGVySW5jcmVtZW50KCk7Cit9CisKIC8qCiAgKiBB TFRFUiBUQUJMRSBFTkFCTEUvRElTQUJMRSBUUklHR0VSCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvZXhlY3V0b3IvZXhlY0luZGV4aW5nLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVj SW5kZXhpbmcuYwppbmRleCAxOTExODA1MTQxMi4uNDE1N2JlOTYwNDUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNJbmRleGluZy5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL2V4ZWNJbmRleGluZy5jCkBAIC0xMTEsNiArMTExLDcgQEAKICNpbmNsdWRlICJhY2Nlc3Mv dGFibGVhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9p bmRleC5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3RhYmxlY21kcy5oIgogI2luY2x1ZGUgImV4ZWN1 dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAibm9kZXMvbm9kZUZ1bmNzLmgiCiAjaW5jbHVkZSAi c3RvcmFnZS9sbWdyLmgiCkBAIC0xOTgsNiArMTk5LDE0IEBAIEV4ZWNPcGVuSW5kaWNlcyhSZXN1 bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLCBib29sIHNwZWN1bGF0aXZlKQogCiAJCWluZGV4RGVz YyA9IGluZGV4X29wZW4oaW5kZXhPaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOwogCisJCS8qCisJCSAq IElmIHRoZSB0YWJsZSdzIHN0b3JhZ2Ugd2FzIHJlcGxhY2VkIGVhcmxpZXIgaW4gdGhpcyB0cmFu c2FjdGlvbgorCQkgKiB3aGlsZSB0aGUgaW5kZXgga2VwdCBpdHMgb2xkIGZpbGUgKEFMVEVSIFRB QkxFIFNFVCBUQUJMRVNQQUNFIG1vdmVzCisJCSAqIHRoZSBoZWFwIG9ubHkpLCB0aGUgaW5kZXgg bXVzdCBnZXQgYSBuZXcgZmlsZSB0b28gYmVmb3JlIHdlIHdyaXRlCisJCSAqIHRvIGl0LCBzbyB0 aGF0IGFuIGFib3J0IGRpc2NhcmRzIGJvdGggdG9nZXRoZXIuCisJCSAqLworCQlJbmRleEZvbGxv d0hlYXBSZWxmaWxlbm9kZShyZXN1bHRSZWxhdGlvbiwgaW5kZXhEZXNjKTsKKwogCQkvKiBleHRy YWN0IGluZGV4IGtleSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbmRleCdzIHBnX2luZGV4IGluZm8g Ki8KIAkJaWkgPSBCdWlsZEluZGV4SW5mbyhpbmRleERlc2MpOwogCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxl Y21kcy5oCmluZGV4IDMzNjU0OWNjNWYwLi5kNmYyNGVhYjJkNyAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFi bGVjbWRzLmgKQEAgLTY1LDYgKzY1LDcgQEAgZXh0ZXJuIHZvaWQgRXhlY3V0ZVRydW5jYXRlR3V0 cyhMaXN0ICpleHBsaWNpdF9yZWxzLAogZXh0ZXJuIHZvaWQgU2V0UmVsYXRpb25IYXNTdWJjbGFz cyhPaWQgcmVsYXRpb25JZCwgYm9vbCByZWxoYXNzdWJjbGFzcyk7CiAKIGV4dGVybiBib29sIENo ZWNrUmVsYXRpb25UYWJsZVNwYWNlTW92ZShSZWxhdGlvbiByZWwsIE9pZCBuZXdUYWJsZVNwYWNl SWQpOworZXh0ZXJuIHZvaWQgSW5kZXhGb2xsb3dIZWFwUmVsZmlsZW5vZGUoUmVsYXRpb24gaGVh cFJlbCwgUmVsYXRpb24gaW5kZXhSZWwpOwogZXh0ZXJuIHZvaWQgU2V0UmVsYXRpb25UYWJsZVNw YWNlKFJlbGF0aW9uIHJlbCwgT2lkIG5ld1RhYmxlU3BhY2VJZCwKIAkJCQkJCQkJICBPaWQgbmV3 UmVsRmlsZU5vZGUpOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2lucHV0L3RhYmxl c3BhY2Uuc291cmNlIGIvc3JjL3Rlc3QvcmVncmVzcy9pbnB1dC90YWJsZXNwYWNlLnNvdXJjZQpp bmRleCBmZDAwM2Q4MDVlNy4uM2UwNWU4MjE0M2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvaW5wdXQvdGFibGVzcGFjZS5zb3VyY2UKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9pbnB1dC90 YWJsZXNwYWNlLnNvdXJjZQpAQCAtNDAwLDYgKzQwMCw0MiBAQCBSRUlOREVYIChUQUJMRVNQQUNF IHJlZ3Jlc3NfdGJsc3BhY2UpIFRBQkxFIHRhYmxlc3BhY2VfdGFibGU7IC0tIGZhaWwKIFJFSU5E RVggKFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSwgQ09OQ1VSUkVOVExZKSBUQUJMRSB0YWJs ZXNwYWNlX3RhYmxlOyAtLSBmYWlsCiBSRVNFVCBST0xFOwogCistLSBBTFRFUiBUQUJMRSBTRVQg VEFCTEVTUEFDRSBtb3ZlcyB0aGUgaGVhcCBvbmx5OyB0aGUgaW5kZXhlcyBrZWVwIHRoZWlyIGZp bGVzCistLSB1bmxlc3MgdGhlIHRhYmxlIGlzIG1vZGlmaWVkIGxhdGVyIGluIHRoZSBzYW1lIHRy YW5zYWN0aW9uLCBpbiB3aGljaCBjYXNlCistLSB0aGV5IGdldCBuZXcgZmlsZXMgdG9vLCBzbyB0 aGF0IGEgcm9sbGJhY2sgZGlzY2FyZHMgYWxsIG9mIHRoZW0gdG9nZXRoZXIuCitDUkVBVEUgVEFC TEUgdGJzcGFjZV9yb2xsYmFjayAoYSBpbnQpOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFj ayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMCk7CitDUkVBVEUgSU5ERVggdGJzcGFjZV9y b2xsYmFja19pZHggT04gdGJzcGFjZV9yb2xsYmFjayAoYSk7CitTRUxFQ1QgcGdfcmVsYXRpb25f c2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgnKSBBUyBpZHhfc2l6ZV9iZWZvcmUgXGdzZXQKK1NF TEVDVCBwZ19yZWxhdGlvbl9maWxlcGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSBBUyBpZHhf cGF0aF9iZWZvcmUgXGdzZXQKKy0tIHRoZSBtb3ZlIGFsb25lIGxlYXZlcyB0aGUgaW5kZXggZmls ZSB1bnRvdWNoZWQKK0FMVEVSIFRBQkxFIHRic3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0Ug cmVncmVzc190YmxzcGFjZTsKK1NFTEVDVCBwZ19yZWxhdGlvbl9maWxlcGF0aCgndGJzcGFjZV9y b2xsYmFja19pZHgnKSA9IDonaWR4X3BhdGhfYmVmb3JlJyBBUyBpZHhfdW50b3VjaGVkOworLS0g cm93cyBpbnNlcnRlZCBhZnRlciB0aGUgbW92ZTogZW5vdWdoIHRvIGdyb3cgdGhlIGluZGV4IGJ5 IGF0IGxlYXN0IGEgcGFnZQorQkVHSU47CitBTFRFUiBUQUJMRSB0YnNwYWNlX3JvbGxiYWNrIFNF VCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitJTlNFUlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNF TEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXpl KCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID4gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfZ3JldzsK K1JPTExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9uX3NpemUoJ3Ric3BhY2Vfcm9sbGJhY2tfaWR4 JykgPSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9zaXplX3Jlc3RvcmVkOworLS0gdGhlIHNhbWUg YWNyb3NzIGEgc3VidHJhbnNhY3Rpb24KK0JFR0lOOworQUxURVIgVEFCTEUgdGJzcGFjZV9yb2xs YmFjayBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0OworU0FWRVBPSU5UIHM7CitJTlNFUlQgSU5U TyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1JP TExCQUNLIFRPIHM7CitJTlNFUlQgSU5UTyB0YnNwYWNlX3JvbGxiYWNrIFNFTEVDVCBnZW5lcmF0 ZV9zZXJpZXMoMTAxLCAyMDAwKTsKK1JPTExCQUNLOworU0VMRUNUIHBnX3JlbGF0aW9uX3NpemUo J3Ric3BhY2Vfcm9sbGJhY2tfaWR4JykgPSA6aWR4X3NpemVfYmVmb3JlIEFTIGlkeF9zaXplX3Jl c3RvcmVkOworLS0gVFJVTkNBVEUgYWZ0ZXIgdGhlIG1vdmUgaXMgZG9uZSBpbiBwbGFjZTsgaXQg bXVzdCBub3QgdHJ1bmNhdGUgdGhlIG9sZCBmaWxlCitCRUdJTjsKK0FMVEVSIFRBQkxFIHRic3Bh Y2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKK1RSVU5DQVRFIHRic3BhY2Vf cm9sbGJhY2s7CitST0xMQkFDSzsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3Jv bGxiYWNrX2lkeCcpID0gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfc2l6ZV9yZXN0b3JlZDsKK1NF TEVDVCBjb3VudCgqKSBGUk9NIHRic3BhY2Vfcm9sbGJhY2s7CitEUk9QIFRBQkxFIHRic3BhY2Vf cm9sbGJhY2s7CisKIEFMVEVSIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSBSRU5BTUUgVE8g cmVncmVzc190YmxzcGFjZV9yZW5hbWVkOwogCiBBTFRFUiBUQUJMRSBBTEwgSU4gVEFCTEVTUEFD RSByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvb3V0cHV0L3RhYmxlc3BhY2Uuc291cmNlIGIvc3Jj L3Rlc3QvcmVncmVzcy9vdXRwdXQvdGFibGVzcGFjZS5zb3VyY2UKaW5kZXggMWI2MGI5OWZmM2Uu LjI0MThiODVkNGU0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL291dHB1dC90YWJsZXNw YWNlLnNvdXJjZQorKysgYi9zcmMvdGVzdC9yZWdyZXNzL291dHB1dC90YWJsZXNwYWNlLnNvdXJj ZQpAQCAtOTIxLDYgKzkyMSw3MSBAQCBFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJs ZXNwYWNlIHJlZ3Jlc3NfdGJsc3BhY2UKIFJFSU5ERVggKFRBQkxFU1BBQ0UgcmVncmVzc190Ymxz cGFjZSwgQ09OQ1VSUkVOVExZKSBUQUJMRSB0YWJsZXNwYWNlX3RhYmxlOyAtLSBmYWlsCiBFUlJP UjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZXNwYWNlIHJlZ3Jlc3NfdGJsc3BhY2UKIFJF U0VUIFJPTEU7CistLSBBTFRFUiBUQUJMRSBTRVQgVEFCTEVTUEFDRSBtb3ZlcyB0aGUgaGVhcCBv bmx5OyB0aGUgaW5kZXhlcyBrZWVwIHRoZWlyIGZpbGVzCistLSB1bmxlc3MgdGhlIHRhYmxlIGlz IG1vZGlmaWVkIGxhdGVyIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLCBpbiB3aGljaCBjYXNlCist LSB0aGV5IGdldCBuZXcgZmlsZXMgdG9vLCBzbyB0aGF0IGEgcm9sbGJhY2sgZGlzY2FyZHMgYWxs IG9mIHRoZW0gdG9nZXRoZXIuCitDUkVBVEUgVEFCTEUgdGJzcGFjZV9yb2xsYmFjayAoYSBpbnQp OworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEs IDEwMCk7CitDUkVBVEUgSU5ERVggdGJzcGFjZV9yb2xsYmFja19pZHggT04gdGJzcGFjZV9yb2xs YmFjayAoYSk7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgn KSBBUyBpZHhfc2l6ZV9iZWZvcmUgXGdzZXQKK1NFTEVDVCBwZ19yZWxhdGlvbl9maWxlcGF0aCgn dGJzcGFjZV9yb2xsYmFja19pZHgnKSBBUyBpZHhfcGF0aF9iZWZvcmUgXGdzZXQKKy0tIHRoZSBt b3ZlIGFsb25lIGxlYXZlcyB0aGUgaW5kZXggZmlsZSB1bnRvdWNoZWQKK0FMVEVSIFRBQkxFIHRi c3BhY2Vfcm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZTsKK1NFTEVDVCBw Z19yZWxhdGlvbl9maWxlcGF0aCgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA9IDonaWR4X3BhdGhf YmVmb3JlJyBBUyBpZHhfdW50b3VjaGVkOworIGlkeF91bnRvdWNoZWQgCistLS0tLS0tLS0tLS0t LS0KKyB0CisoMSByb3cpCisKKy0tIHJvd3MgaW5zZXJ0ZWQgYWZ0ZXIgdGhlIG1vdmU6IGVub3Vn aCB0byBncm93IHRoZSBpbmRleCBieSBhdCBsZWFzdCBhIHBhZ2UKK0JFR0lOOworQUxURVIgVEFC TEUgdGJzcGFjZV9yb2xsYmFjayBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0OworSU5TRVJUIElO VE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEwMSwgMjAwMCk7CitT RUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFjZV9yb2xsYmFja19pZHgnKSA+IDppZHhfc2l6 ZV9iZWZvcmUgQVMgaWR4X2dyZXc7CisgaWR4X2dyZXcgCistLS0tLS0tLS0tCisgdAorKDEgcm93 KQorCitST0xMQkFDSzsKK1NFTEVDVCBwZ19yZWxhdGlvbl9zaXplKCd0YnNwYWNlX3JvbGxiYWNr X2lkeCcpID0gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfc2l6ZV9yZXN0b3JlZDsKKyBpZHhfc2l6 ZV9yZXN0b3JlZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKKy0tIHRoZSBz YW1lIGFjcm9zcyBhIHN1YnRyYW5zYWN0aW9uCitCRUdJTjsKK0FMVEVSIFRBQkxFIHRic3BhY2Vf cm9sbGJhY2sgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdDsKK1NBVkVQT0lOVCBzOworSU5TRVJU IElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEwMSwgMjAwMCk7 CitST0xMQkFDSyBUTyBzOworSU5TRVJUIElOVE8gdGJzcGFjZV9yb2xsYmFjayBTRUxFQ1QgZ2Vu ZXJhdGVfc2VyaWVzKDEwMSwgMjAwMCk7CitST0xMQkFDSzsKK1NFTEVDVCBwZ19yZWxhdGlvbl9z aXplKCd0YnNwYWNlX3JvbGxiYWNrX2lkeCcpID0gOmlkeF9zaXplX2JlZm9yZSBBUyBpZHhfc2l6 ZV9yZXN0b3JlZDsKKyBpZHhfc2l6ZV9yZXN0b3JlZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0 CisoMSByb3cpCisKKy0tIFRSVU5DQVRFIGFmdGVyIHRoZSBtb3ZlIGlzIGRvbmUgaW4gcGxhY2U7 IGl0IG11c3Qgbm90IHRydW5jYXRlIHRoZSBvbGQgZmlsZQorQkVHSU47CitBTFRFUiBUQUJMRSB0 YnNwYWNlX3JvbGxiYWNrIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitUUlVOQ0FURSB0YnNw YWNlX3JvbGxiYWNrOworUk9MTEJBQ0s7CitTRUxFQ1QgcGdfcmVsYXRpb25fc2l6ZSgndGJzcGFj ZV9yb2xsYmFja19pZHgnKSA9IDppZHhfc2l6ZV9iZWZvcmUgQVMgaWR4X3NpemVfcmVzdG9yZWQ7 CisgaWR4X3NpemVfcmVzdG9yZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQor CitTRUxFQ1QgY291bnQoKikgRlJPTSB0YnNwYWNlX3JvbGxiYWNrOworIGNvdW50IAorLS0tLS0t LQorICAgMTAwCisoMSByb3cpCisKK0RST1AgVEFCTEUgdGJzcGFjZV9yb2xsYmFjazsKIEFMVEVS IFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZSBSRU5BTUUgVE8gcmVncmVzc190YmxzcGFjZV9y ZW5hbWVkOwogQUxURVIgVEFCTEUgQUxMIElOIFRBQkxFU1BBQ0UgcmVncmVzc190YmxzcGFjZV9y ZW5hbWVkIFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CiBBTFRFUiBJTkRFWCBBTEwgSU4gVEFC TEVTUEFDRSByZWdyZXNzX3RibHNwYWNlX3JlbmFtZWQgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVs dDsKLS0gCjIuNTUuMAoK --===============0186668659675094221==--