From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id 53B1A3858D35; Fri, 30 Jun 2023 03:38:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53B1A3858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-51d7f350758so1694042a12.3; Thu, 29 Jun 2023 20:38:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688096334; x=1690688334; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zFiZwXFwS8DXzRP42Tm3nR+W2QNzuLEDrQmCImbpsSQ=; b=iJ7bFtOgRpN03m0WupxYZGE5he4ktjp3KMrCSR6RWOL3deARlLTw8jTLt3NTV55hz3 pyeM2AygGgWzwy3PvNMH4/01zCL12tnhvF0Gb8CcHcNM83ZtKRCjerBc4WEXglo5VuLt gEsH5JzBi7F/JdZamdSfAScshRNTJ4iGL3PT4rc86yyThpkzJHB7BplB3I1yS1zSO5g0 eMG1l9DDEY0gkDVyC5rr6kmtOxNAweiATwmDZHjmflZYmVjzAdUf9T/G10t9A4Pd35QP HJIDibxCTzNqLyI7QCUNdq41Tg9Jydo6EM0Z8UKLMZPla+rVujIYUS97MKdHhRDioqW6 5SKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688096334; x=1690688334; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zFiZwXFwS8DXzRP42Tm3nR+W2QNzuLEDrQmCImbpsSQ=; b=lkO438KP3kH/rM94Js9P2Ymkuz+Q79V5CPFPybRjtiEAGC2lfIjCHOs7Su/PnZmQOO W8R8NkChDEcowblD4B16+OxpOnUKvX13ikcdjxc3iXr3CvTWZ8mAU8vPHhG96ykv+pHI mCMOYpECTkZFmDTLM0faBg60tmzzC95z5dP0fg48JO+lzkINHfPDxGu+BVv/Tmiu3MeN N6trC2vl4VZwE+XcfOAUmu1WLHxfKV7BKhAfXQrGJeqULd88Z+aAQF9ExfOnYURKmPot q0HLbqPvQNL6qi44VDGWxtEiQ24ft9gcU2XrSFD3CPNbbgOHoL4zdTFvzAyU0YYH09jw +UJg== X-Gm-Message-State: ABy/qLYntLaqtpjeqW+1SglLMrrN4dyVPb089FRvlXYo6lLqHyQoIQcn JcYedTlrdg/BtGygLfq/AsDA4ih8mOoVhiTJXUUWrE8NFvM= X-Google-Smtp-Source: APBJJlGuwmqgBYAZA8LdbLTH7G629guM2WSStR+B1oGQmq/b4KZfu9THu+dTcqTD5ykK3XjYztFpnC9L5WPrEie/zpY= X-Received: by 2002:a05:6402:2023:b0:51d:9dae:a591 with SMTP id ay3-20020a056402202300b0051d9daea591mr615249edb.21.1688096333606; Thu, 29 Jun 2023 20:38:53 -0700 (PDT) MIME-Version: 1.0 References: <55ac674d-468c-d4f5-e45e-190b25202412@gmx.de> In-Reply-To: <55ac674d-468c-d4f5-e45e-190b25202412@gmx.de> From: Alexander Westbrooks Date: Thu, 29 Jun 2023 22:38:42 -0500 Message-ID: Subject: Re: PR82943 - Suggested patch to fix To: Harald Anlauf Cc: fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="0000000000004fd0bf05ff508e53" X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000004fd0bf05ff508e53 Content-Type: multipart/alternative; boundary="0000000000004fd0bd05ff508e51" --0000000000004fd0bd05ff508e51 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, I have finished my testing, and updated my patch and relevant Changelogs. I added 4 new tests and all the existing tests in the current testsuite for gfortran passed or failed as expected. Do I need to attach the test results here? The platform I tested on was a Docker container running in Docker Desktop, running the "mcr.microsoft.com/devcontainers/universal:2-linux" image. I also made sure that my code changes followed the coding standards. Please let me know if there is anything else that I need to do. I don't have write-access to the repository. Thanks, Alexander On Wed, Jun 28, 2023 at 4:14=E2=80=AFPM Harald Anlauf wrote: > Hi Alex, > > welcome to the gfortran community. It is great that you are trying > to get actively involved. > > You already did quite a few things right: patches shall be sent to > the gcc-patches ML, but Fortran reviewers usually notice them only > where they are copied to the fortran ML. > > There are some general recommendations on the formatting of C code, > like indentation, of the patches, and of the commit log entries. > > Regarding coding standards, see https://www.gnu.org/prep/standards/ . > > Regarding testcases, a recommendation is to have a look at > existing testcases, e.g. in gcc/testsuite/gfortran.dg/, and then > decide if the testcase shall test the compile-time or run-time > behaviour, and add the necessary dejagnu directives. > > You should also verify if your patch passes regression testing. > For changes to gfortran, it is usually sufficient to run > > make check-fortran -j > > where is the number of parallel tests. > You would need to report also the platform where you tested on. > > There is also a legal issue to consider before non-trivial patches can > be accepted for incorporation: https://gcc.gnu.org/contribute.html#legal > > If your patch is accepted and if you do not have write-access to the > repository, one of the maintainers will likely take care of it. > If you become a regular contributor, you will probably want to consider > getting write access. > > Cheers, > Harald > > > > On 6/24/23 19:17, Alexander Westbrooks via Gcc-patches wrote: > > Hello, > > > > I am new to the GFortran community. Over the past two weeks I created a > > patch that should fix PR82943 for GFortran. I have attached it to this > > email. The patch allows the code below to compile successfully. I am > > working on creating test cases next, but I am new to the process so it > may > > take me some time. After I make test cases, do I email them to you as > well? > > Do I need to make a pull-request on github in order to get the patch > > reviewed? > > > > Thank you, > > > > Alexander Westbrooks > > > > module testmod > > > > public :: foo > > > > type, public :: tough_lvl_0(a, b) > > integer, kind :: a =3D 1 > > integer, len :: b > > contains > > procedure :: foo > > end type > > > > type, public, EXTENDS(tough_lvl_0) :: tough_lvl_1 (c) > > integer, len :: c > > contains > > procedure :: bar > > end type > > > > type, public, EXTENDS(tough_lvl_1) :: tough_lvl_2 (d) > > integer, len :: d > > contains > > procedure :: foobar > > end type > > > > contains > > subroutine foo(this) > > class(tough_lvl_0(1,*)), intent(inout) :: this > > end subroutine > > > > subroutine bar(this) > > class(tough_lvl_1(1,*,*)), intent(inout) :: this > > end subroutine > > > > subroutine foobar(this) > > class(tough_lvl_2(1,*,*,*)), intent(inout) :: this > > end subroutine > > > > end module > > > > PROGRAM testprogram > > USE testmod > > > > TYPE(tough_lvl_0(1,5)) :: test_pdt_0 > > TYPE(tough_lvl_1(1,5,6)) :: test_pdt_1 > > TYPE(tough_lvl_2(1,5,6,7)) :: test_pdt_2 > > > > CALL test_pdt_0%foo() > > > > CALL test_pdt_1%foo() > > CALL test_pdt_1%bar() > > > > CALL test_pdt_2%foo() > > CALL test_pdt_2%bar() > > CALL test_pdt_2%foobar() > > > > > > END PROGRAM testprogram > > --0000000000004fd0bd05ff508e51-- --0000000000004fd0bf05ff508e53 Content-Type: application/octet-stream; name="0001-Fix-fortran-PR82943-PR86148-and-PR86268.patch" Content-Disposition: attachment; filename="0001-Fix-fortran-PR82943-PR86148-and-PR86268.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lji0y4ny0 RnJvbSBkZDY5MDNkN2E2ZWU3NTkxOGYxNGNhODQ2OWJjNmVjMmIyZTc2MzQ5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgV2Vz dGJyb29rcyA8Y3RlY2hub2RldkBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMzAg SnVuIDIwMjMgMDM6Mjc6NTQgKzAwMDAKU3ViamVjdDogW1BBVENIXSBGaXgg Zm9ydHJhbi9QUjgyOTQzLCBQUjg2MTQ4LCBhbmQgUFI4NjI2OAoKMjAyMy0w Ni0yOSAgQWxleGFuZGVyIFdlc3Ricm9va3MgIDxjdGVjaG5vZGV2QGdtYWls LmNvbT4KCglQUiBmb3J0cmFuLzgyOTQzCglQUiBmb3J0cmFuLzg2MTQ4CglQ UiBmb3J0cmFuLzg2MjY4CgoJKiBkZWNsLmNjIChnZmNfZ2V0X3BkdF9pbnN0 YW5jZSk6IFNldCB0aGUgUERUIGluc3RhbmNlIGZpZWxkCgknZjJrX2Rlcml2 ZWQnLCBpZiBub3Qgc2V0IGFscmVhZHksIHRvIHBvaW50IHRvIHRoZSBnaXZl bgoJUERUIHRlbXBsYXRlICdmMmtfZGVyaXZlZCcgbmFtZXNwYWNlIGluIG9y ZGVyIHRvIGdpdmUgdGhlCglQRFQgaW5zdGFuY2UgcmVmZXJlbnRpYWwgYWNj ZXNzIHRvIHRoZSB0eXBlYm91bmQgcHJvY2VkdXJlcwoJb2YgdGhlIHRlbXBs YXRlLgoJKiBnZm9ydHJhbi5oIChnZmNfZ2V0X3BkdF9pc250YW5jZSk6IEFk ZCBwcm90b3R5cGUuCgkqIHJlc29sdmUuY2MgKHJlc29sdmVfdHlwZWJvdW5k X3Byb2NlZHVyZSk6IElmIHRoZSBkZXJpdmVkIHR5cGUKCWRvZXMgbm90IGhh dmUgdGhlIGF0dHJpYnV0ZSAncGR0X3RlbXBsYXRlJyBzZXQsIGNvbXBhcmUg dGhlCglkdW1teSBhcmd1bWVudCB0byB0aGUgJ3Jlc29sdmVfYmluZGluZ3Nf ZGVyaXZlZCcgdHlwZSBsaWtlIHVzdWFsLgoJSWYgdGhlIGRlcml2ZWQgdHlw ZSBpcyBhICdwZHRfdGVtcGxhdGUnLCB0aGVuIGNoZWNrIGlmIHRoZQoJZHVt bXkgYXJndW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIFBEVCB0ZW1wbGF0 ZS4gSWYgdGhlIGRlcml2ZWQKCXR5cGUgaXMgYSBQRFQgdGVtcGxhdGUsIGFu ZCB0aGUgZHVtbXkgYXJndW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YKCXRoYXQg dGVtcGxhdGUsIGJ1dCB0aGUgZHVtbXkgYXJndW1lbnQgJ3BhcmFtX2xpc3Qn IGlzIG5vdAoJU1BFQ19BU1NVTUVELCBjaGVjayBpZiB0aGVyZSBhcmUgYW55 IExFTiBwYXJhbWV0ZXJzIGluIHRoZQoJZHVtbXkgYXJndW1lbnQuIElmIHRo ZXJlIGFyZSBubyBMRU4gcGFyYW1ldGVycywgdGhlbiB0aGlzIGltcGxpZXMK CXRoYXQgdGhlcmUgYXJlIG9ubHkgS0lORCBwYXJhbWV0ZXJzIGluIHRoZSBk dW1teSBhcmd1bWVudC4KCUlmIHRoZXJlIGFyZSBMRU4gcGFyYW1ldGVycywg dGhpcyB3b3VsZCBiZSBhbiBlcnJvciwgZm9yIGFsbAoJTEVOIHBhcmFtZXRl cnMgZm9yIHRoZSBkdW1teSBhcmd1bWVudCBNVVNUIGJlIGFzc3VtZWQgZm9y Cgl0eXBlYm91bmQgcHJvY2VkdXJlcyBvZiBQRFRzLgoJKiBzeW1ib2wuY2Mg KGdmY19wZHRfaXNfaW5zdGFuY2Vfb2YpOiBOZXcgZnVuY3Rpb24uCgoyMDIz LTA2LTI5ICBBbGV4YW5kZXIgV2VzdGJyb29rcyAgPGN0ZWNobm9kZXZAZ21h aWwuY29tPgoKCVBSIGZvcnRyYW4vODI5NDMKCVBSIGZvcnRyYW4vODYxNDgK CVBSIGZvcnRyYW4vODYyNjgKCgkqIGdmb3J0cmFuLmRnL3BkdF8zMy5mMDM6 IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9wZHRfMzQuZjAzOiBMaWtld2lz ZS4KCSogZ2ZvcnRyYW4uZGcvcGR0XzM1LmYwMzogTGlrZXdpc2UuCgkqIGdm b3J0cmFuLmRnL3BkdF8zNi5mMDM6IExpa2V3aXNlLgotLS0KIGdjYy9mb3J0 cmFuL0NoYW5nZUxvZyAgICAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysr CiBnY2MvZm9ydHJhbi9kZWNsLmNjICAgICAgICAgICAgICAgICAgfCAxNSAr KysrKysKIGdjYy9mb3J0cmFuL2dmb3J0cmFuLmggICAgICAgICAgICAgICB8 ICAxICsKIGdjYy9mb3J0cmFuL3Jlc29sdmUuY2MgICAgICAgICAgICAgICB8 IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGdjYy9mb3J0cmFu L3N5bWJvbC5jYyAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKwog Z2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgIHwgMTEgKysr KysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcGR0XzMzLmYwMyB8IDQz ICsrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9wZHRfMzQuZjAzIHwgNDUgKysrKysrKysrKysrKysrKysrCiBnY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL3BkdF8zNS5mMDMgfCA2NSArKysrKysrKysr KysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9w ZHRfMzYuZjAzIHwgMzQgKysrKysrKysrKysrKysKIDEwIGZpbGVzIGNoYW5n ZWQsIDMzMCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcGR0XzMz LmYwMwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvcGR0XzM0LmYwMwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvcGR0XzM1LmYwMwogY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcGR0XzM2LmYwMwoKZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL0NoYW5nZUxvZyBiL2djYy9mb3J0cmFu L0NoYW5nZUxvZwppbmRleCA4NTliZDcyYjIyYi4uZjdkMjJjNmY0OWMgMTAw NjQ0Ci0tLSBhL2djYy9mb3J0cmFuL0NoYW5nZUxvZworKysgYi9nY2MvZm9y dHJhbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMy0wNi0yOSAg QWxleGFuZGVyIFdlc3Ricm9va3MgIDxjdGVjaG5vZGV2QGdtYWlsLmNvbT4K KworCVBSIGZvcnRyYW4vODI5NDMKKwlQUiBmb3J0cmFuLzg2MTQ4CisJUFIg Zm9ydHJhbi84NjI2OAorCisJKiBkZWNsLmNjIChnZmNfZ2V0X3BkdF9pbnN0 YW5jZSk6IFNldCB0aGUgUERUIGluc3RhbmNlIGZpZWxkCisJJ2Yya19kZXJp dmVkJywgaWYgbm90IHNldCBhbHJlYWR5LCB0byBwb2ludCB0byB0aGUgZ2l2 ZW4gCisJUERUIHRlbXBsYXRlICdmMmtfZGVyaXZlZCcgbmFtZXNwYWNlIGlu IG9yZGVyIHRvIGdpdmUgdGhlIAorCVBEVCBpbnN0YW5jZSByZWZlcmVudGlh bCBhY2Nlc3MgdG8gdGhlIHR5cGVib3VuZCBwcm9jZWR1cmVzCisJb2YgdGhl IHRlbXBsYXRlLgorCSogZ2ZvcnRyYW4uaCAoZ2ZjX2dldF9wZHRfaXNudGFu Y2UpOiBBZGQgcHJvdG90eXBlLgorCSogcmVzb2x2ZS5jYyAocmVzb2x2ZV90 eXBlYm91bmRfcHJvY2VkdXJlKTogSWYgdGhlIGRlcml2ZWQgdHlwZQorCWRv ZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZSAncGR0X3RlbXBsYXRlJyBzZXQs IGNvbXBhcmUgdGhlCisJZHVtbXkgYXJndW1lbnQgdG8gdGhlICdyZXNvbHZl X2JpbmRpbmdzX2Rlcml2ZWQnIHR5cGUgbGlrZSB1c3VhbC4gIAorCUlmIHRo ZSBkZXJpdmVkIHR5cGUgaXMgYSAncGR0X3RlbXBsYXRlJywgdGhlbiBjaGVj ayBpZiB0aGUgCisJZHVtbXkgYXJndW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2Yg dGhlIFBEVCB0ZW1wbGF0ZS4gSWYgdGhlIGRlcml2ZWQKKwl0eXBlIGlzIGEg UERUIHRlbXBsYXRlLCBhbmQgdGhlIGR1bW15IGFyZ3VtZW50IGlzIGFuIGlu c3RhbmNlIG9mCisJdGhhdCB0ZW1wbGF0ZSwgYnV0IHRoZSBkdW1teSBhcmd1 bWVudCAncGFyYW1fbGlzdCcgaXMgbm90IAorCVNQRUNfQVNTVU1FRCwgY2hl Y2sgaWYgdGhlcmUgYXJlIGFueSBMRU4gcGFyYW1ldGVycyBpbiB0aGUKKwlk dW1teSBhcmd1bWVudC4gSWYgdGhlcmUgYXJlIG5vIExFTiBwYXJhbWV0ZXJz LCB0aGVuIHRoaXMgaW1wbGllcworCXRoYXQgdGhlcmUgYXJlIG9ubHkgS0lO RCBwYXJhbWV0ZXJzIGluIHRoZSBkdW1teSBhcmd1bWVudC4gCisJSWYgdGhl cmUgYXJlIExFTiBwYXJhbWV0ZXJzLCB0aGlzIHdvdWxkIGJlIGFuIGVycm9y LCBmb3IgYWxsIAorCUxFTiBwYXJhbWV0ZXJzIGZvciB0aGUgZHVtbXkgYXJn dW1lbnQgTVVTVCBiZSBhc3N1bWVkIGZvciAKKwl0eXBlYm91bmQgcHJvY2Vk dXJlcyBvZiBQRFRzLgorCSogc3ltYm9sLmNjIChnZmNfcGR0X2lzX2luc3Rh bmNlX29mKTogTmV3IGZ1bmN0aW9uLgorCiAyMDIzLTA2LTEwICBGcmFuY29p cy1YYXZpZXIgQ291ZGVydCAgPGZ4Y291ZGVydEBnY2MuZ251Lm9yZz4KIAog CSogZjk1LWxhbmcuY2MgKGdmY19pbml0X2J1aWx0aW5fZnVuY3Rpb25zKTog QWRkIGZtYXgoKSBhbmQKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2RlY2wu Y2MgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCmluZGV4IGQwOWM4YmM5N2Q5Li45 MDQzYTRkNDI3ZiAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vZGVjbC5jYwor KysgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCkBAIC00MDYzLDYgKzQwNjMsMjEg QEAgZ2ZjX2dldF9wZHRfaW5zdGFuY2UgKGdmY19hY3R1YWxfYXJnbGlzdCAq cGFyYW1fbGlzdCwgZ2ZjX3N5bWJvbCAqKnN5bSwKIAkgIGNvbnRpbnVlOwog CX0KIAorICAvKiAKKyAgICBBZGRyZXNzaW5nIFBSODI5NDMsIHRoaXMgd2ls bCBmaXggdGhlIGlzc3VlIHdoZXJlIGEgZnVuY3Rpb24vc3Vicm91dGluZSBp cyBkZWNsYXJlZCBhcyBub3QKKyAgICBhIG1lbWJlciBvZiB0aGUgUERUIGlu c3RhbmNlLiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIGJlY2F1c2UgdGhlIFBE VCBpbnN0YW5jZSBkaWQgbm90IGhhdmUKKyAgICBhY2Nlc3MgdG8gaXRzIHRl bXBsYXRlJ3MgZjJrX2Rlcml2ZWQgbmFtZXNwYWNlIGluIG9yZGVyIHRvIGZp bmQgdGhlIHR5cGVib3VuZCBwcm9jZWR1cmVzLgorCisgICAgVGhlIG51bWJl ciBvZiByZWZlcmVuY2VzIHRvIHRoZSBQRFQgdGVtcGxhdGUncyBmMmtfZGVy aXZlZCB3aWxsIGVuc3VyZSB0aGF0IGYya19kZXJpdmVkIGlzIAorICAgIHBy b3Blcmx5IGZyZWVkIGxhdGVyIG9uLgorICAqLworCisgIGlmICghaW5zdGFu Y2UtPmYya19kZXJpdmVkICYmIHBkdC0+ZjJrX2Rlcml2ZWQpCisgIHsKKyAg ICBpbnN0YW5jZS0+ZjJrX2Rlcml2ZWQgPSBwZHQtPmYya19kZXJpdmVkOwor ICAgIGluc3RhbmNlLT5mMmtfZGVyaXZlZC0+cmVmcysrOworICB9CisKICAg ICAgIC8qIFNldCB0aGUgY29tcG9uZW50IGtpbmQgdXNpbmcgdGhlIHBhcmFt ZXRlcml6ZWQgZXhwcmVzc2lvbi4gICovCiAgICAgICBpZiAoKGMxLT50cy5r aW5kID09IDAgfHwgYzEtPnRzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSKQogCSAg ICYmIGMxLT5raW5kX2V4cHIgIT0gTlVMTCkKZGlmZiAtLWdpdCBhL2djYy9m b3J0cmFuL2dmb3J0cmFuLmggYi9nY2MvZm9ydHJhbi9nZm9ydHJhbi5oCmlu ZGV4IGE1OGM2MGU5ODI4Li42ODU0ZWRiMzQ2NyAxMDA2NDQKLS0tIGEvZ2Nj L2ZvcnRyYW4vZ2ZvcnRyYW4uaAorKysgYi9nY2MvZm9ydHJhbi9nZm9ydHJh bi5oCkBAIC0zNTM2LDYgKzM1MzYsNyBAQCB2b2lkIGdmY190cmF2ZXJzZV9n c3ltYm9sIChnZmNfZ3N5bWJvbCAqLCB2b2lkICgqKShnZmNfZ3N5bWJvbCAq LCB2b2lkICopLCB2b2lkCiBnZmNfdHlwZWJvdW5kX3Byb2MqIGdmY19nZXRf dHlwZWJvdW5kX3Byb2MgKGdmY190eXBlYm91bmRfcHJvYyopOwogZ2ZjX3N5 bWJvbCogZ2ZjX2dldF9kZXJpdmVkX3N1cGVyX3R5cGUgKGdmY19zeW1ib2wq KTsKIGJvb2wgZ2ZjX3R5cGVfaXNfZXh0ZW5zaW9uX29mIChnZmNfc3ltYm9s ICosIGdmY19zeW1ib2wgKik7Citib29sIGdmY19wZHRfaXNfaW5zdGFuY2Vf b2YoZ2ZjX3N5bWJvbCAqLCBnZmNfc3ltYm9sICopOwogYm9vbCBnZmNfdHlw ZV9jb21wYXRpYmxlIChnZmNfdHlwZXNwZWMgKiwgZ2ZjX3R5cGVzcGVjICop OwogCiB2b2lkIGdmY19jb3B5X2Zvcm1hbF9hcmdzX2ludHIgKGdmY19zeW1i b2wgKiwgZ2ZjX2ludHJpbnNpY19zeW0gKiwKZGlmZiAtLWdpdCBhL2djYy9m b3J0cmFuL3Jlc29sdmUuY2MgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCmlu ZGV4IDUwYjQ5ZDBjYjgzLi5jYjM0ZGI1MWJlOCAxMDA2NDQKLS0tIGEvZ2Nj L2ZvcnRyYW4vcmVzb2x2ZS5jYworKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZl LmNjCkBAIC0xNDcwNSwxNCArMTQ3MDUsNjYgQEAgcmVzb2x2ZV90eXBlYm91 bmRfcHJvY2VkdXJlIChnZmNfc3ltdHJlZSogc3RyZWUpCiAJICBnb3RvIGVy cm9yOwogCX0KIAotICAgICAgaWYgKENMQVNTX0RBVEEgKG1lX2FyZyktPnRz LnUuZGVyaXZlZAotCSAgIT0gcmVzb2x2ZV9iaW5kaW5nc19kZXJpdmVkKQot CXsKLQkgIGdmY19lcnJvciAoIkFyZ3VtZW50ICVxcyBvZiAlcXMgd2l0aCBQ QVNTKCVzKSBhdCAlTCBtdXN0IGJlIG9mIgotCQkgICAgICIgdGhlIGRlcml2 ZWQtdHlwZSAlcXMiLCBtZV9hcmctPm5hbWUsIHByb2MtPm5hbWUsCi0JCSAg ICAgbWVfYXJnLT5uYW1lLCAmd2hlcmUsIHJlc29sdmVfYmluZGluZ3NfZGVy aXZlZC0+bmFtZSk7Ci0JICBnb3RvIGVycm9yOwotCX0KKyAgLyogVGhlIGRl cml2ZWQgdHlwZSBpcyBub3QgYSBQRFQgdGVtcGxhdGUuICBSZXNvbHZlIGFz IHVzdWFsLiAgICovCisgIGlmICggIXJlc29sdmVfYmluZGluZ3NfZGVyaXZl ZC0+YXR0ci5wZHRfdGVtcGxhdGUgCisgICAgICAgJiYgKENMQVNTX0RBVEEg KG1lX2FyZyktPnRzLnUuZGVyaXZlZCAhPSByZXNvbHZlX2JpbmRpbmdzX2Rl cml2ZWQpKQorICAgIHsKKyAgICAgIGdmY19lcnJvciAoIkFyZ3VtZW50ICVx cyBvZiAlcXMgd2l0aCBQQVNTKCVzKSBhdCAlTCBtdXN0IGJlIG9mIgorICAg ICAgICAgICIgdGhlIGRlcml2ZWQtdHlwZSAlcXMiLCBtZV9hcmctPm5hbWUs IHByb2MtPm5hbWUsCisgICAgICAgICAgbWVfYXJnLT5uYW1lLCAmd2hlcmUs IHJlc29sdmVfYmluZGluZ3NfZGVyaXZlZC0+bmFtZSk7CisgICAgICBnb3Rv IGVycm9yOworICAgIH0KKyAgCisgIGlmICggcmVzb2x2ZV9iaW5kaW5nc19k ZXJpdmVkLT5hdHRyLnBkdF90ZW1wbGF0ZSAmJiAKKyAgICAgICAhZ2ZjX3Bk dF9pc19pbnN0YW5jZV9vZihyZXNvbHZlX2JpbmRpbmdzX2Rlcml2ZWQsIAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMQVNTX0RBVEEobWVf YXJnKS0+dHMudS5kZXJpdmVkKSkKKyAgICB7CisgICAgICBnZmNfZXJyb3Ig KCJBcmd1bWVudCAlcXMgb2YgJXFzIHdpdGggUEFTUyglcykgYXQgJUwgbXVz dCBiZSBvZiIKKyAgICAgICAgIiB0aGUgcGFyYW1ldHJpYyBkZXJpdmVkLXR5 cGUgJXFzIiwgbWVfYXJnLT5uYW1lLCBwcm9jLT5uYW1lLAorICAgICAgICBt ZV9hcmctPm5hbWUsICZ3aGVyZSwgcmVzb2x2ZV9iaW5kaW5nc19kZXJpdmVk LT5uYW1lKTsKKyAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgIGlmICgg cmVzb2x2ZV9iaW5kaW5nc19kZXJpdmVkLT5hdHRyLnBkdF90ZW1wbGF0ZSAm JgorICAgICAgICAmJiBnZmNfcGR0X2lzX2luc3RhbmNlX29mKHJlc29sdmVf YmluZGluZ3NfZGVyaXZlZCwgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQ0xBU1NfREFUQShtZV9hcmcpLT50cy51LmRlcml2ZWQpCisg ICAgICAgICYmIChtZV9hcmctPnBhcmFtX2xpc3QgIT0gTlVMTCkKKyAgICAg ICAgJiYgKGdmY19zcGVjX2xpc3RfdHlwZShtZV9hcmctPnBhcmFtX2xpc3Qs IENMQVNTX0RBVEEobWVfYXJnKS0+dHMudS5kZXJpdmVkKSAKKyAgICAgICAg ICAgICAgIT0gU1BFQ19BU1NVTUVEKSkKKyAgICB7CisKKyAgICAgIC8qIAor ICAgICAgICBBZGQgYSBjaGVjayB0byB2ZXJpZnkgaWYgdGhlcmUgYXJlIGFu eSBMRU4gcGFyYW1ldGVycyBpbiB0aGUgZmlyc3QgcGxhY2UuICAgCisgICAg ICAgIElmIHRoZXJlIGFyZSBMRU4gcGFyYW1ldGVycywgdGhyb3cgdGhpcyBl cnJvci4gIElmIHRoZXJlIGFyZSBvbmx5IEtJTkQgCisgICAgICAgIHBhcmFt ZXRlcnMsIHRoZW4gZG9uJ3QgdHJpZ2dlciB0aGlzIGVycm9yLiAgCisgICAg ICAqLworICAgICAgZ2ZjX2NvbXBvbmVudCAqYzsKKyAgICAgIGJvb2wgc2Vl bl9sZW5fcGFyYW0gPSBmYWxzZTsKKyAgICAgIGdmY19hY3R1YWxfYXJnbGlz dCAqbWVfYXJnX3BhcmFtID0gbWVfYXJnLT5wYXJhbV9saXN0OworCisgICAg ICBmb3IgKDsgbWVfYXJnX3BhcmFtOyBtZV9hcmdfcGFyYW0gPSBtZV9hcmdf cGFyYW0tPm5leHQpCisgICAgICAgIHsKKyAgICAgICAgICBjID0gZ2ZjX2Zp bmRfY29tcG9uZW50KAorICAgICAgICAgICAgICAgIENMQVNTX0RBVEEobWVf YXJnKS0+dHMudS5kZXJpdmVkLCAKKyAgICAgICAgICAgICAgICBtZV9hcmdf cGFyYW0tPm5hbWUsCisgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgTlVM TCk7CisKKyAgICAgICAgICBnY2NfYXNzZXJ0IChjICE9IE5VTEwpOworICAg ICAgICAgIGlmIChjLT5hdHRyLnBkdF9raW5kKQorICAgICAgICAgICAgY29u dGludWU7CisKKyAgICAgICAgICAvLyBHZXR0aW5nIGhlcmUgaW1wbGllcyB0 aGF0IHRoZXJlIGlzIGEgcGR0X2xlbiBwYXJhbWV0ZXIgaW4gdGhlIGxpc3Qu ICAKKyAgICAgICAgICBzZWVuX2xlbl9wYXJhbSA9IHRydWU7CisgICAgICAg ICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgaWYgKHNlZW5fbGVuX3Bh cmFtKQorICAgICAgICB7CisgICAgICAgICAgZ2ZjX2Vycm9yICgiQWxsIExF TiB0eXBlIHBhcmFtZXRlcnMgb2YgdGhlIHBhc3NlZCBkdW1teSBhcmd1bWVu dCAlcXMiCisgICAgICAgICAgICAgICIgb2YgJXFzIGF0ICVMIG11c3QgYmUg QVNTVU1FRC4iLCBtZV9hcmctPm5hbWUsIHByb2MtPm5hbWUsICZ3aGVyZSk7 CisgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgIH0KIAog ICAgICAgZ2NjX2Fzc2VydCAobWVfYXJnLT50cy50eXBlID09IEJUX0NMQVNT KTsKICAgICAgIGlmIChDTEFTU19EQVRBIChtZV9hcmcpLT5hcyAmJiBDTEFT U19EQVRBIChtZV9hcmcpLT5hcy0+cmFuayAhPSAwKQpkaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vc3ltYm9sLmNjIGIvZ2NjL2ZvcnRyYW4vc3ltYm9sLmNj CmluZGV4IDM3YTllOGZhMGFlLi43N2Y4NGRlMDk4OSAxMDA2NDQKLS0tIGEv Z2NjL2ZvcnRyYW4vc3ltYm9sLmNjCisrKyBiL2djYy9mb3J0cmFuL3N5bWJv bC5jYwpAQCAtNTEzNCw2ICs1MTM0LDM1IEBAIGdmY190eXBlX2lzX2V4dGVu c2lvbl9vZiAoZ2ZjX3N5bWJvbCAqdDEsIGdmY19zeW1ib2wgKnQyKQogICBy ZXR1cm4gZ2ZjX2NvbXBhcmVfZGVyaXZlZF90eXBlcyAodDEsIHQyKTsKIH0K IAorLyogQ2hlY2sgaWYgYSBwYXJhbWV0ZXJpemVkIGRlcml2ZWQgdHlwZSB0 MiBpcyBhbiBpbnN0YW5jZSBvZiBhIFBEVCB0ZW1wbGF0ZSB0MSAqLworCiti b29sCitnZmNfcGR0X2lzX2luc3RhbmNlX29mKGdmY19zeW1ib2wgKnQxLCBn ZmNfc3ltYm9sICp0MikKK3sKKyAgaWYgKCAhdDEtPmF0dHIucGR0X3RlbXBs YXRlIHx8ICF0Mi0+YXR0ci5wZHRfdHlwZSApCisgICAgcmV0dXJuIGZhbHNl OworCisgIC8qIAorICAgIGluIGRlY2wuY2MsIGdmY19nZXRfcGR0X2luc3Rh bmNlLCBhIHBkdCBpbnN0YW5jZSBpcyBnaXZlbiBhIDMgY2hhcmFjdGVyIHBy ZWZpeCAiUGR0IiwgZm9sbG93ZWQgCisgICAgYnkgYW4gdW5kZXJzY29yZSBs aXN0IG9mIHRoZSBraW5kIHBhcmFtZXRlcnMsIHVwIHRvIGEgbWF4aW11bSBv ZiA4LiAKKworICAgIFNvIHRvIGNoZWNrIGlmIGEgUERUIFR5cGUgY29ycmVz cG9uZHMgdG8gdGhlIHRlbXBsYXRlLCBleHRyYWN0IHRoZSBjb3JlIGRlcml2 ZV90eXBlIG5hbWUsCisgICAgYW5kIHRoZW4gc2VlIGlmIGl0IGlzIHR5cGUg Y29tcGF0aWJsZSBieSBuYW1lLi4uCisKKyAgICBGb3IgZXhhbXBsZToKKwor ICAgIFBkdGZfMl8yIC0+IGV4dHJhY3Qgb3V0IHRoZSAnZicgLT4gc2VlIGlm IHRoZSBkZXJpdmVkIHR5cGUgJ2YnIGlzIGNvbXBhdGlibGUgd2l0aCBzeW1i b2wgdDEKKyAgKi8KKworICAvLyBTdGFydGluZyBhdCBpbmRleCAzIG9mIHRo ZSBzdHJpbmcgaW4gb3JkZXIgdG8gc2tpcCBwYXN0IHRoZSAnUGR0JyBwcmVm aXgKKyAgLy8gQWxzbywgaGVyZSB0aGUgbGVuZ3RoIG9mIHRoZSB0ZW1wbGF0 ZSBuYW1lIGlzIHVzZWQgaW4gb3JkZXIgdG8gYXZvaWQgdGhlIAorICAvLyBr aW5kIHBhcmFtZXRlciBzdWZmaXhlcyB0aGF0IGFyZSBwbGFjZWQgYXQgdGhl IGVuZCBvZiBQRFQgaW5zdGFuY2UgbmFtZXMuCisgIGlmICggIShzdHJuY21w KCYodDItPm5hbWVbM10pLCB0MS0+bmFtZSwgc3RybGVuKHQxLT5uYW1lKSkg PT0gMCkgKQorICAgIHJldHVybiBmYWxzZTsKKworICByZXR1cm4gdHJ1ZTsK K30KKwogCiAvKiBDaGVjayBpZiB0d28gdHlwZXNwZWNzIGFyZSB0eXBlIGNv bXBhdGlibGUgKEYwMzo1LjEuMS4yKToKICAgIElmIHRzMSBpcyBub25wb2x5 bW9ycGhpYywgdHMyIG11c3QgYmUgdGhlIHNhbWUgdHlwZS4KZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvQ2hhbmdlTG9nIGIvZ2NjL3Rlc3RzdWl0ZS9D aGFuZ2VMb2cKaW5kZXggNmE1MzIzMDY0OGQuLjgyZjJiODVmZmYxIDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL0NoYW5nZUxvZworKysgYi9nY2MvdGVz dHN1aXRlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIzLTA2LTI5 ICBBbGV4YW5kZXIgV2VzdGJyb29rcyAgPGN0ZWNobm9kZXZAZ21haWwuY29t PgorCisJUFIgZm9ydHJhbi84Mjk0MworCVBSIGZvcnRyYW4vODYxNDgKKwlQ UiBmb3J0cmFuLzg2MjY4CisKKwkqIGdmb3J0cmFuLmRnL3BkdF8zMy5mMDM6 IE5ldyB0ZXN0LgorCSogZ2ZvcnRyYW4uZGcvcGR0XzM0LmYwMzogTGlrZXdp c2UuCisJKiBnZm9ydHJhbi5kZy9wZHRfMzUuZjAzOiBMaWtld2lzZS4KKwkq IGdmb3J0cmFuLmRnL3BkdF8zNi5mMDM6IExpa2V3aXNlLgorCiAyMDIzLTA2 LTEyICBHYWl1cyBNdWxsZXkgIDxnYWl1c21vZDJAZ21haWwuY29tPgogCiAJ UFIgbW9kdWxhMi8xMTAxODkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvcGR0XzMzLmYwMyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvcGR0XzMzLmYwMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMDY4ZTQ1NDRkYjUKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3BkdF8zMy5mMDMKQEAgLTAsMCAr MSw0MyBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorIQorISBUZXN0cyB0aGUg Zml4ZXMgZm9yIFBSODI5NDMuCishCishIENvbnRyaWJ1dGVkIGJ5IEFsZXhh bmRlciBXZXN0YnJvb2tzICA8Y3RlY2hub2RldkBnbWFpbC5jb20+CishCitt b2R1bGUgbQorICAgIHB1YmxpYyA6OiBmb28sIGJhciwgZm9vYmFyCisKKyAg ICB0eXBlLCBwdWJsaWMgOjogZ29vZF90eXBlKG4pCisgICAgICAgaW50ZWdl ciwgbGVuIDo6IG4gPSAxCisgICAgY29udGFpbnMKKyAgICAgICBwcm9jZWR1 cmUgOjogZm9vCisgICAgZW5kIHR5cGUKKworICAgIHR5cGUsIHB1YmxpYyA6 OiBnb29kX3R5cGUyKGspCisgICAgICAgaW50ZWdlciwga2luZCA6OiBrID0g MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGNvbnRh aW5zCisgICAgICAgcHJvY2VkdXJlIDo6IGJhcgorICAgIGVuZCB0eXBlCisK KyAgICB0eXBlLCBwdWJsaWMgOjogZ29vZF90eXBlMyhuLCBrKQorICAgICAg ICBpbnRlZ2VyLCBsZW4gOjogbiA9IDEKKyAgICAgICBpbnRlZ2VyLCBraW5k IDo6IGsgPSAxCisgICAgY29udGFpbnMKKyAgICAgICBwcm9jZWR1cmUgOjog Zm9vYmFyCisgICAgZW5kIHR5cGUKKyAgCisgICAgY29udGFpbnMKKyAgICAg ICAgc3Vicm91dGluZSBmb28odGhpcykKKyAgICAgICAgICAgIGNsYXNzKGdv b2RfdHlwZSgqKSksIGludGVudChpbm91dCkgOjogdGhpcworICAgICAgICBl bmQgc3Vicm91dGluZQorCisgICAgICAgIHN1YnJvdXRpbmUgYmFyKHRoaXMp CisgICAgICAgICAgICBjbGFzcyhnb29kX3R5cGUyKDIpKSwgaW50ZW50KGlu b3V0KSA6OiB0aGlzCisgICAgICAgIGVuZCBzdWJyb3V0aW5lCisKKyAgICAg ICAgc3Vicm91dGluZSBmb29iYXIodGhpcykKKyAgICAgICAgICAgIGNsYXNz KGdvb2RfdHlwZTMoKiwyKSksIGludGVudChpbm91dCkgOjogdGhpcworICAg ICAgICBlbmQgc3Vicm91dGluZQorCisgZW5kIG1vZHVsZQorIApcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvcGR0XzM0LmYwMyBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvcGR0XzM0LmYwMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uOGI5OTk0OGZhNzMKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3BkdF8zNC5mMDMKQEAgLTAs MCArMSw0NSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorIQorISBUZXN0cyB0 aGUgZml4ZXMgZm9yIFBSODI5NDMuCishCishIFRoaXMgdGVzdCBmb2N1c2Vz IG9uIGluaGVyaXRhbmNlIGZvciB0aGUgdHlwZSBib3VuZCBwcm9jZWR1cmVz LgorIQorISBDb250cmlidXRlZCBieSBBbGV4YW5kZXIgV2VzdGJyb29rcyAg PGN0ZWNobm9kZXZAZ21haWwuY29tPgorIQorbW9kdWxlIG0KKworICAgcHVi bGljIDo6IGZvbywgYmFyLCBmb29iYXIKKworICAgdHlwZSwgcHVibGljIDo6 IGdvb2RwZHRfbHZsXzAoYSwgYikKKyAgICAgICBpbnRlZ2VyLCBraW5kIDo6 IGEgPSAxCisgICAgICAgaW50ZWdlciwgbGVuIDo6IGIKKyAgIGNvbnRhaW5z CisgICAgICAgcHJvY2VkdXJlIDo6IGZvbworICAgZW5kIHR5cGUKKworICAg dHlwZSwgcHVibGljLCBFWFRFTkRTKGdvb2RwZHRfbHZsXzApIDo6IGdvb2Rw ZHRfbHZsXzEgKGMpCisgICAgICAgaW50ZWdlciwgbGVuIDo6IGMKKyAgIGNv bnRhaW5zCisgICAgICAgcHJvY2VkdXJlIDo6IGJhcgorICAgZW5kIHR5cGUK KworICAgdHlwZSwgcHVibGljLCBFWFRFTkRTKGdvb2RwZHRfbHZsXzEpIDo6 IGdvb2RwZHRfbHZsXzIgKGQpCisgICAgICAgaW50ZWdlciwgbGVuIDo6IGQK KyAgIGNvbnRhaW5zCisgICAgICAgcHJvY2VkdXJlIDo6IGZvb2JhcgorICAg ZW5kIHR5cGUKKworY29udGFpbnMKKyAgIHN1YnJvdXRpbmUgZm9vKHRoaXMp CisgICAgICAgY2xhc3MoZ29vZHBkdF9sdmxfMCgxLCopKSwgaW50ZW50KGlu b3V0KSA6OiB0aGlzCisgICBlbmQgc3Vicm91dGluZQorCisgICBzdWJyb3V0 aW5lIGJhcih0aGlzKQorICAgICAgIGNsYXNzKGdvb2RwZHRfbHZsXzEoMSwq LCopKSwgaW50ZW50KGlub3V0KSA6OiB0aGlzCisgICBlbmQgc3Vicm91dGlu ZQorCisgICBzdWJyb3V0aW5lIGZvb2Jhcih0aGlzKQorICAgICAgIGNsYXNz KGdvb2RwZHRfbHZsXzIoMSwqLCosKikpLCBpbnRlbnQoaW5vdXQpIDo6IHRo aXMKKyAgIGVuZCBzdWJyb3V0aW5lCisKK2VuZCBtb2R1bGUKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL3BkdF8zNS5mMDMgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL3BkdF8zNS5mMDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmEzNTFjMGU0ZjhiCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9wZHRfMzUuZjAzCkBAIC0wLDAg KzEsNjUgQEAKKyEgeyBkZy1kbyBydW4gfQorIQorISBUZXN0cyB0aGUgZml4 ZXMgZm9yIFBSODI5NDMuCishCishIFRoaXMgdGVzdCBmb2N1c2VzIG9uIGNh bGxpbmcgdGhlIHR5cGUgYm91bmQgcHJvY2VkdXJlcyBpbiBhIHByb2dyYW0u CishCishIENvbnRyaWJ1dGVkIGJ5IEFsZXhhbmRlciBXZXN0YnJvb2tzICA8 Y3RlY2hub2RldkBnbWFpbC5jb20+CishCittb2R1bGUgdGVzdG1vZAorCisg ICBwdWJsaWMgOjogZm9vCisKKyAgIHR5cGUsIHB1YmxpYyA6OiB0b3VnaF9s dmxfMChhLCBiKQorICAgICAgIGludGVnZXIsIGtpbmQgOjogYSA9IDEKKyAg ICAgICBpbnRlZ2VyLCBsZW4gOjogYgorICAgY29udGFpbnMKKyAgICAgICBw cm9jZWR1cmUgOjogZm9vCisgICBlbmQgdHlwZQorCisgICB0eXBlLCBwdWJs aWMsIEVYVEVORFModG91Z2hfbHZsXzApIDo6IHRvdWdoX2x2bF8xIChjKQor ICAgICAgIGludGVnZXIsIGxlbiA6OiBjCisgICBjb250YWlucworICAgICAg IHByb2NlZHVyZSA6OiBiYXIKKyAgIGVuZCB0eXBlCisKKyAgIHR5cGUsIHB1 YmxpYywgRVhURU5EUyh0b3VnaF9sdmxfMSkgOjogdG91Z2hfbHZsXzIgKGQp CisgICAgICAgaW50ZWdlciwgbGVuIDo6IGQKKyAgIGNvbnRhaW5zCisgICAg ICAgcHJvY2VkdXJlIDo6IGZvb2JhcgorICAgZW5kIHR5cGUKKworY29udGFp bnMKKyAgIHN1YnJvdXRpbmUgZm9vKHRoaXMpCisgICAgICAgY2xhc3ModG91 Z2hfbHZsXzAoMSwqKSksIGludGVudChpbm91dCkgOjogdGhpcworICAgZW5k IHN1YnJvdXRpbmUKKworICAgc3Vicm91dGluZSBiYXIodGhpcykKKyAgICAg ICBjbGFzcyh0b3VnaF9sdmxfMSgxLCosKikpLCBpbnRlbnQoaW5vdXQpIDo6 IHRoaXMKKyAgIGVuZCBzdWJyb3V0aW5lCisKKyAgIHN1YnJvdXRpbmUgZm9v YmFyKHRoaXMpCisgICAgICAgY2xhc3ModG91Z2hfbHZsXzIoMSwqLCosKikp LCBpbnRlbnQoaW5vdXQpIDo6IHRoaXMKKyAgIGVuZCBzdWJyb3V0aW5lCisK K2VuZCBtb2R1bGUKKworUFJPR1JBTSB0ZXN0cHJvZ3JhbQorICAgVVNFIHRl c3Rtb2QKKyAgIAorICAgVFlQRSh0b3VnaF9sdmxfMCgxLDUpKSAgICAgOjog dGVzdF9wZHRfMAorICAgVFlQRSh0b3VnaF9sdmxfMSgxLDUsNikpICAgOjog dGVzdF9wZHRfMQorICAgVFlQRSh0b3VnaF9sdmxfMigxLDUsNiw3KSkgOjog dGVzdF9wZHRfMgorCisgICBDQUxMIHRlc3RfcGR0XzAlZm9vKCkKKworICAg Q0FMTCB0ZXN0X3BkdF8xJWZvbygpCisgICBDQUxMIHRlc3RfcGR0XzElYmFy KCkKKworICAgQ0FMTCB0ZXN0X3BkdF8yJWZvbygpCisgICBDQUxMIHRlc3Rf cGR0XzIlYmFyKCkKKyAgIENBTEwgdGVzdF9wZHRfMiVmb29iYXIoKQorCisK K0VORCBQUk9HUkFNIHRlc3Rwcm9ncmFtCisgClwgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9wZHRfMzYuZjAzIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9w ZHRfMzYuZjAzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi43NTFhMjBjMWZhNwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvcGR0XzM2LmYwMwpAQCAtMCwwICsxLDM0IEBA CishIHsgZGctZG8gY29tcGlsZSB9CishCishIFRlc3RzIHRoZSBmaXhlcyBm b3IgUFI4Mjk0My4KKyEKKyEgVGhpcyB0ZXN0IGZvY3VzZXMgb24gdGhlIGVy cm9ycyBwcm9kdWNlZCBieSBpbmNvcnJlY3QgTEVOIHBhcmFtZXRlcnMgZm9y IGR1bW15IAorISBhcmd1bWVudHMgb2YgUERUIFR5cGVib3VuZCBQcm9jZWR1 cmVzLgorIQorISBDb250cmlidXRlZCBieSBBbGV4YW5kZXIgV2VzdGJyb29r cyAgPGN0ZWNobm9kZXZAZ21haWwuY29tPgorIQorbW9kdWxlIHRlc3RfbGVu X3BhcmFtCisKKyAgIHR5cGUgOjogcGFyYW1fZGVyaXZfdHlwZShhKQorICAg ICAgIGludGVnZXIsIGxlbiA6OiBhCisgICBjb250YWlucworICAgICAgIHBy b2NlZHVyZSA6OiBhc3N1bWVkX2xlbl9wYXJhbSAgICAgICAgICAgISBHb29k LiBObyBlcnJvciBleHBlY3RlZC4KKyAgICAgICBwcm9jZWR1cmUgOjogZGVm ZXJyZWRfbGVuX3BhcmFtICAgICAgICAgICEgeyBkZy1lcnJvciAiQWxsIExF TiB0eXBlIHBhcmFtZXRlcnMgb2YgdGhlIHBhc3NlZCBkdW1teSBhcmd1bWVu dCIgfQorICAgICAgIHByb2NlZHVyZSA6OiBmaXhlZF9sZW5fcGFyYW0gICAg ICAgICAgICAgISB7IGRnLWVycm9yICJBbGwgTEVOIHR5cGUgcGFyYW1ldGVy cyBvZiB0aGUgcGFzc2VkIGR1bW15IGFyZ3VtZW50IiB9CisgICBlbmQgdHlw ZQorCitjb250YWlucworICAgIHN1YnJvdXRpbmUgYXNzdW1lZF9sZW5fcGFy YW0odGhpcykKKyAgICAgICBjbGFzcyhwYXJhbV9kZXJpdl90eXBlKCopKSwg aW50ZW50KGlub3V0KSA6OiB0aGlzICAgICAgICAgICAgICAgICAgIAorICAg IGVuZCBzdWJyb3V0aW5lCisKKyAgICBzdWJyb3V0aW5lIGRlZmVycmVkX2xl bl9wYXJhbSh0aGlzKQorICAgICAgICBjbGFzcyhwYXJhbV9kZXJpdl90eXBl KDopKSwgaW50ZW50KGlub3V0KSA6OiB0aGlzICAgICAgICAgICAgICAgICAg CisgICAgZW5kIHN1YnJvdXRpbmUKKworICAgIHN1YnJvdXRpbmUgZml4ZWRf bGVuX3BhcmFtKHRoaXMpCisgICAgICAgIGNsYXNzKHBhcmFtX2Rlcml2X3R5 cGUoMTApKSwgaW50ZW50KGlub3V0KSA6OiB0aGlzICAgICAgICAgICAgICAg ICAKKyAgICBlbmQgc3Vicm91dGluZQorCitlbmQgbW9kdWxlCisgClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi40MS4wCgo= --0000000000004fd0bf05ff508e53--