From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd42.google.com (mail-io1-xd42.google.com [IPv6:2607:f8b0:4864:20::d42]) by sourceware.org (Postfix) with ESMTPS id 190A538708A4 for ; Thu, 18 Jun 2020 16:14:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 190A538708A4 Received: by mail-io1-xd42.google.com with SMTP id r2so7705959ioo.4 for ; Thu, 18 Jun 2020 09:14:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WBaAlLCSpxVqyH+D4tevwNfSiRfGOxnHPdql+rexRZE=; b=SY18g4YwfpH90BvxYIEVk5KEzG86hbvdKspC4JG3wj4/yiQ510Aol+B+We9LGUqW73 gZYobn/jYtq8t3yyPK5ouc4o906gDKeoiXZhgchHrxNOUFlMWFfAi4lbrhM1Cz6pRP8b OJSND6TacU2FdyH1ngU+J1GJ2QQ5vjszLCo3JG17Wdqqf5kXEZV6l1JTyDodxWbuyWrz RN3ekGloJRt0Ojb/eKZzv4ZTQvFSpFenSKS5wGYxntRJUVkUba7Xh33tyGi8H1YZKfgB Vx5YmOZ5KvEIscOaz2slBof5Bx5rQx5nAs1mgPvzO70lXsvBohhEStEtTCJGhN0P0CoA l8PA== X-Gm-Message-State: AOAM530lJrSTdAXi551kdWJDCv+7Zjnu/NtepjB/kIph5Q8O8Q0Gx3s7 SjiNYPLD9YuQZmCYm0canBnhngrfC2CVyVTzGeYlTVMQ X-Google-Smtp-Source: ABdhPJyJ7eTnHDgoFEGDjU1mpUviFkxGlpForXI6yD5gddStZ+0PCnGMskPhGErRD1xvmFHSJZdDVKqccYoEPB55k9U= X-Received: by 2002:a6b:39c3:: with SMTP id g186mr5587990ioa.91.1592496898554; Thu, 18 Jun 2020 09:14:58 -0700 (PDT) MIME-Version: 1.0 References: <20200617193100.1115529-1-hjl.tools@gmail.com> <87mu50rccl.fsf@oldenburg2.str.redhat.com> In-Reply-To: <87mu50rccl.fsf@oldenburg2.str.redhat.com> From: "H.J. Lu" Date: Thu, 18 Jun 2020 09:14:22 -0700 Message-ID: Subject: V2: [PATCH] x86: Install [BZ #26124] To: Florian Weimer Cc: "H.J. Lu via Libc-alpha" , Joseph Myers Content-Type: multipart/mixed; boundary="000000000000f2739705a85e13af" X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 16:15:00 -0000 --000000000000f2739705a85e13af Content-Type: text/plain; charset="UTF-8" On Thu, Jun 18, 2020 at 1:45 AM Florian Weimer wrote: > > * H. J. Lu via Libc-alpha: > > > exports only: > > > > struct cpu_features > > { > > struct cpuid_registers cpuid[COMMON_CPUID_INDEX_MAX]; > > unsigned int feature[FEATURE_INDEX_MAX]; > > struct cpu_features_basic basic; > > }; > > The struct cpu_features ABI does not appear to be stable, as I wrote on > the other thread: > > > Here is the updated patch to use struct cpu_features { struct cpu_features_basic basic; unsigned int usable[USABLE_FEATURE_INDEX_MAX]; struct cpuid_registers cpuid[COMMON_CPUID_INDEX_MAX]; }; This should be backward compatible for both .o and .so files. -- H.J. --000000000000f2739705a85e13af Content-Type: application/x-patch; name="0001-x86-Install-sys-platform-x86.h-BZ-26124.patch" Content-Disposition: attachment; filename="0001-x86-Install-sys-platform-x86.h-BZ-26124.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kbkzg2wi0 RnJvbSA4ZjRlNjk1NmExMWIwZjQzZDM2YTBjYTQ1ZDM4YzIzNDhiOWFjYjMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMTcgSnVuIDIwMjAgMDk6MTI6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSB4ODY6IElu c3RhbGwgPHN5cy9wbGF0Zm9ybS94ODYuaD4gW0JaICMyNjEyNF0KCkluc3RhbGwgPHN5cy9wbGF0 Zm9ybS94ODYuaD4gc28gdGhhdCBwcm9ncmFtbWVycyBjYW4gZG8KCiAjaWYgX19oYXNfaW5jbHVk ZSg8c3lzL3BsYXRmb3JtL3g4Ni5oPikKICNpbmNsdWRlIDxzeXMvcGxhdGZvcm0veDg2Lmg+CiAj ZW5kaWYKIC4uLgoKICAgaWYgKEhBU19DUFVfRkVBVFVSRSAoU1NFMikpCiAuLi4KICAgaWYgKENQ VV9GRUFUVVJFX1VTQUJMRSAoQVZYMikpCiAuLi4KCjxzeXMvcGxhdGZvcm0veDg2Lmg+IGV4cG9y dHMgb25seToKCnN0cnVjdCBjcHVfZmVhdHVyZXMKewogIHN0cnVjdCBjcHVfZmVhdHVyZXNfYmFz aWMgYmFzaWM7CiAgdW5zaWduZWQgaW50IHVzYWJsZVtVU0FCTEVfRkVBVFVSRV9JTkRFWF9NQVhd OwogIHN0cnVjdCBjcHVpZF9yZWdpc3RlcnMgY3B1aWRbQ09NTU9OX0NQVUlEX0lOREVYX01BWF07 Cn07CgovKiBHZXQgYSBwb2ludGVyIHRvIHRoZSBDUFUgZmVhdHVyZXMgc3RydWN0dXJlLiAgKi8K ZXh0ZXJuIGNvbnN0IHN0cnVjdCBjcHVfZmVhdHVyZXMgKl9feDg2X2dldF9jcHVfZmVhdHVyZXMg KHZvaWQpCiAgICAgX19hdHRyaWJ1dGVfXyAoKGNvbnN0KSk7CgpTaW5jZSBhbGwgZmVhdHVyZSBj aGVja3MgYXJlIGRvbmUgdGhyb3VnaCBtYWNyb3MsIHByb2dyYW1zIGNvbXBpbGVkIHdpdGgKYSBu ZXdlciA8c3lzL3BsYXRmb3JtL3g4Ni5oPiBoZWFkZXIgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUg b2xkZXIgb25lcyBhcwpsb25nIGFzIHRoZSBsYXlvdXQgb2Ygc3RydWN0IGNwdV9mZWF0dXJlcyBp cyBpZGVudGljYWwuICBDdXJyZW50bHkgdGhlcmUKYXJlIDcwIHVudXNlZCBiaXRzIGluIHRoZSB1 c2FibGUgYXJyYXkuICBUaGUgY3B1aWQgYXJyYXkgY2FuIGJlIGV4cGFuZGVkCndpdGggYmFja3dh cmQgYmluYXJ5IGNvbXBhdGliaWxpdHkgZm9yIGJvdGggLm8gYW5kIC5zbyBmaWxlcy4KCk5vdGU6 IEFsdGhvdWdoIEdDQyBoYXMgX19idWlsdGluX2NwdV9zdXBwb3J0cywgaXQgb25seSBzdXBwb3J0 cyBhIHN1YnNldApvZiA8c3lzL3BsYXRmb3JtL3g4Ni5oPi4KLS0tCiBORVdTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogbWFudWFsL3BsYXRmb3JtLnRl eGkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIzICsrKwogc3lzZGVwcy91bml4L3N5c3Yv bGludXgvaTM4Ni9sZC5hYmlsaXN0ICAgICAgIHwgICAxICsKIHN5c2RlcHMvdW5peC9zeXN2L2xp bnV4L3g4Nl82NC82NC9sZC5hYmlsaXN0ICB8ICAgMSArCiBzeXNkZXBzL3VuaXgvc3lzdi9saW51 eC94ODZfNjQveDMyL2xkLmFiaWxpc3QgfCAgIDEgKwogc3lzZGVwcy94ODYvTWFrZWZpbGUgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHN5c2RlcHMveDg2L1ZlcnNpb25zICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3lzZGVwcy94ODYvZGwtZ2V0LWNwdS1mZWF0 dXJlcy5jICAgICAgICAgICAgIHwgICA0ICstCiBzeXNkZXBzL3g4Ni9pbmNsdWRlL2NwdS1mZWF0 dXJlcy5oICAgICAgICAgICAgfCAxNjkgKysrKysrKysrKysrKysrKysrCiAuLi4ve2NwdS1mZWF0 dXJlcy5oID0+IHN5cy9wbGF0Zm9ybS94ODYuaH0gICAgfCAxMzcgKy0tLS0tLS0tLS0tLS0KIHN5 c2RlcHMveDg2L3RzdC1nZXQtY3B1LWZlYXR1cmVzLmMgICAgICAgICAgICB8ICAgNiArLQogc3lz ZGVwcy94ODZfNjQvZnB1L21hdGgtdGVzdHMtYXJjaC5oICAgICAgICAgIHwgICA4ICstCiBzeXNk ZXBzL3g4Nl82NC9tdWx0aWFyY2gvdGVzdC1tdWx0aWFyY2guYyAgICAgfCAgMTAgKy0KIDEzIGZp bGVzIGNoYW5nZWQsIDIyMyBpbnNlcnRpb25zKCspLCAxNDQgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvaW5jbHVkZS9jcHUtZmVhdHVyZXMuaAogcmVuYW1lIHN5 c2RlcHMveDg2L3tjcHUtZmVhdHVyZXMuaCA9PiBzeXMvcGxhdGZvcm0veDg2Lmh9ICg4MiUpCgpk aWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggYTY2MGZjNTlhOC4uYWU3ZDFlY2UzNSAxMDA2 NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC05LDYgKzksOCBAQCBWZXJzaW9uIDIuMzIKIAog TWFqb3IgbmV3IGZlYXR1cmVzOgogCisqIEFkZCA8c3lzL3BsYXRmb3JtL3g4Ni5oPiB0byBwcm92 aWRlIHF1ZXJ5IG1hY3JvcyBmb3IgeDg2IENQVSBmZWF0dXJlcy4KKwogKiBVbmljb2RlIDEyLjEu MCBTdXBwb3J0OiBDaGFyYWN0ZXIgZW5jb2RpbmcsIGNoYXJhY3RlciB0eXBlIGluZm8sIGFuZAog ICB0cmFuc2xpdGVyYXRpb24gdGFibGVzIGFyZSBhbGwgdXBkYXRlZCB0byBVbmljb2RlIDEyLjEu MCwgdXNpbmcKICAgZ2VuZXJhdG9yIHNjcmlwdHMgY29udHJpYnV0ZWQgYnkgTWlrZSBGQUJJQU4g KFJlZCBIYXQpLgpkaWZmIC0tZ2l0IGEvbWFudWFsL3BsYXRmb3JtLnRleGkgYi9tYW51YWwvcGxh dGZvcm0udGV4aQppbmRleCA1MDRhZGRjOTU2Li4wNTc4ZmM3NThmIDEwMDY0NAotLS0gYS9tYW51 YWwvcGxhdGZvcm0udGV4aQorKysgYi9tYW51YWwvcGxhdGZvcm0udGV4aQpAQCAtNyw2ICs3LDcg QEAKIEBtZW51CiAqIFBvd2VyUEM6OiAgICAgICAgICAgRmFjaWxpdGllcyBTcGVjaWZpYyB0byB0 aGUgUG93ZXJQQyBBcmNoaXRlY3R1cmUKICogUklTQy1WOjogICAgICAgICAgICBGYWNpbGl0aWVz IFNwZWNpZmljIHRvIHRoZSBSSVNDLVYgQXJjaGl0ZWN0dXJlCisqIFg4Njo6ICAgICAgICAgICAg ICAgRmFjaWxpdGllcyBTcGVjaWZpYyB0byB0aGUgWDg2IEFyY2hpdGVjdHVyZQogQGVuZCBtZW51 CiAKIEBub2RlIFBvd2VyUEMKQEAgLTEzNCwzICsxMzUsMjUgQEAgYWxsIHRocmVhZHMgaW4gdGhl IGN1cnJlbnQgcHJvY2Vzcy4gIFNldHRpbmcgdGhlCiBvcmRlcmluZyBvbiBvbmx5IHRoZSBjdXJy ZW50IHRocmVhZCBpcyBuZWNlc3NhcnkuICBBbGwgb3RoZXIgZmxhZyBiaXRzIGFyZQogcmVzZXJ2 ZWQuCiBAZW5kIGRlZnR5cGVmdW4KKworQG5vZGUgWDg2CitAYXBwZW5kaXhzZWMgWDg2LXNwZWNp ZmljIEZhY2lsaXRpZXMKKworRmFjaWxpdGllcyBzcGVjaWZpYyB0byBYODYgdGhhdCBhcmUgbm90 IHNwZWNpZmljIHRvIGEgcGFydGljdWxhcgorb3BlcmF0aW5nIHN5c3RlbSBhcmUgZGVjbGFyZWQg aW4gQGZpbGV7c3lzL3BsYXRmb3JtL3g4Ni5ofS4KKworQGRlZnR5cGVmdW4ge2NvbnN0IHN0cnVj dCBjcHVfZmVhdHVyZXMgKn0gX194ODZfZ2V0X2NwdV9mZWF0dXJlcyAodm9pZCkKK0BzYWZldHl7 QHByZWxpbXt9QG10c2FmZXt9QGFzc2FmZXt9QGFjc2FmZXt9fQorUmV0dXJuIGEgcG9pbnRlciB0 byB4ODYgQ1BVIGZlYXR1cmUgc3RydWN0dXJlIHVzZWQgYnkgcXVlcnkgbWFjcm9zIGZvciB4ODYK K0NQVSBmZWF0dXJlcy4KK0BlbmQgZGVmdHlwZWZ1bgorCitAZGVmdHlwZWZuIE1hY3JvIGludCBI QVNfQ1BVX0ZFQVRVUkUgKEB2YXJ7bmFtZX0pCitUaGlzIG1hY3JvIHJldHVybnMgYSBub256ZXJv IHZhbHVlICh0cnVlKSBpZiB0aGUgcHJvY2Vzc29yIGZlYXR1cmUKK0B2YXJ7bmFtZX0gaXMgYXZh aWxhYmxlLgorQGVuZCBkZWZ0eXBlZm4KKworQGRlZnR5cGVmbiBNYWNybyBpbnQgQ1BVX0ZFQVRV UkVfVVNBQkxFIChAdmFye25hbWV9KQorVGhpcyBtYWNybyByZXR1cm5zIGEgbm9uemVybyB2YWx1 ZSAodHJ1ZSkgaWYgdGhlIHByb2Nlc3NvciBmZWF0dXJlCitAdmFye25hbWV9IGlzIHVzYWJsZS4K K0BlbmQgZGVmdHlwZWZuCmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2 L2xkLmFiaWxpc3QgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2xkLmFiaWxpc3QKaW5k ZXggMDQ3OGUyMjA3MS4uMTIyNjg3NjY4OSAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvaTM4Ni9sZC5hYmlsaXN0CisrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYv bGQuYWJpbGlzdApAQCAtMywzICszLDQgQEAgR0xJQkNfMi4xIF9fbGliY19zdGFja19lbmQgRCAw eDQKIEdMSUJDXzIuMSBfZGxfbWNvdW50IEYKIEdMSUJDXzIuMyBfX190bHNfZ2V0X2FkZHIgRgog R0xJQkNfMi4zIF9fdGxzX2dldF9hZGRyIEYKK0dMSUJDXzIuMzIgX194ODZfZ2V0X2NwdV9mZWF0 dXJlcyBGCmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvNjQvbGQu YWJpbGlzdCBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC82NC9sZC5hYmlsaXN0Cmlu ZGV4IGQzY2RmNzYxMWUuLjg4NmU1N2FiZDUgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2 L2xpbnV4L3g4Nl82NC82NC9sZC5hYmlsaXN0CisrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L3g4Nl82NC82NC9sZC5hYmlsaXN0CkBAIC0yLDMgKzIsNCBAQCBHTElCQ18yLjIuNSBfX2xpYmNf c3RhY2tfZW5kIEQgMHg4CiBHTElCQ18yLjIuNSBfZGxfbWNvdW50IEYKIEdMSUJDXzIuMi41IF9y X2RlYnVnIEQgMHgyOAogR0xJQkNfMi4zIF9fdGxzX2dldF9hZGRyIEYKK0dMSUJDXzIuMzIgX194 ODZfZ2V0X2NwdV9mZWF0dXJlcyBGCmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51 eC94ODZfNjQveDMyL2xkLmFiaWxpc3QgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv eDMyL2xkLmFiaWxpc3QKaW5kZXggYzcwYmNjZjc4Mi4uMGQyZjhhMmNjNSAxMDA2NDQKLS0tIGEv c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3gzMi9sZC5hYmlsaXN0CisrKyBiL3N5c2Rl cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC94MzIvbGQuYWJpbGlzdApAQCAtMiwzICsyLDQgQEAg R0xJQkNfMi4xNiBfX2xpYmNfc3RhY2tfZW5kIEQgMHg0CiBHTElCQ18yLjE2IF9fdGxzX2dldF9h ZGRyIEYKIEdMSUJDXzIuMTYgX2RsX21jb3VudCBGCiBHTElCQ18yLjE2IF9yX2RlYnVnIEQgMHgx NAorR0xJQkNfMi4zMiBfX3g4Nl9nZXRfY3B1X2ZlYXR1cmVzIEYKZGlmZiAtLWdpdCBhL3N5c2Rl cHMveDg2L01ha2VmaWxlIGIvc3lzZGVwcy94ODYvTWFrZWZpbGUKaW5kZXggYmVhYjQyNmY2Ny4u MGU0ZDEzMjgwMyAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODYvTWFrZWZpbGUKKysrIGIvc3lzZGVw cy94ODYvTWFrZWZpbGUKQEAgLTQsNiArNCw3IEBAIGVuZGlmCiAKIGlmZXEgKCQoc3ViZGlyKSxl bGYpCiBzeXNkZXAtZGwtcm91dGluZXMgKz0gZGwtZ2V0LWNwdS1mZWF0dXJlcworc3lzZGVwX2hl YWRlcnMgKz0gc3lzL3BsYXRmb3JtL3g4Ni5oCiAKIHRlc3RzICs9IHRzdC1nZXQtY3B1LWZlYXR1 cmVzIHRzdC1nZXQtY3B1LWZlYXR1cmVzLXN0YXRpYwogdGVzdHMtc3RhdGljICs9IHRzdC1nZXQt Y3B1LWZlYXR1cmVzLXN0YXRpYwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvVmVyc2lvbnMgYi9z eXNkZXBzL3g4Ni9WZXJzaW9ucwppbmRleCBlMDI5MjM3MDhlLi43ZTMxMzlkYmIxIDEwMDY0NAot LS0gYS9zeXNkZXBzL3g4Ni9WZXJzaW9ucworKysgYi9zeXNkZXBzL3g4Ni9WZXJzaW9ucwpAQCAt MSw1ICsxLDUgQEAKIGxkIHsKLSAgR0xJQkNfUFJJVkFURSB7Ci0gICAgX19nZXRfY3B1X2ZlYXR1 cmVzOworICBHTElCQ18yLjMyIHsKKyAgICBfX3g4Nl9nZXRfY3B1X2ZlYXR1cmVzOwogICB9CiB9 CmRpZmYgLS1naXQgYS9zeXNkZXBzL3g4Ni9kbC1nZXQtY3B1LWZlYXR1cmVzLmMgYi9zeXNkZXBz L3g4Ni9kbC1nZXQtY3B1LWZlYXR1cmVzLmMKaW5kZXggOWQ2MWNkNTZiZS4uZmExYTFjYWE4NyAx MDA2NDQKLS0tIGEvc3lzZGVwcy94ODYvZGwtZ2V0LWNwdS1mZWF0dXJlcy5jCisrKyBiL3N5c2Rl cHMveDg2L2RsLWdldC1jcHUtZmVhdHVyZXMuYwpAQCAtMTgsMTAgKzE4LDEwIEBACiAKICNpbmNs dWRlIDxsZHNvZGVmcy5oPgogCi0jdW5kZWYgX19nZXRfY3B1X2ZlYXR1cmVzCisjdW5kZWYgX194 ODZfZ2V0X2NwdV9mZWF0dXJlcwogCiBjb25zdCBzdHJ1Y3QgY3B1X2ZlYXR1cmVzICoKLV9fZ2V0 X2NwdV9mZWF0dXJlcyAodm9pZCkKK19feDg2X2dldF9jcHVfZmVhdHVyZXMgKHZvaWQpCiB7CiAg IHJldHVybiAmR0xSTyhkbF94ODZfY3B1X2ZlYXR1cmVzKTsKIH0KZGlmZiAtLWdpdCBhL3N5c2Rl cHMveDg2L2luY2x1ZGUvY3B1LWZlYXR1cmVzLmggYi9zeXNkZXBzL3g4Ni9pbmNsdWRlL2NwdS1m ZWF0dXJlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjVkOGFmNmIz YTQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL3g4Ni9pbmNsdWRlL2NwdS1mZWF0dXJlcy5o CkBAIC0wLDAgKzEsMTY5IEBACisvKiBEYXRhIHN0cnVjdHVyZSBmb3IgeDg2IENQVSBmZWF0dXJl cy4KKyAgIENvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorCisgICBUaGUgR05V IEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlcgorICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUKKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMg TGlicmFyeTsgaWYgbm90LCBzZWUKKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u ICAqLworCisjaWZuZGVmCV9QUklWQVRFX0NQVV9GRUFUVVJFU19ICisjZGVmaW5lCV9QUklWQVRF X0NQVV9GRUFUVVJFU19ICTEKKworI2lmZGVmIF9DUFVfRkVBVFVSRVNfSAorIyBlcnJvciB0aGlz IHNob3VsZCBiZSBpbXBvc3NpYmxlCisjZW5kaWYKKworI2lmbmRlZiBfSVNPTUFDCisvKiBHZXQg bW9zdCBvZiB0aGUgY29udGVudHMgZnJvbSB0aGUgcHVibGljIGhlYWRlciwgYnV0IHdlIGRlZmlu ZSBhCisgICBkaWZmZXJlbnQgYHN0cnVjdCBjcHVfZmVhdHVyZXMnIHR5cGUgZm9yIHByaXZhdGUg dXNlLiAgKi8KKyMgZGVmaW5lIGNwdV9mZWF0dXJlcwkJY3B1X2ZlYXR1cmVzX3B1YmxpYworIyBk ZWZpbmUgX194ODZfZ2V0X2NwdV9mZWF0dXJlcwlfX3g4Nl9nZXRfY3B1X2ZlYXR1cmVzX3B1Ymxp YworI2VuZGlmCisKKyNpbmNsdWRlIDxzeXNkZXBzL3g4Ni9zeXMvcGxhdGZvcm0veDg2Lmg+CisK KyNpZm5kZWYgX0lTT01BQworCisjIHVuZGVmCWNwdV9mZWF0dXJlcworIyB1bmRlZiBfX3g4Nl9n ZXRfY3B1X2ZlYXR1cmVzCisjIGRlZmluZSBfX2dldF9jcHVfZmVhdHVyZXMJX194ODZfZ2V0X2Nw dV9mZWF0dXJlcworCitlbnVtCit7CisgIC8qIFRoZSBpbnRlZ2VyIGJpdCBhcnJheSBpbmRleCBm b3IgdGhlIGZpcnN0IHNldCBvZiBwcmVmZXJyZWQgZmVhdHVyZQorICAgICBiaXRzLiAgKi8KKyAg UFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMSA9IDAsCisgIC8qIFRoZSBjdXJyZW50IG1heGltdW0g c2l6ZSBvZiB0aGUgZmVhdHVyZSBpbnRlZ2VyIGJpdCBhcnJheS4gICovCisgIFBSRUZFUlJFRF9G RUFUVVJFX0lOREVYX01BWAorfTsKKworLyogSEFTX0FSQ0hfRkVBVFVSRSBldmFsdWF0ZXMgdG8g dHJ1ZSBpZiB3ZSBtYXkgdXNlIHRoZSBmZWF0dXJlIGF0CisgICBydW50aW1lLiAgKi8KKyMgZGVm aW5lIEhBU19BUkNIX0ZFQVRVUkUobmFtZSkgXAorICBDUFVfRkVBVFVSRVNfQVJDSF9QIChfX3g4 Nl9nZXRfY3B1X2ZlYXR1cmVzICgpLCBuYW1lKQorCisvKiBQUkVGRVJSRURfRkVBVFVSRV9JTkRF WF8xLiAgKi8KKyMgZGVmaW5lIGJpdF9hcmNoX0k1ODYJCQkJKDF1IDw8IDApCisjIGRlZmluZSBi aXRfYXJjaF9JNjg2CQkJCSgxdSA8PCAxKQorIyBkZWZpbmUgYml0X2FyY2hfRmFzdF9SZXBfU3Ry aW5nCQkoMXUgPDwgMikKKyMgZGVmaW5lIGJpdF9hcmNoX0Zhc3RfQ29weV9CYWNrd2FyZAkJKDF1 IDw8IDMpCisjIGRlZmluZSBiaXRfYXJjaF9GYXN0X1VuYWxpZ25lZF9Mb2FkCQkoMXUgPDwgNCkK KyMgZGVmaW5lIGJpdF9hcmNoX0Zhc3RfVW5hbGlnbmVkX0NvcHkJCSgxdSA8PCA1KQorIyBkZWZp bmUgYml0X2FyY2hfU2xvd19CU0YJCQkoMXUgPDwgNikKKyMgZGVmaW5lIGJpdF9hcmNoX1Nsb3df U1NFNF8yCQkJKDF1IDw8IDcpCisjIGRlZmluZSBiaXRfYXJjaF9BVlhfRmFzdF9VbmFsaWduZWRf TG9hZAkoMXUgPDwgOCkKKyMgZGVmaW5lIGJpdF9hcmNoX1ByZWZlcl9NQVBfMzJCSVRfRVhFQwkJ KDF1IDw8IDkpCisjIGRlZmluZSBiaXRfYXJjaF9QcmVmZXJfUE1JTlVCX2Zvcl9zdHJpbmdvcAko MXUgPDwgMTApCisjIGRlZmluZSBiaXRfYXJjaF9QcmVmZXJfTm9fVlpFUk9VUFBFUgkJKDF1IDw8 IDExKQorIyBkZWZpbmUgYml0X2FyY2hfUHJlZmVyX0VSTVMJCQkoMXUgPDwgMTIpCisjIGRlZmlu ZSBiaXRfYXJjaF9QcmVmZXJfRlNSTQkJCSgxdSA8PCAxMykKKyMgZGVmaW5lIGJpdF9hcmNoX1By ZWZlcl9Ob19BVlg1MTIJCSgxdSA8PCAxNCkKKyMgZGVmaW5lIGJpdF9hcmNoX01hdGhWZWNfUHJl ZmVyX05vX0FWWDUxMgkoMXUgPDwgMTUpCisKKyMgZGVmaW5lIGluZGV4X2FyY2hfRmFzdF9SZXBf U3RyaW5nCQlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9hcmNoX0Zh c3RfQ29weV9CYWNrd2FyZAkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQorIyBkZWZpbmUgaW5k ZXhfYXJjaF9TbG93X0JTRgkJCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKKyMgZGVmaW5lIGlu ZGV4X2FyY2hfRmFzdF9VbmFsaWduZWRfTG9hZAkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQor IyBkZWZpbmUgaW5kZXhfYXJjaF9QcmVmZXJfUE1JTlVCX2Zvcl9zdHJpbmdvcCAJUFJFRkVSUkVE X0ZFQVRVUkVfSU5ERVhfMQorIyBkZWZpbmUgaW5kZXhfYXJjaF9GYXN0X1VuYWxpZ25lZF9Db3B5 CQlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9hcmNoX0k1ODYJCQlQ UkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9hcmNoX0k2ODYJCQlQUkVG RVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9hcmNoX1Nsb3dfU1NFNF8yCQkJ UFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQorIyBkZWZpbmUgaW5kZXhfYXJjaF9BVlhfRmFzdF9V bmFsaWduZWRfTG9hZAlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9h cmNoX1ByZWZlcl9NQVBfMzJCSVRfRVhFQwlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisjIGRl ZmluZSBpbmRleF9hcmNoX1ByZWZlcl9Ob19WWkVST1VQUEVSCVBSRUZFUlJFRF9GRUFUVVJFX0lO REVYXzEKKyMgZGVmaW5lIGluZGV4X2FyY2hfUHJlZmVyX0VSTVMJCQlQUkVGRVJSRURfRkVBVFVS RV9JTkRFWF8xCisjIGRlZmluZSBpbmRleF9hcmNoX1ByZWZlcl9Ob19BVlg1MTIJCVBSRUZFUlJF RF9GRUFUVVJFX0lOREVYXzEKKyMgZGVmaW5lIGluZGV4X2FyY2hfTWF0aFZlY19QcmVmZXJfTm9f QVZYNTEyCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKKyMgZGVmaW5lIGluZGV4X2FyY2hfUHJl ZmVyX0ZTUk0JCQlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCisKKyMgZGVmaW5lIGZlYXR1cmVf RmFzdF9SZXBfU3RyaW5nCQkJcHJlZmVycmVkCisjIGRlZmluZSBmZWF0dXJlX0Zhc3RfQ29weV9C YWNrd2FyZAkJcHJlZmVycmVkCisjIGRlZmluZSBmZWF0dXJlX1Nsb3dfQlNGCQkJcHJlZmVycmVk CisjIGRlZmluZSBmZWF0dXJlX0Zhc3RfVW5hbGlnbmVkX0xvYWQJCXByZWZlcnJlZAorIyBkZWZp bmUgZmVhdHVyZV9QcmVmZXJfUE1JTlVCX2Zvcl9zdHJpbmdvcCAJcHJlZmVycmVkCisjIGRlZmlu ZSBmZWF0dXJlX0Zhc3RfVW5hbGlnbmVkX0NvcHkJCXByZWZlcnJlZAorIyBkZWZpbmUgZmVhdHVy ZV9JNTg2CQkJCXByZWZlcnJlZAorIyBkZWZpbmUgZmVhdHVyZV9JNjg2CQkJCXByZWZlcnJlZAor IyBkZWZpbmUgZmVhdHVyZV9TbG93X1NTRTRfMgkJCXByZWZlcnJlZAorIyBkZWZpbmUgZmVhdHVy ZV9BVlhfRmFzdF9VbmFsaWduZWRfTG9hZAlwcmVmZXJyZWQKKyMgZGVmaW5lIGZlYXR1cmVfUHJl ZmVyX01BUF8zMkJJVF9FWEVDCQlwcmVmZXJyZWQKKyMgZGVmaW5lIGZlYXR1cmVfUHJlZmVyX05v X1ZaRVJPVVBQRVIJCXByZWZlcnJlZAorIyBkZWZpbmUgZmVhdHVyZV9QcmVmZXJfRVJNUwkJCXBy ZWZlcnJlZAorIyBkZWZpbmUgZmVhdHVyZV9QcmVmZXJfTm9fQVZYNTEyCQlwcmVmZXJyZWQKKyMg ZGVmaW5lIGZlYXR1cmVfTWF0aFZlY19QcmVmZXJfTm9fQVZYNTEyCXByZWZlcnJlZAorIyBkZWZp bmUgZmVhdHVyZV9QcmVmZXJfRlNSTQkJCXByZWZlcnJlZAorCisvKiBYQ1IwIEZlYXR1cmUgZmxh Z3MuICAqLworIyBkZWZpbmUgYml0X1hNTV9zdGF0ZQkJKDF1IDw8IDEpCisjIGRlZmluZSBiaXRf WU1NX3N0YXRlCQkoMXUgPDwgMikKKyMgZGVmaW5lIGJpdF9PcG1hc2tfc3RhdGUJKDF1IDw8IDUp CisjIGRlZmluZSBiaXRfWk1NMF8xNV9zdGF0ZQkoMXUgPDwgNikKKyMgZGVmaW5lIGJpdF9aTU0x Nl8zMV9zdGF0ZQkoMXUgPDwgNykKKworc3RydWN0IGNwdV9mZWF0dXJlcworeworICBzdHJ1Y3Qg Y3B1X2ZlYXR1cmVzX2Jhc2ljIGJhc2ljOworICB1bnNpZ25lZCBpbnQgdXNhYmxlW1VTQUJMRV9G RUFUVVJFX0lOREVYX01BWF07CisgIHN0cnVjdCBjcHVpZF9yZWdpc3RlcnMgY3B1aWRbQ09NTU9O X0NQVUlEX0lOREVYX01BWF07CisgIHVuc2lnbmVkIGludCBwcmVmZXJyZWRbUFJFRkVSUkVEX0ZF QVRVUkVfSU5ERVhfTUFYXTsKKyAgLyogVGhlIHN0YXRlIHNpemUgZm9yIFhTQVZFQyBvciBYU0FW RS4gIFRoZSB0eXBlIG11c3QgYmUgdW5zaWduZWQgbG9uZworICAgICBpbnQgc28gdGhhdCB3ZSB1 c2UKKworCXN1YiB4c2F2ZV9zdGF0ZV9zaXplX29mZnNldCglcmlwKSAlUlNQX0xQCisKKyAgICAg aW4gX2RsX3J1bnRpbWVfcmVzb2x2ZS4gICovCisgIHVuc2lnbmVkIGxvbmcgaW50IHhzYXZlX3N0 YXRlX3NpemU7CisgIC8qIFRoZSBmdWxsIHN0YXRlIHNpemUgZm9yIFhTQVZFIHdoZW4gWFNBVkVD IGlzIGRpc2FibGVkIGJ5CisKKyAgICAgR0xJQkNfVFVOQUJMRVM9Z2xpYmMuY3B1Lmh3Y2Fwcz0t WFNBVkVDX1VzYWJsZQorICAgKi8KKyAgdW5zaWduZWQgaW50IHhzYXZlX3N0YXRlX2Z1bGxfc2l6 ZTsKKyAgLyogRGF0YSBjYWNoZSBzaXplIGZvciB1c2UgaW4gbWVtb3J5IGFuZCBzdHJpbmcgcm91 dGluZXMsIHR5cGljYWxseQorICAgICBMMSBzaXplLiAgKi8KKyAgdW5zaWduZWQgbG9uZyBpbnQg ZGF0YV9jYWNoZV9zaXplOworICAvKiBTaGFyZWQgY2FjaGUgc2l6ZSBmb3IgdXNlIGluIG1lbW9y eSBhbmQgc3RyaW5nIHJvdXRpbmVzLCB0eXBpY2FsbHkKKyAgICAgTDIgb3IgTDMgc2l6ZS4gICov CisgIHVuc2lnbmVkIGxvbmcgaW50IHNoYXJlZF9jYWNoZV9zaXplOworICAvKiBUaHJlc2hvbGQg dG8gdXNlIG5vbiB0ZW1wb3JhbCBzdG9yZS4gICovCisgIHVuc2lnbmVkIGxvbmcgaW50IG5vbl90 ZW1wb3JhbF90aHJlc2hvbGQ7Cit9OworCisjIGlmIGRlZmluZWQgKF9MSUJDKSAmJiAhSVNfSU4g KG5vbmxpYikKKy8qIFVudXNlZCBmb3IgeDg2LiAgKi8KKyMgIGRlZmluZSBJTklUX0FSQ0goKQor IyAgZGVmaW5lIF9feDg2X2dldF9jcHVfZmVhdHVyZXMoKQkoJkdMUk8oZGxfeDg2X2NwdV9mZWF0 dXJlcykpCisjICBkZWZpbmUgeDg2X2dldF9jcHVpZF9yZWdpc3RlcnMoaSkgXAorICAgICAgICgm KEdMUk8oZGxfeDg2X2NwdV9mZWF0dXJlcykuY3B1aWRbaV0pKQorIyBlbmRpZgorCisjIGlmZGVm IF9feDg2XzY0X18KKyMgIGRlZmluZSBIQVNfQ1BVSUQgMQorIyBlbGlmIChkZWZpbmVkIF9faTU4 Nl9fIHx8IGRlZmluZWQgX19wZW50aXVtX18JXAorCXx8IGRlZmluZWQgX19nZW9kZV9fIHx8IGRl ZmluZWQgX19rNl9fKQorIyAgZGVmaW5lIEhBU19DUFVJRCAxCisjICBkZWZpbmUgSEFTX0k1ODYg MQorIyAgZGVmaW5lIEhBU19JNjg2IEhBU19BUkNIX0ZFQVRVUkUgKEk2ODYpCisjIGVsaWYgZGVm aW5lZCBfX2k0ODZfXworIyAgZGVmaW5lIEhBU19DUFVJRCAwCisjICBkZWZpbmUgSEFTX0k1ODYg SEFTX0FSQ0hfRkVBVFVSRSAoSTU4NikKKyMgIGRlZmluZSBIQVNfSTY4NiBIQVNfQVJDSF9GRUFU VVJFIChJNjg2KQorIyBlbHNlCisjICBkZWZpbmUgSEFTX0NQVUlEIDEKKyMgIGRlZmluZSBIQVNf STU4NiAxCisjICBkZWZpbmUgSEFTX0k2ODYgMQorIyBlbmRpZgorCisjZW5kaWYgLyogIV9JU09N QUMgKi8KKworI2VuZGlmIC8qIGluY2x1ZGUvY3B1LWZlYXR1cmVzLmggKi8KZGlmZiAtLWdpdCBh L3N5c2RlcHMveDg2L2NwdS1mZWF0dXJlcy5oIGIvc3lzZGVwcy94ODYvc3lzL3BsYXRmb3JtL3g4 Ni5oCnNpbWlsYXJpdHkgaW5kZXggODIlCnJlbmFtZSBmcm9tIHN5c2RlcHMveDg2L2NwdS1mZWF0 dXJlcy5oCnJlbmFtZSB0byBzeXNkZXBzL3g4Ni9zeXMvcGxhdGZvcm0veDg2LmgKaW5kZXggZjYx NTU4OGEzNy4uZGE2NTYxMzYxZiAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODYvY3B1LWZlYXR1cmVz LmgKKysrIGIvc3lzZGVwcy94ODYvc3lzL3BsYXRmb3JtL3g4Ni5oCkBAIC0xLDQgKzEsNSBAQAot LyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCisvKiBEYXRhIHN0cnVj dHVyZSBmb3IgeDg2IENQVSBmZWF0dXJlcy4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBH TlUgQyBMaWJyYXJ5LgogICAgQ29weXJpZ2h0IChDKSAyMDA4LTIwMjAgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTUsOCArMTYsOCBAQAogICAgTGlj ZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQogICAgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKLSNpZm5kZWYgY3B1X2ZlYXR1cmVzX2gK LSNkZWZpbmUgY3B1X2ZlYXR1cmVzX2gKKyNpZm5kZWYgX1NZU19QTEFURk9STV9YODZfSAorI2Rl ZmluZSBfU1lTX1BMQVRGT1JNX1g4Nl9ICiAKIGVudW0KIHsKQEAgLTI5LDE1ICszMCw2IEBAIGVu dW0KICAgVVNBQkxFX0ZFQVRVUkVfSU5ERVhfTUFYCiB9OwogCi1lbnVtCi17Ci0gIC8qIFRoZSBp bnRlZ2VyIGJpdCBhcnJheSBpbmRleCBmb3IgdGhlIGZpcnN0IHNldCBvZiBwcmVmZXJyZWQgZmVh dHVyZQotICAgICBiaXRzLiAgKi8KLSAgUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMSA9IDAsCi0g IC8qIFRoZSBjdXJyZW50IG1heGltdW0gc2l6ZSBvZiB0aGUgZmVhdHVyZSBpbnRlZ2VyIGJpdCBh cnJheS4gICovCi0gIFBSRUZFUlJFRF9GRUFUVVJFX0lOREVYX01BWAotfTsKLQogZW51bQogewog ICBDT01NT05fQ1BVSURfSU5ERVhfMSA9IDAsCkBAIC04MiwzNSArNzQsMTIgQEAgc3RydWN0IGNw dV9mZWF0dXJlcwogICBzdHJ1Y3QgY3B1X2ZlYXR1cmVzX2Jhc2ljIGJhc2ljOwogICB1bnNpZ25l ZCBpbnQgdXNhYmxlW1VTQUJMRV9GRUFUVVJFX0lOREVYX01BWF07CiAgIHN0cnVjdCBjcHVpZF9y ZWdpc3RlcnMgY3B1aWRbQ09NTU9OX0NQVUlEX0lOREVYX01BWF07Ci0gIHVuc2lnbmVkIGludCBw cmVmZXJyZWRbUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfTUFYXTsKLSAgLyogVGhlIHN0YXRlIHNp emUgZm9yIFhTQVZFQyBvciBYU0FWRS4gIFRoZSB0eXBlIG11c3QgYmUgdW5zaWduZWQgbG9uZwot ICAgICBpbnQgc28gdGhhdCB3ZSB1c2UKLQotCXN1YiB4c2F2ZV9zdGF0ZV9zaXplX29mZnNldCgl cmlwKSAlUlNQX0xQCi0KLSAgICAgaW4gX2RsX3J1bnRpbWVfcmVzb2x2ZS4gICovCi0gIHVuc2ln bmVkIGxvbmcgaW50IHhzYXZlX3N0YXRlX3NpemU7Ci0gIC8qIFRoZSBmdWxsIHN0YXRlIHNpemUg Zm9yIFhTQVZFIHdoZW4gWFNBVkVDIGlzIGRpc2FibGVkIGJ5Ci0KLSAgICAgR0xJQkNfVFVOQUJM RVM9Z2xpYmMuY3B1Lmh3Y2Fwcz0tWFNBVkVDX1VzYWJsZQotICAgKi8KLSAgdW5zaWduZWQgaW50 IHhzYXZlX3N0YXRlX2Z1bGxfc2l6ZTsKLSAgLyogRGF0YSBjYWNoZSBzaXplIGZvciB1c2UgaW4g bWVtb3J5IGFuZCBzdHJpbmcgcm91dGluZXMsIHR5cGljYWxseQotICAgICBMMSBzaXplLiAgKi8K LSAgdW5zaWduZWQgbG9uZyBpbnQgZGF0YV9jYWNoZV9zaXplOwotICAvKiBTaGFyZWQgY2FjaGUg c2l6ZSBmb3IgdXNlIGluIG1lbW9yeSBhbmQgc3RyaW5nIHJvdXRpbmVzLCB0eXBpY2FsbHkKLSAg ICAgTDIgb3IgTDMgc2l6ZS4gICovCi0gIHVuc2lnbmVkIGxvbmcgaW50IHNoYXJlZF9jYWNoZV9z aXplOwotICAvKiBUaHJlc2hvbGQgdG8gdXNlIG5vbiB0ZW1wb3JhbCBzdG9yZS4gICovCi0gIHVu c2lnbmVkIGxvbmcgaW50IG5vbl90ZW1wb3JhbF90aHJlc2hvbGQ7CiB9OwogCi0vKiBVc2VkIGZy b20gb3V0c2lkZSBvZiBnbGliYyB0byBnZXQgYWNjZXNzIHRvIHRoZSBDUFUgZmVhdHVyZXMKLSAg IHN0cnVjdHVyZS4gICovCi1leHRlcm4gY29uc3Qgc3RydWN0IGNwdV9mZWF0dXJlcyAqX19nZXRf Y3B1X2ZlYXR1cmVzICh2b2lkKQorLyogR2V0IGEgcG9pbnRlciB0byB0aGUgQ1BVIGZlYXR1cmVz IHN0cnVjdHVyZS4gICovCitleHRlcm4gY29uc3Qgc3RydWN0IGNwdV9mZWF0dXJlcyAqX194ODZf Z2V0X2NwdV9mZWF0dXJlcyAodm9pZCkKICAgICAgX19hdHRyaWJ1dGVfXyAoKGNvbnN0KSk7CiAK LS8qIE9ubHkgdXNlZCBkaXJlY3RseSBpbiBjcHUtZmVhdHVyZXMuYy4gICovCiAjIGRlZmluZSBD UFVfRkVBVFVSRVNfQ1BVX1AocHRyLCBuYW1lKSBcCiAgICgocHRyLT5jcHVpZFtpbmRleF9jcHVf IyNuYW1lXS5yZWdfIyNuYW1lICYgKGJpdF9jcHVfIyNuYW1lKSkgIT0gMCkKICMgZGVmaW5lIENQ VV9GRUFUVVJFU19BUkNIX1AocHRyLCBuYW1lKSBcCkBAIC0xMTgsMTQgKzg3LDEwIEBAIGV4dGVy biBjb25zdCBzdHJ1Y3QgY3B1X2ZlYXR1cmVzICpfX2dldF9jcHVfZmVhdHVyZXMgKHZvaWQpCiAK IC8qIEhBU19DUFVfRkVBVFVSRSBldmFsdWF0ZXMgdG8gdHJ1ZSBpZiBDUFUgc3VwcG9ydHMgdGhl IGZlYXR1cmUuICAqLwogI2RlZmluZSBIQVNfQ1BVX0ZFQVRVUkUobmFtZSkgXAotICBDUFVfRkVB VFVSRVNfQ1BVX1AgKF9fZ2V0X2NwdV9mZWF0dXJlcyAoKSwgbmFtZSkKLS8qIEhBU19BUkNIX0ZF QVRVUkUgZXZhbHVhdGVzIHRvIHRydWUgaWYgd2UgbWF5IHVzZSB0aGUgZmVhdHVyZSBhdAotICAg cnVudGltZS4gICovCi0jIGRlZmluZSBIQVNfQVJDSF9GRUFUVVJFKG5hbWUpIFwKLSAgQ1BVX0ZF QVRVUkVTX0FSQ0hfUCAoX19nZXRfY3B1X2ZlYXR1cmVzICgpLCBuYW1lKQorICBDUFVfRkVBVFVS RVNfQ1BVX1AgKF9feDg2X2dldF9jcHVfZmVhdHVyZXMgKCksIG5hbWUpCiAvKiBDUFVfRkVBVFVS RV9VU0FCTEUgZXZhbHVhdGVzIHRvIHRydWUgaWYgdGhlIGZlYXR1cmUgaXMgdXNhYmxlLiAgKi8K ICNkZWZpbmUgQ1BVX0ZFQVRVUkVfVVNBQkxFKG5hbWUpIFwKLSAgSEFTX0FSQ0hfRkVBVFVSRSAo bmFtZSMjX1VzYWJsZSkKKyAgQ1BVX0ZFQVRVUkVTX0FSQ0hfUCAoX194ODZfZ2V0X2NwdV9mZWF0 dXJlcyAoKSwgbmFtZSMjX1VzYWJsZSkKIAogLyogQXJjaGl0ZWN0dXJlIGZlYXR1cmVzLiAgKi8K IApAQCAtNzU5LDg4ICs3MjQsNCBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGNwdV9mZWF0dXJlcyAq X19nZXRfY3B1X2ZlYXR1cmVzICh2b2lkKQogLyogRUFYLiAgKi8KICNkZWZpbmUgcmVnX0FWWDUx Ml9CRjE2CQllYXgKIAotLyogRkVBVFVSRV9JTkRFWF8yLiAgKi8KLSNkZWZpbmUgYml0X2FyY2hf STU4NgkJCQkoMXUgPDwgMCkKLSNkZWZpbmUgYml0X2FyY2hfSTY4NgkJCQkoMXUgPDwgMSkKLSNk ZWZpbmUgYml0X2FyY2hfRmFzdF9SZXBfU3RyaW5nCQkoMXUgPDwgMikKLSNkZWZpbmUgYml0X2Fy Y2hfRmFzdF9Db3B5X0JhY2t3YXJkCQkoMXUgPDwgMykKLSNkZWZpbmUgYml0X2FyY2hfRmFzdF9V bmFsaWduZWRfTG9hZAkJKDF1IDw8IDQpCi0jZGVmaW5lIGJpdF9hcmNoX0Zhc3RfVW5hbGlnbmVk X0NvcHkJCSgxdSA8PCA1KQotI2RlZmluZSBiaXRfYXJjaF9TbG93X0JTRgkJCSgxdSA8PCA2KQot I2RlZmluZSBiaXRfYXJjaF9TbG93X1NTRTRfMgkJCSgxdSA8PCA3KQotI2RlZmluZSBiaXRfYXJj aF9BVlhfRmFzdF9VbmFsaWduZWRfTG9hZAkoMXUgPDwgOCkKLSNkZWZpbmUgYml0X2FyY2hfUHJl ZmVyX01BUF8zMkJJVF9FWEVDCQkoMXUgPDwgOSkKLSNkZWZpbmUgYml0X2FyY2hfUHJlZmVyX1BN SU5VQl9mb3Jfc3RyaW5nb3AJKDF1IDw8IDEwKQotI2RlZmluZSBiaXRfYXJjaF9QcmVmZXJfTm9f VlpFUk9VUFBFUgkJKDF1IDw8IDExKQotI2RlZmluZSBiaXRfYXJjaF9QcmVmZXJfRVJNUwkJCSgx dSA8PCAxMikKLSNkZWZpbmUgYml0X2FyY2hfUHJlZmVyX0ZTUk0JCQkoMXUgPDwgMTMpCi0jZGVm aW5lIGJpdF9hcmNoX1ByZWZlcl9Ob19BVlg1MTIJCSgxdSA8PCAxNCkKLSNkZWZpbmUgYml0X2Fy Y2hfTWF0aFZlY19QcmVmZXJfTm9fQVZYNTEyCSgxdSA8PCAxNSkKLQotI2RlZmluZSBpbmRleF9h cmNoX0Zhc3RfUmVwX1N0cmluZwkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQotI2RlZmluZSBp bmRleF9hcmNoX0Zhc3RfQ29weV9CYWNrd2FyZAkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQot I2RlZmluZSBpbmRleF9hcmNoX1Nsb3dfQlNGCQkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQot I2RlZmluZSBpbmRleF9hcmNoX0Zhc3RfVW5hbGlnbmVkX0xvYWQJCVBSRUZFUlJFRF9GRUFUVVJF X0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9QcmVmZXJfUE1JTlVCX2Zvcl9zdHJpbmdvcCAJ UFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQotI2RlZmluZSBpbmRleF9hcmNoX0Zhc3RfVW5hbGln bmVkX0NvcHkJCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9J NTg2CQkJCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9JNjg2 CQkJCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9TbG93X1NT RTRfMgkJCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9BVlhf RmFzdF9VbmFsaWduZWRfTG9hZAlQUkVGRVJSRURfRkVBVFVSRV9JTkRFWF8xCi0jZGVmaW5lIGlu ZGV4X2FyY2hfUHJlZmVyX01BUF8zMkJJVF9FWEVDCVBSRUZFUlJFRF9GRUFUVVJFX0lOREVYXzEK LSNkZWZpbmUgaW5kZXhfYXJjaF9QcmVmZXJfTm9fVlpFUk9VUFBFUgkJUFJFRkVSUkVEX0ZFQVRV UkVfSU5ERVhfMQotI2RlZmluZSBpbmRleF9hcmNoX1ByZWZlcl9FUk1TCQkJUFJFRkVSUkVEX0ZF QVRVUkVfSU5ERVhfMQotI2RlZmluZSBpbmRleF9hcmNoX1ByZWZlcl9Ob19BVlg1MTIJCVBSRUZF UlJFRF9GRUFUVVJFX0lOREVYXzEKLSNkZWZpbmUgaW5kZXhfYXJjaF9NYXRoVmVjX1ByZWZlcl9O b19BVlg1MTIJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQotI2RlZmluZSBpbmRleF9hcmNoX1By ZWZlcl9GU1JNCQkJUFJFRkVSUkVEX0ZFQVRVUkVfSU5ERVhfMQotCi0jZGVmaW5lIGZlYXR1cmVf RmFzdF9SZXBfU3RyaW5nCQkJcHJlZmVycmVkCi0jZGVmaW5lIGZlYXR1cmVfRmFzdF9Db3B5X0Jh Y2t3YXJkCQlwcmVmZXJyZWQKLSNkZWZpbmUgZmVhdHVyZV9TbG93X0JTRgkJCXByZWZlcnJlZAot I2RlZmluZSBmZWF0dXJlX0Zhc3RfVW5hbGlnbmVkX0xvYWQJCXByZWZlcnJlZAotI2RlZmluZSBm ZWF0dXJlX1ByZWZlcl9QTUlOVUJfZm9yX3N0cmluZ29wIAlwcmVmZXJyZWQKLSNkZWZpbmUgZmVh dHVyZV9GYXN0X1VuYWxpZ25lZF9Db3B5CQlwcmVmZXJyZWQKLSNkZWZpbmUgZmVhdHVyZV9JNTg2 CQkJCXByZWZlcnJlZAotI2RlZmluZSBmZWF0dXJlX0k2ODYJCQkJcHJlZmVycmVkCi0jZGVmaW5l IGZlYXR1cmVfU2xvd19TU0U0XzIJCQlwcmVmZXJyZWQKLSNkZWZpbmUgZmVhdHVyZV9BVlhfRmFz dF9VbmFsaWduZWRfTG9hZAkJcHJlZmVycmVkCi0jZGVmaW5lIGZlYXR1cmVfUHJlZmVyX01BUF8z MkJJVF9FWEVDCQlwcmVmZXJyZWQKLSNkZWZpbmUgZmVhdHVyZV9QcmVmZXJfTm9fVlpFUk9VUFBF UgkJcHJlZmVycmVkCi0jZGVmaW5lIGZlYXR1cmVfUHJlZmVyX0VSTVMJCQlwcmVmZXJyZWQKLSNk ZWZpbmUgZmVhdHVyZV9QcmVmZXJfTm9fQVZYNTEyCQlwcmVmZXJyZWQKLSNkZWZpbmUgZmVhdHVy ZV9NYXRoVmVjX1ByZWZlcl9Ob19BVlg1MTIJcHJlZmVycmVkCi0jZGVmaW5lIGZlYXR1cmVfUHJl ZmVyX0ZTUk0JCQlwcmVmZXJyZWQKLQotLyogWENSMCBGZWF0dXJlIGZsYWdzLiAgKi8KLSNkZWZp bmUgYml0X1hNTV9zdGF0ZQkJKDF1IDw8IDEpCi0jZGVmaW5lIGJpdF9ZTU1fc3RhdGUJCSgxdSA8 PCAyKQotI2RlZmluZSBiaXRfT3BtYXNrX3N0YXRlCSgxdSA8PCA1KQotI2RlZmluZSBiaXRfWk1N MF8xNV9zdGF0ZQkoMXUgPDwgNikKLSNkZWZpbmUgYml0X1pNTTE2XzMxX3N0YXRlCSgxdSA8PCA3 KQotCi0jIGlmIGRlZmluZWQgKF9MSUJDKSAmJiAhSVNfSU4gKG5vbmxpYikKLS8qIFVudXNlZCBm b3IgeDg2LiAgKi8KLSMgIGRlZmluZSBJTklUX0FSQ0goKQotIyAgZGVmaW5lIF9fZ2V0X2NwdV9m ZWF0dXJlcygpCSgmR0xSTyhkbF94ODZfY3B1X2ZlYXR1cmVzKSkKLSMgIGRlZmluZSB4ODZfZ2V0 X2NwdWlkX3JlZ2lzdGVycyhpKSBcCi0gICAgICAgKCYoR0xSTyhkbF94ODZfY3B1X2ZlYXR1cmVz KS5jcHVpZFtpXSkpCi0jIGVuZGlmCi0KLSNpZmRlZiBfX3g4Nl82NF9fCi0jIGRlZmluZSBIQVNf Q1BVSUQgMQotI2VsaWYgKGRlZmluZWQgX19pNTg2X18gfHwgZGVmaW5lZCBfX3BlbnRpdW1fXwlc Ci0gICAgICAgfHwgZGVmaW5lZCBfX2dlb2RlX18gfHwgZGVmaW5lZCBfX2s2X18pCi0jIGRlZmlu ZSBIQVNfQ1BVSUQgMQotIyBkZWZpbmUgSEFTX0k1ODYgMQotIyBkZWZpbmUgSEFTX0k2ODYgSEFT X0FSQ0hfRkVBVFVSRSAoSTY4NikKLSNlbGlmIGRlZmluZWQgX19pNDg2X18KLSMgZGVmaW5lIEhB U19DUFVJRCAwCi0jIGRlZmluZSBIQVNfSTU4NiBIQVNfQVJDSF9GRUFUVVJFIChJNTg2KQotIyBk ZWZpbmUgSEFTX0k2ODYgSEFTX0FSQ0hfRkVBVFVSRSAoSTY4NikKLSNlbHNlCi0jIGRlZmluZSBI QVNfQ1BVSUQgMQotIyBkZWZpbmUgSEFTX0k1ODYgMQotIyBkZWZpbmUgSEFTX0k2ODYgMQotI2Vu ZGlmCi0KLSNlbmRpZiAgLyogY3B1X2ZlYXR1cmVzX2ggKi8KKyNlbmRpZiAgLyogX1NZU19QTEFU Rk9STV9YODZfSCAqLwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODYvdHN0LWdldC1jcHUtZmVhdHVy ZXMuYyBiL3N5c2RlcHMveDg2L3RzdC1nZXQtY3B1LWZlYXR1cmVzLmMKaW5kZXggNTZmMzFjYmU0 MC4uOTkwZWQ3NmExNSAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODYvdHN0LWdldC1jcHUtZmVhdHVy ZXMuYworKysgYi9zeXNkZXBzL3g4Ni90c3QtZ2V0LWNwdS1mZWF0dXJlcy5jCkBAIC0xLDQgKzEs NCBAQAotLyogVGVzdCBjYXNlIGZvciB4ODYgX19nZXRfY3B1X2ZlYXR1cmVzIGludGVyZmFjZQor LyogVGVzdCBjYXNlIGZvciBfX3g4Nl9nZXRfY3B1X2ZlYXR1cmVzIGludGVyZmFjZQogICAgQ29w eXJpZ2h0IChDKSAyMDE1LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICBU aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KIApAQCAtMTgsNyArMTgsNyBA QAogCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxj cHUtZmVhdHVyZXMuaD4KKyNpbmNsdWRlIDxzeXMvcGxhdGZvcm0veDg2Lmg+CiAjaW5jbHVkZSA8 c3VwcG9ydC9jaGVjay5oPgogCiAjZGVmaW5lIENIRUNLX0NQVV9GRUFUVVJFKG5hbWUpCQlcCkBA IC00NSw3ICs0NSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY3B1X2tpbmRzW10gPQog c3RhdGljIGludAogZG9fdGVzdCAodm9pZCkKIHsKLSAgY29uc3Qgc3RydWN0IGNwdV9mZWF0dXJl cyAqY3B1X2ZlYXR1cmVzID0gX19nZXRfY3B1X2ZlYXR1cmVzICgpOworICBjb25zdCBzdHJ1Y3Qg Y3B1X2ZlYXR1cmVzICpjcHVfZmVhdHVyZXMgPSBfX3g4Nl9nZXRfY3B1X2ZlYXR1cmVzICgpOwog CiAgIHN3aXRjaCAoY3B1X2ZlYXR1cmVzLT5iYXNpYy5raW5kKQogICAgIHsKZGlmZiAtLWdpdCBh L3N5c2RlcHMveDg2XzY0L2ZwdS9tYXRoLXRlc3RzLWFyY2guaCBiL3N5c2RlcHMveDg2XzY0L2Zw dS9tYXRoLXRlc3RzLWFyY2guaAppbmRleCA0MzVkZGFkOTkxLi5jYzNjMmIwYzExIDEwMDY0NAot LS0gYS9zeXNkZXBzL3g4Nl82NC9mcHUvbWF0aC10ZXN0cy1hcmNoLmgKKysrIGIvc3lzZGVwcy94 ODZfNjQvZnB1L21hdGgtdGVzdHMtYXJjaC5oCkBAIC0xNiw3ICsxNiw3IEBACiAgICBMaWNlbnNl IGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCiAgICA8aHR0cHM6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KIAotI2luY2x1ZGUgPGNwdS1mZWF0dXJlcy5oPgor I2luY2x1ZGUgPHN5cy9wbGF0Zm9ybS94ODYuaD4KIAogI2lmIGRlZmluZWQgUkVRVUlSRV9BVlgK IApAQCAtMjQsNyArMjQsNyBAQAogIyBkZWZpbmUgQ0hFQ0tfQVJDSF9FWFQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBkbyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYg KCFIQVNfQVJDSF9GRUFUVVJFIChBVlhfVXNhYmxlKSkgcmV0dXJuOyAgICAgICAgICAgICAgXAor ICAgICAgaWYgKCFDUFVfRkVBVFVSRV9VU0FCTEUgKEFWWCkpIHJldHVybjsgICAgICAgICAgICAg ICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAogICB3aGlsZSAoMCkKIApAQCAtMzQsNyArMzQsNyBAQAogIyBkZWZp bmUgQ0hFQ0tfQVJDSF9FWFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICBkbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotICAgICAgaWYgKCFIQVNfQVJDSF9GRUFUVVJFIChBVlgyX1Vz YWJsZSkpIHJldHVybjsgICAgICAgICAgICAgXAorICAgICAgaWYgKCFDUFVfRkVBVFVSRV9VU0FC TEUgKEFWWDIpKSByZXR1cm47ICAgICAgICAgICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB3aGlsZSAo MCkKIApAQCAtNDQsNyArNDQsNyBAQAogIyBkZWZpbmUgQ0hFQ0tfQVJDSF9FWFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBkbyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg aWYgKCFIQVNfQVJDSF9GRUFUVVJFIChBVlg1MTJGX1VzYWJsZSkpIHJldHVybjsgICAgICAgICAg XAorICAgICAgaWYgKCFDUFVfRkVBVFVSRV9VU0FCTEUgKEFWWDUxMkYpKSByZXR1cm47ICAgICAg ICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAogICB3aGlsZSAoMCkKIApkaWZmIC0tZ2l0IGEvc3lzZGVwcy94 ODZfNjQvbXVsdGlhcmNoL3Rlc3QtbXVsdGlhcmNoLmMgYi9zeXNkZXBzL3g4Nl82NC9tdWx0aWFy Y2gvdGVzdC1tdWx0aWFyY2guYwppbmRleCAzMTczNzNjZWRhLi45ZmVhZjA1N2U1IDEwMDY0NAot LS0gYS9zeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2gvdGVzdC1tdWx0aWFyY2guYworKysgYi9zeXNk ZXBzL3g4Nl82NC9tdWx0aWFyY2gvdGVzdC1tdWx0aWFyY2guYwpAQCAtMTYsNyArMTYsNyBAQAog ICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQogICAg PGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKLSNpbmNsdWRlIDxjcHUtZmVh dHVyZXMuaD4KKyNpbmNsdWRlIDxzeXMvcGxhdGZvcm0veDg2Lmg+CiAjaW5jbHVkZSA8c3RkaW8u aD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTc1LDEwICs3 NSwxMCBAQCBkb190ZXN0IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGludCBmYWlsczsKIAog ICBnZXRfY3B1aW5mbyAoKTsKLSAgZmFpbHMgPSBjaGVja19wcm9jICgiYXZ4IiwgSEFTX0FSQ0hf RkVBVFVSRSAoQVZYX1VzYWJsZSksCi0JCSAgICAgICJIQVNfQVJDSF9GRUFUVVJFIChBVlhfVXNh YmxlKSIpOwotICBmYWlscyArPSBjaGVja19wcm9jICgiZm1hNCIsIEhBU19BUkNIX0ZFQVRVUkUg KEZNQTRfVXNhYmxlKSwKLQkJICAgICAgICJIQVNfQVJDSF9GRUFUVVJFIChGTUE0X1VzYWJsZSki KTsKKyAgZmFpbHMgPSBjaGVja19wcm9jICgiYXZ4IiwgQ1BVX0ZFQVRVUkVfVVNBQkxFIChBVlgp LAorCQkgICAgICAiQ1BVX0ZFQVRVUkVfVVNBQkxFIChBVlgpIik7CisgIGZhaWxzICs9IGNoZWNr X3Byb2MgKCJmbWE0IiwgQ1BVX0ZFQVRVUkVfVVNBQkxFIChGTUE0KSwKKwkJICAgICAgICJDUFVf RkVBVFVSRV9VU0FCTEUgKEZNQTQpIik7CiAgIGZhaWxzICs9IGNoZWNrX3Byb2MgKCJzc2U0XzIi LCBIQVNfQ1BVX0ZFQVRVUkUgKFNTRTRfMiksCiAJCSAgICAgICAiSEFTX0NQVV9GRUFUVVJFIChT U0U0XzIpIik7CiAgIGZhaWxzICs9IGNoZWNrX3Byb2MgKCJzc2U0XzEiLCBIQVNfQ1BVX0ZFQVRV UkUgKFNTRTRfMSkKLS0gCjIuMjYuMgoK --000000000000f2739705a85e13af--