From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 592 invoked by alias); 24 May 2016 20:29:21 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 564 invoked by uid 89); 24 May 2016 20:29:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=amodragmailcom, amodra@gmail.com, 4Gb, file's X-HELO: mail-qk0-f195.google.com Received: from mail-qk0-f195.google.com (HELO mail-qk0-f195.google.com) (209.85.220.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 24 May 2016 20:29:10 +0000 Received: by mail-qk0-f195.google.com with SMTP id z80so3097338qkb.2 for ; Tue, 24 May 2016 13:29:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=mFCnomstp+TvVYrrlfBCT4Pzj2diaPgnt/HzCoX65DY=; b=KbS/V/A0NgdcVHvqgwNdipS9wk/kZjTgu1MmpO+T/CDI5KkOAlADSD0RjimImTJE0o XK6IKjfHfBgk0nwRz58OtEkm4f0l0yB3xeEKDwIfrg/nAsfUGAhla6yPpl9qaQzAX7oR RICquzDMQ3QfuW7qjP2y7rjjdZXkfKXltVxB8hVi6LHn9EL/jtOEAtP2Sc0EFiNiWHNA boZ/ftXY8d6omjfJEKsNqjSyYjTvTzCoLbn53FTfGaZU3nQbxH/PaDqfWyZUKPHrTTr8 CJaLqhX082kvmdro4kNQdHNUqbQHXrAWF9kc7BEQmK2vTpMg8f88ovyNqP+qXPrbZYWa trJw== X-Gm-Message-State: ALyK8tLy6GWoMJ0m0mdEVYwD3Fc255u30eadeL/5F6eEtvXTZbkNCXSW/WfoM+5449Ni/uP5vcMeab2tFhxpDw== MIME-Version: 1.0 X-Received: by 10.55.76.84 with SMTP id z81mr94411qka.17.1464121747775; Tue, 24 May 2016 13:29:07 -0700 (PDT) Received: by 10.55.221.134 with HTTP; Tue, 24 May 2016 13:29:07 -0700 (PDT) In-Reply-To: References: <20160520121002.GA28605@intel.com> <20160523094203.GC3300@bubble.grove.modra.org> Date: Tue, 24 May 2016 20:29:00 -0000 Message-ID: Subject: Re: [PATCH] PR binutils/14625: Enable 64-bit archives in ar and ranlib From: "H.J. Lu" To: Alan Modra Cc: Binutils Content-Type: multipart/mixed; boundary=001a11487ed6af939205339c68f9 X-IsSubscribed: yes X-SW-Source: 2016-05/txt/msg00375.txt.bz2 --001a11487ed6af939205339c68f9 Content-Type: text/plain; charset=UTF-8 Content-length: 2353 On Tue, May 24, 2016 at 10:03 AM, H.J. Lu wrote: > On Mon, May 23, 2016 at 2:42 AM, Alan Modra wrote: >> On Fri, May 20, 2016 at 05:10:02AM -0700, H.J. Lu wrote: >>> Since existing ld and gold support the 64-bit (MIPS) ELF archives, we >>> can use the 64-bit (MIPS) ELF archives as 64-bit archives. Since the >>> plugin target is used to create archive in plugin-enabled ar, we need >>> a way to enable 64-bit archives in the plugin target. This patch adds >>> --enable-64-bit-archive to bfd to enable 64-bit archives in ar and >>> ranlib. Since both 64-bit MIPS and s390 ELF targets currently use >>> 64-bit archives, all Linux linkers with 64-bit BFD support both 32-bit >>> and 64-bit archives, 64-bit archives are enabled by default for them. >> >> Hmm, isn't it true that archive64.c is compiled in for any 64-bit >> target? I also don't see anything ELF specific in archive64.c. > > That is correct. > >>> + # Since all Linux linkers support both 32-bit and 64-bit archives, >>> + # it is safe to enable 64-bit archives for Linux targets with 64-bit >>> + # bfd_vma. >>> + case "${target}${want64}" in >>> + *linux*true) >>> + want_64_bit_archive=true >>> + ;; >>> + esac >>> +fi >> >> So the above could just set want_64_bit_archive based on want64, >> ignoring target, except that doing so might result in archives that >> aren't recognized by native tools. How about instead of this >> configure option, changing _bfd_compute_and_write_armap to choose the >> archive64.c write_armap whenever the archive size is larger than 2G? > > The limit is 4GB, not 2GB. The limit is the offset of an archive member, > not the size of archive. We can have an archive > 4GB with archive > member offsets < 4GB. > >> I think that might just work automatically. >> >> The rest of the patch looks reasonable except that you missed changing >> elf64-ia64-vms.c, and I think the libbfd-in.h defines would be better > > Since elf64-ia64-vms.c uses _bfd_vms_lib_write_armap which is defined as > NULL, i prefer to leave it unchanged. > >> with the coff defines substituted. eg. _bfd_slurp_extended_name_table >> rather than _bfd_archive_coff_slurp_extended_name_table. >> > > Good point. Here is the updated patch. OK for master? > This patch generates 64-bit archive automatically. -- H.J. --001a11487ed6af939205339c68f9 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Enable-64-bit-archives-in-ar-and-ranlib.patch" Content-Disposition: attachment; filename="0001-Enable-64-bit-archives-in-ar-and-ranlib.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iolw9dp41 Content-length: 30094 RnJvbSA4YTNmMDdkMzMxYzg5M2FiOWZmNWU3ODJhMTYxNzJlM2ZmYTdjOWM1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMTkgTWF5IDIwMTYgMTM6 MzQ6MTEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBFbmFibGUgNjQtYml0IGFy Y2hpdmVzIGluIGFyIGFuZCByYW5saWIKClNpbmNlIGV4aXN0aW5nIGxkIGFu ZCBnb2xkIHN1cHBvcnQgdGhlIDY0LWJpdCAoTUlQUykgRUxGIGFyY2hpdmVz LCB3ZQpjYW4gdXNlIHRoZSA2NC1iaXQgKE1JUFMpIEVMRiBhcmNoaXZlcyBh cyA2NC1iaXQgYXJjaGl2ZXMuICBTaW5jZSB0aGUKcGx1Z2luIHRhcmdldCBp cyB1c2VkIHRvIGNyZWF0ZSBhcmNoaXZlIGluIHBsdWdpbi1lbmFibGVkIGFy LCB3ZSBuZWVkCmEgd2F5IHRvIGVuYWJsZSA2NC1iaXQgYXJjaGl2ZXMgaW4g dGhlIHBsdWdpbiB0YXJnZXQuICBUaGlzIHBhdGNoIGFkZHMKLS1lbmFibGUt NjQtYml0LWFyY2hpdmUgdG8gYmZkIHRvIGVuYWJsZSA2NC1iaXQgYXJjaGl2 ZXMgaW4gYXIgYW5kCnJhbmxpYi4gIFNpbmNlIGJvdGggNjQtYml0IE1JUFMg YW5kIHMzOTAgRUxGIHRhcmdldHMgY3VycmVudGx5IHVzZQo2NC1iaXQgYXJj aGl2ZXMsIDY0LWJpdCBhcmNoaXZlcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0 IGZvciB0aGVtLgo2NC1iaXQgYXJjaGl2ZSBpcyBnZW5lcmF0ZWQgYXV0b21h dGljYWxseSBpZiB0aGUgYXJjaGl2ZSBpcyB0b28gYmlnLgoKVGVzdGVkIG9u IExpbnV4L3g4NiBhbmQgTGludXgveDg2LTY0IHdpdGggZXhpc3RpbmcgbGQg YW5kIGdvbGQuCgpiZmQvCgoJUFIgYmludXRpbHMvMTQ2MjUKCSogYXJjaGl2 ZS5jIChiZmRfc2x1cnBfYXJtYXApOiBSZXBsYWNlCgliZmRfZWxmNjRfYXJj aGl2ZV9zbHVycF9hcm1hcCB3aXRoCglfYmZkX2FyY2hpdmVfNjRfYml0X3Ns dXJwX2FybWFwLgoJKGJzZF93cml0ZV9hcm1hcCk6IENhbGwgX2JmZF9hcmNo aXZlXzY0X2JpdF93cml0ZV9hcm1hcCBpZgoJQkZENjQgaXMgZGVmaW5lZCBh bmQgdGhlIGFyY2hpdmUgaXMgdG9vIGJpZy4KCShjb2ZmX3dyaXRlX2FybWFw KTogTGlrZXdpc2UuCgkqIGFyY2hpdmU2NC5jIChiZmRfZWxmNjRfYXJjaGl2 ZV9zbHVycF9hcm1hcCk6IFJlbmFtZWQgdG8gLi4uCgkoX2JmZF9hcmNoaXZl XzY0X2JpdF9zbHVycF9hcm1hcCk6IFRoaXMuCgkoYmZkX2VsZjY0X2FyY2hp dmVfd3JpdGVfYXJtYXApOiBSZW5hbWVkIHRvIC4uLgoJKF9iZmRfYXJjaGl2 ZV82NF9iaXRfd3JpdGVfYXJtYXApOiBUaGlzLgoJKiBjb25maWd1cmUuYWM6 IEFkZCAtLWVuYWJsZS02NC1iaXQtYXJjaGl2ZS4KCSh3YW50XzY0X2JpdF9h cmNoaXZlKTogTmV3LiAgU2V0IHRvIHRydWUgYnkgZGVmYXVsdCBmb3IgNjQt Yml0CglNSVBTIGFuZCBzMzkwIEVMRiB0YXJnZXRzLgoJKFVTRV82NF9CSVRf QVJDSElWRSk6IE5ldyBBQ19ERUZJTkUuCgkqIGNvbmZpZy5pbjogUmVnZW5l cmF0ZWQuCgkqIGNvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIGVsZjY0LW1pcHMu YyAoYmZkX2VsZjY0X2FyY2hpdmVfZnVuY3Rpb25zKTogUmVtb3ZlZC4KCShi ZmRfZWxmNjRfYXJjaGl2ZV9zbHVycF9hcm1hcCk6IExpa2V3aXNlLgoJKGJm ZF9lbGY2NF9hcmNoaXZlX3dyaXRlX2FybWFwKTogTGlrZXdpc2UuCgkoYmZk X2VsZjY0X2FyY2hpdmVfc2x1cnBfZXh0ZW5kZWRfbmFtZV90YWJsZSk6IExp a2V3aXNlLgoJKGJmZF9lbGY2NF9hcmNoaXZlX2NvbnN0cnVjdF9leHRlbmRl ZF9uYW1lX3RhYmxlKTogTGlrZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hpdmVf dHJ1bmNhdGVfYXJuYW1lKTogTGlrZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hp dmVfcmVhZF9hcl9oZHIpOiBMaWtld2lzZS4KCShiZmRfZWxmNjRfYXJjaGl2 ZV93cml0ZV9hcl9oZHIpOiBMaWtld2lzZS4KCShiZmRfZWxmNjRfYXJjaGl2 ZV9vcGVucl9uZXh0X2FyY2hpdmVkX2ZpbGUpOiBMaWtld2lzZS4KCShiZmRf ZWxmNjRfYXJjaGl2ZV9nZXRfZWx0X2F0X2luZGV4KTogTGlrZXdpc2UuCgko YmZkX2VsZjY0X2FyY2hpdmVfZ2VuZXJpY19zdGF0X2FyY2hfZWx0KTogTGlr ZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hpdmVfdXBkYXRlX2FybWFwX3RpbWVz dGFtcCk6IExpa2V3aXNlLgoJKiBlbGY2NC1zMzkwLmMgKGJmZF9lbGY2NF9h cmNoaXZlX2Z1bmN0aW9ucyk6IFJlbW92ZWQuCgkoYmZkX2VsZjY0X2FyY2hp dmVfc2x1cnBfYXJtYXApOiBMaWtld2lzZS4KCShiZmRfZWxmNjRfYXJjaGl2 ZV93cml0ZV9hcm1hcCk6IExpa2V3aXNlLgoJKGJmZF9lbGY2NF9hcmNoaXZl X3NsdXJwX2V4dGVuZGVkX25hbWVfdGFibGUpOiBMaWtld2lzZS4KCShiZmRf ZWxmNjRfYXJjaGl2ZV9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90YWJsZSk6 IExpa2V3aXNlLgoJKGJmZF9lbGY2NF9hcmNoaXZlX3RydW5jYXRlX2FybmFt ZSk6IExpa2V3aXNlLgoJKGJmZF9lbGY2NF9hcmNoaXZlX3JlYWRfYXJfaGRy KTogTGlrZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hpdmVfd3JpdGVfYXJfaGRy KTogTGlrZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hpdmVfb3BlbnJfbmV4dF9h cmNoaXZlZF9maWxlKTogTGlrZXdpc2UuCgkoYmZkX2VsZjY0X2FyY2hpdmVf Z2V0X2VsdF9hdF9pbmRleCk6IExpa2V3aXNlLgoJKGJmZF9lbGY2NF9hcmNo aXZlX2dlbmVyaWNfc3RhdF9hcmNoX2VsdCk6IExpa2V3aXNlLgoJKGJmZF9l bGY2NF9hcmNoaXZlX3VwZGF0ZV9hcm1hcF90aW1lc3RhbXApOiBMaWtld2lz ZS4KCSogZWxmeHgtdGFyZ2V0LmggKFRBUkdFVF9CSUdfU1lNKTogVXNlIF9i ZmRfYXJjaGl2ZV82NF9iaXQgb24KCUJGRF9KVU1QX1RBQkxFX0FSQ0hJVkUg aWYgVVNFXzY0X0JJVF9BUkNISVZFIGlzIGRlZmluZWQgYW5kCgliZmRfZWxm Tk5fYXJjaGl2ZV9mdW5jdGlvbnMgaXNuJ3QgZGVmaW5lZC4KCShUQVJHRVRf TElUVExFX1NZTSk6IExpa2V3aXNlLgoJKiBsaWJiZmQtaW4uaCAoX2JmZF9h cmNoaXZlXzY0X2JpdF9zbHVycF9hcm1hcCk6IE5ldyBwcm90b3R5cGUuCgko X2JmZF9hcmNoaXZlXzY0X2JpdF93cml0ZV9hcm1hcCk6IExpa2V3aXNlLgoJ KF9iZmRfYXJjaGl2ZV82NF9iaXRfc2x1cnBfZXh0ZW5kZWRfbmFtZV90YWJs ZSk6IE5ldyBtYWNyby4KCShfYmZkX2FyY2hpdmVfNjRfYml0X2NvbnN0cnVj dF9leHRlbmRlZF9uYW1lX3RhYmxlKTogTGlrZXdpc2UuCgkoX2JmZF9hcmNo aXZlXzY0X2JpdF90cnVuY2F0ZV9hcm5hbWUpOiBMaWtld2lzZS4KCShfYmZk X2FyY2hpdmVfNjRfYml0X3JlYWRfYXJfaGRyKTogTGlrZXdpc2UuCgkoX2Jm ZF9hcmNoaXZlXzY0X2JpdF93cml0ZV9hcl9oZHIpOiBMaWtld2lzZS4KCShf YmZkX2FyY2hpdmVfNjRfYml0X29wZW5yX25leHRfYXJjaGl2ZWRfZmlsZSk6 IExpa2V3aXNlLgoJKF9iZmRfYXJjaGl2ZV82NF9iaXRfZ2V0X2VsdF9hdF9p bmRleCk6IExpa2V3aXNlLgoJKF9iZmRfYXJjaGl2ZV82NF9iaXRfZ2VuZXJp Y19zdGF0X2FyY2hfZWx0KTogTGlrZXdpc2UuCgkoX2JmZF9hcmNoaXZlXzY0 X2JpdF91cGRhdGVfYXJtYXBfdGltZXN0YW1wKTogTGlrZXdpc2UuCgkqIGxp YmJmZC5oOiBSZWdlbmVyYXRlZC4KCSogcGx1Z2luLmMgKHBsdWdpbl92ZWMp OiBVc2UgX2JmZF9hcmNoaXZlXzY0X2JpdCBvbgoJQkZEX0pVTVBfVEFCTEVf QVJDSElWRSBpZiBVU0VfNjRfQklUX0FSQ0hJVkUgaXMgZGVmaW5lZC4KCmJp bnV0aWxzLwoKCVBSIGJpbnV0aWxzLzE0NjI1CgkqIE5FV1M6IE1lbnRpb24g LS1lbmFibGUtNjQtYml0LWFyY2hpdmUuCi0tLQogYmZkL2FyY2hpdmUuYyAg ICAgIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tCiBiZmQvYXJjaGl2ZTY0LmMgICAgfCAyMSAr KysrKystLS0tLS0tCiBiZmQvY29uZmlnLmluICAgICAgfCAgMyArKwogYmZk L2NvbmZpZ3VyZSAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKy0tCiBi ZmQvY29uZmlndXJlLmFjICAgfCAyNyArKysrKysrKysrKysrKysrCiBiZmQv ZWxmNjQtbWlwcy5jICAgfCAyMyAtLS0tLS0tLS0tLS0tLQogYmZkL2VsZjY0 LXMzOTAuYyAgIHwgMTUgLS0tLS0tLS0tCiBiZmQvZWxmeHgtdGFyZ2V0Lmgg fCAgNCArKysKIGJmZC9saWJiZmQtaW4uaCAgICB8IDIzICsrKysrKysrKysr KysrCiBiZmQvbGliYmZkLmggICAgICAgfCAyMyArKysrKysrKysrKysrKwog YmZkL3BsdWdpbi5jICAgICAgIHwgIDQgKysrCiBiaW51dGlscy9ORVdTICAg ICAgfCAgMyArKwogMTIgZmlsZXMgY2hhbmdlZCwgMjEwIGluc2VydGlvbnMo KyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2JmZC9hcmNoaXZl LmMgYi9iZmQvYXJjaGl2ZS5jCmluZGV4IDUzZTI5NWUuLmU2MjA5MDUgMTAw NjQ0Ci0tLSBhL2JmZC9hcmNoaXZlLmMKKysrIGIvYmZkL2FyY2hpdmUuYwpA QCAtMTE0NCwxMCArMTE0NCw5IEBAIGJmZF9zbHVycF9hcm1hcCAoYmZkICph YmZkKQogICAgIHJldHVybiBkb19zbHVycF9jb2ZmX2FybWFwIChhYmZkKTsK ICAgZWxzZSBpZiAoQ09OU1RfU1RSTkVRIChuZXh0bmFtZSwgIi9TWU02NC8g ICAgICAgICAiKSkKICAgICB7Ci0gICAgICAvKiA2NGJpdCBFTEYgKElyaXgg NikgYXJjaGl2ZS4gICovCisgICAgICAvKiA2NGJpdCAoSXJpeCA2KSBhcmNo aXZlLiAgKi8KICNpZmRlZiBCRkQ2NAotICAgICAgZXh0ZXJuIGJmZF9ib29s ZWFuIGJmZF9lbGY2NF9hcmNoaXZlX3NsdXJwX2FybWFwIChiZmQgKik7Ci0g ICAgICByZXR1cm4gYmZkX2VsZjY0X2FyY2hpdmVfc2x1cnBfYXJtYXAgKGFi ZmQpOworICAgICAgcmV0dXJuIF9iZmRfYXJjaGl2ZV82NF9iaXRfc2x1cnBf YXJtYXAgKGFiZmQpOwogI2Vsc2UKICAgICAgIGJmZF9zZXRfZXJyb3IgKGJm ZF9lcnJvcl93cm9uZ19mb3JtYXQpOwogICAgICAgcmV0dXJuIEZBTFNFOwpA QCAtMjQ2NiwxNSArMjQ2NSw0OSBAQCBic2Rfd3JpdGVfYXJtYXAgKGJmZCAq YXJjaCwKICAgdW5zaWduZWQgaW50IHN0cmluZ3NpemUgPSBzdHJpZHggKyBw YWRpdDsKICAgLyogSW5jbHVkZSA4IGJ5dGVzIHRvIHN0b3JlIHJhbmxpYnNp emUgYW5kIHN0cmluZ3NpemUgaW4gb3V0cHV0LiAgKi8KICAgdW5zaWduZWQg aW50IG1hcHNpemUgPSByYW5saWJzaXplICsgc3RyaW5nc2l6ZSArIDg7Ci0g IGZpbGVfcHRyIGZpcnN0cmVhbDsKLSAgYmZkICpjdXJyZW50ID0gYXJjaC0+ YXJjaGl2ZV9oZWFkOwotICBiZmQgKmxhc3RfZWx0ID0gY3VycmVudDsJLyog TGFzdCBlbGVtZW50IGFyY2ggc2Vlbi4gICovCisgIGZpbGVfcHRyIGZpcnN0 cmVhbCwgZmlyc3Q7CisgIGJmZCAqY3VycmVudDsKKyAgYmZkICpsYXN0X2Vs dDsKICAgYmZkX2J5dGUgdGVtcFs0XTsKICAgdW5zaWduZWQgaW50IGNvdW50 OwogICBzdHJ1Y3QgYXJfaGRyIGhkcjsKICAgbG9uZyB1aWQsIGdpZDsKIAot ICBmaXJzdHJlYWwgPSBtYXBzaXplICsgZWxlbmd0aCArIHNpemVvZiAoc3Ry dWN0IGFyX2hkcikgKyBTQVJNQUc7CisgIGZpcnN0ID0gbWFwc2l6ZSArIGVs ZW5ndGggKyBzaXplb2YgKHN0cnVjdCBhcl9oZHIpICsgU0FSTUFHOworCisj aWZkZWYgQkZENjQKKyAgZmlyc3RyZWFsID0gZmlyc3Q7CisgIGN1cnJlbnQg PSBhcmNoLT5hcmNoaXZlX2hlYWQ7CisgIGxhc3RfZWx0ID0gY3VycmVudDsJ LyogTGFzdCBlbGVtZW50IGFyY2ggc2Vlbi4gICovCisgIGZvciAoY291bnQg PSAwOyBjb3VudCA8IG9ybF9jb3VudDsgY291bnQrKykKKyAgICB7CisgICAg ICB1bnNpZ25lZCBpbnQgb2Zmc2V0OworCisgICAgICBpZiAobWFwW2NvdW50 XS51LmFiZmQgIT0gbGFzdF9lbHQpCisJeworCSAgZG8KKwkgICAgeworCSAg ICAgIHN0cnVjdCBhcmVsdGRhdGEgKmFyZWQgPSBhcmNoX2VsdGRhdGEgKGN1 cnJlbnQpOworCisJICAgICAgZmlyc3RyZWFsICs9IChhcmVkLT5wYXJzZWRf c2l6ZSArIGFyZWQtPmV4dHJhX3NpemUKKwkJCSAgICArIHNpemVvZiAoc3Ry dWN0IGFyX2hkcikpOworCSAgICAgIGZpcnN0cmVhbCArPSBmaXJzdHJlYWwg JSAyOworCSAgICAgIGN1cnJlbnQgPSBjdXJyZW50LT5hcmNoaXZlX25leHQ7 CisJICAgIH0KKwkgIHdoaWxlIChjdXJyZW50ICE9IG1hcFtjb3VudF0udS5h YmZkKTsKKwl9CisKKyAgICAgIC8qIFRoZSBhcmNoaXZlIGZpbGUgZm9ybWF0 IG9ubHkgaGFzIDQgYnl0ZXMgdG8gc3RvcmUgdGhlIG9mZnNldAorCSBvZiB0 aGUgbWVtYmVyLiAgR2VuZXJhdGUgNjQtYml0IGFyY2hpdmUgaWYgYW4gYXJj aGl2ZSBwYXN0IGl0cworCSA0R2IgbGltaXQuICAqLworICAgICAgb2Zmc2V0 ID0gKHVuc2lnbmVkIGludCkgZmlyc3RyZWFsOworICAgICAgaWYgKGZpcnN0 cmVhbCAhPSAoZmlsZV9wdHIpIG9mZnNldCkKKwlyZXR1cm4gX2JmZF9hcmNo aXZlXzY0X2JpdF93cml0ZV9hcm1hcCAoYXJjaCwgZWxlbmd0aCwgbWFwLAor CQkJCQkJb3JsX2NvdW50LCBzdHJpZHgpOworCisgICAgICBsYXN0X2VsdCA9 IGN1cnJlbnQ7CisgICAgfQorI2VuZGlmCiAKICAgLyogSWYgZGV0ZXJtaW5p c3RpYywgd2UgdXNlIDAgYXMgdGhlIHRpbWVzdGFtcCBpbiB0aGUgbWFwLgog ICAgICBTb21lIGxpbmtlcnMgbWF5IHJlcXVpcmUgdGhhdCB0aGUgYXJjaGl2 ZSBmaWxlc3lzdGVtIG1vZGlmaWNhdGlvbgpAQCAtMjUxMyw2ICsyNTQ2LDkg QEAgYnNkX3dyaXRlX2FybWFwIChiZmQgKmFyY2gsCiAgIGlmIChiZmRfYndy aXRlICh0ZW1wLCBzaXplb2YgKHRlbXApLCBhcmNoKSAhPSBzaXplb2YgKHRl bXApKQogICAgIHJldHVybiBGQUxTRTsKIAorICBmaXJzdHJlYWwgPSBmaXJz dDsKKyAgY3VycmVudCA9IGFyY2gtPmFyY2hpdmVfaGVhZDsKKyAgbGFzdF9l bHQgPSBjdXJyZW50OwkvKiBMYXN0IGVsZW1lbnQgYXJjaCBzZWVuLiAgKi8K ICAgZm9yIChjb3VudCA9IDA7IGNvdW50IDwgb3JsX2NvdW50OyBjb3VudCsr KQogICAgIHsKICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQ7CkBAIC0yNjU0 LDYgKzI2OTAsNyBAQCBjb2ZmX3dyaXRlX2FybWFwIChiZmQgKmFyY2gsCiAg IHVuc2lnbmVkIGludCBzdHJpbmdzaXplID0gc3RyaWR4OwogICB1bnNpZ25l ZCBpbnQgbWFwc2l6ZSA9IHN0cmluZ3NpemUgKyByYW5saWJzaXplOwogICBm aWxlX3B0ciBhcmNoaXZlX21lbWJlcl9maWxlX3B0cjsKKyAgZmlsZV9wdHIg Zmlyc3RfYXJjaGl2ZV9tZW1iZXJfZmlsZV9wdHI7CiAgIGJmZCAqY3VycmVu dCA9IGFyY2gtPmFyY2hpdmVfaGVhZDsKICAgdW5zaWduZWQgaW50IGNvdW50 OwogICBzdHJ1Y3QgYXJfaGRyIGhkcjsKQEAgLTI2NjMsMTAgKzI3MDAsNDEg QEAgY29mZl93cml0ZV9hcm1hcCAoYmZkICphcmNoLAogICAgIG1hcHNpemUr KzsKIAogICAvKiBXb3JrIG91dCB3aGVyZSB0aGUgZmlyc3Qgb2JqZWN0IGZp bGUgd2lsbCBnbyBpbiB0aGUgYXJjaGl2ZS4gICovCi0gIGFyY2hpdmVfbWVt YmVyX2ZpbGVfcHRyID0gKG1hcHNpemUKLQkJCSAgICAgKyBlbGVuZ3RoCi0J CQkgICAgICsgc2l6ZW9mIChzdHJ1Y3QgYXJfaGRyKQotCQkJICAgICArIFNB Uk1BRyk7CisgIGZpcnN0X2FyY2hpdmVfbWVtYmVyX2ZpbGVfcHRyID0gKG1h cHNpemUKKwkJCQkgICArIGVsZW5ndGgKKwkJCQkgICArIHNpemVvZiAoc3Ry dWN0IGFyX2hkcikKKwkJCQkgICArIFNBUk1BRyk7CisKKyNpZmRlZiBCRkQ2 NAorICBjdXJyZW50ID0gYXJjaC0+YXJjaGl2ZV9oZWFkOworICBjb3VudCA9 IDA7CisgIGFyY2hpdmVfbWVtYmVyX2ZpbGVfcHRyID0gZmlyc3RfYXJjaGl2 ZV9tZW1iZXJfZmlsZV9wdHI7CisgIHdoaWxlIChjdXJyZW50ICE9IE5VTEwg JiYgY291bnQgPCBzeW1ib2xfY291bnQpCisgICAgeworICAgICAgLyogRm9y IGVhY2ggc3ltYm9sIHdoaWNoIGlzIHVzZWQgZGVmaW5lZCBpbiB0aGlzIG9i amVjdCwgd3JpdGUKKwkgb3V0IHRoZSBvYmplY3QgZmlsZSdzIGFkZHJlc3Mg aW4gdGhlIGFyY2hpdmUuICAqLworCisgICAgICB3aGlsZSAoY291bnQgPCBz eW1ib2xfY291bnQgJiYgbWFwW2NvdW50XS51LmFiZmQgPT0gY3VycmVudCkK Kwl7CisJICB1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gKHVuc2lnbmVkIGludCkg YXJjaGl2ZV9tZW1iZXJfZmlsZV9wdHI7CisKKwkgIC8qIEdlbmVyYXRlIDY0 LWJpdCBhcmNoaXZlIGlmIGFuIGFyY2hpdmUgcGFzdCBpdHMgNEdiIGxpbWl0 LiAgKi8KKwkgIGlmIChhcmNoaXZlX21lbWJlcl9maWxlX3B0ciAhPSAoZmls ZV9wdHIpIG9mZnNldCkKKwkgICAgcmV0dXJuIF9iZmRfYXJjaGl2ZV82NF9i aXRfd3JpdGVfYXJtYXAgKGFyY2gsIGVsZW5ndGgsIG1hcCwKKwkJCQkJCSAg ICBzeW1ib2xfY291bnQsIHN0cmlkeCk7CisJICBjb3VudCsrOworCX0KKyAg ICAgIGFyY2hpdmVfbWVtYmVyX2ZpbGVfcHRyICs9IHNpemVvZiAoc3RydWN0 IGFyX2hkcik7CisgICAgICBpZiAoISBiZmRfaXNfdGhpbl9hcmNoaXZlIChh cmNoKSkKKwl7CisJICAvKiBBZGQgc2l6ZSBvZiB0aGlzIGFyY2hpdmUgZW50 cnkuICAqLworCSAgYXJjaGl2ZV9tZW1iZXJfZmlsZV9wdHIgKz0gYXJlbHRf c2l6ZSAoY3VycmVudCk7CisJICAvKiBSZW1lbWJlciBhYm91dCB0aGUgZXZl biBhbGlnbm1lbnQuICAqLworCSAgYXJjaGl2ZV9tZW1iZXJfZmlsZV9wdHIg Kz0gYXJjaGl2ZV9tZW1iZXJfZmlsZV9wdHIgJSAyOworCX0KKyAgICAgIGN1 cnJlbnQgPSBjdXJyZW50LT5hcmNoaXZlX25leHQ7CisgICAgfQorI2VuZGlm CiAKICAgbWVtc2V0ICgmaGRyLCAnICcsIHNpemVvZiAoc3RydWN0IGFyX2hk cikpOwogICBoZHIuYXJfbmFtZVswXSA9ICcvJzsKQEAgLTI2OTcsNiArMjc2 NSw3IEBAIGNvZmZfd3JpdGVfYXJtYXAgKGJmZCAqYXJjaCwKIAogICBjdXJy ZW50ID0gYXJjaC0+YXJjaGl2ZV9oZWFkOwogICBjb3VudCA9IDA7CisgIGFy Y2hpdmVfbWVtYmVyX2ZpbGVfcHRyID0gZmlyc3RfYXJjaGl2ZV9tZW1iZXJf ZmlsZV9wdHI7CiAgIHdoaWxlIChjdXJyZW50ICE9IE5VTEwgJiYgY291bnQg PCBzeW1ib2xfY291bnQpCiAgICAgewogICAgICAgLyogRm9yIGVhY2ggc3lt Ym9sIHdoaWNoIGlzIHVzZWQgZGVmaW5lZCBpbiB0aGlzIG9iamVjdCwgd3Jp dGUKZGlmZiAtLWdpdCBhL2JmZC9hcmNoaXZlNjQuYyBiL2JmZC9hcmNoaXZl NjQuYwppbmRleCAzMTkyZjQwLi5iZTFhYzdjIDEwMDY0NAotLS0gYS9iZmQv YXJjaGl2ZTY0LmMKKysrIGIvYmZkL2FyY2hpdmU2NC5jCkBAIC0xLDQgKzEs NCBAQAotLyogU3VwcG9ydCBmb3IgNjQtYml0IEVMRiBhcmNoaXZlcy4KKy8q IFN1cHBvcnQgZm9yIDY0LWJpdCBhcmNoaXZlcy4KICAgIENvcHlyaWdodCAo QykgMTk5Ni0yMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog ICAgSWFuIExhbmNlIFRheWxvciwgQ3lnbnVzIFN1cHBvcnQKICAgIExpbmtl ciBzdXBwb3J0IGFkZGVkIGJ5IE1hcmsgTWl0Y2hlbGwsIENvZGVTb3VyY2Vy eSwgTExDLgpAQCAtMjEsNyArMjEsOCBAQAogICAgRm91bmRhdGlvbiwgSW5j LiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwK ICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCiAKLS8qIFRoaXMgZmlsZSBz dXBwb3J0cyB0aGUgNjQtYml0IChNSVBTKSBFTEYgYXJjaGl2ZXMuICAqLwor LyogVGhpcyBmaWxlIHN1cHBvcnRzIHRoZSA2NC1iaXQgYXJjaGl2ZXMuICBX ZSB1c2UgdGhlIHNhbWUgZm9ybWF0IGFzCisgICB0aGUgNjQtYml0IChNSVBT KSBFTEYgYXJjaGl2ZXMuICAqLwogCiAjaW5jbHVkZSAic3lzZGVwLmgiCiAj aW5jbHVkZSAiYmZkLmgiCkBAIC0zMSwxNCArMzIsMTAgQEAKIC8qIElyaXgg NiBkZWZpbmVzIGEgNjRiaXQgYXJjaGl2ZSBtYXAgZm9ybWF0LCBzbyB0aGF0 IHRoZXkgY2FuCiAgICBoYXZlIGFyY2hpdmVzIG1vcmUgdGhhbiA0IEdCIGlu IHNpemUuICAqLwogCi1iZmRfYm9vbGVhbiBiZmRfZWxmNjRfYXJjaGl2ZV9z bHVycF9hcm1hcCAoYmZkICopOwotYmZkX2Jvb2xlYW4gYmZkX2VsZjY0X2Fy Y2hpdmVfd3JpdGVfYXJtYXAKLSAgKGJmZCAqLCB1bnNpZ25lZCBpbnQsIHN0 cnVjdCBvcmwgKiwgdW5zaWduZWQgaW50LCBpbnQpOwotCiAvKiBSZWFkIGFu IElyaXggNiBhcm1hcC4gICovCiAKIGJmZF9ib29sZWFuCi1iZmRfZWxmNjRf YXJjaGl2ZV9zbHVycF9hcm1hcCAoYmZkICphYmZkKQorX2JmZF9hcmNoaXZl XzY0X2JpdF9zbHVycF9hcm1hcCAoYmZkICphYmZkKQogewogICBzdHJ1Y3Qg YXJ0ZGF0YSAqYXJkYXRhID0gYmZkX2FyZGF0YSAoYWJmZCk7CiAgIGNoYXIg bmV4dG5hbWVbMTddOwpAQCAtMTUwLDExICsxNDcsMTEgQEAgcmVsZWFzZV9z eW1kZWZzOgogICAgbGlua2VyIGNyYXNoZXMuICAqLwogCiBiZmRfYm9vbGVh bgotYmZkX2VsZjY0X2FyY2hpdmVfd3JpdGVfYXJtYXAgKGJmZCAqYXJjaCwK LQkJCSAgICAgICB1bnNpZ25lZCBpbnQgZWxlbmd0aCwKLQkJCSAgICAgICBz dHJ1Y3Qgb3JsICptYXAsCi0JCQkgICAgICAgdW5zaWduZWQgaW50IHN5bWJv bF9jb3VudCwKLQkJCSAgICAgICBpbnQgc3RyaWR4KQorX2JmZF9hcmNoaXZl XzY0X2JpdF93cml0ZV9hcm1hcCAoYmZkICphcmNoLAorCQkJCSB1bnNpZ25l ZCBpbnQgZWxlbmd0aCwKKwkJCQkgc3RydWN0IG9ybCAqbWFwLAorCQkJCSB1 bnNpZ25lZCBpbnQgc3ltYm9sX2NvdW50LAorCQkJCSBpbnQgc3RyaWR4KQog ewogICB1bnNpZ25lZCBpbnQgcmFubGlic2l6ZSA9IChzeW1ib2xfY291bnQg KiA4KSArIDg7CiAgIHVuc2lnbmVkIGludCBzdHJpbmdzaXplID0gc3RyaWR4 OwpkaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5pbiBiL2JmZC9jb25maWcuaW4K aW5kZXggY2ZmYWRiYi4uMzQxYWZhZSAxMDA2NDQKLS0tIGEvYmZkL2NvbmZp Zy5pbgorKysgYi9iZmQvY29uZmlnLmluCkBAIC0zMzcsNiArMzM3LDkgQEAK IC8qIE5hbWUgb2YgaG9zdCBzcGVjaWZpYyBoZWFkZXIgZmlsZSB0byBpbmNs dWRlIGluIHRyYWQtY29yZS5jLiAqLwogI3VuZGVmIFRSQURfSEVBREVSCiAK Ky8qIERlZmluZSBpZiB3ZSBzaG91bGQgdXNlIDY0LWJpdCBhcmNoaXZlcy4g Ki8KKyN1bmRlZiBVU0VfNjRfQklUX0FSQ0hJVkUKKwogLyogVXNlIGIgbW9k aWZpZXIgd2hlbiBvcGVuaW5nIGJpbmFyeSBmaWxlcz8gKi8KICN1bmRlZiBV U0VfQklOQVJZX0ZPUEVOCiAKZGlmZiAtLWdpdCBhL2JmZC9jb25maWd1cmUg Yi9iZmQvY29uZmlndXJlCmluZGV4IGY4NjE3YjkuLmVlNjk1MGIgMTAwNzU1 Ci0tLSBhL2JmZC9jb25maWd1cmUKKysrIGIvYmZkL2NvbmZpZ3VyZQpAQCAt Nzg5LDYgKzc4OSw3IEBAIGVuYWJsZV9wbHVnaW5zCiBlbmFibGVfbGFyZ2Vm aWxlCiBlbmFibGVfNjRfYml0X2JmZAogZW5hYmxlX3RhcmdldHMKK2VuYWJs ZV82NF9iaXRfYXJjaGl2ZQogd2l0aF9tbWFwCiBlbmFibGVfc2VjdXJlcGx0 CiBlbmFibGVfbGVhZGluZ19taW5ndzY0X3VuZGVyc2NvcmVzCkBAIC0xNDQy LDYgKzE0NDMsNyBAQCBPcHRpb25hbCBGZWF0dXJlczoKICAgLS1kaXNhYmxl LWxhcmdlZmlsZSAgICAgb21pdCBzdXBwb3J0IGZvciBsYXJnZSBmaWxlcwog ICAtLWVuYWJsZS02NC1iaXQtYmZkICAgICA2NC1iaXQgc3VwcG9ydCAob24g aG9zdHMgd2l0aCBuYXJyb3dlciB3b3JkIHNpemVzKQogICAtLWVuYWJsZS10 YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlv bnMKKyAgLS1lbmFibGUtNjQtYml0LWFyY2hpdmUgdXNlIDY0LWJpdCBhcmNo aXZlcwogICAtLWVuYWJsZS1zZWN1cmVwbHQgICAgICBEZWZhdWx0IHRvIGNy ZWF0aW5nIHJlYWQtb25seSBwbHQgZW50cmllcwogICAtLWVuYWJsZS1sZWFk aW5nLW1pbmd3NjQtdW5kZXJzY29yZXMKICAgICAgICAgICAgICAgICAgICAg ICAgICAgRW5hYmxlIGxlYWRpbmcgdW5kZXJzY29yZXMgb24gNjQgYml0IG1p bmd3IHRhcmdldHMKQEAgLTExNDI1LDcgKzExNDI3LDcgQEAgZWxzZQogICBs dF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3Vz Y29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNv bmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMTQyOCAiY29uZmln dXJlIgorI2xpbmUgMTE0MzAgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25m ZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xMTUzMSw3ICsxMTUz Myw3IEBAIGVsc2UKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3Jl PTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5r bm93bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xp bmUgMTE1MzQgImNvbmZpZ3VyZSIKKyNsaW5lIDExNTM2ICJjb25maWd1cmUi CiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhBVkVfRExGQ05fSApA QCAtMTIxMjksNiArMTIxMzEsMTkgQEAgaWYgdGVzdCAiJHtlbmFibGVfdGFy Z2V0cytzZXR9IiA9IHNldDsgdGhlbiA6CiBlc2FjCiBmaQogCisjIFNpbmNl IHRoZSBwbHVnaW4gdGFyZ2V0IGlzIHVzZWQgdG8gY3JlYXRlIGFyY2hpdmUg aW4gcGx1Z2luLWVuYWJsZWQKKyMgYXIsIHdlIG5lZWQgYSB3YXkgdG8gZW5h YmxlIDY0LWJpdCBhcmNoaXZlcyBpbiB0aGUgcGx1Z2luIHRhcmdldC4KKyMg Q2hlY2sgd2hldGhlciAtLWVuYWJsZS02NF9iaXRfYXJjaGl2ZSB3YXMgZ2l2 ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV82NF9iaXRfYXJjaGl2ZStzZXR9IiA9 IHNldDsgdGhlbiA6CisgIGVuYWJsZXZhbD0kZW5hYmxlXzY0X2JpdF9hcmNo aXZlOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCisgIHllcykgIHdhbnRfNjRf Yml0X2FyY2hpdmU9dHJ1ZSAgOzsKKyAgbm8pICAgd2FudF82NF9iaXRfYXJj aGl2ZT1mYWxzZSA7OworICAqKSAgICBhc19mbl9lcnJvciAiYmFkIHZhbHVl ICR7ZW5hYmxldmFsfSBmb3IgNjQtYml0LWFyY2hpdmUgb3B0aW9uIiAiJExJ TkVOTyIgNSA7OworZXNhYworZWxzZQorICB3YW50XzY0X2JpdF9hcmNoaXZl PXVuc2V0CitmaQorCiAKICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbW1hcCB3 YXMgZ2l2ZW4uCiBpZiB0ZXN0ICIke3dpdGhfbW1hcCtzZXR9IiA9IHNldDsg dGhlbiA6CkBAIC0xNDU5Niw2ICsxNDYxMSwyMyBAQCBlbHNlCSMgYWxsX3Rh cmdldHMgaXMgdHJ1ZQogICAgIHNlbGFyY2hzPWBlY2hvICRzZWxhcmNocyB8 IHNlZCAtZSAncy9eL1wmLycgLWUgJ3MvIFwoLlwpLyxcJlwxL2cnYAogZmkJ IyBhbGxfdGFyZ2V0cyBpcyB0cnVlCiAKK2lmIHRlc3QgIngkd2FudF82NF9i aXRfYXJjaGl2ZSIgPSB4dW5zZXQ7IHRoZW4KKyAgIyA2NC1iaXQgTUlQUyBh bmQgczM5MCBFTEYgdGFyZ2V0cyB1c2UgNjQtYml0IGFyY2hpdmVzLgorICBj YXNlICIke2JmZF9iYWNrZW5kc30iIGluCisgICAgKmVsZjY0LW1pcHMqIHwg KmVsZjY0LXMzOTAqKQorICAgICAgd2FudF82NF9iaXRfYXJjaGl2ZT10cnVl CisgICAgICA7OworICBlc2FjCitmaQorCisjIDY0LWJpdCBhcmNoaXZlcyBu ZWVkIGEgNjQtYml0IGJmZF92bWEuCitpZiB0ZXN0ICJ4JHdhbnRfNjRfYml0 X2FyY2hpdmUiID0geHRydWU7IHRoZW4KKyAgd2FudDY0PXRydWUKKworJGFz X2VjaG8gIiNkZWZpbmUgVVNFXzY0X0JJVF9BUkNISVZFIDEiID4+Y29uZmRl ZnMuaAorCitmaQorCiBjYXNlICR7aG9zdDY0fS0ke3RhcmdldDY0fS0ke3dh bnQ2NH0gaW4KICAgKnRydWUqKQogICAgIHdvcmRzaXplPTY0CmRpZmYgLS1n aXQgYS9iZmQvY29uZmlndXJlLmFjIGIvYmZkL2NvbmZpZ3VyZS5hYwppbmRl eCBmNTdkNGQ3Li42ZTM1OTNmIDEwMDY0NAotLS0gYS9iZmQvY29uZmlndXJl LmFjCisrKyBiL2JmZC9jb25maWd1cmUuYWMKQEAgLTY4LDYgKzY4LDE3IEBA IEFDX0FSR19FTkFCTEUodGFyZ2V0cywKICAgKikgICAgICAgIGVuYWJsZV90 YXJnZXRzPSRlbmFibGV2YWwgOzsKIGVzYWNdKWRubAogCisjIFNpbmNlIHRo ZSBwbHVnaW4gdGFyZ2V0IGlzIHVzZWQgdG8gY3JlYXRlIGFyY2hpdmUgaW4g cGx1Z2luLWVuYWJsZWQKKyMgYXIsIHdlIG5lZWQgYSB3YXkgdG8gZW5hYmxl IDY0LWJpdCBhcmNoaXZlcyBpbiB0aGUgcGx1Z2luIHRhcmdldC4KK0FDX0FS R19FTkFCTEUoNjRfYml0X2FyY2hpdmUsCisJICAgICAgQVNfSEVMUF9TVFJJ TkcoWy0tZW5hYmxlLTY0LWJpdC1hcmNoaXZlXSwKKwkgICAgICBbdXNlIDY0 LWJpdCBhcmNoaXZlc10pLAorW2Nhc2UgIiR7ZW5hYmxldmFsfSIgaW4KKyAg eWVzKSAgd2FudF82NF9iaXRfYXJjaGl2ZT10cnVlICA7OworICBubykgICB3 YW50XzY0X2JpdF9hcmNoaXZlPWZhbHNlIDs7CisgICopICAgIEFDX01TR19F UlJPUihiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciA2NC1iaXQtYXJjaGl2 ZSBvcHRpb24pIDs7Citlc2FjXSxbd2FudF82NF9iaXRfYXJjaGl2ZT11bnNl dF0pZG5sCisKIEFDX0FSR19XSVRIKG1tYXAsCiBbICAtLXdpdGgtbW1hcCAg ICAgICAgICAgICB0cnkgdXNpbmcgbW1hcCBmb3IgQkZEIGlucHV0IGZpbGVz IGlmIGF2YWlsYWJsZV0sCiBbY2FzZSAiJHt3aXRodmFsfSIgaW4KQEAgLTc3 NSw2ICs3ODYsMjIgQEAgZWxzZQkjIGFsbF90YXJnZXRzIGlzIHRydWUKICAg ICBzZWxhcmNocz1gZWNobyAkc2VsYXJjaHMgfCBzZWQgLWUgJ3MvXi9cJi8n IC1lICdzLyBcKC5cKS8sXCZcMS9nJ2AKIGZpCSMgYWxsX3RhcmdldHMgaXMg dHJ1ZQogCitpZiB0ZXN0ICJ4JHdhbnRfNjRfYml0X2FyY2hpdmUiID0geHVu c2V0OyB0aGVuCisgICMgNjQtYml0IE1JUFMgYW5kIHMzOTAgRUxGIHRhcmdl dHMgdXNlIDY0LWJpdCBhcmNoaXZlcy4KKyAgY2FzZSAiJHtiZmRfYmFja2Vu ZHN9IiBpbgorICAgICplbGY2NC1taXBzKiB8ICplbGY2NC1zMzkwKikKKyAg ICAgIHdhbnRfNjRfYml0X2FyY2hpdmU9dHJ1ZQorICAgICAgOzsKKyAgZXNh YworZmkKKworIyA2NC1iaXQgYXJjaGl2ZXMgbmVlZCBhIDY0LWJpdCBiZmRf dm1hLgoraWYgdGVzdCAieCR3YW50XzY0X2JpdF9hcmNoaXZlIiA9IHh0cnVl OyB0aGVuCisgIHdhbnQ2ND10cnVlCisgIEFDX0RFRklORShVU0VfNjRfQklU X0FSQ0hJVkUsIDEsCisgICAgW0RlZmluZSBpZiB3ZSBzaG91bGQgdXNlIDY0 LWJpdCBhcmNoaXZlcy5dKQorZmkKKwogY2FzZSAke2hvc3Q2NH0tJHt0YXJn ZXQ2NH0tJHt3YW50NjR9IGluCiAgICp0cnVlKikKICAgICB3b3Jkc2l6ZT02 NApkaWZmIC0tZ2l0IGEvYmZkL2VsZjY0LW1pcHMuYyBiL2JmZC9lbGY2NC1t aXBzLmMKaW5kZXggNmJlZGViYy4uMzQxNDRmMCAxMDA2NDQKLS0tIGEvYmZk L2VsZjY0LW1pcHMuYworKysgYi9iZmQvZWxmNjQtbWlwcy5jCkBAIC00NDc4 LDI5ICs0NDc4LDYgQEAgY29uc3Qgc3RydWN0IGVsZl9zaXplX2luZm8gbWlw c19lbGY2NF9zaXplX2luZm8gPQogI2RlZmluZSBiZmRfZWxmNjRfYmZkX3Jl bGF4X3NlY3Rpb24gICAgIF9iZmRfbWlwc19yZWxheF9zZWN0aW9uCiAjZGVm aW5lIGJmZF9lbGY2NF9ta29iamVjdAkJX2JmZF9taXBzX2VsZl9ta29iamVj dAogCi0vKiBNSVBTIEVMRjY0IGFyY2hpdmUgZnVuY3Rpb25zLiAgKi8KLSNk ZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfZnVuY3Rpb25zCi1leHRlcm4gYmZk X2Jvb2xlYW4gYmZkX2VsZjY0X2FyY2hpdmVfc2x1cnBfYXJtYXAKLSAgKGJm ZCAqKTsKLWV4dGVybiBiZmRfYm9vbGVhbiBiZmRfZWxmNjRfYXJjaGl2ZV93 cml0ZV9hcm1hcAotICAoYmZkICosIHVuc2lnbmVkIGludCwgc3RydWN0IG9y bCAqLCB1bnNpZ25lZCBpbnQsIGludCk7Ci0jZGVmaW5lIGJmZF9lbGY2NF9h cmNoaXZlX3NsdXJwX2V4dGVuZGVkX25hbWVfdGFibGUgXAotCQkJX2JmZF9h cmNoaXZlX2NvZmZfc2x1cnBfZXh0ZW5kZWRfbmFtZV90YWJsZQotI2RlZmlu ZSBiZmRfZWxmNjRfYXJjaGl2ZV9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90 YWJsZSBcCi0JCQlfYmZkX2FyY2hpdmVfY29mZl9jb25zdHJ1Y3RfZXh0ZW5k ZWRfbmFtZV90YWJsZQotI2RlZmluZSBiZmRfZWxmNjRfYXJjaGl2ZV90cnVu Y2F0ZV9hcm5hbWUgXAotCQkJX2JmZF9hcmNoaXZlX2NvZmZfdHJ1bmNhdGVf YXJuYW1lCi0jZGVmaW5lIGJmZF9lbGY2NF9hcmNoaXZlX3JlYWRfYXJfaGRy CV9iZmRfYXJjaGl2ZV9jb2ZmX3JlYWRfYXJfaGRyCi0jZGVmaW5lIGJmZF9l bGY2NF9hcmNoaXZlX3dyaXRlX2FyX2hkcglfYmZkX2FyY2hpdmVfY29mZl93 cml0ZV9hcl9oZHIKLSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfb3BlbnJf bmV4dF9hcmNoaXZlZF9maWxlIFwKLQkJCV9iZmRfYXJjaGl2ZV9jb2ZmX29w ZW5yX25leHRfYXJjaGl2ZWRfZmlsZQotI2RlZmluZSBiZmRfZWxmNjRfYXJj aGl2ZV9nZXRfZWx0X2F0X2luZGV4IFwKLQkJCV9iZmRfYXJjaGl2ZV9jb2Zm X2dldF9lbHRfYXRfaW5kZXgKLSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVf Z2VuZXJpY19zdGF0X2FyY2hfZWx0IFwKLQkJCV9iZmRfYXJjaGl2ZV9jb2Zm X2dlbmVyaWNfc3RhdF9hcmNoX2VsdAotI2RlZmluZSBiZmRfZWxmNjRfYXJj aGl2ZV91cGRhdGVfYXJtYXBfdGltZXN0YW1wIFwKLQkJCV9iZmRfYXJjaGl2 ZV9jb2ZmX3VwZGF0ZV9hcm1hcF90aW1lc3RhbXAKLQogLyogVGhlIFNHSSBz dHlsZSAobik2NCBOZXdBQkkuICAqLwogI2RlZmluZSBUQVJHRVRfTElUVExF X1NZTQkJbWlwc19lbGY2NF9sZV92ZWMKICNkZWZpbmUgVEFSR0VUX0xJVFRM RV9OQU1FCQkiZWxmNjQtbGl0dGxlbWlwcyIKZGlmZiAtLWdpdCBhL2JmZC9l bGY2NC1zMzkwLmMgYi9iZmQvZWxmNjQtczM5MC5jCmluZGV4IGIwODUxNjku LjM5NTA5MzkgMTAwNjQ0Ci0tLSBhL2JmZC9lbGY2NC1zMzkwLmMKKysrIGIv YmZkL2VsZjY0LXMzOTAuYwpAQCAtMzk1NSwxOSArMzk1NSw0IEBAIGNvbnN0 IHN0cnVjdCBlbGZfc2l6ZV9pbmZvIHMzOTBfZWxmNjRfc2l6ZV9pbmZvID0K ICNkZWZpbmUgYmZkX2VsZjY0X21rb2JqZWN0CQllbGZfczM5MF9ta29iamVj dAogI2RlZmluZSBlbGZfYmFja2VuZF9vYmplY3RfcAkJZWxmX3MzOTBfb2Jq ZWN0X3AKIAotLyogRW5hYmxlIEVMRjY0IGFyY2hpdmUgZnVuY3Rpb25zLiAg Ki8KLSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfZnVuY3Rpb25zCi1leHRl cm4gYmZkX2Jvb2xlYW4gYmZkX2VsZjY0X2FyY2hpdmVfc2x1cnBfYXJtYXAg KGJmZCAqKTsKLWV4dGVybiBiZmRfYm9vbGVhbiBiZmRfZWxmNjRfYXJjaGl2 ZV93cml0ZV9hcm1hcCAoYmZkICosIHVuc2lnbmVkIGludCwgc3RydWN0IG9y bCAqLCB1bnNpZ25lZCBpbnQsIGludCk7Ci0KLSNkZWZpbmUgYmZkX2VsZjY0 X2FyY2hpdmVfc2x1cnBfZXh0ZW5kZWRfbmFtZV90YWJsZSAJX2JmZF9hcmNo aXZlX2NvZmZfc2x1cnBfZXh0ZW5kZWRfbmFtZV90YWJsZQotI2RlZmluZSBi ZmRfZWxmNjRfYXJjaGl2ZV9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90YWJs ZSBfYmZkX2FyY2hpdmVfY29mZl9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90 YWJsZQotI2RlZmluZSBiZmRfZWxmNjRfYXJjaGl2ZV90cnVuY2F0ZV9hcm5h bWUgCQlfYmZkX2FyY2hpdmVfY29mZl90cnVuY2F0ZV9hcm5hbWUKLSNkZWZp bmUgYmZkX2VsZjY0X2FyY2hpdmVfcmVhZF9hcl9oZHIJCQlfYmZkX2FyY2hp dmVfY29mZl9yZWFkX2FyX2hkcgotI2RlZmluZSBiZmRfZWxmNjRfYXJjaGl2 ZV93cml0ZV9hcl9oZHIJCQlfYmZkX2FyY2hpdmVfY29mZl93cml0ZV9hcl9o ZHIKLSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfb3BlbnJfbmV4dF9hcmNo aXZlZF9maWxlIAlfYmZkX2FyY2hpdmVfY29mZl9vcGVucl9uZXh0X2FyY2hp dmVkX2ZpbGUKLSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfZ2V0X2VsdF9h dF9pbmRleCAJCV9iZmRfYXJjaGl2ZV9jb2ZmX2dldF9lbHRfYXRfaW5kZXgK LSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfZ2VuZXJpY19zdGF0X2FyY2hf ZWx0IAlfYmZkX2FyY2hpdmVfY29mZl9nZW5lcmljX3N0YXRfYXJjaF9lbHQK LSNkZWZpbmUgYmZkX2VsZjY0X2FyY2hpdmVfdXBkYXRlX2FybWFwX3RpbWVz dGFtcCAJX2JmZF9hcmNoaXZlX2NvZmZfdXBkYXRlX2FybWFwX3RpbWVzdGFt cAotCiAjaW5jbHVkZSAiZWxmNjQtdGFyZ2V0LmgiCmRpZmYgLS1naXQgYS9i ZmQvZWxmeHgtdGFyZ2V0LmggYi9iZmQvZWxmeHgtdGFyZ2V0LmgKaW5kZXgg MGRjNGY3NS4uOTdhYTVlNiAxMDA2NDQKLS0tIGEvYmZkL2VsZnh4LXRhcmdl dC5oCisrKyBiL2JmZC9lbGZ4eC10YXJnZXQuaApAQCAtOTI2LDYgKzkyNiw4 IEBAIGNvbnN0IGJmZF90YXJnZXQgVEFSR0VUX0JJR19TWU0gPQogICBCRkRf SlVNUF9UQUJMRV9DT1JFIChiZmRfZWxmTk4pLAogI2lmZGVmIGJmZF9lbGZO Tl9hcmNoaXZlX2Z1bmN0aW9ucwogICBCRkRfSlVNUF9UQUJMRV9BUkNISVZF IChiZmRfZWxmTk5fYXJjaGl2ZSksCisjZWxpZiBkZWZpbmVkIFVTRV82NF9C SVRfQVJDSElWRQorICBCRkRfSlVNUF9UQUJMRV9BUkNISVZFIChfYmZkX2Fy Y2hpdmVfNjRfYml0KSwKICNlbHNlCiAgIEJGRF9KVU1QX1RBQkxFX0FSQ0hJ VkUgKF9iZmRfYXJjaGl2ZV9jb2ZmKSwKICNlbmRpZgpAQCAtMTAyNSw2ICsx MDI3LDggQEAgY29uc3QgYmZkX3RhcmdldCBUQVJHRVRfTElUVExFX1NZTSA9 CiAgIEJGRF9KVU1QX1RBQkxFX0NPUkUgKGJmZF9lbGZOTiksCiAjaWZkZWYg YmZkX2VsZk5OX2FyY2hpdmVfZnVuY3Rpb25zCiAgIEJGRF9KVU1QX1RBQkxF X0FSQ0hJVkUgKGJmZF9lbGZOTl9hcmNoaXZlKSwKKyNlbGlmIGRlZmluZWQg VVNFXzY0X0JJVF9BUkNISVZFCisgIEJGRF9KVU1QX1RBQkxFX0FSQ0hJVkUg KF9iZmRfYXJjaGl2ZV82NF9iaXQpLAogI2Vsc2UKICAgQkZEX0pVTVBfVEFC TEVfQVJDSElWRSAoX2JmZF9hcmNoaXZlX2NvZmYpLAogI2VuZGlmCmRpZmYg LS1naXQgYS9iZmQvbGliYmZkLWluLmggYi9iZmQvbGliYmZkLWluLmgKaW5k ZXggNWYyODg2My4uODY0NGQ4ZCAxMDA2NDQKLS0tIGEvYmZkL2xpYmJmZC1p bi5oCisrKyBiL2JmZC9saWJiZmQtaW4uaApAQCAtMTQ5LDYgKzE0OSwyOSBA QCBiZmRfYm9vbGVhbiBiZmRfc2x1cnBfYnNkX2FybWFwX2YyCiAgIChiZmQg KmFiZmQpOwogI2RlZmluZSBiZmRfc2x1cnBfYnNkX2FybWFwIGJmZF9zbHVy cF9hcm1hcAogI2RlZmluZSBiZmRfc2x1cnBfY29mZl9hcm1hcCBiZmRfc2x1 cnBfYXJtYXAKK2JmZF9ib29sZWFuIF9iZmRfYXJjaGl2ZV82NF9iaXRfc2x1 cnBfYXJtYXAKKyAgKGJmZCAqKTsKK2JmZF9ib29sZWFuIF9iZmRfYXJjaGl2 ZV82NF9iaXRfd3JpdGVfYXJtYXAKKyAgKGJmZCAqLCB1bnNpZ25lZCBpbnQs IHN0cnVjdCBvcmwgKiwgdW5zaWduZWQgaW50LCBpbnQpOworI2RlZmluZSBf YmZkX2FyY2hpdmVfNjRfYml0X3NsdXJwX2V4dGVuZGVkX25hbWVfdGFibGUg XAorICBfYmZkX3NsdXJwX2V4dGVuZGVkX25hbWVfdGFibGUKKyNkZWZpbmUg X2JmZF9hcmNoaXZlXzY0X2JpdF9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90 YWJsZSBcCisgIF9iZmRfYXJjaGl2ZV9jb2ZmX2NvbnN0cnVjdF9leHRlbmRl ZF9uYW1lX3RhYmxlCisjZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRfdHJ1 bmNhdGVfYXJuYW1lIFwKKyAgYmZkX2RvbnRfdHJ1bmNhdGVfYXJuYW1lCisj ZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRfcmVhZF9hcl9oZHIgXAorICBf YmZkX2dlbmVyaWNfcmVhZF9hcl9oZHIKKyNkZWZpbmUgX2JmZF9hcmNoaXZl XzY0X2JpdF93cml0ZV9hcl9oZHIgXAorICBfYmZkX2dlbmVyaWNfd3JpdGVf YXJfaGRyCisjZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRfb3BlbnJfbmV4 dF9hcmNoaXZlZF9maWxlIFwKKyAgYmZkX2dlbmVyaWNfb3BlbnJfbmV4dF9h cmNoaXZlZF9maWxlCisjZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRfZ2V0 X2VsdF9hdF9pbmRleCBcCisgIF9iZmRfZ2VuZXJpY19nZXRfZWx0X2F0X2lu ZGV4CisjZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRfZ2VuZXJpY19zdGF0 X2FyY2hfZWx0IFwKKyAgYmZkX2dlbmVyaWNfc3RhdF9hcmNoX2VsdAorI2Rl ZmluZSBfYmZkX2FyY2hpdmVfNjRfYml0X3VwZGF0ZV9hcm1hcF90aW1lc3Rh bXAgXAorICBiZmRfdHJ1ZQorCiBiZmRfYm9vbGVhbiBfYmZkX3NsdXJwX2V4 dGVuZGVkX25hbWVfdGFibGUKICAgKGJmZCAqYWJmZCk7CiBleHRlcm4gYmZk X2Jvb2xlYW4gX2JmZF9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90YWJsZQpk aWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC5oIGIvYmZkL2xpYmJmZC5oCmluZGV4 IDMzNDkwYzAuLmJmMTdmNDMgMTAwNjQ0Ci0tLSBhL2JmZC9saWJiZmQuaAor KysgYi9iZmQvbGliYmZkLmgKQEAgLTE1NCw2ICsxNTQsMjkgQEAgYmZkX2Jv b2xlYW4gYmZkX3NsdXJwX2JzZF9hcm1hcF9mMgogICAoYmZkICphYmZkKTsK ICNkZWZpbmUgYmZkX3NsdXJwX2JzZF9hcm1hcCBiZmRfc2x1cnBfYXJtYXAK ICNkZWZpbmUgYmZkX3NsdXJwX2NvZmZfYXJtYXAgYmZkX3NsdXJwX2FybWFw CitiZmRfYm9vbGVhbiBfYmZkX2FyY2hpdmVfNjRfYml0X3NsdXJwX2FybWFw CisgIChiZmQgKik7CitiZmRfYm9vbGVhbiBfYmZkX2FyY2hpdmVfNjRfYml0 X3dyaXRlX2FybWFwCisgIChiZmQgKiwgdW5zaWduZWQgaW50LCBzdHJ1Y3Qg b3JsICosIHVuc2lnbmVkIGludCwgaW50KTsKKyNkZWZpbmUgX2JmZF9hcmNo aXZlXzY0X2JpdF9zbHVycF9leHRlbmRlZF9uYW1lX3RhYmxlIFwKKyAgX2Jm ZF9zbHVycF9leHRlbmRlZF9uYW1lX3RhYmxlCisjZGVmaW5lIF9iZmRfYXJj aGl2ZV82NF9iaXRfY29uc3RydWN0X2V4dGVuZGVkX25hbWVfdGFibGUgXAor ICBfYmZkX2FyY2hpdmVfY29mZl9jb25zdHJ1Y3RfZXh0ZW5kZWRfbmFtZV90 YWJsZQorI2RlZmluZSBfYmZkX2FyY2hpdmVfNjRfYml0X3RydW5jYXRlX2Fy bmFtZSBcCisgIGJmZF9kb250X3RydW5jYXRlX2FybmFtZQorI2RlZmluZSBf YmZkX2FyY2hpdmVfNjRfYml0X3JlYWRfYXJfaGRyIFwKKyAgX2JmZF9nZW5l cmljX3JlYWRfYXJfaGRyCisjZGVmaW5lIF9iZmRfYXJjaGl2ZV82NF9iaXRf d3JpdGVfYXJfaGRyIFwKKyAgX2JmZF9nZW5lcmljX3dyaXRlX2FyX2hkcgor I2RlZmluZSBfYmZkX2FyY2hpdmVfNjRfYml0X29wZW5yX25leHRfYXJjaGl2 ZWRfZmlsZSBcCisgIGJmZF9nZW5lcmljX29wZW5yX25leHRfYXJjaGl2ZWRf ZmlsZQorI2RlZmluZSBfYmZkX2FyY2hpdmVfNjRfYml0X2dldF9lbHRfYXRf aW5kZXggXAorICBfYmZkX2dlbmVyaWNfZ2V0X2VsdF9hdF9pbmRleAorI2Rl ZmluZSBfYmZkX2FyY2hpdmVfNjRfYml0X2dlbmVyaWNfc3RhdF9hcmNoX2Vs dCBcCisgIGJmZF9nZW5lcmljX3N0YXRfYXJjaF9lbHQKKyNkZWZpbmUgX2Jm ZF9hcmNoaXZlXzY0X2JpdF91cGRhdGVfYXJtYXBfdGltZXN0YW1wIFwKKyAg YmZkX3RydWUKKwogYmZkX2Jvb2xlYW4gX2JmZF9zbHVycF9leHRlbmRlZF9u YW1lX3RhYmxlCiAgIChiZmQgKmFiZmQpOwogZXh0ZXJuIGJmZF9ib29sZWFu IF9iZmRfY29uc3RydWN0X2V4dGVuZGVkX25hbWVfdGFibGUKZGlmZiAtLWdp dCBhL2JmZC9wbHVnaW4uYyBiL2JmZC9wbHVnaW4uYwppbmRleCBmZDdiYWMw Li5jODFhMjY3IDEwMDY0NAotLS0gYS9iZmQvcGx1Z2luLmMKKysrIGIvYmZk L3BsdWdpbi5jCkBAIC01OTcsNyArNTk3LDExIEBAIGNvbnN0IGJmZF90YXJn ZXQgcGx1Z2luX3ZlYyA9CiAgIEJGRF9KVU1QX1RBQkxFX0dFTkVSSUMgKGJm ZF9wbHVnaW4pLAogICBCRkRfSlVNUF9UQUJMRV9DT1BZIChiZmRfcGx1Z2lu KSwKICAgQkZEX0pVTVBfVEFCTEVfQ09SRSAoYmZkX3BsdWdpbiksCisjaWZk ZWYgVVNFXzY0X0JJVF9BUkNISVZFCisgIEJGRF9KVU1QX1RBQkxFX0FSQ0hJ VkUgKF9iZmRfYXJjaGl2ZV82NF9iaXQpLAorI2Vsc2UKICAgQkZEX0pVTVBf VEFCTEVfQVJDSElWRSAoX2JmZF9hcmNoaXZlX2NvZmYpLAorI2VuZGlmCiAg IEJGRF9KVU1QX1RBQkxFX1NZTUJPTFMgKGJmZF9wbHVnaW4pLAogICBCRkRf SlVNUF9UQUJMRV9SRUxPQ1MgKF9iZmRfbm9yZWxvY3MpLAogICBCRkRfSlVN UF9UQUJMRV9XUklURSAoYmZkX3BsdWdpbiksCmRpZmYgLS1naXQgYS9iaW51 dGlscy9ORVdTIGIvYmludXRpbHMvTkVXUwppbmRleCA3MTI2MDRiLi5kMTE5 YzFlIDEwMDY0NAotLS0gYS9iaW51dGlscy9ORVdTCisrKyBiL2JpbnV0aWxz L05FV1MKQEAgLTEsNSArMSw4IEBACiAtKi0gdGV4dCAtKi0KIAorKiBBZGQg YSBjb25maWd1cmUgb3B0aW9uLCAtLWVuYWJsZS02NC1iaXQtYXJjaGl2ZSwg dG8gZW5hYmxlIDY0LWJpdAorICBhcmNoaXZlcyBpbiBhciBhbmQgcmFubGli LgorCiAqIEFkZCAtLWVsZi1zdHQtY29tbW9uPSBvcHRpb24gdG8gb2JqY29w eSBmb3IgRUxGIHRhcmdldHMgdG8gY29udHJvbAogICB3aGV0aGVyIHRvIGNv bnZlcnQgY29tbW9uIHN5bWJvbHMgdG8gdGhlIFNUVF9DT01NT04gdHlwZS4K IAotLSAKMi41LjUKCg== --001a11487ed6af939205339c68f9--