From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29256 invoked by alias); 13 May 2015 00:14:28 -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 29242 invoked by uid 89); 13 May 2015 00:14:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-oi0-f52.google.com Received: from mail-oi0-f52.google.com (HELO mail-oi0-f52.google.com) (209.85.218.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 13 May 2015 00:14:25 +0000 Received: by oica37 with SMTP id a37so19072860oic.0 for ; Tue, 12 May 2015 17:14:23 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.182.158.138 with SMTP id wu10mr14075318obb.12.1431476063550; Tue, 12 May 2015 17:14:23 -0700 (PDT) Received: by 10.76.54.14 with HTTP; Tue, 12 May 2015 17:14:23 -0700 (PDT) Date: Wed, 13 May 2015 00:14:00 -0000 Message-ID: Subject: RFC: Add -mshared option to x86 ELF assembler From: "H.J. Lu" To: Andy Lutomirski , "H. Peter Anvin" Cc: Jan Beulich , Binutils , "linux-kernel@vger.kernel.org" Content-Type: multipart/mixed; boundary=089e0149c8a045dad10515eb7e6d X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg00106.txt.bz2 --089e0149c8a045dad10515eb7e6d Content-Type: text/plain; charset=UTF-8 Content-length: 4735 On Fri, May 8, 2015 at 1:16 PM, H.J. Lu wrote: > On Fri, May 8, 2015 at 5:09 AM, H.J. Lu wrote: >> On Thu, May 7, 2015 at 8:22 PM, Andy Lutomirski wrote: >>> On Thu, May 7, 2015 at 9:21 AM, H.J. Lu wrote: >>>> On Thu, May 7, 2015 at 4:52 AM, Jan Beulich wrote: >>>>>>>> On 07.05.15 at 08:02, wrote: >>>>>> AFAICT gas will produce relocations for jumps to global labels in the >>>>>> same file. This doesn't seem directly harmful to me, except that, on >>>>>> x86, it forces five-byte jumps instead of two-byte jumps. >>>>>> >>>>>> This seems especially unfortunate, since even hidden and protected >>>>>> symbols have this problem. >>>>>> >>>>>> Given that many users don't want interposition support (especially the >>>>>> kernel and anyone using .hidden or .protected), it would be nice to >>>>>> have a command-line option to turn this off and probably also to turn >>>>>> it off by default for hidden and protected symbols. Can gas do this? >>>>> >>>>> I've been running with the below changes (taken off of a bigger set >>>>> of changes, so the line numbers may look a little odd) for the last >>>>> couple of years. I never tried to submit this change because so far >>>>> I couldn't find the time to check whether this would have any >>>>> unwanted side effects on cases I don't normally use. >>>>> >>>> >>>> This is the patch I checked in. >>>> >>>> Thanks. >>>> >>>> -- >>>> H.J. >>>> --- >>>> Branches to global non-weak symbols defined in the same segment with >>>> non-default visibility can be optimized the same way as branches to >>>> local symbols. >>> >>> Would it make sense to also add a command line option along the lines >>> of gcc's -fno-semantic-interposition or some way to override the >>> default visibility? AFAICS this patch helps but only if asm code gets >>> liberally sprinkled with .hidden or .protected directives. >>> >> >> This is what I checked in. With >> >> diff --git a/arch/x86/Makefile b/arch/x86/Makefile >> index 2fda005..186e6f7 100644 >> --- a/arch/x86/Makefile >> +++ b/arch/x86/Makefile >> @@ -107,6 +107,10 @@ else >> KBUILD_CFLAGS += $(call cc-option,-maccumulate-outgoing-args) >> endif >> >> +NO_SHARED_CFLAGS = $(call as-option,-Wa$(comma)-mno-shared) >> +KBUILD_CFLAGS += $(NO_SHARED_CFLAGS) >> +KBUILD_AFLAGS += $(NO_SHARED_CFLAGS) >> + >> # Make sure compiler does not have buggy stack-protector support. >> ifdef CONFIG_CC_STACKPROTECTOR >> cc_has_sp := $(srctree)/scripts/gcc-x86_$(BITS)-has-stack-protector.sh >> >> On kernel master branch, I got >> >> text data bss dec hex filename >> 10934167 2275232 1609728 14819127 e21f37 vmlinux.old >> 10934119 2275232 1609728 14819079 e21f07 vmlinux >> >> It saves 48 bytes. > > This is before I fixed: > > /* This is global to keep gas from relaxing the jumps */ > ENTRY(early_idt_handler) > cld > > in arch/x86/kernel/head_64.S. With -mno-shared, we must > make early_idt_handler weak to keep gas from relaxing the jumps. > Here is a patch to change the assembler default to optimize out relocations to defined non-weak global branch targets with default visibility. It will generate slightly smaller object files. But Linux kernel will be broken unless early_idt_handler is marked weak. I am little uncomfortable with -mshare and I don't like -mno-shared very much either. I may just simply remove -mno-shared. -- H.J. --- This patch removes the newly added -mno-shared option from x86 ELF assembler and adds -mshared option to x86 ELF assembler. By default, assembler will optimize out relocations to defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions. gas/ * config/tc-i386.c (no_shared): Renamed to ... (shared): This. (elf_symbol_resolved_in_segment_p): Add relocation argument. Check PLT relocations and shared. (md_estimate_size_before_relax): Pass fragP->fr_var to elf_symbol_resolved_in_segment_p. (OPTION_MNO_SHARED): Renamed to ... (OPTION_MSHARED): This. (md_longopts): Renamed -mno-shared to -mshared. (md_show_usage): Likewise. * doc/c-i386.texi: Likewise. gas/testsuite/ * gas/i386/pcrel.d: Pass -mshared to assembler. * gas/i386/relax-3.d: Likewise. Updated. * gas/i386/x86-64-relax-2.d: Likewise. * gas/i386/relax-3.s: Add test for PLT relocation. * gas/i386/relax-4.d: Remove -mno-shared. Updated. * gas/i386/x86-64-relax-3.d: Likewise. --089e0149c8a045dad10515eb7e6d Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-mshared-option-to-x86-ELF-assembler.patch" Content-Disposition: attachment; filename="0001-Add-mshared-option-to-x86-ELF-assembler.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9lzot3g0 Content-length: 21306 RnJvbSAxODBjODE5ZWQ4YmU4OTdmMDJlZjE1YTIwMWNlNGVhNDc4OTk3NDlm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTIgTWF5IDIwMTUgMTY6 NTI6MTEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQgLW1zaGFyZWQgb3B0 aW9uIHRvIHg4NiBFTEYgYXNzZW1ibGVyCgpUaGlzIHBhdGNoIHJlbW92ZXMg dGhlIG5ld2x5IGFkZGVkIC1tbm8tc2hhcmVkIG9wdGlvbiBmcm9tIHg4NiBF TEYKYXNzZW1ibGVyIGFuZCBhZGRzIC1tc2hhcmVkIG9wdGlvbiB0byB4ODYg RUxGIGFzc2VtYmxlci4gIEJ5IGRlZmF1bHQsCmFzc2VtYmxlciB3aWxsIG9w dGltaXplIG91dCByZWxvY2F0aW9ucyB0byBkZWZpbmVkIG5vbi13ZWFrIGds b2JhbApicmFuY2ggdGFyZ2V0cyB3aXRoIGRlZmF1bHQgdmlzaWJpbGl0eS4g IFRoZSAtbXNoYXJlZCBvcHRpb24gdGVsbHMKdGhlIGFzc2VtYmxlciB0byBn ZW5lcmF0ZSBjb2RlIHdoaWNoIG1heSBnbyBpbnRvIGEgc2hhcmVkIGxpYnJh cnkKd2hlcmUgYWxsIG5vbi13ZWFrIGdsb2JhbCBicmFuY2ggdGFyZ2V0cyB3 aXRoIGRlZmF1bHQgdmlzaWJpbGl0eSBjYW4KYmUgcHJlZW1wdGVkLiAgVGhl IHJlc3VsdGluZyBjb2RlIGlzIHNsaWdodGx5IGJpZ2dlci4gIFRoaXMgb3B0 aW9uCm9ubHkgYWZmZWN0cyB0aGUgaGFuZGxpbmcgb2YgYnJhbmNoIGluc3Ry dWN0aW9ucy4KCmdhcy8KCgkqIGNvbmZpZy90Yy1pMzg2LmMgKG5vX3NoYXJl ZCk6IFJlbmFtZWQgdG8gLi4uCgkoc2hhcmVkKTogVGhpcy4KCShlbGZfc3lt Ym9sX3Jlc29sdmVkX2luX3NlZ21lbnRfcCk6IEFkZCByZWxvY2F0aW9uIGFy Z3VtZW50LgoJQ2hlY2sgUExUIHJlbG9jYXRpb25zIGFuZCBzaGFyZWQuCgko bWRfZXN0aW1hdGVfc2l6ZV9iZWZvcmVfcmVsYXgpOiBQYXNzIGZyYWdQLT5m cl92YXIgdG8KCWVsZl9zeW1ib2xfcmVzb2x2ZWRfaW5fc2VnbWVudF9wLgoJ KE9QVElPTl9NTk9fU0hBUkVEKTogUmVuYW1lZCB0byAuLi4KCShPUFRJT05f TVNIQVJFRCk6IFRoaXMuCgkobWRfbG9uZ29wdHMpOiBSZW5hbWVkIC1tbm8t c2hhcmVkIHRvIC1tc2hhcmVkLgoJKG1kX3Nob3dfdXNhZ2UpOiBMaWtld2lz ZS4KCSogZG9jL2MtaTM4Ni50ZXhpOiBMaWtld2lzZS4KCmdhcy90ZXN0c3Vp dGUvCgoJKiBnYXMvaTM4Ni9wY3JlbC5kOiBQYXNzIC1tc2hhcmVkIHRvIGFz c2VtYmxlci4KCSogZ2FzL2kzODYvcmVsYXgtMy5kOiBMaWtld2lzZS4gIFVw ZGF0ZWQuCgkqIGdhcy9pMzg2L3g4Ni02NC1yZWxheC0yLmQ6IExpa2V3aXNl LgoJKiBnYXMvaTM4Ni9yZWxheC0zLnM6IEFkZCB0ZXN0IGZvciBQTFQgcmVs b2NhdGlvbi4KCSogZ2FzL2kzODYvcmVsYXgtNC5kOiBSZW1vdmUgLW1uby1z aGFyZWQuICBVcGRhdGVkLgoJKiBnYXMvaTM4Ni94ODYtNjQtcmVsYXgtMy5k OiBMaWtld2lzZS4KLS0tCiBnYXMvY29uZmlnL3RjLWkzODYuYyAgICAgICAg ICAgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0KIGdhcy9kb2MvYy1pMzg2LnRleGkgICAgICAgICAgICAgICAgICAg ICB8IDE3ICsrKysrKysrLS0tLS0tLS0KIGdhcy90ZXN0c3VpdGUvZ2FzL2kz ODYvcGNyZWwuZCAgICAgICAgICB8ICAxICsKIGdhcy90ZXN0c3VpdGUvZ2Fz L2kzODYvcmVsYXgtMy5kICAgICAgICB8IDI4ICsrKysrKysrKysrKystLS0t LS0tLS0tLS0KIGdhcy90ZXN0c3VpdGUvZ2FzL2kzODYvcmVsYXgtMy5zICAg ICAgICB8ICAxICsKIGdhcy90ZXN0c3VpdGUvZ2FzL2kzODYvcmVsYXgtNC5k ICAgICAgICB8IDI4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIGdhcy90 ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXJlbGF4LTIuZCB8IDI0ICsrKysr KysrKysrKy0tLS0tLS0tLS0KIGdhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2 LTY0LXJlbGF4LTMuZCB8IDI4ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0K IDggZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgNzIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1pMzg2LmMgYi9n YXMvY29uZmlnL3RjLWkzODYuYwppbmRleCBkYjI2M2VlLi4yNTQ1NDhmIDEw MDY0NAotLS0gYS9nYXMvY29uZmlnL3RjLWkzODYuYworKysgYi9nYXMvY29u ZmlnL3RjLWkzODYuYwpAQCAtNTI1LDggKzUyNSw4IEBAIHN0YXRpYyBpbnQg dXNlX2JpZ19vYmogPSAwOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkIChPQkpf RUxGKSB8fCBkZWZpbmVkIChPQkpfTUFZQkVfRUxGKQotLyogMSBpZiBub3Qg Z2VuZXJhdGluZyBjb2RlIGZvciBhIHNoYXJlZCBsaWJyYXJ5LiAgKi8KLXN0 YXRpYyBpbnQgbm9fc2hhcmVkID0gMDsKKy8qIDEgaWYgZ2VuZXJhdGluZyBj b2RlIGZvciBhIHNoYXJlZCBsaWJyYXJ5LiAgKi8KK3N0YXRpYyBpbnQgc2hh cmVkID0gMDsKICNlbmRpZgogCiAvKiAxIGZvciBpbnRlbCBzeW50YXgsCkBA IC04ODIzLDcgKzg4MjMsNyBAQCBpMzg2X2ZyYWdfbWF4X3ZhciAoZnJhZ1Mg KmZyYWcpCiAKICNpZiBkZWZpbmVkIChPQkpfRUxGKSB8fCBkZWZpbmVkIChP QkpfTUFZQkVfRUxGKQogc3RhdGljIGludAotZWxmX3N5bWJvbF9yZXNvbHZl ZF9pbl9zZWdtZW50X3AgKHN5bWJvbFMgKmZyX3N5bWJvbCkKK2VsZl9zeW1i b2xfcmVzb2x2ZWRfaW5fc2VnbWVudF9wIChzeW1ib2xTICpmcl9zeW1ib2ws IG9mZnNldFQgZnJfdmFyKQogewogICAvKiBTVFRfR05VX0lGVU5DIHN5bWJv bCBtdXN0IGdvIHRocm91Z2ggUExULiAgKi8KICAgaWYgKChzeW1ib2xfZ2V0 X2JmZHN5bSAoZnJfc3ltYm9sKS0+ZmxhZ3MKQEAgLTg4MzQsMTMgKzg4MzQs MjQgQEAgZWxmX3N5bWJvbF9yZXNvbHZlZF9pbl9zZWdtZW50X3AgKHN5bWJv bFMgKmZyX3N5bWJvbCkKICAgICAvKiBTeW1ib2wgbWF5IGJlIHdlYWsgb3Ig bG9jYWwuICAqLwogICAgIHJldHVybiAhU19JU19XRUFLIChmcl9zeW1ib2wp OwogCi0gIC8qIE5vbi13ZWFrIHN5bWJvbHMgd29uJ3QgYmUgcHJlZW1wdGVk LiAgKi8KLSAgaWYgKG5vX3NoYXJlZCkKKyAgLyogR2xvYmFsIHN5bWJvbHMg d2l0aCBub24tZGVmYXVsdCB2aXNpYmlsaXR5IGNhbid0IGJlIHByZWVtcHRl ZC4gKi8KKyAgaWYgKEVMRl9TVF9WSVNJQklMSVRZIChTX0dFVF9PVEhFUiAo ZnJfc3ltYm9sKSkgIT0gU1RWX0RFRkFVTFQpCiAgICAgcmV0dXJuIDE7CiAK KyAgaWYgKGZyX3ZhciAhPSBOT19SRUxPQykKKyAgICBzd2l0Y2ggKChlbnVt IGJmZF9yZWxvY19jb2RlX3JlYWwpIGZyX3ZhcikKKyAgICAgIHsKKyAgICAg IGNhc2UgQkZEX1JFTE9DXzM4Nl9QTFQzMjoKKyAgICAgIGNhc2UgQkZEX1JF TE9DX1g4Nl82NF9QTFQzMjoKKwkvKiBTeW1ib2wgd2l0aCBQTFQgcmVsb2Nh dGluIG1heSBiZSBwcmVlbXB0ZWQuICovCisJcmV0dXJuIDA7CisgICAgICBk ZWZhdWx0OgorCWFib3J0ICgpOworICAgICAgfQorCiAgIC8qIEdsb2JhbCBz eW1ib2xzIHdpdGggZGVmYXVsdCB2aXNpYmlsaXR5IGluIGEgc2hhcmVkIGxp YnJhcnkgbWF5IGJlCiAgICAgIHByZWVtcHRlZCBieSBhbm90aGVyIGRlZmlu aXRpb24uICAqLwotICByZXR1cm4gRUxGX1NUX1ZJU0lCSUxJVFkgKFNfR0VU X09USEVSIChmcl9zeW1ib2wpKSAhPSBTVFZfREVGQVVMVDsKKyAgcmV0dXJu ICFzaGFyZWQ7CiB9CiAjZW5kaWYKIApAQCAtODg2Nyw3ICs4ODc4LDggQEAg bWRfZXN0aW1hdGVfc2l6ZV9iZWZvcmVfcmVsYXggKGZyYWdTICpmcmFnUCwg c2VnVCBzZWdtZW50KQogICBpZiAoU19HRVRfU0VHTUVOVCAoZnJhZ1AtPmZy X3N5bWJvbCkgIT0gc2VnbWVudAogI2lmIGRlZmluZWQgKE9CSl9FTEYpIHx8 IGRlZmluZWQgKE9CSl9NQVlCRV9FTEYpCiAgICAgICB8fCAoSVNfRUxGCi0J ICAmJiAhZWxmX3N5bWJvbF9yZXNvbHZlZF9pbl9zZWdtZW50X3AgKGZyYWdQ LT5mcl9zeW1ib2wpKQorCSAgJiYgIWVsZl9zeW1ib2xfcmVzb2x2ZWRfaW5f c2VnbWVudF9wIChmcmFnUC0+ZnJfc3ltYm9sLAorCQkJCQkJZnJhZ1AtPmZy X3ZhcikpCiAjZW5kaWYKICNpZiBkZWZpbmVkIChPQkpfQ09GRikgJiYgZGVm aW5lZCAoVEVfUEUpCiAgICAgICB8fCAoT1VUUFVUX0ZMQVZPUiA9PSBiZmRf dGFyZ2V0X2NvZmZfZmxhdm91cgpAQCAtOTUzNyw3ICs5NTQ5LDcgQEAgY29u c3QgY2hhciAqbWRfc2hvcnRvcHRzID0gInFuIjsKICNkZWZpbmUgT1BUSU9O X01CSUdfT0JKIChPUFRJT05fTURfQkFTRSArIDE4KQogI2RlZmluZSBPUFRJ T05fT01JVF9MT0NLX1BSRUZJWCAoT1BUSU9OX01EX0JBU0UgKyAxOSkKICNk ZWZpbmUgT1BUSU9OX01FVkVYUkNJRyAoT1BUSU9OX01EX0JBU0UgKyAyMCkK LSNkZWZpbmUgT1BUSU9OX01OT19TSEFSRUQgKE9QVElPTl9NRF9CQVNFICsg MjEpCisjZGVmaW5lIE9QVElPTl9NU0hBUkVEIChPUFRJT05fTURfQkFTRSAr IDIxKQogCiBzdHJ1Y3Qgb3B0aW9uIG1kX2xvbmdvcHRzW10gPQogewpAQCAt OTU0OCw3ICs5NTYwLDcgQEAgc3RydWN0IG9wdGlvbiBtZF9sb25nb3B0c1td ID0KICNlbmRpZgogI2lmIGRlZmluZWQgKE9CSl9FTEYpIHx8IGRlZmluZWQg KE9CSl9NQVlCRV9FTEYpCiAgIHsieDMyIiwgbm9fYXJndW1lbnQsIE5VTEws IE9QVElPTl9YMzJ9LAotICB7Im1uby1zaGFyZWQiLCBub19hcmd1bWVudCwg TlVMTCwgT1BUSU9OX01OT19TSEFSRUR9LAorICB7Im1zaGFyZWQiLCBub19h cmd1bWVudCwgTlVMTCwgT1BUSU9OX01TSEFSRUR9LAogI2VuZGlmCiAgIHsi ZGl2aWRlIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVElPTl9ESVZJREV9LAog ICB7Im1hcmNoIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVElPTl9N QVJDSH0sCkBAIC05NjEwLDggKzk2MjIsOCBAQCBtZF9wYXJzZV9vcHRpb24g KGludCBjLCBjaGFyICphcmcpCiAJIC5zdGFiIGluc3RlYWQgb2YgLnN0YWIu ZXhjbC4gIFdlIGFsd2F5cyB1c2UgLnN0YWIgYW55aG93LiAgKi8KICAgICAg IGJyZWFrOwogCi0gICAgY2FzZSBPUFRJT05fTU5PX1NIQVJFRDoKLSAgICAg IG5vX3NoYXJlZCA9IDE7CisgICAgY2FzZSBPUFRJT05fTVNIQVJFRDoKKyAg ICAgIHNoYXJlZCA9IDE7CiAgICAgICBicmVhazsKICNlbmRpZgogI2lmIChk ZWZpbmVkIChPQkpfRUxGKSB8fCBkZWZpbmVkIChPQkpfTUFZQkVfRUxGKSBc CkBAIC0xMDA0Myw3ICsxMDA1NSw3IEBAIG1kX3Nob3dfdXNhZ2UgKEZJTEUg KnN0cmVhbSkKICAgZnByaW50ZiAoc3RyZWFtLCBfKCJcCiAgIC1tYWRkLWJu ZC1wcmVmaXggICAgICAgIGFkZCBCTkQgcHJlZml4IGZvciBhbGwgdmFsaWQg YnJhbmNoZXNcbiIpKTsKICAgZnByaW50ZiAoc3RyZWFtLCBfKCJcCi0gIC1t bm8tc2hhcmVkICAgICAgICAgICAgIGVuYWJsZSBicmFuY2ggb3B0aW1pemF0 aW9uIGZvciBub24gc2hhcmVkIGNvZGVcbiIpKTsKKyAgLW1zaGFyZWQgICAg ICAgICAgICAgICAgZGlzYWJsZSBicmFuY2ggb3B0aW1pemF0aW9uIGZvciBz aGFyZWQgY29kZVxuIikpOwogIyBpZiBkZWZpbmVkIChURV9QRSkgfHwgZGVm aW5lZCAoVEVfUEVQKQogICBmcHJpbnRmIChzdHJlYW0sIF8oIlwKICAgLW1i aWctb2JqICAgICAgICAgICAgICAgZ2VuZXJhdGUgYmlnIG9iamVjdCBmaWxl c1xuIikpOwpkaWZmIC0tZ2l0IGEvZ2FzL2RvYy9jLWkzODYudGV4aSBiL2dh cy9kb2MvYy1pMzg2LnRleGkKaW5kZXggNDdiY2JiYi4uYTE5OTdmNSAxMDA2 NDQKLS0tIGEvZ2FzL2RvYy9jLWkzODYudGV4aQorKysgYi9nYXMvZG9jL2Mt aTM4Ni50ZXhpCkBAIC0yOTgsMTUgKzI5OCwxNiBAQCBUaGUgQGNvZGV7LmF0 dF9zeW50YXh9IGFuZCBAY29kZXsuaW50ZWxfc3ludGF4fSBkaXJlY3RpdmVz IHdpbGwgdGFrZSBwcmVjZWRlbnQuCiBUaGlzIG9wdGlvbiBmb3JjZXMgdGhl IGFzc2VtYmxlciB0byBhZGQgQk5EIHByZWZpeCB0byBhbGwgYnJhbmNoZXMs IGV2ZW4KIGlmIHN1Y2ggcHJlZml4IHdhcyBub3QgZXhwbGljaXRseSBzcGVj aWZpZWQgaW4gdGhlIHNvdXJjZSBjb2RlLgogCi1AY2luZGV4IEBzYW1wey1t bm8tc2hhcmVkfSBvcHRpb24sIGkzODYKLUBjaW5kZXggQHNhbXB7LW1uby1z aGFyZWR9IG9wdGlvbiwgeDg2LTY0CitAY2luZGV4IEBzYW1wey1tc2hhcmVk fSBvcHRpb24sIGkzODYKK0BjaW5kZXggQHNhbXB7LW1zaGFyZWR9IG9wdGlv biwgeDg2LTY0CiBAaXRlbSAtbW5vLXNoYXJlZAotT24gRUxGIHRhcmdldCwg dGhlIGFzc2VtYmxlciBub3JtYWxseSBnZW5lcmF0ZXMgY29kZSB3aGljaCBj YW4gZ28gaW50byBhCi1zaGFyZWQgbGlicmFyeSB3aGVyZSBub24td2VhayBz eW1ib2xzIGNhbiBiZSBwcmVlbXB0ZWQuICBUaGUKLUBzYW1wey1tbm8tc2hh cmVkfSBvcHRpb24gdGVsbHMgdGhlIGFzc2VtYmxlciB0byBnZW5lcmF0ZSBj b2RlIG5vdCBmb3IKLWEgc2hhcmVkIGxpYnJhcnksIHdoZXJlIG5vbi13ZWFr IHN5bWJvbHMgd29uJ3QgYmUgcHJlZW1wdGVkLiAgVGhlCi1yZXN1bHRpbmcg Y29kZSBpcyBzbGlnaHRseSBzbWFsbGVyLiAgVGhpcyBvcHRpb24gbWFpbmx5 IGFmZmVjdHMgdGhlCi1oYW5kbGluZyBvZiBicmFuY2ggaW5zdHJ1Y3Rpb25z LgorT24gRUxGIHRhcmdldCwgdGhlIGFzc2VtYmxlciBub3JtYWxseSBvcHRp bWl6ZXMgb3V0IHJlbG9jYXRpb25zIHRvCitkZWZpbmVkIG5vbi13ZWFrIGds b2JhbCBicmFuY2ggdGFyZ2V0cyB3aXRoIGRlZmF1bHQgdmlzaWJpbGl0eS4g IFRoZQorQHNhbXB7LW1zaGFyZWR9IG9wdGlvbiB0ZWxscyB0aGUgYXNzZW1i bGVyIHRvIGdlbmVyYXRlIGNvZGUgd2hpY2gKK21heSBnbyBpbnRvIGEgc2hh cmVkIGxpYnJhcnkgd2hlcmUgYWxsIG5vbi13ZWFrIGdsb2JhbCBicmFuY2gg dGFyZ2V0cword2l0aCBkZWZhdWx0IHZpc2liaWxpdHkgY2FuIGJlIHByZWVt cHRlZC4gIFRoZSByZXN1bHRpbmcgY29kZSBpcworc2xpZ2h0bHkgYmlnZ2Vy LiAgVGhpcyBvcHRpb24gb25seSBhZmZlY3RzIHRoZSBoYW5kbGluZyBvZiBi cmFuY2gKK2luc3RydWN0aW9ucy4KIAogQGNpbmRleCBAc2FtcHstbWJpZy1v Ymp9IG9wdGlvbiwgeDg2LTY0CiBAaXRlbSAtbWJpZy1vYmoKZGlmZiAtLWdp dCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvcGNyZWwuZCBiL2dhcy90ZXN0 c3VpdGUvZ2FzL2kzODYvcGNyZWwuZAppbmRleCA1YjYxYzIzLi44YTkxYTFh IDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3BjcmVsLmQK KysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9wY3JlbC5kCkBAIC0xLDQg KzEsNSBAQAogI29iamR1bXA6IC1kcncKKyNhczogLW1zaGFyZWQKICNuYW1l OiBpMzg2IHBjcmVsIHJlbG9jCiAKIC4qOiArZmlsZSBmb3JtYXQgLippMzg2 LioKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvcmVsYXgt My5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9yZWxheC0zLmQKaW5kZXgg OGFhOTRlOS4uNDYxMDU1MyAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9n YXMvaTM4Ni9yZWxheC0zLmQKKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4 Ni9yZWxheC0zLmQKQEAgLTEsMyArMSw0IEBACisjYXM6IC1tc2hhcmVkCiAj b2JqZHVtcDogLWR3cgogCiAuKjogK2ZpbGUgZm9ybWF0IC4qCkBAIC01LDI2 ICs2LDI3IEBACiBEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgogCiAw KyA8Zm9vPjoKLVsgCV0qW2EtZjAtOV0rOgllYiAxZiAgICAgICAgICAgICAg ICAJam1wICAgIDIxIDxsb2NhbD4KLVsgCV0qW2EtZjAtOV0rOgllYiAxOSAg ICAgICAgICAgICAgICAJam1wICAgIDFkIDxoaWRkZW5fZGVmPgotWyAJXSpb YS1mMC05XSs6CWU5IGZjIGZmIGZmIGZmICAgICAgIAlqbXAgICAgNSA8Zm9v XCsweDU+CTU6IChSXzM4Nl9QQyk/KERJU1ApPzMyCWdsb2JhbF9kZWYKLVsg CV0qW2EtZjAtOV0rOgllOSBmYyBmZiBmZiBmZiAgICAgICAJam1wICAgIGEg PGZvb1wrMHhhPglhOiAoUl8zODZfUEMpPyhESVNQKT8zMgl3ZWFrX2RlZgot WyAJXSpbYS1mMC05XSs6CWU5IGZjIGZmIGZmIGZmICAgICAgIAlqbXAgICAg ZiA8Zm9vXCsweGY+CWY6IChSXzM4Nl9QQyk/KERJU1ApPzMyCXdlYWtfaGlk ZGVuX3VuZGVmCi1bIAldKlthLWYwLTldKzoJZTkgZmMgZmYgZmYgZmYgICAg ICAgCWptcCAgICAxNCA8Zm9vXCsweDE0PgkxNDogKFJfMzg2X1BDKT8oRElT UCk/MzIJd2Vha19oaWRkZW5fZGVmCi1bIAldKlthLWYwLTldKzoJZTkgZmMg ZmYgZmYgZmYgICAgICAgCWptcCAgICAxOSA8Zm9vXCsweDE5PgkxOTogKFJf Mzg2X1BDKT8oRElTUCk/MzIJaGlkZGVuX3VuZGVmCi0KLTArMWQgPGhpZGRl bl9kZWY+OgorWyAJXSpbYS1mMC05XSs6CWViIDI0ICAgICAgICAgICAgICAg IAlqbXAgICAgMjYgPGxvY2FsPgorWyAJXSpbYS1mMC05XSs6CWViIDFlICAg ICAgICAgICAgICAgIAlqbXAgICAgMjIgPGhpZGRlbl9kZWY+CitbIAldKlth LWYwLTldKzoJZTkgZmMgZmYgZmYgZmYgICAgICAgCWptcCAgICA1IDxmb29c KzB4NT4JNTogUl8zODZfUEMzMglnbG9iYWxfZGVmCitbIAldKlthLWYwLTld KzoJZTkgZmMgZmYgZmYgZmYgICAgICAgCWptcCAgICBhIDxmb29cKzB4YT4J YTogUl8zODZfUExUMzIJZ2xvYmFsX2RlZgorWyAJXSpbYS1mMC05XSs6CWU5 IGZjIGZmIGZmIGZmICAgICAgIAlqbXAgICAgZiA8Zm9vXCsweGY+CWY6IFJf Mzg2X1BDMzIJd2Vha19kZWYKK1sgCV0qW2EtZjAtOV0rOgllOSBmYyBmZiBm ZiBmZiAgICAgICAJam1wICAgIDE0IDxmb29cKzB4MTQ+CTE0OiBSXzM4Nl9Q QzMyCXdlYWtfaGlkZGVuX3VuZGVmCitbIAldKlthLWYwLTldKzoJZTkgZmMg ZmYgZmYgZmYgICAgICAgCWptcCAgICAxOSA8Zm9vXCsweDE5PgkxOTogUl8z ODZfUEMzMgl3ZWFrX2hpZGRlbl9kZWYKK1sgCV0qW2EtZjAtOV0rOgllOSBm YyBmZiBmZiBmZiAgICAgICAJam1wICAgIDFlIDxmb29cKzB4MWU+CTFlOiBS XzM4Nl9QQzMyCWhpZGRlbl91bmRlZgorCiswKzIyIDxoaWRkZW5fZGVmPjoK IFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAgICAJcmV0ICAg IAogCi0wKzFlIDx3ZWFrX2hpZGRlbl9kZWY+OgorMCsyMyA8d2Vha19oaWRk ZW5fZGVmPjoKIFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAg ICAJcmV0ICAgIAogCi0wKzFmIDxnbG9iYWxfZGVmPjoKKzArMjQgPGdsb2Jh bF9kZWY+OgogWyAJXSpbYS1mMC05XSs6CWMzICAgICAgICAgICAgICAgICAg IAlyZXQgICAgCiAKLTArMjAgPHdlYWtfZGVmPjoKKzArMjUgPHdlYWtfZGVm PjoKIFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAgICAJcmV0 ICAgIAogCi0wKzIxIDxsb2NhbD46CiswKzI2IDxsb2NhbD46CiBbIAldKlth LWYwLTldKzoJYzMgICAgICAgICAgICAgICAgICAgCXJldCAgICAKICNwYXNz CmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3JlbGF4LTMu cyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYvcmVsYXgtMy5zCmluZGV4IGFi NTIxODUuLjQ4ZWE5MTcgMTAwNjQ0Ci0tLSBhL2dhcy90ZXN0c3VpdGUvZ2Fz L2kzODYvcmVsYXgtMy5zCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYv cmVsYXgtMy5zCkBAIC00LDYgKzQsNyBAQCBmb286CiAJam1wIGxvY2FsCiAJ am1wIGhpZGRlbl9kZWYKIAlqbXAgZ2xvYmFsX2RlZgorCWptcCBnbG9iYWxf ZGVmQFBMVAogCWptcCB3ZWFrX2RlZgogCWptcCB3ZWFrX2hpZGRlbl91bmRl ZgogCWptcCB3ZWFrX2hpZGRlbl9kZWYKZGlmZiAtLWdpdCBhL2dhcy90ZXN0 c3VpdGUvZ2FzL2kzODYvcmVsYXgtNC5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMv aTM4Ni9yZWxheC00LmQKaW5kZXggYjE4ODg0MS4uMjAzOTI1MSAxMDA2NDQK LS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9yZWxheC00LmQKKysrIGIv Z2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni9yZWxheC00LmQKQEAgLTEsNSArMSw0 IEBACiAjc291cmNlOiByZWxheC0zLnMKLSNhczogLW1uby1zaGFyZWQKICNv YmpkdW1wOiAtZHdyCiAKIC4qOiArZmlsZSBmb3JtYXQgLioKQEAgLTcsMjYg KzYsMjcgQEAKIERpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6CiAKIDAr IDxmb28+OgotWyAJXSpbYS1mMC05XSs6CWViIDFjICAgICAgICAgICAgICAg IAlqbXAgICAgMWUgPGxvY2FsPgotWyAJXSpbYS1mMC05XSs6CWViIDE2ICAg ICAgICAgICAgICAgIAlqbXAgICAgMWEgPGhpZGRlbl9kZWY+Ci1bIAldKlth LWYwLTldKzoJZWIgMTYgICAgICAgICAgICAgICAgCWptcCAgICAxYyA8Z2xv YmFsX2RlZj4KLVsgCV0qW2EtZjAtOV0rOgllOSBmYyBmZiBmZiBmZiAgICAg ICAJam1wICAgIDcgPGZvb1wrMHg3Pgk3OiAoUl8zODZfUEMpPyhESVNQKT8z Mgl3ZWFrX2RlZgotWyAJXSpbYS1mMC05XSs6CWU5IGZjIGZmIGZmIGZmICAg ICAgIAlqbXAgICAgYyA8Zm9vXCsweGM+CWM6IChSXzM4Nl9QQyk/KERJU1Ap PzMyCXdlYWtfaGlkZGVuX3VuZGVmCi1bIAldKlthLWYwLTldKzoJZTkgZmMg ZmYgZmYgZmYgICAgICAgCWptcCAgICAxMSA8Zm9vXCsweDExPgkxMTogKFJf Mzg2X1BDKT8oRElTUCk/MzIJd2Vha19oaWRkZW5fZGVmCi1bIAldKlthLWYw LTldKzoJZTkgZmMgZmYgZmYgZmYgICAgICAgCWptcCAgICAxNiA8Zm9vXCsw eDE2PgkxNjogKFJfMzg2X1BDKT8oRElTUCk/MzIJaGlkZGVuX3VuZGVmCi0K LTArMWEgPGhpZGRlbl9kZWY+OgorWyAJXSpbYS1mMC05XSs6CWViIDIxICAg ICAgICAgICAgICAgIAlqbXAgICAgMjMgPGxvY2FsPgorWyAJXSpbYS1mMC05 XSs6CWViIDFiICAgICAgICAgICAgICAgIAlqbXAgICAgMWYgPGhpZGRlbl9k ZWY+CitbIAldKlthLWYwLTldKzoJZWIgMWIgICAgICAgICAgICAgICAgCWpt cCAgICAyMSA8Z2xvYmFsX2RlZj4KK1sgCV0qW2EtZjAtOV0rOgllOSBmYyBm ZiBmZiBmZiAgICAgICAJam1wICAgIDcgPGZvb1wrMHg3Pgk3OiBSXzM4Nl9Q TFQzMglnbG9iYWxfZGVmCitbIAldKlthLWYwLTldKzoJZTkgZmMgZmYgZmYg ZmYgICAgICAgCWptcCAgICBjIDxmb29cKzB4Yz4JYzogUl8zODZfUEMzMgl3 ZWFrX2RlZgorWyAJXSpbYS1mMC05XSs6CWU5IGZjIGZmIGZmIGZmICAgICAg IAlqbXAgICAgMTEgPGZvb1wrMHgxMT4JMTE6IFJfMzg2X1BDMzIJd2Vha19o aWRkZW5fdW5kZWYKK1sgCV0qW2EtZjAtOV0rOgllOSBmYyBmZiBmZiBmZiAg ICAgICAJam1wICAgIDE2IDxmb29cKzB4MTY+CTE2OiBSXzM4Nl9QQzMyCXdl YWtfaGlkZGVuX2RlZgorWyAJXSpbYS1mMC05XSs6CWU5IGZjIGZmIGZmIGZm ICAgICAgIAlqbXAgICAgMWIgPGZvb1wrMHgxYj4JMWI6IFJfMzg2X1BDMzIJ aGlkZGVuX3VuZGVmCisKKzArMWYgPGhpZGRlbl9kZWY+OgogWyAJXSpbYS1m MC05XSs6CWMzICAgICAgICAgICAgICAgICAgIAlyZXQgICAgCiAKLTArMWIg PHdlYWtfaGlkZGVuX2RlZj46CiswKzIwIDx3ZWFrX2hpZGRlbl9kZWY+Ogog WyAJXSpbYS1mMC05XSs6CWMzICAgICAgICAgICAgICAgICAgIAlyZXQgICAg CiAKLTArMWMgPGdsb2JhbF9kZWY+OgorMCsyMSA8Z2xvYmFsX2RlZj46CiBb IAldKlthLWYwLTldKzoJYzMgICAgICAgICAgICAgICAgICAgCXJldCAgICAK IAotMCsxZCA8d2Vha19kZWY+OgorMCsyMiA8d2Vha19kZWY+OgogWyAJXSpb YS1mMC05XSs6CWMzICAgICAgICAgICAgICAgICAgIAlyZXQgICAgCiAKLTAr MWUgPGxvY2FsPjoKKzArMjMgPGxvY2FsPjoKIFsgCV0qW2EtZjAtOV0rOglj MyAgICAgICAgICAgICAgICAgICAJcmV0ICAgIAogI3Bhc3MKZGlmZiAtLWdp dCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXJlbGF4LTIuZCBi L2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2LTY0LXJlbGF4LTIuZAppbmRl eCA3YjBiZDU2Li5jMTI0MTAyIDEwMDY0NAotLS0gYS9nYXMvdGVzdHN1aXRl L2dhcy9pMzg2L3g4Ni02NC1yZWxheC0yLmQKKysrIGIvZ2FzL3Rlc3RzdWl0 ZS9nYXMvaTM4Ni94ODYtNjQtcmVsYXgtMi5kCkBAIC0xLDQgKzEsNSBAQAog I3NvdXJjZTogcmVsYXgtMy5zCisjYXM6IC1tc2hhcmVkCiAjb2JqZHVtcDog LWR3cgogCiAuKjogK2ZpbGUgZm9ybWF0IC4qCkBAIC03LDI2ICs4LDI3IEBA CiBEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC50ZXh0OgogCiAwKyA8Zm9vPjoK LVsgCV0qW2EtZjAtOV0rOgllYiAxZiAgICAgICAgICAgICAgICAJam1wICAg IDIxIDxsb2NhbD4KLVsgCV0qW2EtZjAtOV0rOgllYiAxOSAgICAgICAgICAg ICAgICAJam1wICAgIDFkIDxoaWRkZW5fZGVmPgorWyAJXSpbYS1mMC05XSs6 CWViIDI0ICAgICAgICAgICAgICAgIAlqbXAgICAgMjYgPGxvY2FsPgorWyAJ XSpbYS1mMC05XSs6CWViIDFlICAgICAgICAgICAgICAgIAlqbXAgICAgMjIg PGhpZGRlbl9kZWY+CiBbIAldKlthLWYwLTldKzoJZTkgMDAgMDAgMDAgMDAg ICAgICAgCWptcHEgICA5IDxmb29cKzB4OT4JNTogUl9YODZfNjRfUEMzMgln bG9iYWxfZGVmLTB4NAotWyAJXSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAw ICAgICAgIAlqbXBxICAgZSA8Zm9vXCsweGU+CWE6IFJfWDg2XzY0X1BDMzIJ d2Vha19kZWYtMHg0Ci1bIAldKlthLWYwLTldKzoJZTkgMDAgMDAgMDAgMDAg ICAgICAgCWptcHEgICAxMyA8Zm9vXCsweDEzPglmOiBSX1g4Nl82NF9QQzMy CXdlYWtfaGlkZGVuX3VuZGVmLTB4NAotWyAJXSpbYS1mMC05XSs6CWU5IDAw IDAwIDAwIDAwICAgICAgIAlqbXBxICAgMTggPGZvb1wrMHgxOD4JMTQ6IFJf WDg2XzY0X1BDMzIJd2Vha19oaWRkZW5fZGVmLTB4NAotWyAJXSpbYS1mMC05 XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAgMWQgPGhpZGRlbl9k ZWY+CTE5OiBSX1g4Nl82NF9QQzMyCWhpZGRlbl91bmRlZi0weDQKK1sgCV0q W2EtZjAtOV0rOgllOSAwMCAwMCAwMCAwMCAgICAgICAJam1wcSAgIGUgPGZv b1wrMHhlPglhOiBSX1g4Nl82NF9QTFQzMglnbG9iYWxfZGVmLTB4NAorWyAJ XSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAgMTMg PGZvb1wrMHgxMz4JZjogUl9YODZfNjRfUEMzMgl3ZWFrX2RlZi0weDQKK1sg CV0qW2EtZjAtOV0rOgllOSAwMCAwMCAwMCAwMCAgICAgICAJam1wcSAgIDE4 IDxmb29cKzB4MTg+CTE0OiBSX1g4Nl82NF9QQzMyCXdlYWtfaGlkZGVuX3Vu ZGVmLTB4NAorWyAJXSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAg IAlqbXBxICAgMWQgPGZvb1wrMHgxZD4JMTk6IFJfWDg2XzY0X1BDMzIJd2Vh a19oaWRkZW5fZGVmLTB4NAorWyAJXSpbYS1mMC05XSs6CWU5IDAwIDAwIDAw IDAwICAgICAgIAlqbXBxICAgMjIgPGhpZGRlbl9kZWY+CTFlOiBSX1g4Nl82 NF9QQzMyCWhpZGRlbl91bmRlZi0weDQKIAotMCsxZCA8aGlkZGVuX2RlZj46 CiswKzIyIDxoaWRkZW5fZGVmPjoKIFsgCV0qW2EtZjAtOV0rOgljMyAgICAg ICAgICAgICAgICAgICAJcmV0cSAgIAogCi0wKzFlIDx3ZWFrX2hpZGRlbl9k ZWY+OgorMCsyMyA8d2Vha19oaWRkZW5fZGVmPjoKIFsgCV0qW2EtZjAtOV0r OgljMyAgICAgICAgICAgICAgICAgICAJcmV0cSAgIAogCi0wKzFmIDxnbG9i YWxfZGVmPjoKKzArMjQgPGdsb2JhbF9kZWY+OgogWyAJXSpbYS1mMC05XSs6 CWMzICAgICAgICAgICAgICAgICAgIAlyZXRxICAgCiAKLTArMjAgPHdlYWtf ZGVmPjoKKzArMjUgPHdlYWtfZGVmPjoKIFsgCV0qW2EtZjAtOV0rOgljMyAg ICAgICAgICAgICAgICAgICAJcmV0cSAgIAogCi0wKzIxIDxsb2NhbD46Cisw KzI2IDxsb2NhbD46CiBbIAldKlthLWYwLTldKzoJYzMgICAgICAgICAgICAg ICAgICAgCXJldHEgICAKICNwYXNzCmRpZmYgLS1naXQgYS9nYXMvdGVzdHN1 aXRlL2dhcy9pMzg2L3g4Ni02NC1yZWxheC0zLmQgYi9nYXMvdGVzdHN1aXRl L2dhcy9pMzg2L3g4Ni02NC1yZWxheC0zLmQKaW5kZXggZDBjN2VlNC4uOThm ZDI4ZCAxMDA2NDQKLS0tIGEvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYt NjQtcmVsYXgtMy5kCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYveDg2 LTY0LXJlbGF4LTMuZApAQCAtMSw1ICsxLDQgQEAKICNzb3VyY2U6IHJlbGF4 LTMucwotI2FzOiAtbW5vLXNoYXJlZAogI29iamR1bXA6IC1kd3IKIAogLio6 ICtmaWxlIGZvcm1hdCAuKgpAQCAtOCwyNiArNywyNyBAQAogRGlzYXNzZW1i bHkgb2Ygc2VjdGlvbiAudGV4dDoKIAogMCsgPGZvbz46Ci1bIAldKlthLWYw LTldKzoJZWIgMWMgICAgICAgICAgICAgICAgCWptcCAgICAxZSA8bG9jYWw+ Ci1bIAldKlthLWYwLTldKzoJZWIgMTYgICAgICAgICAgICAgICAgCWptcCAg ICAxYSA8aGlkZGVuX2RlZj4KLVsgCV0qW2EtZjAtOV0rOgllYiAxNiAgICAg ICAgICAgICAgICAJam1wICAgIDFjIDxnbG9iYWxfZGVmPgotWyAJXSpbYS1m MC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAgYiA8Zm9vXCsw eGI+CTc6IFJfWDg2XzY0X1BDMzIJd2Vha19kZWYtMHg0Ci1bIAldKlthLWYw LTldKzoJZTkgMDAgMDAgMDAgMDAgICAgICAgCWptcHEgICAxMCA8Zm9vXCsw eDEwPgljOiBSX1g4Nl82NF9QQzMyCXdlYWtfaGlkZGVuX3VuZGVmLTB4NAot WyAJXSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAg MTUgPGZvb1wrMHgxNT4JMTE6IFJfWDg2XzY0X1BDMzIJd2Vha19oaWRkZW5f ZGVmLTB4NAotWyAJXSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAg IAlqbXBxICAgMWEgPGhpZGRlbl9kZWY+CTE2OiBSX1g4Nl82NF9QQzMyCWhp ZGRlbl91bmRlZi0weDQKLQotMCsxYSA8aGlkZGVuX2RlZj46CitbIAldKlth LWYwLTldKzoJZWIgMjEgICAgICAgICAgICAgICAgCWptcCAgICAyMyA8bG9j YWw+CitbIAldKlthLWYwLTldKzoJZWIgMWIgICAgICAgICAgICAgICAgCWpt cCAgICAxZiA8aGlkZGVuX2RlZj4KK1sgCV0qW2EtZjAtOV0rOgllYiAxYiAg ICAgICAgICAgICAgICAJam1wICAgIDIxIDxnbG9iYWxfZGVmPgorWyAJXSpb YS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAgYiA8Zm9v XCsweGI+CTc6IFJfWDg2XzY0X1BMVDMyCWdsb2JhbF9kZWYtMHg0CitbIAld KlthLWYwLTldKzoJZTkgMDAgMDAgMDAgMDAgICAgICAgCWptcHEgICAxMCA8 Zm9vXCsweDEwPgljOiBSX1g4Nl82NF9QQzMyCXdlYWtfZGVmLTB4NAorWyAJ XSpbYS1mMC05XSs6CWU5IDAwIDAwIDAwIDAwICAgICAgIAlqbXBxICAgMTUg PGZvb1wrMHgxNT4JMTE6IFJfWDg2XzY0X1BDMzIJd2Vha19oaWRkZW5fdW5k ZWYtMHg0CitbIAldKlthLWYwLTldKzoJZTkgMDAgMDAgMDAgMDAgICAgICAg CWptcHEgICAxYSA8Zm9vXCsweDFhPgkxNjogUl9YODZfNjRfUEMzMgl3ZWFr X2hpZGRlbl9kZWYtMHg0CitbIAldKlthLWYwLTldKzoJZTkgMDAgMDAgMDAg MDAgICAgICAgCWptcHEgICAxZiA8aGlkZGVuX2RlZj4JMWI6IFJfWDg2XzY0 X1BDMzIJaGlkZGVuX3VuZGVmLTB4NAorCiswKzFmIDxoaWRkZW5fZGVmPjoK IFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAgICAJcmV0cSAg IAogCi0wKzFiIDx3ZWFrX2hpZGRlbl9kZWY+OgorMCsyMCA8d2Vha19oaWRk ZW5fZGVmPjoKIFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAg ICAJcmV0cSAgIAogCi0wKzFjIDxnbG9iYWxfZGVmPjoKKzArMjEgPGdsb2Jh bF9kZWY+OgogWyAJXSpbYS1mMC05XSs6CWMzICAgICAgICAgICAgICAgICAg IAlyZXRxICAgCiAKLTArMWQgPHdlYWtfZGVmPjoKKzArMjIgPHdlYWtfZGVm PjoKIFsgCV0qW2EtZjAtOV0rOgljMyAgICAgICAgICAgICAgICAgICAJcmV0 cSAgIAogCi0wKzFlIDxsb2NhbD46CiswKzIzIDxsb2NhbD46CiBbIAldKlth LWYwLTldKzoJYzMgICAgICAgICAgICAgICAgICAgCXJldHEgICAKICNwYXNz Ci0tIAoxLjkuMwoK --089e0149c8a045dad10515eb7e6d--