From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C130C3F2D1 for ; Wed, 4 Mar 2020 08:21:21 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 35532214D8 for ; Wed, 4 Mar 2020 08:21:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Wx6KpTEM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 35532214D8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:58788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9PHM-0006xs-9K for qemu-devel@archiver.kernel.org; Wed, 04 Mar 2020 03:21:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60886) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9PFe-0004wk-F0 for qemu-devel@nongnu.org; Wed, 04 Mar 2020 03:19:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9PFc-0001M8-G7 for qemu-devel@nongnu.org; Wed, 04 Mar 2020 03:19:34 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:45393 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j9PFc-0001Jm-9w for qemu-devel@nongnu.org; Wed, 04 Mar 2020 03:19:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583309971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=UfUlF8qPgLvcFdbS7mrM602BDfWuOYed+kpU7o2XhQ8=; b=Wx6KpTEMizYPW6wwAyhTscefd9l4ZfXZBPMCF7ys5iYwC+8einWJ+60+2qHgqayEkcw9dc 3iksPGbWto51PQAT75OfIF8be6xsFtrQ2X7adiQsMdlbtbs6AVnt77/kxrcCHRuq0iIWU4 rGWH9NlkBnJEiRUfS47Uoz0l1Wt0uRI= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-426-CYEG4cbiM2eLvu4GaFuBQw-1; Wed, 04 Mar 2020 03:19:28 -0500 X-MC-Unique: CYEG4cbiM2eLvu4GaFuBQw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 707A8107ACC9; Wed, 4 Mar 2020 08:19:25 +0000 (UTC) Received: from [10.36.117.195] (ovpn-117-195.ams2.redhat.com [10.36.117.195]) by smtp.corp.redhat.com (Postfix) with ESMTP id D967D5C1D6; Wed, 4 Mar 2020 08:19:04 +0000 (UTC) Subject: Re: [PATCH 2/2] misc: Replace zero-length arrays with flexible array member (manual) To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , qemu-devel@nongnu.org References: <20200304005105.27454-1-philmd@redhat.com> <20200304005844.28346-1-philmd@redhat.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; prefer-encrypt=mutual; keydata= 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 Organization: Red Hat GmbH Message-ID: <483a00fd-ff30-4f4e-2477-7b0c0c71d85f@redhat.com> Date: Wed, 4 Mar 2020 09:19:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20200304005844.28346-1-philmd@redhat.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Peter Maydell , "Michael S. Tsirkin" , Jason Wang , Yuval Shaia , Gerd Hoffmann , Stefano Stabellini , qemu-block@nongnu.org, Paul Durrant , "Gustavo A . R . Silva" , Halil Pasic , Christian Borntraeger , "Gonglei \(Arei\)" , Anthony Perard , =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= , Thomas Huth , Eduardo Habkost , Eric Auger , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, xen-devel@lists.xenproject.org, John Snow , Richard Henderson , Kevin Wolf , Xiao Guangrong , Cornelia Huck , Laurent Vivier , Max Reitz , Igor Mammedov , Paolo Bonzini Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On 04.03.20 01:58, Philippe Mathieu-Daud=C3=A9 wrote: > Description copied from Linux kernel commit from Gustavo A. R. Silva > (see [3]): >=20 > --v-- description start --v-- >=20 > The current codebase makes use of the zero-length array language > extension to the C90 standard, but the preferred mechanism to > declare variable-length types such as these ones is a flexible > array member [1], introduced in C99: >=20 > struct foo { > int stuff; > struct boo array[]; > }; >=20 > By making use of the mechanism above, we will get a compiler > warning in case the flexible array does not occur last in the > structure, which will help us prevent some kind of undefined > behavior bugs from being unadvertenly introduced [2] to the > Linux codebase from now on. >=20 > --^-- description end --^-- >=20 > Do the similar housekeeping in the QEMU codebase (which uses > C99 since commit 7be41675f7cb). >=20 > All these instances of code were found with the help of the > following command (then manual analysis): >=20 > git grep -F '[0];' >=20 > [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/co= mmit/?id=3D76497732932f > [3] https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/= commit/?id=3D17642a2fbd2c1 >=20 > Inspired-by: Gustavo A. R. Silva > Signed-off-by: Philippe Mathieu-Daud=C3=A9 > --- > docs/interop/vhost-user.rst | 4 ++-- > block/qed.h | 2 +- > include/hw/acpi/acpi-defs.h | 4 ++-- > include/hw/boards.h | 2 +- > include/hw/s390x/event-facility.h | 2 +- > include/hw/s390x/sclp.h | 8 ++++---- > block/vmdk.c | 2 +- > hw/char/sclpconsole-lm.c | 2 +- > hw/char/sclpconsole.c | 2 +- > hw/s390x/virtio-ccw.c | 2 +- > target/s390x/ioinst.c | 2 +- > 11 files changed, 16 insertions(+), 16 deletions(-) >=20 > diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst > index 401652397c..3b1b6602c7 100644 > --- a/docs/interop/vhost-user.rst > +++ b/docs/interop/vhost-user.rst > @@ -568,7 +568,7 @@ For split virtqueue, queue region can be implemented = as: > uint16_t used_idx; > =20 > /* Used to track the state of each descriptor in descriptor table = */ > - DescStateSplit desc[0]; > + DescStateSplit desc[]; > } QueueRegionSplit; > =20 > To track inflight I/O, the queue region should be processed as follows: > @@ -690,7 +690,7 @@ For packed virtqueue, queue region can be implemented= as: > uint8_t padding[7]; > =20 > /* Used to track the state of each descriptor fetched from descrip= tor ring */ > - DescStatePacked desc[0]; > + DescStatePacked desc[]; > } QueueRegionPacked; > =20 > To track inflight I/O, the queue region should be processed as follows: > diff --git a/block/qed.h b/block/qed.h > index 42c115d822..87428ba00e 100644 > --- a/block/qed.h > +++ b/block/qed.h > @@ -103,7 +103,7 @@ typedef struct { > } QEMU_PACKED QEDHeader; > =20 > typedef struct { > - uint64_t offsets[0]; /* in bytes */ > + uint64_t offsets[]; /* in bytes */ > } QEDTable; > =20 > /* The L2 cache is a simple write-through cache for L2 structures */ > diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h > index 19f7ba7b70..c13327fa78 100644 > --- a/include/hw/acpi/acpi-defs.h > +++ b/include/hw/acpi/acpi-defs.h > @@ -152,7 +152,7 @@ typedef struct AcpiSerialPortConsoleRedirection > */ > struct AcpiRsdtDescriptorRev1 { > ACPI_TABLE_HEADER_DEF /* ACPI common table header */ > - uint32_t table_offset_entry[0]; /* Array of pointers to other */ > + uint32_t table_offset_entry[]; /* Array of pointers to other */ > /* ACPI tables */ > } QEMU_PACKED; > typedef struct AcpiRsdtDescriptorRev1 AcpiRsdtDescriptorRev1; > @@ -162,7 +162,7 @@ typedef struct AcpiRsdtDescriptorRev1 AcpiRsdtDescrip= torRev1; > */ > struct AcpiXsdtDescriptorRev2 { > ACPI_TABLE_HEADER_DEF /* ACPI common table header */ > - uint64_t table_offset_entry[0]; /* Array of pointers to other */ > + uint64_t table_offset_entry[]; /* Array of pointers to other */ > /* ACPI tables */ > } QEMU_PACKED; > typedef struct AcpiXsdtDescriptorRev2 AcpiXsdtDescriptorRev2; > diff --git a/include/hw/boards.h b/include/hw/boards.h > index 9bc42dfb22..c96120d15f 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -71,7 +71,7 @@ typedef struct CPUArchId { > */ > typedef struct { > int len; > - CPUArchId cpus[0]; > + CPUArchId cpus[]; > } CPUArchIdList; > =20 > /** > diff --git a/include/hw/s390x/event-facility.h b/include/hw/s390x/event-f= acility.h > index bdc32a3c09..700a610f33 100644 > --- a/include/hw/s390x/event-facility.h > +++ b/include/hw/s390x/event-facility.h > @@ -122,7 +122,7 @@ typedef struct MDBO { > =20 > typedef struct MDB { > MdbHeader header; > - MDBO mdbo[0]; > + MDBO mdbo[]; > } QEMU_PACKED MDB; > =20 > typedef struct SclpMsg { > diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h > index c54413b78c..cd7b24359f 100644 > --- a/include/hw/s390x/sclp.h > +++ b/include/hw/s390x/sclp.h > @@ -132,7 +132,7 @@ typedef struct ReadInfo { > uint16_t highest_cpu; > uint8_t _reserved5[124 - 122]; /* 122-123 */ > uint32_t hmfai; > - struct CPUEntry entries[0]; > + struct CPUEntry entries[]; > } QEMU_PACKED ReadInfo; > =20 > typedef struct ReadCpuInfo { > @@ -142,7 +142,7 @@ typedef struct ReadCpuInfo { > uint16_t nr_standby; /* 12-13 */ > uint16_t offset_standby; /* 14-15 */ > uint8_t reserved0[24-16]; /* 16-23 */ > - struct CPUEntry entries[0]; > + struct CPUEntry entries[]; > } QEMU_PACKED ReadCpuInfo; > =20 > typedef struct ReadStorageElementInfo { > @@ -151,7 +151,7 @@ typedef struct ReadStorageElementInfo { > uint16_t assigned; > uint16_t standby; > uint8_t _reserved0[16 - 14]; /* 14-15 */ > - uint32_t entries[0]; > + uint32_t entries[]; > } QEMU_PACKED ReadStorageElementInfo; > =20 > typedef struct AttachStorageElement { > @@ -159,7 +159,7 @@ typedef struct AttachStorageElement { > uint8_t _reserved0[10 - 8]; /* 8-9 */ > uint16_t assigned; > uint8_t _reserved1[16 - 12]; /* 12-15 */ > - uint32_t entries[0]; > + uint32_t entries[]; > } QEMU_PACKED AttachStorageElement; > =20 > typedef struct AssignStorage { > diff --git a/block/vmdk.c b/block/vmdk.c > index 20e909d997..8466051bc9 100644 > --- a/block/vmdk.c > +++ b/block/vmdk.c > @@ -187,7 +187,7 @@ typedef struct VmdkMetaData { > typedef struct VmdkGrainMarker { > uint64_t lba; > uint32_t size; > - uint8_t data[0]; > + uint8_t data[]; > } QEMU_PACKED VmdkGrainMarker; > =20 > enum { > diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c > index c420dc066e..2b5f37b6a2 100644 > --- a/hw/char/sclpconsole-lm.c > +++ b/hw/char/sclpconsole-lm.c > @@ -31,7 +31,7 @@ > typedef struct OprtnsCommand { > EventBufferHeader header; > MDMSU message_unit; > - char data[0]; > + char data[]; > } QEMU_PACKED OprtnsCommand; > =20 > /* max size for line-mode data in 4K SCCB page */ > diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c > index 1fa124dab9..5c7664905e 100644 > --- a/hw/char/sclpconsole.c > +++ b/hw/char/sclpconsole.c > @@ -25,7 +25,7 @@ > =20 > typedef struct ASCIIConsoleData { > EventBufferHeader ebh; > - char data[0]; > + char data[]; > } QEMU_PACKED ASCIIConsoleData; > =20 > /* max size for ASCII data in 4K SCCB page */ > diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c > index 50cf95b781..64f928fc7d 100644 > --- a/hw/s390x/virtio-ccw.c > +++ b/hw/s390x/virtio-ccw.c > @@ -193,7 +193,7 @@ typedef struct VirtioThinintInfo { > typedef struct VirtioRevInfo { > uint16_t revision; > uint16_t length; > - uint8_t data[0]; > + uint8_t data[]; > } QEMU_PACKED VirtioRevInfo; > =20 > /* Specify where the virtqueues for the subchannel are in guest memory. = */ > diff --git a/target/s390x/ioinst.c b/target/s390x/ioinst.c > index c437a1d8c6..0e840cc579 100644 > --- a/target/s390x/ioinst.c > +++ b/target/s390x/ioinst.c > @@ -347,7 +347,7 @@ typedef struct ChscResp { > uint16_t len; > uint16_t code; > uint32_t param; > - char data[0]; > + char data[]; > } QEMU_PACKED ChscResp; > =20 > #define CHSC_MIN_RESP_LEN 0x0008 >=20 Reviewed-by: David Hildenbrand --=20 Thanks, David / dhildenb From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ACCDBC3F2D1 for ; Wed, 4 Mar 2020 08:19:52 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6FF05214D8 for ; Wed, 4 Mar 2020 08:19:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Wx6KpTEM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6FF05214D8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j9PFf-0002yN-6I; Wed, 04 Mar 2020 08:19:35 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j9PFd-0002yI-5D for xen-devel@lists.xenproject.org; Wed, 04 Mar 2020 08:19:33 +0000 X-Inumbo-ID: e0016218-5df0-11ea-90c4-bc764e2007e4 Received: from us-smtp-1.mimecast.com (unknown [205.139.110.120]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id e0016218-5df0-11ea-90c4-bc764e2007e4; Wed, 04 Mar 2020 08:19:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583309971; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=UfUlF8qPgLvcFdbS7mrM602BDfWuOYed+kpU7o2XhQ8=; b=Wx6KpTEMizYPW6wwAyhTscefd9l4ZfXZBPMCF7ys5iYwC+8einWJ+60+2qHgqayEkcw9dc 3iksPGbWto51PQAT75OfIF8be6xsFtrQ2X7adiQsMdlbtbs6AVnt77/kxrcCHRuq0iIWU4 rGWH9NlkBnJEiRUfS47Uoz0l1Wt0uRI= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-426-CYEG4cbiM2eLvu4GaFuBQw-1; Wed, 04 Mar 2020 03:19:28 -0500 X-MC-Unique: CYEG4cbiM2eLvu4GaFuBQw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 707A8107ACC9; Wed, 4 Mar 2020 08:19:25 +0000 (UTC) Received: from [10.36.117.195] (ovpn-117-195.ams2.redhat.com [10.36.117.195]) by smtp.corp.redhat.com (Postfix) with ESMTP id D967D5C1D6; Wed, 4 Mar 2020 08:19:04 +0000 (UTC) To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , qemu-devel@nongnu.org References: <20200304005105.27454-1-philmd@redhat.com> <20200304005844.28346-1-philmd@redhat.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; prefer-encrypt=mutual; keydata= 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 Organization: Red Hat GmbH Message-ID: <483a00fd-ff30-4f4e-2477-7b0c0c71d85f@redhat.com> Date: Wed, 4 Mar 2020 09:19:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <20200304005844.28346-1-philmd@redhat.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: Re: [Xen-devel] [PATCH 2/2] misc: Replace zero-length arrays with flexible array member (manual) X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Peter Maydell , "Michael S. Tsirkin" , Jason Wang , Yuval Shaia , Gerd Hoffmann , Eric Blake , Stefano Stabellini , qemu-block@nongnu.org, Paul Durrant , "Gustavo A . R . Silva" , Halil Pasic , Christian Borntraeger , "Gonglei \(Arei\)" , Marcel Apfelbaum , Anthony Perard , =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= , Thomas Huth , Eduardo Habkost , Eric Auger , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, xen-devel@lists.xenproject.org, John Snow , Richard Henderson , Kevin Wolf , Xiao Guangrong , Cornelia Huck , Laurent Vivier , Max Reitz , Igor Mammedov , Paolo Bonzini Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMDQuMDMuMjAgMDE6NTgsIFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIHdyb3RlOgo+IERlc2Ny aXB0aW9uIGNvcGllZCBmcm9tIExpbnV4IGtlcm5lbCBjb21taXQgZnJvbSBHdXN0YXZvIEEuIFIu IFNpbHZhCj4gKHNlZSBbM10pOgo+IAo+IC0tdi0tIGRlc2NyaXB0aW9uIHN0YXJ0IC0tdi0tCj4g Cj4gICBUaGUgY3VycmVudCBjb2RlYmFzZSBtYWtlcyB1c2Ugb2YgdGhlIHplcm8tbGVuZ3RoIGFy cmF5IGxhbmd1YWdlCj4gICBleHRlbnNpb24gdG8gdGhlIEM5MCBzdGFuZGFyZCwgYnV0IHRoZSBw cmVmZXJyZWQgbWVjaGFuaXNtIHRvCj4gICBkZWNsYXJlIHZhcmlhYmxlLWxlbmd0aCB0eXBlcyBz dWNoIGFzIHRoZXNlIG9uZXMgaXMgYSBmbGV4aWJsZQo+ICAgYXJyYXkgbWVtYmVyIFsxXSwgaW50 cm9kdWNlZCBpbiBDOTk6Cj4gCj4gICBzdHJ1Y3QgZm9vIHsKPiAgICAgICBpbnQgc3R1ZmY7Cj4g ICAgICAgc3RydWN0IGJvbyBhcnJheVtdOwo+ICAgfTsKPiAKPiAgIEJ5IG1ha2luZyB1c2Ugb2Yg dGhlIG1lY2hhbmlzbSBhYm92ZSwgd2Ugd2lsbCBnZXQgYSBjb21waWxlcgo+ICAgd2FybmluZyBp biBjYXNlIHRoZSBmbGV4aWJsZSBhcnJheSBkb2VzIG5vdCBvY2N1ciBsYXN0IGluIHRoZQo+ICAg c3RydWN0dXJlLCB3aGljaCB3aWxsIGhlbHAgdXMgcHJldmVudCBzb21lIGtpbmQgb2YgdW5kZWZp bmVkCj4gICBiZWhhdmlvciBidWdzIGZyb20gYmVpbmcgdW5hZHZlcnRlbmx5IGludHJvZHVjZWQg WzJdIHRvIHRoZQo+ICAgTGludXggY29kZWJhc2UgZnJvbSBub3cgb24uCj4gCj4gLS1eLS0gZGVz Y3JpcHRpb24gZW5kIC0tXi0tCj4gCj4gRG8gdGhlIHNpbWlsYXIgaG91c2VrZWVwaW5nIGluIHRo ZSBRRU1VIGNvZGViYXNlICh3aGljaCB1c2VzCj4gQzk5IHNpbmNlIGNvbW1pdCA3YmU0MTY3NWY3 Y2IpLgo+IAo+IEFsbCB0aGVzZSBpbnN0YW5jZXMgb2YgY29kZSB3ZXJlIGZvdW5kIHdpdGggdGhl IGhlbHAgb2YgdGhlCj4gZm9sbG93aW5nIGNvbW1hbmQgKHRoZW4gbWFudWFsIGFuYWx5c2lzKToK PiAKPiAgIGdpdCBncmVwIC1GICdbMF07Jwo+IAo+IFsxXSBodHRwczovL2djYy5nbnUub3JnL29u bGluZWRvY3MvZ2NjL1plcm8tTGVuZ3RoLmh0bWwKPiBbMl0gaHR0cHM6Ly9naXQua2VybmVsLm9y Zy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/aWQ9 NzY0OTc3MzI5MzJmCj4gWzNdIGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9r ZXJuZWwvZ2l0L2d1c3Rhdm9hcnMvbGludXguZ2l0L2NvbW1pdC8/aWQ9MTc2NDJhMmZiZDJjMQo+ IAo+IEluc3BpcmVkLWJ5OiBHdXN0YXZvIEEuIFIuIFNpbHZhIDxndXN0YXZvQGVtYmVkZGVkb3Iu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAcmVk aGF0LmNvbT4KPiAtLS0KPiAgZG9jcy9pbnRlcm9wL3Zob3N0LXVzZXIucnN0ICAgICAgIHwgNCAr Ky0tCj4gIGJsb2NrL3FlZC5oICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgaW5jbHVk ZS9ody9hY3BpL2FjcGktZGVmcy5oICAgICAgIHwgNCArKy0tCj4gIGluY2x1ZGUvaHcvYm9hcmRz LmggICAgICAgICAgICAgICB8IDIgKy0KPiAgaW5jbHVkZS9ody9zMzkweC9ldmVudC1mYWNpbGl0 eS5oIHwgMiArLQo+ICBpbmNsdWRlL2h3L3MzOTB4L3NjbHAuaCAgICAgICAgICAgfCA4ICsrKyst LS0tCj4gIGJsb2NrL3ZtZGsuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgaHcvY2hh ci9zY2xwY29uc29sZS1sbS5jICAgICAgICAgIHwgMiArLQo+ICBody9jaGFyL3NjbHBjb25zb2xl LmMgICAgICAgICAgICAgfCAyICstCj4gIGh3L3MzOTB4L3ZpcnRpby1jY3cuYyAgICAgICAgICAg ICB8IDIgKy0KPiAgdGFyZ2V0L3MzOTB4L2lvaW5zdC5jICAgICAgICAgICAgIHwgMiArLQo+ICAx MSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZG9jcy9pbnRlcm9wL3Zob3N0LXVzZXIucnN0IGIvZG9jcy9pbnRlcm9wL3Zo b3N0LXVzZXIucnN0Cj4gaW5kZXggNDAxNjUyMzk3Yy4uM2IxYjY2MDJjNyAxMDA2NDQKPiAtLS0g YS9kb2NzL2ludGVyb3Avdmhvc3QtdXNlci5yc3QKPiArKysgYi9kb2NzL2ludGVyb3Avdmhvc3Qt dXNlci5yc3QKPiBAQCAtNTY4LDcgKzU2OCw3IEBAIEZvciBzcGxpdCB2aXJ0cXVldWUsIHF1ZXVl IHJlZ2lvbiBjYW4gYmUgaW1wbGVtZW50ZWQgYXM6Cj4gICAgICAgIHVpbnQxNl90IHVzZWRfaWR4 Owo+ICAKPiAgICAgICAgLyogVXNlZCB0byB0cmFjayB0aGUgc3RhdGUgb2YgZWFjaCBkZXNjcmlw dG9yIGluIGRlc2NyaXB0b3IgdGFibGUgKi8KPiAtICAgICAgRGVzY1N0YXRlU3BsaXQgZGVzY1sw XTsKPiArICAgICAgRGVzY1N0YXRlU3BsaXQgZGVzY1tdOwo+ICAgIH0gUXVldWVSZWdpb25TcGxp dDsKPiAgCj4gIFRvIHRyYWNrIGluZmxpZ2h0IEkvTywgdGhlIHF1ZXVlIHJlZ2lvbiBzaG91bGQg YmUgcHJvY2Vzc2VkIGFzIGZvbGxvd3M6Cj4gQEAgLTY5MCw3ICs2OTAsNyBAQCBGb3IgcGFja2Vk IHZpcnRxdWV1ZSwgcXVldWUgcmVnaW9uIGNhbiBiZSBpbXBsZW1lbnRlZCBhczoKPiAgICAgICAg dWludDhfdCBwYWRkaW5nWzddOwo+ICAKPiAgICAgICAgLyogVXNlZCB0byB0cmFjayB0aGUgc3Rh dGUgb2YgZWFjaCBkZXNjcmlwdG9yIGZldGNoZWQgZnJvbSBkZXNjcmlwdG9yIHJpbmcgKi8KPiAt ICAgICAgRGVzY1N0YXRlUGFja2VkIGRlc2NbMF07Cj4gKyAgICAgIERlc2NTdGF0ZVBhY2tlZCBk ZXNjW107Cj4gICAgfSBRdWV1ZVJlZ2lvblBhY2tlZDsKPiAgCj4gIFRvIHRyYWNrIGluZmxpZ2h0 IEkvTywgdGhlIHF1ZXVlIHJlZ2lvbiBzaG91bGQgYmUgcHJvY2Vzc2VkIGFzIGZvbGxvd3M6Cj4g ZGlmZiAtLWdpdCBhL2Jsb2NrL3FlZC5oIGIvYmxvY2svcWVkLmgKPiBpbmRleCA0MmMxMTVkODIy Li44NzQyOGJhMDBlIDEwMDY0NAo+IC0tLSBhL2Jsb2NrL3FlZC5oCj4gKysrIGIvYmxvY2svcWVk LmgKPiBAQCAtMTAzLDcgKzEwMyw3IEBAIHR5cGVkZWYgc3RydWN0IHsKPiAgfSBRRU1VX1BBQ0tF RCBRRURIZWFkZXI7Cj4gIAo+ICB0eXBlZGVmIHN0cnVjdCB7Cj4gLSAgICB1aW50NjRfdCBvZmZz ZXRzWzBdOyAgICAgICAgICAgIC8qIGluIGJ5dGVzICovCj4gKyAgICB1aW50NjRfdCBvZmZzZXRz W107ICAgICAgICAgICAgIC8qIGluIGJ5dGVzICovCj4gIH0gUUVEVGFibGU7Cj4gIAo+ICAvKiBU aGUgTDIgY2FjaGUgaXMgYSBzaW1wbGUgd3JpdGUtdGhyb3VnaCBjYWNoZSBmb3IgTDIgc3RydWN0 dXJlcyAqLwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L2FjcGkvYWNwaS1kZWZzLmggYi9pbmNs dWRlL2h3L2FjcGkvYWNwaS1kZWZzLmgKPiBpbmRleCAxOWY3YmE3YjcwLi5jMTMzMjdmYTc4IDEw MDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvYWNwaS9hY3BpLWRlZnMuaAo+ICsrKyBiL2luY2x1ZGUv aHcvYWNwaS9hY3BpLWRlZnMuaAo+IEBAIC0xNTIsNyArMTUyLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg QWNwaVNlcmlhbFBvcnRDb25zb2xlUmVkaXJlY3Rpb24KPiAgICovCj4gIHN0cnVjdCBBY3BpUnNk dERlc2NyaXB0b3JSZXYxIHsKPiAgICAgIEFDUElfVEFCTEVfSEVBREVSX0RFRiAgICAgICAvKiBB Q1BJIGNvbW1vbiB0YWJsZSBoZWFkZXIgKi8KPiAtICAgIHVpbnQzMl90IHRhYmxlX29mZnNldF9l bnRyeVswXTsgIC8qIEFycmF5IG9mIHBvaW50ZXJzIHRvIG90aGVyICovCj4gKyAgICB1aW50MzJf dCB0YWJsZV9vZmZzZXRfZW50cnlbXTsgIC8qIEFycmF5IG9mIHBvaW50ZXJzIHRvIG90aGVyICov Cj4gICAgICAvKiBBQ1BJIHRhYmxlcyAqLwo+ICB9IFFFTVVfUEFDS0VEOwo+ICB0eXBlZGVmIHN0 cnVjdCBBY3BpUnNkdERlc2NyaXB0b3JSZXYxIEFjcGlSc2R0RGVzY3JpcHRvclJldjE7Cj4gQEAg LTE2Miw3ICsxNjIsNyBAQCB0eXBlZGVmIHN0cnVjdCBBY3BpUnNkdERlc2NyaXB0b3JSZXYxIEFj cGlSc2R0RGVzY3JpcHRvclJldjE7Cj4gICAqLwo+ICBzdHJ1Y3QgQWNwaVhzZHREZXNjcmlwdG9y UmV2MiB7Cj4gICAgICBBQ1BJX1RBQkxFX0hFQURFUl9ERUYgICAgICAgLyogQUNQSSBjb21tb24g dGFibGUgaGVhZGVyICovCj4gLSAgICB1aW50NjRfdCB0YWJsZV9vZmZzZXRfZW50cnlbMF07ICAv KiBBcnJheSBvZiBwb2ludGVycyB0byBvdGhlciAqLwo+ICsgICAgdWludDY0X3QgdGFibGVfb2Zm c2V0X2VudHJ5W107ICAvKiBBcnJheSBvZiBwb2ludGVycyB0byBvdGhlciAqLwo+ICAgICAgLyog QUNQSSB0YWJsZXMgKi8KPiAgfSBRRU1VX1BBQ0tFRDsKPiAgdHlwZWRlZiBzdHJ1Y3QgQWNwaVhz ZHREZXNjcmlwdG9yUmV2MiBBY3BpWHNkdERlc2NyaXB0b3JSZXYyOwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2h3L2JvYXJkcy5oIGIvaW5jbHVkZS9ody9ib2FyZHMuaAo+IGluZGV4IDliYzQyZGZi MjIuLmM5NjEyMGQxNWYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9ody9ib2FyZHMuaAo+ICsrKyBi L2luY2x1ZGUvaHcvYm9hcmRzLmgKPiBAQCAtNzEsNyArNzEsNyBAQCB0eXBlZGVmIHN0cnVjdCBD UFVBcmNoSWQgewo+ICAgKi8KPiAgdHlwZWRlZiBzdHJ1Y3Qgewo+ICAgICAgaW50IGxlbjsKPiAt ICAgIENQVUFyY2hJZCBjcHVzWzBdOwo+ICsgICAgQ1BVQXJjaElkIGNwdXNbXTsKPiAgfSBDUFVB cmNoSWRMaXN0Owo+ICAKPiAgLyoqCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvczM5MHgvZXZl bnQtZmFjaWxpdHkuaCBiL2luY2x1ZGUvaHcvczM5MHgvZXZlbnQtZmFjaWxpdHkuaAo+IGluZGV4 IGJkYzMyYTNjMDkuLjcwMGE2MTBmMzMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9ody9zMzkweC9l dmVudC1mYWNpbGl0eS5oCj4gKysrIGIvaW5jbHVkZS9ody9zMzkweC9ldmVudC1mYWNpbGl0eS5o Cj4gQEAgLTEyMiw3ICsxMjIsNyBAQCB0eXBlZGVmIHN0cnVjdCBNREJPIHsKPiAgCj4gIHR5cGVk ZWYgc3RydWN0IE1EQiB7Cj4gICAgICBNZGJIZWFkZXIgaGVhZGVyOwo+IC0gICAgTURCTyBtZGJv WzBdOwo+ICsgICAgTURCTyBtZGJvW107Cj4gIH0gUUVNVV9QQUNLRUQgTURCOwo+ICAKPiAgdHlw ZWRlZiBzdHJ1Y3QgU2NscE1zZyB7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvczM5MHgvc2Ns cC5oIGIvaW5jbHVkZS9ody9zMzkweC9zY2xwLmgKPiBpbmRleCBjNTQ0MTNiNzhjLi5jZDdiMjQz NTlmIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcvczM5MHgvc2NscC5oCj4gKysrIGIvaW5jbHVk ZS9ody9zMzkweC9zY2xwLmgKPiBAQCAtMTMyLDcgKzEzMiw3IEBAIHR5cGVkZWYgc3RydWN0IFJl YWRJbmZvIHsKPiAgICAgIHVpbnQxNl90IGhpZ2hlc3RfY3B1Owo+ICAgICAgdWludDhfdCAgX3Jl c2VydmVkNVsxMjQgLSAxMjJdOyAgICAgLyogMTIyLTEyMyAqLwo+ICAgICAgdWludDMyX3QgaG1m YWk7Cj4gLSAgICBzdHJ1Y3QgQ1BVRW50cnkgZW50cmllc1swXTsKPiArICAgIHN0cnVjdCBDUFVF bnRyeSBlbnRyaWVzW107Cj4gIH0gUUVNVV9QQUNLRUQgUmVhZEluZm87Cj4gIAo+ICB0eXBlZGVm IHN0cnVjdCBSZWFkQ3B1SW5mbyB7Cj4gQEAgLTE0Miw3ICsxNDIsNyBAQCB0eXBlZGVmIHN0cnVj dCBSZWFkQ3B1SW5mbyB7Cj4gICAgICB1aW50MTZfdCBucl9zdGFuZGJ5OyAgICAgICAgICAgIC8q IDEyLTEzICovCj4gICAgICB1aW50MTZfdCBvZmZzZXRfc3RhbmRieTsgICAgICAgIC8qIDE0LTE1 ICovCj4gICAgICB1aW50OF90IHJlc2VydmVkMFsyNC0xNl07ICAgICAgIC8qIDE2LTIzICovCj4g LSAgICBzdHJ1Y3QgQ1BVRW50cnkgZW50cmllc1swXTsKPiArICAgIHN0cnVjdCBDUFVFbnRyeSBl bnRyaWVzW107Cj4gIH0gUUVNVV9QQUNLRUQgUmVhZENwdUluZm87Cj4gIAo+ICB0eXBlZGVmIHN0 cnVjdCBSZWFkU3RvcmFnZUVsZW1lbnRJbmZvIHsKPiBAQCAtMTUxLDcgKzE1MSw3IEBAIHR5cGVk ZWYgc3RydWN0IFJlYWRTdG9yYWdlRWxlbWVudEluZm8gewo+ICAgICAgdWludDE2X3QgYXNzaWdu ZWQ7Cj4gICAgICB1aW50MTZfdCBzdGFuZGJ5Owo+ICAgICAgdWludDhfdCBfcmVzZXJ2ZWQwWzE2 IC0gMTRdOyAvKiAxNC0xNSAqLwo+IC0gICAgdWludDMyX3QgZW50cmllc1swXTsKPiArICAgIHVp bnQzMl90IGVudHJpZXNbXTsKPiAgfSBRRU1VX1BBQ0tFRCBSZWFkU3RvcmFnZUVsZW1lbnRJbmZv Owo+ICAKPiAgdHlwZWRlZiBzdHJ1Y3QgQXR0YWNoU3RvcmFnZUVsZW1lbnQgewo+IEBAIC0xNTks NyArMTU5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQXR0YWNoU3RvcmFnZUVsZW1lbnQgewo+ICAgICAg dWludDhfdCBfcmVzZXJ2ZWQwWzEwIC0gOF07ICAvKiA4LTkgKi8KPiAgICAgIHVpbnQxNl90IGFz c2lnbmVkOwo+ICAgICAgdWludDhfdCBfcmVzZXJ2ZWQxWzE2IC0gMTJdOyAvKiAxMi0xNSAqLwo+ IC0gICAgdWludDMyX3QgZW50cmllc1swXTsKPiArICAgIHVpbnQzMl90IGVudHJpZXNbXTsKPiAg fSBRRU1VX1BBQ0tFRCBBdHRhY2hTdG9yYWdlRWxlbWVudDsKPiAgCj4gIHR5cGVkZWYgc3RydWN0 IEFzc2lnblN0b3JhZ2Ugewo+IGRpZmYgLS1naXQgYS9ibG9jay92bWRrLmMgYi9ibG9jay92bWRr LmMKPiBpbmRleCAyMGU5MDlkOTk3Li44NDY2MDUxYmM5IDEwMDY0NAo+IC0tLSBhL2Jsb2NrL3Zt ZGsuYwo+ICsrKyBiL2Jsb2NrL3ZtZGsuYwo+IEBAIC0xODcsNyArMTg3LDcgQEAgdHlwZWRlZiBz dHJ1Y3QgVm1ka01ldGFEYXRhIHsKPiAgdHlwZWRlZiBzdHJ1Y3QgVm1ka0dyYWluTWFya2VyIHsK PiAgICAgIHVpbnQ2NF90IGxiYTsKPiAgICAgIHVpbnQzMl90IHNpemU7Cj4gLSAgICB1aW50OF90 ICBkYXRhWzBdOwo+ICsgICAgdWludDhfdCAgZGF0YVtdOwo+ICB9IFFFTVVfUEFDS0VEIFZtZGtH cmFpbk1hcmtlcjsKPiAgCj4gIGVudW0gewo+IGRpZmYgLS1naXQgYS9ody9jaGFyL3NjbHBjb25z b2xlLWxtLmMgYi9ody9jaGFyL3NjbHBjb25zb2xlLWxtLmMKPiBpbmRleCBjNDIwZGMwNjZlLi4y YjVmMzdiNmEyIDEwMDY0NAo+IC0tLSBhL2h3L2NoYXIvc2NscGNvbnNvbGUtbG0uYwo+ICsrKyBi L2h3L2NoYXIvc2NscGNvbnNvbGUtbG0uYwo+IEBAIC0zMSw3ICszMSw3IEBACj4gIHR5cGVkZWYg c3RydWN0IE9wcnRuc0NvbW1hbmQgewo+ICAgICAgRXZlbnRCdWZmZXJIZWFkZXIgaGVhZGVyOwo+ ICAgICAgTURNU1UgbWVzc2FnZV91bml0Owo+IC0gICAgY2hhciBkYXRhWzBdOwo+ICsgICAgY2hh ciBkYXRhW107Cj4gIH0gUUVNVV9QQUNLRUQgT3BydG5zQ29tbWFuZDsKPiAgCj4gIC8qIG1heCBz aXplIGZvciBsaW5lLW1vZGUgZGF0YSBpbiA0SyBTQ0NCIHBhZ2UgKi8KPiBkaWZmIC0tZ2l0IGEv aHcvY2hhci9zY2xwY29uc29sZS5jIGIvaHcvY2hhci9zY2xwY29uc29sZS5jCj4gaW5kZXggMWZh MTI0ZGFiOS4uNWM3NjY0OTA1ZSAxMDA2NDQKPiAtLS0gYS9ody9jaGFyL3NjbHBjb25zb2xlLmMK PiArKysgYi9ody9jaGFyL3NjbHBjb25zb2xlLmMKPiBAQCAtMjUsNyArMjUsNyBAQAo+ICAKPiAg dHlwZWRlZiBzdHJ1Y3QgQVNDSUlDb25zb2xlRGF0YSB7Cj4gICAgICBFdmVudEJ1ZmZlckhlYWRl ciBlYmg7Cj4gLSAgICBjaGFyIGRhdGFbMF07Cj4gKyAgICBjaGFyIGRhdGFbXTsKPiAgfSBRRU1V X1BBQ0tFRCBBU0NJSUNvbnNvbGVEYXRhOwo+ICAKPiAgLyogbWF4IHNpemUgZm9yIEFTQ0lJIGRh dGEgaW4gNEsgU0NDQiBwYWdlICovCj4gZGlmZiAtLWdpdCBhL2h3L3MzOTB4L3ZpcnRpby1jY3cu YyBiL2h3L3MzOTB4L3ZpcnRpby1jY3cuYwo+IGluZGV4IDUwY2Y5NWI3ODEuLjY0ZjkyOGZjN2Qg MTAwNjQ0Cj4gLS0tIGEvaHcvczM5MHgvdmlydGlvLWNjdy5jCj4gKysrIGIvaHcvczM5MHgvdmly dGlvLWNjdy5jCj4gQEAgLTE5Myw3ICsxOTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBWaXJ0aW9UaGlu aW50SW5mbyB7Cj4gIHR5cGVkZWYgc3RydWN0IFZpcnRpb1JldkluZm8gewo+ICAgICAgdWludDE2 X3QgcmV2aXNpb247Cj4gICAgICB1aW50MTZfdCBsZW5ndGg7Cj4gLSAgICB1aW50OF90IGRhdGFb MF07Cj4gKyAgICB1aW50OF90IGRhdGFbXTsKPiAgfSBRRU1VX1BBQ0tFRCBWaXJ0aW9SZXZJbmZv Owo+ICAKPiAgLyogU3BlY2lmeSB3aGVyZSB0aGUgdmlydHF1ZXVlcyBmb3IgdGhlIHN1YmNoYW5u ZWwgYXJlIGluIGd1ZXN0IG1lbW9yeS4gKi8KPiBkaWZmIC0tZ2l0IGEvdGFyZ2V0L3MzOTB4L2lv aW5zdC5jIGIvdGFyZ2V0L3MzOTB4L2lvaW5zdC5jCj4gaW5kZXggYzQzN2ExZDhjNi4uMGU4NDBj YzU3OSAxMDA2NDQKPiAtLS0gYS90YXJnZXQvczM5MHgvaW9pbnN0LmMKPiArKysgYi90YXJnZXQv czM5MHgvaW9pbnN0LmMKPiBAQCAtMzQ3LDcgKzM0Nyw3IEBAIHR5cGVkZWYgc3RydWN0IENoc2NS ZXNwIHsKPiAgICAgIHVpbnQxNl90IGxlbjsKPiAgICAgIHVpbnQxNl90IGNvZGU7Cj4gICAgICB1 aW50MzJfdCBwYXJhbTsKPiAtICAgIGNoYXIgZGF0YVswXTsKPiArICAgIGNoYXIgZGF0YVtdOwo+ ICB9IFFFTVVfUEFDS0VEIENoc2NSZXNwOwo+ICAKPiAgI2RlZmluZSBDSFNDX01JTl9SRVNQX0xF TiAweDAwMDgKPiAKClJldmlld2VkLWJ5OiBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRAcmVkaGF0 LmNvbT4KCi0tIApUaGFua3MsCgpEYXZpZCAvIGRoaWxkZW5iCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==